diff --git a/Android.mk b/Android.mk
index a372697..c348c1a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -39,8 +39,8 @@
 
 include $(CLEAR_VARS)
 
-strace_version := $(shell grep strace $(LOCAL_PATH)/debian/changelog | \
-                          head -1 | cut -d " " -f 2)
+strace_version := "4.17"
+strace_year := "2017"
 
 LOCAL_SRC_FILES := \
     access.c \
@@ -120,6 +120,7 @@
     mtd.c \
     net.c \
     netlink.c \
+    nsfs.c \
     numa.c \
     oldstat.c \
     open.c \
@@ -133,6 +134,7 @@
     print_mq_attr.c \
     print_msgbuf.c \
     print_sigevent.c \
+    print_sg_req_info.c \
     print_statfs.c \
     print_struct_stat.c \
     print_time.c \
@@ -153,6 +155,8 @@
     renameat.c \
     resource.c \
     rtc.c \
+    rt_sigframe.c \
+    rt_sigreturn.c \
     sched.c \
     scsi.c \
     seccomp.c \
@@ -172,6 +176,7 @@
     stat64.c \
     statfs.c \
     statfs64.c \
+    statx.c \
     strace.c \
     swapon.c \
     sync_file_range.c \
@@ -247,6 +252,7 @@
     -DHAVE_POLL_H=1 \
     -DHAVE_PRCTL=1 \
     -DHAVE_PWRITEV=1 \
+    -DHAVE_SCSI_SG_H=1 \
     -DHAVE_SENDMSG=1 \
     -DHAVE_SIGACTION=1 \
     -DHAVE_SIG_ATOMIC_T=1 \
@@ -291,7 +297,8 @@
     -DMAJOR_IN_SYSMACROS \
     -DPACKAGE_NAME='"strace"' \
     -DPACKAGE_URL='"https://strace.io"' \
-    -DPACKAGE_VERSION='"$(strace_version)"' \
+    -DPACKAGE_VERSION='$(strace_version)' \
+    -DCOPYRIGHT_YEAR='$(strace_year)' \
     -DSIZEOF_KERNEL_LONG_T=SIZEOF_LONG \
     -DSIZEOF_OFF_T=SIZEOF_LONG \
     -DSIZEOF_LONG_LONG=8 \
diff --git a/CREDITS b/CREDITS
index 3bd4be9..d4fade1 100644
--- a/CREDITS
+++ b/CREDITS
@@ -13,6 +13,7 @@
 strace-devel@lists.sourceforge.net mailing list.
 
 	Aaron Ucko <ucko@vax1.rockhurst.edu>
+	Abhishek Tiwari <erabhishektiwarics@gmail.com>
 	Adrien Kunysz <adrien@kunysz.be>
 	Alexey Neyman <stilor@att.net>
 	Ali Polatel <alip@exherbo.org>
@@ -36,6 +37,7 @@
 	Chris Zankel <chris@zankel.net>
 	Christian Svensson <blue@cmd.nu>
 	D.J. Barrow <djbarrow@de.ibm.com>
+	Damien Profeta <damien.profeta@amadeus.com>
 	Damir Shayhutdinov <damir@altlinux.ru>
 	Daniel P. Berrange <berrange@redhat.com>
 	David Daney <ddaney@caviumnetworks.com>
@@ -48,6 +50,7 @@
 	Douglas Mencken <dougmencken@gmail.com>
 	Dr. David Alan Gilbert <dgilbert@redhat.com>
 	Edgar E. Iglesias <edgar.iglesias@gmail.com>
+	Edgar Kaziahmedov <edos@linux.com>
 	Elliott Hughes <enh@google.com>
 	Elvira Khabirova <lineprinter0@gmail.com>
 	Erik Johansson <erik@ejohansson.se>
@@ -126,6 +129,7 @@
 	Nate Eldredge <nate@cartsys.com>
 	Nate Sammons <nate@users.sourceforge.net>
 	Neil Campbell <lists@thebatcave.org.uk>
+	Nikolay Marchuk <marchuk.nikolay.a@gmail.com>
 	Paolo Bonzini <pbonzini@redhat.com>
 	Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
 	Paul Mundt <lethal@linux-sh.org>
@@ -143,9 +147,11 @@
 	Richard Henderson <richard@twiddle.tamu.edu>
 	Richard Hirst <rhirst@linuxcare.com>
 	Richard W.M. Jones <rjones@redhat.com>
+	Rishi Bhatt <bhatt.rishi062@gmail.com>
 	Roland Borde <bo@uebemc.siemens.de>
 	Roland McGrath <roland@redhat.com>
 	Sami Farin <safari@u.safari.iki.fi>
+	Sandhya Bankar <bankarsandhya512@gmail.com>
 	Scott Tsai <scottt958@yahoo.com.tw>
 	Sean Stangl <sstangl@mozilla.com>
 	Sebastian Pipping <sebastian@pipping.org>
@@ -170,6 +176,7 @@
 	Topi Miettinen <Topi.Miettinen@nic.fi>
 	Ulrich Drepper <drepper@redhat.com>
 	Vicente Olivert Riera <vincent@gentoo.org>
+	Victor Krapivensky <krapivenskiy.va@phystech.edu>
 	Vineet Gupta <Vineet.Gupta1@synopsys.com>
 	Wang Chao <wang.chao@cn.fujitsu.com>
 	Wichert Akkerman <wichert@deephackmode.org>
diff --git a/ChangeLog b/ChangeLog
index d0bf7d5..01f6563 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,2972 @@
+2017-05-24  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Prepare for 4.17 release.
+	* NEWS: Update for 4.17 release.
+
+	powerpc64, sparc, sparc64: wire up statx syscall.
+	* linux/powerpc64/syscallent.h [383]: Add statx entry.
+	* linux/sparc/syscallent.h [360]: Likewise.
+	* linux/sparc64/syscallent.h [360]: Likewise.
+
+2017-05-23  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix compat personality support for sgetmask syscall.
+	* signal.c (SYS_FUNC(sgetmask)): Replace sprintsigmask_val
+	with sprint_old_sigmask_val.
+	* tests/sxetmask.c (main): Check decoding of signal mask containing
+	RT signals.
+
+2017-05-22  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix decoding of sgetmask and ssetmask syscalls.
+	Old ssetmask syscall takes an argument and returns a value of type int.
+	Old sgetmask syscall may return an error.
+
+	* signal.c (SYS_FUNC(ssetmask)): Explicitly convert the argument
+	and return value to unsigned int, print it using sprint_old_sigmask_val.
+	(SYS_FUNC(sgetmask)): Do not print the mask in case of syserror.
+	* tests/sxetmask.c: New file.
+	* tests/gen_tests.in (sxetmask): New entry.
+	* tests/pure_executables.list: Add sxetmask.
+	* tests/.gitignore: Likewise.
+	* NEWS: Mention this fix.
+
+2017-05-22  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Add copyright headers.
+
+2017-05-22  Eugene Syromyatnikov  <evgsyr@gmail.com>
+	    Elvira Khabirova  <lineprinter0@gmail.com>
+
+	Add scripts for automating copyright notices update.
+	* maint/update_copyright_years.awk: New file.
+	* maint/update_copyright_years.sh: Likewise.
+
+2017-05-22  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Fix typos in copyright notices.
+
+	unwind.c: remove non-ASCII character from comment.
+
+2017-05-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Rename sys_sig[gs]etmask to sys_s[gs]etmask to match syscall names.
+	* signal.c (SYS_FUNC(sigsetmask)): Rename to SYS_FUNC(ssetmask).
+	(SYS_FUNC(siggetmask)): Rename to SYS_FUNC(sgetmask).
+	* linux/arm/syscallent.h (sgetmask, ssetmask): Update sys_func.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+
+	tests: enhance sigsuspend.test.
+	* tests/sigsuspend.c (sigtxt): New variable.
+	(main): Change signal masks to contain all signals except USR1 and USR2.
+
+2017-05-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix compat personality support for old sigsuspend syscall.
+	* signal.c (sprint_old_sigmask_val): New function.
+	(tprint_old_sigmask_val): New macro.
+	(SYS_FUNC(sigsuspend)): Use it.
+
+2017-05-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Move errnoent.sh, signalent.sh, and syscallent.sh to maint subdirectory.
+	Also do not include them into release tarballs.  These files are
+	intended for developers who are expected to use a git repository.
+
+	* errnoent.sh: Move to maint subdirectory.
+	* signalent.sh: Likewise.
+	* syscallent.sh: Likewise.
+	* HACKING-scripts: Update.
+	* Makefile.am (EXTRA_DIST): Remove errnoent.sh, signalent.sh,
+	and syscallent.sh.
+
+2017-05-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Do not include maint subdirectory into release tarballs.
+	These files are intended for developers who are expected to use
+	a git repository.
+
+	* Makefile.am (EXTRA_DIST): Remove maint/ioctls_gen.sh,
+	maint/ioctls_hex.sh, maint/ioctls_sym.sh, and maint/print_ioctlent.c.
+
+2017-05-01  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	linux/ia64/syscallent.h: remove tabulation, add spaces in file comment.
+
+	linux/mtd-abi.h: remove non-ASCII character from file comment.
+
+2017-05-01  Dmitry V. Levin  <ldv@altlinux.org>
+
+	alpha, cris, mips, ppc, sh, sparc: fix decoding of sigsuspend syscall.
+	On some architectures old sigsuspend syscall takes the signal mask from
+	the 3rd argument, on some from the 1st.  And, if it wasn't peculiar
+	enough, the signal mask is passed by value on all architectures except
+	mips where it's passed by reference.
+
+	* signal.c (SYS_FUNC(sigsuspend)): Take the signal mask from the last
+	argument.
+	* linux/alpha/syscallent.h (sigsuspend): Set nargs to 1.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* tests/sigsuspend.c: New file.
+	* tests/gen_tests.in (sigsuspend): New entry.
+	* tests/pure_executables.list: Add sigsuspend.
+	* tests/.gitignore: Likewise.
+	* NEWS: Mention this fix.
+
+2017-05-01  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: raise default timeout for individual tests.
+	Recently added tests based on pure_executables.list are quite slow
+	by their nature, the one minute default timeout is no longer enough
+	for some of not so fast architectures.
+
+	* tests/init.sh (TIMEOUT_DURATION): Raise from 60 to 120.
+
+2017-05-01  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Update NEWS.
+
+2017-04-29  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Update TCP_* constants.
+	* xlat/socktcpoptions.in: Add TCP_FASTOPEN_CONNECT introduced
+	by linux kernel commit v4.11-rc1~124^2~321^2.
+
+2017-04-28  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Update AF_* constants.
+	* xlat/addrfams.in: Add AF_SMC introduced by linux kernel
+	commit v4.11-rc1~94^2~43^2~13.
+
+2017-04-27  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: enhance madvise decoder check.
+	* tests/mmap.c (main): Remove madvise check.
+	* tests/madvise.c: New file.
+	* tests/gen_tests.in (madvise): New entry.
+	* tests/.gitignore: Add madvise.
+	* tests/pure_executables.list: Likewise.
+
+2017-04-25  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests: add -etrace=?... test.
+	Check for some architecture-specific syscalls which are not present
+	on most architectures.
+
+	* gen_tests.in: Add trace_question test.
+	* tests/trace_question.in: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+
+2017-04-25  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests: add more information to generated header comments.
+	* tests/gen_tests.sh: Update header comment with the source string
+	used for test generation.
+
+	tests: move generated common header comment into a variable.
+	* tests/gen_tests.sh: Move generated file header comment
+	into a variable, use it in all cases.
+
+2017-04-25  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: use TAIL_ALLOC_OBJECT_CONST_PTR in v4l2 test.
+	* tests/ioctl_v4l2.c (main): Use TAIL_ALLOC_OBJECT_CONST_PTR.
+
+2017-04-25  Edgar Kaziahmedov  <edos@linux.com>
+
+	tests: Check decoding of VIDIOC_G/S_TUNER's arg.
+	* tests/ioctl_v4l2.c (main): Add checks for VIDIOC_G/S_TUNER's arg.
+
+	v4l2: Add decoding for VIDIOC_G/S_TUNER's arg.
+	* v4l2.c: Include "xlat/v4l2_tuner_types.h", "xlat/v4l2_tuner_capabilities.h",
+	"xlat/v4l2_tuner_rxsubchanses.h", and "xlat/v4l2_tuner_audmodes.h".
+	(print_v4l2_tuner): New function. Add decoding for VIDIOC_G/S_TUNER's arg.
+	(v4l2_ioctl): Add new cases for decoding VIDIOC_G/S_TUNER's arg.
+	* xlat/v4l2_tuner_types.in: Add V4L2_TUNER_RADIO and
+	V4L2_TUNER_ANALOG_TV introduced by linux kernel commit
+	2.5.46~39^2~23^2~4.
+	Add V4L2_TUNER_DIGITAL_TV introduced by linux kernel
+	commit v2.6.11-rc4~55^2~20.
+	Add V4L2_TUNER_ADC and V4L2_TUNER_RF introduced by linux kernel commit
+	v3.15-rc1~85^2~215.
+	Add V4L2_TUNER_SDR introduced by linux kernel commit v4.4-rc1~118^2~17
+	(as the replacement of V4L2_TUNER_ADC).
+	* xlat/v4l2_tuner_capabilities.in: Add V4L2_TUNER_CAP_LOW,
+	V4L2_TUNER_CAP_NORM, V4L2_TUNER_CAP_STEREO, V4L2_TUNER_CAP_LANG2,
+	V4L2_TUNER_CAP_SAP, and V4L2_TUNER_CAP_LANG1 introduced by linux kernel
+	commit 2.5.46~39^2~23^2~4.
+	Add V4L2_TUNER_CAP_HWSEEK_BOUNDED and V4L2_TUNER_CAP_HWSEEK_WRAP
+	introduced by linux kernel commit v3.6-rc1~28^2~306.
+	Add V4L2_TUNER_CAP_RDS introduced by linux commit v2.6.32-rc1~679^2~189.
+	Add V4L2_TUNER_CAP_RDS_BLOCK_IO and V4L2_TUNER_CAP_RDS_CONTROLS
+	introduced by linux kernel commit v2.6.37-rc1~64^2~110.
+	Add V4L2_TUNER_CAP_FREQ_BANDS introduced by linux kernel commit
+	v3.6-rc1~28^2~46.
+	Add V4L2_TUNER_CAP_HWSEEK_PROG_LIM introduced by linux kernel commit
+	v3.6-rc1~28^2~40.
+	Add V4L2_TUNER_CAP_1HZ introduced by linux kernel commit
+	v3.15-rc1~85^2~214.
+	* xlat/v4l2_tuner_audmodes.in: Add V4L2_TUNER_MODE_MONO,
+	V4L2_TUNER_MODE_STEREO, V4L2_TUNER_MODE_LANG2, V4L2_TUNER_MODE_SAP, and
+	V4L2_TUNER_MODE_LANG1 introduced by linux kernel commit
+	2.5.46~39^2~23^2~4.
+	Add V4L2_TUNER_MODE_LANG1_LANG2 introduced by linux kernel commit
+	v2.6.17-rc1~739^2~9.
+	* xlat/v4l2_tuner_rxsubchanses.in: Add V4L2_TUNER_SUB_MONO,
+	V4L2_TUNER_SUB_STEREO, V4L2_TUNER_SUB_LANG2, V4L2_TUNER_SUB_SAP, and
+	V4L2_TUNER_SUB_LANG1 introduced by linux kernel commit
+	2.5.46~39^2~23^2~4.
+	Add V4L2_TUNER_SUB_RDS introduced by linux kernel commit
+	v2.6.32-rc1~679^2~189.
+
+2017-04-24  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: check decoding of invalid tv_sec and tv_usec values.
+	* tests/futimesat.c (main): Check decoding of invalid tv_sec and tv_usec
+	values.
+	* tests/xetitimer.c (main): Likewise.
+	* tests/xettimeofday.c (main): Likewise.
+	* tests/xselect.c (main): Likewise.
+	* tests/xutimes.c (main): Likewise.
+
+	tests: check decoding of invalid tv_sec and tv_nsec values.
+	* tests/aio.c (main): Check decoding of invalid tv_sec and tv_nsec
+	values.
+	* tests/clock_nanosleep.c (main): Likewise.
+	* tests/clock_xettime.c (main): Likewise.
+	* tests/futex.c (main): Likewise.
+	* tests/nanosleep.c (main): Likewise.
+	* tests/ppoll.c (main): Likewise.
+	* tests/pselect6.c (main): Likewise.
+	* tests/recvmmsg-timeout.c (main): Likewise.
+	* tests/rt_sigtimedwait.c (main): Likewise.
+	* tests/semop.c (main): Likewise.
+	* tests/timer_xettime.c (main): Likewise.
+	* tests/timerfd_xettime.c (main): Likewise.
+	* tests/utimensat.c (main): Likewise.
+
+2017-04-24  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Print time in ISO 8601 format in time syscall decoder.
+	* print_time.c (SYS_FUNC(time)): Print timestamp stringification
+	(via sprinttime) for the value stored in the argument and return value
+	(return RVAL_STR in the latter case).
+	* tests/time.c (main): Update expected output.
+
+2017-04-24  Eugene Syromyatnikov  <evgsyr@gmail.com>
+	    Dmitry V. Levin  <ldv@altlinux.org>
+
+	Print string representation of timestamps in parsers of *utime* syscalls
+	* print_timespec.c (print_timespec_t_utime): Use sprinttime_nsec
+	to format a string representation of time, use tprints_comment
+	to print it as a comment.
+	* print_timeval.c (print_timeval_t_utime): New function.
+	(print_timeval_utimes): Use it instead of print_timeval_t.
+	[ALPHA] (print_timeval32_t_utime): New function.
+	[ALPHA] (print_timeval32_utimes): Use it instead of print_timeval32_t.
+	* tests/futimesat.c (print_tv): Update expected output.
+	* tests/utimensat.c (print_ts): Likewise.
+	* tests/xutimes.c (print_tv): Likewise.
+
+2017-04-24  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests: add support for printing timestamp with microsecond precision.
+	It will be needed later.
+
+	* tests/tests.h (print_time_t_usec): New prototype.
+	* tests/print_time.c (print_time_t_usec): New function, a thin wrapper
+	around print_time_t_ex.
+
+2017-04-24  Eugene Syromyatnikov  <evgsyr@gmail.com>
+	    Dmitry V. Levin  <ldv@altlinux.org>
+
+	Print microseconds/nanoseconds as non-negative.
+	Negative micro/nanoseconds values are treated as invalid by kernel
+	anyway, and in one case (timespec_valid in include/linux/time.h)
+	it is even checked by conversion to unsigned long.
+
+	* print_timespec.c (timespec_fmt): Change tv_sec format to %lld and
+	tv_nsec format to %llu.
+	(print_timespec_t): Cast tv_sec to long long and process tv_nsec with
+	zero_extend_signed_to_ull.
+	(sprint_timespec): Likewise.
+	* print_timeval.c (timeval_fmt): Change tv_sec format to %lld and
+	tv_usec format to %llu.
+	(print_timeval_t): Cast tv_sec to long long and process tv_nsec with
+	zero_extend_signed_to_ull.
+	(sprint_timeval, print_timeval32_t, sprint_timeval32): Likewise.
+	* defs.h (TIMESPEC_TEXT_BUFSIZE): Update.
+	* tests/adjtimex.c (main): Change tv_sec printing format to %lld, cast
+	it to long long; change tv_usec printing format to %llu, process it with
+	zero_extend_signed_to_ull.
+	* tests/clock_nanosleep.c (main): Change tv_sec printing format to %lld,
+	cast it to long long; change tv_nsec printing format to %llu, process it
+	with zero_extend_signed_to_ull.
+	* tests/clock_xettime.c (main): Likewise.
+	* tests/futex.c (main): Likewise.
+	* tests/futimesat.c (print_tv): Likewise.
+	* tests/getrusage.c (invoke_print): Likewise.
+	* tests/mq_sendrecv.c (do_send, do_recv, main): Likewise.
+	* tests/nanosleep.c (main): Likewise.
+	* tests/pselect6.c (main): Likewise.
+	* tests/restart_syscall.c (main): Likewise.
+	* tests/rt_sigtimedwait.c (iterate, main): Likewise.
+	* tests/sched_rr_get_interval.c (main): Likewise.
+	* tests/semop.c (main): Likewise.
+	* tests/timer_xettime.c (main): Likewise.
+	* tests/timerfd_xettime.c (main): Likewise.
+	* tests/waitid.c (main): Likewise.
+	* tests/xetitimer.c (main): Likewise.
+	* tests/xettimeofday.c (main): Likewise.
+	* tests/xselect.c (main): Likewise.
+	* tests/xutimes.c (print_tv): Likewise.
+	* tests/wait4.c (sprint_rusage): Likewise.
+	* tests/waitid.c (sprint_rusage): Likewise.
+	* tests/utimensat.c (print_ts): Likewise.
+	(main): Add check for higher bits of tv_sec/tv_nsec.
+
+2017-04-24  Eugene Syromyatnikov  <evgsyr@gmail.com>
+	    Dmitry V. Levin  <ldv@altlinux.org>
+
+	Always print raw values of time data fields.
+	Refactor sprinttime: implement sprinttime_nsec and sprinttime_usec
+	that handle nanoseconds and microseconds, respectively.
+	Always print raw values of time data fields, format string
+	representations of time as comments.
+
+	* defs.h (sprinttime): Change argument type from time_t to long long.
+	(sprinttime_nsec, sprinttime_usec): New prototypes.
+	* util.c (sprinttime_ex, sprinttime_nsec, sprinttime_usec): New
+	functions.
+	(sprinttime): Turn into a thin wrapper around sprinttime_ex.
+	* stat.h (struct strace_stat): Add has_nsec field.
+	* fetch_struct_stat.c (HAVE_NSEC): New macro.
+	(fetch_struct_stat): Initialize has_nsec field with HAVE_NSEC.
+	* fetch_struct_stat64.c (HAVE_NSEC): New macro.
+	(fetch_struct_stat64): Initialize has_nsec field with HAVE_NSEC.
+	* print_struct_stat.c (print_struct_stat) <PRINT_ST_TIME>:
+	Print raw values of time fields, use sprinttime_nsec to format a string
+	representation of time, use tprints_comment to print it as a comment.
+	* statx.c (SYS_FUNC(statx)) <PRINT_FIELD_TIME>: Likewise.
+	* utime.c (SYS_FUNC(utime)): Print raw values of struct utimbuf.actime
+	and struct utimbuf.modtime fields, use sprinttime to format a string
+	representation of time, use tprints_comment to print it as a comment.
+	* tests/tests.h (print_time_t_nsec): Add int argument.
+	* tests/print_time.c (print_time_t_ex): New function.
+	(print_time_t_nsec): Add int argument, turn into a thin wrapper around
+	print_time_t_ex.
+	* tests/utime.c (main): Update expected output.
+	* tests/xstatx.c [!IS_STATX] (HAVE_NSEC): New macro.
+	[!IS_STATX] (PRINT_ST_TIME), [IS_STATX] (PRINT_FIELD_TIME): Update
+	expected output.
+	* NEWS: Mention this timestamps representation improvement.
+
+2017-04-24  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Introduce tprintf_comment and tprints_comment functions.
+	* defs.h (tprintf_comment, tprints_comment): New prototypes.
+	* strace.c (tvprintf): New function.
+	(tprintf): Use it.
+	(tprintf_comment, tprints_comment): New functions.
+	* aio.c (tprint_lio_opcode): Use tprints_comment.
+	* dm.c (dm_decode_dm_target_spec, dm_decode_dm_target_deps,
+	dm_decode_dm_name_list, dm_decode_dm_target_versions,
+	dm_decode_dm_target_msg, dm_decode_string, dm_known_ioctl): Likewise.
+	* futex.c (SYS_FUNC(futex)): Likewise.
+	* perf.c (print_perf_event_attr): Likewise.
+	* seccomp.c (decode_bpf_code): Likewise.
+	* util.c (printxvals, printxval_searchn, printflags64): Likewise.
+	* btrfs.c (print_u64, btrfs_print_key_type, btrfs_print_objectid,
+	print_key_value_internal): Likewise.
+	(btrfs_ioctl): Use tprints_comment and tprintf_comment.
+	* dirent.c (SYS_FUNC(getdents)): Likewise.
+	* dirent64.c (SYS_FUNC(getdents64)): Likewise.
+	* execve.c (printargc): Use tprintf_comment.
+	* tests/btrfs.c (btrfs_test_get_dev_stats_ioctl,
+	btrfs_test_features_ioctls): Update expected output.
+
+	Make output of execve/execveat syscall parsers more structured.
+	* execve.c (printargc): Always print the address, format the number
+	of variables as a comment.
+	* tests/execve.c: Update expected output.
+	* tests/execveat.c: Likewise.
+	* tests/qual_syscall.test: Likewise.
+	* tests/strace-r.expected: Likewise.
+	* tests/strace-t.test: Likewise.
+	* tests/strace-tt.test: Likewise.
+	* tests/strace-ttt.test: Likewise.
+	* tests/threads-execve.c: Likewise.
+	* tests/threads-execve.test: Likewise.
+
+	dm: fix diagnostics about misplaced parts of struct dm_ioctl.
+	* dm.c (dm_decode_dm_target_spec, dm_decode_dm_target_deps,
+	dm_decode_dm_name_list, dm_decode_dm_target_versions,
+	dm_decode_dm_target_msg, dm_decode_string, dm_known_ioctl): Fix
+	diagnostics about various misplaced parts of struct dm_ioctl.
+	* tests/ioctl_dm.c: Update expected output.
+
+	print_mq_attr: fix typo.
+	* print_mq_attr.c (printmqattr): Fix the last argument of printflags64.
+
+2017-04-23  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests: add faulty pointer check to time test.
+	* tests/time.c (main): Add check for an inaccessible pointer.
+
+2017-04-22  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: fix print_time_t_nsec usage in xstatx.c.
+	* tests/xstatx.c (print_stat): Pass tv_nsec field through
+	zero_extend_signed_to_ull before feeding it to print_time_t_nsec.
+
+2017-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: fix netlink_protocol on sparc.
+	* tests/netlink_protocol.c (test_nlmsgerr): Do not access fields of an
+	unaligned structure, this makes architectures like sparc very unhappy.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	util: return pointer to string literal directly in sprinttime.
+	There is no sense to copy it to static buffer first.
+
+	* util.c (sprinttime): Just return "0", do not copy it to internal
+	buffer first.
+
+2017-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: remove stat.sample creation from gen_tests.in.
+	stat.sample is created by appropriate executables and never removed.
+
+	* tests/gen_tests.in (trace_fstat, trace_lstat, trace_stat,
+	trace_stat_like): Remove stat.sample creation.
+
+2017-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: tabulate fstat.test.
+	* tests/gen_tests.in (fstat): New entry.
+	(fstat64, oldfstat): Update.
+	* tests/fstat.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove fstat.test.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Implement -e trace=%stat option.
+	linux/*/syscallent*.h part is updated automatically by:
+
+	    sed -i '/statx/! s/TF|TSTA,/TF|TST|TSTA,/' linux/*/syscallent*.h
+
+	* sysent.h (TRACE_STAT): New macro.
+	* syscall.c: Alias LST to TRACE_STAT around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add TRACE_STAT for "%stat".
+	* strace.1 (.SS Filtering): Add information about %stat syscall class.
+	* NEWS: Mention this change.
+	* linux/aarch64/syscallent.h (stat): Add TST flag.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/arm/syscallent.h (oldstat, stat, stat64): Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/avr32/syscallent.h (stat, stat64): Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h (oldstat, stat): Likewise.
+	* linux/alpha/syscallent.h (osf_old_stat, osf_stat, stat, stat64): Likewise.
+	* linux/mips/syscallent-compat.h (bsd43_oldstat, bsd43_stat, posix_stat,
+	svr4_stat, svr4_xstat, sysv_stat, sysv_xstat): Likewise.
+	* tests/gen_tests.in (trace_stat): New entry.
+	* tests/trace_stat.in: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+	* tests/ksysent.c (TST): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Implement -e trace=%lstat option.
+	linux/*/syscallent*.h part is updated automatically by:
+
+	    sed -i '/TSTA,.*lx\?stat/ s/TSTA,/TLST|&/' linux/*/syscallent*.h
+
+	* sysent.h (TRACE_LSTAT): New macro.
+	* syscall.c: Alias TLST to TRACE_LSTAT around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add TRACE_LSTAT for "%lstat".
+	* strace.1 (.SS Filtering): Add information about %lstat syscall class.
+	* NEWS: Mention this change.
+	* linux/aarch64/syscallent.h (lstat): Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/arm/syscallent.h (lstat, lstat64, oldlstat): Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/avr32/syscallent.h (lstat, lstat64): Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h (lstat, lstat64, osf_lstat, osf_old_lstat): Likewise.
+	* linux/mips/syscallent-compat.h (bsd43_lstat, posix_lstat, svr4_lstat,
+	sysv_lstat): Likewise.
+	* tests/gen_tests.in (trace_lstat): New entry.
+	* tests/trace_lstat.in: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+	* tests/ksysent.c (TLST): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Implement -e trace=%fstat option.
+	linux/*/syscallent*.h part is updated automatically by:
+
+	    sed -i -e '/TSTA.*fx\?stat/ s/TSTA,/TFST|&/' \
+	           -e 's/\(TD|TF|TFST|TSTA,\)[[:space:]]/\1/' linux/*/syscallent*.h
+
+	* sysent.h (TRACE_FSTAT): New macro.
+	* syscall.c: Alias TFST to TRACE_FSTAT around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add TRACE_FSTAT for "%fstat".
+	* strace.1 (.SS Filtering): Add information about %fstat syscall class.
+	* NEWS: Mention this change.
+	* linux/32/syscallent.h (fstat64, fstatat64): Add TFST flag.
+	* linux/64/syscallent.h (fstat, newfstatat): Likewise.
+	* linux/aarch64/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/arm/syscallent.h (fstat, fstat64, fstatat64, oldfstat): Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/avr32/syscallent.h (fstat, fstat64, fstatat64): Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h (fstat, fstat64, fstatat64, osf_fstat,
+	osf_old_fstat): Likewise.
+	* linux/powerpc64/syscallent.h (fstat, newfstatat, oldfstat): Likewise.
+	* linux/mips/syscallent-compat.h (bsd43_fstat, bsd43_oldfstat, posix_fstat,
+	svr4_fstat, sysv_fstat): Likewise.
+	* tests/gen_tests.in (trace_fstat): New entry.
+	* tests/trace_fstat.in: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+	* tests/ksysent.c (TFST): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Implement -e trace=%%stat option.
+	linux/*/syscallent*.h part is updated automatically by:
+
+	    sed -i '/TSFA\|stat[iu]s/! s/,[[:space:]]\?\([[:space:]]*SEN(.*stat\)/|TSTA,\1/' \
+	        linux/*/syscallent*.h
+
+	* sysent.h (TRACE_STAT_LIKE): New macro.
+	* syscall.c: Alias TSTA to TRACE_STAT_LIKE around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add TRACE_STAT_LIKE for "%%stat".
+	* strace.1 (.SS Filtering): Add information about %%stat syscall class.
+	* NEWS: Mention this change.
+	* linux/32/syscallent.h (fstat64, fstatat64, statx): Add TSTA flag.
+	* linux/64/syscallent.h (fstat, newfstatat, statx): Likewise.
+	* linux/aarch64/syscallent.h (fstat, lstat, newfstatat, stat): Likewise.
+	* linux/alpha/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	osf_fstat, osf_lstat, osf_old_fstat, osf_old_lstat, osf_old_stat, osf_stat,
+	stat, stat64): Likewise.
+	* linux/arm/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, oldfstat,
+	oldlstat, oldstat, stat, stat64, statx): Likewise.
+	* linux/avr32/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, stat,
+	stat64): Likewise.
+	* linux/bfin/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	oldfstat, oldlstat, oldstat, stat, stat64): Likewise.
+	* linux/crisv10/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	oldfstat, oldlstat, oldstat, stat, stat64): Likewise.
+	* linux/hppa/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, stat,
+	stat64): Likewise.
+	* linux/i386/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, oldfstat,
+	oldlstat, oldstat, stat, stat64, statx): Likewise.
+	* linux/ia64/syscallent.h (fstat, lstat, newfstatat, stat): Likewise.
+	* linux/m68k/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, oldfstat,
+	oldlstat, oldstat, stat, stat64, statx): Likewise.
+	* linux/microblaze/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	oldfstat, oldlstat, oldstat, stat, stat64): Likewise.
+	* linux/mips/syscallent-compat.h (bsd43_fstat, bsd43_lstat, bsd43_oldfstat,
+	bsd43_oldstat, bsd43_stat, posix_fstat, posix_lstat, posix_stat, svr4_fstat,
+	svr4_fxstat, svr4_lstat, svr4_lxstat, svr4_stat, svr4_xstat, sysv_fstat,
+	sysv_fxstat, sysv_lstat, sysv_lxstat, sysv_stat, sysv_xstat): Likewise.
+	* linux/mips/syscallent-n32.h (fstat, lstat, newfstatat, stat, statx): Likewise.
+	* linux/mips/syscallent-n64.h (fstat, lstat, newfstatat, stat, statx): Likewise.
+	* linux/mips/syscallent-o32.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	oldfstat, oldlstat, oldstat, stat, stat64, statx): Likewise.
+	* linux/powerpc64/syscallent.h (fstat, lstat, newfstatat, oldfstat, oldlstat,
+	oldstat, stat): Likewise.
+	* linux/powerpc/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	oldfstat, oldlstat, oldstat, stat, stat64, statx): Likewise.
+	* linux/s390/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, stat,
+	stat64, statx): Likewise.
+	* linux/s390x/syscallent.h (fstat, lstat, newfstatat, stat, statx): Likewise.
+	* linux/sh64/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, oldfstat,
+	oldlstat, oldstat, stat, stat64): Likewise.
+	* linux/sh/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, oldfstat,
+	oldlstat, oldstat, stat, stat64): Likewise.
+	* linux/sparc64/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	oldlstat, stat, stat64): Likewise.
+	* linux/sparc/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64,
+	oldlstat, stat, stat64): Likewise.
+	* linux/x32/syscallent.h (fstat, lstat, newfstatat, stat, statx): Likewise.
+	* linux/x86_64/syscallent.h (fstat, lstat, newfstatat, stat, statx): Likewise.
+	* linux/xtensa/syscallent.h (fstat, fstat64, fstatat64, lstat, lstat64, stat,
+	stat64, statx): Likewise.
+	* tests/gen_tests.in (trace_stat_like): New entry.
+	* tests/trace_stat_like.in: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+	* tests/ksysent.c (TSTA): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	qualify: add syntax for optional non-matching syscall qualification.
+	It may be useful in case syscall is not present on the target
+	architecture.
+
+	* qualify.c (qualify_syscall): Add ignore_fail flag, set it to true
+	in case syscall qualification is led by a question mark(s).
+	* strace.1 (.SS Filtering): Document ability to use question marks
+	in syscall qualification.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	linux/alpha/syscallent.h: add TSFA flag to osf_getfsstat.
+	In accordance with [1].
+
+	[1] https://www.freebsd.org/cgi/man.cgi?query=getfsstat&sektion=2
+
+	* linux/alpha/syscallent.h (osf_getfsstat): Add TSFA flag.
+	* strace.1 (.SS Filtering) <%%statfs>: Update equivalent regexp.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	linux/mips/syscallent-compat.h: add some TD/TF flags for *stat* variants
+	*xstat syscalls are, according to [1], like their *stat counterparts,
+	but with additional argument with fixed value.
+
+	[1] http://math-atlas.sourceforge.net/devel/assembly/mipsabi32.pdf
+
+	* linux/mips/syscallent-compat.h (*_xstat, *_lxstat, bsd43_oldstat):
+	Add TF flag.
+	(*_fxstat, bsd43_oldfstat): Add TD flag.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Implement -e trace=%%statfs option.
+	linux/*/syscallent*.h part is updated automatically by:
+
+	    sed -i 's/\(TSF\),[[:space:]]\?/\1|TSFA,/' linux/*/syscallent*.h
+	    sed -i 's/\(TFSF\),/\1|TSFA,/' linux/*/syscallent*.h
+	    sed -i 's/0\(,.*ustat\)/TSFA\1/' linux/*/syscallent*.h
+
+	* sysent.h (TRACE_STATFS_LIKE): New macro.
+	* syscall.c: Alias TSFA to TRACE_STATFS_LIKE around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add SCHED_STATFS_LIKE for "%%statfs".
+	* strace.1 (.SS Filtering): Add information about %%statfs syscall class.
+	* NEWS: Mention this change.
+	* linux/32/syscallent.h (statfs64, fstatfs64): Add TSFA flag.
+	* linux/64/syscallent.h (statfs, fstatfs): Likewise.
+	* linux/aarch64/syscallent.h (statfs, fstatfs, ustat): Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/arm/syscallent.h (statfs, statfs64, fstatfs, fstatfs64, ustat):
+	Likewise.
+	* linux/avr32/syscallent.h: Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h (osf_statfs, osf_statfs64, statfs,
+	ofs_fstatfs, osf_fstatfs64, ustat): Likewise.
+	* linux/mips/syscallent-compat.h (*_statfs, *_statvfs, *_fstatfs): Likewise.
+	* tests/gen_tests.in (trace_statfs_like): New entry.
+	* tests/trace_statfs_like.in: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+	* tests/ksysent.c (TSFA): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Implement -e trace=%fstatfs option.
+	linux/*/syscallent*.h part is updated automatically by:
+
+	    sed -i 's/TD,[[:space:]]\([[:space:]]*SEN.*[_"]fstatv\?fs\)/TD|TFSF,\1/' \
+	           linux/*/syscallent*.h
+
+	* sysent.h (TRACE_FSTATFS): New macro.
+	* syscall.c: Alias TFSF to TRACE_FSTATFS around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add SCHED_FSTATFS for "%fstatfs".
+	* strace.1 (.SS Filtering): Add information about %fstatfs syscall class.
+	* NEWS: Mention this change.
+	* linux/32/syscallent.h (fstatfs64): Add TFSF flag.
+	* linux/64/syscallent.h (fstatfs): Likewise.
+	* linux/aarch64/syscallent.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/arm/syscallent.h (fstatfs, fstatfs64):
+	Likewise.
+	* linux/avr32/syscallent.h: Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h (ofs_fstatfs, osf_fstatfs64): Likewise.
+	* linux/mips/syscallent-compat.h (*_fstatfs, *_fstatvfs): Likewise.
+	* tests/gen_tests.in (trace_fstatfs): New entry.
+	* tests/trace_fstatfs.in: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+	* tests/ksysent.c (TFSF): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	sysent.h: format syscall flag macros.
+	Add some tabulation and leading zeroes to the values.
+
+2017-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: tabulate sched.test.
+	Rewrite sched.test using test_trace_expr().
+
+	* tests/gen_tests.in (sched): New entry.
+	* tests/sched.in: New file, derived from a set of tests in sched.test.
+	* tests/sched.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove sched.test.
+	(EXTRA_DIST): Add sched.in.
+
+2017-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: tabulate regex.test.
+	Rewrite regex.test using test_trace_expr().
+
+	* tests/gen_tests.in (regex): New entry.
+	* tests/regex.in: New file, derived from a set of tests in regex.test.
+	* tests/regex.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove regex.test.
+	(EXTRA_DIST): Add regex.in.
+
+2017-04-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: tabulate clock.test.
+	Rewrite clock.test using test_trace_expr().
+
+	* tests/gen_tests.in (clock): New entry.
+	* tests/clock.in: New file, derived from a set of tests in clock.test.
+	* tests/clock.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove clock.test.
+	(EXTRA_DIST): Add clock.in.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests: tabulate trace_statfs.test.
+	Rewrite trace_statfs.test using test_trace_expr().
+
+	* tests/gen_tests.in (trace_statfs): New entry.
+	* tests/trace_statfs.in: New file, derived from a set of tests
+	in trace_statfs.test.
+	* tests/trace_statfs.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove trace_statfs.test.
+	(EXTRA_DIST): Add trace_statfs.in.
+
+2017-04-21  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests/init.sh: add helpers for running set of programs.
+	This introduces three new helpers:
+	prog_set_subtract subtracts one program set from another,
+	test_pure_prog_set runs strace check on a set of programs,
+	test_trace_expr tests trace expressions.
+
+	* tests/init.sh (prog_set_subtract, test_pure_prog_set,
+	test_trace_expr): New functions.
+
+2017-04-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: extend gen_tests.sh further.
+	* tests/gen_tests.sh: Extend support of arbitrary rules.
+
+2017-04-20  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests/xstat.c: do not remove sample file after test.
+	As tests are executed in separate directories now, there is no need to
+	remove sample file.
+
+	* tests/xstat.c (main): Remove unlink calls.
+
+2017-04-20  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests: use fixed name for stat tests sample file.
+	As tests are now run in separate directories.
+
+	* tests/xstatx.c: Use fixed "stat.sample" name for sample file.
+	* tests/fstat.test: Use it as an argument for -P option.
+	* tests/gen_tests.in (fstat64, lstat, lstat64, newfstatat, oldlstat,
+	oldstat, stat, stat64, statx): Likewise.
+
+2017-04-19  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Derive copyright year from the git commit date.
+	This solves problems like the need to update test suite on every
+	New Year's Eve.
+
+	* Makefile.am (dist-hook): Generate .year.
+	* copyright-year-gen: New file.
+	* configure.ac (copyright_year): New m4 variable, defined as the output
+	of copyright-year-gen script.
+	(AC_COPYRIGHT): Use it.
+	(COPYRIGHT_YEAR): New output variable and preprocessor macro.
+	* strace.c (print_version): Use COPYRIGHT_YEAR.
+	* strace.spec.in (%prep): Save the value of COPYRIGHT_YEAR autoconf
+	variable to .year file.
+	* tests/strace-V.test (config_year): New variable, derived from config.h.
+	Add sanity checks for $config_year and use it in expected output.
+
+	Reported-by: Andreas Schwab <schwab@suse.de>
+
+2017-04-19  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: move /proc/ checks from scripts to executables.
+	Move most of /proc/self/task/ and /proc/self/fd/ checks from scripts
+	to xecutables.
+
+	* tests/attach-f-p.test: Move /proc/self/task/ check ...
+	* tests/attach-f-p-cmd.c (main): ... here.
+	* tests/fstat.test: Move /proc/self/fd/ check ...
+	* tests/xstatx.c (main): ... here.
+	* tests/net-y-unix.test: Move /proc/self/fd/ check ...
+	* tests/net-y-unix.c (main): ... here.
+	* tests/net-yy-inet.test: Move /proc/self/fd/ check ...
+	* tests/net-yy-inet.c (main): ... here.
+	* tests/net-yy-netlink.test: Move /proc/self/fd/ check ...
+	* tests/net-yy-netlink.c (main): ... here.
+	* tests/net-yy-unix.test: Move /proc/self/fd/ check ...
+	* tests/net-yy-unix.c (main): ... here.
+
+2017-04-19  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: tabulate pread64-pwrite64.test.
+	* tests/gen_tests.in (pread64-pwrite64): New entry.
+	* tests/pread64-pwrite64.c: (main): Skip the test if /proc/self/fd/
+	is not available.
+	* tests/pread64-pwrite64.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove pread64-pwrite64.test.
+
+	tests: tabulate read-write.test.
+	* tests/gen_tests.in (read-write): New entry.
+	* tests/read-write.c: (main): Skip the test if /proc/self/fd/
+	is not available.
+	* tests/read-write.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove read-write.test.
+
+	tests: add skip_if_unavailable function to libtests.
+	* tests/skip_unavailable.c: New file.
+	* tests/tests.h (skip_if_unavailable): New prototype.
+	* tests/Makefile.am (libtests_a_SOURCES): Add skip_unavailable.c.
+
+	tests: tabulate netlink_protocol.test.
+	* tests/gen_tests.in (netlink_protocol): New entry.
+	* tests/netlink_protocol.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove netlink_protocol.test.
+
+	tests: tabulate statfs.test.
+	* tests/gen_tests.in (statfs): New entry.
+	(fstatfs, fstatfs64, statfs64): Update.
+	* tests/statfs.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove statfs.test.
+
+2017-04-18  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: skip statfs related tests if their sample files are not available
+	* tests/xstatfsx.c (print_statfs): Skip the test if open failed.
+
+	tests: extend gen_tests.sh to support arbitrary test_* rules.
+	* tests/gen_tests.sh: Add support of arbitrary test_* rules.
+
+	tests: change gen_tests.sh to read its input as raw input.
+	* tests/gen_tests.sh: Specify -r option to read.
+	* tests/gen_tests.in (shmxt): Update.
+
+2017-04-18  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	strace.1: s/regex expression/regular expression/
+
+2017-04-17  Dmitry V. Levin  <ldv@altlinux.org>
+
+	strace.1: enhance %statfs description.
+	* strace.1 (.SS Filtering) <%statfs>: Fix the list of syscalls,
+	add an equivalent regex expression.
+
+	netlink: decode NLMSG_ERROR messages.
+	* netlink.c (decode_nlmsgerr, decode_payload): New functions.
+	(decode_nlmsghdr_with_payload): Use decode_payload.
+	* tests/netlink_protocol.c (send_query): Check decoding
+	of NLMSG_ERROR messages.
+	* NEWS: Mention this change.
+
+	netlink: avoid using unaligned sizeof(struct nlmsghdr) unnecessarily.
+	* netlink.c (NLMSG_HDRLEN): Redefine.
+	(decode_nlmsghdr_with_payload, decode_netlink): Use it instead
+	of sizeof(struct nlmsghdr).
+
+	Fix the length argument passed from print_iovec to decode_netlink.
+	* io.c (print_iovec): Pass the actual length to decode_netlink
+	instead of the original length.
+	* NEWS: Mention this fix.
+
+	numa: fix printing of error values in move_pages status array.
+	* numa.c (print_status): Do not lose a minus sign when printing
+	a symbolic error code.
+	* tests/move_pages.c (print_status_array): Update expected output.
+
+	tests: generate pure_executables part of check_PROGRAMS automatically.
+	* tests/gen_pure_executables.sh: New file.
+	* bootstrap: Invoke it.
+	* tests/Makefile.am: Include pure_executables.am.
+	(check_PROGRAMS): Add $(PURE_EXECUTABLES).  Remove everything listed
+	in pure_executables.list.
+	(EXTRA_DIST): Add gen_pure_executables.sh.
+	* tests/.gitignore: Add pure_executables.am.
+
+	tests: make EXTRA_DIST sorted.
+	* tests/Makefile.am (EXTRA_DIST): Sort.
+
+	tests: check decoding of alpha specific osf_utimes syscall.
+	* tests/osf_utimes.c: New file.
+	* tests/gen_tests.in (osf_utimes): New entry.
+	* tests/Makefile.am (check_PROGRAMS): Add osf_utimes.
+	* tests/pure_executables.list: Likewise.
+	* tests/.gitignore: Likewise.
+
+	tests: parametrize utimes.c.
+	* tests/xutimes.c: New file, based on utimes.c.
+	* tests/utimes.c [__NR_utimes] (TEST_SYSCALL_NR, TEST_SYSCALL_STR,
+	TEST_STRUCT): New macros.
+	[__NR_utimes]: Replace all the rest with include "xutimes.c".
+	* tests/Makefile.am (EXTRA_DIST): Add xutimes.c.
+
+2017-04-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	alpha: fix tracing flags of osf_select and osf_utimes syscalls.
+	* linux/alpha/syscallent.h (osf_select): Add TD flag.
+	(osf_utimes): Add TF flag.
+	* NEWS: Mention alpha specific fixes.
+
+2017-04-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	alpha: rename print_timeval32_pair to print_timeval32_utimes.
+	This follows the rename of print_timeval_item to print_timeval_utimes.
+
+	* defs.h [ALPHA] (print_timeval32_pair): Rename
+	to print_timeval32_utimes.
+	* print_timeval.c [ALPHA] (print_timeval32_pair): Likewise.
+	* utimes.c [ALPHA] (SYS_FUNC(osf_utimes)): Replace print_timeval32_pair
+	with print_timeval32_utimes.
+
+2017-04-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: do more rigorous testing of utimes syscall parser.
+	* tests/utimes.c (errstr): New variable.
+	(print_ts, k_utimes): New functions.
+	(main): Use them to do more rigorous testing of utimes syscall parser.
+	* tests/gen_tests.in (utimes): Update -a option.
+
+	tests: do more rigorous testing of futimesat syscall parser.
+	* tests/futimesat.c (errstr): New variable.
+	(print_ts, k_futimesat): New functions.
+	(main): Use them to do more rigorous testing of futimesat syscall parser.
+
+2017-04-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix printing of inaccessible times argument of utimes and futimesat syscalls
+	When the whole pair of struct timeval structures cannot be fetched from
+	tracee's memory, print the address.  This behavior follows the kernel's
+	that uses copy_from_user for the whole pair, too.
+
+	* print_timeval.c (print_timeval_item): Remove.
+	(print_timeval_pair): Rename to print_timeval_utimes, all callers
+	updated.  Fetch the whole timeval_t array with a single
+	umove_or_printaddr call.
+	* tests/futimesat.c (main): Update expected output.
+	* tests/utimes.c (main): Likewise.
+
+2017-04-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: rewrite utimensat.test without relying on libc utimensat wrapper.
+	The new test also does more rigorous testing.
+
+	* tests/utimensat.c: Stop including <assert.h> and <errno.h>, include
+	<unistd.h> and <asm/unistd.h>, check __NR_utimensat instead
+	of HAVE_UTIMENSAT.
+	(errstr): New variable.
+	(k_utimensat): New function, a thin wrapper around
+	syscall(__NR_utimensat).
+	(main): Use them instead of utimensat.
+	* tests/gen_tests.in (utimensat): New entry.
+	* tests/utimensat.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove it.
+
+2017-04-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: use fixed timestamps in utime related tests.
+	* tests/clock.test: Remove futimesat, utime, utimensat, and utimes tests
+	from the list of exceptions.
+	* tests/utime.c (main): Do not use time(), use fixed timestamp instead.
+	* tests/futimesat.c (main): Do not use gettimeofday(), use fixed
+	timestamps instead.
+	* tests/utimensat.c (main): Likewise.
+	* tests/utimes.c (main): Likewise.
+
+2017-04-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	xtensa: wire up new syscalls.
+	* linux/xtensa/syscallent.h [348..350]: New pkey_* entries.
+
+	Reported-by: Victor Krapivensky <krapivenskiy.va@phystech.edu>
+
+2017-04-15  Victor Krapivensky  <krapivenskiy.va@phystech.edu>
+
+	Update statx parser and syscall entries lists to the upstream.
+	* linux/32/syscallent.h [291]: Add statx entry.
+	* linux/64/syscallent.h [291]: Likewise.
+	* linux/arm/syscallent.h [397]: Likewise.
+	* linux/m68k/syscallent.h [379]: Likewise.
+	* linux/mips/syscallent-n32.h [6330]: Likewise.
+	* linux/mips/syscallent-n64.h [5326]: Likewise.
+	* linux/mips/syscallent-o32.h [4366]: Likewise.
+	* linux/powerpc/syscallent.h [383]: Likewise.
+	* linux/s390/syscallent.h [379]: Likewise.
+	* linux/s390x/syscallent.h [379]: Likewise.
+	* linux/xtensa/syscallent.h [351]: Likewise.
+	* statx.h (struct_statx): Update.
+	* statx.c (SYS_FUNC(statx)): Print struct_statx.stx_attributes_mask.
+	* tests/xstatx.c (print_stat, main): Update to test decoding
+	of struct_statx.stx_attributes_mask.
+
+2017-04-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: add more regex match checks.
+	* tests/qual_syscall.test: Add regex match checks.
+
+	tests: make mq_sendrecv* test executables reenterable.
+	* tests/mq_sendrecv.c (MQ_NAME): Remove.
+	(mq_name): New static variable.
+	(cleanup): Use it instead of MQ_NAME.
+	(main): Initialize it dynamically using the pid of process.  Use it
+	instead of MQ_NAME.
+
+	tests: make mq test executable reenterable.
+	* tests/mq.c (NAME): Remove.
+	(main): Replace the fixed message queue name with a dynamically
+	made name containing the pid of process.
+	* tests/gen_tests.in (mq): Update -a option.
+
+	tests: make net-yy-netlink test executable reenterable.
+	* tests/net-yy-netlink.c (main): Use getpid() instead of a fixed
+	magic number.
+
+	tests: tabulate shmxt.test.
+	* tests/gen_tests.in (shmxt): New entry.
+	* tests/shmxt.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove shmxt.test.
+
+2017-04-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Revert "Implement -e trace=%sched option"
+	-e trace=%sched became redundant as -e trace=/sched does the same.
+
+	This reverts commit 811638e9c1805438a63c14f9704b8b00ac922623.
+
+	* syscall.c (TSC): Remove.
+	* sysent.h (TRACE_SCHED): Remove.
+	* qualify.c (lookup_class): Remove %sched.
+	* strace.1 (.SS Filtering): Likewise.
+	* NEWS: Likewise.
+	* linux/32/syscallent.h: Remove TSC flag from sched* syscalls.
+	* linux/64/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/avr32/syscallent.h: Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* tests/sched.test: Replace trace=%sched with trace=/sched.
+	* tests/ksysent.c (TSC): Remove.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Revert "Implement -e trace=%clock option"
+	-e trace=%clock became redundant as -e trace=/clock does the same.
+
+	This reverts commit 0a13d2391c413e3847b71ec0c1d38f56e353b1b5.
+
+	* syscall.c (TCL): Remove.
+	* sysent.h (TRACE_CLOCK): Remove.
+	* qualify.c (lookup_class): Remove %clock.
+	* strace.1 (.SS Filtering): Likewise.
+	* NEWS: Likewise.
+	* linux/32/syscallent.h: Remove TCL flag from clock_* syscalls.
+	* linux/64/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/avr32/syscallent.h: Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* tests/clock.test: Replace trace=%clock with trace=/clock.
+	* tests/ksysent.c (TCL): Remove.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: robustify regex.test.
+	* tests/regex.test: Use trace_statfs.test as a template instead
+	of clock.test and sched.test, not because of more interesting
+	regular expressions but to fix build on platforms where
+	clock.test and sched.test are not reenterable.
+
+2017-04-14  JingPiao Chen  <chenjingpiao@gmail.com>
+
+	Implement -e trace=/regex option.
+	* qualify.c: Include <regex.h>.
+	(qualify_syscall_regex): New function.
+	(qualify_syscall): Use it.
+	* strace.1: Document -e trace=/regex option.
+	* NEWS: Mention -e trace=/regex option.
+	* tests/regex.test: New test.
+	* tests/Makefile.am (DECODER_TESTS): Add it.
+	* tests/options-syntax.test: Add checks for invaild regexp
+	and for regexp that doesn't match a syscall.
+
+2017-04-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: fix ioctl_nsfs.test on hppa.
+	* tests/ioctl_nsfs.c (test_user_namespace): Specify an address
+	in the middle of a mapped page as child_stack address argument
+	of the clone call.
+	[IA64] (clone): Update.
+
+2017-04-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: fix ioctl_nsfs.test on ia64.
+	glibc on ia64 provides no clone() function, but there is a __clone2
+	function instead.  It is documented but no prototype is provided by
+	glibc.
+
+	* tests/ioctl_nsfs.c [IA64] (__clone2): New prototype.
+	[IA64] (clone): New macro wrapper around __clone2.
+
+2017-04-13  Edgar Kaziahmedov  <edos@linux.com>
+
+	tests: check decoding of the remaining V4L2_BUF_TYPE_* types.
+	* tests/ioctl_v4l2.c (init_v4l2_format, print_ioctl_v4l2): New functions
+	to avoid code duplication in VIDIOC_S_FMT and VIDIOC_TRY_FMT tests.
+	(main) <VIDIOC_G_FMT, VIDIOC_S_FMT, VIDIOC_TRY_FMT>: Use them.  Add
+	checks for remaining V4L2_BUF_TYPE_* types.
+
+	v4l2: Implement decoding of the remaining V4L2_BUF_TYPE_* types.
+	* v4l2.c: Include "xlat/v4l2_vbi_flags.h" and "xlat/v4l2_sliced_flags.h".
+	(struct_v4l2_clip): New typedef.  Mpersify it.
+	(print_v4l2_clip): New function.
+	(print_v4l2_format_fmt): Use it.  Add struct tcb argument.  Implement
+	decoding of the remaining V4L2_BUF_TYPE_* types.
+	* xlat/v4l2_vbi_flags.in: Add V4L2_VBI_UNSYNC and V4L2_VBI_INTERLACED
+	introduced by linux kernel commit v2.5.46~39^2~23^2~4.
+	Add V4L2_VBI_ITU_525_F1_START, V4L2_VBI_ITU_525_F2_START,
+	V4L2_VBI_ITU_625_F1_START, and V4L2_VBI_ITU_625_F2_START introduced by
+	linux kernel commit v3.17-rc1~112^2~217.
+	* xlat/v4l2_sliced_flags.in: Add V4L2_SLICED_TELETEXT_B, V4L2_SLICED_VPS,
+	V4L2_SLICED_CAPTION_525, V4L2_SLICED_WSS_625, V4L2_SLICED_VBI_525, and
+	V4L2_SLICED_VBI_625 introduced by linux kernel commit v2.6.14-rc2~64.
+	* configure.ac (AC_CHECK_DECLS): Add V4L2_BUF_TYPE_SDR_CAPTURE and
+	V4L2_BUF_TYPE_SDR_OUTPUT.
+	(AC_CHECK_MEMBERS): Add struct v4l2_window.global_alpha and
+	struct v4l2_sdr_format.buffersize.
+	* NEWS: Mention this change.
+
+2017-04-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	travis: use mainline kernel uapi headers for coverage.
+	* .travis.yml (matrix) <CHECK=coverage>: Add KHEADERS=torvalds/linux.
+	* travis-build.sh: Handle $KHEADERS.
+	* travis-install.sh: Likewise.
+
+	travis: switch from clang-3.6 to clang-3.8.
+	* .travis.yml (matrix): Change clang-3.6 to clang-3.8.
+
+2017-04-13  Nikolay Marchuk  <marchuk.nikolay.a@gmail.com>
+
+	Implement decoding of NS_* ioctl commands.
+	* configure.ac (AC_CHECK_HEADERS): Add linux/nsfs.h.
+	* defs.h (DECL_IOCTL(nsfs)): New prototype.
+	(setns_types): Make global.
+	* ioctl.c (ioctl_decode): Call nsfs_ioctl for 0xb7 code.
+	* nsfs.c: New file.
+	* nsfs.h: Likewise.
+	* Makefile.am (strace_SOURCES): Add them.
+	* tests/ioctl_nsfs.c: New file.
+	* tests/ioctl_nsfs.test: Likewise.
+	* tests/.gitignore: Add ioctl_nsfs.
+	* tests/Makefile.am (check_PROGRAMS): Likewise.
+	(DECODER_TESTS): Add ioctl_nsfs.test.
+	* NEWS: Mention this change.
+
+2017-04-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	travis: copy coverage test suite log to the travis log.
+	* travis-build.sh (coverage): Print tests*/test-suite.log
+	and tests*/ksysent.log.
+
+2017-04-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	travis: add gcc-6.
+	* .travis.yml (matrix): Add gcc-6 entries.
+	* travis-build.sh: Handle gcc*.
+	* travis-install.sh: Handle gcc-*.
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: robustify gen_tests.sh against in-tree builds.
+	* tests/gen_tests.sh: Use abs_srcdir instead of srcdir to construct
+	a path to gen_tests.sh in implicit make rules.
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	trace_syscall_exiting: do not call get_regs for filtered syscalls.
+	This saves up to 25% of ptrace syscalls in case of trace filtering.
+
+	* syscall.c (trace_syscall_exiting): Do not call gettimeofday
+	and get_regs for filtered syscalls.
+	* NEWS: Mention this change.
+	* tests/get_regs.test: New test.
+	* tests/Makefile.am (MISC_TESTS): Add it.
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Delay get_regs invocation.
+	strace used to call get_regs on every stop of a tracee, including cases
+	when the result is going to be discarded.  Prepare to change this lavish
+	practice by delaying get_regs invocation until its result is actually
+	needed.
+
+	* defs.h (get_regs): Remove.
+	* strace.c (trace): Do not call get_regs.
+	* syscall.c (get_regs): Add static qualifier.
+	(trace_syscall_exiting, print_pc, get_scno): Call get_regs.
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	startup_tcb: move get_scno invocation to a more convenient place.
+	* strace.c (trace): Move get_scno invocation ...
+	(startup_tcb): ... here.  This is a no-op change that slightly improves
+	readability.
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	get_regs: guard against subsequent invocations.
+	At this moment there is only one call to get_regs,
+	but there is going to be more of them, so a guard is needed.
+
+	This change also adds a clear_regs call before get_regs,
+	which essentially reverts commit v4.9-288-ge9bfff6.
+
+	* strace.c (trace): Call clear_regs before get_regs.
+	* syscall.c (get_regs): Skip if get_regs_error != -1.
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	syscall: move definitions of automatic variables closer to their use.
+	* syscall.c (trace_syscall_entering, trace_syscall_exiting): Move
+	definitions of automatic variables closer to their first use.  This
+	change slightly improves readability.
+
+	tests: check decoding of gettid syscall.
+	* tests/gettid.c: New file.
+	* tests/.gitignore: Add gettid.
+	* tests/Makefile.am (check_PROGRAMS): Likewise.
+	* tests/gen_tests.in (gettid): New entry.
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: fix build on alpha.
+	* tests/getpid.c: Skip if __NR_getpid is not defined.
+	* tests/getppid.c: Skip if __NR_getppid is not defined.
+
+	Fixes: fd1041f6 ("tests: add tests for getpid and getppid syscalls")
+
+2017-04-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Fix build with old linux/netlink.h.
+	* socketutils.c: Provide a fallback definition of NETLINK_SOCK_DIAG.
+
+	Fixes: 5c256356 ("Do not include xlat/netlink_protocols.h twice")
+
+2017-04-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Do not include xlat/netlink_protocols.h twice.
+	Make netlink_protocols a global xlat array defined in net.c file.
+
+	* defs.h (netlink_protocols): New prototype.
+	* socketutils.c: Stop including "xlat/netlink_protocols.h".
+
+2017-04-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Do not include xlat/clocknames.h twice.
+	Make clocknames a global xlat array defined in time.c file.
+
+	* defs.h (clocknames): New prototype.
+	* perf.c: Stop including "xlat/clocknames.h".
+
+2017-04-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Remove unused xlat/openmodessol.in.
+	* xlat/openmodessol.in: Remove file unused since commit
+	v4.10-45-gdf4dd8b.
+
+	Remove unused xlat/aclipc.in.
+	* xlat/aclipc.in: Remove file unused since commit v4.9-46-g681452b.
+
+2017-04-07  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: remove statfs.expected.
+	statfs.expected is unused since commit v4.11-515-g67c2f67.
+
+	* tests/statfs.expected: Remove.
+	* tests/Makefile.am (EXTRA_DIST): Remove it.
+
+2017-04-07  Sandhya Bankar  <bankarsandhya512@gmail.com>
+
+	tests: add tests for getpid and getppid syscalls.
+
+	[ldv: rewritten everything]
+
+	* tests/getpid.c: New file.
+	* tests/getppid.c: Likewise.
+	* tests/.gitignore: Add getpid and getppid.
+	* tests/pure_executables.list: Likewise.
+	* tests/Makefile.am (check_PROGRAMS): Likewise.
+	* tests/gen_tests.in (getpid, getppid): New entries.
+
+2017-04-07  Edgar Kaziahmedov  <edos@linux.com>
+
+	Update V4L2_* constants.
+	* xlat/v4l2_buf_flags.in: Add V4L2_BUF_FLAG_PREPARED,
+	V4L2_BUF_FLAG_NO_CACHE_INVALIDATE, and V4L2_BUF_FLAG_NO_CACHE_CLEAN
+	introduced by linux kernel commit v3.2-rc1~63^2~55.
+	Add V4L2_BUF_FLAG_TIMESTAMP_MASK, V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN,
+	and V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC introduced by linux kernel commit
+	v3.9-rc1~93^2~536.
+	Add V4L2_BUF_FLAG_TIMESTAMP_COPY introduced by linux kernel commit
+	v3.10-rc1~136^2~560.
+	Add V4L2_BUF_FLAG_TSTAMP_SRC_MASK, V4L2_BUF_FLAG_TSTAMP_SRC_EOF,
+	and V4L2_BUF_FLAG_TSTAMP_SRC_SOE introduced by linux kernel commit
+	v3.15-rc1~85^2~186.
+	Add V4L2_BUF_FLAG_LAST introduced by linux kernel commit
+	v4.2-rc1~107^2~389.
+	* xlat/v4l2_buf_types.in: Add V4L2_BUF_TYPE_SDR_CAPTURE
+	and V4L2_BUF_TYPE_SDR_OUTPUT introduced by linux kernel commits
+	v3.15-rc1~85^2~213 and v4.4-rc1~118^2~14, respectively.
+	* xlat/xlat/v4l2_colorspaces.in: Add V4L2_COLORSPACE_ADOBERGB
+	and V4L2_COLORSPACE_BT2020 introduced by linux kernel commit
+	v3.19-rc1~29^2~72.
+	Add V4L2_COLORSPACE_RAW and V4L2_COLORSPACE_DCI_P3 introduced by linux
+	kernel commits v4.2-rc1~107^2~182 and v4.4-rc1~118^2~120, respectively.
+	* xlat/v4l2_device_capabilities_flags.in: Add V4L2_CAP_SDR_CAPTURE,
+	V4L2_CAP_EXT_PIX_FORMAT, and V4L2_CAP_SDR_OUTPUT introduced by linux
+	kernel commits v3.15-rc1~85^2~210, v3.17-rc1~112^2~327,
+	and v4.4-rc1~118^2~14, respectively.
+	* xlat/v4l2_memories.in: Add V4L2_MEMORY_OVERLAY introduced
+	in linux 2.5.46.  Add V4L2_MEMORY_DMABUF introduced by linux kernel
+	commit v3.8-rc1~115^2^2~52.
+
+2017-04-07  Abhishek Tiwari  <erabhishektiwarics@gmail.com>
+
+	Implement -e trace=%statfs option.
+	linux/*/syscallent*.h part is modified automatically by:
+
+		sed -i 's/TF\(,[[:space:]]*SEN.*[_"]statv\?fs\)/TF|TSF\1/' \
+			linux/*/syscallent*.h
+
+	[ldv: rewritten trace_statfs.test using sched.test as a template]
+
+	* sysent.h (TRACE_STATFS): New macro.
+	* syscall.c: Alias TSF to TRACE_STATFS around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add SCHED_STATFS for "%statfs".
+	* strace.1 (.SS Filtering): Add information about %statfs syscall class.
+	* NEWS: Mention this change.
+	* linux/64/syscallent.h (statfs): Add TSF flag.
+	* linux/aarch64/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/32/syscallent.h (statfs64): Likewise.
+	* linux/arm/syscallent.h (statfs, statfs64): Likewise.
+	* linux/avr32/syscallent.h: Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h (osf_statfs, osf_statfs64, statfs): Likewise.
+	* linux/mips/syscallent-compat.h (*_statfs, *_statvfs): Likewise.
+	* tests/trace_statfs.test: New test.
+	* tests/Makefile.am (DECODER_TESTS): Add it.
+	* tests/ksysent.c (TSF): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-06  Rishi Bhatt  <bhatt.rishi062@gmail.com>
+
+	Implement -e trace=%clock option.
+	linux/*/syscallent.h part is modified automatically by
+	sed -i 's/0\(,[[:space:]]*SEN(clock_\)/TCL\1/' linux/*/syscallent*.h
+
+	[ldv: rewritten clock.test using sched.test as a template]
+
+	* sysent.h (TRACE_CLOCK): New macro.
+	* syscall.c: Alias TCL to TRACE_CLOCK around syscallent.h inclusion.
+	* qualify.c (lookup_class): Add TRACE_CLOCK for "%clock".
+	* strace.1 (.SS Filtering): Add information about %clock syscall class.
+	* NEWS: Mention this change.
+	* linux/32/syscallent.h: Add TCL flag for clock_* syscalls.
+	* linux/64/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/avr32/syscallent.h: Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* tests/clock.test: New test.
+	* tests/Makefile.am (DECODER_TESTS): Add it.
+	* tests/ksysent.c (TCL): New macro, defined to 0.
+	* tests/nsyscalls.c: Likewise.
+
+2017-04-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: tabulate xattr.test.
+	* tests/gen_tests.in (xattr): New entry.
+	* tests/xattr.test: Remove.
+	* tests/Makefile.am (DECODER_TESTS): Remove xattr.test.
+
+2017-04-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: generalize scripts that check non-abbreviated decoding of ioctls.
+	* tests/ioctl-v.sh: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+	(DECODER_TESTS): Remove ioctl_evdev-v.test, ioctl_loop-v.test,
+	and ioctl_rtc-v.test.
+	* tests/gen_tests.in (ioctl_evdev-v, ioctl_loop-v, ioctl_rtc-v):
+	New entries.
+	* tests/ioctl_evdev-v.test: Remove.
+	* tests/ioctl_loop-v.test: Ditto.
+	* tests/ioctl_rtc-v.test: Ditto.
+
+2017-04-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: tabulate stereotypical test scripts.
+	Convert test scripts that follow simple testing patterns to a table.
+	Generate all these scripts from gen_tests.in file using gen_tests.sh
+	script at bootstrap time.
+
+	The largest set of test scripts has been converted using
+	the following command:
+
+	grep -l ^run_strace_match_diff *.test |while read f; do
+		n="${f%.test}"
+		grep '^[^#]' "$f" |
+		grep -Evq '^(\. "\${srcdir=\.}/init\.sh"|run_strace_match_diff)' ||
+		sed -n 's/^run_strace_match_diff\(.*\)/'$n'\1/p' "$f"
+	done
+
+	The second largest set of test scripts has been converted using
+	the following command:
+
+	grep -l srcdir= *.test |while read f; do
+		n="${f%.test}"
+		grep '^[^#]' "$f" |
+		grep -Fvq srcdir= ||
+		sed -n 's/^. "\${srcdir=.}\/\([^"]\+\)".*/'$n'\t+\1/p' "$f"
+	done
+
+	* tests/gen_tests.in: New file.
+	* tests/gen_tests.sh: New file.
+	* bootstrap: Invoke it.
+	* tests/.gitignore: Add *.gen.test and gen_tests.am.
+	* tests/_newselect.test: Remove.
+	* tests/accept.test: Ditto.
+	* tests/accept4.test: Ditto.
+	* tests/access.test: Ditto.
+	* tests/acct.test: Ditto.
+	* tests/add_key.test: Ditto.
+	* tests/adjtimex.test: Ditto.
+	* tests/aio.test: Ditto.
+	* tests/alarm.test: Ditto.
+	* tests/bpf.test: Ditto.
+	* tests/btrfs.test: Ditto.
+	* tests/chmod.test: Ditto.
+	* tests/chown.test: Ditto.
+	* tests/chown32.test: Ditto.
+	* tests/chroot.test: Ditto.
+	* tests/clock_adjtime.test: Ditto.
+	* tests/clock_nanosleep.test: Ditto.
+	* tests/clock_xettime.test: Ditto.
+	* tests/copy_file_range.test: Ditto.
+	* tests/creat.test: Ditto.
+	* tests/delete_module.test: Ditto.
+	* tests/dup.test: Ditto.
+	* tests/dup2.test: Ditto.
+	* tests/dup3.test: Ditto.
+	* tests/epoll_create.test: Ditto.
+	* tests/epoll_create1.test: Ditto.
+	* tests/epoll_ctl.test: Ditto.
+	* tests/epoll_pwait.test: Ditto.
+	* tests/epoll_wait.test: Ditto.
+	* tests/erestartsys.test: Ditto.
+	* tests/execveat-v.test: Ditto.
+	* tests/execveat.test: Ditto.
+	* tests/faccessat.test: Ditto.
+	* tests/fadvise64_64.test: Ditto.
+	* tests/fallocate.test: Ditto.
+	* tests/fanotify_init.test: Ditto.
+	* tests/fanotify_mark.test: Ditto.
+	* tests/fchdir.test: Ditto.
+	* tests/fchmod.test: Ditto.
+	* tests/fchmodat.test: Ditto.
+	* tests/fchown.test: Ditto.
+	* tests/fchown32.test: Ditto.
+	* tests/fchownat.test: Ditto.
+	* tests/fcntl.test: Ditto.
+	* tests/fcntl64.test: Ditto.
+	* tests/fdatasync.test: Ditto.
+	* tests/file_handle.test: Ditto.
+	* tests/file_ioctl.test: Ditto.
+	* tests/finit_module.test: Ditto.
+	* tests/flock.test: Ditto.
+	* tests/fork-f.test: Ditto.
+	* tests/fstat64.test: Ditto.
+	* tests/fstatat64.test: Ditto.
+	* tests/fstatfs.test: Ditto.
+	* tests/fstatfs64.test: Ditto.
+	* tests/fsync.test: Ditto.
+	* tests/ftruncate.test: Ditto.
+	* tests/ftruncate64.test: Ditto.
+	* tests/futimesat.test: Ditto.
+	* tests/get_mempolicy.test: Ditto.
+	* tests/getcpu.test: Ditto.
+	* tests/getcwd.test: Ditto.
+	* tests/getdents.test: Ditto.
+	* tests/getdents64.test: Ditto.
+	* tests/getegid.test: Ditto.
+	* tests/getegid32.test: Ditto.
+	* tests/geteuid.test: Ditto.
+	* tests/geteuid32.test: Ditto.
+	* tests/getgid.test: Ditto.
+	* tests/getgid32.test: Ditto.
+	* tests/getgroups.test: Ditto.
+	* tests/getgroups32.test: Ditto.
+	* tests/getpeername.test: Ditto.
+	* tests/getpgrp.test: Ditto.
+	* tests/getrandom.test: Ditto.
+	* tests/getresgid.test: Ditto.
+	* tests/getresgid32.test: Ditto.
+	* tests/getresuid.test: Ditto.
+	* tests/getresuid32.test: Ditto.
+	* tests/getrlimit.test: Ditto.
+	* tests/getrusage.test: Ditto.
+	* tests/getsid.test: Ditto.
+	* tests/getsockname.test: Ditto.
+	* tests/getuid32.test: Ditto.
+	* tests/getxxid.test: Ditto.
+	* tests/inet-cmsg.test: Ditto.
+	* tests/init_module.test: Ditto.
+	* tests/inotify.test: Ditto.
+	* tests/inotify_init1.test: Ditto.
+	* tests/int_0x80.test: Ditto.
+	* tests/ioctl_block.test: Ditto.
+	* tests/ioctl_evdev.test: Ditto.
+	* tests/ioctl_loop.test: Ditto.
+	* tests/ioctl_mtd.test: Ditto.
+	* tests/ioctl_rtc.test: Ditto.
+	* tests/ioctl_scsi.test: Ditto.
+	* tests/ioctl_sg_io_v3.test: Ditto.
+	* tests/ioctl_sg_io_v4.test: Ditto.
+	* tests/ioctl_uffdio.test: Ditto.
+	* tests/ioctl_v4l2.test: Ditto.
+	* tests/ioperm.test: Ditto.
+	* tests/iopl.test: Ditto.
+	* tests/ioprio.test: Ditto.
+	* tests/ip_mreq.test: Ditto.
+	* tests/ipc.test: Ditto.
+	* tests/ipc_msg.test: Ditto.
+	* tests/ipc_sem.test: Ditto.
+	* tests/ipc_shm.test: Ditto.
+	* tests/kcmp.test: Ditto.
+	* tests/kexec_file_load.test: Ditto.
+	* tests/kexec_load.test: Ditto.
+	* tests/keyctl.test: Ditto.
+	* tests/kill.test: Ditto.
+	* tests/lchown.test: Ditto.
+	* tests/lchown32.test: Ditto.
+	* tests/link.test: Ditto.
+	* tests/linkat.test: Ditto.
+	* tests/lookup_dcookie.test: Ditto.
+	* tests/lstat.test: Ditto.
+	* tests/lstat64.test: Ditto.
+	* tests/mbind.test: Ditto.
+	* tests/membarrier.test: Ditto.
+	* tests/memfd_create.test: Ditto.
+	* tests/migrate_pages.test: Ditto.
+	* tests/mincore.test: Ditto.
+	* tests/mkdir.test: Ditto.
+	* tests/mkdirat.test: Ditto.
+	* tests/mknod.test: Ditto.
+	* tests/mknodat.test: Ditto.
+	* tests/mlock.test: Ditto.
+	* tests/mlock2.test: Ditto.
+	* tests/mlockall.test: Ditto.
+	* tests/mmap64.test: Ditto.
+	* tests/mmsg-silent.test: Ditto.
+	* tests/mmsg.test: Ditto.
+	* tests/mmsg_name-v.test: Ditto.
+	* tests/mmsg_name.test: Ditto.
+	* tests/mount.test: Ditto.
+	* tests/move_pages.test: Ditto.
+	* tests/mq.test: Ditto.
+	* tests/mq_sendrecv-read.test: Ditto.
+	* tests/mq_sendrecv-write.test: Ditto.
+	* tests/mq_sendrecv.test: Ditto.
+	* tests/msg_control-v.test: Ditto.
+	* tests/msg_control.test: Ditto.
+	* tests/msg_name.test: Ditto.
+	* tests/munlockall.test: Ditto.
+	* tests/nanosleep.test: Ditto.
+	* tests/net-icmp_filter.test: Ditto.
+	* tests/net-sockaddr.test: Ditto.
+	* tests/newfstatat.test: Ditto.
+	* tests/old_mmap.test: Ditto.
+	* tests/oldfstat.test: Ditto.
+	* tests/oldlstat.test: Ditto.
+	* tests/oldstat.test: Ditto.
+	* tests/open.test: Ditto.
+	* tests/openat.test: Ditto.
+	* tests/pause.test: Ditto.
+	* tests/perf_event_open.test: Ditto.
+	* tests/perf_event_open_nonverbose.test: Ditto.
+	* tests/perf_event_open_unabbrev.test: Ditto.
+	* tests/pipe2.test: Ditto.
+	* tests/pkey_alloc.test: Ditto.
+	* tests/pkey_free.test: Ditto.
+	* tests/pkey_mprotect.test: Ditto.
+	* tests/ppoll-v.test: Ditto.
+	* tests/ppoll.test: Ditto.
+	* tests/preadv-pwritev.test: Ditto.
+	* tests/preadv.test: Ditto.
+	* tests/preadv2-pwritev2.test: Ditto.
+	* tests/printstr.test: Ditto.
+	* tests/prlimit64.test: Ditto.
+	* tests/process_vm_readv.test: Ditto.
+	* tests/process_vm_writev.test: Ditto.
+	* tests/pselect6.test: Ditto.
+	* tests/ptrace.test: Ditto.
+	* tests/pwritev.test: Ditto.
+	* tests/quotactl-v.test: Ditto.
+	* tests/quotactl-xfs-v.test: Ditto.
+	* tests/quotactl-xfs.test: Ditto.
+	* tests/quotactl.test: Ditto.
+	* tests/readahead.test: Ditto.
+	* tests/readdir.test: Ditto.
+	* tests/readlink.test: Ditto.
+	* tests/readlinkat.test: Ditto.
+	* tests/reboot.test: Ditto.
+	* tests/recvfrom.test: Ditto.
+	* tests/recvmmsg-timeout.test: Ditto.
+	* tests/recvmsg.test: Ditto.
+	* tests/remap_file_pages.test: Ditto.
+	* tests/rename.test: Ditto.
+	* tests/renameat.test: Ditto.
+	* tests/renameat2.test: Ditto.
+	* tests/request_key.test: Ditto.
+	* tests/rmdir.test: Ditto.
+	* tests/rt_sigpending.test: Ditto.
+	* tests/rt_sigprocmask.test: Ditto.
+	* tests/rt_sigqueueinfo.test: Ditto.
+	* tests/rt_sigreturn.test: Ditto.
+	* tests/rt_sigsuspend.test: Ditto.
+	* tests/rt_sigtimedwait.test: Ditto.
+	* tests/rt_tgsigqueueinfo.test: Ditto.
+	* tests/sched_get_priority_mxx.test: Ditto.
+	* tests/sched_rr_get_interval.test: Ditto.
+	* tests/sched_xetaffinity.test: Ditto.
+	* tests/sched_xetattr.test: Ditto.
+	* tests/sched_xetparam.test: Ditto.
+	* tests/sched_xetscheduler.test: Ditto.
+	* tests/sched_yield.test: Ditto.
+	* tests/seccomp-filter-v.test: Ditto.
+	* tests/seccomp-filter.test: Ditto.
+	* tests/select.test: Ditto.
+	* tests/semop.test: Ditto.
+	* tests/sendfile.test: Ditto.
+	* tests/sendfile64.test: Ditto.
+	* tests/set_mempolicy.test: Ditto.
+	* tests/setdomainname.test: Ditto.
+	* tests/setfsgid.test: Ditto.
+	* tests/setfsgid32.test: Ditto.
+	* tests/setfsuid.test: Ditto.
+	* tests/setfsuid32.test: Ditto.
+	* tests/setgid.test: Ditto.
+	* tests/setgid32.test: Ditto.
+	* tests/setgroups.test: Ditto.
+	* tests/setgroups32.test: Ditto.
+	* tests/sethostname.test: Ditto.
+	* tests/setns.test: Ditto.
+	* tests/setregid.test: Ditto.
+	* tests/setregid32.test: Ditto.
+	* tests/setresgid.test: Ditto.
+	* tests/setresgid32.test: Ditto.
+	* tests/setresuid.test: Ditto.
+	* tests/setresuid32.test: Ditto.
+	* tests/setreuid.test: Ditto.
+	* tests/setreuid32.test: Ditto.
+	* tests/setrlimit.test: Ditto.
+	* tests/setuid.test: Ditto.
+	* tests/setuid32.test: Ditto.
+	* tests/shutdown.test: Ditto.
+	* tests/siginfo.test: Ditto.
+	* tests/signal_receive.test: Ditto.
+	* tests/signalfd4.test: Ditto.
+	* tests/sigreturn.test: Ditto.
+	* tests/socketcall.test: Ditto.
+	* tests/splice.test: Ditto.
+	* tests/stat.test: Ditto.
+	* tests/stat64.test: Ditto.
+	* tests/statfs64.test: Ditto.
+	* tests/statx.sh: Ditto.
+	* tests/statx.test: Ditto.
+	* tests/swap.test: Ditto.
+	* tests/symlink.test: Ditto.
+	* tests/symlinkat.test: Ditto.
+	* tests/sync.test: Ditto.
+	* tests/sync_file_range.test: Ditto.
+	* tests/sync_file_range2.test: Ditto.
+	* tests/sysinfo.test: Ditto.
+	* tests/syslog.test: Ditto.
+	* tests/tee.test: Ditto.
+	* tests/time.test: Ditto.
+	* tests/timer_create.test: Ditto.
+	* tests/timer_xettime.test: Ditto.
+	* tests/timerfd_xettime.test: Ditto.
+	* tests/times-fail.test: Ditto.
+	* tests/times.test: Ditto.
+	* tests/truncate.test: Ditto.
+	* tests/truncate64.test: Ditto.
+	* tests/ugetrlimit.test: Ditto.
+	* tests/umask.test: Ditto.
+	* tests/umoven-illptr.test: Ditto.
+	* tests/umovestr-illptr.test: Ditto.
+	* tests/umovestr3.test: Ditto.
+	* tests/unlink.test: Ditto.
+	* tests/unlinkat.test: Ditto.
+	* tests/unshare.test: Ditto.
+	* tests/userfaultfd.test: Ditto.
+	* tests/ustat.test: Ditto.
+	* tests/utime.test: Ditto.
+	* tests/utimes.test: Ditto.
+	* tests/vfork-f.test: Ditto.
+	* tests/vhangup.test: Ditto.
+	* tests/vmsplice.test: Ditto.
+	* tests/wait4-v.test: Ditto.
+	* tests/wait4.test: Ditto.
+	* tests/waitid-v.test: Ditto.
+	* tests/waitid.test: Ditto.
+	* tests/waitpid.test: Ditto.
+	* tests/xattr-strings.test: Ditto.
+	* tests/xet_robust_list.test: Ditto.
+	* tests/xetitimer.test: Ditto.
+	* tests/xetpgid.test: Ditto.
+	* tests/xetpriority.test: Ditto.
+	* tests/xettimeofday.test: Ditto.
+	* tests/Makefile.am (DECODER_TESTS, MISC_TESTS): Remove them.
+	Include gen_tests.am.
+	(TESTS): Add $(GEN_TESTS).
+	(XFAIL_TESTS_x86_64, XFAIL_TESTS_x32): Rename int_0x80.test
+	to int_0x80.gen.test.
+	(EXTRA_DIST): Add gen_tests.in and gen_tests.sh, remove statx.sh.
+	(clean-local-check): Remove $(GEN_TESTS:.gen.test=.dir).
+
+2017-04-04  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: handle test scripts with .gen.test suffix.
+	* tests/init.sh: If script name ends with .gen.test,
+	set NAME variable with .gen.test suffix stripped.
+
+2017-04-04  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	mpers.awk: add support for multidimensional arrays.
+	* mpers.awk (update_upper_bound): New function, which maintains new "count"
+	property for storing total element count and updates "upper_bound"
+	property which now contains string with array dimensions.
+	(/^DW_AT_upper_bound/, /^DW_AT_count/): Use it.
+	(what_is) <case "array_type">: Use "count" property in order to calculate
+	returned_size, do not embody returned string in square brackets.
+	* mpers_test.sh: Add checks for multidimensional arrays.
+
+2017-04-04  Dmitry V. Levin  <ldv@altlinux.org>
+
+	mpers.awk: prepare for adding support of multidimensional arrays.
+	* mpers.awk (what_is) <case "structure_type", case "union_type">:
+	Move formatting of array upper_bound ...
+	<case "array_type">: ... here.
+
+2017-04-03  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: cleanup temporary files removals.
+	As every test now runs in its own subdirectory, there is no need
+	to remove leftover files manually by each test.
+
+	* tests/init.sh (run_strace_match_diff): Do not remove $EXP.
+	* tests/brk.test: Likewise.
+	* tests/options-syntax.test: Likewise.
+	* tests/qual_inject-retval.test (check_injection): Likewise.
+	* tests/qual_signal.test (test_one_sig): Likewise.
+	* tests/sched.test: Likewise.
+	* tests/seccomp-strict.test: Likewise.
+	* tests/strace-V.test: Likewise.
+	* tests/strace-tt.test: Likewise.
+	* tests/strace-ttt.test: Likewise.
+	* tests/threads-execve.test: Likewise.
+	* tests/attach-f-p.test: Use $EXP instead of $OUT, do not remove it.
+	* tests/personality.test: Likewise.
+	* tests/poll.test: Likewise.
+	* tests/fstat.test: Likewise.
+	* tests/ipc.sh: Likewise.
+	* tests/restart_syscall.test: Likewise.
+	* tests/utimensat.test: Likewise.
+	* tests/attach-p-cmd.test: Likewise.  Do not remove
+	attach-p-cmd.test-lock.
+	* tests/detach-running.test: Do not remove $LOG.
+	* tests/detach-sleeping.test: Likewise.
+	* tests/detach-stopped.test: Likewise.
+	* tests/redirect.test: Do not remove $OUT.
+	* tests/strace-S.test: Likewise.
+	* tests/getdents.test: Do not remove $LOG.dir.
+	* tests/getdents64.test: Likewise.
+	* tests/readdir.test: Likewise.
+	* tests/btrfs-v.test: Do not remove $EXP and $OUT.
+	* tests/btrfs-vw.test: Likewise.
+	* tests/btrfs-w.test: Likewise.
+	* tests/execve-v.test: Likewise.
+	* tests/execve.test: Likewise.
+	* tests/fadvise64.test: Likewise.
+	* tests/getuid.test: Likewise.
+	* tests/ioctl.test: Likewise.
+	* tests/ioctl_dm-v.test: Likewise.
+	* tests/ioctl_dm.test: Likewise.
+	* tests/ioctl_evdev-v.test: Likewise.
+	* tests/ioctl_loop-nv.test: Likewise.
+	* tests/ioctl_loop-v.test: Likewise.
+	* tests/ioctl_loop.test: Likewise.
+	* tests/ioctl_rtc-v.test: Likewise.
+	* tests/ioctl_sock_gifconf.test: Likewise.
+	* tests/llseek.test: Likewise.
+	* tests/lseek.test: Likewise.
+	* tests/mmap.test: Likewise.
+	* tests/net-y-unix.test: Likewise.
+	* tests/net-yy-inet.test: Likewise.
+	* tests/net-yy-netlink.test: Likewise.
+	* tests/net-yy-unix.test: Likewise.
+	* tests/opipe.test: Likewise.
+	* tests/prctl-arg2-intptr.test: Likewise.
+	* tests/prctl-dumpable.test: Likewise.
+	* tests/prctl-name.test: Likewise.
+	* tests/prctl-no-args.test: Likewise.
+	* tests/prctl-pdeathsig.test: Likewise.
+	* tests/prctl-seccomp-filter-v.test: Likewise.
+	* tests/prctl-seccomp-strict.test: Likewise.
+	* tests/prctl-securebits.test: Likewise.
+	* tests/prctl-tid_address.test: Likewise.
+	* tests/prctl-tsc.test: Likewise.
+	* tests/umovestr2.test: Likewise.
+	* tests/uname.test: Likewise.
+	* tests/pread64-pwrite64.test: Do nore remove pread64-pwrite64-tmpfile.
+	* tests/read-write.test: Do nore remove read-write-tmpfile.
+	* tests/qual_fault.test (check_fault_injection): Do not remove $EXP,
+	$outexp, and $outgot.
+	* tests/redirect-fds.test (check_fd): Reorder removal of work files.
+	* tests/pc.test: Use $EXP instead of $EXPECTED, do not remove it.
+	* tests/strace-t.test: Likewise.
+	* tests/scm_rights-fd.test: Likewise.  Use dir instead of $LOG.dir,
+	do not remove it.
+	* tests/strace-ff.test: Do not remove $OUT and $LOG.* files.
+
+2017-04-03  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: enhance sched.test negative check.
+	* tests/sched.test: Test that trace=%sched doesn't match
+	anything besides sched_* syscalls by checking it against all test
+	executables without side effects listed in pure_executables.list
+	except sched_* and times.
+
+2017-04-03  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: add a list of executables without side effects.
+	These are executables that could be used by several different tests
+	simultaneously.
+
+	* tests/pure_executables.list: New file.
+	* tests/Makefile.am (EXTRA_DIST): Add it.
+
+2017-04-03  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: use fixed socket address in net-yy-unix.test.
+	This allows net-yy-unix invocation without arguments.
+
+	* tests/net-yy-unix.c (TEST_SOCKET): New macro.
+	(void): Use it instead of av[1].
+	* tests/net-yy-unix.test: Do not specify arguments for the test
+	executable.
+
+2017-04-03  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: use fixed socket address in net-y-unix.test.
+	This allows net-y-unix invocation without arguments.
+
+	* tests/net-y-unix.c (TEST_SOCKET): New macro.
+	(void): Use it instead of av[1].
+	* tests/net-y-unix.test: Do not specify arguments for the test
+	executable.
+
+2017-04-03  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: run every test except ksysent.test in its own subdirectory.
+	Many test executables create temporary files in the current work
+	directory for the duration of their execution.
+	This level of test isolation allows more test executables to be invoked
+	several times simultaneously.
+
+	* tests/.gitignore: Add *.dir, remove *.log.*, *.tmp, *.tmp-*,
+	and *.tmp.* patterns.
+	* tests/Makefile.am (clean-local, clean-local-check): New rules.
+	(.PHONY): Add clean-local-check.
+	(CLEANFILES): Remove all but ksysent.h.
+	* tests/init.sh: Strip test-specific prefix from LOG, OUT, and EXP
+	variables.  When invoked from a test, create a new test-specific
+	directory, chdir into it, and add more ../ prefix to STRACE variable.
+	(run_prog): Replace "./" with "../".
+	* tests/attach-f-p.test: Replace "./" with "../".
+	* tests/attach-p-cmd.test: Likewise.
+	* tests/bexecve.test: Likewise.
+	* tests/btrfs-v.test: Likewise.
+	* tests/btrfs-vw.test: Likewise.
+	* tests/btrfs-w.test: Likewise.
+	* tests/count.test: Likewise.
+	* tests/detach-running.test: Likewise.
+	* tests/detach-sleeping.test: Likewise.
+	* tests/detach-stopped.test: Likewise.
+	* tests/mmap.test: Likewise.
+	* tests/net-y-unix.test: Likewise.
+	* tests/net-yy-inet.test: Likewise.
+	* tests/net-yy-netlink.test: Likewise.
+	* tests/net-yy-unix.test: Likewise.
+	* tests/net.test: Likewise.
+	* tests/opipe.test: Likewise.
+	* tests/poll.test: Likewise.
+	* tests/prctl-seccomp-strict.test: Likewise.
+	* tests/qual_fault-exit_group.test: Likewise.
+	* tests/qual_fault.test: Likewise.
+	* tests/qual_inject-error-signal.test: Likewise.
+	* tests/qual_inject-retval.test: Likewise.
+	* tests/qual_inject-signal.test: Likewise.
+	* tests/qual_signal.test: Likewise.
+	* tests/qual_syscall.test: Likewise.
+	* tests/readv.test: Likewise.
+	* tests/redirect-fds.test: Likewise.
+	* tests/sched.test: Likewise.
+	* tests/scm_rights-fd.test: Likewise.
+	* tests/seccomp-strict.test: Likewise.
+	* tests/strace-C.test: Likewise.
+	* tests/strace-E.expected: Likewise.
+	* tests/strace-E.test: Likewise.
+	* tests/strace-S.test: Likewise.
+	* tests/strace-T.test: Likewise.
+	* tests/strace-V.test: Likewise.
+	* tests/strace-ff.test: Likewise.
+	* tests/strace-k.test: Likewise.
+	* tests/strace-r.expected: Likewise.
+	* tests/strace-r.test: Likewise.
+	* tests/strace-t.test: Likewise.
+	* tests/strace-tt.test: Likewise.
+	* tests/strace-ttt.test: Likewise.
+	* tests/sun_path.test: Likewise.
+	* tests/uname.test: Likewise.
+	* tests/unix-pair-send-recv.test: Likewise.
+	* tests/unix-pair-sendto-recvfrom.test: Likewise.
+
+2017-04-03  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: make test executables invocable outside current work directory.
+	Most of test executables were ready for the upcoming change,
+	this change prepares all the rest.
+
+	* tests/getdents.c (main): Use fixed name for the sample directory.
+	* tests/getdents64.c (main): Likewise.
+	* tests/readdir.c (main): Likewise.
+	* tests/mknod.c (sample): Change to a pointer.
+	(main): Use av[0] as a sample.
+	* tests/symlink.c (main): Use av[0] as a linkpath.
+	* tests/umode_t.c (sample): Change to a pointer.
+	(test_syscall): Fix expected output.
+	(main): Use av[0] as a sample.
+
+2017-03-31  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: cleanup access.test.
+	* tests/access.test: Use run_strace_match_diff.
+	* tests/access.c (main): Update expected output.
+
+2017-03-30  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: cleanup oldfstat.test.
+	* tests/oldfstat.test: Use fstat.test.
+
+2017-03-29  Dmitry V. Levin  <ldv@altlinux.org>
+
+	aarch64: workaround gcc+kernel bug.
+	Due to a subtle gcc bug that leads to miscompiled aarch64 kernels,
+	the 3rd argument of sched_getattr syscall is not quite 32-bit
+	on aarch64 as on other architectures.  For more details see
+	https://sourceforge.net/p/strace/mailman/message/35721703/
+
+	* defs.h (print_abnormal_hi): New prototype.
+	* util.c (print_abnormal_hi): New function.
+	* sched.c (SYS_FUNC(sched_getattr)) [AARCH64]: Use it.
+	* tests/sched_xetattr.c (main) [__arm64__ || __aarch64__]: Test it.
+
+2017-03-29  Abhishek Tiwari  <erabhishektiwarics@gmail.com>
+
+	alpha, mips: fix missing flags in stat related compatibility syscalls.
+	Following commands do the fix:
+
+	Add TF flag, fixed by:
+		git grep -Fl '_stat' linux/*/syscallent* | xargs sed -i \
+	  		's/0\(,[[:space:]]*SEN(.*_l\?stat[^i]\)/TF\1/'
+
+	Add TD flag, fixed by:
+		git grep -Fl '_stat' linux/*/syscallent* | xargs sed -i \
+		  's/0\(,[[:space:]]*SEN(.*_fstat\)/TD\1/'
+
+	* linux/alpha/syscallent.h: Add TF and TD flags to stat related
+	compat syscall entries.
+	* linux/mips/syscallent-compat.h: Likewise.
+
+2017-03-24  Dmitry V. Levin  <ldv@altlinux.org>
+
+	alpha: fix the number of arguments in alpha specific syscalls.
+	* linux/alpha/syscallent.h (getxgid, osf_stat, osf_lstat, osf_fstat,
+	osf_sysinfo, sethae): Set nargs according to arch/alpha/kernel/osf_sys.c
+	from linux v4.10.
+
+	alpha: update comments about not implemented syscalls.
+	* linux/alpha/syscallent.h: Sync "not implemented" comments
+	with arch/alpha/kernel/systbls.S from linux v4.10.
+
+2017-03-23  Quentin Monnet  <quentin.monnet@6wind.com>
+
+	Update BPF_MAP_TYPE_* constants.
+	* xlat/bpf_map_types.in: Add BPF_MAP_TYPE_ARRAY_OF_MAPS
+	and BPF_MAP_TYPE_HASH_OF_MAPS constants.
+
+2017-03-23  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>
+
+	Update ioctl entries from linux v4.11-rc3.
+	* linux/32/ioctls_inc_align16.h: Update from linux v4.11-rc3 using ioctls_gen.sh.
+	* linux/32/ioctls_inc_align32.h: Likewise.
+	* linux/32/ioctls_inc_align64.h: Likewise.
+	* linux/64/ioctls_inc.h: Likewise.
+	* linux/x32/ioctls_inc0.h: Likewise.
+	* linux/arm/ioctls_arch0.h: Likewise.
+	* linux/i386/ioctls_arch0.h: Likewise.
+	* linux/powerpc/ioctls_arch0.h: Likewise.
+	* linux/s390/ioctls_arch0.h: Likewise.
+	* linux/s390x/ioctls_arch0.h: Likewise.
+	* linux/x86_64/ioctls_arch0.h: Likewise.
+	* NEWS: Mention this.
+
+	maint: update for linux 4.11.
+	* maint/ioctls_sym.sh (ppc_list): Add KVM_PPC_GET_RMMU_INFO
+	and KVM_PPC_CONFIGURE_V3_MMU.
+
+2017-03-19  Dmitry V. Levin  <ldv@altlinux.org>
+
+	test: rename README to README.md.
+	* test/README: Rename to README.md, turn ../tests reference into an URL.
+
+	test: update README.
+	* test/README: Tell the reader what this directory is actually for.
+
+	test: rewrite skodic.c demo.
+	* test/skodic.c: Rewrite this demo to simplify its use.
+
+2017-03-18  Victor Krapivensky  <krapivenskiy.va@phystech.edu>
+
+	Implement decoding of statx syscall.
+	* linux/i386/syscallent.h [383]: Add statx entry.
+	* linux/x32/syscallent.h [332]: Likewise.
+	* linux/x86_64/syscallent.h [332]: Likewise.
+	* pathtrace.c (pathtrace_match): Handle SEN_statx.
+	* statx.c: New file.
+	* statx.h: Likewise.
+	* Makefile.am (strace_SOURCES): Add them.
+	* tests/.gitignore: Add statx.
+	* tests/Makefile.am (check_PROGRAMS): Likewise.
+	(DECODER_TESTS): Add statx.test.
+	* tests/statx.c: New file.
+	* tests/statx.test: Likewise.
+	* tests/xstatx.c: Modify to support statx.
+	* xlat/at_statx_sync_types.in: New file.
+	* xlat/statx_attrs.in: Likewise.
+	* xlat/statx_masks.in: Likewise.
+	* NEWS: Mention this change.
+
+2017-03-17  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: check for out of bounds fetch in parsers of stat family syscalls.
+	* tests/xstatx.c (main): Create STRUCT_STAT object using
+	TAIL_ALLOC_OBJECT_CONST_PTR.
+
+	tests: check unexpected syscall errors returned by stat family syscalls.
+	* tests/xstatx.c (main) [!OLD_STAT]: Do not skip the test
+	in case of EOVERFLOW.
+	Treat errors other than ENOSYS and EOVERFLOW as fatal.
+
+2017-03-17  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests: move try_run_prog to init.sh.
+	Looks like try_run_prog may be of general use by other syscall class
+	tests.
+
+	* tests/sched.test (try_run_prog): Move it...
+	* tests/init: ... here.
+
+2017-03-17  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests/sched.test: rc should be a local variable in try_run_prog.
+	* tests/sched.test (try_run_prog): Add local rc.
+
+2017-03-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: check decoding of int 0x80 on x86_64, x32, and x86.
+	* tests/int_0x80.c: New file.
+	* tests/int_0x80.test: New test.
+	* tests/.gitignore: Add int_0x80.
+	* tests/Makefile.am (check_PROGRAMS): Likewise.
+	(MISC_TESTS, XFAIL_TESTS_x86_64, XFAIL_TESTS_x32): Add int_0x80.test.
+	(XFAIL_TESTS): Add $(XFAIL_TESTS_$(ARCH)).
+	(CLEANFILES): Add $(TESTS:=.tmp.out) and $(TESTS:=.tmp.exp).
+
+2017-03-16  Damien Profeta  <damien.profeta@amadeus.com>
+
+	strace-graph: handle pid looping.
+	* strace-graph: On long running process or heavily forking one (like
+	compilation), it can happen that a parent get 2 different children with
+	the same pid.  By tracking the currently runnig pid and adding the start
+	timestamp to the pid, the graph can now handle that case.
+
+	Closes: https://github.com/strace/strace/pull/7
+
+2017-03-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: use TAIL_ALLOC_OBJECT_CONST_PTR.
+	Automatically convert tests to use TAIL_ALLOC_OBJECT_CONST_PTR macro
+	with the following sed expression:
+
+	sed -ri \
+	's/^([[:space:]]*)(([^*]+[[:alnum:]_])( \*)?) *\*( *const )?([^ =]+) = tail_alloc\(sizeof\((\2|\*\6)\)\);/\1TAIL_ALLOC_OBJECT_CONST_PTR(\2, \6);/' \
+	tests/*.c
+
+2017-03-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: use TAIL_ALLOC_OBJECT_VAR_PTR.
+	Automatically convert tests to use TAIL_ALLOC_OBJECT_VAR_PTR macro
+	with the following sed expression:
+
+	sed -ri \
+	's/^([[:space:]]*)(([^*]+[[:alnum:]_])( \*)?) *\*([^ =]+) = tail_alloc\(sizeof\((\2|\*\5)\)\);/\1TAIL_ALLOC_OBJECT_VAR_PTR(\2, \5);/' \
+	tests/{move_pages,net-sockaddr,sendfile}.c
+
+2017-03-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: add TAIL_ALLOC_OBJECT_{CONST,VAR}_PTR to tests.h.
+	Introduce a new macros for the most widespread use of tail_alloc.
+
+	* tests/tests.h (TAIL_ALLOC_OBJECT_CONST_PTR,
+	TAIL_ALLOC_OBJECT_VAR_PTR): New macros.
+
+2017-03-16  Victor Krapivensky  <krapivenskiy.va@phystech.edu>
+
+	Decode RUSAGE_THREAD.
+	* xlat/usagewho.in: Add values for existing entities, add
+	RUSAGE_THREAD.
+	* tests/getrusage.c: Test decoding of RUSAGE_THREAD.
+
+2017-03-15  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	tests/sched.test: use heredoc in order to avoid spawning of subprocess.
+	Pipelined commands executed in subprocesses (some shells have special
+	provision for last command in the pipeline, but it is not guaranteed
+	and not POSIX), so exit codes of these subprocesses can be lost.
+	In order to avoid creating subprocesses, input for read commands
+	is better to supply via heredoc and not pipe.
+
+	* tests/sched.test: Move test cases to heredoc.
+
+2017-03-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: do not skip sched.test if one of its subtests skips.
+	* tests/sched.test (try_run_prog): New function.
+	Use it instead of run_prog.
+
+2017-03-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: do not check decoding of setitimer syscall outside xetitimer.test
+	xetitimer.test already implements a comprehensive test of setitimer
+	syscall parser, no need to duplicate its parts in other tests.
+
+	* tests/clock_nanosleep.c (main): Remove setitimer expected output.
+	* tests/nanosleep.c (main): Likewise.
+	* tests/clock_nanosleep.test: Remove setitimer from the trace set.
+	* tests/nanosleep.test: Likewise.
+
+2017-03-14  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: check decoding of getitimer and setitimer corner cases.
+	* tests/sched_xetattr.c: Include <unistd.h> and <asm/unistd.h>.
+	(main): Check that pointer and integer arguments of getitimer
+	and setitimer syscalls are decoded properly.
+	* tests/xetitimer.test: Add -a option.
+
+2017-03-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: rewrite sigreturn syscall decoding check from match_grep to match_diff
+	Unlike the former test that was based on match_grep,
+	the new one uses match_diff and does more rigorous testing.
+
+	* tests/sigreturn.c: Rewrite.
+	* tests/sigreturn.test: Likewise.
+
+2017-03-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	ia64, mips, x86_64: remove no longer used parsers of sigreturn syscalls.
+	As there is no sigreturn syscall on ia64, mips n32, mips n64, x32,
+	and x86_64, no longer used parsers could be safely removed.
+
+	* linux/ia64/arch_sigreturn.c: Remove.
+	* Makefile.am (EXTRA_DIST): Remove it.
+	* linux/mips/arch_sigreturn.c (arch_sigreturn): Remove [!LINUX_MIPSO32].
+	* linux/x86_64/arch_sigreturn.c (arch_sigreturn): Remove.
+
+2017-03-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Move sigreturn parser to libstrace.
+	All architectures have rt_sigreturn, but only old ones also have
+	sigreturn.  Since not all architectures need a parser of sigreturn
+	syscall, remove the warning and move the parser to libstrace.
+
+	* Makefile.am (strace_SOURCES): Move sigreturn.c ...
+	(libstrace_a_SOURCES): ... here.
+	* linux/arch_sigreturn.c: Remove warning.
+
+2017-03-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: check decoding of rt_sigreturn syscall.
+	* tests/rt_sigreturn.c: New file.
+	* tests/rt_sigreturn.test: New test.
+	* tests/.gitignore: Add rt_sigreturn.
+	* tests/Makefile.am (check_PROGRAMS): Likewise.
+	(DECODER_TESTS): Add rt_sigreturn.test.
+
+	Implement proper decoding of rt_sigreturn syscall.
+	* rt_sigreturn.c: New file.
+	* Makefile.am (strace_SOURCES): Add it.
+	* linux/dummy.h (sys_rt_sigreturn): Remove.
+	* linux/64/syscallent.h (rt_sigreturn): Change sys_func to rt_sigreturn.
+	* linux/hppa/syscallent.h (rt_sigreturn): Likewise.
+	* linux/ia64/syscallent.h (rt_sigreturn): Likewise.
+	* linux/s390/syscallent.h (rt_sigreturn): Likewise.
+	* linux/s390x/syscallent.h (rt_sigreturn): Likewise.
+	* linux/x86_64/syscallent.h (rt_sigreturn): Likewise.
+	* linux/x32/syscallent.h (rt_sigreturn, 64:rt_sigreturn): Likewise.
+	* NEWS: Mention this change.
+
+2017-03-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Introduce get_rt_sigframe_addr function.
+	Add get_rt_sigframe_addr function for all supported architectures.
+	It is going to be used in a parser of rt_sigreturn syscall.
+
+	* defs.h (get_rt_sigframe_addr): New function prototype.
+	* rt_sigframe.c: New file.
+	* Makefile.am (strace_SOURCES): Add it.
+	* linux/aarch64/arch_rt_sigframe.c: New file.
+	* linux/alpha/arch_rt_sigframe.c: Likewise.
+	* linux/arc/arch_rt_sigframe.c: Likewise.
+	* linux/arm/arch_rt_sigframe.c: Likewise.
+	* linux/avr32/arch_rt_sigframe.c: Likewise.
+	* linux/bfin/arch_rt_sigframe.c: Likewise.
+	* linux/crisv10/arch_rt_sigframe.c: Likewise.
+	* linux/crisv32/arch_rt_sigframe.c: Likewise.
+	* linux/hppa/arch_rt_sigframe.c: Likewise.
+	* linux/i386/arch_rt_sigframe.c: Likewise.
+	* linux/ia64/arch_rt_sigframe.c: Likewise.
+	* linux/m68k/arch_rt_sigframe.c: Likewise.
+	* linux/metag/arch_rt_sigframe.c: Likewise.
+	* linux/microblaze/arch_rt_sigframe.c: Likewise.
+	* linux/mips/arch_rt_sigframe.c: Likewise.
+	* linux/nios2/arch_rt_sigframe.c: Likewise.
+	* linux/or1k/arch_rt_sigframe.c: Likewise.
+	* linux/powerpc/arch_rt_sigframe.c: Likewise.
+	* linux/powerpc64/arch_rt_sigframe.c: Likewise.
+	* linux/riscv/arch_rt_sigframe.c: Likewise.
+	* linux/s390/arch_rt_sigframe.c: Likewise.
+	* linux/s390x/arch_rt_sigframe.c: Likewise.
+	* linux/sh/arch_rt_sigframe.c: Likewise.
+	* linux/sh64/arch_rt_sigframe.c: Likewise.
+	* linux/sparc/arch_rt_sigframe.c: Likewise.
+	* linux/sparc64/arch_rt_sigframe.c: Likewise.
+	* linux/tile/arch_rt_sigframe.c: Likewise.
+	* linux/x32/arch_rt_sigframe.c: Likewise.
+	* linux/x86_64/arch_rt_sigframe.c: Likewise.
+	* linux/xtensa/arch_rt_sigframe.c: Likewise.
+	* Makefile.am (EXTRA_DIST): Add them.
+
+2017-03-13  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Introduce struct_rt_sigframe type.
+	Add rt_sigframe.h files with definitions of struct_rt_sigframe type
+	for all supported architectures.
+	These definitions are going to be used in a parser of rt_sigreturn
+	syscall.
+
+	* linux/rt_sigframe.h: New file.
+	* linux/bfin/rt_sigframe.h: Likewise.
+	* linux/crisv10/rt_sigframe.h: Likewise.
+	* linux/crisv32/rt_sigframe.h: Likewise.
+	* linux/hppa/rt_sigframe.h: Likewise.
+	* linux/i386/rt_sigframe.h: Likewise.
+	* linux/ia64/rt_sigframe.h: Likewise.
+	* linux/m68k/rt_sigframe.h: Likewise.
+	* linux/mips/rt_sigframe.h: Likewise.
+	* linux/powerpc64/rt_sigframe.h: Likewise.
+	* linux/s390/rt_sigframe.h: Likewise.
+	* linux/s390x/rt_sigframe.h: Likewise.
+	* linux/sh64/rt_sigframe.h: Likewise.
+	* linux/sparc/rt_sigframe.h: Likewise.
+	* linux/sparc64/rt_sigframe.h: Likewise.
+	* linux/tile/rt_sigframe.h: Likewise.
+	* linux/x32/rt_sigframe.h: Likewise.
+	* linux/x86_64/rt_sigframe.h: Likewise.
+	* Makefile.am (EXTRA_DIST): Add them.
+
+2017-03-13  Victor Krapivensky  <krapivenskiy.va@phystech.edu>
+
+	unwind.c: fix a possible buffer overflow.
+	Linux does not prevent a user from creating a lot of nested directories
+	with length of the absolute path of the deepest one exceeding PATH_MAX,
+	then chdir'ing into it, creating a file there and mmap'ing it. Since the
+	length of the prefix preceding the pathname in /proc/[pid]/maps is not
+	necessary 80 (it's 73 on my machine), an overflow is possible.
+
+	* unwind.c (build_mmap_cache): Fix a possible buffer overflow.
+
+2017-03-13  Victor Krapivensky  <krapivenskiy.va@phystech.edu>
+
+	util.c: remove a wrong comment.
+	4924dbd6d750665cf383b20ab4fd67e48219ab91 modified the return type, but
+	not the comment.
+
+2017-03-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	riscv: export riscv_sp_ptr.
+	Export SP register for later use by get_rt_sigframe_addr.
+
+	* linux/riscv/arch_regs.h: New file.
+	* Makefile.am (EXTRA_DIST): Add it.
+	* linux/riscv/arch_regs.c (riscv_sp_ptr): New variable.
+
+2017-03-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	or1k: export or1k_sp_ptr.
+	Export SP register for later use by get_rt_sigframe_addr.
+
+	* linux/or1k/arch_regs.h: New file.
+	* Makefile.am (EXTRA_DIST): Add it.
+	* linux/or1k/arch_regs.c (or1k_sp_ptr): New variable.
+
+2017-03-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	nios2: export nios2_sp_ptr.
+	Export SP register for later use by get_rt_sigframe_addr.
+
+	* linux/nios2/arch_regs.h: New file.
+	* Makefile.am (EXTRA_DIST): Add it.
+	* linux/nios2/arch_regs.c (nios2_sp_ptr): New variable.
+
+2017-03-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	metag: export metag_sp_ptr.
+	Export SP register for later use by get_rt_sigframe_addr.
+
+	* linux/metag/arch_regs.h: New file.
+	* Makefile.am (EXTRA_DIST): Add it.
+	* linux/metag/arch_regs.c (metag_sp_ptr): New variable.
+
+2017-03-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	avr32: export avr32_sp_ptr.
+	Export SP register for later use by get_rt_sigframe_addr.
+
+	* linux/avr32/arch_regs.h: New file.
+	* Makefile.am (EXTRA_DIST): Add it.
+	* linux/avr32/arch_regs.c (avr32_sp_ptr): New variable.
+
+2017-03-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	arc: export arc_sp_ptr.
+	Export SP register for later use by get_rt_sigframe_addr.
+
+	* linux/arc/arch_regs.h: New file.
+	* Makefile.am (EXTRA_DIST): Add it.
+	* linux/arc/arch_regs.c (arc_sp_ptr): New variable.
+
+2017-03-09  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Introduce print_sigset_addr function.
+	As the definition of NSIG_BYTES is based on NSIG defined in <signal.h>,
+	NSIG_BYTES cannot be used in files that use kernel sigset_t.
+
+	Add another wrapper around print_sigset_addr_len_limit function that
+	takes one argument less than print_sigset_addr_len wrapper.  This new
+	wrapper is going to be used in cases when the length argument is equal
+	to NSIG_BYTES.
+
+	* defs.h (print_sigset_addr): New function prototype.
+	* signal.c (print_sigset_addr): New function.
+	* linux/alpha/arch_sigreturn.c (arch_sigreturn): Replace
+	print_sigset_addr_len with print_sigset_addr.
+	* linux/arm/arch_sigreturn.c (arch_sigreturn): Likewise.
+	* linux/crisv10/arch_sigreturn.c (arch_sigreturn): Likewise.
+	* linux/ia64/arch_sigreturn.c (arch_sigreturn): Likewise.
+	* linux/microblaze/arch_sigreturn.c (arch_sigreturn): Likewise.
+	* linux/mips/arch_sigreturn.c (arch_sigreturn): Likewise.
+	* linux/tile/arch_sigreturn.c (arch_sigreturn): Likewise.
+	* linux/x86_64/arch_sigreturn.c (arch_sigreturn): Likewise.
+
+2017-03-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	README.md: rework guidelines about sending bug reports.
+
+2017-03-08  Abhishek Tiwari  <erabhishektiwarics@gmail.com>
+
+	Update information on how to build strace from git repository.
+	* INSTALL-git.md: Describe how to build strace from git repository.
+	* README.md: Add reference to INSTALL-git.md.
+	* README-hacking: Likewise.
+
+2017-03-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	README.md: fix references to in-tree files.
+	* README.md: Change references to COPYING and NEWS files from absolute
+	to relative.
+
+2017-03-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	INSTALL: regenerate from install.texi.
+	Regenerate INSTALL from install.texi using the following command:
+	makeinfo --plaintext install.texi > INSTALL
+
+	* INSTALL: Regenerate from install.texi.
+
+2017-03-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	install.texi: remove irrelevant sections.
+	Remove "Multiple Architectures" and "Particular Systems" sections using
+	the following filter script:
+
+	awk '/^@node (Multiple Architectures|Particular Systems)/{skip=1;next}
+	/^@node/{skip=0} {if(!skip)print}'
+
+	* install.texi (Multiple Architectures, Particular Systems): Remove.
+
+2017-03-05  Dmitry V. Levin  <ldv@altlinux.org>
+
+	install.texi: import from GNU Autoconf.
+	install.texi from GNU Autoconf is the ultimate source of INSTALL file.
+	This edition of install.texi has been downloaded from
+	https://git.savannah.gnu.org/cgit/autoconf.git/plain/doc/install.texi?id=63f3c78cdb0ccc85751543e387ef2a7252d5f0a2
+
+	* install.texi: Import from GNU Autoconf.
+
+2017-03-05  Eugene Syromyatnikov  <evgsyr@gmail.com>
+	    Md Haris Iqbal  <haris.phnx@gmail.com>
+
+	Implement -e trace=%sched option for tracing sched_* syscalls.
+	Based on the patch by Md Haris Iqbal
+	(https://sourceforge.net/p/strace/mailman/message/35111320/)
+
+	linux/*/syscallent.h part is modified automatically by:
+
+	    git grep -Fl 'SEN(sched_' linux/ | xargs sed -i \
+	        's/0\(,[[:space:]]*SEN(sched_\)/TSC\1/'
+
+	* sysent.h (TRACE_SCHED): New definition.
+	* syscall.c: Alias TSC to TRACE_SCHED around syscallent.h inclusion.
+	* linux/32/syscallent.h: Add TSC flag for sched_* sycalls.
+	* linux/64/syscallent.h: Likewise.
+	* linux/alpha/syscallent.h: Likewise.
+	* linux/arm/syscallent.h: Likewise.
+	* linux/avr32/syscallent.h: Likewise.
+	* linux/bfin/syscallent.h: Likewise.
+	* linux/crisv10/syscallent.h: Likewise.
+	* linux/hppa/syscallent.h: Likewise.
+	* linux/i386/syscallent.h: Likewise.
+	* linux/ia64/syscallent.h: Likewise.
+	* linux/m68k/syscallent.h: Likewise.
+	* linux/microblaze/syscallent.h: Likewise.
+	* linux/mips/syscallent-n32.h: Likewise.
+	* linux/mips/syscallent-n64.h: Likewise.
+	* linux/mips/syscallent-o32.h: Likewise.
+	* linux/powerpc/syscallent.h: Likewise.
+	* linux/powerpc64/syscallent.h: Likewise.
+	* linux/s390/syscallent.h: Likewise.
+	* linux/s390x/syscallent.h: Likewise.
+	* linux/sh/syscallent.h: Likewise.
+	* linux/sh64/syscallent.h: Likewise.
+	* linux/sparc/syscallent.h: Likewise.
+	* linux/sparc64/syscallent.h: Likewise.
+	* linux/x32/syscallent.h: Likewise.
+	* linux/x86_64/syscallent.h: Likewise.
+	* linux/xtensa/syscallent.h: Likewise.
+	* qualify.c (lookup_class): Add TRACE_SCHED for "%sched".
+	* tests/ksysent.c: Define TSC to 0.
+	* tests/nsyscalls.c: Likewise.
+	* tests/sched.test: New test.
+	* tests/Makefile.am (DECODER_TESTS): Add sched.test.
+	* strace.1 (.SS Filtering): Add information about %sched syscall class.
+	* NEWS: Mention this change.
+
+2017-03-04  Eugene Syromyatnikov  <evgsyr@gmail.com>
+
+	Add "%" prefix for syscall classes in qualify.
+	(as suggested in
+	https://www.mail-archive.com/strace-devel@lists.sourceforge.net/msg05147.html )
+
+	In order to move them to a different namespace than syscall names. This is
+	already a problem in case of ipc class which shadows ipc syscall.
+
+	Old behaviour is retained in order to preserve backwards compatibility.
+
+	* qualify.c (lookup_class) <syscall_class>: Add %-prefixed class definitions.
+	* strace.1 (.SS Filtering): Add information regarding %-prefixed class
+	syntax, declare legacy class syntax deprecated.
+	* tests/net.test: Update to use %-prefixed syscall class name.
+	* tests/netlink_protocol.test: Likewise.
+	* tests/qual_fault-exit_group.test: Likewise.
+	* tests/qual_syscall.test: Likewise.
+	* tests/scm_rights-fd.test: Likewise.
+	* tests/sigreturn.test: Likewise.
+	* tests/uio.test: Likewise.
+	* NEWS: Mention this change.
+
+2017-02-28  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: simplify print_time_t.
+	* tests/print_time.c (print_time_t): Treat localtime errors as fatal.
+
+2017-02-27  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Update homepage URL.
+	* README: Change homepage URL to https://strace.io
+	* debian/control: Likewise.
+	* strace.spec.in: Likewise.
+
+2017-02-26  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: transform print_time_t into print_time_t_nsec.
+	* tests/print_time.c (print_time_t): Rename to print_time_t_nsec,
+	take second argument and print it.
+	* tests/tests.h (print_time_t): Rename to print_time_t_nsec,
+	add second argument.
+	* tests/utime.c (main): Use print_time_t_nsec instead of print_time_t.
+	* tests/xstatx.c (print_stat): Likewise.  Pass nanoseconds
+	to print_time_t_nsec instead of printing them.
+
+	tests: use print_time_t in utime.test.
+	* tests/utime.c (print_tm): Remove.
+	(main): Use print_time_t instead of print_tm.
+
+2017-02-26  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: move print_time function to libtests.
+	Rename print_time function to print_time_t and move it to libtests.
+
+	* tests/print_time.c: New file.
+	* tests/Makefile.am (libtests_a_SOURCES): Add it.
+	* tests/tests.h (print_time_t): New prototype.
+	* tests/print_time.c (print_time): Remove.
+	(print_stat): Replace print_time with print_time_t.
+
+2017-02-26  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: macroize printing of atime, mtime, and ctime fields in xstatx.c.
+	Introduce a macro for printing similar time related fields.
+
+	* print_struct_stat.c (PRINT_ST_TIME): New macro.
+	(print_stat): Use it.
+
+2017-02-26  Dmitry V. Levin  <ldv@altlinux.org>
+
+	print_struct_stat.c: macroize printing of atime, mtime, and ctime fields
+	Introduce a macro for printing similar time related fields.
+
+	* print_struct_stat.c (PRINT_ST_TIME): New macro.
+	(print_struct_stat): Use it.
+
+2017-02-25  Dmitry V. Levin  <ldv@altlinux.org>
+
+	x32: fix decoding of flags argument of preadv2 and pwritev2 syscalls.
+	x32 is the only linux architecture where preadv2 and pwritev2 syscalls
+	take 5 arguments instead of 6.
+
+	* io.c (PREADV2_PWRITEV2_FLAGS_ARG_NO): New macro.
+	(SYS_FUNC(preadv2), SYS_FUNC(pwritev2)): Use it.
+	* linux/x32/syscallent.h (preadv2, pwritev2): Change nargs to 5.
+	* NEWS: Mention this fix.
+	* tests/preadv2-pwritev2.c (main): Fix invocation of preadv2
+	and pwritev2 syscalls on x32.
+
+2017-02-21  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: rewrite ppoll syscall decoding check from match_grep to match_diff
+	Unlike the former test that was based on match_grep,
+	the new one uses match_diff and does more rigorous testing.
+
+	* tests/ppoll-v.c: New file.
+	* tests/ppoll-v.test: New test.
+	* tests/ppoll.c: Rewrite.
+	* tests/ppoll.test: Likewise.
+	* tests/ppoll.expected: Remove.
+	* tests/ppoll-v.expected: Remove.
+	* tests/.gitignore: Add ppoll-v.
+	* tests/Makefile.am (check_PROGRAMS): Likewise.
+	(DECODER_TESTS): Add ppoll-v.test.
+	(EXTRA_DIST): Remove ppoll.expected and ppoll-v.expected.
+
+2017-02-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: move get_sigset_size function to libtests.
+	* tests/get_sigset_size.c: New file.
+	* tests/Makefile.am (libtests_a_SOURCES): Add it.
+	* tests/tests.h (get_sigset_size): New prototype.
+	* tests/ptrace.c: Do not check for __NR_rt_sigprocmask.
+	(main): Use get_sigset_size.
+	* tests/signalfd4.c: Do not check for __NR_rt_sigprocmask.
+	(get_sigset_size): Remove.
+
+2017-02-19  Dmitry V. Levin  <ldv@altlinux.org>
+
+	sched: enhance decoding of sched_setattr syscall.
+	Implement read/write semantics of struct sched_attr.size argument
+	of sched_setattr syscall.  Do not print members of struct sched_attr
+	besides sched_attr.size when the specified structure size is less than
+	the minimal size allowed by the kernel.
+
+	* sched.c (print_sched_attr): Fetch struct sched_attr.size and use it
+	as the structure size.  Print struct sched_attr.size only when the
+	structure size is less than SCHED_ATTR_MIN_SIZE.
+	(SYS_FUNC(sched_setattr)): Call print_sched_attr with zero size
+	argument.  Print struct sched_attr.size returned by the kernel
+	on exiting syscall in case of E2BIG. Print the last syscall argument
+	on exiting syscall.
+	(SYS_FUNC(sched_getattr)): Do not call print_sched_attr with zero size
+	argument.
+	* NEWS: Mention it.
+	* tests/sched_xetattr.c (main): Check it.
+
+2017-02-18  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: check decoding of sched_[gs]etattr corner cases.
+	* tests/sched_xetattr.c (main): Check that integer arguments
+	of sched_getattr and sched_setattr syscalls are decoded properly
+	by adding a few cases with filled higher 32 bits.
+	Check that pointer argument is decoded properly
+	on F8ILL_KULONG_SUPPORTED architectures.
+
+2017-02-18  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Move definition of struct sched_attr to a separate header file.
+	Avoid multiple defintions of struct sched_attr by creating a separate
+	header file with its definition and using it in other places.
+
+	* sched_attr.h: New file.
+	* Makefile.am (strace_SOURCES): Add it.
+	* sched.c: Include it.
+	(print_sched_attr): Use it.
+	* tests/sched_xetattr.c: Include it.
+	(main): Use it.
+
+2017-02-18  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: rewrite sched_xetattr.test from match_grep to match_diff.
+	Unlike the previous edition of the test that was based on match_grep,
+	the new one is match_diff based and does more rigorous testing.
+
+	* tests/adjtimex.c: Include "xlat.h" and "xlat/schedulers.h",
+	(sys_sched_getattr, sys_sched_setattr): New functions.
+	(main): Use them.  Update expected output.
+	* tests/adjtimex.test: Use run_strace_match_diff.
+
+2017-02-17  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Use tprints instead of tprintf in a few more places.
+	* bpf.c (bpf_obj_manage, bpf_prog_attach_detach): Replace tprintf
+	with tprints for printing strings without format specifiers.
+	* dm.c (dm_decode_dm_target_spec): Likewise.
+	* mq.c (SYS_FUNC(mq_timedreceive)): Likewise.
+	* perf.c (print_perf_event_attr): Likewise.
+	* syscall.c (trace_syscall_exiting): Likewise.
+
+2017-02-17  Dmitry V. Levin  <ldv@altlinux.org>
+
+	bpf: update BPF_PROG_ATTACH decoding.
+	Implement decoding of BPF_F_ALLOW_OVERRIDE flag of BPF_PROG_ATTACH
+	command introduced by linux kernel commit v4.10-rc7-174-g7f67763.
+
+	* configure.ac: Check for union bpf_attr.attach_flags
+	instead of union bpf_attr.attach_type.
+	* xlat/bpf_attach_flags.in: New file.
+	* bpf.c: Include "xlat/bpf_attach_flags.h".
+	(bpf_prog_attach_detach): Rename print_attach_bpf_fd argument
+	to print_attach.  Add attach_flags field to the structure,
+	print it in case of BPF_PROG_ATTACH.
+	* tests/bpf.c: Check for HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
+	instead of HAVE_UNION_BPF_ATTR_ATTACH_TYPE.
+	(prog_cgroup): Initialize attach_flags field.
+	(main): Update expected output.
+
+2017-02-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: rewrite adjtimex.test from match_grep to match_diff.
+	Unlike the previous edition of the test that was based on match_grep,
+	the new one is match_diff based and does more rigorous testing.
+
+	* tests/adjtimex.c: Include "xlat.h", "xlat/adjtimex_state.h",
+	and "xlat/adjtimex_status.h".
+	(main): Update expected output.
+	* tests/adjtimex.test: Use run_strace_match_diff.
+
+2017-02-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: replace casts of 0xffffffff00000000ULL with F8ILL_KULONG_MASK.
+	* tests/init_delete_module.h (bogus_zero): Remove.
+	* tests/delete_module.c (main): Replace bogus_zero and
+	(kernel_ulong_t) 0xffffffff00000000ULL with F8ILL_KULONG_MASK.
+	* tests/finit_module.c (main): Replace bogus_zero
+	with F8ILL_KULONG_MASK.
+	* tests/init_module.c (main): Likewise.
+	* tests/pipe2.c (main): Likewise.
+	* tests/epoll_ctl.c (invoke_syscall): Replace
+	(unsigned long) 0xffffffff00000000ULL with F8ILL_KULONG_MASK.
+	* tests/rt_tgsigqueueinfo.c (k_tgsigqueueinfo): Likewise.
+	* tests/fanotify_init.c (main): Likewise.
+	* tests/xetpgid.c (main): Likewise.
+	* tests/xetpriority.c (main): Likewise.
+	(kernel_ulong_t) 0xffffffff00000000ULL with F8ILL_KULONG_MASK.
+	* tests/fanotify_mark.c (main): Likewise.
+	* tests/file_handle.c (main): Likewise.
+	* tests/kexec_load.c (main): Likewise.
+	* tests/setfsugid.c (main): Likewise.
+	* tests/getgroups.c (main): Replace (long) 0xffffffff00000000ULL
+	with F8ILL_KULONG_MASK.
+	* tests/setgroups.c (main): Replace (long) 0xffffffff00000000ULL
+	and (unsigned long) 0xffffffff00000000ULL with F8ILL_KULONG_MASK.
+
+2017-02-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: fill higher bits of integer arguments of fcntl* syscalls.
+	Check that integer arguments of fcntl and fcntl64 syscalls are decoded
+	properly by casting them to kernel_ulong_t and filling higher bits.
+
+	* tests/struct_flock.c (invoke_test_syscall): Cast "fd" and "cmd"
+	syscall arguments to kernel_ulong_t, fill their higher 32 bits.
+
+2017-02-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	tests: use sprintrc in tests of fcntl and fcntl64 syscalls.
+	* tests/struct_flock.c (EINVAL_STR): Remove.
+	(test_flock_einval, test_flock): Use sprintrc instead of EINVAL_STR.
+	* tests/fcntl.c (test_flock64_einval): Likewise.
+	* tests/fcntl64.c (test_flock64_einval, test_flock64): Likewise.
+
+2017-02-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	Post-release administrivia.
+	* NEWS: Add a header line for the next release.
+	* debian/changelog.in: Add a changelog entry for 4.16-1.
+	* strace.spec.in: Likewise.
+
 2017-02-14  Dmitry V. Levin  <ldv@altlinux.org>
 
 	Prepare for 4.16 release.
diff --git a/INSTALL b/INSTALL
index 0fad641..a713eb7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,108 +1,107 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
 Inc.
 
-Copying and distribution of this file, with or without modification, are
-permitted in any medium without royalty provided the copyright notice
-and this notice are preserved.  This file is offered as-is, without
-warranty of any kind.
+   Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without warranty of any kind.
 
 Basic Installation
 ==================
 
-Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
+Briefly, the shell command './configure && make && make install' should
+configure, build, and install this package.  The following more-detailed
+instructions are generic; see the 'README' file for instructions
+specific to this package.  Some packages provide this 'INSTALL' file but
+do not implement all of the features documented below.  The lack of an
+optional feature in a given package is not necessarily a bug.  More
+recommendations for GNU packages can be found in *note Makefile
+Conventions: (standards)Makefile Conventions.
 
-   The `configure' shell script attempts to guess correct values for
+   The 'configure' shell script attempts to guess correct values for
 various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
+those values to create a 'Makefile' in each directory of the package.
+It may also create one or more '.h' files containing system-dependent
+definitions.  Finally, it creates a shell script 'config.status' that
 you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
+file 'config.log' containing compiler output (useful mainly for
+debugging 'configure').
 
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
+   It can also use an optional file (typically called 'config.cache' and
+enabled with '--cache-file=config.cache' or simply '-C') that saves the
+results of its tests to speed up reconfiguring.  Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
 
    If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
+to figure out how 'configure' could check whether to do them, and mail
+diffs or instructions to the address given in the 'README' so they can
 be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
+some point 'config.cache' contains results you don't want to keep, you
 may remove or edit it.
 
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
+   The file 'configure.ac' (or 'configure.in') is used to create
+'configure' by a program called 'autoconf'.  You need 'configure.ac' if
+you want to change it or regenerate 'configure' using a newer version of
+'autoconf'.
 
-The simplest way to compile this package is:
+   The simplest way to compile this package is:
 
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
+  1. 'cd' to the directory containing the package's source code and type
+     './configure' to configure the package for your system.
 
-     Running `configure' might take a while.  While running, it prints
+     Running 'configure' might take a while.  While running, it prints
      some messages telling which features it is checking for.
 
-  2. Type `make' to compile the package.
+  2. Type 'make' to compile the package.
 
-  3. Optionally, type `make check' to run any self-tests that come with
+  3. Optionally, type 'make check' to run any self-tests that come with
      the package, generally using the just-built uninstalled binaries.
 
-  4. Type `make install' to install the programs and any data files and
+  4. Type 'make install' to install the programs and any data files and
      documentation.  When installing into a prefix owned by root, it is
      recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
+     user, and only the 'make install' phase executed with root
      privileges.
 
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
+  5. Optionally, type 'make installcheck' to repeat any self-tests, but
      this time using the binaries in their final installed location.
      This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
+     regular user, particularly if the prior 'make install' required
      root privileges, verifies that the installation completed
      correctly.
 
   6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
+     source code directory by typing 'make clean'.  To also remove the
+     files that 'configure' created (so you can compile the package for
+     a different kind of computer), type 'make distclean'.  There is
+     also a 'make maintainer-clean' target, but that is intended mainly
      for the package's developers.  If you use it, you may have to get
      all sorts of other programs in order to regenerate files that came
      with the distribution.
 
-  7. Often, you can also type `make uninstall' to remove the installed
+  7. Often, you can also type 'make uninstall' to remove the installed
      files again.  In practice, not all packages have tested that
      uninstallation works correctly, even though it is required by the
      GNU Coding Standards.
 
-  8. Some packages, particularly those that use Automake, provide `make
+  8. Some packages, particularly those that use Automake, provide 'make
      distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
+     targets like 'make install' and 'make uninstall' work correctly.
      This target is generally not run by end users.
 
 Compilers and Options
 =====================
 
 Some systems require unusual options for compilation or linking that the
-`configure' script does not know about.  Run `./configure --help' for
+'configure' script does not know about.  Run './configure --help' for
 details on some of the pertinent environment variables.
 
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
+   You can give 'configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here is
+an example:
 
      ./configure CC=c99 CFLAGS=-g LIBS=-lposix
 
@@ -111,90 +110,90 @@
 Installation Names
 ==================
 
-By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
+By default, 'make install' installs the package's commands under
+'/usr/local/bin', include files under '/usr/local/include', etc.  You
+can specify an installation prefix other than '/usr/local' by giving
+'configure' the option '--prefix=PREFIX', where PREFIX must be an
 absolute file name.
 
    You can specify separate installation prefixes for
 architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
 PREFIX as the prefix for installing programs and libraries.
 Documentation and other data files still use the regular prefix.
 
    In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
+options like '--bindir=DIR' to specify different values for particular
+kinds of files.  Run 'configure --help' for a list of the directories
+you can set and what kinds of files go in them.  In general, the default
+for these options is expressed in terms of '${prefix}', so that
+specifying just '--prefix' will affect all of the other directory
 specifications that were not explicitly provided.
 
    The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
+correct locations to 'configure'; however, many packages provide one or
 both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
+'make install' command line to change installation locations without
 having to reconfigure or recompile.
 
    The first method involves providing an override variable for each
-affected directory.  For example, `make install
+affected directory.  For example, 'make install
 prefix=/alternate/directory' will choose an alternate location for all
 directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
+'${prefix}'.  Any directories that were specified during 'configure',
+but not in terms of '${prefix}', must each be overridden at install time
+for the entire installation to be relocated.  The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation.  However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
 
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
+   The second method involves providing the 'DESTDIR' variable.  For
+example, 'make install DESTDIR=/alternate/directory' will prepend
+'/alternate/directory' before all installation names.  The approach of
+'DESTDIR' overrides is not required by the GNU Coding Standards, and
 does not work on platforms that have drive letters.  On the other hand,
 it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
+when some directory options were not specified in terms of '${prefix}'
+at 'configure' time.
 
 Optional Features
 =================
 
 If the package supports it, you can cause programs to be installed with
-an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+an extra prefix or suffix on their names by giving 'configure' the
+option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
 
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
+   Some packages pay attention to '--enable-FEATURE' options to
+'configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to '--with-PACKAGE' options, where PACKAGE
+is something like 'gnu-as' or 'x' (for the X Window System).  The
+'README' should mention any '--enable-' and '--with-' options that the
 package recognizes.
 
-   For packages that use the X Window System, `configure' can usually
+   For packages that use the X Window System, 'configure' can usually
 find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
+you can use the 'configure' options '--x-includes=DIR' and
+'--x-libraries=DIR' to specify their locations.
 
    Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
+execution of 'make' will be.  For these packages, running './configure
 --enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
+overridden with 'make V=1'; while running './configure
 --disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
+overridden with 'make V=0'.
 
 Specifying the System Type
 ==========================
 
-There may be some features `configure' cannot figure out automatically,
+There may be some features 'configure' cannot figure out automatically,
 but needs to determine by the type of machine the package will run on.
 Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
+architectures, 'configure' can figure that out, but if it prints a
 message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
+'--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as 'sun4', or a canonical name which has the form:
 
      CPU-COMPANY-SYSTEM
 
@@ -203,100 +202,100 @@
      OS
      KERNEL-OS
 
-See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
+   See the file 'config.sub' for the possible values of each field.  If
+'config.sub' isn't included in this package, then this package doesn't
 need to know the machine type.
 
    If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
+use the option '--target=TYPE' to select the type of system they will
 produce code for.
 
    If you want to _use_ a cross compiler, that generates code for a
 platform different from the build platform, you should specify the
 "host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
+eventually be run) with '--host=TYPE'.
 
 Sharing Defaults
 ================
 
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
+If you want to set default values for 'configure' scripts to share, you
+can create a site shell script called 'config.site' that gives default
+values for variables like 'CC', 'cache_file', and 'prefix'.  'configure'
+looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists.  Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all 'configure' scripts look for a site script.
 
 Defining Variables
 ==================
 
 Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
+environment passed to 'configure'.  However, some packages may run
 configure again during the build, and the customized values of these
 variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
+them in the 'configure' command line, using 'VAR=value'.  For example:
 
      ./configure CC=/usr/local2/bin/gcc
 
-causes the specified `gcc' to be used as the C compiler (unless it is
+causes the specified 'gcc' to be used as the C compiler (unless it is
 overridden in the site shell script).
 
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
+Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
+Autoconf limitation.  Until the limitation is lifted, you can use this
+workaround:
 
      CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
-`configure' Invocation
+'configure' Invocation
 ======================
 
-`configure' recognizes the following options to control how it operates.
+'configure' recognizes the following options to control how it operates.
 
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
+'--help'
+'-h'
+     Print a summary of all of the options to 'configure', and exit.
 
-`--help=short'
-`--help=recursive'
+'--help=short'
+'--help=recursive'
      Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
+     'configure', and exit.  The 'short' variant lists options used only
+     in the top level, while the 'recursive' variant lists options also
+     present in any nested packages.
 
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
+'--version'
+'-V'
+     Print the version of Autoconf used to generate the 'configure'
      script, and exit.
 
-`--cache-file=FILE'
+'--cache-file=FILE'
      Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     traditionally 'config.cache'.  FILE defaults to '/dev/null' to
      disable caching.
 
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
+'--config-cache'
+'-C'
+     Alias for '--cache-file=config.cache'.
 
-`--quiet'
-`--silent'
-`-q'
+'--quiet'
+'--silent'
+'-q'
      Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
+     suppress all normal output, redirect it to '/dev/null' (any error
      messages will still be shown).
 
-`--srcdir=DIR'
+'--srcdir=DIR'
      Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
+     'configure' can determine that directory automatically.
 
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
+'--prefix=DIR'
+     Use DIR as the installation prefix.  *note Installation Names:: for
+     more details, including other options available for fine-tuning the
+     installation locations.
 
-`--no-create'
-`-n'
+'--no-create'
+'-n'
      Run the configure checks, but stop before creating any output
      files.
 
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
+'configure' also accepts some other, not widely useful, options.  Run
+'configure --help' for more details.
diff --git a/Makefile b/Makefile
index f24fc88..37b43af 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@
 # Copyright (c) 2006-2016 Dmitry V. Levin <ldv@altlinux.org>
 # Copyright (c) 2008-2015 Mike Frysinger <vapier@gentoo.org>
 # Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+# Copyright (c) 2002-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -190,8 +191,9 @@
 	fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c \
 	mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
 	print_sigevent.c print_time.c print_timespec.c print_timeval.c \
-	print_timex.c printrusage.c printsiginfo.c rtc.c sg_io_v3.c \
-	sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c
+	print_timex.c printrusage.c printsiginfo.c rt_sigreturn.c \
+	rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c \
+	ustat.c utime.c v4l2.c
 am__objects_1 = libmpers_m32_a-block.$(OBJEXT) \
 	libmpers_m32_a-btrfs.$(OBJEXT) libmpers_m32_a-dirent.$(OBJEXT) \
 	libmpers_m32_a-evdev.$(OBJEXT) \
@@ -216,6 +218,7 @@
 	libmpers_m32_a-print_timex.$(OBJEXT) \
 	libmpers_m32_a-printrusage.$(OBJEXT) \
 	libmpers_m32_a-printsiginfo.$(OBJEXT) \
+	libmpers_m32_a-rt_sigreturn.$(OBJEXT) \
 	libmpers_m32_a-rtc.$(OBJEXT) libmpers_m32_a-sg_io_v3.$(OBJEXT) \
 	libmpers_m32_a-sigaltstack.$(OBJEXT) \
 	libmpers_m32_a-sock.$(OBJEXT) libmpers_m32_a-sysinfo.$(OBJEXT) \
@@ -232,8 +235,9 @@
 	fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c \
 	mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
 	print_sigevent.c print_time.c print_timespec.c print_timeval.c \
-	print_timex.c printrusage.c printsiginfo.c rtc.c sg_io_v3.c \
-	sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c
+	print_timex.c printrusage.c printsiginfo.c rt_sigreturn.c \
+	rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c \
+	ustat.c utime.c v4l2.c
 am__objects_2 = libmpers_mx32_a-block.$(OBJEXT) \
 	libmpers_mx32_a-btrfs.$(OBJEXT) \
 	libmpers_mx32_a-dirent.$(OBJEXT) \
@@ -259,6 +263,7 @@
 	libmpers_mx32_a-print_timex.$(OBJEXT) \
 	libmpers_mx32_a-printrusage.$(OBJEXT) \
 	libmpers_mx32_a-printsiginfo.$(OBJEXT) \
+	libmpers_mx32_a-rt_sigreturn.$(OBJEXT) \
 	libmpers_mx32_a-rtc.$(OBJEXT) \
 	libmpers_mx32_a-sg_io_v3.$(OBJEXT) \
 	libmpers_mx32_a-sigaltstack.$(OBJEXT) \
@@ -273,6 +278,7 @@
 libstrace_a_LIBADD =
 am_libstrace_a_OBJECTS = libstrace_a-fstatfs.$(OBJEXT) \
 	libstrace_a-fstatfs64.$(OBJEXT) libstrace_a-ipc.$(OBJEXT) \
+	libstrace_a-sigreturn.$(OBJEXT) \
 	libstrace_a-socketcall.$(OBJEXT) libstrace_a-statfs.$(OBJEXT) \
 	libstrace_a-statfs64.$(OBJEXT) \
 	libstrace_a-sync_file_range.$(OBJEXT) \
@@ -299,23 +305,25 @@
 	linux/x32/asm_stat.h linux/x86_64/asm_stat.h lookup_dcookie.c \
 	loop.c lseek.c mem.c membarrier.c memfd_create.c mknod.c \
 	mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
-	native_defs.h net.c netlink.c nsig.h numa.c oldstat.c open.c \
-	or1k_atomic.c pathtrace.c perf.c perf_event_struct.h \
-	personality.c pkeys.c poll.c prctl.c print_dev_t.c \
-	print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
-	print_sigevent.c print_statfs.c print_struct_stat.c \
-	print_time.c print_timespec.c print_timeval.c print_timex.c \
-	printmode.c printrusage.c printsiginfo.c printsiginfo.h \
-	process.c process_vm.c ptp.c ptrace.h qualify.c quota.c \
-	readahead.c readlink.c reboot.c regs.h renameat.c resource.c \
-	rtc.c sched.c scsi.c seccomp.c seccomp_fprog.h sendfile.c \
-	sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h signal.c \
-	signalfd.c sigreturn.c sock.c sockaddr.c socketutils.c \
-	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h strace.c \
-	swapon.c syscall.c sysctl.c sysent.h sysinfo.c syslog.c \
-	sysmips.c term.c time.c times.c truncate.c ubi.c uid.c uid16.c \
-	umask.c umount.c uname.c userfaultfd.c ustat.c util.c utime.c \
-	utimes.c v4l2.c wait.c xattr.c xlat.h xmalloc.c unwind.c
+	native_defs.h net.c netlink.c nsfs.c nsfs.h nsig.h numa.c \
+	oldstat.c open.c or1k_atomic.c pathtrace.c perf.c \
+	perf_event_struct.h personality.c pkeys.c poll.c prctl.c \
+	print_dev_t.c print_mq_attr.c print_msgbuf.c \
+	print_sg_req_info.c print_sigevent.c print_statfs.c \
+	print_struct_stat.c print_time.c print_timespec.c \
+	print_timeval.c print_timex.c printmode.c printrusage.c \
+	printsiginfo.c printsiginfo.h process.c process_vm.c ptp.c \
+	ptrace.h qualify.c quota.c readahead.c readlink.c reboot.c \
+	regs.h renameat.c resource.c rt_sigframe.c rt_sigreturn.c \
+	rtc.c sched.c sched_attr.h scsi.c seccomp.c seccomp_fprog.h \
+	sendfile.c sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h \
+	signal.c signalfd.c sock.c sockaddr.c socketutils.c \
+	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h statx.c \
+	statx.h strace.c swapon.c syscall.c sysctl.c sysent.h \
+	sysinfo.c syslog.c sysmips.c term.c time.c times.c truncate.c \
+	ubi.c uid.c uid16.c umask.c umount.c uname.c userfaultfd.c \
+	ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.h \
+	xmalloc.c unwind.c
 #am__objects_3 = strace-unwind.$(OBJEXT)
 am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
 	strace-aio.$(OBJEXT) strace-alpha.$(OBJEXT) \
@@ -358,13 +366,14 @@
 	strace-mmsghdr.$(OBJEXT) strace-mount.$(OBJEXT) \
 	strace-mq.$(OBJEXT) strace-msghdr.$(OBJEXT) \
 	strace-mtd.$(OBJEXT) strace-net.$(OBJEXT) \
-	strace-netlink.$(OBJEXT) strace-numa.$(OBJEXT) \
-	strace-oldstat.$(OBJEXT) strace-open.$(OBJEXT) \
-	strace-or1k_atomic.$(OBJEXT) strace-pathtrace.$(OBJEXT) \
-	strace-perf.$(OBJEXT) strace-personality.$(OBJEXT) \
-	strace-pkeys.$(OBJEXT) strace-poll.$(OBJEXT) \
-	strace-prctl.$(OBJEXT) strace-print_dev_t.$(OBJEXT) \
-	strace-print_mq_attr.$(OBJEXT) strace-print_msgbuf.$(OBJEXT) \
+	strace-netlink.$(OBJEXT) strace-nsfs.$(OBJEXT) \
+	strace-numa.$(OBJEXT) strace-oldstat.$(OBJEXT) \
+	strace-open.$(OBJEXT) strace-or1k_atomic.$(OBJEXT) \
+	strace-pathtrace.$(OBJEXT) strace-perf.$(OBJEXT) \
+	strace-personality.$(OBJEXT) strace-pkeys.$(OBJEXT) \
+	strace-poll.$(OBJEXT) strace-prctl.$(OBJEXT) \
+	strace-print_dev_t.$(OBJEXT) strace-print_mq_attr.$(OBJEXT) \
+	strace-print_msgbuf.$(OBJEXT) \
 	strace-print_sg_req_info.$(OBJEXT) \
 	strace-print_sigevent.$(OBJEXT) strace-print_statfs.$(OBJEXT) \
 	strace-print_struct_stat.$(OBJEXT) strace-print_time.$(OBJEXT) \
@@ -376,15 +385,16 @@
 	strace-quota.$(OBJEXT) strace-readahead.$(OBJEXT) \
 	strace-readlink.$(OBJEXT) strace-reboot.$(OBJEXT) \
 	strace-renameat.$(OBJEXT) strace-resource.$(OBJEXT) \
+	strace-rt_sigframe.$(OBJEXT) strace-rt_sigreturn.$(OBJEXT) \
 	strace-rtc.$(OBJEXT) strace-sched.$(OBJEXT) \
 	strace-scsi.$(OBJEXT) strace-seccomp.$(OBJEXT) \
 	strace-sendfile.$(OBJEXT) strace-sg_io_v3.$(OBJEXT) \
 	strace-sg_io_v4.$(OBJEXT) strace-sigaltstack.$(OBJEXT) \
 	strace-signal.$(OBJEXT) strace-signalfd.$(OBJEXT) \
-	strace-sigreturn.$(OBJEXT) strace-sock.$(OBJEXT) \
-	strace-sockaddr.$(OBJEXT) strace-socketutils.$(OBJEXT) \
-	strace-sram_alloc.$(OBJEXT) strace-stat.$(OBJEXT) \
-	strace-stat64.$(OBJEXT) strace-statfs.$(OBJEXT) \
+	strace-sock.$(OBJEXT) strace-sockaddr.$(OBJEXT) \
+	strace-socketutils.$(OBJEXT) strace-sram_alloc.$(OBJEXT) \
+	strace-stat.$(OBJEXT) strace-stat64.$(OBJEXT) \
+	strace-statfs.$(OBJEXT) strace-statx.$(OBJEXT) \
 	strace-strace.$(OBJEXT) strace-swapon.$(OBJEXT) \
 	strace-syscall.$(OBJEXT) strace-sysctl.$(OBJEXT) \
 	strace-sysinfo.$(OBJEXT) strace-syslog.$(OBJEXT) \
@@ -560,12 +570,12 @@
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
-ACLOCAL = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing aclocal-1.14
+ACLOCAL = ${SHELL} /tmp/strace-4.17/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
+AUTOCONF = ${SHELL} /tmp/strace-4.17/missing autoconf
+AUTOHEADER = ${SHELL} /tmp/strace-4.17/missing autoheader
+AUTOMAKE = ${SHELL} /tmp/strace-4.17/missing automake-1.14
 AWK = gawk
 BUILD_EXEEXT = 
 BUILD_OBJEXT = 
@@ -579,12 +589,13 @@
 CODE_COVERAGE_CXXFLAGS = 
 CODE_COVERAGE_ENABLED = no
 CODE_COVERAGE_LDFLAGS = 
+COPYRIGHT_YEAR = 2017
 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
+DEB_CHANGELOGTIME = Thu, 25 May 2017 15:09:49 -0700
 DEFS = -DHAVE_CONFIG_H
 DEPDIR = .deps
 ECHO_C = 
@@ -611,34 +622,34 @@
 LIBS = 
 LTLIBOBJS = 
 MAINT = #
-MAKEINFO = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing makeinfo
+MAKEINFO = ${SHELL} /tmp/strace-4.17/missing makeinfo
 MIPS_ABI = 
 MKDIR_P = /bin/mkdir -p
 OBJEXT = o
 PACKAGE = strace
 PACKAGE_BUGREPORT = strace-devel@lists.sourceforge.net
 PACKAGE_NAME = strace
-PACKAGE_STRING = strace 4.16
+PACKAGE_STRING = strace 4.17
 PACKAGE_TARNAME = strace
 PACKAGE_URL = https://strace.io
-PACKAGE_VERSION = 4.16
+PACKAGE_VERSION = 4.17
 PATH_SEPARATOR = :
 PERL = /usr/bin/perl
 RANLIB = ranlib
-RPM_CHANGELOGTIME = Wed Feb 15 2017
+RPM_CHANGELOGTIME = Thu May 25 2017
 SED = /bin/sed
 SET_MAKE = 
 SHELL = /bin/sh
 STRIP = 
 VALGRIND = valgrind
 VALGRIND_ENABLED = yes
-VERSION = 4.16
+VERSION = 4.17
 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
-abs_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16
-abs_top_builddir = /usr/local/google/home/enh/Downloads/strace-4.16
-abs_top_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16
+abs_builddir = /tmp/strace-4.17
+abs_srcdir = /tmp/strace-4.17
+abs_top_builddir = /tmp/strace-4.17
+abs_top_srcdir = /tmp/strace-4.17
 ac_ct_CC = gcc
 ac_ct_CC_FOR_BUILD = gcc
 am__include = include
@@ -670,7 +681,7 @@
 htmldir = ${docdir}
 includedir = ${prefix}/include
 infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/install-sh
+install_sh = ${SHELL} /tmp/strace-4.17/install-sh
 libdir = ${exec_prefix}/lib
 libexecdir = ${exec_prefix}/libexec
 libunwind_CPPFLAGS = 
@@ -714,14 +725,15 @@
 
 AM_CFLAGS_FOR_BUILD = $(WARN_CFLAGS_FOR_BUILD)
 AM_CPPFLAGS_FOR_BUILD = $(AM_CPPFLAGS)
-XLAT_INPUT_FILES = xlat/access_flags.in xlat/aclipc.in \
-	xlat/addrfams.in xlat/adjtimex_modes.in xlat/adjtimex_state.in \
+XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
+	xlat/adjtimex_modes.in xlat/adjtimex_state.in \
 	xlat/adjtimex_status.in xlat/advise.in xlat/af_packet_types.in \
 	xlat/archvals.in xlat/arp_hardware_types.in xlat/at_flags.in \
-	xlat/atomic_ops.in xlat/audit_arch.in xlat/baud_options.in \
-	xlat/blkpg_ops.in xlat/bootflags1.in xlat/bootflags2.in \
-	xlat/bootflags3.in xlat/bpf_attach_type.in xlat/bpf_class.in \
-	xlat/bpf_commands.in xlat/bpf_map_types.in \
+	xlat/at_statx_sync_types.in xlat/atomic_ops.in \
+	xlat/audit_arch.in xlat/baud_options.in xlat/blkpg_ops.in \
+	xlat/bootflags1.in xlat/bootflags2.in xlat/bootflags3.in \
+	xlat/bpf_attach_flags.in xlat/bpf_attach_type.in \
+	xlat/bpf_class.in xlat/bpf_commands.in xlat/bpf_map_types.in \
 	xlat/bpf_map_update_elem_flags.in xlat/bpf_miscop.in \
 	xlat/bpf_mode.in xlat/bpf_op_alu.in xlat/bpf_op_jmp.in \
 	xlat/bpf_prog_types.in xlat/bpf_rval.in xlat/bpf_size.in \
@@ -790,9 +802,9 @@
 	xlat/netlink_protocols.in xlat/netlink_types.in \
 	xlat/notifyflags.in xlat/nt_descriptor_types.in \
 	xlat/open_access_modes.in xlat/open_mode_flags.in \
-	xlat/openmodessol.in xlat/packet_mreq_type.in \
-	xlat/perf_attr_size.in xlat/perf_branch_sample_type.in \
-	xlat/perf_event_open_flags.in xlat/perf_event_read_format.in \
+	xlat/packet_mreq_type.in xlat/perf_attr_size.in \
+	xlat/perf_branch_sample_type.in xlat/perf_event_open_flags.in \
+	xlat/perf_event_read_format.in \
 	xlat/perf_event_sample_format.in xlat/perf_hw_cache_id.in \
 	xlat/perf_hw_cache_op_id.in xlat/perf_hw_cache_op_result_id.in \
 	xlat/perf_hw_id.in xlat/perf_sw_ids.in xlat/perf_type_id.in \
@@ -832,8 +844,9 @@
 	xlat/sockrawoptions.in xlat/socksctpoptions.in \
 	xlat/socktcpoptions.in xlat/socktypes.in xlat/splice_flags.in \
 	xlat/sram_alloc_flags.in xlat/statfs_flags.in \
-	xlat/swap_flags.in xlat/sync_file_range_flags.in \
-	xlat/sysctl_kern.in xlat/sysctl_net.in xlat/sysctl_net_core.in \
+	xlat/statx_attrs.in xlat/statx_masks.in xlat/swap_flags.in \
+	xlat/sync_file_range_flags.in xlat/sysctl_kern.in \
+	xlat/sysctl_net.in xlat/sysctl_net_core.in \
 	xlat/sysctl_net_ipv4.in xlat/sysctl_net_ipv4_conf.in \
 	xlat/sysctl_net_ipv4_route.in xlat/sysctl_net_ipv6.in \
 	xlat/sysctl_net_ipv6_route.in xlat/sysctl_net_unix.in \
@@ -854,22 +867,25 @@
 	xlat/v4l2_format_description_flags.in \
 	xlat/v4l2_frameinterval_types.in xlat/v4l2_framesize_types.in \
 	xlat/v4l2_input_types.in xlat/v4l2_memories.in \
-	xlat/v4l2_streaming_capabilities.in xlat/wait4_options.in \
+	xlat/v4l2_sliced_flags.in xlat/v4l2_streaming_capabilities.in \
+	xlat/v4l2_tuner_audmodes.in xlat/v4l2_tuner_capabilities.in \
+	xlat/v4l2_tuner_rxsubchanses.in xlat/v4l2_tuner_types.in \
+	xlat/v4l2_vbi_flags.in xlat/wait4_options.in \
 	xlat/waitid_types.in xlat/whence_codes.in xlat/xattrflags.in \
 	xlat/xfs_dqblk_flags.in xlat/xfs_quota_flags.in
-XLAT_HEADER_FILES = xlat/access_flags.h xlat/aclipc.h xlat/addrfams.h \
+XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
 	xlat/adjtimex_modes.h xlat/adjtimex_state.h \
 	xlat/adjtimex_status.h xlat/advise.h xlat/af_packet_types.h \
 	xlat/archvals.h xlat/arp_hardware_types.h xlat/at_flags.h \
-	xlat/atomic_ops.h xlat/audit_arch.h xlat/baud_options.h \
-	xlat/blkpg_ops.h xlat/bootflags1.h xlat/bootflags2.h \
-	xlat/bootflags3.h xlat/bpf_attach_type.h xlat/bpf_class.h \
-	xlat/bpf_commands.h xlat/bpf_map_types.h \
-	xlat/bpf_map_update_elem_flags.h xlat/bpf_miscop.h \
-	xlat/bpf_mode.h xlat/bpf_op_alu.h xlat/bpf_op_jmp.h \
-	xlat/bpf_prog_types.h xlat/bpf_rval.h xlat/bpf_size.h \
-	xlat/bpf_src.h xlat/bsg_flags.h xlat/bsg_protocol.h \
-	xlat/bsg_subprotocol.h xlat/bt_protocols.h \
+	xlat/at_statx_sync_types.h xlat/atomic_ops.h xlat/audit_arch.h \
+	xlat/baud_options.h xlat/blkpg_ops.h xlat/bootflags1.h \
+	xlat/bootflags2.h xlat/bootflags3.h xlat/bpf_attach_flags.h \
+	xlat/bpf_attach_type.h xlat/bpf_class.h xlat/bpf_commands.h \
+	xlat/bpf_map_types.h xlat/bpf_map_update_elem_flags.h \
+	xlat/bpf_miscop.h xlat/bpf_mode.h xlat/bpf_op_alu.h \
+	xlat/bpf_op_jmp.h xlat/bpf_prog_types.h xlat/bpf_rval.h \
+	xlat/bpf_size.h xlat/bpf_src.h xlat/bsg_flags.h \
+	xlat/bsg_protocol.h xlat/bsg_subprotocol.h xlat/bt_protocols.h \
 	xlat/btrfs_balance_args.h xlat/btrfs_balance_ctl_cmds.h \
 	xlat/btrfs_balance_flags.h xlat/btrfs_balance_state.h \
 	xlat/btrfs_compress_types.h xlat/btrfs_defrag_flags.h \
@@ -928,12 +944,12 @@
 	xlat/netlink_protocols.h xlat/netlink_types.h \
 	xlat/notifyflags.h xlat/nt_descriptor_types.h \
 	xlat/open_access_modes.h xlat/open_mode_flags.h \
-	xlat/openmodessol.h xlat/packet_mreq_type.h \
-	xlat/perf_attr_size.h xlat/perf_branch_sample_type.h \
-	xlat/perf_event_open_flags.h xlat/perf_event_read_format.h \
-	xlat/perf_event_sample_format.h xlat/perf_hw_cache_id.h \
-	xlat/perf_hw_cache_op_id.h xlat/perf_hw_cache_op_result_id.h \
-	xlat/perf_hw_id.h xlat/perf_sw_ids.h xlat/perf_type_id.h \
+	xlat/packet_mreq_type.h xlat/perf_attr_size.h \
+	xlat/perf_branch_sample_type.h xlat/perf_event_open_flags.h \
+	xlat/perf_event_read_format.h xlat/perf_event_sample_format.h \
+	xlat/perf_hw_cache_id.h xlat/perf_hw_cache_op_id.h \
+	xlat/perf_hw_cache_op_result_id.h xlat/perf_hw_id.h \
+	xlat/perf_sw_ids.h xlat/perf_type_id.h \
 	xlat/personality_flags.h xlat/personality_types.h \
 	xlat/pkey_access.h xlat/policies.h xlat/pollflags.h \
 	xlat/pr_cap_ambient.h xlat/pr_dumpable.h xlat/pr_fp_mode.h \
@@ -965,7 +981,8 @@
 	xlat/sockoptions.h xlat/sockpacketoptions.h \
 	xlat/sockrawoptions.h xlat/socksctpoptions.h \
 	xlat/socktcpoptions.h xlat/socktypes.h xlat/splice_flags.h \
-	xlat/sram_alloc_flags.h xlat/statfs_flags.h xlat/swap_flags.h \
+	xlat/sram_alloc_flags.h xlat/statfs_flags.h xlat/statx_attrs.h \
+	xlat/statx_masks.h xlat/swap_flags.h \
 	xlat/sync_file_range_flags.h xlat/sysctl_kern.h \
 	xlat/sysctl_net.h xlat/sysctl_net_core.h \
 	xlat/sysctl_net_ipv4.h xlat/sysctl_net_ipv4_conf.h \
@@ -987,9 +1004,12 @@
 	xlat/v4l2_format_description_flags.h \
 	xlat/v4l2_frameinterval_types.h xlat/v4l2_framesize_types.h \
 	xlat/v4l2_input_types.h xlat/v4l2_memories.h \
-	xlat/v4l2_streaming_capabilities.h xlat/wait4_options.h \
-	xlat/waitid_types.h xlat/whence_codes.h xlat/xattrflags.h \
-	xlat/xfs_dqblk_flags.h xlat/xfs_quota_flags.h
+	xlat/v4l2_sliced_flags.h xlat/v4l2_streaming_capabilities.h \
+	xlat/v4l2_tuner_audmodes.h xlat/v4l2_tuner_capabilities.h \
+	xlat/v4l2_tuner_rxsubchanses.h xlat/v4l2_tuner_types.h \
+	xlat/v4l2_vbi_flags.h xlat/wait4_options.h xlat/waitid_types.h \
+	xlat/whence_codes.h xlat/xattrflags.h xlat/xfs_dqblk_flags.h \
+	xlat/xfs_quota_flags.h
 strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_2) \
 	$(CODE_COVERAGE_CPPFLAGS)
 strace_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
@@ -1003,6 +1023,7 @@
 	fstatfs.c \
 	fstatfs64.c \
 	ipc.c \
+	sigreturn.c	\
 	socketcall.c \
 	statfs.c \
 	statfs64.c \
@@ -1029,24 +1050,25 @@
 	linux/x32/asm_stat.h linux/x86_64/asm_stat.h lookup_dcookie.c \
 	loop.c lseek.c mem.c membarrier.c memfd_create.c mknod.c \
 	mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
-	native_defs.h net.c netlink.c nsig.h numa.c oldstat.c open.c \
-	or1k_atomic.c pathtrace.c perf.c perf_event_struct.h \
-	personality.c pkeys.c poll.c prctl.c print_dev_t.c \
-	print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
-	print_sigevent.c print_statfs.c print_struct_stat.c \
-	print_time.c print_timespec.c print_timeval.c print_timex.c \
-	printmode.c printrusage.c printsiginfo.c printsiginfo.h \
-	process.c process_vm.c ptp.c ptrace.h qualify.c quota.c \
-	readahead.c readlink.c reboot.c regs.h renameat.c resource.c \
-	rtc.c sched.c scsi.c seccomp.c seccomp_fprog.h sendfile.c \
-	sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h signal.c \
-	signalfd.c sigreturn.c sock.c sockaddr.c socketutils.c \
-	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h strace.c \
-	swapon.c syscall.c sysctl.c sysent.h sysinfo.c syslog.c \
-	sysmips.c term.c time.c times.c truncate.c ubi.c uid.c uid16.c \
-	umask.c umount.c uname.c userfaultfd.c ustat.c util.c utime.c \
-	utimes.c v4l2.c wait.c xattr.c xlat.h xmalloc.c \
-	$(am__append_1)
+	native_defs.h net.c netlink.c nsfs.c nsfs.h nsig.h numa.c \
+	oldstat.c open.c or1k_atomic.c pathtrace.c perf.c \
+	perf_event_struct.h personality.c pkeys.c poll.c prctl.c \
+	print_dev_t.c print_mq_attr.c print_msgbuf.c \
+	print_sg_req_info.c print_sigevent.c print_statfs.c \
+	print_struct_stat.c print_time.c print_timespec.c \
+	print_timeval.c print_timex.c printmode.c printrusage.c \
+	printsiginfo.c printsiginfo.h process.c process_vm.c ptp.c \
+	ptrace.h qualify.c quota.c readahead.c readlink.c reboot.c \
+	regs.h renameat.c resource.c rt_sigframe.c rt_sigreturn.c \
+	rtc.c sched.c sched_attr.h scsi.c seccomp.c seccomp_fprog.h \
+	sendfile.c sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h \
+	signal.c signalfd.c sock.c sockaddr.c socketutils.c \
+	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h statx.c \
+	statx.h strace.c swapon.c syscall.c sysctl.c sysent.h \
+	sysinfo.c syslog.c sysmips.c term.c time.c times.c truncate.c \
+	ubi.c uid.c uid16.c umask.c umount.c uname.c userfaultfd.c \
+	ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.h \
+	xmalloc.c $(am__append_1)
 CODE_COVERAGE_BRANCH_COVERAGE = 1
 CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
 	--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
@@ -1077,7 +1099,6 @@
 	debian/strace64.install		\
 	debian/strace64.manpages	\
 	debian/watch			\
-	errnoent.sh			\
 	generate_sen.sh			\
 	ioctl_iocdef.c			\
 	ioctlsort.c			\
@@ -1090,6 +1111,7 @@
 	linux/64/syscallent.h		\
 	linux/aarch64/arch_regs.c	\
 	linux/aarch64/arch_regs.h	\
+	linux/aarch64/arch_rt_sigframe.c\
 	linux/aarch64/arch_sigreturn.c	\
 	linux/aarch64/errnoent1.h	\
 	linux/aarch64/get_error.c	\
@@ -1107,6 +1129,7 @@
 	linux/alpha/arch_getrval2.c	\
 	linux/alpha/arch_regs.c		\
 	linux/alpha/arch_regs.h		\
+	linux/alpha/arch_rt_sigframe.c	\
 	linux/alpha/arch_sigreturn.c	\
 	linux/alpha/errnoent.h		\
 	linux/alpha/get_error.c		\
@@ -1121,6 +1144,8 @@
 	linux/alpha/syscallent.h	\
 	linux/alpha/userent.h		\
 	linux/arc/arch_regs.c		\
+	linux/arc/arch_regs.h		\
+	linux/arc/arch_rt_sigframe.c	\
 	linux/arc/get_error.c		\
 	linux/arc/get_scno.c		\
 	linux/arc/get_syscall_args.c	\
@@ -1133,6 +1158,7 @@
 	linux/arch_sigreturn.c		\
 	linux/arm/arch_regs.c		\
 	linux/arm/arch_regs.h		\
+	linux/arm/arch_rt_sigframe.c	\
 	linux/arm/arch_sigreturn.c	\
 	linux/arm/get_error.c		\
 	linux/arm/get_scno.c		\
@@ -1144,6 +1170,8 @@
 	linux/arm/syscallent.h		\
 	linux/arm/userent.h		\
 	linux/avr32/arch_regs.c		\
+	linux/avr32/arch_regs.h		\
+	linux/avr32/arch_rt_sigframe.c	\
 	linux/avr32/get_error.c		\
 	linux/avr32/get_scno.c		\
 	linux/avr32/get_syscall_args.c	\
@@ -1154,32 +1182,38 @@
 	linux/avr32/syscallent.h	\
 	linux/avr32/userent.h		\
 	linux/bfin/arch_regs.c		\
+	linux/bfin/arch_rt_sigframe.c	\
 	linux/bfin/get_error.c		\
 	linux/bfin/get_scno.c		\
 	linux/bfin/get_syscall_args.c	\
 	linux/bfin/get_syscall_result.c	\
 	linux/bfin/ioctls_arch0.h	\
 	linux/bfin/ioctls_inc0.h	\
+	linux/bfin/rt_sigframe.h	\
 	linux/bfin/set_error.c		\
 	linux/bfin/set_scno.c		\
 	linux/bfin/syscallent.h		\
 	linux/bfin/userent.h		\
 	linux/crisv10/arch_regs.c	\
+	linux/crisv10/arch_rt_sigframe.c\
 	linux/crisv10/arch_sigreturn.c	\
 	linux/crisv10/get_error.c	\
 	linux/crisv10/get_scno.c	\
 	linux/crisv10/get_syscall_args.c	\
 	linux/crisv10/get_syscall_result.c	\
+	linux/crisv10/rt_sigframe.h	\
 	linux/crisv10/set_error.c	\
 	linux/crisv10/set_scno.c	\
 	linux/crisv10/syscallent.h	\
 	linux/crisv10/userent.h		\
 	linux/crisv32/arch_regs.c	\
+	linux/crisv32/arch_rt_sigframe.c\
 	linux/crisv32/arch_sigreturn.c	\
 	linux/crisv32/get_error.c	\
 	linux/crisv32/get_scno.c	\
 	linux/crisv32/get_syscall_args.c	\
 	linux/crisv32/get_syscall_result.c	\
+	linux/crisv32/rt_sigframe.h	\
 	linux/crisv32/set_error.c	\
 	linux/crisv32/set_scno.c	\
 	linux/crisv32/syscallent.h	\
@@ -1189,6 +1223,7 @@
 	linux/getregs_old.h		\
 	linux/hppa/arch_regs.c		\
 	linux/hppa/arch_regs.h		\
+	linux/hppa/arch_rt_sigframe.c	\
 	linux/hppa/errnoent.h		\
 	linux/hppa/get_error.c		\
 	linux/hppa/get_scno.c		\
@@ -1196,18 +1231,21 @@
 	linux/hppa/get_syscall_result.c	\
 	linux/hppa/ioctls_arch0.h	\
 	linux/hppa/ioctls_inc0.h	\
+	linux/hppa/rt_sigframe.h	\
 	linux/hppa/set_error.c		\
 	linux/hppa/set_scno.c		\
 	linux/hppa/signalent.h		\
 	linux/hppa/syscallent.h		\
 	linux/i386/arch_regs.c		\
 	linux/i386/arch_regs.h		\
+	linux/i386/arch_rt_sigframe.c	\
 	linux/i386/arch_sigreturn.c	\
 	linux/i386/get_error.c		\
 	linux/i386/get_scno.c		\
 	linux/i386/get_syscall_args.c	\
 	linux/i386/ioctls_arch0.h	\
 	linux/i386/ioctls_inc0.h	\
+	linux/i386/rt_sigframe.h	\
 	linux/i386/set_error.c		\
 	linux/i386/set_scno.c		\
 	linux/i386/syscallent.h		\
@@ -1216,12 +1254,13 @@
 	linux/ia64/arch_getrval2.c	\
 	linux/ia64/arch_regs.c		\
 	linux/ia64/arch_regs.h		\
-	linux/ia64/arch_sigreturn.c	\
+	linux/ia64/arch_rt_sigframe.c	\
 	linux/ia64/get_error.c		\
 	linux/ia64/get_scno.c		\
 	linux/ia64/get_syscall_args.c	\
 	linux/ia64/ioctls_arch0.h	\
 	linux/ia64/ioctls_inc0.h	\
+	linux/ia64/rt_sigframe.h	\
 	linux/ia64/set_error.c		\
 	linux/ia64/set_scno.c		\
 	linux/ia64/syscallent.h		\
@@ -1229,17 +1268,21 @@
 	linux/inet_diag.h		\
 	linux/m68k/arch_regs.c		\
 	linux/m68k/arch_regs.h		\
+	linux/m68k/arch_rt_sigframe.c	\
 	linux/m68k/arch_sigreturn.c	\
 	linux/m68k/get_error.c		\
 	linux/m68k/get_scno.c		\
 	linux/m68k/get_syscall_args.c	\
 	linux/m68k/ioctls_arch0.h	\
 	linux/m68k/ioctls_inc0.h	\
+	linux/m68k/rt_sigframe.h	\
 	linux/m68k/set_error.c		\
 	linux/m68k/set_scno.c		\
 	linux/m68k/syscallent.h		\
 	linux/m68k/userent.h		\
 	linux/metag/arch_regs.c		\
+	linux/metag/arch_regs.h		\
+	linux/metag/arch_rt_sigframe.c	\
 	linux/metag/get_error.c		\
 	linux/metag/get_scno.c		\
 	linux/metag/get_syscall_args.c	\
@@ -1249,6 +1292,7 @@
 	linux/metag/set_scno.c		\
 	linux/metag/syscallent.h	\
 	linux/microblaze/arch_regs.c	\
+	linux/microblaze/arch_rt_sigframe.c\
 	linux/microblaze/arch_sigreturn.c	\
 	linux/microblaze/get_error.c	\
 	linux/microblaze/get_scno.c	\
@@ -1263,6 +1307,7 @@
 	linux/mips/arch_getrval2.c	\
 	linux/mips/arch_regs.c		\
 	linux/mips/arch_regs.h		\
+	linux/mips/arch_rt_sigframe.c	\
 	linux/mips/arch_sigreturn.c	\
 	linux/mips/errnoent.h		\
 	linux/mips/genstub.sh		\
@@ -1271,6 +1316,7 @@
 	linux/mips/get_syscall_args.c	\
 	linux/mips/ioctls_arch0.h	\
 	linux/mips/ioctls_inc0.h	\
+	linux/mips/rt_sigframe.h	\
 	linux/mips/set_error.c		\
 	linux/mips/set_scno.c		\
 	linux/mips/signalent.h		\
@@ -1283,6 +1329,8 @@
 	linux/mtd-abi.h			\
 	linux/netlink_diag.h		\
 	linux/nios2/arch_regs.c		\
+	linux/nios2/arch_regs.h		\
+	linux/nios2/arch_rt_sigframe.c	\
 	linux/nios2/get_error.c		\
 	linux/nios2/get_scno.c		\
 	linux/nios2/get_syscall_args.c	\
@@ -1292,6 +1340,8 @@
 	linux/nios2/set_scno.c		\
 	linux/nios2/syscallent.h	\
 	linux/or1k/arch_regs.c		\
+	linux/or1k/arch_regs.h		\
+	linux/or1k/arch_rt_sigframe.c	\
 	linux/or1k/get_error.c		\
 	linux/or1k/get_scno.c		\
 	linux/or1k/get_syscall_args.c	\
@@ -1304,6 +1354,7 @@
 	linux/personality.h		\
 	linux/powerpc/arch_regs.c	\
 	linux/powerpc/arch_regs.h	\
+	linux/powerpc/arch_rt_sigframe.c\
 	linux/powerpc/arch_sigreturn.c	\
 	linux/powerpc/errnoent.h	\
 	linux/powerpc/get_error.c	\
@@ -1319,6 +1370,7 @@
 	linux/powerpc/userent.h		\
 	linux/powerpc64/arch_regs.c	\
 	linux/powerpc64/arch_regs.h	\
+	linux/powerpc64/arch_rt_sigframe.c\
 	linux/powerpc64/arch_sigreturn.c	\
 	linux/powerpc64/errnoent.h	\
 	linux/powerpc64/errnoent1.h	\
@@ -1331,6 +1383,7 @@
 	linux/powerpc64/ioctls_arch1.h	\
 	linux/powerpc64/ioctls_inc0.h	\
 	linux/powerpc64/ioctls_inc1.h	\
+	linux/powerpc64/rt_sigframe.h	\
 	linux/powerpc64/set_error.c	\
 	linux/powerpc64/set_scno.c	\
 	linux/powerpc64/signalent1.h	\
@@ -1339,6 +1392,8 @@
 	linux/powerpc64/userent.h	\
 	linux/ptp_clock.h		\
 	linux/riscv/arch_regs.c		\
+	linux/riscv/arch_regs.h		\
+	linux/riscv/arch_rt_sigframe.c	\
 	linux/riscv/errnoent1.h		\
 	linux/riscv/get_error.c		\
 	linux/riscv/get_scno.c		\
@@ -1352,14 +1407,17 @@
 	linux/riscv/signalent1.h	\
 	linux/riscv/syscallent.h	\
 	linux/riscv/syscallent1.h	\
+	linux/rt_sigframe.h		\
 	linux/s390/arch_regs.c		\
 	linux/s390/arch_regs.h		\
+	linux/s390/arch_rt_sigframe.c	\
 	linux/s390/arch_sigreturn.c	\
 	linux/s390/get_error.c		\
 	linux/s390/get_scno.c		\
 	linux/s390/get_syscall_args.c	\
 	linux/s390/ioctls_arch0.h	\
 	linux/s390/ioctls_inc0.h	\
+	linux/s390/rt_sigframe.h	\
 	linux/s390/set_error.c		\
 	linux/s390/set_scno.c		\
 	linux/s390/syscallent.h		\
@@ -1368,18 +1426,21 @@
 	linux/s390/userent1.h		\
 	linux/s390x/arch_regs.c		\
 	linux/s390x/arch_regs.h		\
+	linux/s390x/arch_rt_sigframe.c	\
 	linux/s390x/arch_sigreturn.c	\
 	linux/s390x/get_error.c		\
 	linux/s390x/get_scno.c		\
 	linux/s390x/get_syscall_args.c	\
 	linux/s390x/ioctls_arch0.h	\
 	linux/s390x/ioctls_inc0.h	\
+	linux/s390x/rt_sigframe.h	\
 	linux/s390x/set_error.c		\
 	linux/s390x/set_scno.c		\
 	linux/s390x/syscallent.h	\
 	linux/s390x/userent.h		\
 	linux/sh/arch_getrval2.c	\
 	linux/sh/arch_regs.c		\
+	linux/sh/arch_rt_sigframe.c	\
 	linux/sh/get_error.c		\
 	linux/sh/get_scno.c		\
 	linux/sh/get_syscall_args.c	\
@@ -1393,12 +1454,14 @@
 	linux/sh/userent0.h		\
 	linux/sh64/arch_regs.c		\
 	linux/sh64/arch_regs.h		\
+	linux/sh64/arch_rt_sigframe.c	\
 	linux/sh64/get_error.c		\
 	linux/sh64/get_scno.c		\
 	linux/sh64/get_syscall_args.c	\
 	linux/sh64/get_syscall_result.c	\
 	linux/sh64/ioctls_arch0.h	\
 	linux/sh64/ioctls_inc0.h	\
+	linux/sh64/rt_sigframe.h	\
 	linux/sh64/set_error.c		\
 	linux/sh64/set_scno.c		\
 	linux/sh64/syscallent.h		\
@@ -1408,6 +1471,7 @@
 	linux/sparc/arch_getrval2.c	\
 	linux/sparc/arch_regs.c		\
 	linux/sparc/arch_regs.h		\
+	linux/sparc/arch_rt_sigframe.c	\
 	linux/sparc/arch_sigreturn.c	\
 	linux/sparc/errnoent.h		\
 	linux/sparc/gen.pl		\
@@ -1416,6 +1480,7 @@
 	linux/sparc/get_syscall_args.c	\
 	linux/sparc/ioctls_arch0.h	\
 	linux/sparc/ioctls_inc0.h	\
+	linux/sparc/rt_sigframe.h	\
 	linux/sparc/set_error.c		\
 	linux/sparc/set_scno.c		\
 	linux/sparc/signalent.h		\
@@ -1424,6 +1489,7 @@
 	linux/sparc64/arch_getrval2.c	\
 	linux/sparc64/arch_regs.c	\
 	linux/sparc64/arch_regs.h	\
+	linux/sparc64/arch_rt_sigframe.c\
 	linux/sparc64/arch_sigreturn.c	\
 	linux/sparc64/errnoent.h	\
 	linux/sparc64/errnoent1.h	\
@@ -1434,6 +1500,7 @@
 	linux/sparc64/ioctls_arch1.h	\
 	linux/sparc64/ioctls_inc0.h	\
 	linux/sparc64/ioctls_inc1.h	\
+	linux/sparc64/rt_sigframe.h	\
 	linux/sparc64/set_error.c	\
 	linux/sparc64/set_scno.c	\
 	linux/sparc64/signalent.h	\
@@ -1445,6 +1512,7 @@
 	linux/syscall.h			\
 	linux/tile/arch_regs.c		\
 	linux/tile/arch_regs.h		\
+	linux/tile/arch_rt_sigframe.c	\
 	linux/tile/arch_sigreturn.c	\
 	linux/tile/errnoent1.h		\
 	linux/tile/get_error.c		\
@@ -1454,6 +1522,7 @@
 	linux/tile/ioctls_arch1.h	\
 	linux/tile/ioctls_inc0.h	\
 	linux/tile/ioctls_inc1.h	\
+	linux/tile/rt_sigframe.h	\
 	linux/tile/set_error.c		\
 	linux/tile/set_scno.c		\
 	linux/tile/signalent1.h		\
@@ -1466,6 +1535,7 @@
 	linux/userent0.h		\
 	linux/x32/arch_regs.c		\
 	linux/x32/arch_regs.h		\
+	linux/x32/arch_rt_sigframe.c	\
 	linux/x32/arch_sigreturn.c	\
 	linux/x32/errnoent1.h		\
 	linux/x32/get_error.c		\
@@ -1475,6 +1545,7 @@
 	linux/x32/ioctls_arch1.h	\
 	linux/x32/ioctls_inc0.h		\
 	linux/x32/ioctls_inc1.h		\
+	linux/x32/rt_sigframe.h		\
 	linux/x32/set_error.c		\
 	linux/x32/set_scno.c		\
 	linux/x32/signalent1.h		\
@@ -1483,6 +1554,7 @@
 	linux/x32/userent.h		\
 	linux/x86_64/arch_regs.c	\
 	linux/x86_64/arch_regs.h	\
+	linux/x86_64/arch_rt_sigframe.c	\
 	linux/x86_64/arch_sigreturn.c	\
 	linux/x86_64/errnoent1.h	\
 	linux/x86_64/errnoent2.h	\
@@ -1498,6 +1570,7 @@
 	linux/x86_64/ioctls_inc0.h	\
 	linux/x86_64/ioctls_inc1.h	\
 	linux/x86_64/ioctls_inc2.h	\
+	linux/x86_64/rt_sigframe.h	\
 	linux/x86_64/set_error.c	\
 	linux/x86_64/set_scno.c		\
 	linux/x86_64/signalent1.h	\
@@ -1507,6 +1580,7 @@
 	linux/x86_64/syscallent2.h	\
 	linux/x86_64/userent.h		\
 	linux/xtensa/arch_regs.c	\
+	linux/xtensa/arch_rt_sigframe.c	\
 	linux/xtensa/get_error.c	\
 	linux/xtensa/get_scno.c		\
 	linux/xtensa/get_syscall_args.c	\
@@ -1517,20 +1591,14 @@
 	linux/xtensa/set_scno.c		\
 	linux/xtensa/syscallent.h	\
 	linux/xtensa/userent.h		\
-	maint/ioctls_gen.sh		\
-	maint/ioctls_hex.sh		\
-	maint/ioctls_sym.sh		\
-	maint/print_ioctlent.c		\
 	mpers.awk			\
 	mpers.sh			\
 	mpers_test.sh			\
 	mpers_xlat.h			\
 	scno.head			\
-	signalent.sh			\
 	strace-graph			\
 	strace-log-merge		\
 	strace.spec			\
-	syscallent.sh			\
 	$(XLAT_INPUT_FILES)		\
 	$(XLAT_HEADER_FILES)		\
 	xlat/gen.sh			\
@@ -1572,7 +1640,7 @@
 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
 
 # Generated by ./generate_mpers_am.sh; do not edit.
-mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_seccomp_fprog.c fetch_struct_flock.c fetch_struct_mmsghdr.c fetch_struct_msghdr.c fetch_struct_stat.c fetch_struct_stat64.c fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c print_sigevent.c print_time.c print_timespec.c print_timeval.c print_timex.c printrusage.c printsiginfo.c rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c 
+mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_seccomp_fprog.c fetch_struct_flock.c fetch_struct_mmsghdr.c fetch_struct_msghdr.c fetch_struct_stat.c fetch_struct_stat64.c fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c print_sigevent.c print_time.c print_timespec.c print_timeval.c print_timex.c printrusage.c printsiginfo.c rt_sigreturn.c rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c 
 
 # defines mpers_source_files
 srcdir_mpers_source_files = $(patsubst %,$(srcdir)/%,$(mpers_source_files))
@@ -1786,6 +1854,7 @@
 include ./$(DEPDIR)/libmpers_m32_a-print_timex.Po
 include ./$(DEPDIR)/libmpers_m32_a-printrusage.Po
 include ./$(DEPDIR)/libmpers_m32_a-printsiginfo.Po
+include ./$(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
 include ./$(DEPDIR)/libmpers_m32_a-rtc.Po
 include ./$(DEPDIR)/libmpers_m32_a-sg_io_v3.Po
 include ./$(DEPDIR)/libmpers_m32_a-sigaltstack.Po
@@ -1821,6 +1890,7 @@
 include ./$(DEPDIR)/libmpers_mx32_a-print_timex.Po
 include ./$(DEPDIR)/libmpers_mx32_a-printrusage.Po
 include ./$(DEPDIR)/libmpers_mx32_a-printsiginfo.Po
+include ./$(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
 include ./$(DEPDIR)/libmpers_mx32_a-rtc.Po
 include ./$(DEPDIR)/libmpers_mx32_a-sg_io_v3.Po
 include ./$(DEPDIR)/libmpers_mx32_a-sigaltstack.Po
@@ -1833,6 +1903,7 @@
 include ./$(DEPDIR)/libstrace_a-fstatfs.Po
 include ./$(DEPDIR)/libstrace_a-fstatfs64.Po
 include ./$(DEPDIR)/libstrace_a-ipc.Po
+include ./$(DEPDIR)/libstrace_a-sigreturn.Po
 include ./$(DEPDIR)/libstrace_a-socketcall.Po
 include ./$(DEPDIR)/libstrace_a-statfs.Po
 include ./$(DEPDIR)/libstrace_a-statfs64.Po
@@ -1916,6 +1987,7 @@
 include ./$(DEPDIR)/strace-mtd.Po
 include ./$(DEPDIR)/strace-net.Po
 include ./$(DEPDIR)/strace-netlink.Po
+include ./$(DEPDIR)/strace-nsfs.Po
 include ./$(DEPDIR)/strace-numa.Po
 include ./$(DEPDIR)/strace-oldstat.Po
 include ./$(DEPDIR)/strace-open.Po
@@ -1950,6 +2022,8 @@
 include ./$(DEPDIR)/strace-reboot.Po
 include ./$(DEPDIR)/strace-renameat.Po
 include ./$(DEPDIR)/strace-resource.Po
+include ./$(DEPDIR)/strace-rt_sigframe.Po
+include ./$(DEPDIR)/strace-rt_sigreturn.Po
 include ./$(DEPDIR)/strace-rtc.Po
 include ./$(DEPDIR)/strace-sched.Po
 include ./$(DEPDIR)/strace-scsi.Po
@@ -1960,7 +2034,6 @@
 include ./$(DEPDIR)/strace-sigaltstack.Po
 include ./$(DEPDIR)/strace-signal.Po
 include ./$(DEPDIR)/strace-signalfd.Po
-include ./$(DEPDIR)/strace-sigreturn.Po
 include ./$(DEPDIR)/strace-sock.Po
 include ./$(DEPDIR)/strace-sockaddr.Po
 include ./$(DEPDIR)/strace-socketutils.Po
@@ -1968,6 +2041,7 @@
 include ./$(DEPDIR)/strace-stat.Po
 include ./$(DEPDIR)/strace-stat64.Po
 include ./$(DEPDIR)/strace-statfs.Po
+include ./$(DEPDIR)/strace-statx.Po
 include ./$(DEPDIR)/strace-strace.Po
 include ./$(DEPDIR)/strace-swapon.Po
 include ./$(DEPDIR)/strace-syscall.Po
@@ -2374,6 +2448,20 @@
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
 
+libmpers_m32_a-rt_sigreturn.o: rt_sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo -c -o libmpers_m32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
+#	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_m32_a-rt_sigreturn.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+libmpers_m32_a-rt_sigreturn.obj: rt_sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo -c -o libmpers_m32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
+#	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_m32_a-rt_sigreturn.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
 libmpers_m32_a-rtc.o: rtc.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rtc.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rtc.Tpo -c -o libmpers_m32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
 	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rtc.Tpo $(DEPDIR)/libmpers_m32_a-rtc.Po
@@ -2864,6 +2952,20 @@
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
 
+libmpers_mx32_a-rt_sigreturn.o: rt_sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo -c -o libmpers_mx32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
+#	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_mx32_a-rt_sigreturn.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+libmpers_mx32_a-rt_sigreturn.obj: rt_sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo -c -o libmpers_mx32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
+#	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_mx32_a-rt_sigreturn.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
 libmpers_mx32_a-rtc.o: rtc.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rtc.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rtc.Tpo -c -o libmpers_mx32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
 	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rtc.Tpo $(DEPDIR)/libmpers_mx32_a-rtc.Po
@@ -3032,6 +3134,20 @@
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-ipc.obj `if test -f 'ipc.c'; then $(CYGPATH_W) 'ipc.c'; else $(CYGPATH_W) '$(srcdir)/ipc.c'; fi`
 
+libstrace_a-sigreturn.o: sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sigreturn.o -MD -MP -MF $(DEPDIR)/libstrace_a-sigreturn.Tpo -c -o libstrace_a-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sigreturn.Tpo $(DEPDIR)/libstrace_a-sigreturn.Po
+#	$(AM_V_CC)source='sigreturn.c' object='libstrace_a-sigreturn.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
+
+libstrace_a-sigreturn.obj: sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sigreturn.obj -MD -MP -MF $(DEPDIR)/libstrace_a-sigreturn.Tpo -c -o libstrace_a-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sigreturn.Tpo $(DEPDIR)/libstrace_a-sigreturn.Po
+#	$(AM_V_CC)source='sigreturn.c' object='libstrace_a-sigreturn.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
+
 libstrace_a-socketcall.o: socketcall.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-socketcall.o -MD -MP -MF $(DEPDIR)/libstrace_a-socketcall.Tpo -c -o libstrace_a-socketcall.o `test -f 'socketcall.c' || echo '$(srcdir)/'`socketcall.c
 	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-socketcall.Tpo $(DEPDIR)/libstrace_a-socketcall.Po
@@ -4194,6 +4310,20 @@
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink.obj `if test -f 'netlink.c'; then $(CYGPATH_W) 'netlink.c'; else $(CYGPATH_W) '$(srcdir)/netlink.c'; fi`
 
+strace-nsfs.o: nsfs.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nsfs.o -MD -MP -MF $(DEPDIR)/strace-nsfs.Tpo -c -o strace-nsfs.o `test -f 'nsfs.c' || echo '$(srcdir)/'`nsfs.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-nsfs.Tpo $(DEPDIR)/strace-nsfs.Po
+#	$(AM_V_CC)source='nsfs.c' object='strace-nsfs.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nsfs.o `test -f 'nsfs.c' || echo '$(srcdir)/'`nsfs.c
+
+strace-nsfs.obj: nsfs.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nsfs.obj -MD -MP -MF $(DEPDIR)/strace-nsfs.Tpo -c -o strace-nsfs.obj `if test -f 'nsfs.c'; then $(CYGPATH_W) 'nsfs.c'; else $(CYGPATH_W) '$(srcdir)/nsfs.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-nsfs.Tpo $(DEPDIR)/strace-nsfs.Po
+#	$(AM_V_CC)source='nsfs.c' object='strace-nsfs.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nsfs.obj `if test -f 'nsfs.c'; then $(CYGPATH_W) 'nsfs.c'; else $(CYGPATH_W) '$(srcdir)/nsfs.c'; fi`
+
 strace-numa.o: numa.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-numa.o -MD -MP -MF $(DEPDIR)/strace-numa.Tpo -c -o strace-numa.o `test -f 'numa.c' || echo '$(srcdir)/'`numa.c
 	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-numa.Tpo $(DEPDIR)/strace-numa.Po
@@ -4670,6 +4800,34 @@
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-resource.obj `if test -f 'resource.c'; then $(CYGPATH_W) 'resource.c'; else $(CYGPATH_W) '$(srcdir)/resource.c'; fi`
 
+strace-rt_sigframe.o: rt_sigframe.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigframe.o -MD -MP -MF $(DEPDIR)/strace-rt_sigframe.Tpo -c -o strace-rt_sigframe.o `test -f 'rt_sigframe.c' || echo '$(srcdir)/'`rt_sigframe.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigframe.Tpo $(DEPDIR)/strace-rt_sigframe.Po
+#	$(AM_V_CC)source='rt_sigframe.c' object='strace-rt_sigframe.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigframe.o `test -f 'rt_sigframe.c' || echo '$(srcdir)/'`rt_sigframe.c
+
+strace-rt_sigframe.obj: rt_sigframe.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigframe.obj -MD -MP -MF $(DEPDIR)/strace-rt_sigframe.Tpo -c -o strace-rt_sigframe.obj `if test -f 'rt_sigframe.c'; then $(CYGPATH_W) 'rt_sigframe.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigframe.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigframe.Tpo $(DEPDIR)/strace-rt_sigframe.Po
+#	$(AM_V_CC)source='rt_sigframe.c' object='strace-rt_sigframe.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigframe.obj `if test -f 'rt_sigframe.c'; then $(CYGPATH_W) 'rt_sigframe.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigframe.c'; fi`
+
+strace-rt_sigreturn.o: rt_sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/strace-rt_sigreturn.Tpo -c -o strace-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigreturn.Tpo $(DEPDIR)/strace-rt_sigreturn.Po
+#	$(AM_V_CC)source='rt_sigreturn.c' object='strace-rt_sigreturn.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+strace-rt_sigreturn.obj: rt_sigreturn.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/strace-rt_sigreturn.Tpo -c -o strace-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigreturn.Tpo $(DEPDIR)/strace-rt_sigreturn.Po
+#	$(AM_V_CC)source='rt_sigreturn.c' object='strace-rt_sigreturn.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
 strace-rtc.o: rtc.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtc.o -MD -MP -MF $(DEPDIR)/strace-rtc.Tpo -c -o strace-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
 	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtc.Tpo $(DEPDIR)/strace-rtc.Po
@@ -4810,20 +4968,6 @@
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-signalfd.obj `if test -f 'signalfd.c'; then $(CYGPATH_W) 'signalfd.c'; else $(CYGPATH_W) '$(srcdir)/signalfd.c'; fi`
 
-strace-sigreturn.o: sigreturn.c
-	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sigreturn.o -MD -MP -MF $(DEPDIR)/strace-sigreturn.Tpo -c -o strace-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
-	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-sigreturn.Tpo $(DEPDIR)/strace-sigreturn.Po
-#	$(AM_V_CC)source='sigreturn.c' object='strace-sigreturn.o' libtool=no \
-#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
-
-strace-sigreturn.obj: sigreturn.c
-	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sigreturn.obj -MD -MP -MF $(DEPDIR)/strace-sigreturn.Tpo -c -o strace-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
-	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-sigreturn.Tpo $(DEPDIR)/strace-sigreturn.Po
-#	$(AM_V_CC)source='sigreturn.c' object='strace-sigreturn.obj' libtool=no \
-#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
-
 strace-sock.o: sock.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sock.o -MD -MP -MF $(DEPDIR)/strace-sock.Tpo -c -o strace-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
 	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-sock.Tpo $(DEPDIR)/strace-sock.Po
@@ -4922,6 +5066,20 @@
 #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
 #	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
 
+strace-statx.o: statx.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statx.o -MD -MP -MF $(DEPDIR)/strace-statx.Tpo -c -o strace-statx.o `test -f 'statx.c' || echo '$(srcdir)/'`statx.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-statx.Tpo $(DEPDIR)/strace-statx.Po
+#	$(AM_V_CC)source='statx.c' object='strace-statx.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statx.o `test -f 'statx.c' || echo '$(srcdir)/'`statx.c
+
+strace-statx.obj: statx.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statx.obj -MD -MP -MF $(DEPDIR)/strace-statx.Tpo -c -o strace-statx.obj `if test -f 'statx.c'; then $(CYGPATH_W) 'statx.c'; else $(CYGPATH_W) '$(srcdir)/statx.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-statx.Tpo $(DEPDIR)/strace-statx.Po
+#	$(AM_V_CC)source='statx.c' object='strace-statx.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statx.obj `if test -f 'statx.c'; then $(CYGPATH_W) 'statx.c'; else $(CYGPATH_W) '$(srcdir)/statx.c'; fi`
+
 strace-strace.o: strace.c
 	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-strace.o -MD -MP -MF $(DEPDIR)/strace-strace.Tpo -c -o strace-strace.o `test -f 'strace.c' || echo '$(srcdir)/'`strace.c
 	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-strace.Tpo $(DEPDIR)/strace-strace.Po
@@ -5788,8 +5946,6 @@
 
 $(top_srcdir)/xlat/access_flags.h: $(top_srcdir)/xlat/access_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/aclipc.h: $(top_srcdir)/xlat/aclipc.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/addrfams.h: $(top_srcdir)/xlat/addrfams.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/adjtimex_modes.h: $(top_srcdir)/xlat/adjtimex_modes.in $(top_srcdir)/xlat/gen.sh
@@ -5808,6 +5964,8 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/at_flags.h: $(top_srcdir)/xlat/at_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/at_statx_sync_types.h: $(top_srcdir)/xlat/at_statx_sync_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/atomic_ops.h: $(top_srcdir)/xlat/atomic_ops.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/audit_arch.h: $(top_srcdir)/xlat/audit_arch.in $(top_srcdir)/xlat/gen.sh
@@ -5822,6 +5980,8 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/bootflags3.h: $(top_srcdir)/xlat/bootflags3.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_attach_flags.h: $(top_srcdir)/xlat/bpf_attach_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/bpf_attach_type.h: $(top_srcdir)/xlat/bpf_attach_type.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/bpf_class.h: $(top_srcdir)/xlat/bpf_class.in $(top_srcdir)/xlat/gen.sh
@@ -6132,8 +6292,6 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/open_mode_flags.h: $(top_srcdir)/xlat/open_mode_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/openmodessol.h: $(top_srcdir)/xlat/openmodessol.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/packet_mreq_type.h: $(top_srcdir)/xlat/packet_mreq_type.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/perf_attr_size.h: $(top_srcdir)/xlat/perf_attr_size.in $(top_srcdir)/xlat/gen.sh
@@ -6320,6 +6478,10 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/statfs_flags.h: $(top_srcdir)/xlat/statfs_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/statx_attrs.h: $(top_srcdir)/xlat/statx_attrs.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/statx_masks.h: $(top_srcdir)/xlat/statx_masks.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/swap_flags.h: $(top_srcdir)/xlat/swap_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/sync_file_range_flags.h: $(top_srcdir)/xlat/sync_file_range_flags.in $(top_srcdir)/xlat/gen.sh
@@ -6408,8 +6570,20 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/v4l2_memories.h: $(top_srcdir)/xlat/v4l2_memories.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_sliced_flags.h: $(top_srcdir)/xlat/v4l2_sliced_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/v4l2_streaming_capabilities.h: $(top_srcdir)/xlat/v4l2_streaming_capabilities.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_audmodes.h: $(top_srcdir)/xlat/v4l2_tuner_audmodes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_capabilities.h: $(top_srcdir)/xlat/v4l2_tuner_capabilities.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_rxsubchanses.h: $(top_srcdir)/xlat/v4l2_tuner_rxsubchanses.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_types.h: $(top_srcdir)/xlat/v4l2_tuner_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_vbi_flags.h: $(top_srcdir)/xlat/v4l2_vbi_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/wait4_options.h: $(top_srcdir)/xlat/wait4_options.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/waitid_types.h: $(top_srcdir)/xlat/waitid_types.in $(top_srcdir)/xlat/gen.sh
@@ -6562,6 +6736,7 @@
 
 dist-hook:
 	$(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
+	${AM_V_GEN}echo $(COPYRIGHT_YEAR) > $(distdir)/.year
 
 news-check: NEWS
 	$(AM_V_GEN)if head -1 $< |				\
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 9b00481..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,999 +0,0 @@
-# Automake input for strace.
-#
-# Copyright (c) 2002-2009 Roland McGrath <roland@redhat.com>
-# Copyright (c) 2006-2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2008-2015 Mike Frysinger <vapier@gentoo.org>
-# Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
-# 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.
-
-if HAVE_M32_RUNTIME
-TESTS_M32 = tests-m32
-endif
-if HAVE_MX32_RUNTIME
-TESTS_MX32 = tests-mx32
-endif
-SUBDIRS = tests $(TESTS_M32) $(TESTS_MX32)
-
-bin_PROGRAMS = strace
-man_MANS = strace.1
-bin_SCRIPTS = strace-graph strace-log-merge
-
-OS		= linux
-# ARCH is `i386', `m68k', `sparc', etc.
-ARCH		= @arch@
-
-ACLOCAL_AMFLAGS = -I m4
-AM_CFLAGS = $(WARN_CFLAGS)
-AM_CPPFLAGS = -I$(builddir)/$(OS)/$(ARCH) \
-	      -I$(srcdir)/$(OS)/$(ARCH) \
-	      -I$(builddir)/$(OS) \
-	      -I$(srcdir)/$(OS) \
-	      -I$(builddir) \
-	      -I$(srcdir)
-
-AM_CFLAGS_FOR_BUILD = $(WARN_CFLAGS_FOR_BUILD)
-AM_CPPFLAGS_FOR_BUILD = $(AM_CPPFLAGS)
-
-include xlat/Makemodule.am
-
-strace_CPPFLAGS = $(AM_CPPFLAGS)
-strace_CFLAGS = $(AM_CFLAGS)
-strace_LDFLAGS =
-strace_LDADD = libstrace.a
-noinst_LIBRARIES = libstrace.a
-
-libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
-libstrace_a_CFLAGS = $(strace_CFLAGS)
-libstrace_a_SOURCES =	\
-	fstatfs.c \
-	fstatfs64.c \
-	ipc.c \
-	socketcall.c \
-	statfs.c \
-	statfs64.c \
-	sync_file_range.c \
-	sync_file_range2.c \
-	upeek.c		\
-	upoke.c		\
-	# end of libstrace_a_SOURCES
-
-strace_SOURCES =	\
-	access.c	\
-	affinity.c	\
-	aio.c		\
-	alpha.c		\
-	bjm.c		\
-	block.c		\
-	bpf.c		\
-	btrfs.c		\
-	cacheflush.c	\
-	capability.c	\
-	caps0.h		\
-	caps1.h		\
-	chdir.c		\
-	chmod.c		\
-	clone.c		\
-	copy_file_range.c \
-	count.c		\
-	defs.h		\
-	desc.c		\
-	dirent.c	\
-	dirent64.c	\
-	dm.c		\
-	empty.h		\
-	epoll.c		\
-	evdev.c		\
-	eventfd.c	\
-	execve.c	\
-	fadvise.c	\
-	fallocate.c	\
-	fanotify.c	\
-	fchownat.c	\
-	fcntl.c		\
-	fetch_seccomp_fprog.c \
-	fetch_struct_flock.c \
-	fetch_struct_mmsghdr.c \
-	fetch_struct_msghdr.c \
-	fetch_struct_stat.c \
-	fetch_struct_stat64.c \
-	fetch_struct_statfs.c \
-	file_handle.c	\
-	file_ioctl.c	\
-	fs_x_ioctl.c	\
-	flock.c		\
-	flock.h		\
-	futex.c		\
-	gcc_compat.h	\
-	get_robust_list.c \
-	getcpu.c	\
-	getcwd.c	\
-	getrandom.c	\
-	hdio.c		\
-	hostname.c	\
-	inotify.c	\
-	io.c		\
-	ioctl.c		\
-	ioperm.c	\
-	iopl.c		\
-	ioprio.c	\
-	ipc_defs.h	\
-	ipc_msg.c	\
-	ipc_msgctl.c	\
-	ipc_sem.c	\
-	ipc_shm.c	\
-	ipc_shmctl.c	\
-	kcmp.c		\
-	kernel_types.h	\
-	kexec.c		\
-	keyctl.c	\
-	ldt.c		\
-	link.c		\
-	linux/asm_stat.h \
-	linux/x32/asm_stat.h \
-	linux/x86_64/asm_stat.h \
-	lookup_dcookie.c \
-	loop.c		\
-	lseek.c		\
-	mem.c		\
-	membarrier.c	\
-	memfd_create.c	\
-	mknod.c		\
-	mmsghdr.c	\
-	mount.c		\
-	mpers_type.h	\
-	mq.c		\
-	msghdr.c	\
-	msghdr.h	\
-	mtd.c		\
-	native_defs.h	\
-	net.c		\
-	netlink.c       \
-	nsig.h		\
-	numa.c		\
-	oldstat.c	\
-	open.c		\
-	or1k_atomic.c	\
-	pathtrace.c	\
-	perf.c		\
-	perf_event_struct.h \
-	personality.c	\
-	pkeys.c		\
-	poll.c		\
-	prctl.c		\
-	print_dev_t.c	\
-	print_mq_attr.c	\
-	print_msgbuf.c	\
-	print_sg_req_info.c \
-	print_sigevent.c \
-	print_statfs.c	\
-	print_struct_stat.c \
-	print_time.c	\
-	print_timespec.c \
-	print_timeval.c	\
-	print_timex.c	\
-	printmode.c	\
-	printrusage.c	\
-	printsiginfo.c	\
-	printsiginfo.h	\
-	process.c	\
-	process_vm.c	\
-	ptp.c		\
-	ptrace.h	\
-	qualify.c	\
-	quota.c		\
-	readahead.c	\
-	readlink.c	\
-	reboot.c	\
-	regs.h		\
-	renameat.c	\
-	resource.c	\
-	rtc.c		\
-	sched.c		\
-	scsi.c		\
-	seccomp.c	\
-	seccomp_fprog.h \
-	sendfile.c	\
-	sg_io_v3.c	\
-	sg_io_v4.c	\
-	sigaltstack.c	\
-	sigevent.h	\
-	signal.c	\
-	signalfd.c	\
-	sigreturn.c	\
-	sock.c		\
-	sockaddr.c	\
-	socketutils.c	\
-	sram_alloc.c	\
-	stat.c		\
-	stat.h		\
-	stat64.c	\
-	statfs.c	\
-	statfs.h	\
-	strace.c	\
-	swapon.c	\
-	syscall.c	\
-	sysctl.c	\
-	sysent.h	\
-	sysinfo.c	\
-	syslog.c	\
-	sysmips.c	\
-	term.c		\
-	time.c		\
-	times.c		\
-	truncate.c	\
-	ubi.c		\
-	uid.c		\
-	uid16.c		\
-	umask.c		\
-	umount.c	\
-	uname.c		\
-	userfaultfd.c	\
-	ustat.c		\
-	util.c		\
-	utime.c		\
-	utimes.c	\
-	v4l2.c		\
-	wait.c		\
-	xattr.c		\
-	xlat.h		\
-	xmalloc.c	\
-	# end of strace_SOURCES
-
-if USE_LIBUNWIND
-strace_SOURCES += unwind.c
-strace_CPPFLAGS += $(libunwind_CPPFLAGS)
-strace_LDFLAGS += $(libunwind_LDFLAGS)
-strace_LDADD += $(libunwind_LIBS)
-endif
-
-@CODE_COVERAGE_RULES@
-CODE_COVERAGE_BRANCH_COVERAGE = 1
-CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
-	--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
-CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*'
-strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
-strace_CFLAGS += $(CODE_COVERAGE_CFLAGS)
-strace_LDADD += $(CODE_COVERAGE_LDFLAGS)
-
-# Enable this to get link map generated
-#strace_LDFLAGS += -Wl,-Map=strace.mapfile
-
-EXTRA_DIST =				\
-	$(man_MANS)			\
-	.version			\
-	COPYING				\
-	CREDITS				\
-	ChangeLog			\
-	ChangeLog-CVS			\
-	README-linux-ptrace		\
-	debian/changelog		\
-	debian/compat			\
-	debian/control			\
-	debian/copyright		\
-	debian/rules			\
-	debian/source/format		\
-	debian/strace-udeb.install	\
-	debian/strace.docs		\
-	debian/strace.examples		\
-	debian/strace.install		\
-	debian/strace.manpages		\
-	debian/strace64.install		\
-	debian/strace64.manpages	\
-	debian/watch			\
-	errnoent.sh			\
-	generate_sen.sh			\
-	ioctl_iocdef.c			\
-	ioctlsort.c			\
-	linux/32/ioctls_inc.h		\
-	linux/32/ioctls_inc_align16.h	\
-	linux/32/ioctls_inc_align32.h	\
-	linux/32/ioctls_inc_align64.h	\
-	linux/32/syscallent.h		\
-	linux/64/ioctls_inc.h		\
-	linux/64/syscallent.h		\
-	linux/aarch64/arch_regs.c	\
-	linux/aarch64/arch_regs.h	\
-	linux/aarch64/arch_sigreturn.c	\
-	linux/aarch64/errnoent1.h	\
-	linux/aarch64/get_error.c	\
-	linux/aarch64/get_scno.c	\
-	linux/aarch64/get_syscall_args.c\
-	linux/aarch64/ioctls_arch0.h	\
-	linux/aarch64/ioctls_arch1.h	\
-	linux/aarch64/ioctls_inc0.h	\
-	linux/aarch64/ioctls_inc1.h	\
-	linux/aarch64/set_error.c	\
-	linux/aarch64/set_scno.c	\
-	linux/aarch64/signalent1.h	\
-	linux/aarch64/syscallent.h	\
-	linux/aarch64/syscallent1.h	\
-	linux/alpha/arch_getrval2.c	\
-	linux/alpha/arch_regs.c		\
-	linux/alpha/arch_regs.h		\
-	linux/alpha/arch_sigreturn.c	\
-	linux/alpha/errnoent.h		\
-	linux/alpha/get_error.c		\
-	linux/alpha/get_scno.c		\
-	linux/alpha/get_syscall_args.c	\
-	linux/alpha/get_syscall_result.c\
-	linux/alpha/ioctls_arch0.h	\
-	linux/alpha/ioctls_inc0.h	\
-	linux/alpha/set_error.c		\
-	linux/alpha/set_scno.c		\
-	linux/alpha/signalent.h		\
-	linux/alpha/syscallent.h	\
-	linux/alpha/userent.h		\
-	linux/arc/arch_regs.c		\
-	linux/arc/get_error.c		\
-	linux/arc/get_scno.c		\
-	linux/arc/get_syscall_args.c	\
-	linux/arc/ioctls_arch0.h	\
-	linux/arc/ioctls_inc0.h		\
-	linux/arc/set_error.c		\
-	linux/arc/set_scno.c		\
-	linux/arc/syscallent.h		\
-	linux/arch_regs.h		\
-	linux/arch_sigreturn.c		\
-	linux/arm/arch_regs.c		\
-	linux/arm/arch_regs.h		\
-	linux/arm/arch_sigreturn.c	\
-	linux/arm/get_error.c		\
-	linux/arm/get_scno.c		\
-	linux/arm/get_syscall_args.c	\
-	linux/arm/ioctls_arch0.h	\
-	linux/arm/ioctls_inc0.h		\
-	linux/arm/set_error.c		\
-	linux/arm/set_scno.c		\
-	linux/arm/syscallent.h		\
-	linux/arm/userent.h		\
-	linux/avr32/arch_regs.c		\
-	linux/avr32/get_error.c		\
-	linux/avr32/get_scno.c		\
-	linux/avr32/get_syscall_args.c	\
-	linux/avr32/ioctls_arch0.h	\
-	linux/avr32/ioctls_inc0.h	\
-	linux/avr32/set_error.c		\
-	linux/avr32/set_scno.c		\
-	linux/avr32/syscallent.h	\
-	linux/avr32/userent.h		\
-	linux/bfin/arch_regs.c		\
-	linux/bfin/get_error.c		\
-	linux/bfin/get_scno.c		\
-	linux/bfin/get_syscall_args.c	\
-	linux/bfin/get_syscall_result.c	\
-	linux/bfin/ioctls_arch0.h	\
-	linux/bfin/ioctls_inc0.h	\
-	linux/bfin/set_error.c		\
-	linux/bfin/set_scno.c		\
-	linux/bfin/syscallent.h		\
-	linux/bfin/userent.h		\
-	linux/crisv10/arch_regs.c	\
-	linux/crisv10/arch_sigreturn.c	\
-	linux/crisv10/get_error.c	\
-	linux/crisv10/get_scno.c	\
-	linux/crisv10/get_syscall_args.c	\
-	linux/crisv10/get_syscall_result.c	\
-	linux/crisv10/set_error.c	\
-	linux/crisv10/set_scno.c	\
-	linux/crisv10/syscallent.h	\
-	linux/crisv10/userent.h		\
-	linux/crisv32/arch_regs.c	\
-	linux/crisv32/arch_sigreturn.c	\
-	linux/crisv32/get_error.c	\
-	linux/crisv32/get_scno.c	\
-	linux/crisv32/get_syscall_args.c	\
-	linux/crisv32/get_syscall_result.c	\
-	linux/crisv32/set_error.c	\
-	linux/crisv32/set_scno.c	\
-	linux/crisv32/syscallent.h	\
-	linux/crisv32/userent.h		\
-	linux/dummy.h			\
-	linux/errnoent.h		\
-	linux/getregs_old.h		\
-	linux/hppa/arch_regs.c		\
-	linux/hppa/arch_regs.h		\
-	linux/hppa/errnoent.h		\
-	linux/hppa/get_error.c		\
-	linux/hppa/get_scno.c		\
-	linux/hppa/get_syscall_args.c	\
-	linux/hppa/get_syscall_result.c	\
-	linux/hppa/ioctls_arch0.h	\
-	linux/hppa/ioctls_inc0.h	\
-	linux/hppa/set_error.c		\
-	linux/hppa/set_scno.c		\
-	linux/hppa/signalent.h		\
-	linux/hppa/syscallent.h		\
-	linux/i386/arch_regs.c		\
-	linux/i386/arch_regs.h		\
-	linux/i386/arch_sigreturn.c	\
-	linux/i386/get_error.c		\
-	linux/i386/get_scno.c		\
-	linux/i386/get_syscall_args.c	\
-	linux/i386/ioctls_arch0.h	\
-	linux/i386/ioctls_inc0.h	\
-	linux/i386/set_error.c		\
-	linux/i386/set_scno.c		\
-	linux/i386/syscallent.h		\
-	linux/i386/userent.h		\
-	linux/i386/userent0.h		\
-	linux/ia64/arch_getrval2.c	\
-	linux/ia64/arch_regs.c		\
-	linux/ia64/arch_regs.h		\
-	linux/ia64/arch_sigreturn.c	\
-	linux/ia64/get_error.c		\
-	linux/ia64/get_scno.c		\
-	linux/ia64/get_syscall_args.c	\
-	linux/ia64/ioctls_arch0.h	\
-	linux/ia64/ioctls_inc0.h	\
-	linux/ia64/set_error.c		\
-	linux/ia64/set_scno.c		\
-	linux/ia64/syscallent.h		\
-	linux/ia64/userent.h		\
-	linux/inet_diag.h		\
-	linux/m68k/arch_regs.c		\
-	linux/m68k/arch_regs.h		\
-	linux/m68k/arch_sigreturn.c	\
-	linux/m68k/get_error.c		\
-	linux/m68k/get_scno.c		\
-	linux/m68k/get_syscall_args.c	\
-	linux/m68k/ioctls_arch0.h	\
-	linux/m68k/ioctls_inc0.h	\
-	linux/m68k/set_error.c		\
-	linux/m68k/set_scno.c		\
-	linux/m68k/syscallent.h		\
-	linux/m68k/userent.h		\
-	linux/metag/arch_regs.c		\
-	linux/metag/get_error.c		\
-	linux/metag/get_scno.c		\
-	linux/metag/get_syscall_args.c	\
-	linux/metag/ioctls_arch0.h	\
-	linux/metag/ioctls_inc0.h	\
-	linux/metag/set_error.c		\
-	linux/metag/set_scno.c		\
-	linux/metag/syscallent.h	\
-	linux/microblaze/arch_regs.c	\
-	linux/microblaze/arch_sigreturn.c	\
-	linux/microblaze/get_error.c	\
-	linux/microblaze/get_scno.c	\
-	linux/microblaze/get_syscall_args.c	\
-	linux/microblaze/get_syscall_result.c	\
-	linux/microblaze/ioctls_arch0.h	\
-	linux/microblaze/ioctls_inc0.h	\
-	linux/microblaze/set_error.c	\
-	linux/microblaze/set_scno.c	\
-	linux/microblaze/syscallent.h	\
-	linux/microblaze/userent.h	\
-	linux/mips/arch_getrval2.c	\
-	linux/mips/arch_regs.c		\
-	linux/mips/arch_regs.h		\
-	linux/mips/arch_sigreturn.c	\
-	linux/mips/errnoent.h		\
-	linux/mips/genstub.sh		\
-	linux/mips/get_error.c		\
-	linux/mips/get_scno.c		\
-	linux/mips/get_syscall_args.c	\
-	linux/mips/ioctls_arch0.h	\
-	linux/mips/ioctls_inc0.h	\
-	linux/mips/set_error.c		\
-	linux/mips/set_scno.c		\
-	linux/mips/signalent.h		\
-	linux/mips/syscallent-compat.h	\
-	linux/mips/syscallent-n32.h	\
-	linux/mips/syscallent-n64.h	\
-	linux/mips/syscallent-o32.h	\
-	linux/mips/syscallent.h		\
-	linux/mips/userent.h		\
-	linux/mtd-abi.h			\
-	linux/netlink_diag.h		\
-	linux/nios2/arch_regs.c		\
-	linux/nios2/get_error.c		\
-	linux/nios2/get_scno.c		\
-	linux/nios2/get_syscall_args.c	\
-	linux/nios2/ioctls_arch0.h	\
-	linux/nios2/ioctls_inc0.h	\
-	linux/nios2/set_error.c		\
-	linux/nios2/set_scno.c		\
-	linux/nios2/syscallent.h	\
-	linux/or1k/arch_regs.c		\
-	linux/or1k/get_error.c		\
-	linux/or1k/get_scno.c		\
-	linux/or1k/get_syscall_args.c	\
-	linux/or1k/ioctls_arch0.h	\
-	linux/or1k/ioctls_inc0.h	\
-	linux/or1k/set_error.c		\
-	linux/or1k/set_scno.c		\
-	linux/or1k/syscallent.h		\
-	linux/or1k/userent.h		\
-	linux/personality.h		\
-	linux/powerpc/arch_regs.c	\
-	linux/powerpc/arch_regs.h	\
-	linux/powerpc/arch_sigreturn.c	\
-	linux/powerpc/errnoent.h	\
-	linux/powerpc/get_error.c	\
-	linux/powerpc/get_scno.c	\
-	linux/powerpc/get_syscall_args.c	\
-	linux/powerpc/getregs_old.c	\
-	linux/powerpc/getregs_old.h	\
-	linux/powerpc/ioctls_arch0.h	\
-	linux/powerpc/ioctls_inc0.h	\
-	linux/powerpc/set_error.c	\
-	linux/powerpc/set_scno.c	\
-	linux/powerpc/syscallent.h	\
-	linux/powerpc/userent.h		\
-	linux/powerpc64/arch_regs.c	\
-	linux/powerpc64/arch_regs.h	\
-	linux/powerpc64/arch_sigreturn.c	\
-	linux/powerpc64/errnoent.h	\
-	linux/powerpc64/errnoent1.h	\
-	linux/powerpc64/get_error.c	\
-	linux/powerpc64/get_scno.c	\
-	linux/powerpc64/get_syscall_args.c	\
-	linux/powerpc64/getregs_old.c	\
-	linux/powerpc64/getregs_old.h	\
-	linux/powerpc64/ioctls_arch0.h	\
-	linux/powerpc64/ioctls_arch1.h	\
-	linux/powerpc64/ioctls_inc0.h	\
-	linux/powerpc64/ioctls_inc1.h	\
-	linux/powerpc64/set_error.c	\
-	linux/powerpc64/set_scno.c	\
-	linux/powerpc64/signalent1.h	\
-	linux/powerpc64/syscallent.h	\
-	linux/powerpc64/syscallent1.h	\
-	linux/powerpc64/userent.h	\
-	linux/ptp_clock.h		\
-	linux/riscv/arch_regs.c		\
-	linux/riscv/errnoent1.h		\
-	linux/riscv/get_error.c		\
-	linux/riscv/get_scno.c		\
-	linux/riscv/get_syscall_args.c	\
-	linux/riscv/ioctls_arch0.h	\
-	linux/riscv/ioctls_arch1.h	\
-	linux/riscv/ioctls_inc0.h	\
-	linux/riscv/ioctls_inc1.h	\
-	linux/riscv/set_error.c		\
-	linux/riscv/set_scno.c		\
-	linux/riscv/signalent1.h	\
-	linux/riscv/syscallent.h	\
-	linux/riscv/syscallent1.h	\
-	linux/s390/arch_regs.c		\
-	linux/s390/arch_regs.h		\
-	linux/s390/arch_sigreturn.c	\
-	linux/s390/get_error.c		\
-	linux/s390/get_scno.c		\
-	linux/s390/get_syscall_args.c	\
-	linux/s390/ioctls_arch0.h	\
-	linux/s390/ioctls_inc0.h	\
-	linux/s390/set_error.c		\
-	linux/s390/set_scno.c		\
-	linux/s390/syscallent.h		\
-	linux/s390/userent.h		\
-	linux/s390/userent0.h		\
-	linux/s390/userent1.h		\
-	linux/s390x/arch_regs.c		\
-	linux/s390x/arch_regs.h		\
-	linux/s390x/arch_sigreturn.c	\
-	linux/s390x/get_error.c		\
-	linux/s390x/get_scno.c		\
-	linux/s390x/get_syscall_args.c	\
-	linux/s390x/ioctls_arch0.h	\
-	linux/s390x/ioctls_inc0.h	\
-	linux/s390x/set_error.c		\
-	linux/s390x/set_scno.c		\
-	linux/s390x/syscallent.h	\
-	linux/s390x/userent.h		\
-	linux/sh/arch_getrval2.c	\
-	linux/sh/arch_regs.c		\
-	linux/sh/get_error.c		\
-	linux/sh/get_scno.c		\
-	linux/sh/get_syscall_args.c	\
-	linux/sh/get_syscall_result.c	\
-	linux/sh/ioctls_arch0.h		\
-	linux/sh/ioctls_inc0.h		\
-	linux/sh/set_error.c		\
-	linux/sh/set_scno.c		\
-	linux/sh/syscallent.h		\
-	linux/sh/userent.h		\
-	linux/sh/userent0.h		\
-	linux/sh64/arch_regs.c		\
-	linux/sh64/arch_regs.h		\
-	linux/sh64/get_error.c		\
-	linux/sh64/get_scno.c		\
-	linux/sh64/get_syscall_args.c	\
-	linux/sh64/get_syscall_result.c	\
-	linux/sh64/ioctls_arch0.h	\
-	linux/sh64/ioctls_inc0.h	\
-	linux/sh64/set_error.c		\
-	linux/sh64/set_scno.c		\
-	linux/sh64/syscallent.h		\
-	linux/sh64/userent.h		\
-	linux/signalent.h		\
-	linux/sock_diag.h		\
-	linux/sparc/arch_getrval2.c	\
-	linux/sparc/arch_regs.c		\
-	linux/sparc/arch_regs.h		\
-	linux/sparc/arch_sigreturn.c	\
-	linux/sparc/errnoent.h		\
-	linux/sparc/gen.pl		\
-	linux/sparc/get_error.c		\
-	linux/sparc/get_scno.c		\
-	linux/sparc/get_syscall_args.c	\
-	linux/sparc/ioctls_arch0.h	\
-	linux/sparc/ioctls_inc0.h	\
-	linux/sparc/set_error.c		\
-	linux/sparc/set_scno.c		\
-	linux/sparc/signalent.h		\
-	linux/sparc/syscallent.h	\
-	linux/sparc/userent.h		\
-	linux/sparc64/arch_getrval2.c	\
-	linux/sparc64/arch_regs.c	\
-	linux/sparc64/arch_regs.h	\
-	linux/sparc64/arch_sigreturn.c	\
-	linux/sparc64/errnoent.h	\
-	linux/sparc64/errnoent1.h	\
-	linux/sparc64/get_error.c	\
-	linux/sparc64/get_scno.c	\
-	linux/sparc64/get_syscall_args.c\
-	linux/sparc64/ioctls_arch0.h	\
-	linux/sparc64/ioctls_arch1.h	\
-	linux/sparc64/ioctls_inc0.h	\
-	linux/sparc64/ioctls_inc1.h	\
-	linux/sparc64/set_error.c	\
-	linux/sparc64/set_scno.c	\
-	linux/sparc64/signalent.h	\
-	linux/sparc64/signalent1.h	\
-	linux/sparc64/syscallent.h	\
-	linux/sparc64/syscallent1.h	\
-	linux/sparc64/userent.h		\
-	linux/subcall.h			\
-	linux/syscall.h			\
-	linux/tile/arch_regs.c		\
-	linux/tile/arch_regs.h		\
-	linux/tile/arch_sigreturn.c	\
-	linux/tile/errnoent1.h		\
-	linux/tile/get_error.c		\
-	linux/tile/get_scno.c		\
-	linux/tile/get_syscall_args.c	\
-	linux/tile/ioctls_arch0.h	\
-	linux/tile/ioctls_arch1.h	\
-	linux/tile/ioctls_inc0.h	\
-	linux/tile/ioctls_inc1.h	\
-	linux/tile/set_error.c		\
-	linux/tile/set_scno.c		\
-	linux/tile/signalent1.h		\
-	linux/tile/syscallent.h		\
-	linux/tile/syscallent1.h	\
-	linux/tile/userent.h		\
-	linux/ubi-user.h		\
-	linux/unix_diag.h		\
-	linux/userent.h			\
-	linux/userent0.h		\
-	linux/x32/arch_regs.c		\
-	linux/x32/arch_regs.h		\
-	linux/x32/arch_sigreturn.c	\
-	linux/x32/errnoent1.h		\
-	linux/x32/get_error.c		\
-	linux/x32/get_scno.c		\
-	linux/x32/get_syscall_args.c	\
-	linux/x32/ioctls_arch0.h	\
-	linux/x32/ioctls_arch1.h	\
-	linux/x32/ioctls_inc0.h		\
-	linux/x32/ioctls_inc1.h		\
-	linux/x32/set_error.c		\
-	linux/x32/set_scno.c		\
-	linux/x32/signalent1.h		\
-	linux/x32/syscallent.h		\
-	linux/x32/syscallent1.h		\
-	linux/x32/userent.h		\
-	linux/x86_64/arch_regs.c	\
-	linux/x86_64/arch_regs.h	\
-	linux/x86_64/arch_sigreturn.c	\
-	linux/x86_64/errnoent1.h	\
-	linux/x86_64/errnoent2.h	\
-	linux/x86_64/gentab.pl		\
-	linux/x86_64/get_error.c	\
-	linux/x86_64/get_scno.c		\
-	linux/x86_64/get_syscall_args.c	\
-	linux/x86_64/getregs_old.c	\
-	linux/x86_64/getregs_old.h	\
-	linux/x86_64/ioctls_arch0.h	\
-	linux/x86_64/ioctls_arch1.h	\
-	linux/x86_64/ioctls_arch2.h	\
-	linux/x86_64/ioctls_inc0.h	\
-	linux/x86_64/ioctls_inc1.h	\
-	linux/x86_64/ioctls_inc2.h	\
-	linux/x86_64/set_error.c	\
-	linux/x86_64/set_scno.c		\
-	linux/x86_64/signalent1.h	\
-	linux/x86_64/signalent2.h	\
-	linux/x86_64/syscallent.h	\
-	linux/x86_64/syscallent1.h	\
-	linux/x86_64/syscallent2.h	\
-	linux/x86_64/userent.h		\
-	linux/xtensa/arch_regs.c	\
-	linux/xtensa/get_error.c	\
-	linux/xtensa/get_scno.c		\
-	linux/xtensa/get_syscall_args.c	\
-	linux/xtensa/get_syscall_result.c	\
-	linux/xtensa/ioctls_arch0.h	\
-	linux/xtensa/ioctls_inc0.h	\
-	linux/xtensa/set_error.c	\
-	linux/xtensa/set_scno.c		\
-	linux/xtensa/syscallent.h	\
-	linux/xtensa/userent.h		\
-	maint/ioctls_gen.sh		\
-	maint/ioctls_hex.sh		\
-	maint/ioctls_sym.sh		\
-	maint/print_ioctlent.c		\
-	mpers.awk			\
-	mpers.sh			\
-	mpers_test.sh			\
-	mpers_xlat.h			\
-	scno.head			\
-	signalent.sh			\
-	strace-graph			\
-	strace-log-merge		\
-	strace.spec			\
-	syscallent.sh			\
-	$(XLAT_INPUT_FILES)		\
-	$(XLAT_HEADER_FILES)		\
-	xlat/gen.sh			\
-	xlate.el
-
-.PHONY: check-valgrind-local
-check-valgrind-local:
-
-.PHONY: srpm
-srpm: dist-xz
-	rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.xz
-
-$(srcdir)/.version:
-	$(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
-
-strace_SOURCES_c = \
-	$(filter %.c,$(strace_SOURCES)) $(filter %.c,$(libstrace_a_SOURCES))
-
-sys_func.h: $(patsubst %,$(srcdir)/%,$(strace_SOURCES_c))
-	for f in $^; do \
-		sed -n 's/^SYS_FUNC(.*/extern &;/p' $$f; \
-	done | sort -u > $@
-
-syscallent_names = subcall.h syscallent.h syscallent1.h \
-		   syscallent-n32.h syscallent-n64.h syscallent-o32.h
-syscallent_patterns = $(patsubst %,\%/%,$(syscallent_names))
-syscallent_files = $(filter $(syscallent_patterns),$(EXTRA_DIST))
-
-sen.h: $(patsubst %,$(srcdir)/%,$(syscallent_files))
-	for f in $^; do cat -- $$f; done | \
-		$(srcdir)/generate_sen.sh > $@
-
-dist-hook:
-	$(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
-
-today = $(shell date +%Y-%m-%d)
-version_regexp = $(subst .,\.,$(VERSION))
-news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))'
-
-news-check: NEWS
-	$(AM_V_GEN)if head -1 $< |				\
-	  grep -x $(news_check_regexp) >/dev/null; then		\
-		:;						\
-	else							\
-		echo >&2 '$<: check failed';			\
-		exit 1;						\
-	fi
-
-ioctlsort_CC = $(CC_FOR_BUILD)
-ioctlsort_DEFS = $(DEFS)
-ioctlsort_INCLUDES = $(DEFAULT_INCLUDES) $(INCLUDES)
-ioctlsort_CPPFLAGS = $(AM_CPPFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD)
-ioctlsort_CFLAGS = $(AM_CFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
-ioctlsort_LDFLAGS = $(AM_LDFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD)
-
-ioctls_inc_h = $(wildcard $(srcdir)/$(OS)/$(ARCH)/ioctls_inc*.h)
-ioctlent_h = $(patsubst $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%,ioctlent%,$(ioctls_inc_h))
-ioctl_redefs_h = $(filter-out ioctl_redefs0.h,$(subst ioctlent,ioctl_redefs,$(ioctlent_h)))
-
-ioctl_redefs%.h: ioctlent%.h ioctlent0.h
-	sort $< > $<-t
-	sort ioctlent0.h | comm -23 $<-t - | \
-		sed -r -n 's/^\{ "([^"]+)", (0x[[:xdigit:]]+) \},$$/#ifdef \1\n# undef \1\n# define \1 \2\n#endif/p' \
-		> $@-t
-	rm -f $<-t
-	mv $@-t $@
-
-ioctlent%.h: ioctlsort%
-	./$< > $@
-
-# Need to pick up <linux/ioctl.h> definitions *for host* while compiling
-# ioctlsort *for build*, hence this magic.
-ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c
-	$(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-		$(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@
-
-ioctl_iocdef.h: ioctl_iocdef.i
-	sed -n 's/^DEFINE HOST/#define /p' $< > $@
-
-ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o
-	$(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@
-
-ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c
-	$(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c
-
-ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h
-	cat $^ > $@
-
-BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) \
-		native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version
-CLEANFILES    = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
-		ioctl_iocdef.h ioctl_iocdef.i \
-		native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h
-DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h
-
-include scno.am
-
-$(strace_OBJECTS): scno.h
-
-# defines mpers_source_files
-include mpers.am
-srcdir_mpers_source_files = $(patsubst %,$(srcdir)/%,$(mpers_source_files))
-mpers_preproc_files = $(mpers_source_files:.c=.c.mpers.i)
-
-mpers_NAME =
-mpers_PREFIX = $(mpers_NAME)_
-mpers_DEFS = $(DEFS)
-mpers_INCLUDES = $(DEFAULT_INCLUDES) $(INCLUDES)
-mpers_CPPFLAGS = $(strace_CPPFLAGS) $(CPPFLAGS)
-mpers_sh_opts = $(mpers_DEFS) $(mpers_INCLUDES) $(mpers_CPPFLAGS)
-libmpers_CPPFLAGS = $(strace_CPPFLAGS) -DIN_MPERS
-libmpers_CFLAGS = $(strace_CFLAGS)
-
-# mpers targets
-
-mpers-m%.stamp: $(srcdir_mpers_source_files) | printers.h
-	for f in $^; do \
-		CC="$(CC)" CFLAGS="$(mpers_sh_opts) -DMPERS_IS_$(mpers_NAME)" \
-		CPP="$(CPP)" CPPFLAGS="$(mpers_sh_opts) -DIN_MPERS -DMPERS_IS_$(mpers_NAME)" \
-		$(srcdir)/mpers.sh -$(mpers_NAME) $$f || exit; \
-	done
-	> $@
-
-m%_type_defs.h: $(srcdir_mpers_source_files)
-	for f in $^; do \
-		sed -r -n 's/^#[[:space:]]*include DEF_MPERS_TYPE\(([^)]+)\)/#ifdef MPERS_$(mpers_PREFIX)\1\n# define \1 MPERS_$(mpers_PREFIX)\1\n#endif/p' $$f || exit; \
-	done > $@-t
-	echo '#undef MPERS_PRINTER_NAME' >> $@-t
-	echo '#define MPERS_PRINTER_NAME(printer_name) printer_name' >> $@-t
-	echo '#include "$(mpers_PREFIX)printer_decls.h"' >> $@-t
-	echo '#include MPERS_$(mpers_PREFIX)IOCTL_MACROS' >> $@-t
-	mv $@-t $@
-
-m%_funcs.h: $(srcdir_mpers_source_files)
-	for f in $^; do \
-		sed -r -n 's/^SYS_FUNC\(([^)]+)\)/#undef sys_\1\n#define sys_\1 $(mpers_PREFIX)sys_\1/p' $$f || exit; \
-	done > $@-t && \
-	echo '#include "sys_func.h"' >> $@-t
-	mv $@-t $@
-
-# printers
-
-%.c.mpers.i: $(srcdir)/%.c
-	$(CPP) -P $(mpers_sh_opts) -DIN_MPERS_BOOTSTRAP $< -o $@
-
-mpers_printer_decl_pattern = ^MPERS_PRINTER_DECL\(([^,)]+),[[:space:]]*([^,)]+),[[:space:]]*([^)]+)\)$$
-
-printers.h: $(mpers_preproc_files)
-	echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
-	echo 'typedef struct {' >> $@-t
-	for f in $^; do \
-		sed -r -n 's/$(mpers_printer_decl_pattern)/ \1 (*\2)(\3);\n#define \2 MPERS_PRINTER_NAME(\2)\n/p' $$f \
-		|| exit; \
-	done >> $@-t
-	echo '} struct_printers;' >> $@-t
-	echo 'extern const struct_printers *printers;' >> $@-t
-	echo '#define MPERS_PRINTER_NAME(printer_name) printers->printer_name' >> $@-t
-	mv $@-t $@
-
-%_printer_decls.h: $(mpers_preproc_files)
-	echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
-	for f in $^; do \
-		sed -r -n 's/$(mpers_printer_decl_pattern)/extern \1 $(mpers_PREFIX)\2(\3);/p' $$f \
-		|| exit; \
-	done >> $@-t
-	mv $@-t $@
-
-%_printer_defs.h: $(mpers_preproc_files)
-	echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
-	for f in $^; do \
-		sed -r -n 's/$(mpers_printer_decl_pattern)/.\2 = $(mpers_PREFIX)\2,/p' $$f \
-		|| exit; \
-	done >> $@-t
-	mv $@-t $@
-
-native_printer_decls.h native_printer_defs.h: mpers_PREFIX =
-
-if HAVE_M32_MPERS
-
-strace_LDADD += libmpers-m32.a
-noinst_LIBRARIES += libmpers-m32.a
-libmpers_m32_a_SOURCES = $(mpers_source_files)
-libmpers_m32_a_CPPFLAGS = $(libmpers_CPPFLAGS) -DMPERS_IS_m32 -I$(builddir)/mpers-m32
-libmpers_m32_a_CFLAGS = $(libmpers_CFLAGS)
-mpers_m32_targets = mpers-m32.stamp m32_type_defs.h m32_funcs.h m32_printer_decls.h m32_printer_defs.h
-
-BUILT_SOURCES += $(mpers_m32_targets)
-CLEANFILES    += $(mpers_m32_targets)
-
-$(mpers_m32_targets): mpers_NAME = m32
-
-endif # HAVE_M32_MPERS
-
-if HAVE_MX32_MPERS
-
-strace_LDADD += libmpers-mx32.a
-noinst_LIBRARIES += libmpers-mx32.a
-libmpers_mx32_a_SOURCES = $(mpers_source_files)
-libmpers_mx32_a_CPPFLAGS = $(libmpers_CPPFLAGS) -DMPERS_IS_mx32 -I$(builddir)/mpers-mx32
-libmpers_mx32_a_CFLAGS = $(libmpers_CFLAGS)
-mpers_mx32_targets = mpers-mx32.stamp mx32_type_defs.h mx32_funcs.h mx32_printer_decls.h mx32_printer_defs.h
-
-BUILT_SOURCES += $(mpers_mx32_targets)
-CLEANFILES    += $(mpers_mx32_targets)
-
-$(mpers_mx32_targets): mpers_NAME = mx32
-
-endif # HAVE_MX32_MPERS
-
-clean-local:
-	-rm -rf mpers-m32 mpers-mx32
-
-if MAINTAINER_MODE
-
-gen_changelog_start_date = 2009-07-08 20:00
-$(srcdir)/ChangeLog: $(srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
-		     $(srcdir)/.version
-	@rm -f $@.new
-	(cd $(srcdir); \
-	 ./gitlog-to-changelog --append-dot \
-	   --since='$(gen_changelog_start_date)'; \
-	 echo; echo; echo 'See ChangeLog-CVS for older changes.' \
-	) > $@.new
-	chmod 444 $@.new
-	mv -f $@.new $@
-
-$(srcdir)/CREDITS: $(srcdir)/CREDITS.in $(srcdir)/.mailmap \
-		   $(srcdir)/Makefile.in $(srcdir)/.version
-	$(AM_V_GEN)							\
-	(								\
-	  cd $(srcdir);							\
-	  sed '/^##/,$$d' CREDITS.in;					\
-	  { sed -n '1,/^##>/d; s/   */\t/; s/^./&/p' CREDITS.in;	\
-	    git log --pretty=format:'%aN	%aE';			\
-	  } | LC_ALL=C sort -u						\
-	    | awk -F'\t' '{printf("\t%s <%s>\n",$$1,$$2)}';		\
-	) > $@-t && mv $@-t $@
-
-export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
-
-endif
diff --git a/Makefile.in b/Makefile.in
index d0a31ad..ee3dbe3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -20,6 +20,7 @@
 # Copyright (c) 2006-2016 Dmitry V. Levin <ldv@altlinux.org>
 # Copyright (c) 2008-2015 Mike Frysinger <vapier@gentoo.org>
 # Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+# Copyright (c) 2002-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -190,8 +191,9 @@
 	fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c \
 	mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
 	print_sigevent.c print_time.c print_timespec.c print_timeval.c \
-	print_timex.c printrusage.c printsiginfo.c rtc.c sg_io_v3.c \
-	sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c
+	print_timex.c printrusage.c printsiginfo.c rt_sigreturn.c \
+	rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c \
+	ustat.c utime.c v4l2.c
 am__objects_1 = libmpers_m32_a-block.$(OBJEXT) \
 	libmpers_m32_a-btrfs.$(OBJEXT) libmpers_m32_a-dirent.$(OBJEXT) \
 	libmpers_m32_a-evdev.$(OBJEXT) \
@@ -216,6 +218,7 @@
 	libmpers_m32_a-print_timex.$(OBJEXT) \
 	libmpers_m32_a-printrusage.$(OBJEXT) \
 	libmpers_m32_a-printsiginfo.$(OBJEXT) \
+	libmpers_m32_a-rt_sigreturn.$(OBJEXT) \
 	libmpers_m32_a-rtc.$(OBJEXT) libmpers_m32_a-sg_io_v3.$(OBJEXT) \
 	libmpers_m32_a-sigaltstack.$(OBJEXT) \
 	libmpers_m32_a-sock.$(OBJEXT) libmpers_m32_a-sysinfo.$(OBJEXT) \
@@ -232,8 +235,9 @@
 	fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c \
 	mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
 	print_sigevent.c print_time.c print_timespec.c print_timeval.c \
-	print_timex.c printrusage.c printsiginfo.c rtc.c sg_io_v3.c \
-	sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c
+	print_timex.c printrusage.c printsiginfo.c rt_sigreturn.c \
+	rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c \
+	ustat.c utime.c v4l2.c
 am__objects_2 = libmpers_mx32_a-block.$(OBJEXT) \
 	libmpers_mx32_a-btrfs.$(OBJEXT) \
 	libmpers_mx32_a-dirent.$(OBJEXT) \
@@ -259,6 +263,7 @@
 	libmpers_mx32_a-print_timex.$(OBJEXT) \
 	libmpers_mx32_a-printrusage.$(OBJEXT) \
 	libmpers_mx32_a-printsiginfo.$(OBJEXT) \
+	libmpers_mx32_a-rt_sigreturn.$(OBJEXT) \
 	libmpers_mx32_a-rtc.$(OBJEXT) \
 	libmpers_mx32_a-sg_io_v3.$(OBJEXT) \
 	libmpers_mx32_a-sigaltstack.$(OBJEXT) \
@@ -273,6 +278,7 @@
 libstrace_a_LIBADD =
 am_libstrace_a_OBJECTS = libstrace_a-fstatfs.$(OBJEXT) \
 	libstrace_a-fstatfs64.$(OBJEXT) libstrace_a-ipc.$(OBJEXT) \
+	libstrace_a-sigreturn.$(OBJEXT) \
 	libstrace_a-socketcall.$(OBJEXT) libstrace_a-statfs.$(OBJEXT) \
 	libstrace_a-statfs64.$(OBJEXT) \
 	libstrace_a-sync_file_range.$(OBJEXT) \
@@ -299,23 +305,25 @@
 	linux/x32/asm_stat.h linux/x86_64/asm_stat.h lookup_dcookie.c \
 	loop.c lseek.c mem.c membarrier.c memfd_create.c mknod.c \
 	mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
-	native_defs.h net.c netlink.c nsig.h numa.c oldstat.c open.c \
-	or1k_atomic.c pathtrace.c perf.c perf_event_struct.h \
-	personality.c pkeys.c poll.c prctl.c print_dev_t.c \
-	print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
-	print_sigevent.c print_statfs.c print_struct_stat.c \
-	print_time.c print_timespec.c print_timeval.c print_timex.c \
-	printmode.c printrusage.c printsiginfo.c printsiginfo.h \
-	process.c process_vm.c ptp.c ptrace.h qualify.c quota.c \
-	readahead.c readlink.c reboot.c regs.h renameat.c resource.c \
-	rtc.c sched.c scsi.c seccomp.c seccomp_fprog.h sendfile.c \
-	sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h signal.c \
-	signalfd.c sigreturn.c sock.c sockaddr.c socketutils.c \
-	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h strace.c \
-	swapon.c syscall.c sysctl.c sysent.h sysinfo.c syslog.c \
-	sysmips.c term.c time.c times.c truncate.c ubi.c uid.c uid16.c \
-	umask.c umount.c uname.c userfaultfd.c ustat.c util.c utime.c \
-	utimes.c v4l2.c wait.c xattr.c xlat.h xmalloc.c unwind.c
+	native_defs.h net.c netlink.c nsfs.c nsfs.h nsig.h numa.c \
+	oldstat.c open.c or1k_atomic.c pathtrace.c perf.c \
+	perf_event_struct.h personality.c pkeys.c poll.c prctl.c \
+	print_dev_t.c print_mq_attr.c print_msgbuf.c \
+	print_sg_req_info.c print_sigevent.c print_statfs.c \
+	print_struct_stat.c print_time.c print_timespec.c \
+	print_timeval.c print_timex.c printmode.c printrusage.c \
+	printsiginfo.c printsiginfo.h process.c process_vm.c ptp.c \
+	ptrace.h qualify.c quota.c readahead.c readlink.c reboot.c \
+	regs.h renameat.c resource.c rt_sigframe.c rt_sigreturn.c \
+	rtc.c sched.c sched_attr.h scsi.c seccomp.c seccomp_fprog.h \
+	sendfile.c sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h \
+	signal.c signalfd.c sock.c sockaddr.c socketutils.c \
+	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h statx.c \
+	statx.h strace.c swapon.c syscall.c sysctl.c sysent.h \
+	sysinfo.c syslog.c sysmips.c term.c time.c times.c truncate.c \
+	ubi.c uid.c uid16.c umask.c umount.c uname.c userfaultfd.c \
+	ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.h \
+	xmalloc.c unwind.c
 @USE_LIBUNWIND_TRUE@am__objects_3 = strace-unwind.$(OBJEXT)
 am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
 	strace-aio.$(OBJEXT) strace-alpha.$(OBJEXT) \
@@ -358,13 +366,14 @@
 	strace-mmsghdr.$(OBJEXT) strace-mount.$(OBJEXT) \
 	strace-mq.$(OBJEXT) strace-msghdr.$(OBJEXT) \
 	strace-mtd.$(OBJEXT) strace-net.$(OBJEXT) \
-	strace-netlink.$(OBJEXT) strace-numa.$(OBJEXT) \
-	strace-oldstat.$(OBJEXT) strace-open.$(OBJEXT) \
-	strace-or1k_atomic.$(OBJEXT) strace-pathtrace.$(OBJEXT) \
-	strace-perf.$(OBJEXT) strace-personality.$(OBJEXT) \
-	strace-pkeys.$(OBJEXT) strace-poll.$(OBJEXT) \
-	strace-prctl.$(OBJEXT) strace-print_dev_t.$(OBJEXT) \
-	strace-print_mq_attr.$(OBJEXT) strace-print_msgbuf.$(OBJEXT) \
+	strace-netlink.$(OBJEXT) strace-nsfs.$(OBJEXT) \
+	strace-numa.$(OBJEXT) strace-oldstat.$(OBJEXT) \
+	strace-open.$(OBJEXT) strace-or1k_atomic.$(OBJEXT) \
+	strace-pathtrace.$(OBJEXT) strace-perf.$(OBJEXT) \
+	strace-personality.$(OBJEXT) strace-pkeys.$(OBJEXT) \
+	strace-poll.$(OBJEXT) strace-prctl.$(OBJEXT) \
+	strace-print_dev_t.$(OBJEXT) strace-print_mq_attr.$(OBJEXT) \
+	strace-print_msgbuf.$(OBJEXT) \
 	strace-print_sg_req_info.$(OBJEXT) \
 	strace-print_sigevent.$(OBJEXT) strace-print_statfs.$(OBJEXT) \
 	strace-print_struct_stat.$(OBJEXT) strace-print_time.$(OBJEXT) \
@@ -376,15 +385,16 @@
 	strace-quota.$(OBJEXT) strace-readahead.$(OBJEXT) \
 	strace-readlink.$(OBJEXT) strace-reboot.$(OBJEXT) \
 	strace-renameat.$(OBJEXT) strace-resource.$(OBJEXT) \
+	strace-rt_sigframe.$(OBJEXT) strace-rt_sigreturn.$(OBJEXT) \
 	strace-rtc.$(OBJEXT) strace-sched.$(OBJEXT) \
 	strace-scsi.$(OBJEXT) strace-seccomp.$(OBJEXT) \
 	strace-sendfile.$(OBJEXT) strace-sg_io_v3.$(OBJEXT) \
 	strace-sg_io_v4.$(OBJEXT) strace-sigaltstack.$(OBJEXT) \
 	strace-signal.$(OBJEXT) strace-signalfd.$(OBJEXT) \
-	strace-sigreturn.$(OBJEXT) strace-sock.$(OBJEXT) \
-	strace-sockaddr.$(OBJEXT) strace-socketutils.$(OBJEXT) \
-	strace-sram_alloc.$(OBJEXT) strace-stat.$(OBJEXT) \
-	strace-stat64.$(OBJEXT) strace-statfs.$(OBJEXT) \
+	strace-sock.$(OBJEXT) strace-sockaddr.$(OBJEXT) \
+	strace-socketutils.$(OBJEXT) strace-sram_alloc.$(OBJEXT) \
+	strace-stat.$(OBJEXT) strace-stat64.$(OBJEXT) \
+	strace-statfs.$(OBJEXT) strace-statx.$(OBJEXT) \
 	strace-strace.$(OBJEXT) strace-swapon.$(OBJEXT) \
 	strace-syscall.$(OBJEXT) strace-sysctl.$(OBJEXT) \
 	strace-sysinfo.$(OBJEXT) strace-syslog.$(OBJEXT) \
@@ -579,6 +589,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
@@ -714,14 +725,15 @@
 
 AM_CFLAGS_FOR_BUILD = $(WARN_CFLAGS_FOR_BUILD)
 AM_CPPFLAGS_FOR_BUILD = $(AM_CPPFLAGS)
-XLAT_INPUT_FILES = xlat/access_flags.in xlat/aclipc.in \
-	xlat/addrfams.in xlat/adjtimex_modes.in xlat/adjtimex_state.in \
+XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
+	xlat/adjtimex_modes.in xlat/adjtimex_state.in \
 	xlat/adjtimex_status.in xlat/advise.in xlat/af_packet_types.in \
 	xlat/archvals.in xlat/arp_hardware_types.in xlat/at_flags.in \
-	xlat/atomic_ops.in xlat/audit_arch.in xlat/baud_options.in \
-	xlat/blkpg_ops.in xlat/bootflags1.in xlat/bootflags2.in \
-	xlat/bootflags3.in xlat/bpf_attach_type.in xlat/bpf_class.in \
-	xlat/bpf_commands.in xlat/bpf_map_types.in \
+	xlat/at_statx_sync_types.in xlat/atomic_ops.in \
+	xlat/audit_arch.in xlat/baud_options.in xlat/blkpg_ops.in \
+	xlat/bootflags1.in xlat/bootflags2.in xlat/bootflags3.in \
+	xlat/bpf_attach_flags.in xlat/bpf_attach_type.in \
+	xlat/bpf_class.in xlat/bpf_commands.in xlat/bpf_map_types.in \
 	xlat/bpf_map_update_elem_flags.in xlat/bpf_miscop.in \
 	xlat/bpf_mode.in xlat/bpf_op_alu.in xlat/bpf_op_jmp.in \
 	xlat/bpf_prog_types.in xlat/bpf_rval.in xlat/bpf_size.in \
@@ -790,9 +802,9 @@
 	xlat/netlink_protocols.in xlat/netlink_types.in \
 	xlat/notifyflags.in xlat/nt_descriptor_types.in \
 	xlat/open_access_modes.in xlat/open_mode_flags.in \
-	xlat/openmodessol.in xlat/packet_mreq_type.in \
-	xlat/perf_attr_size.in xlat/perf_branch_sample_type.in \
-	xlat/perf_event_open_flags.in xlat/perf_event_read_format.in \
+	xlat/packet_mreq_type.in xlat/perf_attr_size.in \
+	xlat/perf_branch_sample_type.in xlat/perf_event_open_flags.in \
+	xlat/perf_event_read_format.in \
 	xlat/perf_event_sample_format.in xlat/perf_hw_cache_id.in \
 	xlat/perf_hw_cache_op_id.in xlat/perf_hw_cache_op_result_id.in \
 	xlat/perf_hw_id.in xlat/perf_sw_ids.in xlat/perf_type_id.in \
@@ -832,8 +844,9 @@
 	xlat/sockrawoptions.in xlat/socksctpoptions.in \
 	xlat/socktcpoptions.in xlat/socktypes.in xlat/splice_flags.in \
 	xlat/sram_alloc_flags.in xlat/statfs_flags.in \
-	xlat/swap_flags.in xlat/sync_file_range_flags.in \
-	xlat/sysctl_kern.in xlat/sysctl_net.in xlat/sysctl_net_core.in \
+	xlat/statx_attrs.in xlat/statx_masks.in xlat/swap_flags.in \
+	xlat/sync_file_range_flags.in xlat/sysctl_kern.in \
+	xlat/sysctl_net.in xlat/sysctl_net_core.in \
 	xlat/sysctl_net_ipv4.in xlat/sysctl_net_ipv4_conf.in \
 	xlat/sysctl_net_ipv4_route.in xlat/sysctl_net_ipv6.in \
 	xlat/sysctl_net_ipv6_route.in xlat/sysctl_net_unix.in \
@@ -854,22 +867,25 @@
 	xlat/v4l2_format_description_flags.in \
 	xlat/v4l2_frameinterval_types.in xlat/v4l2_framesize_types.in \
 	xlat/v4l2_input_types.in xlat/v4l2_memories.in \
-	xlat/v4l2_streaming_capabilities.in xlat/wait4_options.in \
+	xlat/v4l2_sliced_flags.in xlat/v4l2_streaming_capabilities.in \
+	xlat/v4l2_tuner_audmodes.in xlat/v4l2_tuner_capabilities.in \
+	xlat/v4l2_tuner_rxsubchanses.in xlat/v4l2_tuner_types.in \
+	xlat/v4l2_vbi_flags.in xlat/wait4_options.in \
 	xlat/waitid_types.in xlat/whence_codes.in xlat/xattrflags.in \
 	xlat/xfs_dqblk_flags.in xlat/xfs_quota_flags.in
-XLAT_HEADER_FILES = xlat/access_flags.h xlat/aclipc.h xlat/addrfams.h \
+XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
 	xlat/adjtimex_modes.h xlat/adjtimex_state.h \
 	xlat/adjtimex_status.h xlat/advise.h xlat/af_packet_types.h \
 	xlat/archvals.h xlat/arp_hardware_types.h xlat/at_flags.h \
-	xlat/atomic_ops.h xlat/audit_arch.h xlat/baud_options.h \
-	xlat/blkpg_ops.h xlat/bootflags1.h xlat/bootflags2.h \
-	xlat/bootflags3.h xlat/bpf_attach_type.h xlat/bpf_class.h \
-	xlat/bpf_commands.h xlat/bpf_map_types.h \
-	xlat/bpf_map_update_elem_flags.h xlat/bpf_miscop.h \
-	xlat/bpf_mode.h xlat/bpf_op_alu.h xlat/bpf_op_jmp.h \
-	xlat/bpf_prog_types.h xlat/bpf_rval.h xlat/bpf_size.h \
-	xlat/bpf_src.h xlat/bsg_flags.h xlat/bsg_protocol.h \
-	xlat/bsg_subprotocol.h xlat/bt_protocols.h \
+	xlat/at_statx_sync_types.h xlat/atomic_ops.h xlat/audit_arch.h \
+	xlat/baud_options.h xlat/blkpg_ops.h xlat/bootflags1.h \
+	xlat/bootflags2.h xlat/bootflags3.h xlat/bpf_attach_flags.h \
+	xlat/bpf_attach_type.h xlat/bpf_class.h xlat/bpf_commands.h \
+	xlat/bpf_map_types.h xlat/bpf_map_update_elem_flags.h \
+	xlat/bpf_miscop.h xlat/bpf_mode.h xlat/bpf_op_alu.h \
+	xlat/bpf_op_jmp.h xlat/bpf_prog_types.h xlat/bpf_rval.h \
+	xlat/bpf_size.h xlat/bpf_src.h xlat/bsg_flags.h \
+	xlat/bsg_protocol.h xlat/bsg_subprotocol.h xlat/bt_protocols.h \
 	xlat/btrfs_balance_args.h xlat/btrfs_balance_ctl_cmds.h \
 	xlat/btrfs_balance_flags.h xlat/btrfs_balance_state.h \
 	xlat/btrfs_compress_types.h xlat/btrfs_defrag_flags.h \
@@ -928,12 +944,12 @@
 	xlat/netlink_protocols.h xlat/netlink_types.h \
 	xlat/notifyflags.h xlat/nt_descriptor_types.h \
 	xlat/open_access_modes.h xlat/open_mode_flags.h \
-	xlat/openmodessol.h xlat/packet_mreq_type.h \
-	xlat/perf_attr_size.h xlat/perf_branch_sample_type.h \
-	xlat/perf_event_open_flags.h xlat/perf_event_read_format.h \
-	xlat/perf_event_sample_format.h xlat/perf_hw_cache_id.h \
-	xlat/perf_hw_cache_op_id.h xlat/perf_hw_cache_op_result_id.h \
-	xlat/perf_hw_id.h xlat/perf_sw_ids.h xlat/perf_type_id.h \
+	xlat/packet_mreq_type.h xlat/perf_attr_size.h \
+	xlat/perf_branch_sample_type.h xlat/perf_event_open_flags.h \
+	xlat/perf_event_read_format.h xlat/perf_event_sample_format.h \
+	xlat/perf_hw_cache_id.h xlat/perf_hw_cache_op_id.h \
+	xlat/perf_hw_cache_op_result_id.h xlat/perf_hw_id.h \
+	xlat/perf_sw_ids.h xlat/perf_type_id.h \
 	xlat/personality_flags.h xlat/personality_types.h \
 	xlat/pkey_access.h xlat/policies.h xlat/pollflags.h \
 	xlat/pr_cap_ambient.h xlat/pr_dumpable.h xlat/pr_fp_mode.h \
@@ -965,7 +981,8 @@
 	xlat/sockoptions.h xlat/sockpacketoptions.h \
 	xlat/sockrawoptions.h xlat/socksctpoptions.h \
 	xlat/socktcpoptions.h xlat/socktypes.h xlat/splice_flags.h \
-	xlat/sram_alloc_flags.h xlat/statfs_flags.h xlat/swap_flags.h \
+	xlat/sram_alloc_flags.h xlat/statfs_flags.h xlat/statx_attrs.h \
+	xlat/statx_masks.h xlat/swap_flags.h \
 	xlat/sync_file_range_flags.h xlat/sysctl_kern.h \
 	xlat/sysctl_net.h xlat/sysctl_net_core.h \
 	xlat/sysctl_net_ipv4.h xlat/sysctl_net_ipv4_conf.h \
@@ -987,9 +1004,12 @@
 	xlat/v4l2_format_description_flags.h \
 	xlat/v4l2_frameinterval_types.h xlat/v4l2_framesize_types.h \
 	xlat/v4l2_input_types.h xlat/v4l2_memories.h \
-	xlat/v4l2_streaming_capabilities.h xlat/wait4_options.h \
-	xlat/waitid_types.h xlat/whence_codes.h xlat/xattrflags.h \
-	xlat/xfs_dqblk_flags.h xlat/xfs_quota_flags.h
+	xlat/v4l2_sliced_flags.h xlat/v4l2_streaming_capabilities.h \
+	xlat/v4l2_tuner_audmodes.h xlat/v4l2_tuner_capabilities.h \
+	xlat/v4l2_tuner_rxsubchanses.h xlat/v4l2_tuner_types.h \
+	xlat/v4l2_vbi_flags.h xlat/wait4_options.h xlat/waitid_types.h \
+	xlat/whence_codes.h xlat/xattrflags.h xlat/xfs_dqblk_flags.h \
+	xlat/xfs_quota_flags.h
 strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_2) \
 	$(CODE_COVERAGE_CPPFLAGS)
 strace_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
@@ -1003,6 +1023,7 @@
 	fstatfs.c \
 	fstatfs64.c \
 	ipc.c \
+	sigreturn.c	\
 	socketcall.c \
 	statfs.c \
 	statfs64.c \
@@ -1029,24 +1050,25 @@
 	linux/x32/asm_stat.h linux/x86_64/asm_stat.h lookup_dcookie.c \
 	loop.c lseek.c mem.c membarrier.c memfd_create.c mknod.c \
 	mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
-	native_defs.h net.c netlink.c nsig.h numa.c oldstat.c open.c \
-	or1k_atomic.c pathtrace.c perf.c perf_event_struct.h \
-	personality.c pkeys.c poll.c prctl.c print_dev_t.c \
-	print_mq_attr.c print_msgbuf.c print_sg_req_info.c \
-	print_sigevent.c print_statfs.c print_struct_stat.c \
-	print_time.c print_timespec.c print_timeval.c print_timex.c \
-	printmode.c printrusage.c printsiginfo.c printsiginfo.h \
-	process.c process_vm.c ptp.c ptrace.h qualify.c quota.c \
-	readahead.c readlink.c reboot.c regs.h renameat.c resource.c \
-	rtc.c sched.c scsi.c seccomp.c seccomp_fprog.h sendfile.c \
-	sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h signal.c \
-	signalfd.c sigreturn.c sock.c sockaddr.c socketutils.c \
-	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h strace.c \
-	swapon.c syscall.c sysctl.c sysent.h sysinfo.c syslog.c \
-	sysmips.c term.c time.c times.c truncate.c ubi.c uid.c uid16.c \
-	umask.c umount.c uname.c userfaultfd.c ustat.c util.c utime.c \
-	utimes.c v4l2.c wait.c xattr.c xlat.h xmalloc.c \
-	$(am__append_1)
+	native_defs.h net.c netlink.c nsfs.c nsfs.h nsig.h numa.c \
+	oldstat.c open.c or1k_atomic.c pathtrace.c perf.c \
+	perf_event_struct.h personality.c pkeys.c poll.c prctl.c \
+	print_dev_t.c print_mq_attr.c print_msgbuf.c \
+	print_sg_req_info.c print_sigevent.c print_statfs.c \
+	print_struct_stat.c print_time.c print_timespec.c \
+	print_timeval.c print_timex.c printmode.c printrusage.c \
+	printsiginfo.c printsiginfo.h process.c process_vm.c ptp.c \
+	ptrace.h qualify.c quota.c readahead.c readlink.c reboot.c \
+	regs.h renameat.c resource.c rt_sigframe.c rt_sigreturn.c \
+	rtc.c sched.c sched_attr.h scsi.c seccomp.c seccomp_fprog.h \
+	sendfile.c sg_io_v3.c sg_io_v4.c sigaltstack.c sigevent.h \
+	signal.c signalfd.c sock.c sockaddr.c socketutils.c \
+	sram_alloc.c stat.c stat.h stat64.c statfs.c statfs.h statx.c \
+	statx.h strace.c swapon.c syscall.c sysctl.c sysent.h \
+	sysinfo.c syslog.c sysmips.c term.c time.c times.c truncate.c \
+	ubi.c uid.c uid16.c umask.c umount.c uname.c userfaultfd.c \
+	ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.h \
+	xmalloc.c $(am__append_1)
 CODE_COVERAGE_BRANCH_COVERAGE = 1
 CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
 	--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
@@ -1077,7 +1099,6 @@
 	debian/strace64.install		\
 	debian/strace64.manpages	\
 	debian/watch			\
-	errnoent.sh			\
 	generate_sen.sh			\
 	ioctl_iocdef.c			\
 	ioctlsort.c			\
@@ -1090,6 +1111,7 @@
 	linux/64/syscallent.h		\
 	linux/aarch64/arch_regs.c	\
 	linux/aarch64/arch_regs.h	\
+	linux/aarch64/arch_rt_sigframe.c\
 	linux/aarch64/arch_sigreturn.c	\
 	linux/aarch64/errnoent1.h	\
 	linux/aarch64/get_error.c	\
@@ -1107,6 +1129,7 @@
 	linux/alpha/arch_getrval2.c	\
 	linux/alpha/arch_regs.c		\
 	linux/alpha/arch_regs.h		\
+	linux/alpha/arch_rt_sigframe.c	\
 	linux/alpha/arch_sigreturn.c	\
 	linux/alpha/errnoent.h		\
 	linux/alpha/get_error.c		\
@@ -1121,6 +1144,8 @@
 	linux/alpha/syscallent.h	\
 	linux/alpha/userent.h		\
 	linux/arc/arch_regs.c		\
+	linux/arc/arch_regs.h		\
+	linux/arc/arch_rt_sigframe.c	\
 	linux/arc/get_error.c		\
 	linux/arc/get_scno.c		\
 	linux/arc/get_syscall_args.c	\
@@ -1133,6 +1158,7 @@
 	linux/arch_sigreturn.c		\
 	linux/arm/arch_regs.c		\
 	linux/arm/arch_regs.h		\
+	linux/arm/arch_rt_sigframe.c	\
 	linux/arm/arch_sigreturn.c	\
 	linux/arm/get_error.c		\
 	linux/arm/get_scno.c		\
@@ -1144,6 +1170,8 @@
 	linux/arm/syscallent.h		\
 	linux/arm/userent.h		\
 	linux/avr32/arch_regs.c		\
+	linux/avr32/arch_regs.h		\
+	linux/avr32/arch_rt_sigframe.c	\
 	linux/avr32/get_error.c		\
 	linux/avr32/get_scno.c		\
 	linux/avr32/get_syscall_args.c	\
@@ -1154,32 +1182,38 @@
 	linux/avr32/syscallent.h	\
 	linux/avr32/userent.h		\
 	linux/bfin/arch_regs.c		\
+	linux/bfin/arch_rt_sigframe.c	\
 	linux/bfin/get_error.c		\
 	linux/bfin/get_scno.c		\
 	linux/bfin/get_syscall_args.c	\
 	linux/bfin/get_syscall_result.c	\
 	linux/bfin/ioctls_arch0.h	\
 	linux/bfin/ioctls_inc0.h	\
+	linux/bfin/rt_sigframe.h	\
 	linux/bfin/set_error.c		\
 	linux/bfin/set_scno.c		\
 	linux/bfin/syscallent.h		\
 	linux/bfin/userent.h		\
 	linux/crisv10/arch_regs.c	\
+	linux/crisv10/arch_rt_sigframe.c\
 	linux/crisv10/arch_sigreturn.c	\
 	linux/crisv10/get_error.c	\
 	linux/crisv10/get_scno.c	\
 	linux/crisv10/get_syscall_args.c	\
 	linux/crisv10/get_syscall_result.c	\
+	linux/crisv10/rt_sigframe.h	\
 	linux/crisv10/set_error.c	\
 	linux/crisv10/set_scno.c	\
 	linux/crisv10/syscallent.h	\
 	linux/crisv10/userent.h		\
 	linux/crisv32/arch_regs.c	\
+	linux/crisv32/arch_rt_sigframe.c\
 	linux/crisv32/arch_sigreturn.c	\
 	linux/crisv32/get_error.c	\
 	linux/crisv32/get_scno.c	\
 	linux/crisv32/get_syscall_args.c	\
 	linux/crisv32/get_syscall_result.c	\
+	linux/crisv32/rt_sigframe.h	\
 	linux/crisv32/set_error.c	\
 	linux/crisv32/set_scno.c	\
 	linux/crisv32/syscallent.h	\
@@ -1189,6 +1223,7 @@
 	linux/getregs_old.h		\
 	linux/hppa/arch_regs.c		\
 	linux/hppa/arch_regs.h		\
+	linux/hppa/arch_rt_sigframe.c	\
 	linux/hppa/errnoent.h		\
 	linux/hppa/get_error.c		\
 	linux/hppa/get_scno.c		\
@@ -1196,18 +1231,21 @@
 	linux/hppa/get_syscall_result.c	\
 	linux/hppa/ioctls_arch0.h	\
 	linux/hppa/ioctls_inc0.h	\
+	linux/hppa/rt_sigframe.h	\
 	linux/hppa/set_error.c		\
 	linux/hppa/set_scno.c		\
 	linux/hppa/signalent.h		\
 	linux/hppa/syscallent.h		\
 	linux/i386/arch_regs.c		\
 	linux/i386/arch_regs.h		\
+	linux/i386/arch_rt_sigframe.c	\
 	linux/i386/arch_sigreturn.c	\
 	linux/i386/get_error.c		\
 	linux/i386/get_scno.c		\
 	linux/i386/get_syscall_args.c	\
 	linux/i386/ioctls_arch0.h	\
 	linux/i386/ioctls_inc0.h	\
+	linux/i386/rt_sigframe.h	\
 	linux/i386/set_error.c		\
 	linux/i386/set_scno.c		\
 	linux/i386/syscallent.h		\
@@ -1216,12 +1254,13 @@
 	linux/ia64/arch_getrval2.c	\
 	linux/ia64/arch_regs.c		\
 	linux/ia64/arch_regs.h		\
-	linux/ia64/arch_sigreturn.c	\
+	linux/ia64/arch_rt_sigframe.c	\
 	linux/ia64/get_error.c		\
 	linux/ia64/get_scno.c		\
 	linux/ia64/get_syscall_args.c	\
 	linux/ia64/ioctls_arch0.h	\
 	linux/ia64/ioctls_inc0.h	\
+	linux/ia64/rt_sigframe.h	\
 	linux/ia64/set_error.c		\
 	linux/ia64/set_scno.c		\
 	linux/ia64/syscallent.h		\
@@ -1229,17 +1268,21 @@
 	linux/inet_diag.h		\
 	linux/m68k/arch_regs.c		\
 	linux/m68k/arch_regs.h		\
+	linux/m68k/arch_rt_sigframe.c	\
 	linux/m68k/arch_sigreturn.c	\
 	linux/m68k/get_error.c		\
 	linux/m68k/get_scno.c		\
 	linux/m68k/get_syscall_args.c	\
 	linux/m68k/ioctls_arch0.h	\
 	linux/m68k/ioctls_inc0.h	\
+	linux/m68k/rt_sigframe.h	\
 	linux/m68k/set_error.c		\
 	linux/m68k/set_scno.c		\
 	linux/m68k/syscallent.h		\
 	linux/m68k/userent.h		\
 	linux/metag/arch_regs.c		\
+	linux/metag/arch_regs.h		\
+	linux/metag/arch_rt_sigframe.c	\
 	linux/metag/get_error.c		\
 	linux/metag/get_scno.c		\
 	linux/metag/get_syscall_args.c	\
@@ -1249,6 +1292,7 @@
 	linux/metag/set_scno.c		\
 	linux/metag/syscallent.h	\
 	linux/microblaze/arch_regs.c	\
+	linux/microblaze/arch_rt_sigframe.c\
 	linux/microblaze/arch_sigreturn.c	\
 	linux/microblaze/get_error.c	\
 	linux/microblaze/get_scno.c	\
@@ -1263,6 +1307,7 @@
 	linux/mips/arch_getrval2.c	\
 	linux/mips/arch_regs.c		\
 	linux/mips/arch_regs.h		\
+	linux/mips/arch_rt_sigframe.c	\
 	linux/mips/arch_sigreturn.c	\
 	linux/mips/errnoent.h		\
 	linux/mips/genstub.sh		\
@@ -1271,6 +1316,7 @@
 	linux/mips/get_syscall_args.c	\
 	linux/mips/ioctls_arch0.h	\
 	linux/mips/ioctls_inc0.h	\
+	linux/mips/rt_sigframe.h	\
 	linux/mips/set_error.c		\
 	linux/mips/set_scno.c		\
 	linux/mips/signalent.h		\
@@ -1283,6 +1329,8 @@
 	linux/mtd-abi.h			\
 	linux/netlink_diag.h		\
 	linux/nios2/arch_regs.c		\
+	linux/nios2/arch_regs.h		\
+	linux/nios2/arch_rt_sigframe.c	\
 	linux/nios2/get_error.c		\
 	linux/nios2/get_scno.c		\
 	linux/nios2/get_syscall_args.c	\
@@ -1292,6 +1340,8 @@
 	linux/nios2/set_scno.c		\
 	linux/nios2/syscallent.h	\
 	linux/or1k/arch_regs.c		\
+	linux/or1k/arch_regs.h		\
+	linux/or1k/arch_rt_sigframe.c	\
 	linux/or1k/get_error.c		\
 	linux/or1k/get_scno.c		\
 	linux/or1k/get_syscall_args.c	\
@@ -1304,6 +1354,7 @@
 	linux/personality.h		\
 	linux/powerpc/arch_regs.c	\
 	linux/powerpc/arch_regs.h	\
+	linux/powerpc/arch_rt_sigframe.c\
 	linux/powerpc/arch_sigreturn.c	\
 	linux/powerpc/errnoent.h	\
 	linux/powerpc/get_error.c	\
@@ -1319,6 +1370,7 @@
 	linux/powerpc/userent.h		\
 	linux/powerpc64/arch_regs.c	\
 	linux/powerpc64/arch_regs.h	\
+	linux/powerpc64/arch_rt_sigframe.c\
 	linux/powerpc64/arch_sigreturn.c	\
 	linux/powerpc64/errnoent.h	\
 	linux/powerpc64/errnoent1.h	\
@@ -1331,6 +1383,7 @@
 	linux/powerpc64/ioctls_arch1.h	\
 	linux/powerpc64/ioctls_inc0.h	\
 	linux/powerpc64/ioctls_inc1.h	\
+	linux/powerpc64/rt_sigframe.h	\
 	linux/powerpc64/set_error.c	\
 	linux/powerpc64/set_scno.c	\
 	linux/powerpc64/signalent1.h	\
@@ -1339,6 +1392,8 @@
 	linux/powerpc64/userent.h	\
 	linux/ptp_clock.h		\
 	linux/riscv/arch_regs.c		\
+	linux/riscv/arch_regs.h		\
+	linux/riscv/arch_rt_sigframe.c	\
 	linux/riscv/errnoent1.h		\
 	linux/riscv/get_error.c		\
 	linux/riscv/get_scno.c		\
@@ -1352,14 +1407,17 @@
 	linux/riscv/signalent1.h	\
 	linux/riscv/syscallent.h	\
 	linux/riscv/syscallent1.h	\
+	linux/rt_sigframe.h		\
 	linux/s390/arch_regs.c		\
 	linux/s390/arch_regs.h		\
+	linux/s390/arch_rt_sigframe.c	\
 	linux/s390/arch_sigreturn.c	\
 	linux/s390/get_error.c		\
 	linux/s390/get_scno.c		\
 	linux/s390/get_syscall_args.c	\
 	linux/s390/ioctls_arch0.h	\
 	linux/s390/ioctls_inc0.h	\
+	linux/s390/rt_sigframe.h	\
 	linux/s390/set_error.c		\
 	linux/s390/set_scno.c		\
 	linux/s390/syscallent.h		\
@@ -1368,18 +1426,21 @@
 	linux/s390/userent1.h		\
 	linux/s390x/arch_regs.c		\
 	linux/s390x/arch_regs.h		\
+	linux/s390x/arch_rt_sigframe.c	\
 	linux/s390x/arch_sigreturn.c	\
 	linux/s390x/get_error.c		\
 	linux/s390x/get_scno.c		\
 	linux/s390x/get_syscall_args.c	\
 	linux/s390x/ioctls_arch0.h	\
 	linux/s390x/ioctls_inc0.h	\
+	linux/s390x/rt_sigframe.h	\
 	linux/s390x/set_error.c		\
 	linux/s390x/set_scno.c		\
 	linux/s390x/syscallent.h	\
 	linux/s390x/userent.h		\
 	linux/sh/arch_getrval2.c	\
 	linux/sh/arch_regs.c		\
+	linux/sh/arch_rt_sigframe.c	\
 	linux/sh/get_error.c		\
 	linux/sh/get_scno.c		\
 	linux/sh/get_syscall_args.c	\
@@ -1393,12 +1454,14 @@
 	linux/sh/userent0.h		\
 	linux/sh64/arch_regs.c		\
 	linux/sh64/arch_regs.h		\
+	linux/sh64/arch_rt_sigframe.c	\
 	linux/sh64/get_error.c		\
 	linux/sh64/get_scno.c		\
 	linux/sh64/get_syscall_args.c	\
 	linux/sh64/get_syscall_result.c	\
 	linux/sh64/ioctls_arch0.h	\
 	linux/sh64/ioctls_inc0.h	\
+	linux/sh64/rt_sigframe.h	\
 	linux/sh64/set_error.c		\
 	linux/sh64/set_scno.c		\
 	linux/sh64/syscallent.h		\
@@ -1408,6 +1471,7 @@
 	linux/sparc/arch_getrval2.c	\
 	linux/sparc/arch_regs.c		\
 	linux/sparc/arch_regs.h		\
+	linux/sparc/arch_rt_sigframe.c	\
 	linux/sparc/arch_sigreturn.c	\
 	linux/sparc/errnoent.h		\
 	linux/sparc/gen.pl		\
@@ -1416,6 +1480,7 @@
 	linux/sparc/get_syscall_args.c	\
 	linux/sparc/ioctls_arch0.h	\
 	linux/sparc/ioctls_inc0.h	\
+	linux/sparc/rt_sigframe.h	\
 	linux/sparc/set_error.c		\
 	linux/sparc/set_scno.c		\
 	linux/sparc/signalent.h		\
@@ -1424,6 +1489,7 @@
 	linux/sparc64/arch_getrval2.c	\
 	linux/sparc64/arch_regs.c	\
 	linux/sparc64/arch_regs.h	\
+	linux/sparc64/arch_rt_sigframe.c\
 	linux/sparc64/arch_sigreturn.c	\
 	linux/sparc64/errnoent.h	\
 	linux/sparc64/errnoent1.h	\
@@ -1434,6 +1500,7 @@
 	linux/sparc64/ioctls_arch1.h	\
 	linux/sparc64/ioctls_inc0.h	\
 	linux/sparc64/ioctls_inc1.h	\
+	linux/sparc64/rt_sigframe.h	\
 	linux/sparc64/set_error.c	\
 	linux/sparc64/set_scno.c	\
 	linux/sparc64/signalent.h	\
@@ -1445,6 +1512,7 @@
 	linux/syscall.h			\
 	linux/tile/arch_regs.c		\
 	linux/tile/arch_regs.h		\
+	linux/tile/arch_rt_sigframe.c	\
 	linux/tile/arch_sigreturn.c	\
 	linux/tile/errnoent1.h		\
 	linux/tile/get_error.c		\
@@ -1454,6 +1522,7 @@
 	linux/tile/ioctls_arch1.h	\
 	linux/tile/ioctls_inc0.h	\
 	linux/tile/ioctls_inc1.h	\
+	linux/tile/rt_sigframe.h	\
 	linux/tile/set_error.c		\
 	linux/tile/set_scno.c		\
 	linux/tile/signalent1.h		\
@@ -1466,6 +1535,7 @@
 	linux/userent0.h		\
 	linux/x32/arch_regs.c		\
 	linux/x32/arch_regs.h		\
+	linux/x32/arch_rt_sigframe.c	\
 	linux/x32/arch_sigreturn.c	\
 	linux/x32/errnoent1.h		\
 	linux/x32/get_error.c		\
@@ -1475,6 +1545,7 @@
 	linux/x32/ioctls_arch1.h	\
 	linux/x32/ioctls_inc0.h		\
 	linux/x32/ioctls_inc1.h		\
+	linux/x32/rt_sigframe.h		\
 	linux/x32/set_error.c		\
 	linux/x32/set_scno.c		\
 	linux/x32/signalent1.h		\
@@ -1483,6 +1554,7 @@
 	linux/x32/userent.h		\
 	linux/x86_64/arch_regs.c	\
 	linux/x86_64/arch_regs.h	\
+	linux/x86_64/arch_rt_sigframe.c	\
 	linux/x86_64/arch_sigreturn.c	\
 	linux/x86_64/errnoent1.h	\
 	linux/x86_64/errnoent2.h	\
@@ -1498,6 +1570,7 @@
 	linux/x86_64/ioctls_inc0.h	\
 	linux/x86_64/ioctls_inc1.h	\
 	linux/x86_64/ioctls_inc2.h	\
+	linux/x86_64/rt_sigframe.h	\
 	linux/x86_64/set_error.c	\
 	linux/x86_64/set_scno.c		\
 	linux/x86_64/signalent1.h	\
@@ -1507,6 +1580,7 @@
 	linux/x86_64/syscallent2.h	\
 	linux/x86_64/userent.h		\
 	linux/xtensa/arch_regs.c	\
+	linux/xtensa/arch_rt_sigframe.c	\
 	linux/xtensa/get_error.c	\
 	linux/xtensa/get_scno.c		\
 	linux/xtensa/get_syscall_args.c	\
@@ -1517,20 +1591,14 @@
 	linux/xtensa/set_scno.c		\
 	linux/xtensa/syscallent.h	\
 	linux/xtensa/userent.h		\
-	maint/ioctls_gen.sh		\
-	maint/ioctls_hex.sh		\
-	maint/ioctls_sym.sh		\
-	maint/print_ioctlent.c		\
 	mpers.awk			\
 	mpers.sh			\
 	mpers_test.sh			\
 	mpers_xlat.h			\
 	scno.head			\
-	signalent.sh			\
 	strace-graph			\
 	strace-log-merge		\
 	strace.spec			\
-	syscallent.sh			\
 	$(XLAT_INPUT_FILES)		\
 	$(XLAT_HEADER_FILES)		\
 	xlat/gen.sh			\
@@ -1572,7 +1640,7 @@
 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
 
 # Generated by ./generate_mpers_am.sh; do not edit.
-mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_seccomp_fprog.c fetch_struct_flock.c fetch_struct_mmsghdr.c fetch_struct_msghdr.c fetch_struct_stat.c fetch_struct_stat64.c fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c print_sigevent.c print_time.c print_timespec.c print_timeval.c print_timex.c printrusage.c printsiginfo.c rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c 
+mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_seccomp_fprog.c fetch_struct_flock.c fetch_struct_mmsghdr.c fetch_struct_msghdr.c fetch_struct_stat.c fetch_struct_stat64.c fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c print_sigevent.c print_time.c print_timespec.c print_timeval.c print_timex.c printrusage.c printsiginfo.c rt_sigreturn.c rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c 
 
 # defines mpers_source_files
 srcdir_mpers_source_files = $(patsubst %,$(srcdir)/%,$(mpers_source_files))
@@ -1786,6 +1854,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-print_timex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-printrusage.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-printsiginfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-rtc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-sg_io_v3.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_m32_a-sigaltstack.Po@am__quote@
@@ -1821,6 +1890,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-print_timex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-printrusage.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-printsiginfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-rtc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-sg_io_v3.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpers_mx32_a-sigaltstack.Po@am__quote@
@@ -1833,6 +1903,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-fstatfs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-fstatfs64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-ipc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sigreturn.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-socketcall.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-statfs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-statfs64.Po@am__quote@
@@ -1916,6 +1987,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-mtd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-net.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-nsfs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-numa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-oldstat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-open.Po@am__quote@
@@ -1950,6 +2022,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-reboot.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-renameat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-resource.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-rt_sigframe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-rt_sigreturn.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-rtc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sched.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-scsi.Po@am__quote@
@@ -1960,7 +2034,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sigaltstack.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-signal.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-signalfd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sigreturn.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sock.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-sockaddr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-socketutils.Po@am__quote@
@@ -1968,6 +2041,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-stat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-stat64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-statfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-statx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-strace.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-swapon.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-syscall.Po@am__quote@
@@ -2374,6 +2448,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
 
+libmpers_m32_a-rt_sigreturn.o: rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo -c -o libmpers_m32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_m32_a-rt_sigreturn.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) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+libmpers_m32_a-rt_sigreturn.obj: rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo -c -o libmpers_m32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_m32_a-rt_sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_m32_a-rt_sigreturn.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) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -c -o libmpers_m32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
 libmpers_m32_a-rtc.o: rtc.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_m32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_m32_a_CFLAGS) $(CFLAGS) -MT libmpers_m32_a-rtc.o -MD -MP -MF $(DEPDIR)/libmpers_m32_a-rtc.Tpo -c -o libmpers_m32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_m32_a-rtc.Tpo $(DEPDIR)/libmpers_m32_a-rtc.Po
@@ -2864,6 +2952,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-printsiginfo.obj `if test -f 'printsiginfo.c'; then $(CYGPATH_W) 'printsiginfo.c'; else $(CYGPATH_W) '$(srcdir)/printsiginfo.c'; fi`
 
+libmpers_mx32_a-rt_sigreturn.o: rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo -c -o libmpers_mx32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_mx32_a-rt_sigreturn.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) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+libmpers_mx32_a-rt_sigreturn.obj: rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo -c -o libmpers_mx32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Tpo $(DEPDIR)/libmpers_mx32_a-rt_sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigreturn.c' object='libmpers_mx32_a-rt_sigreturn.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) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -c -o libmpers_mx32_a-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
 libmpers_mx32_a-rtc.o: rtc.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmpers_mx32_a_CPPFLAGS) $(CPPFLAGS) $(libmpers_mx32_a_CFLAGS) $(CFLAGS) -MT libmpers_mx32_a-rtc.o -MD -MP -MF $(DEPDIR)/libmpers_mx32_a-rtc.Tpo -c -o libmpers_mx32_a-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libmpers_mx32_a-rtc.Tpo $(DEPDIR)/libmpers_mx32_a-rtc.Po
@@ -3032,6 +3134,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-ipc.obj `if test -f 'ipc.c'; then $(CYGPATH_W) 'ipc.c'; else $(CYGPATH_W) '$(srcdir)/ipc.c'; fi`
 
+libstrace_a-sigreturn.o: sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sigreturn.o -MD -MP -MF $(DEPDIR)/libstrace_a-sigreturn.Tpo -c -o libstrace_a-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sigreturn.Tpo $(DEPDIR)/libstrace_a-sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sigreturn.c' object='libstrace_a-sigreturn.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) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
+
+libstrace_a-sigreturn.obj: sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-sigreturn.obj -MD -MP -MF $(DEPDIR)/libstrace_a-sigreturn.Tpo -c -o libstrace_a-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-sigreturn.Tpo $(DEPDIR)/libstrace_a-sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sigreturn.c' object='libstrace_a-sigreturn.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) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
+
 libstrace_a-socketcall.o: socketcall.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-socketcall.o -MD -MP -MF $(DEPDIR)/libstrace_a-socketcall.Tpo -c -o libstrace_a-socketcall.o `test -f 'socketcall.c' || echo '$(srcdir)/'`socketcall.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-socketcall.Tpo $(DEPDIR)/libstrace_a-socketcall.Po
@@ -4194,6 +4310,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink.obj `if test -f 'netlink.c'; then $(CYGPATH_W) 'netlink.c'; else $(CYGPATH_W) '$(srcdir)/netlink.c'; fi`
 
+strace-nsfs.o: nsfs.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nsfs.o -MD -MP -MF $(DEPDIR)/strace-nsfs.Tpo -c -o strace-nsfs.o `test -f 'nsfs.c' || echo '$(srcdir)/'`nsfs.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-nsfs.Tpo $(DEPDIR)/strace-nsfs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='nsfs.c' object='strace-nsfs.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nsfs.o `test -f 'nsfs.c' || echo '$(srcdir)/'`nsfs.c
+
+strace-nsfs.obj: nsfs.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nsfs.obj -MD -MP -MF $(DEPDIR)/strace-nsfs.Tpo -c -o strace-nsfs.obj `if test -f 'nsfs.c'; then $(CYGPATH_W) 'nsfs.c'; else $(CYGPATH_W) '$(srcdir)/nsfs.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-nsfs.Tpo $(DEPDIR)/strace-nsfs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='nsfs.c' object='strace-nsfs.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nsfs.obj `if test -f 'nsfs.c'; then $(CYGPATH_W) 'nsfs.c'; else $(CYGPATH_W) '$(srcdir)/nsfs.c'; fi`
+
 strace-numa.o: numa.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-numa.o -MD -MP -MF $(DEPDIR)/strace-numa.Tpo -c -o strace-numa.o `test -f 'numa.c' || echo '$(srcdir)/'`numa.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-numa.Tpo $(DEPDIR)/strace-numa.Po
@@ -4670,6 +4800,34 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-resource.obj `if test -f 'resource.c'; then $(CYGPATH_W) 'resource.c'; else $(CYGPATH_W) '$(srcdir)/resource.c'; fi`
 
+strace-rt_sigframe.o: rt_sigframe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigframe.o -MD -MP -MF $(DEPDIR)/strace-rt_sigframe.Tpo -c -o strace-rt_sigframe.o `test -f 'rt_sigframe.c' || echo '$(srcdir)/'`rt_sigframe.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigframe.Tpo $(DEPDIR)/strace-rt_sigframe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigframe.c' object='strace-rt_sigframe.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigframe.o `test -f 'rt_sigframe.c' || echo '$(srcdir)/'`rt_sigframe.c
+
+strace-rt_sigframe.obj: rt_sigframe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigframe.obj -MD -MP -MF $(DEPDIR)/strace-rt_sigframe.Tpo -c -o strace-rt_sigframe.obj `if test -f 'rt_sigframe.c'; then $(CYGPATH_W) 'rt_sigframe.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigframe.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigframe.Tpo $(DEPDIR)/strace-rt_sigframe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigframe.c' object='strace-rt_sigframe.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigframe.obj `if test -f 'rt_sigframe.c'; then $(CYGPATH_W) 'rt_sigframe.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigframe.c'; fi`
+
+strace-rt_sigreturn.o: rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigreturn.o -MD -MP -MF $(DEPDIR)/strace-rt_sigreturn.Tpo -c -o strace-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigreturn.Tpo $(DEPDIR)/strace-rt_sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigreturn.c' object='strace-rt_sigreturn.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigreturn.o `test -f 'rt_sigreturn.c' || echo '$(srcdir)/'`rt_sigreturn.c
+
+strace-rt_sigreturn.obj: rt_sigreturn.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rt_sigreturn.obj -MD -MP -MF $(DEPDIR)/strace-rt_sigreturn.Tpo -c -o strace-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rt_sigreturn.Tpo $(DEPDIR)/strace-rt_sigreturn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='rt_sigreturn.c' object='strace-rt_sigreturn.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-rt_sigreturn.obj `if test -f 'rt_sigreturn.c'; then $(CYGPATH_W) 'rt_sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/rt_sigreturn.c'; fi`
+
 strace-rtc.o: rtc.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-rtc.o -MD -MP -MF $(DEPDIR)/strace-rtc.Tpo -c -o strace-rtc.o `test -f 'rtc.c' || echo '$(srcdir)/'`rtc.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-rtc.Tpo $(DEPDIR)/strace-rtc.Po
@@ -4810,20 +4968,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-signalfd.obj `if test -f 'signalfd.c'; then $(CYGPATH_W) 'signalfd.c'; else $(CYGPATH_W) '$(srcdir)/signalfd.c'; fi`
 
-strace-sigreturn.o: sigreturn.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sigreturn.o -MD -MP -MF $(DEPDIR)/strace-sigreturn.Tpo -c -o strace-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-sigreturn.Tpo $(DEPDIR)/strace-sigreturn.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sigreturn.c' object='strace-sigreturn.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sigreturn.o `test -f 'sigreturn.c' || echo '$(srcdir)/'`sigreturn.c
-
-strace-sigreturn.obj: sigreturn.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sigreturn.obj -MD -MP -MF $(DEPDIR)/strace-sigreturn.Tpo -c -o strace-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-sigreturn.Tpo $(DEPDIR)/strace-sigreturn.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sigreturn.c' object='strace-sigreturn.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-sigreturn.obj `if test -f 'sigreturn.c'; then $(CYGPATH_W) 'sigreturn.c'; else $(CYGPATH_W) '$(srcdir)/sigreturn.c'; fi`
-
 strace-sock.o: sock.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-sock.o -MD -MP -MF $(DEPDIR)/strace-sock.Tpo -c -o strace-sock.o `test -f 'sock.c' || echo '$(srcdir)/'`sock.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-sock.Tpo $(DEPDIR)/strace-sock.Po
@@ -4922,6 +5066,20 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
 
+strace-statx.o: statx.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statx.o -MD -MP -MF $(DEPDIR)/strace-statx.Tpo -c -o strace-statx.o `test -f 'statx.c' || echo '$(srcdir)/'`statx.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-statx.Tpo $(DEPDIR)/strace-statx.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='statx.c' object='strace-statx.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statx.o `test -f 'statx.c' || echo '$(srcdir)/'`statx.c
+
+strace-statx.obj: statx.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-statx.obj -MD -MP -MF $(DEPDIR)/strace-statx.Tpo -c -o strace-statx.obj `if test -f 'statx.c'; then $(CYGPATH_W) 'statx.c'; else $(CYGPATH_W) '$(srcdir)/statx.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-statx.Tpo $(DEPDIR)/strace-statx.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='statx.c' object='strace-statx.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) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-statx.obj `if test -f 'statx.c'; then $(CYGPATH_W) 'statx.c'; else $(CYGPATH_W) '$(srcdir)/statx.c'; fi`
+
 strace-strace.o: strace.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-strace.o -MD -MP -MF $(DEPDIR)/strace-strace.Tpo -c -o strace-strace.o `test -f 'strace.c' || echo '$(srcdir)/'`strace.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-strace.Tpo $(DEPDIR)/strace-strace.Po
@@ -5788,8 +5946,6 @@
 
 $(top_srcdir)/xlat/access_flags.h: $(top_srcdir)/xlat/access_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/aclipc.h: $(top_srcdir)/xlat/aclipc.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/addrfams.h: $(top_srcdir)/xlat/addrfams.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/adjtimex_modes.h: $(top_srcdir)/xlat/adjtimex_modes.in $(top_srcdir)/xlat/gen.sh
@@ -5808,6 +5964,8 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/at_flags.h: $(top_srcdir)/xlat/at_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/at_statx_sync_types.h: $(top_srcdir)/xlat/at_statx_sync_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/atomic_ops.h: $(top_srcdir)/xlat/atomic_ops.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/audit_arch.h: $(top_srcdir)/xlat/audit_arch.in $(top_srcdir)/xlat/gen.sh
@@ -5822,6 +5980,8 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/bootflags3.h: $(top_srcdir)/xlat/bootflags3.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_attach_flags.h: $(top_srcdir)/xlat/bpf_attach_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/bpf_attach_type.h: $(top_srcdir)/xlat/bpf_attach_type.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/bpf_class.h: $(top_srcdir)/xlat/bpf_class.in $(top_srcdir)/xlat/gen.sh
@@ -6132,8 +6292,6 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/open_mode_flags.h: $(top_srcdir)/xlat/open_mode_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/openmodessol.h: $(top_srcdir)/xlat/openmodessol.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/packet_mreq_type.h: $(top_srcdir)/xlat/packet_mreq_type.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/perf_attr_size.h: $(top_srcdir)/xlat/perf_attr_size.in $(top_srcdir)/xlat/gen.sh
@@ -6320,6 +6478,10 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/statfs_flags.h: $(top_srcdir)/xlat/statfs_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/statx_attrs.h: $(top_srcdir)/xlat/statx_attrs.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/statx_masks.h: $(top_srcdir)/xlat/statx_masks.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/swap_flags.h: $(top_srcdir)/xlat/swap_flags.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/sync_file_range_flags.h: $(top_srcdir)/xlat/sync_file_range_flags.in $(top_srcdir)/xlat/gen.sh
@@ -6408,8 +6570,20 @@
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/v4l2_memories.h: $(top_srcdir)/xlat/v4l2_memories.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_sliced_flags.h: $(top_srcdir)/xlat/v4l2_sliced_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/v4l2_streaming_capabilities.h: $(top_srcdir)/xlat/v4l2_streaming_capabilities.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_audmodes.h: $(top_srcdir)/xlat/v4l2_tuner_audmodes.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_capabilities.h: $(top_srcdir)/xlat/v4l2_tuner_capabilities.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_rxsubchanses.h: $(top_srcdir)/xlat/v4l2_tuner_rxsubchanses.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_types.h: $(top_srcdir)/xlat/v4l2_tuner_types.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_vbi_flags.h: $(top_srcdir)/xlat/v4l2_vbi_flags.in $(top_srcdir)/xlat/gen.sh
+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/wait4_options.h: $(top_srcdir)/xlat/wait4_options.in $(top_srcdir)/xlat/gen.sh
 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
 $(top_srcdir)/xlat/waitid_types.h: $(top_srcdir)/xlat/waitid_types.in $(top_srcdir)/xlat/gen.sh
@@ -6446,6 +6620,7 @@
 
 dist-hook:
 	$(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
+	${AM_V_GEN}echo $(COPYRIGHT_YEAR) > $(distdir)/.year
 
 news-check: NEWS
 	$(AM_V_GEN)if head -1 $< |				\
diff --git a/NEWS b/NEWS
index e5d01a3..b8c88eb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,58 @@
+Noteworthy changes in release 4.17 (2017-05-24)
+===============================================
+
+* Changes in command line syntax
+  * Syscall classes specified in -e trace= option now have % prefix (like
+    -e trace=%process).  Old style class names without leading % are still
+    supported, but considered deprecated now.
+
+* Improvements
+  * Optimized syscall filtering.
+  * Improved representation of timestamps.
+  * Enhanced decoding of sched_setattr syscall.
+  * Added -e trace=%stat option for tracing variants of stat syscall.
+  * Added -e trace=%lstat option for tracing variants of lstat syscall.
+  * Added -e trace=%fstat option for tracing variants of fstat and fstatat
+    syscalls.
+  * Added -e trace=%%stat option for tracing syscalls used for querying file
+    status information (stat, lstat, fstat, fstatat, statx, and their
+    variations).
+  * Added -e trace=%statfs option for tracing statfs, statfs64 and statvfs
+    syscalls.
+  * Added -e trace=%fstatfs option for tracing fstatfs, fstatfs64 and fstatvfs
+    syscalls.
+  * Added -e trace=%%statfs option for tracing syscalls used for querying file
+    system statistics information (statfs-like, fstatfs-like and ustat).
+  * Added -e trace=/regex option for filtering syscalls using regular
+    expressions.
+  * Added support for prepending of question mark before syscall qualification
+    in -e trace expressions in order to suppress error in case no syscalls
+    matched the provided qualification.
+  * Implemented decoding of signal mask in rt_sigreturn syscall on alpha, arc,
+    arm, avr32, bfin, cris, hppa, m68k, metag, microblaze, mips, nios2, or1k,
+    powerpc, powerpc64, riscv, sh, sh64, sparc, sparc64, tile, x86, and xtensa
+    architectures.
+  * Implemented decoding of statx syscall.
+  * Implemented decoding of NS_* ioctl commands.
+  * Implemented decoding of the remaining V4L2_BUF_TYPE_* types.
+  * Implemented decoding of VIDIOC_[SG]_TUNER ioctl commands.
+  * Implemented decoding of NLMSG_ERROR netlink messages.
+  * Improved decoding of BPF_PROG_ATTACH command of bpf syscall.
+  * Improved decoding of misplaced parts in DM_* ioctl commands.
+  * Updated lists of ioctl commands from Linux 4.11.
+
+* Bug fixes
+  * Fixed decoding of flags argument of preadv2 and pwritev2 syscalls on x32.
+  * Fixed the number of arguments and tracing flags of alpha specific syscalls.
+  * Fixed decoding of old sigsuspend syscall on alpha, cris, mips, powerpc,
+    powerpc64, sh, sh64, sparc, and sparc64.
+  * Fixed decoding of sgetmask and ssetmask syscalls on 64-bit architectures.
+  * Fixed decoding of netlink messages received within struct msghdr.
+  * Worked around a bug in miscompiled aarch64 kernels leading to the 3rd
+    argument of sched_getattr syscall being not quite 32-bit.
+  * Fixed corner cases of printing inaccessible times argument of utimes
+    and futimesat syscalls.
+
 Noteworthy changes in release 4.16 (2017-02-14)
 ===============================================
 
diff --git a/README b/README
index ae80800..bc70155 100644
--- a/README
+++ b/README
@@ -8,7 +8,7 @@
 See the file NEWS for information on what has changed in recent versions.
 
 The project's homepage is at
-	https://sourceforge.net/projects/strace/
+	https://strace.io
 
 strace has a mailing list:
 	strace-devel@lists.sourceforge.net.
diff --git a/aio.c b/aio.c
index e246b35..5565d0c 100644
--- a/aio.c
+++ b/aio.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,7 +74,8 @@
 		tprints(cmds[cmd].name);
 		return cmds[cmd].sub;
 	}
-	tprintf("%u /* SUB_??? */", cmd);
+	tprintf("%u", cmd);
+	tprints_comment("SUB_???");
 	return SUB_NONE;
 }
 
diff --git a/bjm.c b/bjm.c
index 926add3..a9a777f 100644
--- a/bjm.c
+++ b/bjm.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/bpf.c b/bpf.c
index 9941018..2c709e1 100644
--- a/bpf.c
+++ b/bpf.c
@@ -37,6 +37,7 @@
 #include "xlat/bpf_prog_types.h"
 #include "xlat/bpf_map_update_elem_flags.h"
 #include "xlat/bpf_attach_type.h"
+#include "xlat/bpf_attach_flags.h"
 
 static int
 bpf_map_create(struct tcb *const tcp, const kernel_ulong_t addr,
@@ -197,21 +198,21 @@
 	if (umoven_or_printaddr(tcp, addr, size, &attr))
 		return RVAL_DECODED | RVAL_FD;
 
-	tprintf("{pathname=");
+	tprints("{pathname=");
 	printpath(tcp, attr.pathname);
 	tprints(", bpf_fd=");
 	printfd(tcp, attr.bpf_fd);
-	tprintf("}");
+	tprints("}");
 
 	return RVAL_DECODED | RVAL_FD;
 }
 
 static int
 bpf_prog_attach_detach(struct tcb *const tcp, const kernel_ulong_t addr,
-		       unsigned int size, bool print_attach_bpf_fd)
+		       unsigned int size, bool print_attach)
 {
 	struct {
-		uint32_t target_fd, attach_bpf_fd, attach_type;
+		uint32_t target_fd, attach_bpf_fd, attach_type, attach_flags;
 	} attr = {};
 
 	if (!size) {
@@ -223,15 +224,19 @@
 	if (umoven_or_printaddr(tcp, addr, size, &attr))
 		return RVAL_DECODED;
 
-	tprintf("{target_fd=");
+	tprints("{target_fd=");
 	printfd(tcp, attr.target_fd);
-	if (print_attach_bpf_fd) {
-		tprintf(", attach_bpf_fd=");
+	if (print_attach) {
+		tprints(", attach_bpf_fd=");
 		printfd(tcp, attr.attach_bpf_fd);
 	}
-	tprintf(", attach_type=");
+	tprints(", attach_type=");
 	printxval(bpf_attach_type, attr.attach_type, "BPF_???");
-	tprintf("}");
+	if (print_attach) {
+		tprints(", attach_flags=");
+		printflags(bpf_attach_flags, attr.attach_flags, "BPF_F_???");
+	}
+	tprints("}");
 
 	return RVAL_DECODED;
 }
diff --git a/btrfs.c b/btrfs.c
index e007040..141cafa 100644
--- a/btrfs.c
+++ b/btrfs.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -180,7 +181,7 @@
 {
 	tprintf(", %s=%" PRIu64, name, value);
 	if (value == UINT64_MAX)
-		tprints(" /* UINT64_MAX */");
+		tprints_comment("UINT64_MAX");
 }
 
 #define print_member_u64(obj, name) print_u64(#name, obj->name)
@@ -261,19 +262,15 @@
 static void
 btrfs_print_key_type(uint32_t type)
 {
-	const char *str = xlookup(btrfs_key_types, type);
 	tprintf("%u", type);
-	if (str)
-		tprintf(" /* %s */", str);
+	tprints_comment(xlookup(btrfs_key_types, type));
 }
 
 static void
 btrfs_print_objectid(uint64_t objectid)
 {
-	const char *str = xlookup(btrfs_tree_objectids, objectid);
 	tprintf("%" PRIu64, objectid);
-	if (str)
-		tprintf(" /* %s */", str);
+	tprints_comment(xlookup(btrfs_tree_objectids, objectid));
 }
 
 static void
@@ -412,7 +409,7 @@
 	if (value) {
 		tprintf(", %s=%" PRIu64, name, value);
 		if (value == UINT64_MAX)
-			tprints(" /* UINT64_MAX */");
+			tprints_comment("UINT64_MAX");
 	}
 }
 #define print_key_value(tcp, key, name)					\
@@ -610,7 +607,7 @@
 
 		tprintf("%" PRIu64, (uint64_t) args.len);
 		if (args.len == UINT64_MAX)
-			tprints(" /* UINT64_MAX */");
+			tprints_comment("UINT64_MAX");
 
 		tprints(", flags=");
 		printflags64(btrfs_defrag_flags, args.flags,
@@ -702,35 +699,27 @@
 		printxval64(btrfs_dev_replace_results, args.result,
 			    "BTRFS_IOCTL_DEV_REPLACE_RESULT_???");
 		if (args.cmd == BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS) {
-			char buf[sizeof("HH:MM:SS") + 1];
-			time_t time;
 			tprints(", ");
 			printxval64(btrfs_dev_replace_state,
 				   args.status.replace_state,
 				   "BTRFS_IOCTL_DEV_REPLACE_STATE_???");
-			tprintf(", progress_1000=%" PRIu64 " /* ",
+			tprintf(", progress_1000=%" PRIu64,
 				(uint64_t) args.status.progress_1000);
+
 			if (args.status.progress_1000 <= 1000)
-				tprintf("%" PRIu64 ".%.2" PRIu64 "%%",
-					(uint64_t) args.status.progress_1000 / 10,
-					(uint64_t) args.status.progress_1000 % 10);
-			else
-				tprints("???");
-			tprints(" */ ,");
+				tprintf_comment("%u.%u%%",
+					(unsigned) args.status.progress_1000 / 10,
+					(unsigned) args.status.progress_1000 % 10);
 
-			time = args.status.time_started;
-			strftime(buf, sizeof(buf), "%T",
-				 localtime(&time));
-			tprintf("time_started=%" PRIu64" /* %s */, ",
-				(uint64_t) args.status.time_started, buf);
+			tprintf(", time_started=%" PRIu64,
+				(uint64_t) args.status.time_started);
+			tprints_comment(sprinttime(args.status.time_started));
 
-			time = args.status.time_stopped;
-			strftime(buf, sizeof(buf), "%T",
-				 localtime(&time));
-			tprintf("time_stopped=%" PRIu64" /* %s */, ",
-				(uint64_t) args.status.time_stopped, buf);
+			tprintf(", time_stopped=%" PRIu64,
+				(uint64_t) args.status.time_stopped);
+			tprints_comment(sprinttime(args.status.time_stopped));
 
-			tprintf("num_write_errors=%" PRIu64
+			tprintf(", num_write_errors=%" PRIu64
 				", num_uncorrectable_read_errors=%" PRIu64,
 				(uint64_t) args.status.num_write_errors,
 				(uint64_t) args.status.num_uncorrectable_read_errors);
@@ -779,14 +768,17 @@
 		if (umove_or_printaddr(tcp, arg, &flarg))
 			break;
 
-		tprints("[ /* supported */ ");
+		tprints("[");
 		btrfs_print_features(&flarg[0]);
+		tprints_comment("supported");
 
-		tprints(", /* safe to set */ ");
+		tprints(", ");
 		btrfs_print_features(&flarg[1]);
+		tprints_comment("safe to set");
 
-		tprints(", /* safe to clear */ ");
+		tprints(", ");
 		btrfs_print_features(&flarg[2]);
+		tprints_comment("safe to clear");
 		tprints("]");
 
 		break;
@@ -869,10 +861,8 @@
 				tprints("...");
 				break;
 			}
-			const char *name = xlookup(btrfs_dev_stats_values, i);
-			if (name)
-				tprintf("/* %s */ ", name);
 			tprintf("%" PRI__u64, args.values[i]);
+			tprints_comment(xlookup(btrfs_dev_stats_values, i));
 		}
 		tprints("]}");
 		break;
@@ -1108,7 +1098,7 @@
 					args.start);
 				tprintf("%" PRI__u64, args.end);
 				if (args.end == UINT64_MAX)
-					tprints(" /* UINT64_MAX */");
+					tprints_comment("UINT64_MAX");
 				tprints(", flags=");
 				printflags64(btrfs_scrub_flags, args.flags,
 					     "BTRFS_SCRUB_???");
diff --git a/cacheflush.c b/cacheflush.c
index 8c2c05c..f9fc582 100644
--- a/cacheflush.c
+++ b/cacheflush.c
@@ -4,6 +4,7 @@
  * Copyright (c) 2010 Carmelo Amoroso <carmelo.amoroso@st.com>
  * Copyright (c) 2015 Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/capability.c b/capability.c
index a3f06ea..760bdda 100644
--- a/capability.c
+++ b/capability.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2000 Wichert Akkerman <wakkerma@debian.org>
  * Copyright (c) 2011 Denys Vlasenko <dvlasenk@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/clone.c b/clone.c
index 5c60fbe..a1c799a 100644
--- a/clone.c
+++ b/clone.c
@@ -4,6 +4,7 @@
  * Copyright (c) 2008 Jan Kratochvil <jan.kratochvil@redhat.com>
  * Copyright (c) 2009-2013 Denys Vlasenko <dvlasenk@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/config.guess b/config.guess
index 3c022c5..69ed3e5 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-09-14'
+timestamp='2017-03-05'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -186,9 +186,12 @@
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
+	# to ELF recently (or will in the future) and ABI.
 	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+	    earm*)
+		os=netbsdelf
+		;;
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 			| grep -q __ELF__
@@ -237,6 +240,10 @@
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -268,42 +275,42 @@
 	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
 	case "$ALPHA_CPU_TYPE" in
 	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
+		UNAME_MACHINE=alphaev5 ;;
 	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
+		UNAME_MACHINE=alphaev56 ;;
 	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
+		UNAME_MACHINE=alphapca56 ;;
 	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
+		UNAME_MACHINE=alphapca57 ;;
 	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
+		UNAME_MACHINE=alphaev6 ;;
 	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
+		UNAME_MACHINE=alphaev67 ;;
 	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
+		UNAME_MACHINE=alphaev69 ;;
 	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
+		UNAME_MACHINE=alphaev7 ;;
 	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
+		UNAME_MACHINE=alphaev79 ;;
 	esac
 	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -376,16 +383,16 @@
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	eval $set_cc_for_build
-	SUN_ARCH="i386"
+	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
-		SUN_ARCH="x86_64"
+		SUN_ARCH=x86_64
 	    fi
 	fi
 	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -410,7 +417,7 @@
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
 		echo m68k-sun-sunos${UNAME_RELEASE}
@@ -635,13 +642,13 @@
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
 			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
@@ -680,11 +687,11 @@
 		    exit (0);
 		}
 EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
+	if [ ${HP_ARCH} = hppa2.0w ]
 	then
 	    eval $set_cc_for_build
 
@@ -697,12 +704,12 @@
 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 	    # => hppa64-hp-hpux11.23
 
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
 		grep -q __LP64__
 	    then
-		HP_ARCH="hppa2.0w"
+		HP_ARCH=hppa2.0w
 	    else
-		HP_ARCH="hppa64"
+		HP_ARCH=hppa64
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -807,14 +814,14 @@
 	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -830,10 +837,11 @@
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	case ${UNAME_PROCESSOR} in
 	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+		UNAME_PROCESSOR=x86_64 ;;
+	    i386)
+		UNAME_PROCESSOR=i586 ;;
 	esac
+	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
@@ -896,7 +904,7 @@
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
@@ -919,7 +927,7 @@
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -993,6 +1001,9 @@
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
+    mips64el:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     openrisc*:Linux:*:*)
 	echo or1k-unknown-linux-${LIBC}
 	exit ;;
@@ -1025,6 +1036,9 @@
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
@@ -1123,7 +1137,7 @@
 	# uname -m prints for DJGPP always 'pc', but it prints nothing about
 	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
+	# prints for the "djgpp" host, or else GDB configure will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
 	exit ;;
@@ -1272,6 +1286,9 @@
     SX-8R:SUPER-UX:*:*)
 	echo sx8r-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1285,9 +1302,9 @@
 	    UNAME_PROCESSOR=powerpc
 	fi
 	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		    grep IS_64BIT_ARCH >/dev/null
 		then
 		    case $UNAME_PROCESSOR in
@@ -1309,7 +1326,7 @@
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
+	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
@@ -1327,6 +1344,9 @@
     NSR-?:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
 	exit ;;
+    NSX-?:NONSTOP_KERNEL:*:*)
+	echo nsx-tandem-nsk${UNAME_RELEASE}
+	exit ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
 	exit ;;
@@ -1340,7 +1360,7 @@
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
-	if test "$cputype" = "386"; then
+	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
@@ -1382,7 +1402,7 @@
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
 	exit ;;
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
@@ -1393,23 +1413,25 @@
     x86_64:VMkernel:*:*)
 	echo ${UNAME_MACHINE}-unknown-esx
 	exit ;;
+    amd64:Isilon\ OneFS:*:*)
+	echo x86_64-unknown-onefs
+	exit ;;
 esac
 
 cat >&2 <<EOF
 $0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
diff --git a/config.h.in b/config.h.in
index 8b335f8..54b9892 100644
--- a/config.h.in
+++ b/config.h.in
@@ -27,6 +27,9 @@
 /* Define for the Blackfin architecture. */
 #undef BFIN
 
+/* Current copyright year. */
+#undef COPYRIGHT_YEAR
+
 /* Define for the CRISv10 architecture. */
 #undef CRISV10
 
@@ -390,6 +393,14 @@
    don't. */
 #undef HAVE_DECL_SYS_ERRLIST
 
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_CAPTURE', and
+   to 0 if you don't. */
+#undef HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_OUTPUT', and
+   to 0 if you don't. */
+#undef HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+
 /* Define to 1 if you have the declaration of
    `V4L2_BUF_TYPE_SLICED_VBI_CAPTURE', and to 0 if you don't. */
 #undef HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
@@ -743,6 +754,9 @@
    file. */
 #undef HAVE_LINUX_NETFILTER_IPV6_IP6_TABLES_H
 
+/* Define to 1 if you have the <linux/nsfs.h> header file. */
+#undef HAVE_LINUX_NSFS_H
+
 /* Define to 1 if you have the <linux/perf_event.h> header file. */
 #undef HAVE_LINUX_PERF_EVENT_H
 
@@ -1038,6 +1052,12 @@
 /* Define to 1 if `domainname' is a member of `struct utsname'. */
 #undef HAVE_STRUCT_UTSNAME_DOMAINNAME
 
+/* Define to 1 if `buffersize' is a member of `struct v4l2_sdr_format'. */
+#undef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+
+/* Define to 1 if `global_alpha' is a member of `struct v4l2_window'. */
+#undef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+
 /* Define to 1 if the system has the type `struct __kernel_flock'. */
 #undef HAVE_STRUCT___KERNEL_FLOCK
 
@@ -1092,8 +1112,8 @@
 /* Define to 1 if typeof works with your compiler. */
 #undef HAVE_TYPEOF
 
-/* Define to 1 if union bpf_attr.attach_type initialization works */
-#undef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+/* Define to 1 if union bpf_attr.attach_flags initialization works */
+#undef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
 
 /* Define to 1 if union bpf_attr.bpf_fd initialization works */
 #undef HAVE_UNION_BPF_ATTR_BPF_FD
diff --git a/config.status b/config.status
index e383585..da6c496 100755
--- a/config.status
+++ b/config.status
@@ -380,7 +380,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by strace $as_me 4.16, which was
+This file was extended by strace $as_me 4.17, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -430,7 +430,7 @@
 
 ac_cs_config=""
 ac_cs_version="\
-strace config.status 4.16
+strace config.status 4.17
 configured by ./configure, generated by GNU Autoconf 2.69,
   with options \"$ac_cs_config\"
 
@@ -438,7 +438,7 @@
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
-ac_pwd='/usr/local/google/home/enh/Downloads/strace-4.16'
+ac_pwd='/tmp/strace-4.17'
 srcdir='.'
 INSTALL='/usr/bin/install -c'
 MKDIR_P='/bin/mkdir -p'
@@ -736,6 +736,7 @@
 S["arch_mx32"]="x32"
 S["arch_m32"]="i386"
 S["arch"]="x86_64"
+S["COPYRIGHT_YEAR"]="2017"
 S["CODE_COVERAGE_RULES"]="\n"\
 "# Code coverage\n"\
 "#\n"\
@@ -903,8 +904,8 @@
 S["LDFLAGS"]=""
 S["CFLAGS"]="-g -O2"
 S["CC"]="gcc"
-S["DEB_CHANGELOGTIME"]="Wed, 15 Feb 2017 11:38:25 -0800"
-S["RPM_CHANGELOGTIME"]="Wed Feb 15 2017"
+S["DEB_CHANGELOGTIME"]="Thu, 25 May 2017 15:09:49 -0700"
+S["RPM_CHANGELOGTIME"]="Thu May 25 2017"
 S["host_os"]="linux-gnu"
 S["host_vendor"]="pc"
 S["host_cpu"]="x86_64"
@@ -930,13 +931,13 @@
 S["MKDIR_P"]="/bin/mkdir -p"
 S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s"
 S["STRIP"]=""
-S["install_sh"]="${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/install-sh"
-S["MAKEINFO"]="${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing makeinfo"
-S["AUTOHEADER"]="${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing autoheader"
-S["AUTOMAKE"]="${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing automake-1.14"
-S["AUTOCONF"]="${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing autoconf"
-S["ACLOCAL"]="${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing aclocal-1.14"
-S["VERSION"]="4.16"
+S["install_sh"]="${SHELL} /tmp/strace-4.17/install-sh"
+S["MAKEINFO"]="${SHELL} /tmp/strace-4.17/missing makeinfo"
+S["AUTOHEADER"]="${SHELL} /tmp/strace-4.17/missing autoheader"
+S["AUTOMAKE"]="${SHELL} /tmp/strace-4.17/missing automake-1.14"
+S["AUTOCONF"]="${SHELL} /tmp/strace-4.17/missing autoconf"
+S["ACLOCAL"]="${SHELL} /tmp/strace-4.17/missing aclocal-1.14"
+S["VERSION"]="4.17"
 S["PACKAGE"]="strace"
 S["CYGPATH_W"]="echo"
 S["am__isrc"]=""
@@ -975,8 +976,8 @@
 S["exec_prefix"]="${prefix}"
 S["PACKAGE_URL"]="https://strace.io"
 S["PACKAGE_BUGREPORT"]="strace-devel@lists.sourceforge.net"
-S["PACKAGE_STRING"]="strace 4.16"
-S["PACKAGE_VERSION"]="4.16"
+S["PACKAGE_STRING"]="strace 4.17"
+S["PACKAGE_VERSION"]="4.17"
 S["PACKAGE_TARNAME"]="strace"
 S["PACKAGE_NAME"]="strace"
 S["PATH_SEPARATOR"]=":"
@@ -1024,12 +1025,12 @@
 BEGIN {
 D["PACKAGE_NAME"]=" \"strace\""
 D["PACKAGE_TARNAME"]=" \"strace\""
-D["PACKAGE_VERSION"]=" \"4.16\""
-D["PACKAGE_STRING"]=" \"strace 4.16\""
+D["PACKAGE_VERSION"]=" \"4.17\""
+D["PACKAGE_STRING"]=" \"strace 4.17\""
 D["PACKAGE_BUGREPORT"]=" \"strace-devel@lists.sourceforge.net\""
 D["PACKAGE_URL"]=" \"https://strace.io\""
 D["PACKAGE"]=" \"strace\""
-D["VERSION"]=" \"4.16\""
+D["VERSION"]=" \"4.17\""
 D["STDC_HEADERS"]=" 1"
 D["HAVE_SYS_TYPES_H"]=" 1"
 D["HAVE_SYS_STAT_H"]=" 1"
@@ -1045,6 +1046,7 @@
 D["_GNU_SOURCE"]=" 1"
 D["_POSIX_PTHREAD_SEMANTICS"]=" 1"
 D["_TANDEM_SOURCE"]=" 1"
+D["COPYRIGHT_YEAR"]=" \"2017\""
 D["X86_64"]=" 1"
 D["ENABLE_ARM_OABI"]=" 0"
 D["HAVE_TYPEOF"]=" 1"
@@ -1263,6 +1265,8 @@
 D["HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE"]=" 1"
 D["HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT"]=" 1"
 D["HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY"]=" 1"
+D["HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE"]=" 0"
+D["HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT"]=" 0"
 D["HAVE_DECL_V4L2_TUNER_RADIO"]=" 1"
 D["HAVE_DECL_V4L2_TUNER_ANALOG_TV"]=" 1"
 D["HAVE_DECL_V4L2_TUNER_DIGITAL_TV"]=" 1"
@@ -1297,6 +1301,7 @@
 D["HAVE_DECL_V4L2_CTRL_TYPE_STRING"]=" 1"
 D["HAVE_DECL_V4L2_CTRL_TYPE_BITMASK"]=" 1"
 D["HAVE_DECL_V4L2_CTRL_TYPE_INTEGER_MENU"]=" 1"
+D["HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA"]=" 1"
 D["HAVE_BLKGETSIZE64"]=" 1"
 D["SIZEOF_LONG"]=" 8"
 D["SIZEOF_LONG_LONG"]=" 8"
diff --git a/config.sub b/config.sub
index 7a8ce3e..569b01e 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2015-08-20'
+timestamp='2017-03-21'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
@@ -68,7 +67,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -118,7 +117,7 @@
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -302,6 +301,7 @@
 	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pru \
 	| pyramid \
 	| riscv32 | riscv64 \
 	| rl78 | rx \
@@ -315,6 +315,7 @@
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
 	| visium \
+	| wasm32 \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -429,6 +430,7 @@
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pru-* \
 	| pyramid-* \
 	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
@@ -445,6 +447,7 @@
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
 	| visium-* \
+	| wasm32-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -521,7 +524,7 @@
 		basic_machine=i386-pc
 		os=-aros
 		;;
-        asmjs)
+	asmjs)
 		basic_machine=asmjs-unknown
 		;;
 	aux)
@@ -644,6 +647,14 @@
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
+	e500v[12])
+		basic_machine=powerpc-unknown
+		os=$os"spe"
+		;;
+	e500v[12]-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=$os"spe"
+		;;
 	ebmon29k)
 		basic_machine=a29k-amd
 		os=-ebmon
@@ -939,6 +950,9 @@
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
+	nsx-tandem)
+		basic_machine=nsx-tandem
+		;;
 	op50n-* | op60c-*)
 		basic_machine=hppa1.1-oki
 		os=-proelf
@@ -1023,7 +1037,7 @@
 	ppc-* | ppcbe-*)
 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
+	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
@@ -1033,7 +1047,7 @@
 		;;
 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
@@ -1234,6 +1248,9 @@
 		basic_machine=a29k-wrs
 		os=-vxworks
 		;;
+	wasm32)
+		basic_machine=wasm32-unknown
+		;;
 	w65*)
 		basic_machine=w65-wdc
 		os=-none
@@ -1383,14 +1400,14 @@
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1399,7 +1416,8 @@
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1531,6 +1549,8 @@
 		;;
 	-nacl*)
 		;;
+	-ios)
+		;;
 	-none)
 		;;
 	*)
@@ -1626,6 +1646,9 @@
 	sparc-* | *-sun)
 		os=-sunos4.1.1
 		;;
+	pru-*)
+		os=-elf
+		;;
 	*-be)
 		os=-beos
 		;;
diff --git a/configure b/configure
index 36905ea..9a1c087 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for strace 4.16.
+# Generated by GNU Autoconf 2.69 for strace 4.17.
 #
 # Report bugs to <strace-devel@lists.sourceforge.net>.
 #
@@ -582,8 +582,8 @@
 # Identity of this package.
 PACKAGE_NAME='strace'
 PACKAGE_TARNAME='strace'
-PACKAGE_VERSION='4.16'
-PACKAGE_STRING='strace 4.16'
+PACKAGE_VERSION='4.17'
+PACKAGE_STRING='strace 4.17'
 PACKAGE_BUGREPORT='strace-devel@lists.sourceforge.net'
 PACKAGE_URL='https://strace.io'
 
@@ -658,6 +658,7 @@
 arch_mx32
 arch_m32
 arch
+COPYRIGHT_YEAR
 CODE_COVERAGE_RULES
 CODE_COVERAGE_LDFLAGS
 CODE_COVERAGE_CXXFLAGS
@@ -1345,7 +1346,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures strace 4.16 to adapt to many kinds of systems.
+\`configure' configures strace 4.17 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1415,7 +1416,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of strace 4.16:";;
+     short | recursive ) echo "Configuration of strace 4.17:";;
    esac
   cat <<\_ACEOF
 
@@ -1527,7 +1528,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-strace configure 4.16
+strace configure 4.17
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2267,7 +2268,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by strace $as_me 4.16, which was
+It was created by strace $as_me 4.17, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2619,6 +2620,7 @@
 
 
 
+
 ac_aux_dir=
 for ac_dir in . "$srcdir"/.; do
   if test -f "$ac_dir/install-sh"; then
@@ -3136,7 +3138,7 @@
 
 # Define the identity of the package.
  PACKAGE='strace'
- VERSION='4.16'
+ VERSION='4.17'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -8529,6 +8531,12 @@
 
 
 
+
+$as_echo "#define COPYRIGHT_YEAR \"2017\"" >>confdefs.h
+
+COPYRIGHT_YEAR=2017
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported architecture" >&5
 $as_echo_n "checking for supported architecture... " >&6; }
 arch_m32=
@@ -9670,7 +9678,7 @@
 fi
 
 
-for ac_header in asm/cachectl.h asm/sysmips.h bluetooth/bluetooth.h elf.h inttypes.h linux/bsg.h linux/dm-ioctl.h linux/dqblk_xfs.h linux/falloc.h linux/fiemap.h linux/filter.h linux/hiddev.h linux/ip_vs.h linux/ipc.h linux/mmtimer.h linux/msg.h linux/perf_event.h linux/quota.h linux/seccomp.h linux/securebits.h linux/sem.h linux/shm.h linux/userfaultfd.h linux/utsname.h mqueue.h netinet/sctp.h netipx/ipx.h scsi/sg.h stropts.h sys/conf.h sys/eventfd.h sys/fanotify.h sys/ipc.h sys/msg.h sys/quota.h sys/reg.h sys/sem.h sys/shm.h sys/signalfd.h sys/xattr.h ustat.h
+for ac_header in asm/cachectl.h asm/sysmips.h bluetooth/bluetooth.h elf.h inttypes.h linux/bsg.h linux/dm-ioctl.h linux/dqblk_xfs.h linux/falloc.h linux/fiemap.h linux/filter.h linux/hiddev.h linux/ip_vs.h linux/ipc.h linux/mmtimer.h linux/msg.h linux/nsfs.h linux/perf_event.h linux/quota.h linux/seccomp.h linux/securebits.h linux/sem.h linux/shm.h linux/userfaultfd.h linux/utsname.h mqueue.h netinet/sctp.h netipx/ipx.h scsi/sg.h stropts.h sys/conf.h sys/eventfd.h sys/fanotify.h sys/ipc.h sys/msg.h sys/quota.h sys/reg.h sys/sem.h sys/shm.h sys/signalfd.h sys/xattr.h ustat.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -9836,9 +9844,9 @@
 $as_echo "#define HAVE_UNION_BPF_ATTR_BPF_FD 1" >>confdefs.h
 
 	fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether union bpf_attr.attach_type initialization works" >&5
-$as_echo_n "checking whether union bpf_attr.attach_type initialization works... " >&6; }
-if ${st_cv_have_union_bpf_attr_attach_type+:} false; then :
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether union bpf_attr.attach_flags initialization works" >&5
+$as_echo_n "checking whether union bpf_attr.attach_flags initialization works... " >&6; }
+if ${st_cv_have_union_bpf_attr_attach_flags+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9847,23 +9855,23 @@
 int
 main ()
 {
-union bpf_attr a = { .attach_type = 0 };
+union bpf_attr a = { .attach_flags = 0 };
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
-  st_cv_have_union_bpf_attr_attach_type=yes
+  st_cv_have_union_bpf_attr_attach_flags=yes
 else
-  st_cv_have_union_bpf_attr_attach_type=no
+  st_cv_have_union_bpf_attr_attach_flags=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_have_union_bpf_attr_attach_type" >&5
-$as_echo "$st_cv_have_union_bpf_attr_attach_type" >&6; }
-	if test $st_cv_have_union_bpf_attr_attach_type = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_have_union_bpf_attr_attach_flags" >&5
+$as_echo "$st_cv_have_union_bpf_attr_attach_flags" >&6; }
+	if test $st_cv_have_union_bpf_attr_attach_flags = yes; then
 
-$as_echo "#define HAVE_UNION_BPF_ATTR_ATTACH_TYPE 1" >>confdefs.h
+$as_echo "#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1" >>confdefs.h
 
 	fi
 
@@ -11430,6 +11438,34 @@
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY $ac_have_decl
 _ACEOF
+ac_fn_c_check_decl "$LINENO" "V4L2_BUF_TYPE_SDR_CAPTURE" "ac_cv_have_decl_V4L2_BUF_TYPE_SDR_CAPTURE" "#include <sys/time.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+"
+if test "x$ac_cv_have_decl_V4L2_BUF_TYPE_SDR_CAPTURE" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "V4L2_BUF_TYPE_SDR_OUTPUT" "ac_cv_have_decl_V4L2_BUF_TYPE_SDR_OUTPUT" "#include <sys/time.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+"
+if test "x$ac_cv_have_decl_V4L2_BUF_TYPE_SDR_OUTPUT" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT $ac_have_decl
+_ACEOF
 ac_fn_c_check_decl "$LINENO" "V4L2_TUNER_RADIO" "ac_cv_have_decl_V4L2_TUNER_RADIO" "#include <sys/time.h>
 #include <linux/ioctl.h>
 #include <linux/types.h>
@@ -11908,6 +11944,34 @@
 _ACEOF
 
 
+ac_fn_c_check_member "$LINENO" "struct v4l2_window" "global_alpha" "ac_cv_member_struct_v4l2_window_global_alpha" "#include <sys/time.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+"
+if test "x$ac_cv_member_struct_v4l2_window_global_alpha" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA 1
+_ACEOF
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct v4l2_sdr_format" "buffersize" "ac_cv_member_struct_v4l2_sdr_format_buffersize" "#include <sys/time.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+"
+if test "x$ac_cv_member_struct_v4l2_sdr_format_buffersize" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE 1
+_ACEOF
+
+
+fi
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BLKGETSIZE64" >&5
 $as_echo_n "checking for BLKGETSIZE64... " >&6; }
 if ${ac_cv_have_blkgetsize64+:} false; then :
@@ -14134,7 +14198,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by strace $as_me 4.16, which was
+This file was extended by strace $as_me 4.17, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14201,7 +14265,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-strace config.status 4.16
+strace config.status 4.17
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 7004bd3..620a33b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,6 +5,7 @@
 # Copyright (c) 2006-2016 Dmitry V. Levin <ldv@altlinux.org>
 # Copyright (c) 2008-2015 Mike Frysinger <vapier@gentoo.org>
 # Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+# Copyright (c) 2002-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -35,7 +36,8 @@
 	[strace-devel@lists.sourceforge.net],
 	[strace],
 	[https://strace.io])
-AC_COPYRIGHT([Copyright (C) 1999-2017 The strace developers.])
+m4_define([copyright_year], m4_esyscmd([./copyright-year-gen .year]))
+AC_COPYRIGHT([Copyright (C) 1999-]copyright_year[ The strace developers.])
 AC_CONFIG_SRCDIR([strace.c])
 AC_CONFIG_AUX_DIR([.])
 AC_CONFIG_HEADERS([config.h])
@@ -59,6 +61,9 @@
 AC_USE_SYSTEM_EXTENSIONS
 AX_CODE_COVERAGE
 
+AC_DEFINE([COPYRIGHT_YEAR], "[copyright_year]", [Current copyright year.])
+AC_SUBST([COPYRIGHT_YEAR], [copyright_year])
+
 AC_MSG_CHECKING([for supported architecture])
 arch_m32=
 arch_mx32=
@@ -366,6 +371,7 @@
 	linux/ipc.h
 	linux/mmtimer.h
 	linux/msg.h
+	linux/nsfs.h
 	linux/perf_event.h
 	linux/quota.h
 	linux/seccomp.h
@@ -434,16 +440,16 @@
 		AC_DEFINE(HAVE_UNION_BPF_ATTR_BPF_FD, [1],
 			  [Define to 1 if union bpf_attr.bpf_fd initialization works])
 	fi
-	AC_CACHE_CHECK([whether union bpf_attr.attach_type initialization works],
-		       [st_cv_have_union_bpf_attr_attach_type],
+	AC_CACHE_CHECK([whether union bpf_attr.attach_flags initialization works],
+		       [st_cv_have_union_bpf_attr_attach_flags],
 		[AC_COMPILE_IFELSE(
 			[AC_LANG_PROGRAM([[#include <linux/bpf.h>]],
-					 [[union bpf_attr a = { .attach_type = 0 };]])],
-			[st_cv_have_union_bpf_attr_attach_type=yes],
-			[st_cv_have_union_bpf_attr_attach_type=no])])
-	if test $st_cv_have_union_bpf_attr_attach_type = yes; then
-		AC_DEFINE(HAVE_UNION_BPF_ATTR_ATTACH_TYPE, [1],
-			  [Define to 1 if union bpf_attr.attach_type initialization works])
+					 [[union bpf_attr a = { .attach_flags = 0 };]])],
+			[st_cv_have_union_bpf_attr_attach_flags=yes],
+			[st_cv_have_union_bpf_attr_attach_flags=no])])
+	if test $st_cv_have_union_bpf_attr_attach_flags = yes; then
+		AC_DEFINE(HAVE_UNION_BPF_ATTR_ATTACH_FLAGS, [1],
+			  [Define to 1 if union bpf_attr.attach_flags initialization works])
 	fi
 ])
 
@@ -608,6 +614,8 @@
 	V4L2_BUF_TYPE_SLICED_VBI_CAPTURE,
 	V4L2_BUF_TYPE_SLICED_VBI_OUTPUT,
 	V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY,
+	V4L2_BUF_TYPE_SDR_CAPTURE,
+	V4L2_BUF_TYPE_SDR_OUTPUT,
 	V4L2_TUNER_RADIO,
 	V4L2_TUNER_ANALOG_TV,
 	V4L2_TUNER_DIGITAL_TV,
@@ -647,6 +655,14 @@
 #include <linux/types.h>
 #include <linux/videodev2.h>])
 
+AC_CHECK_MEMBERS(m4_normalize([
+	struct v4l2_window.global_alpha,
+	struct v4l2_sdr_format.buffersize
+]),,, [#include <sys/time.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>])
+
 AC_CACHE_CHECK([for BLKGETSIZE64], [ac_cv_have_blkgetsize64],
 	[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
 #include <stdlib.h>
diff --git a/count.c b/count.c
index 4b333bf..1af9336 100644
--- a/count.c
+++ b/count.c
@@ -8,6 +8,7 @@
  *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
  * Copyright (c) 2004 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2006-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/debian/changelog b/debian/changelog
index c4a21b8..d891a6f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,14 +1,20 @@
-strace (4.16-1) experimental; urgency=low
+strace (4.17-1) experimental; urgency=low
 
-  * strace 4.16 snapshot.
+  * strace 4.17 snapshot.
 
- -- Strace <strace-devel@lists.sourceforge.net>  Wed, 15 Feb 2017 11:38:25 -0800
+ -- Strace <strace-devel@lists.sourceforge.net>  Thu, 25 May 2017 15:09:49 -0700
+
+strace (4.16-1) unstable; urgency=medium
+
+  * New upstream version.
+
+ -- Dmitry V. Levin <ldv@altlinux.org>  Tue, 14 Feb 2017 10:11:12 +0000
 
 strace (4.15-1) unstable; urgency=medium
 
   * New upstream version.
 
- -- Dmitry V. Levin <ldv@altlinux.org>  Tue, 14 Dec 2016 08:09:10 +0000
+ -- Dmitry V. Levin <ldv@altlinux.org>  Wed, 14 Dec 2016 08:09:10 +0000
 
 strace (4.14-1) unstable; urgency=medium
 
diff --git a/debian/changelog.in b/debian/changelog.in
index 288cef9..8aab9d9 100644
--- a/debian/changelog.in
+++ b/debian/changelog.in
@@ -4,11 +4,17 @@
 
  -- Strace <@PACKAGE_BUGREPORT@>  @DEB_CHANGELOGTIME@
 
+strace (4.16-1) unstable; urgency=medium
+
+  * New upstream version.
+
+ -- Dmitry V. Levin <ldv@altlinux.org>  Tue, 14 Feb 2017 10:11:12 +0000
+
 strace (4.15-1) unstable; urgency=medium
 
   * New upstream version.
 
- -- Dmitry V. Levin <ldv@altlinux.org>  Tue, 14 Dec 2016 08:09:10 +0000
+ -- Dmitry V. Levin <ldv@altlinux.org>  Wed, 14 Dec 2016 08:09:10 +0000
 
 strace (4.14-1) unstable; urgency=medium
 
diff --git a/debian/control b/debian/control
index 79773c3..2a7963f 100644
--- a/debian/control
+++ b/debian/control
@@ -4,7 +4,7 @@
 Priority: optional
 Build-Depends: libc6-dev (>= 2.2.2) [!alpha !ia64], libc6.1-dev (>= 2.2.2) [alpha ia64], gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc sparc64 x32], debhelper (>= 7.0.0), gawk
 Standards-Version: 3.9.6
-Homepage: http://sourceforge.net/projects/strace/
+Homepage: https://strace.io
 Vcs-Git: https://anonscm.debian.org/git/collab-maint/strace.git
 Vcs-Browser: https://anonscm.debian.org/git/collab-maint/strace.git
 
diff --git a/defs.h b/defs.h
index b333a22..fb3a603 100644
--- a/defs.h
+++ b/defs.h
@@ -2,6 +2,7 @@
  * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (C) 2001-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -292,12 +293,15 @@
 
 extern const struct xlat addrfams[];
 extern const struct xlat at_flags[];
+extern const struct xlat clocknames[];
 extern const struct xlat dirent_types[];
 extern const struct xlat evdev_abs[];
 extern const struct xlat msg_flags[];
+extern const struct xlat netlink_protocols[];
 extern const struct xlat open_access_modes[];
 extern const struct xlat open_mode_flags[];
 extern const struct xlat resource_flags[];
+extern const struct xlat setns_types[];
 extern const struct xlat sg_io_info[];
 extern const struct xlat socketlayers[];
 extern const struct xlat whence_codes[];
@@ -409,8 +413,9 @@
 extern void call_summary(FILE *);
 
 extern void clear_regs(void);
-extern void get_regs(pid_t pid);
-extern int get_scno(struct tcb *tcp);
+extern int get_scno(struct tcb *);
+extern kernel_ulong_t get_rt_sigframe_addr(struct tcb *);
+
 /**
  * Convert syscall number to syscall name.
  *
@@ -542,11 +547,14 @@
 extern void addflags(const struct xlat *, uint64_t);
 extern int printflags64(const struct xlat *, uint64_t, const char *);
 extern const char *sprintflags(const char *, const struct xlat *, uint64_t);
-extern const char *sprinttime(time_t);
+extern const char *sprinttime(long long sec);
+extern const char *sprinttime_nsec(long long sec, unsigned long long nsec);
+extern const char *sprinttime_usec(long long sec, unsigned long long usec);
 extern void print_symbolic_mode_t(unsigned int);
 extern void print_numeric_umode_t(unsigned short);
 extern void print_numeric_long_umask(unsigned long);
 extern void print_dev_t(unsigned long long dev);
+extern void print_abnormal_hi(kernel_ulong_t);
 
 extern void
 dumpiov_in_msghdr(struct tcb *, kernel_ulong_t addr, kernel_ulong_t data_size);
@@ -571,7 +579,7 @@
 printpath(struct tcb *, kernel_ulong_t addr);
 
 #define TIMESPEC_TEXT_BUFSIZE \
-		(sizeof(intmax_t)*3 * 2 + sizeof("{tv_sec=%jd, tv_nsec=%jd}"))
+		(sizeof(long long) * 3 * 2 + sizeof("{tv_sec=-, tv_nsec=}"))
 extern void printfd(struct tcb *, int);
 extern void print_sockaddr(struct tcb *tcp, const void *, int);
 extern bool print_sockaddr_by_inode(const unsigned long, const enum sock_proto);
@@ -585,6 +593,8 @@
 
 extern void
 print_sigset_addr_len(struct tcb *, kernel_ulong_t addr, kernel_ulong_t len);
+extern void
+print_sigset_addr(struct tcb *, kernel_ulong_t addr);
 
 extern const char *sprintsigmask_n(const char *, const void *, unsigned int);
 #define tprintsigmask_addr(prefix, mask) \
@@ -635,6 +645,7 @@
 DECL_IOCTL(dm);
 DECL_IOCTL(file);
 DECL_IOCTL(fs_x);
+DECL_IOCTL(nsfs);
 DECL_IOCTL(ptp);
 DECL_IOCTL(scsi);
 DECL_IOCTL(term);
@@ -707,7 +718,7 @@
 extern void printrusage32(struct tcb *, kernel_ulong_t);
 extern const char *sprint_timeval32(struct tcb *tcp, kernel_ulong_t);
 extern void print_timeval32(struct tcb *tcp, kernel_ulong_t);
-extern void print_timeval32_pair(struct tcb *tcp, kernel_ulong_t);
+extern void print_timeval32_utimes(struct tcb *tcp, kernel_ulong_t);
 extern void print_itimerval32(struct tcb *tcp, kernel_ulong_t);
 #endif
 
@@ -738,6 +749,8 @@
 extern void tabto(void);
 extern void tprintf(const char *fmt, ...) ATTRIBUTE_FORMAT((printf, 1, 2));
 extern void tprints(const char *str);
+extern void tprintf_comment(const char *fmt, ...) ATTRIBUTE_FORMAT((printf, 1, 2));
+extern void tprints_comment(const char *str);
 
 #if SUPPORTED_PERSONALITIES > 1
 extern void set_personality(int personality);
diff --git a/desc.c b/desc.c
index 4882469..d52afc4 100644
--- a/desc.c
+++ b/desc.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/dirent.c b/dirent.c
index 2ba6fe7..d413ed6 100644
--- a/dirent.c
+++ b/dirent.c
@@ -4,6 +4,7 @@
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -78,13 +79,13 @@
 
 	if (entering(tcp)) {
 		printfd(tcp, tcp->u_arg[0]);
-		tprints(", ");
 		return 0;
 	}
 
 	const unsigned int count = tcp->u_arg[2];
 
 	if (syserror(tcp) || !verbose(tcp)) {
+		tprints(", ");
 		printaddr(tcp->u_arg[1]);
 		tprintf(", %u", count);
 		return 0;
@@ -101,6 +102,7 @@
 	if (len) {
 		buf = malloc(len);
 		if (!buf || umoven(tcp, tcp->u_arg[1], len, buf) < 0) {
+			tprints(", ");
 			printaddr(tcp->u_arg[1]);
 			tprintf(", %u", count);
 			free(buf);
@@ -110,8 +112,9 @@
 		buf = NULL;
 	}
 
+	tprints(",");
 	if (!abbrev(tcp))
-		tprints("[");
+		tprints(" [");
 	for (i = 0; len && i <= len - sizeof(kernel_dirent); ) {
 		kernel_dirent *d = (kernel_dirent *) &buf[i];
 
@@ -143,7 +146,7 @@
 		}
 		dents++;
 		if (d->d_reclen < sizeof(kernel_dirent)) {
-			tprints("/* d_reclen < sizeof(struct dirent) */");
+			tprints_comment("d_reclen < sizeof(struct dirent)");
 			break;
 		}
 		i += d->d_reclen;
@@ -151,7 +154,7 @@
 	if (!abbrev(tcp))
 		tprints("]");
 	else
-		tprintf("/* %u entries */", dents);
+		tprintf_comment("%u entries", dents);
 	tprintf(", %u", count);
 	free(buf);
 	return 0;
diff --git a/dirent64.c b/dirent64.c
index 448a2f1..e2a4253 100644
--- a/dirent64.c
+++ b/dirent64.c
@@ -4,6 +4,7 @@
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,13 +47,13 @@
 
 	if (entering(tcp)) {
 		printfd(tcp, tcp->u_arg[0]);
-		tprints(", ");
 		return 0;
 	}
 
 	const unsigned int count = tcp->u_arg[2];
 
 	if (syserror(tcp) || !verbose(tcp)) {
+		tprints(", ");
 		printaddr(tcp->u_arg[1]);
 		tprintf(", %u", count);
 		return 0;
@@ -69,6 +70,7 @@
 	if (len) {
 		buf = malloc(len);
 		if (!buf || umoven(tcp, tcp->u_arg[1], len, buf) < 0) {
+			tprints(", ");
 			printaddr(tcp->u_arg[1]);
 			tprintf(", %u", count);
 			free(buf);
@@ -78,8 +80,9 @@
 		buf = NULL;
 	}
 
+	tprints(",");
 	if (!abbrev(tcp))
-		tprints("[");
+		tprints(" [");
 	for (i = 0; len && i <= len - d_name_offset; ) {
 		struct dirent64 *d = (struct dirent64 *) &buf[i];
 		if (!abbrev(tcp)) {
@@ -110,7 +113,7 @@
 			tprints("}");
 		}
 		if (d->d_reclen < d_name_offset) {
-			tprints("/* d_reclen < offsetof(struct dirent64, d_name) */");
+			tprints_comment("d_reclen < offsetof(struct dirent64, d_name)");
 			break;
 		}
 		i += d->d_reclen;
@@ -119,7 +122,7 @@
 	if (!abbrev(tcp))
 		tprints("]");
 	else
-		tprintf("/* %u entries */", dents);
+		tprintf_comment("%u entries", dents);
 	tprintf(", %u", count);
 	free(buf);
 	return 0;
diff --git a/dm.c b/dm.c
index 7f85689..26dcb22 100644
--- a/dm.c
+++ b/dm.c
@@ -5,6 +5,7 @@
  * Copyright (c) 2016 Masatake Yamato <yamato@redhat.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -140,7 +141,7 @@
 		sizeof(struct dm_target_spec);
 	uint32_t i;
 	uint32_t offset = ioc->data_start;
-	uint32_t offset_end;
+	uint32_t offset_end = 0;
 
 	if (abbrev(tcp)) {
 		if (ioc->target_count)
@@ -150,20 +151,23 @@
 	}
 
 	for (i = 0; i < ioc->target_count; i++) {
-		struct dm_target_spec s;
+		tprints(", ");
+
+		if (i && offset <= offset_end)
+			goto misplaced;
 
 		offset_end = offset + target_spec_size;
 
 		if (offset_end <= offset || offset_end > ioc->data_size)
 			goto misplaced;
 
-		tprints(", ");
-
 		if (i >= max_strlen) {
 			tprints("...");
 			break;
 		}
 
+		struct dm_target_spec s;
+
 		if (umove_or_printaddr(tcp, addr + offset, &s))
 			break;
 
@@ -180,21 +184,19 @@
 		tprints(", string=");
 		printstr_ex(tcp, addr + offset_end, ioc->data_size - offset_end,
 			     QUOTE_0_TERMINATED);
-		tprintf("}");
+		tprints("}");
 
 		if (entering(tcp))
 			offset += s.next;
 		else
 			offset = ioc->data_start + s.next;
-
-		if (offset <= offset_end)
-			goto misplaced;
 	}
 
 	return;
 
 misplaced:
-	tprints(", /* misplaced struct dm_target_spec */ ...");
+	tprints("???");
+	tprints_comment("misplaced struct dm_target_spec");
 }
 
 bool
@@ -211,6 +213,16 @@
 dm_decode_dm_target_deps(struct tcb *const tcp, const kernel_ulong_t addr,
 			 const struct dm_ioctl *const ioc)
 {
+	if (ioc->data_start == ioc->data_size)
+		return;
+
+	tprints(", ");
+
+	if (abbrev(tcp)) {
+		tprints("...");
+		return;
+	}
+
 	static const uint32_t target_deps_dev_offs =
 		offsetof(struct dm_target_deps, dev);
 	uint64_t dev_buf;
@@ -219,13 +231,6 @@
 	uint32_t offset_end = offset + target_deps_dev_offs;
 	uint32_t space;
 
-	if (abbrev(tcp)) {
-		tprints(", ...");
-		return;
-	}
-
-	tprints(", ");
-
 	if (offset_end <= offset || offset_end > ioc->data_size)
 		goto misplaced;
 
@@ -247,7 +252,8 @@
 	return;
 
 misplaced:
-	tprints("/* misplaced struct dm_target_deps */ ...");
+	tprints("???");
+	tprints_comment("misplaced struct dm_target_deps");
 }
 
 static void
@@ -258,22 +264,28 @@
 		offsetof(struct dm_name_list, name);
 	struct dm_name_list s;
 	uint32_t offset = ioc->data_start;
-	uint32_t offset_end;
+	uint32_t offset_end = 0;
 	uint32_t count;
 
+	if (ioc->data_start == ioc->data_size)
+		return;
+
 	if (abbrev(tcp)) {
 		tprints(", ...");
 		return;
 	}
 
 	for (count = 0;; count++) {
+		tprints(", ");
+
+		if (count && offset <= offset_end)
+			goto misplaced;
+
 		offset_end = offset + name_list_name_offs;
 
 		if (offset_end <= offset || offset_end > ioc->data_size)
 			goto misplaced;
 
-		tprints(", ");
-
 		if (count >= max_strlen) {
 			tprints("...");
 			break;
@@ -281,10 +293,6 @@
 
 		if (umove_or_printaddr(tcp, addr + offset, &s))
 			break;
-		if (!count && !s.dev) {
-			tprints("/* no devices present */");
-			break;
-		}
 
 		tprints("{dev=");
 		print_dev_t(s.dev);
@@ -298,14 +306,13 @@
 			break;
 
 		offset += s.next;
-		if (offset <= offset_end)
-			goto misplaced;
 	}
 
 	return;
 
 misplaced:
-	tprints(", /* misplaced struct dm_name_list */ ...");
+	tprints("???");
+	tprints_comment("misplaced struct dm_name_list");
 }
 
 static void
@@ -316,22 +323,28 @@
 		offsetof(struct dm_target_versions, name);
 	struct dm_target_versions s;
 	uint32_t offset = ioc->data_start;
-	uint32_t offset_end;
+	uint32_t offset_end = 0;
 	uint32_t count;
 
+	if (ioc->data_start == ioc->data_size)
+		return;
+
 	if (abbrev(tcp)) {
 		tprints(", ...");
 		return;
 	}
 
 	for (count = 0;; count++) {
+		tprints(", ");
+
+		if (count && offset <= offset_end)
+			goto misplaced;
+
 		offset_end = offset + target_vers_name_offs;
 
 		if (offset_end <= offset || offset_end > ioc->data_size)
 			goto misplaced;
 
-		tprints(", ");
-
 		if (count >= max_strlen) {
 			tprints("...");
 			break;
@@ -350,35 +363,37 @@
 			break;
 
 		offset += s.next;
-		if (offset <= offset_end)
-			goto misplaced;
 	}
 
 	return;
 
 misplaced:
-	tprints(", /* misplaced struct dm_target_versions */ ...");
+	tprints("???");
+	tprints_comment("misplaced struct dm_target_versions");
 }
 
 static void
 dm_decode_dm_target_msg(struct tcb *const tcp, const kernel_ulong_t addr,
 		        const struct dm_ioctl *const ioc)
 {
+	if (ioc->data_start == ioc->data_size)
+		return;
+
+	tprints(", ");
+
+	if (abbrev(tcp)) {
+		tprints("...");
+		return;
+	}
+
 	static const uint32_t target_msg_message_offs =
 		offsetof(struct dm_target_msg, message);
 	uint32_t offset = ioc->data_start;
 	uint32_t offset_end = offset + target_msg_message_offs;
 
-	if (abbrev(tcp)) {
-		tprints(", ...");
-		return;
-	}
-
 	if (offset_end > offset && offset_end <= ioc->data_size) {
 		struct dm_target_msg s;
 
-		tprints(", ");
-
 		if (umove_or_printaddr(tcp, addr + offset, &s))
 			return;
 
@@ -387,7 +402,8 @@
 			    QUOTE_0_TERMINATED);
 		tprints("}");
 	} else {
-		tprints(", /* misplaced struct dm_target_msg */");
+		tprints("???");
+		tprints_comment("misplaced struct dm_target_msg");
 	}
 }
 
@@ -395,19 +411,22 @@
 dm_decode_string(struct tcb *const tcp, const kernel_ulong_t addr,
 		 const struct dm_ioctl *const ioc)
 {
-	uint32_t offset = ioc->data_start;
+	tprints(", ");
 
 	if (abbrev(tcp)) {
-		tprints(", ...");
+		tprints("...");
 		return;
 	}
 
-	if (offset < ioc->data_size) {
-		tprints(", string=");
+	uint32_t offset = ioc->data_start;
+
+	if (offset <= ioc->data_size) {
+		tprints("string=");
 		printstr_ex(tcp, addr + offset, ioc->data_size - offset,
 			    QUOTE_0_TERMINATED);
 	} else {
-		tprints(", /* misplaced string */");
+		tprints("???");
+		tprints_comment("misplaced string");
 	}
 }
 
@@ -485,20 +504,20 @@
 	 * ioctl fields
 	 */
 	if (ioc->version[0] != DM_VERSION_MAJOR) {
-		tprints(", /* Unsupported device mapper ABI version */ ...");
+		tprints_comment("unsupported device mapper ABI version");
 		goto skip;
 	}
 
 	tprintf(", data_size=%u", ioc->data_size);
 
-	if (dm_ioctl_has_params(code))
-		tprintf(", data_start=%u", ioc->data_start);
-
 	if (ioc->data_size < offsetof(struct dm_ioctl, data)) {
-		tprints(", /* Incorrect data_size */ ...");
+		tprints_comment("data_size too small");
 		goto skip;
 	}
 
+	if (dm_ioctl_has_params(code))
+		tprintf(", data_start=%u", ioc->data_start);
+
 	dm_decode_device(code, ioc);
 	dm_decode_values(tcp, code, ioc);
 	dm_decode_flags(ioc);
diff --git a/epoll.c b/epoll.c
index 8dc7ab0..d5f2f55 100644
--- a/epoll.c
+++ b/epoll.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2004-2007 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2004 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/errnoent.sh b/errnoent.sh
deleted file mode 100755
index 0b1b06a..0000000
--- a/errnoent.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-# Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
-# 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.
-
-awk '
-$1 == "#define" && $2 ~ /^E[A-Z0-9_]+$/ && $3 ~ /^[0-9]+$/ {
-	errno[$3] = $2
-	if ($3 > max)
-		max = $3
-}
-END {
-	for (i = 0; i <= max; i++)
-		if (errno[i])
-			printf("[%3d] = \"%s\",\n", i, errno[i])
-}
-' "$@"
diff --git a/execve.c b/execve.c
index 6e45b11..5455b15 100644
--- a/execve.c
+++ b/execve.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2007 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2011-2012 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2010-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -78,10 +79,10 @@
 static void
 printargc(struct tcb *const tcp, kernel_ulong_t addr)
 {
-	if (!addr || !verbose(tcp)) {
-		printaddr(addr);
+	printaddr(addr);
+
+	if (!addr || !verbose(tcp))
 		return;
-	}
 
 	bool unterminated = false;
 	unsigned int count = 0;
@@ -89,17 +90,16 @@
 
 	for (; addr; addr += current_wordsize, ++count) {
 		if (umoven(tcp, addr, current_wordsize, &cp)) {
-			if (count) {
-				unterminated = true;
-				break;
-			}
-			printaddr(addr);
-			return;
+			if (!count)
+				return;
+
+			unterminated = true;
+			break;
 		}
 		if (!cp)
 			break;
 	}
-	tprintf("[/* %u var%s%s */]",
+	tprintf_comment("%u var%s%s",
 		count, count == 1 ? "" : "s",
 		unterminated ? ", unterminated" : "");
 }
diff --git a/fadvise.c b/fadvise.c
index f0d057b..292a061 100644
--- a/fadvise.c
+++ b/fadvise.c
@@ -5,6 +5,7 @@
  * Copyright (c) 2009 Andreas Schwab <schwab@redhat.com>
  * Copyright (c) 2009 Kirill A. Shutemov <kirill@shutemov.name>
  * Copyright (c) 2011-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/fanotify.c b/fanotify.c
index 203e9d2..a9ec0e9 100644
--- a/fanotify.c
+++ b/fanotify.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/fcntl.c b/fcntl.c
index 74168c6..a42489b 100644
--- a/fcntl.c
+++ b/fcntl.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/fetch_seccomp_fprog.c b/fetch_seccomp_fprog.c
index e483e81..0aedb20 100644
--- a/fetch_seccomp_fprog.c
+++ b/fetch_seccomp_fprog.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/fetch_struct_flock.c b/fetch_struct_flock.c
index bb24876..1a57edf 100644
--- a/fetch_struct_flock.c
+++ b/fetch_struct_flock.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/fetch_struct_stat.c b/fetch_struct_stat.c
index 50d1028..317d381 100644
--- a/fetch_struct_stat.c
+++ b/fetch_struct_stat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -65,8 +66,10 @@
 
 #ifdef HAVE_STRUCT_STAT_ST_MTIME_NSEC
 # define TIME_NSEC(arg) zero_extend_signed_to_ull(arg)
+# define HAVE_NSEC true
 #else
 # define TIME_NSEC(arg) 0
+# define HAVE_NSEC false
 #endif
 
 MPERS_PRINTER_DECL(bool, fetch_struct_stat,
@@ -94,6 +97,7 @@
 	dst->atime_nsec = TIME_NSEC(buf.st_atime_nsec);
 	dst->ctime_nsec = TIME_NSEC(buf.st_ctime_nsec);
 	dst->mtime_nsec = TIME_NSEC(buf.st_mtime_nsec);
+	dst->has_nsec = HAVE_NSEC;
 	return true;
 #else /* !HAVE_STRUCT_STAT */
 	printaddr(addr);
diff --git a/fetch_struct_stat64.c b/fetch_struct_stat64.c
index b7e4805..3480c10 100644
--- a/fetch_struct_stat64.c
+++ b/fetch_struct_stat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -63,8 +64,10 @@
 
 #ifdef HAVE_STRUCT_STAT64_ST_MTIME_NSEC
 # define TIME_NSEC(arg) zero_extend_signed_to_ull(arg)
+# define HAVE_NSEC true
 #else
 # define TIME_NSEC(arg) 0
+# define HAVE_NSEC false
 #endif
 
 MPERS_PRINTER_DECL(bool, fetch_struct_stat64,
@@ -92,6 +95,7 @@
 	dst->atime_nsec = TIME_NSEC(buf.st_atime_nsec);
 	dst->ctime_nsec = TIME_NSEC(buf.st_ctime_nsec);
 	dst->mtime_nsec = TIME_NSEC(buf.st_mtime_nsec);
+	dst->has_nsec = HAVE_NSEC;
 	return true;
 #else /* !HAVE_STRUCT_STAT64 */
 	printaddr(addr);
diff --git a/file_handle.c b/file_handle.c
index f2f0b22..46a61c5 100644
--- a/file_handle.c
+++ b/file_handle.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/flock.c b/flock.c
index 6ec43db..c714775 100644
--- a/flock.c
+++ b/flock.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/flock.h b/flock.h
index afa5148..00e4906 100644
--- a/flock.h
+++ b/flock.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/futex.c b/futex.c
index 5267dc4..16ccddb 100644
--- a/futex.c
+++ b/futex.c
@@ -3,6 +3,7 @@
  * Copyright (c) 2007-2008 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2009 Andreas Schwab <schwab@redhat.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,6 +52,7 @@
 	const unsigned int val = tcp->u_arg[2];
 	const unsigned int val2 = tcp->u_arg[3];
 	const unsigned int val3 = tcp->u_arg[5];
+	const char *comment;
 
 	printaddr(uaddr);
 	tprints(", ");
@@ -94,15 +96,15 @@
 		tprints(", ");
 		if ((val3 >> 28) & 8)
 			tprints("FUTEX_OP_OPARG_SHIFT<<28|");
-		if (printxval(futexwakeops, (val3 >> 28) & 0x7, NULL))
-			tprints("<<28");
-		else
-			tprints("<<28 /* FUTEX_OP_??? */");
+		comment = printxval(futexwakeops, (val3 >> 28) & 0x7, NULL)
+			? NULL : "FUTEX_OP_???";
+		tprints("<<28");
+		tprints_comment(comment);
 		tprintf("|%#x<<12|", (val3 >> 12) & 0xfff);
-		if (printxval(futexwakecmps, (val3 >> 24) & 0xf, NULL))
-			tprints("<<24");
-		else
-			tprints("<<24 /* FUTEX_OP_CMP_??? */");
+		comment = printxval(futexwakecmps, (val3 >> 24) & 0xf, NULL)
+			? NULL : "FUTEX_OP_CMP_???";
+		tprints("<<24");
+		tprints_comment(comment);
 		tprintf("|%#x", val3 & 0xfff);
 		break;
 	case FUTEX_WAIT_REQUEUE_PI:
diff --git a/gcc_compat.h b/gcc_compat.h
index fe3f904..08e8117 100644
--- a/gcc_compat.h
+++ b/gcc_compat.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/io.c b/io.c
index c41b66f..acac455 100644
--- a/io.c
+++ b/io.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -94,7 +95,7 @@
 				len = c->data_size;
 			if (c->data_size != (kernel_ulong_t) -1)
 				c->data_size -= len;
-			decode_netlink(tcp, iov[0], iov[1]);
+			decode_netlink(tcp, iov[0], len);
 			break;
 		default:
 			printaddr(iov[0]);
@@ -224,11 +225,6 @@
 	return do_preadv(tcp, -1);
 }
 
-SYS_FUNC(preadv2)
-{
-	return do_preadv(tcp, 5);
-}
-
 static int
 do_pwritev(struct tcb *tcp, const int flags_arg)
 {
@@ -253,9 +249,29 @@
 	return do_pwritev(tcp, -1);
 }
 
+/*
+ * x32 is the only architecture where preadv2 takes 5 arguments
+ * instead of 6, see preadv64v2 in kernel sources.
+ * Likewise, x32 is the only architecture where pwritev2 takes 5 arguments
+ * instead of 6, see pwritev64v2 in kernel sources.
+ */
+
+#if defined X86_64
+# define PREADV2_PWRITEV2_FLAGS_ARG_NO (current_personality == 2 ? 4 : 5)
+#elif defined X32
+# define PREADV2_PWRITEV2_FLAGS_ARG_NO (current_personality == 0 ? 4 : 5)
+#else
+# define PREADV2_PWRITEV2_FLAGS_ARG_NO 5
+#endif
+
+SYS_FUNC(preadv2)
+{
+	return do_preadv(tcp, PREADV2_PWRITEV2_FLAGS_ARG_NO);
+}
+
 SYS_FUNC(pwritev2)
 {
-	return do_pwritev(tcp, 5);
+	return do_pwritev(tcp, PREADV2_PWRITEV2_FLAGS_ARG_NO);
 }
 
 #include "xlat/splice_flags.h"
diff --git a/ioctl.c b/ioctl.c
index aa1880f..264c7c0 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-2001 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -280,6 +281,8 @@
 	case 0x94:
 		return btrfs_ioctl(tcp, code, arg);
 #endif
+	case 0xb7:
+		return nsfs_ioctl(tcp, code, arg);
 #ifdef HAVE_LINUX_DM_IOCTL_H
 	case 0xfd:
 		return dm_ioctl(tcp, code, arg);
diff --git a/ioctlent0.h b/ioctlent0.h
index e6ffddb..d075f3b 100644
--- a/ioctlent0.h
+++ b/ioctlent0.h
@@ -574,6 +574,8 @@
 { "HPET_IE_OFF", 0x00006802 },
 { "HPET_EPI", 0x00006804 },
 { "HPET_DPI", 0x00006805 },
+{ "I915_PERF_IOCTL_ENABLE", 0x00006900 },
+{ "I915_PERF_IOCTL_DISABLE", 0x00006901 },
 { "KYRO_IOCTL_OVERLAY_CREATE", 0x00006b00 },
 { "KYRO_IOCTL_OVERLAY_VIEWPORT_SET", 0x00006b01 },
 { "KYRO_IOCTL_SET_VIDEO_MODE", 0x00006b02 },
@@ -880,8 +882,11 @@
 { "VHOST_RESET_OWNER", 0x0000af02 },
 { "BT_BMC_IOCTL_SMS_ATN", 0x0000b100 },
 { "PPPOEIOCDFWD", 0x0000b101 },
+{ "RPMSG_DESTROY_EPT_IOCTL", 0x0000b502 },
 { "NS_GET_USERNS", 0x0000b701 },
 { "NS_GET_PARENT", 0x0000b702 },
+{ "NS_GET_NSTYPE", 0x0000b703 },
+{ "NS_GET_OWNER_UID", 0x0000b704 },
 { "IOCTL_EVTCHN_RESTRICT_DOMID", 0x00024506 },
 { "IOCTL_EVTCHN_BIND_VIRQ", 0x00044500 },
 { "IOCTL_EVTCHN_BIND_UNBOUND_PORT", 0x00044502 },
@@ -1436,6 +1441,7 @@
 { "DRM_IOCTL_SIS_FB_INIT", 0x40106456 },
 { "DRM_IOCTL_RADEON_SETPARAM", 0x40106459 },
 { "TUNER_SET_CONFIG", 0x4010645c },
+{ "DRM_IOCTL_I915_PERF_OPEN", 0x40106476 },
 { "FS_IOC_GET_ENCRYPTION_PWSALT", 0x40106614 },
 { "HSC_SET_TX", 0x40106b15 },
 { "HSC_GET_TX", 0x40106b16 },
@@ -1576,6 +1582,7 @@
 { "PHN_SETREGS", 0x40287008 },
 { "RTC_WKALM_SET", 0x4028700f },
 { "VHOST_SET_VRING_ADDR", 0x4028af11 },
+{ "RPMSG_CREATE_EPT_IOCTL", 0x4028b501 },
 { "NVM_DEV_INIT", 0x402c4c24 },
 { "SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO", 0x402c5342 },
 { "TCSETS2", 0x402c542b },
@@ -1635,6 +1642,8 @@
 { "SET_ARRAY_INFO", 0x40480923 },
 { "SNDRV_EMU10K1_IOCTL_PCM_POKE", 0x40484830 },
 { "SNDRV_TIMER_IOCTL_GPARAMS", 0x40485404 },
+{ "BC_TRANSACTION_SG", 0x40486311 },
+{ "BC_REPLY_SG", 0x40486312 },
 { "BTRFS_IOC_SEND", 0x40489426 },
 { "KVM_SET_GUEST_DEBUG", 0x4048ae9b },
 { "KVM_S390_IRQ", 0x4048aeb4 },
@@ -1678,11 +1687,23 @@
 { "ASHMEM_SET_NAME", 0x41007701 },
 { "BTRFS_IOC_SET_FSLABEL", 0x41009432 },
 { "USBDEVFS_GETDRIVER", 0x41045508 },
+{ "IOC_OPAL_TAKE_OWNERSHIP", 0x410870de },
+{ "IOC_OPAL_REVERT_TPR", 0x410870e2 },
 { "CA_SEND_MSG", 0x410c6f85 },
+{ "IOC_OPAL_ACTIVATE_USR", 0x411070e1 },
+{ "IOC_OPAL_ENABLE_DISABLE_MBR", 0x411070e5 },
+{ "IOC_OPAL_ERASE_LR", 0x411070e6 },
+{ "IOC_OPAL_SECURE_ERASE_LR", 0x411070e7 },
+{ "IOC_OPAL_SAVE", 0x411870dc },
+{ "IOC_OPAL_LOCK_UNLOCK", 0x411870dd },
+{ "IOC_OPAL_ACTIVATE_LSP", 0x411870df },
+{ "IOC_OPAL_ADD_USR_TO_LR", 0x411870e4 },
+{ "IOC_OPAL_LR_SETUP", 0x412870e3 },
 { "KVM_SET_SREGS", 0x4138ae84 },
 { "KVM_SET_XCRS", 0x4188aea7 },
 { "KVM_SET_FPU", 0x41a0ae8d },
 { "SNDRV_EMU10K1_IOCTL_CODE_POKE", 0x41b04811 },
+{ "IOC_OPAL_SET_PW", 0x422070e0 },
 { "PTP_SYS_OFFSET", 0x43403d05 },
 { "JSIOCSBTNMAP", 0x44006a33 },
 { "KVM_SET_LAPIC", 0x4400ae8f },
@@ -2059,6 +2080,8 @@
 { "GENWQE_READ_REG16", 0x8010a522 },
 { "UFFDIO_UNREGISTER", 0x8010aa01 },
 { "UFFDIO_WAKE", 0x8010aa02 },
+{ "KVM_PPC_RESIZE_HPT_PREPARE", 0x8010aead },
+{ "KVM_PPC_RESIZE_HPT_COMMIT", 0x8010aeae },
 { "FDGETMAXERRS", 0x8014020e },
 { "GET_DISK_INFO", 0x80140912 },
 { "SNDRV_COMPRESS_TSTAMP", 0x80144320 },
@@ -2680,6 +2703,7 @@
 { "GENWQE_SLU_READ", 0xc038a551 },
 { "PTP_SYS_OFFSET_PRECISE", 0xc0403d08 },
 { "CAPI_GET_PROFILE", 0xc0404309 },
+{ "NVME_NVM_IOCTL_SUBMIT_VIO", 0xc0404c42 },
 { "ND_IOCTL_CALL", 0xc0404e0a },
 { "SNDRV_CTL_IOCTL_ELEM_REMOVE", 0xc0405519 },
 { "VIDIOC_ENUM_FMT", 0xc0405602 },
@@ -2719,6 +2743,8 @@
 { "SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT", 0xc04c5349 },
 { "VIDIOC_OMAP3ISP_AF_CFG", 0xc04c56c5 },
 { "CEC_ADAP_G_CAPS", 0xc04c6100 },
+{ "NVME_NVM_IOCTL_ADMIN_VIO", 0xc0504c41 },
+{ "NVME_NVM_IOCTL_IO_VIO", 0xc0504c43 },
 { "SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION", 0xc0505350 },
 { "SNDRV_TIMER_IOCTL_GSTATUS", 0xc0505405 },
 { "SNDRV_CTL_IOCTL_ELEM_LIST", 0xc0505510 },
diff --git a/ioctlent1.h b/ioctlent1.h
index 8e963ae..3bdb14f 100644
--- a/ioctlent1.h
+++ b/ioctlent1.h
@@ -574,6 +574,8 @@
 { "HPET_IE_OFF", 0x00006802 },
 { "HPET_EPI", 0x00006804 },
 { "HPET_DPI", 0x00006805 },
+{ "I915_PERF_IOCTL_ENABLE", 0x00006900 },
+{ "I915_PERF_IOCTL_DISABLE", 0x00006901 },
 { "KYRO_IOCTL_OVERLAY_CREATE", 0x00006b00 },
 { "KYRO_IOCTL_OVERLAY_VIEWPORT_SET", 0x00006b01 },
 { "KYRO_IOCTL_SET_VIDEO_MODE", 0x00006b02 },
@@ -880,8 +882,11 @@
 { "VHOST_RESET_OWNER", 0x0000af02 },
 { "BT_BMC_IOCTL_SMS_ATN", 0x0000b100 },
 { "PPPOEIOCDFWD", 0x0000b101 },
+{ "RPMSG_DESTROY_EPT_IOCTL", 0x0000b502 },
 { "NS_GET_USERNS", 0x0000b701 },
 { "NS_GET_PARENT", 0x0000b702 },
+{ "NS_GET_NSTYPE", 0x0000b703 },
+{ "NS_GET_OWNER_UID", 0x0000b704 },
 { "IOCTL_EVTCHN_RESTRICT_DOMID", 0x00024506 },
 { "IOCTL_EVTCHN_BIND_VIRQ", 0x00044500 },
 { "IOCTL_EVTCHN_BIND_UNBOUND_PORT", 0x00044502 },
@@ -1449,6 +1454,7 @@
 { "DRM_IOCTL_I915_HWS_ADDR", 0x40106451 },
 { "DRM_IOCTL_I915_GEM_INIT", 0x40106453 },
 { "DRM_IOCTL_SIS_AGP_FREE", 0x40106455 },
+{ "DRM_IOCTL_I915_PERF_OPEN", 0x40106476 },
 { "FS_IOC_GET_ENCRYPTION_PWSALT", 0x40106614 },
 { "HSC_SET_TX", 0x40106b15 },
 { "HSC_GET_TX", 0x40106b16 },
@@ -1577,6 +1583,7 @@
 { "PHN_SETREGS", 0x40287008 },
 { "RTC_WKALM_SET", 0x4028700f },
 { "VHOST_SET_VRING_ADDR", 0x4028af11 },
+{ "RPMSG_CREATE_EPT_IOCTL", 0x4028b501 },
 { "EVIOCSFF", 0x402c4580 },
 { "NVM_DEV_INIT", 0x402c4c24 },
 { "NVME_IOCTL_SUBMIT_IO", 0x402c4e42 },
@@ -1634,6 +1641,8 @@
 { "BTRFS_IOC_SEND", 0x40449426 },
 { "SET_ARRAY_INFO", 0x40480923 },
 { "SNDRV_EMU10K1_IOCTL_PCM_POKE", 0x40484830 },
+{ "BC_TRANSACTION_SG", 0x40486311 },
+{ "BC_REPLY_SG", 0x40486312 },
 { "KVM_SET_GUEST_DEBUG", 0x4048ae9b },
 { "KVM_S390_IRQ", 0x4048aeb4 },
 { "GSMIOC_SETCONF", 0x404c4701 },
@@ -1676,11 +1685,23 @@
 { "ASHMEM_SET_NAME", 0x41007701 },
 { "BTRFS_IOC_SET_FSLABEL", 0x41009432 },
 { "USBDEVFS_GETDRIVER", 0x41045508 },
+{ "IOC_OPAL_TAKE_OWNERSHIP", 0x410870de },
+{ "IOC_OPAL_REVERT_TPR", 0x410870e2 },
 { "CA_SEND_MSG", 0x410c6f85 },
+{ "IOC_OPAL_ACTIVATE_USR", 0x411070e1 },
+{ "IOC_OPAL_ENABLE_DISABLE_MBR", 0x411070e5 },
+{ "IOC_OPAL_ERASE_LR", 0x411070e6 },
+{ "IOC_OPAL_SECURE_ERASE_LR", 0x411070e7 },
+{ "IOC_OPAL_SAVE", 0x411870dc },
+{ "IOC_OPAL_LOCK_UNLOCK", 0x411870dd },
+{ "IOC_OPAL_ACTIVATE_LSP", 0x411870df },
+{ "IOC_OPAL_ADD_USR_TO_LR", 0x411870e4 },
+{ "IOC_OPAL_LR_SETUP", 0x412870e3 },
 { "KVM_SET_SREGS", 0x4138ae84 },
 { "KVM_SET_XCRS", 0x4188aea7 },
 { "SNDRV_EMU10K1_IOCTL_CODE_POKE", 0x418c4811 },
 { "KVM_SET_FPU", 0x41a0ae8d },
+{ "IOC_OPAL_SET_PW", 0x422070e0 },
 { "PTP_SYS_OFFSET", 0x43403d05 },
 { "JSIOCSBTNMAP", 0x44006a33 },
 { "KVM_SET_LAPIC", 0x4400ae8f },
@@ -2061,6 +2082,8 @@
 { "GENWQE_READ_REG16", 0x8010a522 },
 { "UFFDIO_UNREGISTER", 0x8010aa01 },
 { "UFFDIO_WAKE", 0x8010aa02 },
+{ "KVM_PPC_RESIZE_HPT_PREPARE", 0x8010aead },
+{ "KVM_PPC_RESIZE_HPT_COMMIT", 0x8010aeae },
 { "FDGETMAXERRS", 0x8014020e },
 { "GET_DISK_INFO", 0x80140912 },
 { "SNDRV_COMPRESS_TSTAMP", 0x80144320 },
@@ -2676,6 +2699,7 @@
 { "BLKTRACESETUP", 0xc0401273 },
 { "PTP_SYS_OFFSET_PRECISE", 0xc0403d08 },
 { "CAPI_GET_PROFILE", 0xc0404309 },
+{ "NVME_NVM_IOCTL_SUBMIT_VIO", 0xc0404c42 },
 { "ND_IOCTL_CALL", 0xc0404e0a },
 { "SNDRV_TIMER_IOCTL_GSTATUS", 0xc0405405 },
 { "SNDRV_CTL_IOCTL_ELEM_REMOVE", 0xc0405519 },
@@ -2720,6 +2744,8 @@
 { "VIDIOC_ENUMINPUT", 0xc04c561a },
 { "VIDIOC_OMAP3ISP_AF_CFG", 0xc04c56c5 },
 { "CEC_ADAP_G_CAPS", 0xc04c6100 },
+{ "NVME_NVM_IOCTL_ADMIN_VIO", 0xc0504c41 },
+{ "NVME_NVM_IOCTL_IO_VIO", 0xc0504c43 },
 { "SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION", 0xc0505350 },
 { "CEC_DQEVENT", 0xc0506107 },
 { "DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY", 0xc0506470 },
diff --git a/ioctlent2.h b/ioctlent2.h
index 6811dc2..5549d01 100644
--- a/ioctlent2.h
+++ b/ioctlent2.h
@@ -574,6 +574,8 @@
 { "HPET_IE_OFF", 0x00006802 },
 { "HPET_EPI", 0x00006804 },
 { "HPET_DPI", 0x00006805 },
+{ "I915_PERF_IOCTL_ENABLE", 0x00006900 },
+{ "I915_PERF_IOCTL_DISABLE", 0x00006901 },
 { "KYRO_IOCTL_OVERLAY_CREATE", 0x00006b00 },
 { "KYRO_IOCTL_OVERLAY_VIEWPORT_SET", 0x00006b01 },
 { "KYRO_IOCTL_SET_VIDEO_MODE", 0x00006b02 },
@@ -880,8 +882,11 @@
 { "VHOST_RESET_OWNER", 0x0000af02 },
 { "BT_BMC_IOCTL_SMS_ATN", 0x0000b100 },
 { "PPPOEIOCDFWD", 0x0000b101 },
+{ "RPMSG_DESTROY_EPT_IOCTL", 0x0000b502 },
 { "NS_GET_USERNS", 0x0000b701 },
 { "NS_GET_PARENT", 0x0000b702 },
+{ "NS_GET_NSTYPE", 0x0000b703 },
+{ "NS_GET_OWNER_UID", 0x0000b704 },
 { "IOCTL_EVTCHN_RESTRICT_DOMID", 0x00024506 },
 { "IOCTL_EVTCHN_BIND_VIRQ", 0x00044500 },
 { "IOCTL_EVTCHN_BIND_UNBOUND_PORT", 0x00044502 },
@@ -1447,6 +1452,7 @@
 { "DRM_IOCTL_I915_GEM_INIT", 0x40106453 },
 { "DRM_IOCTL_SIS_AGP_FREE", 0x40106455 },
 { "DRM_IOCTL_RADEON_SETPARAM", 0x40106459 },
+{ "DRM_IOCTL_I915_PERF_OPEN", 0x40106476 },
 { "FS_IOC_GET_ENCRYPTION_PWSALT", 0x40106614 },
 { "HSC_SET_TX", 0x40106b15 },
 { "HSC_GET_TX", 0x40106b16 },
@@ -1577,6 +1583,7 @@
 { "PHN_SETREGS", 0x40287008 },
 { "RTC_WKALM_SET", 0x4028700f },
 { "VHOST_SET_VRING_ADDR", 0x4028af11 },
+{ "RPMSG_CREATE_EPT_IOCTL", 0x4028b501 },
 { "EVIOCSFF", 0x402c4580 },
 { "NVM_DEV_INIT", 0x402c4c24 },
 { "SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO", 0x402c5342 },
@@ -1633,6 +1640,8 @@
 { "DRM_IOCTL_I915_INIT", 0x40446440 },
 { "SET_ARRAY_INFO", 0x40480923 },
 { "SNDRV_EMU10K1_IOCTL_PCM_POKE", 0x40484830 },
+{ "BC_TRANSACTION_SG", 0x40486311 },
+{ "BC_REPLY_SG", 0x40486312 },
 { "BTRFS_IOC_SEND", 0x40489426 },
 { "KVM_SET_GUEST_DEBUG", 0x4048ae9b },
 { "KVM_S390_IRQ", 0x4048aeb4 },
@@ -1676,11 +1685,23 @@
 { "ASHMEM_SET_NAME", 0x41007701 },
 { "BTRFS_IOC_SET_FSLABEL", 0x41009432 },
 { "USBDEVFS_GETDRIVER", 0x41045508 },
+{ "IOC_OPAL_TAKE_OWNERSHIP", 0x410870de },
+{ "IOC_OPAL_REVERT_TPR", 0x410870e2 },
 { "CA_SEND_MSG", 0x410c6f85 },
+{ "IOC_OPAL_ACTIVATE_USR", 0x411070e1 },
+{ "IOC_OPAL_ENABLE_DISABLE_MBR", 0x411070e5 },
+{ "IOC_OPAL_ERASE_LR", 0x411070e6 },
+{ "IOC_OPAL_SECURE_ERASE_LR", 0x411070e7 },
+{ "IOC_OPAL_SAVE", 0x411870dc },
+{ "IOC_OPAL_LOCK_UNLOCK", 0x411870dd },
+{ "IOC_OPAL_ACTIVATE_LSP", 0x411870df },
+{ "IOC_OPAL_ADD_USR_TO_LR", 0x411870e4 },
+{ "IOC_OPAL_LR_SETUP", 0x412870e3 },
 { "KVM_SET_SREGS", 0x4138ae84 },
 { "KVM_SET_XCRS", 0x4188aea7 },
 { "SNDRV_EMU10K1_IOCTL_CODE_POKE", 0x418c4811 },
 { "KVM_SET_FPU", 0x41a0ae8d },
+{ "IOC_OPAL_SET_PW", 0x422070e0 },
 { "PTP_SYS_OFFSET", 0x43403d05 },
 { "JSIOCSBTNMAP", 0x44006a33 },
 { "KVM_SET_LAPIC", 0x4400ae8f },
@@ -2060,6 +2081,8 @@
 { "GENWQE_READ_REG16", 0x8010a522 },
 { "UFFDIO_UNREGISTER", 0x8010aa01 },
 { "UFFDIO_WAKE", 0x8010aa02 },
+{ "KVM_PPC_RESIZE_HPT_PREPARE", 0x8010aead },
+{ "KVM_PPC_RESIZE_HPT_COMMIT", 0x8010aeae },
 { "FDGETMAXERRS", 0x8014020e },
 { "GET_DISK_INFO", 0x80140912 },
 { "SNDRV_COMPRESS_TSTAMP", 0x80144320 },
@@ -2675,6 +2698,7 @@
 { "VIDIOC_OMAP3ISP_PRV_CFG", 0xc03c56c2 },
 { "PTP_SYS_OFFSET_PRECISE", 0xc0403d08 },
 { "CAPI_GET_PROFILE", 0xc0404309 },
+{ "NVME_NVM_IOCTL_SUBMIT_VIO", 0xc0404c42 },
 { "ND_IOCTL_CALL", 0xc0404e0a },
 { "SNDRV_TIMER_IOCTL_GSTATUS", 0xc0405405 },
 { "SNDRV_CTL_IOCTL_ELEM_REMOVE", 0xc0405519 },
@@ -2715,6 +2739,8 @@
 { "SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT", 0xc04c5349 },
 { "VIDIOC_OMAP3ISP_AF_CFG", 0xc04c56c5 },
 { "CEC_ADAP_G_CAPS", 0xc04c6100 },
+{ "NVME_NVM_IOCTL_ADMIN_VIO", 0xc0504c41 },
+{ "NVME_NVM_IOCTL_IO_VIO", 0xc0504c43 },
 { "SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION", 0xc0505350 },
 { "VIDIOC_QUERYBUF", 0xc0505609 },
 { "VIDIOC_QBUF", 0xc050560f },
diff --git a/ioctlsort.c b/ioctlsort.c
index 079f21e..9bab978 100644
--- a/ioctlsort.c
+++ b/ioctlsort.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2001 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2004-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ioprio.c b/ioprio.c
index 0b83be7..682a7b3 100644
--- a/ioprio.c
+++ b/ioprio.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ipc_defs.h b/ipc_defs.h
index e0043ce..fc5d88f 100644
--- a/ipc_defs.h
+++ b/ipc_defs.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2003 Roland McGrath <roland@redhat.com>
+ * Copyright (c) 2003-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ipc_msg.c b/ipc_msg.c
index a5f9e83..dc898a8 100644
--- a/ipc_msg.c
+++ b/ipc_msg.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ipc_msgctl.c b/ipc_msgctl.c
index f289c30..eb3641c 100644
--- a/ipc_msgctl.c
+++ b/ipc_msgctl.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ipc_sem.c b/ipc_sem.c
index 4a70378..d5f4190 100644
--- a/ipc_sem.c
+++ b/ipc_sem.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ipc_shm.c b/ipc_shm.c
index c4bdb87..7284b18 100644
--- a/ipc_shm.c
+++ b/ipc_shm.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ipc_shmctl.c b/ipc_shmctl.c
index ff76af8..18b92b3 100644
--- a/ipc_shmctl.c
+++ b/ipc_shmctl.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/kcmp.c b/kcmp.c
index 97795e6..8c0994b 100644
--- a/kcmp.c
+++ b/kcmp.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/kernel_types.h b/kernel_types.h
index 5a27613..373a3e0 100644
--- a/kernel_types.h
+++ b/kernel_types.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/kexec.c b/kexec.c
index 44d5bd1..c11113d 100644
--- a/kexec.c
+++ b/kexec.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/keyctl.c b/keyctl.c
index c270221..3165fcd 100644
--- a/keyctl.c
+++ b/keyctl.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ldt.c b/ldt.c
index 91bdf15..81bc8ae 100644
--- a/ldt.c
+++ b/ldt.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2002-2004 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2010 Andreas Schwab <schwab@linux-m68k.org>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/linux/32/ioctls_inc_align16.h b/linux/32/ioctls_inc_align16.h
index 71c9d18..d509dc6 100644
--- a/linux/32/ioctls_inc_align16.h
+++ b/linux/32/ioctls_inc_align16.h
@@ -264,11 +264,14 @@
 { "drm/i915_drm.h", "DRM_IOCTL_I915_IRQ_WAIT", _IOC_WRITE, 0x6445, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_ATTRS", _IOC_READ|_IOC_WRITE, 0x6468, 0x2c },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_PUT_IMAGE", _IOC_WRITE, 0x6467, 0x2c },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_VBLANK_PIPE", _IOC_WRITE, 0x644d, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_VBLANK_SWAP", _IOC_READ|_IOC_WRITE, 0x644f, 0x0c },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_DISABLE", _IOC_NONE, 0x6901, 0x00 },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_ENABLE", _IOC_NONE, 0x6900, 0x00 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_BLIT", _IOC_WRITE, 0x6448, 0x34 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_CLEAR", _IOC_WRITE, 0x6444, 0x14 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_DMA_BOOTSTRAP", _IOC_READ|_IOC_WRITE, 0x644c, 0x1a },
@@ -451,8 +454,10 @@
 { "linux/android/binder.h", "BC_REGISTER_LOOPER", _IOC_NONE, 0x630b, 0x00 },
 { "linux/android/binder.h", "BC_RELEASE", _IOC_WRITE, 0x6306, 0x04 },
 { "linux/android/binder.h", "BC_REPLY", _IOC_WRITE, 0x6301, 0x40 },
+{ "linux/android/binder.h", "BC_REPLY_SG", _IOC_WRITE, 0x6312, 0x48 },
 { "linux/android/binder.h", "BC_REQUEST_DEATH_NOTIFICATION", _IOC_WRITE, 0x630e, 0x0c },
 { "linux/android/binder.h", "BC_TRANSACTION", _IOC_WRITE, 0x6300, 0x40 },
+{ "linux/android/binder.h", "BC_TRANSACTION_SG", _IOC_WRITE, 0x6311, 0x48 },
 { "linux/android/binder.h", "BINDER_SET_CONTEXT_MGR", _IOC_WRITE, 0x6207, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_PRIORITY", _IOC_WRITE, 0x6206, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_TIMEOUT", _IOC_WRITE, 0x6203, 0x08 },
@@ -1315,6 +1320,9 @@
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_IO_VIO", _IOC_READ|_IOC_WRITE, 0x4c43, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_SUBMIT_VIO", _IOC_READ|_IOC_WRITE, 0x4c42, 0x40 },
 { "linux/lightnvm.h", "NVM_DEV_CREATE", _IOC_WRITE, 0x4c22, 0x80 },
 { "linux/lightnvm.h", "NVM_DEV_FACTORY", _IOC_WRITE, 0x4c25, 0x24 },
 { "linux/lightnvm.h", "NVM_DEV_INIT", _IOC_WRITE, 0x4c24, 0x2c },
@@ -1455,6 +1463,8 @@
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_ALLOC_RANGE", _IOC_WRITE, 0x6e8c, 0x10 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_SUINFO", _IOC_WRITE, 0x6e8d, 0x18 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SYNC", _IOC_READ, 0x6e8a, 0x08 },
+{ "linux/nsfs.h", "NS_GET_NSTYPE", _IOC_NONE, 0xb703, 0x00 },
+{ "linux/nsfs.h", "NS_GET_OWNER_UID", _IOC_NONE, 0xb704, 0x00 },
 { "linux/nsfs.h", "NS_GET_PARENT", _IOC_NONE, 0xb702, 0x00 },
 { "linux/nsfs.h", "NS_GET_USERNS", _IOC_NONE, 0xb701, 0x00 },
 { "linux/nvme_ioctl.h", "NVME_IOCTL_ADMIN_CMD", _IOC_READ|_IOC_WRITE, 0x4e41, 0x48 },
@@ -1665,6 +1675,8 @@
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_INBOUND", _IOC_WRITE, 0x6d12, 0x08 },
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_OUTBOUND", _IOC_WRITE, 0x6d10, 0x28 },
 { "linux/rio_mport_cdev.h", "RIO_WAIT_FOR_ASYNC", _IOC_WRITE, 0x6d16, 0x08 },
+{ "linux/rpmsg.h", "RPMSG_CREATE_EPT_IOCTL", _IOC_WRITE, 0xb501, 0x28 },
+{ "linux/rpmsg.h", "RPMSG_DESTROY_EPT_IOCTL", _IOC_NONE, 0xb502, 0x00 },
 { "linux/rtc.h", "RTC_AIE_OFF", _IOC_NONE, 0x7002, 0x00 },
 { "linux/rtc.h", "RTC_AIE_ON", _IOC_NONE, 0x7001, 0x00 },
 { "linux/rtc.h", "RTC_ALM_READ", _IOC_READ, 0x7008, 0x24 },
@@ -1704,6 +1716,18 @@
 { "linux/scif_ioctl.h", "SCIF_VREADFROM", _IOC_READ|_IOC_WRITE, 0x730c, 0x24 },
 { "linux/scif_ioctl.h", "SCIF_VWRITETO", _IOC_READ|_IOC_WRITE, 0x730d, 0x24 },
 { "linux/scif_ioctl.h", "SCIF_WRITETO", _IOC_READ|_IOC_WRITE, 0x730b, 0x24 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_LSP", _IOC_WRITE, 0x70df, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_USR", _IOC_WRITE, 0x70e1, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ADD_USR_TO_LR", _IOC_WRITE, 0x70e4, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ENABLE_DISABLE_MBR", _IOC_WRITE, 0x70e5, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ERASE_LR", _IOC_WRITE, 0x70e6, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_LOCK_UNLOCK", _IOC_WRITE, 0x70dd, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_LR_SETUP", _IOC_WRITE, 0x70e3, 0x128 },
+{ "linux/sed-opal.h", "IOC_OPAL_REVERT_TPR", _IOC_WRITE, 0x70e2, 0x108 },
+{ "linux/sed-opal.h", "IOC_OPAL_SAVE", _IOC_WRITE, 0x70dc, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_SECURE_ERASE_LR", _IOC_WRITE, 0x70e7, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_SET_PW", _IOC_WRITE, 0x70e0, 0x220 },
+{ "linux/sed-opal.h", "IOC_OPAL_TAKE_OWNERSHIP", _IOC_WRITE, 0x70de, 0x108 },
 { "linux/serio.h", "SPIOCSTYPE", _IOC_WRITE, 0x7101, 0x04 },
 { "linux/sockios.h", "SIOCADDDLCI", 0, 0x8980, 0 },
 { "linux/sockios.h", "SIOCADDMULTI", 0, 0x8931, 0 },
@@ -2418,23 +2442,23 @@
 { "net/bluetooth/rfcomm.h", "RFCOMMRELEASEDEV", _IOC_WRITE, 0x52c9, 0x04 },
 { "net/bluetooth/rfcomm.h", "RFCOMMSTEALDLC", _IOC_WRITE, 0x52dc, 0x04 },
 { "net/nfc/nci_core.h", "NCIUARTSETDRIVER", _IOC_WRITE, 0x5500, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x26 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x26 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 },
diff --git a/linux/32/ioctls_inc_align32.h b/linux/32/ioctls_inc_align32.h
index 699eb90..b1b0339 100644
--- a/linux/32/ioctls_inc_align32.h
+++ b/linux/32/ioctls_inc_align32.h
@@ -264,11 +264,14 @@
 { "drm/i915_drm.h", "DRM_IOCTL_I915_IRQ_WAIT", _IOC_WRITE, 0x6445, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_ATTRS", _IOC_READ|_IOC_WRITE, 0x6468, 0x2c },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_PUT_IMAGE", _IOC_WRITE, 0x6467, 0x2c },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_VBLANK_PIPE", _IOC_WRITE, 0x644d, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_VBLANK_SWAP", _IOC_READ|_IOC_WRITE, 0x644f, 0x0c },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_DISABLE", _IOC_NONE, 0x6901, 0x00 },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_ENABLE", _IOC_NONE, 0x6900, 0x00 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_BLIT", _IOC_WRITE, 0x6448, 0x34 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_CLEAR", _IOC_WRITE, 0x6444, 0x14 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_DMA_BOOTSTRAP", _IOC_READ|_IOC_WRITE, 0x644c, 0x1c },
@@ -451,8 +454,10 @@
 { "linux/android/binder.h", "BC_REGISTER_LOOPER", _IOC_NONE, 0x630b, 0x00 },
 { "linux/android/binder.h", "BC_RELEASE", _IOC_WRITE, 0x6306, 0x04 },
 { "linux/android/binder.h", "BC_REPLY", _IOC_WRITE, 0x6301, 0x40 },
+{ "linux/android/binder.h", "BC_REPLY_SG", _IOC_WRITE, 0x6312, 0x48 },
 { "linux/android/binder.h", "BC_REQUEST_DEATH_NOTIFICATION", _IOC_WRITE, 0x630e, 0x0c },
 { "linux/android/binder.h", "BC_TRANSACTION", _IOC_WRITE, 0x6300, 0x40 },
+{ "linux/android/binder.h", "BC_TRANSACTION_SG", _IOC_WRITE, 0x6311, 0x48 },
 { "linux/android/binder.h", "BINDER_SET_CONTEXT_MGR", _IOC_WRITE, 0x6207, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_PRIORITY", _IOC_WRITE, 0x6206, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_TIMEOUT", _IOC_WRITE, 0x6203, 0x08 },
@@ -1315,6 +1320,9 @@
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_IO_VIO", _IOC_READ|_IOC_WRITE, 0x4c43, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_SUBMIT_VIO", _IOC_READ|_IOC_WRITE, 0x4c42, 0x40 },
 { "linux/lightnvm.h", "NVM_DEV_CREATE", _IOC_WRITE, 0x4c22, 0x80 },
 { "linux/lightnvm.h", "NVM_DEV_FACTORY", _IOC_WRITE, 0x4c25, 0x24 },
 { "linux/lightnvm.h", "NVM_DEV_INIT", _IOC_WRITE, 0x4c24, 0x2c },
@@ -1455,6 +1463,8 @@
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_ALLOC_RANGE", _IOC_WRITE, 0x6e8c, 0x10 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_SUINFO", _IOC_WRITE, 0x6e8d, 0x18 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SYNC", _IOC_READ, 0x6e8a, 0x08 },
+{ "linux/nsfs.h", "NS_GET_NSTYPE", _IOC_NONE, 0xb703, 0x00 },
+{ "linux/nsfs.h", "NS_GET_OWNER_UID", _IOC_NONE, 0xb704, 0x00 },
 { "linux/nsfs.h", "NS_GET_PARENT", _IOC_NONE, 0xb702, 0x00 },
 { "linux/nsfs.h", "NS_GET_USERNS", _IOC_NONE, 0xb701, 0x00 },
 { "linux/nvme_ioctl.h", "NVME_IOCTL_ADMIN_CMD", _IOC_READ|_IOC_WRITE, 0x4e41, 0x48 },
@@ -1665,6 +1675,8 @@
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_INBOUND", _IOC_WRITE, 0x6d12, 0x08 },
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_OUTBOUND", _IOC_WRITE, 0x6d10, 0x28 },
 { "linux/rio_mport_cdev.h", "RIO_WAIT_FOR_ASYNC", _IOC_WRITE, 0x6d16, 0x08 },
+{ "linux/rpmsg.h", "RPMSG_CREATE_EPT_IOCTL", _IOC_WRITE, 0xb501, 0x28 },
+{ "linux/rpmsg.h", "RPMSG_DESTROY_EPT_IOCTL", _IOC_NONE, 0xb502, 0x00 },
 { "linux/rtc.h", "RTC_AIE_OFF", _IOC_NONE, 0x7002, 0x00 },
 { "linux/rtc.h", "RTC_AIE_ON", _IOC_NONE, 0x7001, 0x00 },
 { "linux/rtc.h", "RTC_ALM_READ", _IOC_READ, 0x7008, 0x24 },
@@ -1704,6 +1716,18 @@
 { "linux/scif_ioctl.h", "SCIF_VREADFROM", _IOC_READ|_IOC_WRITE, 0x730c, 0x24 },
 { "linux/scif_ioctl.h", "SCIF_VWRITETO", _IOC_READ|_IOC_WRITE, 0x730d, 0x24 },
 { "linux/scif_ioctl.h", "SCIF_WRITETO", _IOC_READ|_IOC_WRITE, 0x730b, 0x24 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_LSP", _IOC_WRITE, 0x70df, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_USR", _IOC_WRITE, 0x70e1, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ADD_USR_TO_LR", _IOC_WRITE, 0x70e4, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ENABLE_DISABLE_MBR", _IOC_WRITE, 0x70e5, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ERASE_LR", _IOC_WRITE, 0x70e6, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_LOCK_UNLOCK", _IOC_WRITE, 0x70dd, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_LR_SETUP", _IOC_WRITE, 0x70e3, 0x128 },
+{ "linux/sed-opal.h", "IOC_OPAL_REVERT_TPR", _IOC_WRITE, 0x70e2, 0x108 },
+{ "linux/sed-opal.h", "IOC_OPAL_SAVE", _IOC_WRITE, 0x70dc, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_SECURE_ERASE_LR", _IOC_WRITE, 0x70e7, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_SET_PW", _IOC_WRITE, 0x70e0, 0x220 },
+{ "linux/sed-opal.h", "IOC_OPAL_TAKE_OWNERSHIP", _IOC_WRITE, 0x70de, 0x108 },
 { "linux/serio.h", "SPIOCSTYPE", _IOC_WRITE, 0x7101, 0x04 },
 { "linux/sockios.h", "SIOCADDDLCI", 0, 0x8980, 0 },
 { "linux/sockios.h", "SIOCADDMULTI", 0, 0x8931, 0 },
@@ -2418,23 +2442,23 @@
 { "net/bluetooth/rfcomm.h", "RFCOMMRELEASEDEV", _IOC_WRITE, 0x52c9, 0x04 },
 { "net/bluetooth/rfcomm.h", "RFCOMMSTEALDLC", _IOC_WRITE, 0x52dc, 0x04 },
 { "net/nfc/nci_core.h", "NCIUARTSETDRIVER", _IOC_WRITE, 0x5500, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 },
diff --git a/linux/32/ioctls_inc_align64.h b/linux/32/ioctls_inc_align64.h
index fcd9d8c..ac97f5f 100644
--- a/linux/32/ioctls_inc_align64.h
+++ b/linux/32/ioctls_inc_align64.h
@@ -264,11 +264,14 @@
 { "drm/i915_drm.h", "DRM_IOCTL_I915_IRQ_WAIT", _IOC_WRITE, 0x6445, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_ATTRS", _IOC_READ|_IOC_WRITE, 0x6468, 0x2c },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_PUT_IMAGE", _IOC_WRITE, 0x6467, 0x2c },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_VBLANK_PIPE", _IOC_WRITE, 0x644d, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_VBLANK_SWAP", _IOC_READ|_IOC_WRITE, 0x644f, 0x0c },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_DISABLE", _IOC_NONE, 0x6901, 0x00 },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_ENABLE", _IOC_NONE, 0x6900, 0x00 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_BLIT", _IOC_WRITE, 0x6448, 0x34 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_CLEAR", _IOC_WRITE, 0x6444, 0x14 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_DMA_BOOTSTRAP", _IOC_READ|_IOC_WRITE, 0x644c, 0x1c },
@@ -451,8 +454,10 @@
 { "linux/android/binder.h", "BC_REGISTER_LOOPER", _IOC_NONE, 0x630b, 0x00 },
 { "linux/android/binder.h", "BC_RELEASE", _IOC_WRITE, 0x6306, 0x04 },
 { "linux/android/binder.h", "BC_REPLY", _IOC_WRITE, 0x6301, 0x40 },
+{ "linux/android/binder.h", "BC_REPLY_SG", _IOC_WRITE, 0x6312, 0x48 },
 { "linux/android/binder.h", "BC_REQUEST_DEATH_NOTIFICATION", _IOC_WRITE, 0x630e, 0x0c },
 { "linux/android/binder.h", "BC_TRANSACTION", _IOC_WRITE, 0x6300, 0x40 },
+{ "linux/android/binder.h", "BC_TRANSACTION_SG", _IOC_WRITE, 0x6311, 0x48 },
 { "linux/android/binder.h", "BINDER_SET_CONTEXT_MGR", _IOC_WRITE, 0x6207, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_PRIORITY", _IOC_WRITE, 0x6206, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_TIMEOUT", _IOC_WRITE, 0x6203, 0x08 },
@@ -1315,6 +1320,9 @@
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_IO_VIO", _IOC_READ|_IOC_WRITE, 0x4c43, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_SUBMIT_VIO", _IOC_READ|_IOC_WRITE, 0x4c42, 0x40 },
 { "linux/lightnvm.h", "NVM_DEV_CREATE", _IOC_WRITE, 0x4c22, 0x80 },
 { "linux/lightnvm.h", "NVM_DEV_FACTORY", _IOC_WRITE, 0x4c25, 0x24 },
 { "linux/lightnvm.h", "NVM_DEV_INIT", _IOC_WRITE, 0x4c24, 0x2c },
@@ -1455,6 +1463,8 @@
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_ALLOC_RANGE", _IOC_WRITE, 0x6e8c, 0x10 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_SUINFO", _IOC_WRITE, 0x6e8d, 0x18 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SYNC", _IOC_READ, 0x6e8a, 0x08 },
+{ "linux/nsfs.h", "NS_GET_NSTYPE", _IOC_NONE, 0xb703, 0x00 },
+{ "linux/nsfs.h", "NS_GET_OWNER_UID", _IOC_NONE, 0xb704, 0x00 },
 { "linux/nsfs.h", "NS_GET_PARENT", _IOC_NONE, 0xb702, 0x00 },
 { "linux/nsfs.h", "NS_GET_USERNS", _IOC_NONE, 0xb701, 0x00 },
 { "linux/nvme_ioctl.h", "NVME_IOCTL_ADMIN_CMD", _IOC_READ|_IOC_WRITE, 0x4e41, 0x48 },
@@ -1665,6 +1675,8 @@
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_INBOUND", _IOC_WRITE, 0x6d12, 0x08 },
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_OUTBOUND", _IOC_WRITE, 0x6d10, 0x28 },
 { "linux/rio_mport_cdev.h", "RIO_WAIT_FOR_ASYNC", _IOC_WRITE, 0x6d16, 0x08 },
+{ "linux/rpmsg.h", "RPMSG_CREATE_EPT_IOCTL", _IOC_WRITE, 0xb501, 0x28 },
+{ "linux/rpmsg.h", "RPMSG_DESTROY_EPT_IOCTL", _IOC_NONE, 0xb502, 0x00 },
 { "linux/rtc.h", "RTC_AIE_OFF", _IOC_NONE, 0x7002, 0x00 },
 { "linux/rtc.h", "RTC_AIE_ON", _IOC_NONE, 0x7001, 0x00 },
 { "linux/rtc.h", "RTC_ALM_READ", _IOC_READ, 0x7008, 0x24 },
@@ -1704,6 +1716,18 @@
 { "linux/scif_ioctl.h", "SCIF_VREADFROM", _IOC_READ|_IOC_WRITE, 0x730c, 0x28 },
 { "linux/scif_ioctl.h", "SCIF_VWRITETO", _IOC_READ|_IOC_WRITE, 0x730d, 0x28 },
 { "linux/scif_ioctl.h", "SCIF_WRITETO", _IOC_READ|_IOC_WRITE, 0x730b, 0x28 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_LSP", _IOC_WRITE, 0x70df, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_USR", _IOC_WRITE, 0x70e1, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ADD_USR_TO_LR", _IOC_WRITE, 0x70e4, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ENABLE_DISABLE_MBR", _IOC_WRITE, 0x70e5, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ERASE_LR", _IOC_WRITE, 0x70e6, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_LOCK_UNLOCK", _IOC_WRITE, 0x70dd, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_LR_SETUP", _IOC_WRITE, 0x70e3, 0x128 },
+{ "linux/sed-opal.h", "IOC_OPAL_REVERT_TPR", _IOC_WRITE, 0x70e2, 0x108 },
+{ "linux/sed-opal.h", "IOC_OPAL_SAVE", _IOC_WRITE, 0x70dc, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_SECURE_ERASE_LR", _IOC_WRITE, 0x70e7, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_SET_PW", _IOC_WRITE, 0x70e0, 0x220 },
+{ "linux/sed-opal.h", "IOC_OPAL_TAKE_OWNERSHIP", _IOC_WRITE, 0x70de, 0x108 },
 { "linux/serio.h", "SPIOCSTYPE", _IOC_WRITE, 0x7101, 0x04 },
 { "linux/sockios.h", "SIOCADDDLCI", 0, 0x8980, 0 },
 { "linux/sockios.h", "SIOCADDMULTI", 0, 0x8931, 0 },
@@ -2418,23 +2442,23 @@
 { "net/bluetooth/rfcomm.h", "RFCOMMRELEASEDEV", _IOC_WRITE, 0x52c9, 0x04 },
 { "net/bluetooth/rfcomm.h", "RFCOMMSTEALDLC", _IOC_WRITE, 0x52dc, 0x04 },
 { "net/nfc/nci_core.h", "NCIUARTSETDRIVER", _IOC_WRITE, 0x5500, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 },
diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h
index 6316235..44315e0 100644
--- a/linux/32/syscallent.h
+++ b/linux/32/syscallent.h
@@ -44,8 +44,8 @@
 [ 40] = { 5,	TF,		SEN(mount),			"mount"			},
 [ 41] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
 [ 42] = { 3,	0,		SEN(nfsservctl),		"nfsservctl"		},
-[ 43] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[ 44] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[ 43] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[ 44] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [ 45] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [ 46] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
 [ 47] = { 6,	TD,		SEN(fallocate),			"fallocate"		},
@@ -80,8 +80,8 @@
 [ 76] = { 6,	TD,		SEN(splice),			"splice"		},
 [ 77] = { 4,	TD,		SEN(tee),			"tee"			},
 [ 78] = { 4,	TD|TF,		SEN(readlinkat),		"readlinkat"		},
-[ 79] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
-[ 80] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[ 79] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
+[ 80] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [ 81] = { 0,	0,		SEN(sync),			"sync"			},
 [ 82] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [ 83] = { 1,	TD,		SEN(fdatasync),			"fdatasync"		},
@@ -281,6 +281,7 @@
 [288] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [289] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [290] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[291] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #undef sys_ARCH_mmap
 #undef ARCH_WANT_SYNC_FILE_RANGE2
diff --git a/linux/64/ioctls_inc.h b/linux/64/ioctls_inc.h
index f59fe11..995c8ce 100644
--- a/linux/64/ioctls_inc.h
+++ b/linux/64/ioctls_inc.h
@@ -264,11 +264,14 @@
 { "drm/i915_drm.h", "DRM_IOCTL_I915_IRQ_WAIT", _IOC_WRITE, 0x6445, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_ATTRS", _IOC_READ|_IOC_WRITE, 0x6468, 0x2c },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_PUT_IMAGE", _IOC_WRITE, 0x6467, 0x2c },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_VBLANK_PIPE", _IOC_WRITE, 0x644d, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_VBLANK_SWAP", _IOC_READ|_IOC_WRITE, 0x644f, 0x0c },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_DISABLE", _IOC_NONE, 0x6901, 0x00 },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_ENABLE", _IOC_NONE, 0x6900, 0x00 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_BLIT", _IOC_WRITE, 0x6448, 0x34 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_CLEAR", _IOC_WRITE, 0x6444, 0x14 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_DMA_BOOTSTRAP", _IOC_READ|_IOC_WRITE, 0x644c, 0x20 },
@@ -451,8 +454,10 @@
 { "linux/android/binder.h", "BC_REGISTER_LOOPER", _IOC_NONE, 0x630b, 0x00 },
 { "linux/android/binder.h", "BC_RELEASE", _IOC_WRITE, 0x6306, 0x04 },
 { "linux/android/binder.h", "BC_REPLY", _IOC_WRITE, 0x6301, 0x40 },
+{ "linux/android/binder.h", "BC_REPLY_SG", _IOC_WRITE, 0x6312, 0x48 },
 { "linux/android/binder.h", "BC_REQUEST_DEATH_NOTIFICATION", _IOC_WRITE, 0x630e, 0x0c },
 { "linux/android/binder.h", "BC_TRANSACTION", _IOC_WRITE, 0x6300, 0x40 },
+{ "linux/android/binder.h", "BC_TRANSACTION_SG", _IOC_WRITE, 0x6311, 0x48 },
 { "linux/android/binder.h", "BINDER_SET_CONTEXT_MGR", _IOC_WRITE, 0x6207, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_PRIORITY", _IOC_WRITE, 0x6206, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_TIMEOUT", _IOC_WRITE, 0x6203, 0x08 },
@@ -1315,6 +1320,9 @@
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_IO_VIO", _IOC_READ|_IOC_WRITE, 0x4c43, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_SUBMIT_VIO", _IOC_READ|_IOC_WRITE, 0x4c42, 0x40 },
 { "linux/lightnvm.h", "NVM_DEV_CREATE", _IOC_WRITE, 0x4c22, 0x80 },
 { "linux/lightnvm.h", "NVM_DEV_FACTORY", _IOC_WRITE, 0x4c25, 0x24 },
 { "linux/lightnvm.h", "NVM_DEV_INIT", _IOC_WRITE, 0x4c24, 0x2c },
@@ -1455,6 +1463,8 @@
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_ALLOC_RANGE", _IOC_WRITE, 0x6e8c, 0x10 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_SUINFO", _IOC_WRITE, 0x6e8d, 0x18 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SYNC", _IOC_READ, 0x6e8a, 0x08 },
+{ "linux/nsfs.h", "NS_GET_NSTYPE", _IOC_NONE, 0xb703, 0x00 },
+{ "linux/nsfs.h", "NS_GET_OWNER_UID", _IOC_NONE, 0xb704, 0x00 },
 { "linux/nsfs.h", "NS_GET_PARENT", _IOC_NONE, 0xb702, 0x00 },
 { "linux/nsfs.h", "NS_GET_USERNS", _IOC_NONE, 0xb701, 0x00 },
 { "linux/nvme_ioctl.h", "NVME_IOCTL_ADMIN_CMD", _IOC_READ|_IOC_WRITE, 0x4e41, 0x48 },
@@ -1665,6 +1675,8 @@
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_INBOUND", _IOC_WRITE, 0x6d12, 0x08 },
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_OUTBOUND", _IOC_WRITE, 0x6d10, 0x28 },
 { "linux/rio_mport_cdev.h", "RIO_WAIT_FOR_ASYNC", _IOC_WRITE, 0x6d16, 0x08 },
+{ "linux/rpmsg.h", "RPMSG_CREATE_EPT_IOCTL", _IOC_WRITE, 0xb501, 0x28 },
+{ "linux/rpmsg.h", "RPMSG_DESTROY_EPT_IOCTL", _IOC_NONE, 0xb502, 0x00 },
 { "linux/rtc.h", "RTC_AIE_OFF", _IOC_NONE, 0x7002, 0x00 },
 { "linux/rtc.h", "RTC_AIE_ON", _IOC_NONE, 0x7001, 0x00 },
 { "linux/rtc.h", "RTC_ALM_READ", _IOC_READ, 0x7008, 0x24 },
@@ -1704,6 +1716,18 @@
 { "linux/scif_ioctl.h", "SCIF_VREADFROM", _IOC_READ|_IOC_WRITE, 0x730c, 0x28 },
 { "linux/scif_ioctl.h", "SCIF_VWRITETO", _IOC_READ|_IOC_WRITE, 0x730d, 0x28 },
 { "linux/scif_ioctl.h", "SCIF_WRITETO", _IOC_READ|_IOC_WRITE, 0x730b, 0x28 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_LSP", _IOC_WRITE, 0x70df, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_USR", _IOC_WRITE, 0x70e1, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ADD_USR_TO_LR", _IOC_WRITE, 0x70e4, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ENABLE_DISABLE_MBR", _IOC_WRITE, 0x70e5, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ERASE_LR", _IOC_WRITE, 0x70e6, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_LOCK_UNLOCK", _IOC_WRITE, 0x70dd, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_LR_SETUP", _IOC_WRITE, 0x70e3, 0x128 },
+{ "linux/sed-opal.h", "IOC_OPAL_REVERT_TPR", _IOC_WRITE, 0x70e2, 0x108 },
+{ "linux/sed-opal.h", "IOC_OPAL_SAVE", _IOC_WRITE, 0x70dc, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_SECURE_ERASE_LR", _IOC_WRITE, 0x70e7, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_SET_PW", _IOC_WRITE, 0x70e0, 0x220 },
+{ "linux/sed-opal.h", "IOC_OPAL_TAKE_OWNERSHIP", _IOC_WRITE, 0x70de, 0x108 },
 { "linux/serio.h", "SPIOCSTYPE", _IOC_WRITE, 0x7101, 0x08 },
 { "linux/sockios.h", "SIOCADDDLCI", 0, 0x8980, 0 },
 { "linux/sockios.h", "SIOCADDMULTI", 0, 0x8931, 0 },
@@ -2418,23 +2442,23 @@
 { "net/bluetooth/rfcomm.h", "RFCOMMRELEASEDEV", _IOC_WRITE, 0x52c9, 0x04 },
 { "net/bluetooth/rfcomm.h", "RFCOMMSTEALDLC", _IOC_WRITE, 0x52dc, 0x04 },
 { "net/nfc/nci_core.h", "NCIUARTSETDRIVER", _IOC_WRITE, 0x5500, 0x08 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x08 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x08 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 },
diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h
index 598d942..b5de226 100644
--- a/linux/64/syscallent.h
+++ b/linux/64/syscallent.h
@@ -41,8 +41,8 @@
 [ 40] = { 5,	TF,		SEN(mount),			"mount"			},
 [ 41] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
 [ 42] = { 3,	0,		SEN(nfsservctl),		"nfsservctl"		},
-[ 43] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[ 44] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 43] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[ 44] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [ 45] = { 2,	TF,		SEN(truncate),			"truncate"		},
 [ 46] = { 2,	TD,		SEN(ftruncate),			"ftruncate"		},
 [ 47] = { 4,	TD,		SEN(fallocate),			"fallocate"		},
@@ -77,8 +77,8 @@
 [ 76] = { 6,	TD,		SEN(splice),			"splice"		},
 [ 77] = { 4,	TD,		SEN(tee),			"tee"			},
 [ 78] = { 4,	TD|TF,		SEN(readlinkat),		"readlinkat"		},
-[ 79] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
-[ 80] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[ 79] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
+[ 80] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [ 81] = { 0,	0,		SEN(sync),			"sync"			},
 [ 82] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [ 83] = { 1,	TD,		SEN(fdatasync),			"fdatasync"		},
@@ -137,7 +137,7 @@
 [136] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
 [137] = { 4,	TS,		SEN(rt_sigtimedwait),		"rt_sigtimedwait"	},
 [138] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-[139] = { 0,	TS,		SEN(sigreturn),			"rt_sigreturn"		},
+[139] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
 [140] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [141] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [142] = { 4,	0,		SEN(reboot),			"reboot"		},
@@ -274,3 +274,4 @@
 [288] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [289] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [290] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[291] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
diff --git a/linux/aarch64/arch_rt_sigframe.c b/linux/aarch64/arch_rt_sigframe.c
new file mode 100644
index 0000000..5400a52
--- /dev/null
+++ b/linux/aarch64/arch_rt_sigframe.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+#undef FUNC_GET_RT_SIGFRAME_ADDR
+#define	FUNC_GET_RT_SIGFRAME_ADDR	\
+	static kernel_ulong_t arm_get_rt_sigframe_addr(struct tcb *tcp)
+
+#include "arm/arch_rt_sigframe.c"
+
+#undef FUNC_GET_RT_SIGFRAME_ADDR
+#define	FUNC_GET_RT_SIGFRAME_ADDR	DEF_FUNC_GET_RT_SIGFRAME_ADDR
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return tcp->currpers == 1 ? arm_get_rt_sigframe_addr(tcp)
+				  : *aarch64_sp_ptr;
+}
diff --git a/linux/aarch64/syscallent.h b/linux/aarch64/syscallent.h
index 6b23f8c..4ff6118 100644
--- a/linux/aarch64/syscallent.h
+++ b/linux/aarch64/syscallent.h
@@ -27,8 +27,8 @@
 [1035] = { 3,	TF,		SEN(readlink),		"readlink"	},
 [1036] = { 2,	TF,		SEN(symlink),		"symlink"	},
 [1037] = { 2,	TF,		SEN(utimes),		"utimes"	},
-[1038] = { 2,	TF,		SEN(stat),		"stat"		},
-[1039] = { 2,	TF,		SEN(lstat),		"lstat"		},
+[1038] = { 2,	TF|TST|TSTA,	SEN(stat),		"stat"		},
+[1039] = { 2,	TF|TLST|TSTA,	SEN(lstat),		"lstat"		},
 [1040] = { 1,	TD,		SEN(pipe),		"pipe"		},
 [1041] = { 2,	TD,		SEN(dup2),		"dup2"		},
 [1042] = { 1,	TD,		SEN(epoll_create),	"epoll_create"	},
@@ -38,14 +38,14 @@
 [1046] = { 4,	TD|TN,		SEN(sendfile64),	"sendfile"	},
 [1047] = { 2,	TD,		SEN(ftruncate),		"ftruncate"	},
 [1048] = { 2,	TF,		SEN(truncate),		"truncate"	},
-[1049] = { 2,	TF,		SEN(stat),		"stat"		},
-[1050] = { 2,	TF,		SEN(lstat),		"lstat"		},
-[1051] = { 2,	TD,		SEN(fstat),		"fstat"		},
+[1049] = { 2,	TF|TST|TSTA,	SEN(stat),		"stat"		},
+[1050] = { 2,	TF|TLST|TSTA,	SEN(lstat),		"lstat"		},
+[1051] = { 2,	TD|TFST|TSTA,	SEN(fstat),		"fstat"		},
 [1052] = { 3,	TD,		SEN(fcntl),		"fcntl"		},
 [1053] = { 4,	TD,		SEN(fadvise64),		"fadvise64"	},
-[1054] = { 4,	TD|TF,		SEN(newfstatat),	"newfstatat"	},
-[1055] = { 2,	TD,		SEN(fstatfs),		"fstatfs"	},
-[1056] = { 2,	TF,		SEN(statfs),		"statfs"	},
+[1054] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),	"newfstatat"	},
+[1055] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),		"fstatfs"	},
+[1056] = { 2,	TF|TSF|TSFA,	SEN(statfs),		"statfs"	},
 [1057] = { 3,	TD,		SEN(lseek),		"lseek"		},
 [1058] = { 6,	TD|TM|SI,	SEN(mmap),		"mmap"		},
 [1059] = { 1,	0,		SEN(alarm),		"alarm"		},
@@ -59,7 +59,7 @@
 [1067] = { 5,	TD,		SEN(select),		"select"	},
 [1068] = { 3,	TD,		SEN(poll),		"poll"		},
 [1069] = { 4,	TD,		SEN(epoll_wait),	"epoll_wait"	},
-[1070] = { 2,	0,		SEN(ustat),		"ustat"		},
+[1070] = { 2,	TSFA,		SEN(ustat),		"ustat"		},
 [1071] = { 0,	TP,		SEN(vfork),		"vfork"		},
 [1072] = { 4,	TP,		SEN(wait4),		"wait4"		},
 [1073] = { 4,	TN,		SEN(recv),		"recv"		},
diff --git a/linux/alpha/arch_rt_sigframe.c b/linux/alpha/arch_rt_sigframe.c
new file mode 100644
index 0000000..3343183
--- /dev/null
+++ b/linux/alpha/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	unsigned long addr;
+
+	return upeek(tcp->pid, REG_FP, &addr) ? 0 : addr;
+}
diff --git a/linux/alpha/arch_sigreturn.c b/linux/alpha/arch_sigreturn.c
index 3317a95..d5f19c5 100644
--- a/linux/alpha/arch_sigreturn.c
+++ b/linux/alpha/arch_sigreturn.c
@@ -8,6 +8,6 @@
 	addr += offsetof(struct sigcontext, sc_mask);
 
 	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
+	print_sigset_addr(tcp, addr);
 	tprints("}");
 }
diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
index b55f23a..848c323 100644
--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,100 +27,100 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-[  0] = { 6,	0,		SEN(printargs),			"osf_syscall"		}, /*not implemented */
+[  0] = { 6,	0,		SEN(printargs),			"osf_syscall"		}, /* not implemented */
 [  1] = { 1,	TP|SE,		SEN(exit),			"exit"			},
 [  2] = { 0,	TP,		SEN(fork),			"fork"			},
 [  3] = { 3,	TD,		SEN(read),			"read"			},
 [  4] = { 3,	TD,		SEN(write),			"write"			},
-[  5] = { 5,	0,		SEN(printargs),			"osf_old_open"		}, /*not implemented */
+[  5] = { 5,	0,		SEN(printargs),			"osf_old_open"		}, /* not implemented */
 [  6] = { 1,	TD,		SEN(close),			"close"			},
 [  7] = { 4,	TP,		SEN(osf_wait4),			"osf_wait4"		},
-[  8] = { 5,	0,		SEN(printargs),			"osf_old_creat"		}, /*not implemented */
+[  8] = { 5,	0,		SEN(printargs),			"osf_old_creat"		}, /* not implemented */
 [  9] = { 2,	TF,		SEN(link),			"link"			},
 [ 10] = { 1,	TF,		SEN(unlink),			"unlink"		},
-[ 11] = { 5,	0,		SEN(printargs),			"osf_execve"		}, /*not implemented */
+[ 11] = { 5,	0,		SEN(printargs),			"osf_execve"		}, /* not implemented */
 [ 12] = { 1,	TF,		SEN(chdir),			"chdir"			},
 [ 13] = { 1,	TD,		SEN(fchdir),			"fchdir"		},
 [ 14] = { 3,	TF,		SEN(mknod),			"mknod"			},
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown),			"chown"			},
 [ 17] = { 1,	TM|SI,		SEN(brk),			"brk"			},
-[ 18] = { 5,	0,		SEN(printargs),			"osf_getfsstat"		}, /*not implemented */
+[ 18] = { 5,	TSFA,		SEN(printargs),			"osf_getfsstat"		}, /* not implemented */
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getxpid),			"getxpid"		},
 [ 21] = { 4,	0,		SEN(printargs),			"osf_mount"		},
 [ 22] = { 2,	TF,		SEN(umount2),			"umount"		},
 [ 23] = { 1,	0,		SEN(setuid),			"setuid"		},
 [ 24] = { 0,	NF,		SEN(getxuid),			"getxuid"		},
-[ 25] = { 5,	0,		SEN(printargs),			"exec_with_loader"	}, /*not implemented */
+[ 25] = { 5,	0,		SEN(printargs),			"exec_with_loader"	}, /* not implemented */
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
-[ 27] = { 5,	0,		SEN(printargs),			"osf_nrecvmsg"		}, /*not implemented */
-[ 28] = { 5,	0,		SEN(printargs),			"osf_nsendmsg"		}, /*not implemented */
-[ 29] = { 5,	0,		SEN(printargs),			"osf_nrecvfrom"		}, /*not implemented */
-[ 30] = { 5,	0,		SEN(printargs),			"osf_naccept"		}, /*not implemented */
-[ 31] = { 5,	0,		SEN(printargs),			"osf_ngetpeername"	}, /*not implemented */
-[ 32] = { 5,	0,		SEN(printargs),			"osf_ngetsockname"	}, /*not implemented */
+[ 27] = { 5,	0,		SEN(printargs),			"osf_nrecvmsg"		}, /* not implemented */
+[ 28] = { 5,	0,		SEN(printargs),			"osf_nsendmsg"		}, /* not implemented */
+[ 29] = { 5,	0,		SEN(printargs),			"osf_nrecvfrom"		}, /* not implemented */
+[ 30] = { 5,	0,		SEN(printargs),			"osf_naccept"		}, /* not implemented */
+[ 31] = { 5,	0,		SEN(printargs),			"osf_ngetpeername"	}, /* not implemented */
+[ 32] = { 5,	0,		SEN(printargs),			"osf_ngetsockname"	}, /* not implemented */
 [ 33] = { 2,	TF,		SEN(access),			"access"		},
-[ 34] = { 5,	0,		SEN(printargs),			"osf_chflags"		}, /*not implemented */
-[ 35] = { 5,	0,		SEN(printargs),			"osf_fchflags"		}, /*not implemented */
+[ 34] = { 5,	0,		SEN(printargs),			"osf_chflags"		}, /* not implemented */
+[ 35] = { 5,	0,		SEN(printargs),			"osf_fchflags"		}, /* not implemented */
 [ 36] = { 0,	0,		SEN(sync),			"sync"			},
 [ 37] = { 2,	TS,		SEN(kill),			"kill"			},
-[ 38] = { 5,	0,		SEN(printargs),			"osf_old_stat"		}, /*not implemented */
+[ 38] = { 5,	TF|TST|TSTA,	SEN(printargs),			"osf_old_stat"		}, /* not implemented */
 [ 39] = { 2,	0,		SEN(setpgid),			"setpgid"		},
-[ 40] = { 5,	0,		SEN(printargs),			"osf_old_lstat"		}, /*not implemented */
+[ 40] = { 5,	TF|TLST|TSTA,	SEN(printargs),			"osf_old_lstat"		}, /* not implemented */
 [ 41] = { 1,	TD,		SEN(dup),			"dup"			},
 [ 42] = { 0,	TD,		SEN(pipe),			"pipe"			},
 [ 43] = { 4,	0,		SEN(printargs),			"osf_set_program_attributes"	},
-[ 44] = { 5,	0,		SEN(printargs),			"osf_profil"		}, /*not implemented */
+[ 44] = { 5,	0,		SEN(printargs),			"osf_profil"		}, /* not implemented */
 [ 45] = { 3,	TD|TF,		SEN(open),			"open"			},
-[ 46] = { 5,	0,		SEN(printargs),			"osf_old_sigaction"	}, /*not implemented */
-[ 47] = { 1,	NF,		SEN(getxgid),			"getxgid"		},
+[ 46] = { 5,	0,		SEN(printargs),			"osf_old_sigaction"	}, /* not implemented */
+[ 47] = { 0,	NF,		SEN(getxgid),			"getxgid"		},
 [ 48] = { 2,	TS,		SEN(sigprocmask),		"osf_sigprocmask"	},
-[ 49] = { 5,	0,		SEN(printargs),			"osf_getlogin"		}, /*not implemented */
-[ 50] = { 5,	0,		SEN(printargs),			"osf_setlogin"		}, /*not implemented */
+[ 49] = { 5,	0,		SEN(printargs),			"osf_getlogin"		}, /* not implemented */
+[ 50] = { 5,	0,		SEN(printargs),			"osf_setlogin"		}, /* not implemented */
 [ 51] = { 1,	TF,		SEN(acct),			"acct"			},
 [ 52] = { 1,	TS,		SEN(sigpending),		"sigpending"		},
 [ 53] = { },
 [ 54] = { 3,	TD,		SEN(ioctl),			"ioctl"			},
-[ 55] = { 5,	0,		SEN(printargs),			"osf_reboot"		}, /*not implemented */
-[ 56] = { 5,	0,		SEN(printargs),			"osf_revoke"		}, /*not implemented */
+[ 55] = { 5,	0,		SEN(printargs),			"osf_reboot"		}, /* not implemented */
+[ 56] = { 5,	0,		SEN(printargs),			"osf_revoke"		}, /* not implemented */
 [ 57] = { 2,	TF,		SEN(symlink),			"symlink"		},
 [ 58] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 59] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 5,	0,		SEN(printargs),			"osf_old_fstat"		}, /*not implemented */
+[ 62] = { 5,	TD|TFST|TSTA,	SEN(printargs),			"osf_old_fstat"		}, /* not implemented */
 [ 63] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 64] = { 0,	0,		SEN(getpagesize),		"getpagesize"		},
-[ 65] = { 5,	TM,		SEN(printargs),			"osf_mremap"		}, /*not implemented */
+[ 65] = { 5,	TM,		SEN(printargs),			"osf_mremap"		}, /* not implemented */
 [ 66] = { 0,	TP,		SEN(vfork),			"vfork"			},
-[ 67] = { 2,	TF,		SEN(stat),			"stat"			},
-[ 68] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[ 69] = { 5,	TM,		SEN(printargs),			"osf_sbrk"		}, /*not implemented */
-[ 70] = { 5,	0,		SEN(printargs),			"osf_sstk"		}, /*not implemented */
+[ 67] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[ 68] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[ 69] = { 5,	TM,		SEN(printargs),			"osf_sbrk"		}, /* not implemented */
+[ 70] = { 5,	0,		SEN(printargs),			"osf_sstk"		}, /* not implemented */
 [ 71] = { 6,	TD|TM|SI,	SEN(mmap),			"mmap"			},
-[ 72] = { 5,	0,		SEN(printargs),			"osf_old_vadvise"	}, /*not implemented */
+[ 72] = { 5,	0,		SEN(printargs),			"osf_old_vadvise"	}, /* not implemented */
 [ 73] = { 2,	TM|SI,		SEN(munmap),			"munmap"		},
 [ 74] = { 3,	TM|SI,		SEN(mprotect),			"mprotect"		},
 [ 75] = { 3,	TM,		SEN(madvise),			"madvise"		},
 [ 76] = { 0,	0,		SEN(vhangup),			"vhangup"		},
-[ 77] = { 5,	0,		SEN(printargs),			"osf_kmodcall"		}, /*not implemented */
-[ 78] = { 5,	TM,		SEN(printargs),			"osf_mincore"		}, /*not implemented */
+[ 77] = { 5,	0,		SEN(printargs),			"osf_kmodcall"		}, /* not implemented */
+[ 78] = { 5,	TM,		SEN(printargs),			"osf_mincore"		}, /* not implemented */
 [ 79] = { 2,	0,		SEN(getgroups),			"getgroups"		},
 [ 80] = { 2,	0,		SEN(setgroups),			"setgroups"		},
-[ 81] = { 5,	0,		SEN(printargs),			"osf_old_getpgrp"	}, /*not implemented */
+[ 81] = { 5,	0,		SEN(printargs),			"osf_old_getpgrp"	}, /* not implemented */
 [ 82] = { 2,	0,		SEN(setpgrp),			"setpgrp"		},
 [ 83] = { 3,	0,		SEN(osf_setitimer),		"osf_setitimer"		},
-[ 84] = { 5,	0,		SEN(printargs),			"osf_old_wait"		}, /*not implemented */
-[ 85] = { 5,	0,		SEN(printargs),			"osf_table"		}, /*not implemented */
+[ 84] = { 5,	0,		SEN(printargs),			"osf_old_wait"		}, /* not implemented */
+[ 85] = { 5,	0,		SEN(printargs),			"osf_table"		}, /* not implemented */
 [ 86] = { 2,	0,		SEN(osf_getitimer),		"osf_getitimer"		},
 [ 87] = { 2,	0,		SEN(gethostname),		"gethostname"		},
 [ 88] = { 2,	0,		SEN(sethostname),		"sethostname"		},
 [ 89] = { 0,	0,		SEN(getdtablesize),		"getdtablesize"		},
 [ 90] = { 2,	TD,		SEN(dup2),			"dup2"			},
-[ 91] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[ 91] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [ 92] = { 3,	TD,		SEN(fcntl),			"fcntl"			},
-[ 93] = { 5,	0,		SEN(osf_select),		"osf_select"		},
+[ 93] = { 5,	TD,		SEN(osf_select),		"osf_select"		},
 [ 94] = { 3,	TD,		SEN(poll),			"poll"			},
 [ 95] = { 1,	TD,		SEN(fsync),			"fsync"			},
 [ 96] = { 3,	0,		SEN(setpriority),		"setpriority"		},
@@ -133,15 +134,15 @@
 [104] = { 3,	TN,		SEN(bind),			"bind"			},
 [105] = { 5,	TN,		SEN(setsockopt),		"setsockopt"		},
 [106] = { 2,	TN,		SEN(listen),			"listen"		},
-[107] = { 5,	0,		SEN(printargs),			"osf_plock"		}, /*not implemented */
-[108] = { 5,	0,		SEN(printargs),			"osf_old_sigvec"	}, /*not implemented */
-[109] = { 5,	0,		SEN(printargs),			"osf_old_sigblock"	}, /*not implemented */
-[110] = { 5,	0,		SEN(printargs),			"osf_old_sigsetmask"	}, /*not implemented */
-[111] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[107] = { 5,	0,		SEN(printargs),			"osf_plock"		}, /* not implemented */
+[108] = { 5,	0,		SEN(printargs),			"osf_old_sigvec"	}, /* not implemented */
+[109] = { 5,	0,		SEN(printargs),			"osf_old_sigblock"	}, /* not implemented */
+[110] = { 5,	0,		SEN(printargs),			"osf_old_sigsetmask"	}, /* not implemented */
+[111] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
 [112] = { 2,	0,		SEN(printargs),			"osf_sigstack"		},
 [113] = { 3,	TN,		SEN(recvmsg),			"recvmsg"		},
 [114] = { 3,	TN,		SEN(sendmsg),			"sendmsg"		},
-[115] = { 5,	0,		SEN(printargs),			"osf_old_vtrace"	}, /*not implemented */
+[115] = { 5,	0,		SEN(printargs),			"osf_old_vtrace"	}, /* not implemented */
 [116] = { 2,	0,		SEN(osf_gettimeofday),		"osf_gettimeofday"	},
 [117] = { 2,	0,		SEN(osf_getrusage),		"osf_getrusage"		},
 [118] = { 5,	TN,		SEN(getsockopt),		"getsockopt"		},
@@ -164,43 +165,43 @@
 [135] = { 4,	TN,		SEN(socketpair),		"socketpair"		},
 [136] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
 [137] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-[138] = { 2,	0,		SEN(osf_utimes),		"osf_utimes"		},
-[139] = { 5,	0,		SEN(printargs),			"osf_old_sigreturn"	},
-[140] = { 5,	0,		SEN(printargs),			"osf_adjtime"		}, /*not implemented */
+[138] = { 2,	TF,		SEN(osf_utimes),		"osf_utimes"		},
+[139] = { 5,	0,		SEN(printargs),			"osf_old_sigreturn"	}, /* not implemented */
+[140] = { 5,	0,		SEN(printargs),			"osf_adjtime"		}, /* not implemented */
 [141] = { 3,	TN,		SEN(getpeername),		"getpeername"		},
-[142] = { 5,	0,		SEN(printargs),			"osf_gethostid"		}, /*not implemented */
-[143] = { 5,	0,		SEN(printargs),			"osf_sethostid"		}, /*not implemented */
+[142] = { 5,	0,		SEN(printargs),			"osf_gethostid"		}, /* not implemented */
+[143] = { 5,	0,		SEN(printargs),			"osf_sethostid"		}, /* not implemented */
 [144] = { 2,	0,		SEN(getrlimit),			"getrlimit"		},
 [145] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
-[146] = { 5,	0,		SEN(printargs),			"osf_old_killpg"	}, /*not implemented */
+[146] = { 5,	0,		SEN(printargs),			"osf_old_killpg"	}, /* not implemented */
 [147] = { 0,	0,		SEN(setsid),			"setsid"		},
 [148] = { 4,	TF,		SEN(quotactl),			"quotactl"		},
-[149] = { 5,	0,		SEN(printargs),			"osf_oldquota"		}, /*not implemented */
+[149] = { 5,	0,		SEN(printargs),			"osf_oldquota"		}, /* not implemented */
 [150] = { 3,	TN,		SEN(getsockname),		"getsockname"		},
 [151 ... 152] = { },
-[153] = { 5,	0,		SEN(printargs),			"osf_pid_block"		}, /*not implemented */
-[154] = { 5,	0,		SEN(printargs),			"osf_pid_unblock"	}, /*not implemented */
+[153] = { 5,	0,		SEN(printargs),			"osf_pid_block"		}, /* not implemented */
+[154] = { 5,	0,		SEN(printargs),			"osf_pid_unblock"	}, /* not implemented */
 [155] = { },
 [156] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[157] = { 5,	0,		SEN(printargs),			"osf_sigwaitprim"	}, /*not implemented */
-[158] = { 5,	0,		SEN(printargs),			"osf_nfssvc"		}, /*not implemented */
+[157] = { 5,	0,		SEN(printargs),			"osf_sigwaitprim"	}, /* not implemented */
+[158] = { 5,	0,		SEN(printargs),			"osf_nfssvc"		}, /* not implemented */
 [159] = { 4,	0,		SEN(printargs),			"osf_getdirentries"	},
-[160] = { 3,	0,		SEN(osf_statfs),		"osf_statfs"		},
-[161] = { 3,	0,		SEN(osf_fstatfs),		"osf_fstatfs"		},
+[160] = { 3,	TF|TSF|TSFA,	SEN(osf_statfs),		"osf_statfs"		},
+[161] = { 3,	TD|TFSF|TSFA,	SEN(osf_fstatfs),		"osf_fstatfs"		},
 [162] = { },
-[163] = { 5,	0,		SEN(printargs),			"osf_asynch_daemon"	}, /*not implemented */
-[164] = { 5,	0,		SEN(printargs),			"osf_getfh"		}, /*not implemented */
+[163] = { 5,	0,		SEN(printargs),			"osf_asynch_daemon"	}, /* not implemented */
+[164] = { 5,	0,		SEN(printargs),			"osf_getfh"		}, /* not implemented */
 [165] = { 2,	0,		SEN(printargs),			"osf_getdomainname"	},
 [166] = { 2,	0,		SEN(setdomainname),		"setdomainname"		},
 [167 ... 168] = { },
-[169] = { 5,	0,		SEN(printargs),			"osf_exportfs"		}, /*not implemented */
+[169] = { 5,	0,		SEN(printargs),			"osf_exportfs"		}, /* not implemented */
 [170 ... 180] = { },
-[181] = { 5,	0,		SEN(printargs),			"osf_alt_plock"		}, /*not implemented */
+[181] = { 5,	0,		SEN(printargs),			"osf_alt_plock"		}, /* not implemented */
 [182 ... 183] = { },
-[184] = { 5,	0,		SEN(printargs),			"osf_getmnt"		}, /*not implemented */
+[184] = { 5,	0,		SEN(printargs),			"osf_getmnt"		}, /* not implemented */
 [185 ... 186] = { },
-[187] = { 5,	0,		SEN(printargs),			"osf_alt_sigpending"	}, /*not implemented */
-[188] = { 5,	0,		SEN(printargs),			"osf_alt_setsid"	}, /*not implemented */
+[187] = { 5,	0,		SEN(printargs),			"osf_alt_sigpending"	}, /* not implemented */
+[188] = { 5,	0,		SEN(printargs),			"osf_alt_setsid"	}, /* not implemented */
 [189 ... 198] = { },
 [199] = { 4,	0,		SEN(printargs),			"osf_swapon"		},
 [200] = { 3,	TI,		SEN(msgctl),			"msgctl"		},
@@ -216,63 +217,63 @@
 [210] = { 3,	TI,		SEN(shmctl),			"shmctl"		},
 [211] = { 1,	TI|TM|SI,	SEN(shmdt),			"shmdt"			},
 [212] = { 3,	TI,		SEN(shmget),			"shmget"		},
-[213] = { 5,	0,		SEN(printargs),			"osf_mvalid"		}, /*not implemented */
-[214] = { 5,	0,		SEN(printargs),			"osf_getaddressconf"	}, /*not implemented */
-[215] = { 5,	0,		SEN(printargs),			"osf_msleep"		}, /*not implemented */
-[216] = { 5,	0,		SEN(printargs),			"osf_mwakeup"		}, /*not implemented */
+[213] = { 5,	0,		SEN(printargs),			"osf_mvalid"		}, /* not implemented */
+[214] = { 5,	0,		SEN(printargs),			"osf_getaddressconf"	}, /* not implemented */
+[215] = { 5,	0,		SEN(printargs),			"osf_msleep"		}, /* not implemented */
+[216] = { 5,	0,		SEN(printargs),			"osf_mwakeup"		}, /* not implemented */
 [217] = { 3,	TM,		SEN(msync),			"msync"			},
-[218] = { 5,	0,		SEN(printargs),			"osf_signal"		}, /*not implemented */
-[219] = { 5,	0,		SEN(printargs),			"osf_utc_gettime"	}, /*not implemented */
-[220] = { 5,	0,		SEN(printargs),			"osf_utc_adjtime"	}, /*not implemented */
+[218] = { 5,	0,		SEN(printargs),			"osf_signal"		}, /* not implemented */
+[219] = { 5,	0,		SEN(printargs),			"osf_utc_gettime"	}, /* not implemented */
+[220] = { 5,	0,		SEN(printargs),			"osf_utc_adjtime"	}, /* not implemented */
 [221] = { },
-[222] = { 5,	0,		SEN(printargs),			"osf_security"		}, /*not implemented */
-[223] = { 5,	0,		SEN(printargs),			"osf_kloadcall"		}, /*not implemented */
-[224] = { 5,	0,		SEN(printargs),			"osf_stat"		}, /*not implemented */
-[225] = { 5,	0,		SEN(printargs),			"osf_lstat"		}, /*not implemented */
-[226] = { 5,	0,		SEN(printargs),			"osf_fstat"		}, /*not implemented */
-[227] = { 3,	0,		SEN(osf_statfs),		"osf_statfs64"		}, /*not implemented */
-[228] = { 3,	0,		SEN(osf_fstatfs),		"osf_fstatfs64"		}, /*not implemented */
+[222] = { 5,	0,		SEN(printargs),			"osf_security"		}, /* not implemented */
+[223] = { 5,	0,		SEN(printargs),			"osf_kloadcall"		}, /* not implemented */
+[224] = { 2,	TF|TST|TSTA,	SEN(printargs),			"osf_stat"		},
+[225] = { 2,	TF|TLST|TSTA,	SEN(printargs),			"osf_lstat"		},
+[226] = { 2,	TD|TFST|TSTA,	SEN(printargs),			"osf_fstat"		},
+[227] = { 3,	TF|TSF|TSFA,	SEN(osf_statfs),		"osf_statfs64"		},
+[228] = { 3,	TD|TFSF|TSFA,	SEN(osf_fstatfs),		"osf_fstatfs64"		},
 [229 ... 232] = { },
 [233] = { 1,	0,		SEN(getpgid),			"getpgid"		},
 [234] = { 1,	0,		SEN(getsid),			"getsid"		},
 [235] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
-[236] = { 5,	0,		SEN(printargs),			"osf_waitid"		}, /*not implemented */
-[237] = { 5,	0,		SEN(printargs),			"osf_priocntlset"	}, /*not implemented */
-[238] = { 5,	0,		SEN(printargs),			"osf_sigsendset"	}, /*not implemented */
-[239] = { 5,	0,		SEN(printargs),			"osf_set_speculative"	}, /*not implemented */
-[240] = { 5,	0,		SEN(printargs),			"osf_msfs_syscall"	}, /*not implemented */
-[241] = { 5,	0,		SEN(printargs),			"osf_sysinfo"		},
-[242] = { 5,	0,		SEN(printargs),			"osf_uadmin"		}, /*not implemented */
-[243] = { 5,	0,		SEN(printargs),			"osf_fuser"		}, /*not implemented */
+[236] = { 5,	0,		SEN(printargs),			"osf_waitid"		}, /* not implemented */
+[237] = { 5,	0,		SEN(printargs),			"osf_priocntlset"	}, /* not implemented */
+[238] = { 5,	0,		SEN(printargs),			"osf_sigsendset"	}, /* not implemented */
+[239] = { 5,	0,		SEN(printargs),			"osf_set_speculative"	}, /* not implemented */
+[240] = { 5,	0,		SEN(printargs),			"osf_msfs_syscall"	}, /* not implemented */
+[241] = { 3,	0,		SEN(printargs),			"osf_sysinfo"		},
+[242] = { 5,	0,		SEN(printargs),			"osf_uadmin"		}, /* not implemented */
+[243] = { 5,	0,		SEN(printargs),			"osf_fuser"		}, /* not implemented */
 [244] = { 2,	0,		SEN(printargs),			"osf_proplist_syscall"	},
-[245] = { 5,	0,		SEN(printargs),			"osf_ntp_adjtime"	}, /*not implemented */
-[246] = { 5,	0,		SEN(printargs),			"osf_ntp_gettime"	}, /*not implemented */
-[247] = { 5,	0,		SEN(printargs),			"osf_pathconf"		}, /*not implemented */
-[248] = { 5,	0,		SEN(printargs),			"osf_fpathconf"		}, /*not implemented */
+[245] = { 5,	0,		SEN(printargs),			"osf_ntp_adjtime"	}, /* not implemented */
+[246] = { 5,	0,		SEN(printargs),			"osf_ntp_gettime"	}, /* not implemented */
+[247] = { 5,	0,		SEN(printargs),			"osf_pathconf"		}, /* not implemented */
+[248] = { 5,	0,		SEN(printargs),			"osf_fpathconf"		}, /* not implemented */
 [249] = { },
-[250] = { 5,	0,		SEN(printargs),			"osf_uswitch"		}, /*not implemented */
+[250] = { 5,	0,		SEN(printargs),			"osf_uswitch"		}, /* not implemented */
 [251] = { 2,	0,		SEN(printargs),			"osf_usleep_thread"	},
-[252] = { 5,	0,		SEN(printargs),			"osf_audcntl"		}, /*not implemented */
-[253] = { 5,	0,		SEN(printargs),			"osf_audgen"		}, /*not implemented */
+[252] = { 5,	0,		SEN(printargs),			"osf_audcntl"		}, /* not implemented */
+[253] = { 5,	0,		SEN(printargs),			"osf_audgen"		}, /* not implemented */
 [254] = { 3,	0,		SEN(sysfs),			"sysfs"			},
-[255] = { 5,	0,		SEN(printargs),			"osf_subsys_info"	}, /*not implemented */
+[255] = { 5,	0,		SEN(printargs),			"osf_subsys_info"	}, /* not implemented */
 [256] = { 5,	0,		SEN(printargs),			"osf_getsysinfo"	},
 [257] = { 5,	0,		SEN(printargs),			"osf_setsysinfo"	},
-[258] = { 5,	0,		SEN(printargs),			"osf_afs_syscall"	}, /*not implemented */
-[259] = { 5,	0,		SEN(printargs),			"osf_swapctl"		}, /*not implemented */
-[260] = { 5,	0,		SEN(printargs),			"osf_memcntl"		}, /*not implemented */
-[261] = { 5,	0,		SEN(printargs),			"osf_fdatasync"		}, /*not implemented */
+[258] = { 5,	0,		SEN(printargs),			"osf_afs_syscall"	}, /* not implemented */
+[259] = { 5,	0,		SEN(printargs),			"osf_swapctl"		}, /* not implemented */
+[260] = { 5,	0,		SEN(printargs),			"osf_memcntl"		}, /* not implemented */
+[261] = { 5,	0,		SEN(printargs),			"osf_fdatasync"		}, /* not implemented */
 [262 ... 299] = { },
 [300] = { 2,	0,		SEN(bdflush),			"bdflush"		},
-[301] = { 3,	0,		SEN(printargs),			"sethae"		},
+[301] = { 1,	0,		SEN(printargs),			"sethae"		},
 [302] = { 5,	TF,		SEN(mount),			"mount"			},
 [303] = { 1,	0,		SEN(adjtimex),			"old_adjtimex"		},
 [304] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
 [305] = { 3,	TD,		SEN(getdents),			"getdents"		},
-[306] = { 2,	0,		SEN(create_module),		"create_module"		},
+[306] = { 2,	0,		SEN(create_module),		"create_module"		}, /* not implemented */
 [307] = { 3,	0,		SEN(init_module),		"init_module"		},
 [308] = { 2,	0,		SEN(delete_module),		"delete_module"		},
-[309] = { 1,	0,		SEN(get_kernel_syms),		"get_kernel_syms"	},
+[309] = { 1,	0,		SEN(get_kernel_syms),		"get_kernel_syms"	}, /* not implemented */
 [310] = { 3,	0,		SEN(syslog),			"syslog"		},
 [311] = { 4,	0,		SEN(reboot),			"reboot"		},
 [312] = { 5,	TP,		SEN(clone),			"clone"			},
@@ -290,9 +291,9 @@
 [324] = { 1,	NF,		SEN(personality),		"personality"		},
 [325] = { 1,	NF,		SEN(setfsuid),			"setfsuid"		},
 [326] = { 1,	NF,		SEN(setfsgid),			"setfsgid"		},
-[327] = { 2,	0,		SEN(ustat),			"ustat"			},
-[328] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[329] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[327] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
+[328] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[329] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [330] = { 2,	0,		SEN(sched_setparam),		"sched_setparam"	},
 [331] = { 2,	0,		SEN(sched_getparam),		"sched_getparam"	},
 [332] = { 3,	0,		SEN(sched_setscheduler),	"sched_setscheduler"	},
@@ -301,16 +302,16 @@
 [335] = { 1,	0,		SEN(sched_get_priority_max),	"sched_get_priority_max"},
 [336] = { 1,	0,		SEN(sched_get_priority_min),	"sched_get_priority_min"},
 [337] = { 2,	0,		SEN(sched_rr_get_interval),	"sched_rr_get_interval"	},
-[338] = { 5,	0,		SEN(afs_syscall),		"afs_syscall"		},
+[338] = { 5,	0,		SEN(afs_syscall),		"afs_syscall"		}, /* not implemented */
 [339] = { 1,	0,		SEN(uname),			"uname"			},
 [340] = { 2,	0,		SEN(nanosleep),			"nanosleep"		},
 [341] = { 5,	TM|SI,		SEN(mremap),			"mremap"		},
-[342] = { 3,	0,		SEN(nfsservctl),		"nfsservctl"		},
+[342] = { 3,	0,		SEN(nfsservctl),		"nfsservctl"		}, /* not implemented */
 [343] = { 3,	0,		SEN(setresuid),			"setresuid"		},
 [344] = { 3,	0,		SEN(getresuid),			"getresuid"		},
 [345] = { 5,	0,		SEN(printargs),			"pciconfig_read"	},
 [346] = { 5,	0,		SEN(printargs),			"pciconfig_write"	},
-[347] = { 5,	0,		SEN(query_module),		"query_module"		},
+[347] = { 5,	0,		SEN(query_module),		"query_module"		}, /* not implemented */
 [348] = { 5,	0,		SEN(prctl),			"prctl"			},
 [349] = { 4,	TD,		SEN(pread),			"pread64"		},
 [350] = { 4,	TD,		SEN(pwrite),			"pwrite64"		},
@@ -336,7 +337,7 @@
 [370] = { 4,	TD|TN,		SEN(sendfile),			"sendfile"		},
 [371] = { 3,	0,		SEN(setresgid),			"setresgid"		},
 [372] = { 3,	0,		SEN(getresgid),			"getresgid"		},
-[373] = { 4,	0,		SEN(printargs),			"dipc"			}, /*not implemented */
+[373] = { 4,	0,		SEN(printargs),			"dipc"			}, /* not implemented */
 [374] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
 [375] = { 3,	TM,		SEN(mincore),			"mincore"		},
 [376] = { 3,	0,		SEN(printargs),			"pciconfig_iobase"	},
@@ -360,7 +361,7 @@
 [394] = { 6,	0,		SEN(futex),			"futex"			},
 [395] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
 [396] = { 3,	0,		SEN(sched_getaffinity),		"sched_getaffinity"	},
-[397] = { 5,	0,		SEN(tuxcall),			"tuxcall"		},
+[397] = { 5,	0,		SEN(tuxcall),			"tuxcall"		}, /* not implemented */
 [398] = { 2,	TM,		SEN(io_setup),			"io_setup"		},
 [399] = { 1,	TM,		SEN(io_destroy),		"io_destroy"		},
 [400] = { 5,	0,		SEN(io_getevents),		"io_getevents"		},
@@ -387,13 +388,13 @@
 [422] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
 [423] = { 4,	TI,		SEN(semtimedop),		"semtimedop"		},
 [424] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-[425] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[426] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[427] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
-[428] = { 5,	0,		SEN(vserver),			"vserver"		},
-[429] = { 6,	TM,		SEN(mbind),			"mbind"			},
-[430] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
-[431] = { 3,	TM,		SEN(set_mempolicy),		"set_mempolicy"		},
+[425] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[426] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[427] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
+[428] = { 5,	0,		SEN(vserver),			"vserver"		}, /* not implemented */
+[429] = { 6,	TM,		SEN(mbind),			"mbind"			}, /* not implemented */
+[430] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		}, /* not implemented */
+[431] = { 3,	TM,		SEN(set_mempolicy),		"set_mempolicy"		}, /* not implemented */
 [432] = { 4,	0,		SEN(mq_open),			"mq_open"		},
 [433] = { 1,	0,		SEN(mq_unlink),			"mq_unlink"		},
 [434] = { 5,	0,		SEN(mq_timedsend),		"mq_timedsend"		},
@@ -417,7 +418,7 @@
 [452] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [453] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [454] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[455] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[455] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [456] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [457] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [458] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -439,7 +440,7 @@
 [474] = { 6,	TD,		SEN(epoll_pwait),		"epoll_pwait"		},
 [475] = { 4,	TD|TF,		SEN(utimensat),			"utimensat"		},
 [476] = { 3,	TD|TS,		SEN(signalfd),			"signalfd"		},
-[477] = { 4,	TD,		SEN(timerfd),			"timerfd"		},
+[477] = { 4,	TD,		SEN(timerfd),			"timerfd"		}, /* not implemented */
 [478] = { 1,	TD,		SEN(eventfd),			"eventfd"		},
 [479] = { 5,	TN,		SEN(recvmmsg),			"recvmmsg"		},
 [480] = { 4,	TD,		SEN(fallocate),			"fallocate"		},
diff --git a/linux/arc/arch_regs.c b/linux/arc/arch_regs.c
index 1846008..9a5c2df 100644
--- a/linux/arc/arch_regs.c
+++ b/linux/arc/arch_regs.c
@@ -1,3 +1,4 @@
 static struct user_regs_struct arc_regs;
+unsigned long *const arc_sp_ptr = &arc_regs.sp;
 #define ARCH_REGS_FOR_GETREGSET arc_regs
 #define ARCH_PC_REG arc_regs.efa
diff --git a/linux/arc/arch_regs.h b/linux/arc/arch_regs.h
new file mode 100644
index 0000000..75c850a
--- /dev/null
+++ b/linux/arc/arch_regs.h
@@ -0,0 +1 @@
+extern unsigned long *const arc_sp_ptr;
diff --git a/linux/arc/arch_rt_sigframe.c b/linux/arc/arch_rt_sigframe.c
new file mode 100644
index 0000000..a735d04
--- /dev/null
+++ b/linux/arc/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *arc_sp_ptr;
+}
diff --git a/linux/arch_sigreturn.c b/linux/arch_sigreturn.c
index 73a2b10..8f101d8 100644
--- a/linux/arch_sigreturn.c
+++ b/linux/arch_sigreturn.c
@@ -1,5 +1,3 @@
-#warning sigreturn/rt_sigreturn signal mask decoding is not implemented for this architecture
-
 static void
 arch_sigreturn(struct tcb *tcp)
 {
diff --git a/linux/arm/arch_rt_sigframe.c b/linux/arm/arch_rt_sigframe.c
new file mode 100644
index 0000000..0282bd3
--- /dev/null
+++ b/linux/arm/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *arm_sp_ptr;
+}
diff --git a/linux/arm/arch_sigreturn.c b/linux/arm/arch_sigreturn.c
index 378ba67..b60dad8 100644
--- a/linux/arm/arch_sigreturn.c
+++ b/linux/arm/arch_sigreturn.c
@@ -14,6 +14,6 @@
 			(*arm_sp_ptr +
 			 OFFSETOF_STRUCT_UCONTEXT_UC_SIGMASK);
 	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
+	print_sigset_addr(tcp, addr);
 	tprints("}");
 }
diff --git a/linux/arm/get_scno.c b/linux/arm/get_scno.c
index d2bc068..3440782 100644
--- a/linux/arm/get_scno.c
+++ b/linux/arm/get_scno.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2003 Russell King <rmk@arm.linux.org.uk>
  * Copyright (c) 2011-2013 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2011-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/linux/arm/ioctls_arch0.h b/linux/arm/ioctls_arch0.h
index f44b4a3..c0a9128 100644
--- a/linux/arm/ioctls_arch0.h
+++ b/linux/arm/ioctls_arch0.h
@@ -44,6 +44,8 @@
 { "linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB", _IOC_READ|_IOC_WRITE, 0xaea7, 0x04 },
 { "linux/kvm.h", "KVM_PPC_GET_PVINFO", _IOC_WRITE, 0xaea1, 0x80 },
 { "linux/kvm.h", "KVM_PPC_GET_SMMU_INFO", _IOC_READ, 0xaea6, 0x250 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_COMMIT", _IOC_READ, 0xaeae, 0x10 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_PREPARE", _IOC_READ, 0xaead, 0x10 },
 { "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
 { "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
 { "linux/kvm.h", "KVM_RUN", _IOC_NONE, 0xae80, 0x00 },
diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
index 23e57f6..a6fb470 100644
--- a/linux/arm/syscallent.h
+++ b/linux/arm/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,14 +89,14 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
 [ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -221,9 +222,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_4koff),		"mmap2"			},
 [193] = { 4,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 4,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"lchown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -290,8 +291,8 @@
 [263] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [264] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [265] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[266] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[267] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[266] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[267] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [268] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [269] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [270] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -351,7 +352,7 @@
 [324] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [325] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [326] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[327] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[327] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [328] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [329] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [330] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -421,6 +422,7 @@
 [394] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [395] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [396] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[397] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #ifdef __ARM_EABI__
 # define ARM_FIRST_SHUFFLED_SYSCALL 400
diff --git a/linux/avr32/arch_regs.c b/linux/avr32/arch_regs.c
index 8b52a8d..2f88d8f 100644
--- a/linux/avr32/arch_regs.c
+++ b/linux/avr32/arch_regs.c
@@ -1,3 +1,4 @@
 static struct pt_regs avr32_regs;
+unsigned long *const avr32_sp_ptr = &avr32_regs.sp;
 #define ARCH_REGS_FOR_GETREGS avr32_regs
 #define ARCH_PC_REG avr32_regs.pc
diff --git a/linux/avr32/arch_regs.h b/linux/avr32/arch_regs.h
new file mode 100644
index 0000000..4ed62dd
--- /dev/null
+++ b/linux/avr32/arch_regs.h
@@ -0,0 +1 @@
+extern unsigned long *const avr32_sp_ptr;
diff --git a/linux/avr32/arch_rt_sigframe.c b/linux/avr32/arch_rt_sigframe.c
new file mode 100644
index 0000000..6650f8e
--- /dev/null
+++ b/linux/avr32/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *avr32_sp_ptr;
+}
diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h
index d18902f..915aa8d 100644
--- a/linux/avr32/syscallent.h
+++ b/linux/avr32/syscallent.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2004-2009 Atmel Corporation
+ * Copyright (c) 2009-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,9 +56,9 @@
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
 [ 28] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 29] = { 2,	TF,		SEN(utime),			"utime"			},
-[ 30] = { 2,	TF,		SEN(stat),			"stat"			},
-[ 31] = { 2,	TD,		SEN(fstat),			"fstat"			},
-[ 32] = { 2,	TF,		SEN(lstat),			"lstat"			},
+[ 30] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[ 31] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
+[ 32] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
 [ 33] = { 2,	TF,		SEN(access),			"access"		},
 [ 34] = { 1,	TF,		SEN(chroot),			"chroot"		},
 [ 35] = { 0,	0,		SEN(sync),			"sync"			},
@@ -87,7 +88,7 @@
 [ 59] = { 3,	0,		SEN(getresuid),			"getresuid"		},
 [ 60] = { 2,	0,		SEN(setreuid),			"setreuid"		},
 [ 61] = { 2,	0,		SEN(setregid),			"setregid"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
@@ -124,8 +125,8 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	TP,		SEN(wait4),			"wait4"			},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 0,	0,		SEN(vhangup),			"vhangup"		},
 [102] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
@@ -193,9 +194,9 @@
 [165] = { 3,	TN,		SEN(recvmsg),			"recvmsg"		},
 [166] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [167] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[168] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[169] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[170] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[168] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[169] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[170] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [171] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
 [172] = { 3,	TM,		SEN(mincore),			"mincore"		},
 [173] = { 3,	TM,		SEN(madvise),			"madvise"		},
@@ -244,8 +245,8 @@
 [216] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [217] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [218] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[219] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[220] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[219] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[220] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [221] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [222] = { },
 [223] = { 2,	TF,		SEN(utimes),			"utimes"		},
@@ -273,7 +274,7 @@
 [245] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [246] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [247] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[248] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[248] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [249] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [250] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [251] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
diff --git a/linux/bfin/arch_rt_sigframe.c b/linux/bfin/arch_rt_sigframe.c
new file mode 100644
index 0000000..d84b834
--- /dev/null
+++ b/linux/bfin/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	unsigned long addr;
+
+	return upeek(tcp->pid, PT_USP, &addr) ? 0 : addr;
+}
diff --git a/linux/bfin/rt_sigframe.h b/linux/bfin/rt_sigframe.h
new file mode 100644
index 0000000..7b63cb1
--- /dev/null
+++ b/linux/bfin/rt_sigframe.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	int		sig;
+	siginfo_t	*pinfo;
+	void		*puc;
+	char		retcode[8];
+	siginfo_t	info;
+	ucontext_t	uc;
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h
index f4b8871..5cdb991 100644
--- a/linux/bfin/syscallent.h
+++ b/linux/bfin/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"chown"			},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,14 +89,14 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
 [ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -221,9 +222,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_pgoff),		"mmap2"			},
 [193] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"chown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -294,8 +295,8 @@
 [266] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [267] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [268] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[269] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[270] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[269] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[270] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [271] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [272] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [273] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -325,7 +326,7 @@
 [297] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [298] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [299] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[300] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[300] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [301] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [302] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [303] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
diff --git a/linux/crisv10/arch_rt_sigframe.c b/linux/crisv10/arch_rt_sigframe.c
new file mode 100644
index 0000000..f3d5f10
--- /dev/null
+++ b/linux/crisv10/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	unsigned long addr;
+
+	return upeek(tcp->pid, 4 * PT_USP, &addr) ? 0 : addr;
+}
diff --git a/linux/crisv10/arch_sigreturn.c b/linux/crisv10/arch_sigreturn.c
index b449d41..0458c8e 100644
--- a/linux/crisv10/arch_sigreturn.c
+++ b/linux/crisv10/arch_sigreturn.c
@@ -11,6 +11,6 @@
 		regs[PT_USP] + offsetof(struct sigcontext, oldmask);
 
 	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
+	print_sigset_addr(tcp, addr);
 	tprints("}");
 }
diff --git a/linux/crisv10/rt_sigframe.h b/linux/crisv10/rt_sigframe.h
new file mode 100644
index 0000000..6080bae
--- /dev/null
+++ b/linux/crisv10/rt_sigframe.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	siginfo_t	*pinfo;
+	void		*puc;
+	siginfo_t	info;
+	ucontext_t	uc;
+	/* more data follows */
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/crisv10/syscallent.h b/linux/crisv10/syscallent.h
index d411fe7..0e36774 100644
--- a/linux/crisv10/syscallent.h
+++ b/linux/crisv10/syscallent.h
@@ -16,7 +16,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -26,7 +26,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -60,17 +60,17 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
-[ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[ 72] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
 [ 73] = { 1,	TS,		SEN(sigpending),		"sigpending"		},
 [ 74] = { 2,	0,		SEN(sethostname),		"sethostname"		},
 [ 75] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
@@ -82,7 +82,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -97,16 +97,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -192,9 +192,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_pgoff),		"mmap2"			},
 [193] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"lchown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -262,8 +262,8 @@
 [265] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [266] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [267] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[268] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[269] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[268] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[269] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [270] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [271] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [272] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -293,7 +293,7 @@
 [297] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [298] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [299] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[300] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[300] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [301] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [302] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [303] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
diff --git a/linux/crisv32/arch_rt_sigframe.c b/linux/crisv32/arch_rt_sigframe.c
new file mode 100644
index 0000000..2f45746
--- /dev/null
+++ b/linux/crisv32/arch_rt_sigframe.c
@@ -0,0 +1 @@
+#include "crisv10/arch_rt_sigframe.c"
diff --git a/linux/crisv32/rt_sigframe.h b/linux/crisv32/rt_sigframe.h
new file mode 100644
index 0000000..bfe07d4
--- /dev/null
+++ b/linux/crisv32/rt_sigframe.h
@@ -0,0 +1 @@
+#include "crisv10/rt_sigframe.h"
diff --git a/linux/dummy.h b/linux/dummy.h
index 2758cfb..40c0726 100644
--- a/linux/dummy.h
+++ b/linux/dummy.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -113,7 +114,6 @@
 #define	sys_munlockall		printargs
 #define	sys_pause		printargs
 #define	sys_printargs		printargs
-#define	sys_rt_sigreturn	printargs
 #define	sys_sched_yield		printargs
 #define	sys_setsid		printargs
 #define	sys_set_tid_address	printargs
diff --git a/linux/hppa/arch_rt_sigframe.c b/linux/hppa/arch_rt_sigframe.c
new file mode 100644
index 0000000..e3c62fa
--- /dev/null
+++ b/linux/hppa/arch_rt_sigframe.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "rt_sigframe.h"
+
+#define SIGFRAME		(sizeof(long) * 16)
+#define FUNCTIONCALLFRAME	(sizeof(long) * 12)
+#define RT_SIGFRAME_SIZE	\
+	(((sizeof(struct_rt_sigframe) + FUNCTIONCALLFRAME)) & -SIGFRAME)
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	unsigned long addr;
+
+	return upeek(tcp->pid, 4 * 30, &addr)
+		? 0 : (addr & ~1UL) - RT_SIGFRAME_SIZE;
+}
diff --git a/linux/hppa/rt_sigframe.h b/linux/hppa/rt_sigframe.h
new file mode 100644
index 0000000..56b3bdb
--- /dev/null
+++ b/linux/hppa/rt_sigframe.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	unsigned int	tramp[9];
+	siginfo_t	info;
+	ucontext_t	uc;
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h
index 97e2a32..ef0e2d8 100644
--- a/linux/hppa/syscallent.h
+++ b/linux/hppa/syscallent.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2001 Hewlett-Packard, Matthew Wilcox
+ * Copyright (c) 2001-2017 The strace developers.
  */
 
 [  0] = { 0,	0,		SEN(restart_syscall),		"restart_syscall"	},
@@ -20,7 +21,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown),			"lchown"		},
 [ 17] = { 3,	TN,		SEN(socket),			"socket"		},
-[ 18] = { 2,	TF,		SEN(stat),			"stat"			},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -30,7 +31,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 3,	TN,		SEN(connect),			"connect"		},
@@ -64,14 +65,14 @@
 [ 59] = { 1,	0,		SEN(uname),			"uname"			},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid),			"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid),			"setregid"		},
 [ 72] = { 3,	TM,		SEN(mincore),			"mincore"		},
@@ -86,7 +87,7 @@
 [ 81] = { 2,	0,		SEN(setgroups),			"setgroups"		},
 [ 82] = { 6,	TN,		SEN(sendto),			"sendto"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(lstat),			"lstat"			},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -101,9 +102,9 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	TN,		SEN(recv),			"recv"			},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
-[101] = { 2,	TF,		SEN(stat64),			"stat64"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
+[101] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
 [102] = { },
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
@@ -114,7 +115,7 @@
 [109] = { 5,	TD,		SEN(pwrite),			"pwrite64"		},
 [110] = { 2,	TF,		SEN(getcwd),			"getcwd"		},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
-[112] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[112] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [113] = { 0,	TP,		SEN(vfork),			"vfork"			},
 [114] = { 4,	TP,		SEN(wait4),			"wait4"			},
 [115] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
@@ -175,7 +176,7 @@
 [170] = { 3,	0,		SEN(setresgid),			"setresgid"		},
 [171] = { 3,	0,		SEN(getresgid),			"getresgid"		},
 [172] = { 5,	0,		SEN(prctl),			"prctl"			},
-[173] = { 0,	TS,		SEN(sigreturn),			"rt_sigreturn"		},
+[173] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
 [174] = { 4,	TS,		SEN(rt_sigaction),		"rt_sigaction"		},
 [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
 [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
@@ -200,7 +201,7 @@
 [195] = { 3,	TI,		SEN(shmctl),			"shmctl"		},
 [196] = { 5,	TN,		SEN(getpmsg),			"getpmsg"		},
 [197] = { 5,	TN,		SEN(putpmsg),			"putpmsg"		},
-[198] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
+[198] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
 [199] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [200] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
 [201] = { 3,	TD,		SEN(getdents64),		"getdents64"		},
@@ -282,7 +283,7 @@
 [277] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [278] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [279] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[280] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[280] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [281] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [282] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [283] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -300,8 +301,8 @@
 [295] = { 6,	TM,		SEN(move_pages),		"move_pages"		},
 [296] = { 3,	0,		SEN(getcpu),			"getcpu"		},
 [297] = { 6,	TD,		SEN(epoll_pwait),		"epoll_pwait"		},
-[298] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[299] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[298] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[299] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [300] = { 4,	0,		SEN(kexec_load),		"kexec_load"		},
 [301] = { 4,	TD|TF,		SEN(utimensat),			"utimensat"		},
 [302] = { 3,	TD|TS,		SEN(signalfd),			"signalfd"		},
diff --git a/linux/i386/arch_rt_sigframe.c b/linux/i386/arch_rt_sigframe.c
new file mode 100644
index 0000000..b508408
--- /dev/null
+++ b/linux/i386/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *i386_esp_ptr - 4;
+}
diff --git a/linux/i386/ioctls_arch0.h b/linux/i386/ioctls_arch0.h
index e5b81a9..71690c4 100644
--- a/linux/i386/ioctls_arch0.h
+++ b/linux/i386/ioctls_arch0.h
@@ -68,6 +68,8 @@
 { "linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB", _IOC_READ|_IOC_WRITE, 0xaea7, 0x04 },
 { "linux/kvm.h", "KVM_PPC_GET_PVINFO", _IOC_WRITE, 0xaea1, 0x80 },
 { "linux/kvm.h", "KVM_PPC_GET_SMMU_INFO", _IOC_READ, 0xaea6, 0x250 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_COMMIT", _IOC_READ, 0xaeae, 0x10 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_PREPARE", _IOC_READ, 0xaead, 0x10 },
 { "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
 { "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
 { "linux/kvm.h", "KVM_RUN", _IOC_NONE, 0xae80, 0x00 },
diff --git a/linux/i386/rt_sigframe.h b/linux/i386/rt_sigframe.h
new file mode 100644
index 0000000..9157ea4
--- /dev/null
+++ b/linux/i386/rt_sigframe.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	uint32_t	pretcode;
+	int		sig;
+	uint32_t	pinfo;
+	uint32_t	puc;
+	siginfo_t	info;
+	ucontext_t	uc;
+	/* more data follows */
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h
index 31023c2..b0e9244 100644
--- a/linux/i386/syscallent.h
+++ b/linux/i386/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,14 +89,14 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
 [ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -221,9 +222,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_pgoff),		"mmap2"			},
 [193] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"lchown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -293,8 +294,8 @@
 [265] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [266] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [267] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[268] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[269] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[268] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[269] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [270] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [271] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [272] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -325,7 +326,7 @@
 [297] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [298] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [299] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[300] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[300] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [301] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [302] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [303] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -408,6 +409,7 @@
 [380] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [381] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [382] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[383] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/ia64/arch_rt_sigframe.c b/linux/ia64/arch_rt_sigframe.c
new file mode 100644
index 0000000..f6e660c
--- /dev/null
+++ b/linux/ia64/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *ia64_frame_ptr + 16;
+}
diff --git a/linux/ia64/arch_sigreturn.c b/linux/ia64/arch_sigreturn.c
deleted file mode 100644
index 0c0034f..0000000
--- a/linux/ia64/arch_sigreturn.c
+++ /dev/null
@@ -1,12 +0,0 @@
-static void
-arch_sigreturn(struct tcb *tcp)
-{
-	/* offsetof(struct sigframe, sc) */
-#define OFFSETOF_STRUCT_SIGFRAME_SC	0xA0
-	const unsigned long addr = *ia64_frame_ptr + 16 +
-				   OFFSETOF_STRUCT_SIGFRAME_SC +
-				   offsetof(struct sigcontext, sc_mask);
-	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
-	tprints("}");
-}
diff --git a/linux/ia64/rt_sigframe.h b/linux/ia64/rt_sigframe.h
new file mode 100644
index 0000000..954237f
--- /dev/null
+++ b/linux/ia64/rt_sigframe.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	unsigned long		arg0;
+	unsigned long		arg1;
+	unsigned long		arg2;
+	void			*handler;
+	siginfo_t		info;
+	struct sigcontext	sc;
+} struct_rt_sigframe;
+
+#define OFFSETOF_SIGMASK_IN_RT_SIGFRAME	\
+		offsetof(struct_rt_sigframe, sc.sc_mask)
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h
index 97ecab9..a44a4c1 100644
--- a/linux/ia64/syscallent.h
+++ b/linux/ia64/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1999, 2001 Hewlett-Packard Co
- *	David Mosberger-Tang <davidm@hpl.hp.com>
+ *                          David Mosberger-Tang <davidm@hpl.hp.com>
+ * Copyright (c) 2000-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -86,7 +87,7 @@
 [1066] = { 3,	TD,		SEN(fcntl),			"fcntl"			},
 [1067] = { 1,	NF,		SEN(umask),			"umask"			},
 [1068] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[1069] = { 2,	0,		SEN(ustat),			"ustat"			},
+[1069] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [1070] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [1071] = { 2,	0,		SEN(setreuid),			"setreuid"		},
 [1072] = { 2,	0,		SEN(setregid),			"setregid"		},
@@ -120,8 +121,8 @@
 [1100] = { 3,	TD,		SEN(fchown),			"fchown"		},
 [1101] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [1102] = { 3,	0,		SEN(setpriority),		"setpriority"		},
-[1103] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[1104] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[1103] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[1104] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [1105] = { 0,	NF,		SEN(gettid),			"gettid"		},
 [1106] = { 3,	TI,		SEN(semget),			"semget"		},
 [1107] = { 3,	TI,		SEN(semop),			"semop"			},
@@ -137,9 +138,9 @@
 [1117] = { 3,	0,		SEN(syslog),			"syslog"		},
 [1118] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [1119] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[1120] = { 2,	TF,		SEN(stat),			"stat"			},
-[1121] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[1122] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[1120] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[1121] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[1122] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [1123] = { 0,	0,		SEN(vhangup),			"vhangup"		},
 [1124] = { 3,	TF,		SEN(chown),			"lchown"		},
 [1125] = { 5,	TM|SI,		SEN(remap_file_pages),		"remap_file_pages"	},
@@ -198,7 +199,7 @@
 [1178] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
 [1179] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
 [1180] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-[1181] = { 0,	TS,		SEN(sigreturn),			"rt_sigreturn"		},
+[1181] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
 [1182] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
 [1183] = { 4,	TS,		SEN(rt_sigtimedwait),		"rt_sigtimedwait"	},
 [1184] = { 2,	TF,		SEN(getcwd),			"getcwd"		},
@@ -227,9 +228,9 @@
 [1207] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
 [1208] = { 3,	TM,		SEN(mincore),			"mincore"		},
 [1209] = { 3,	TM,		SEN(madvise),			"madvise"		},
-[1210] = { 2,	TF,		SEN(stat),			"stat"			},
-[1211] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[1212] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[1210] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[1211] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[1212] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [1213] = { 6,	TP,		SEN(clone),			"clone2"		},
 [1214] = { 3,	TD,		SEN(getdents64),		"getdents64"		},
 [1215] = { 2,	0,		SEN(printargs),			"getunwind"		},
@@ -274,8 +275,8 @@
 [1254] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [1255] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [1256] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[1257] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
-[1258] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
+[1257] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
+[1258] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
 [1259] = { 6,	TM,		SEN(mbind),			"mbind"			},
 [1260] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
 [1261] = { 3,	TM,		SEN(set_mempolicy),		"set_mempolicy"		},
@@ -303,7 +304,7 @@
 [1283] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [1284] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [1285] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[1286] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
+[1286] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
 [1287] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [1288] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [1289] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
diff --git a/linux/m68k/arch_rt_sigframe.c b/linux/m68k/arch_rt_sigframe.c
new file mode 100644
index 0000000..9ba26e1
--- /dev/null
+++ b/linux/m68k/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *m68k_usp_ptr - 4;
+}
diff --git a/linux/m68k/rt_sigframe.h b/linux/m68k/rt_sigframe.h
new file mode 100644
index 0000000..6bb909c
--- /dev/null
+++ b/linux/m68k/rt_sigframe.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	char		*pretcode;
+	int		sig;
+	siginfo_t	*pinfo;
+	void		*puc;
+	char		retcode[8];
+	siginfo_t	info;
+	ucontext_t	uc;
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h
index 1c33b09..73e6387 100644
--- a/linux/m68k/syscallent.h
+++ b/linux/m68k/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"chown"			},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,14 +89,14 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
 [ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -221,9 +222,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_pgoff),		"mmap2"			},
 [193] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"chown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -288,8 +289,8 @@
 [260] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [261] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [262] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[263] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[264] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[263] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[264] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [265] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [266] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [267] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -318,7 +319,7 @@
 [290] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [291] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [292] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[293] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[293] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [294] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [295] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [296] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -404,6 +405,7 @@
 [376] = { 6,	TD,		SEN(copy_file_range),		"copy_file_range"	},
 [377] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [378] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
+[379] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/metag/arch_regs.c b/linux/metag/arch_regs.c
index e9f0d78..5944723 100644
--- a/linux/metag/arch_regs.c
+++ b/linux/metag/arch_regs.c
@@ -1,3 +1,4 @@
 static struct user_gp_regs metag_regs;
+unsigned long *const metag_sp_ptr = &metag_regs.ax[0][0];
 #define ARCH_REGS_FOR_GETREGSET metag_regs
 #define ARCH_PC_REG metag_regs.pc
diff --git a/linux/metag/arch_regs.h b/linux/metag/arch_regs.h
new file mode 100644
index 0000000..3344c92
--- /dev/null
+++ b/linux/metag/arch_regs.h
@@ -0,0 +1 @@
+extern unsigned long *const metag_sp_ptr;
diff --git a/linux/metag/arch_rt_sigframe.c b/linux/metag/arch_rt_sigframe.c
new file mode 100644
index 0000000..898c5d2
--- /dev/null
+++ b/linux/metag/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "rt_sigframe.h"
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *metag_sp_ptr - sizeof(struct_rt_sigframe);
+}
diff --git a/linux/microblaze/arch_rt_sigframe.c b/linux/microblaze/arch_rt_sigframe.c
new file mode 100644
index 0000000..10d03db
--- /dev/null
+++ b/linux/microblaze/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	unsigned long addr;
+
+	return upeek(tcp->pid, 4 * 1, &addr) ? 0 : addr;
+}
diff --git a/linux/microblaze/arch_sigreturn.c b/linux/microblaze/arch_sigreturn.c
index 6eb7cd8..6e4343a 100644
--- a/linux/microblaze/arch_sigreturn.c
+++ b/linux/microblaze/arch_sigreturn.c
@@ -11,6 +11,6 @@
 	addr += offsetof(struct sigcontext, oldmask);
 
 	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
+	print_sigset_addr(tcp, addr);
 	tprints("}");
 }
diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h
index d71e97a..4f6120f 100644
--- a/linux/microblaze/syscallent.h
+++ b/linux/microblaze/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,14 +89,14 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
 [ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -221,9 +222,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_pgoff),		"mmap2"			},
 [193] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"lchown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -293,8 +294,8 @@
 [265] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [266] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [267] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[268] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[269] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[268] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[269] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [270] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [271] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [272] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -325,7 +326,7 @@
 [297] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [298] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [299] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[300] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[300] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [301] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [302] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [303] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
diff --git a/linux/mips/arch_rt_sigframe.c b/linux/mips/arch_rt_sigframe.c
new file mode 100644
index 0000000..03acc73
--- /dev/null
+++ b/linux/mips/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return mips_REG_SP;
+}
diff --git a/linux/mips/arch_sigreturn.c b/linux/mips/arch_sigreturn.c
index 72f7619..522b731 100644
--- a/linux/mips/arch_sigreturn.c
+++ b/linux/mips/arch_sigreturn.c
@@ -1,26 +1,17 @@
 static void
 arch_sigreturn(struct tcb *tcp)
 {
-#if defined LINUX_MIPSO32
+	/* 64-bit ABIs do not have old sigreturn. */
+#ifdef LINUX_MIPSO32
 	/*
 	 * offsetof(struct sigframe, sf_mask) ==
 	 * sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct sigcontext)
 	 */
 	const kernel_ulong_t addr = mips_REG_SP + 6 * 4 +
 				   sizeof(struct sigcontext);
-#else
-	/*
-	 * This decodes rt_sigreturn.
-	 * The 64-bit ABIs do not have sigreturn.
-	 *
-	 * offsetof(struct rt_sigframe, rs_uc) ==
-	 * sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct siginfo)
-	 */
-	const kernel_ulong_t addr = mips_REG_SP + 6 * 4 + 128 +
-				   offsetof(struct ucontext, uc_sigmask);
-#endif
 
 	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
+	print_sigset_addr(tcp, addr);
 	tprints("}");
+#endif
 }
diff --git a/linux/mips/rt_sigframe.h b/linux/mips/rt_sigframe.h
new file mode 100644
index 0000000..e07bcd1
--- /dev/null
+++ b/linux/mips/rt_sigframe.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	uint32_t	pad[6];
+	siginfo_t	info;
+	ucontext_t	uc;
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h
index 82a373b..d8b309d 100644
--- a/linux/mips/syscallent-compat.h
+++ b/linux/mips/syscallent-compat.h
@@ -16,7 +16,7 @@
 [  15] = { 0,	0,	SEN(printargs),		"svr4_chmod"	},
 [  16] = { 0,	0,	SEN(printargs),		"svr4_chown"	},
 [  17] = { 0,	TM,	SEN(printargs),		"svr4_sbreak"	},
-[  18] = { 0,	0,	SEN(printargs),		"svr4_stat"	},
+[  18] = { 0,	TF|TST|TSTA,SEN(printargs),		"svr4_stat"	},
 [  19] = { 0,	0,	SEN(printargs),		"svr4_lseek"	},
 [  20] = { 0,	0,	SEN(printargs),		"svr4_getpid"	},
 [  21] = { 0,	0,	SEN(printargs),		"svr4_mount"	},
@@ -26,17 +26,17 @@
 [  25] = { 0,	0,	SEN(printargs),		"svr4_stime"	},
 [  26] = { 0,	0,	SEN(printargs),		"svr4_ptrace"	},
 [  27] = { 0,	0,	SEN(printargs),		"svr4_alarm"	},
-[  28] = { 0,	0,	SEN(printargs),		"svr4_fstat"	},
+[  28] = { 0,	TD|TFST|TSTA,SEN(printargs),		"svr4_fstat"	},
 [  29] = { 0,	0,	SEN(printargs),		"svr4_pause"	},
 [  30] = { 0,	0,	SEN(printargs),		"svr4_utime"	},
 [  31] = { 0,	0,	SEN(printargs),		"svr4_stty"	},
 [  32] = { 0,	0,	SEN(printargs),		"svr4_gtty"	},
 [  33] = { 0,	0,	SEN(printargs),		"svr4_access"	},
 [  34] = { 0,	0,	SEN(printargs),		"svr4_nice"	},
-[  35] = { 0,	0,	SEN(printargs),		"svr4_statfs"	},
+[  35] = { 0,	TF|TSF|TSFA,SEN(printargs),		"svr4_statfs"	},
 [  36] = { 0,	0,	SEN(printargs),		"svr4_sync"	},
 [  37] = { 0,	0,	SEN(printargs),		"svr4_kill"	},
-[  38] = { 0,	0,	SEN(printargs),		"svr4_fstatfs"	},
+[  38] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"svr4_fstatfs"	},
 [  39] = { 0,	0,	SEN(printargs),		"svr4_setpgrp"	},
 [  40] = { 0,	0,	SEN(printargs),		"svr4_cxenix"	},
 [  41] = { 0,	0,	SEN(printargs),		"svr4_dup"	},
@@ -81,7 +81,7 @@
 [  85] = { 0,	0,	SEN(printargs),		"svr4_getmsg"	},
 [  86] = { 0,	0,	SEN(printargs),		"svr4_putmsg"	},
 [  87] = { 0,	0,	SEN(printargs),		"svr4_poll"	},
-[  88] = { 0,	0,	SEN(printargs),		"svr4_lstat"	},
+[  88] = { 0,	TF|TLST|TSTA,SEN(printargs),		"svr4_lstat"	},
 [  89] = { 0,	0,	SEN(printargs),		"svr4_symlink"	},
 [  90] = { 0,	0,	SEN(printargs),		"svr4_readlink"	},
 [  91] = { 0,	0,	SEN(printargs),		"svr4_setgroups"	},
@@ -96,8 +96,8 @@
 [ 100] = { 0,	0,	SEN(printargs),		"svr4_setcontext"	},
 [ 101] = { 0,	0,	SEN(printargs),		"svr4_evsys"	},
 [ 102] = { 0,	0,	SEN(printargs),		"svr4_evtrapret"	},
-[ 103] = { 0,	0,	SEN(printargs),		"svr4_statvfs"	},
-[ 104] = { 0,	0,	SEN(printargs),		"svr4_fstatvfs"	},
+[ 103] = { 0,	TF|TSF|TSFA,SEN(printargs),		"svr4_statvfs"	},
+[ 104] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"svr4_fstatvfs"	},
 [ 105] = { },
 [ 106] = { 0,	0,	SEN(printargs),		"svr4_nfssys"	},
 [ 107] = { 0,	0,	SEN(printargs),		"svr4_waitid"	},
@@ -116,9 +116,9 @@
 [ 120] = { 0,	0,	SEN(printargs),		"svr4_fchdir"	},
 [ 121] = { 0,	0,	SEN(printargs),		"svr4_readv"	},
 [ 122] = { 0,	0,	SEN(printargs),		"svr4_writev"	},
-[ 123] = { 0,	0,	SEN(printargs),		"svr4_xstat"	},
-[ 124] = { 0,	0,	SEN(printargs),		"svr4_lxstat"	},
-[ 125] = { 0,	0,	SEN(printargs),		"svr4_fxstat"	},
+[ 123] = { 0,	TF|TST|TSTA,SEN(printargs),		"svr4_xstat"	},
+[ 124] = { 0,	TF|TLST|TSTA,SEN(printargs),		"svr4_lxstat"	},
+[ 125] = { 0,	TD|TFST|TSTA,SEN(printargs),		"svr4_fxstat"	},
 [ 126] = { 0,	0,	SEN(printargs),		"svr4_xmknod"	},
 [ 127] = { 0,	0,	SEN(printargs),		"svr4_clocal"	},
 [ 128] = { 0,	0,	SEN(printargs),		"svr4_setrlimit"	},
@@ -167,7 +167,7 @@
 [1015] = { 0,	0,	SEN(printargs),		"sysv_chmod"	},
 [1016] = { 0,	0,	SEN(printargs),		"sysv_chown"	},
 [1017] = { 0,	TM|SI,	SEN(printargs),		"sysv_brk"	},
-[1018] = { 0,	0,	SEN(printargs),		"sysv_stat"	},
+[1018] = { 0,	TF|TST|TSTA,SEN(printargs),		"sysv_stat"	},
 [1019] = { 0,	0,	SEN(printargs),		"sysv_lseek"	},
 [1020] = { 0,	0,	SEN(printargs),		"sysv_getpid"	},
 [1021] = { 0,	0,	SEN(printargs),		"sysv_mount"	},
@@ -177,17 +177,17 @@
 [1025] = { 0,	0,	SEN(printargs),		"sysv_stime"	},
 [1026] = { 0,	0,	SEN(printargs),		"sysv_ptrace"	},
 [1027] = { 0,	0,	SEN(printargs),		"sysv_alarm"	},
-[1028] = { 0,	0,	SEN(printargs),		"sysv_fstat"	},
+[1028] = { 0,	TD|TFST|TSTA,SEN(printargs),		"sysv_fstat"	},
 [1029] = { 0,	0,	SEN(printargs),		"sysv_pause"	},
 [1030] = { 0,	0,	SEN(printargs),		"sysv_utime"	},
 [1031] = { 0,	0,	SEN(printargs),		"sysv_stty"	},
 [1032] = { 0,	0,	SEN(printargs),		"sysv_gtty"	},
 [1033] = { 0,	0,	SEN(printargs),		"sysv_access"	},
 [1034] = { 0,	0,	SEN(printargs),		"sysv_nice"	},
-[1035] = { 0,	0,	SEN(printargs),		"sysv_statfs"	},
+[1035] = { 0,	TF|TSF|TSFA,SEN(printargs),		"sysv_statfs"	},
 [1036] = { 0,	0,	SEN(printargs),		"sysv_sync"	},
 [1037] = { 0,	0,	SEN(printargs),		"sysv_kill"	},
-[1038] = { 0,	0,	SEN(printargs),		"sysv_fstatfs"	},
+[1038] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"sysv_fstatfs"	},
 [1039] = { 0,	0,	SEN(printargs),		"sysv_setpgrp"	},
 [1040] = { 0,	0,	SEN(printargs),		"sysv_syssgi"	},
 [1041] = { 0,	0,	SEN(printargs),		"sysv_dup"	},
@@ -261,7 +261,7 @@
 [1114] = { 0,	0,	SEN(printargs),		"sysv_rename"	},
 [1115] = { 0,	0,	SEN(printargs),		"sysv_symlink"	},
 [1116] = { 0,	0,	SEN(printargs),		"sysv_readlink"	},
-[1117] = { 0,	0,	SEN(printargs),		"sysv_lstat"	},
+[1117] = { 0,	TF|TLST|TSTA,SEN(printargs),		"sysv_lstat"	},
 [1118] = { 0,	0,	SEN(printargs),		"sysv_nfsmount"	},
 [1119] = { 0,	0,	SEN(printargs),		"sysv_nfssvc"	},
 [1120] = { 0,	0,	SEN(printargs),		"sysv_getfh"	},
@@ -302,9 +302,9 @@
 [1155] = { 0,	0,	SEN(printargs),		"sysv_socketpair"	},
 [1156] = { 0,	0,	SEN(printargs),		"sysv_sysinfo"	},
 [1157] = { 0,	0,	SEN(printargs),		"sysv_nuname"	},
-[1158] = { 0,	0,	SEN(printargs),		"sysv_xstat"	},
-[1159] = { 0,	0,	SEN(printargs),		"sysv_lxstat"	},
-[1160] = { 0,	0,	SEN(printargs),		"sysv_fxstat"	},
+[1158] = { 0,	TF|TST|TSTA,SEN(printargs),		"sysv_xstat"	},
+[1159] = { 0,	TF|TLST|TSTA,SEN(printargs),		"sysv_lxstat"	},
+[1160] = { 0,	TD|TFST|TSTA,SEN(printargs),		"sysv_fxstat"	},
 [1161] = { 0,	0,	SEN(printargs),		"sysv_xmknod"	},
 [1162] = { 0,	0,	SEN(printargs),		"sysv_ksigaction"	},
 [1163] = { 0,	0,	SEN(printargs),		"sysv_sigpending"	},
@@ -318,8 +318,8 @@
 [1171] = { 0,	0,	SEN(printargs),		"sysv_sigstack"	},
 [1172] = { 0,	0,	SEN(printargs),		"sysv_sigaltstack"	},
 [1173] = { 0,	0,	SEN(printargs),		"sysv_sigsendset"	},
-[1174] = { 0,	0,	SEN(printargs),		"sysv_statvfs"	},
-[1175] = { 0,	0,	SEN(printargs),		"sysv_fstatvfs"	},
+[1174] = { 0,	TF|TSF|TSFA,SEN(printargs),		"sysv_statvfs"	},
+[1175] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"sysv_fstatvfs"	},
 [1176] = { 0,	0,	SEN(printargs),		"sysv_getpmsg"	},
 [1177] = { 0,	0,	SEN(printargs),		"sysv_putpmsg"	},
 [1178] = { 0,	0,	SEN(printargs),		"sysv_lchown"	},
@@ -352,7 +352,7 @@
 [2015] = { 0,	0,	SEN(printargs),		"bsd43_chmod"	},
 [2016] = { 0,	0,	SEN(printargs),		"bsd43_chown"	},
 [2017] = { 0,	TM,	SEN(printargs),		"bsd43_sbreak"	},
-[2018] = { 0,	0,	SEN(printargs),		"bsd43_oldstat"	},
+[2018] = { 0,	TF|TST|TSTA,SEN(printargs),		"bsd43_oldstat"	},
 [2019] = { 0,	0,	SEN(printargs),		"bsd43_lseek"	},
 [2020] = { 0,	0,	SEN(printargs),		"bsd43_getpid"	},
 [2021] = { 0,	0,	SEN(printargs),		"bsd43_oldmount"	},
@@ -362,7 +362,7 @@
 [2025] = { 0,	0,	SEN(printargs),		"bsd43_stime"	},
 [2026] = { 0,	0,	SEN(printargs),		"bsd43_ptrace"	},
 [2027] = { 0,	0,	SEN(printargs),		"bsd43_alarm"	},
-[2028] = { 0,	0,	SEN(printargs),		"bsd43_oldfstat"	},
+[2028] = { 0,	TD|TFST|TSTA,SEN(printargs),		"bsd43_oldfstat"	},
 [2029] = { 0,	0,	SEN(printargs),		"bsd43_pause"	},
 [2030] = { 0,	0,	SEN(printargs),		"bsd43_utime"	},
 [2031] = { 0,	0,	SEN(printargs),		"bsd43_stty"	},
@@ -372,9 +372,9 @@
 [2035] = { 0,	0,	SEN(printargs),		"bsd43_ftime"	},
 [2036] = { 0,	0,	SEN(printargs),		"bsd43_sync"	},
 [2037] = { 0,	0,	SEN(printargs),		"bsd43_kill"	},
-[2038] = { 0,	0,	SEN(printargs),		"bsd43_stat"	},
+[2038] = { 0,	TF|TST|TSTA,SEN(printargs),		"bsd43_stat"	},
 [2039] = { 0,	0,	SEN(printargs),		"bsd43_oldsetpgrp"	},
-[2040] = { 0,	0,	SEN(printargs),		"bsd43_lstat"	},
+[2040] = { 0,	TF|TLST|TSTA,SEN(printargs),		"bsd43_lstat"	},
 [2041] = { 0,	0,	SEN(printargs),		"bsd43_dup"	},
 [2042] = { 0,	0,	SEN(printargs),		"bsd43_pipe"	},
 [2043] = { 0,	0,	SEN(printargs),		"bsd43_times"	},
@@ -396,7 +396,7 @@
 [2059] = { 0,	0,	SEN(printargs),		"bsd43_execve"	},
 [2060] = { 0,	0,	SEN(printargs),		"bsd43_umask"	},
 [2061] = { 0,	0,	SEN(printargs),		"bsd43_chroot"	},
-[2062] = { 0,	0,	SEN(printargs),		"bsd43_fstat"	},
+[2062] = { 0,	TD|TFST|TSTA,SEN(printargs),		"bsd43_fstat"	},
 [2063] = { },
 [2064] = { 0,	0,	SEN(printargs),		"bsd43_getpagesize"	},
 [2065] = { 0,	TM|SI,	SEN(printargs),		"bsd43_mremap"	},
@@ -494,8 +494,8 @@
 [2157] = { 0,	0,	SEN(printargs),		"bsd43_nfs_mount"	},
 [2158] = { 0,	0,	SEN(printargs),		"bsd43_nfs_svc"	},
 [2159] = { 0,	0,	SEN(printargs),		"bsd43_getdirentries"	},
-[2160] = { 0,	0,	SEN(printargs),		"bsd43_statfs"	},
-[2161] = { 0,	0,	SEN(printargs),		"bsd43_fstatfs"	},
+[2160] = { 0,	TF|TSF|TSFA,SEN(printargs),		"bsd43_statfs"	},
+[2161] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"bsd43_fstatfs"	},
 [2162] = { 0,	0,	SEN(printargs),		"bsd43_unmount"	},
 [2163] = { 0,	0,	SEN(printargs),		"bsd43_async_daemon"	},
 [2164] = { 0,	0,	SEN(printargs),		"bsd43_nfs_getfh"	},
@@ -545,7 +545,7 @@
 [3015] = { 0,	0,	SEN(printargs),		"posix_chmod"	},
 [3016] = { 0,	0,	SEN(printargs),		"posix_chown"	},
 [3017] = { 0,	TM,	SEN(printargs),		"posix_sbreak"	},
-[3018] = { 0,	0,	SEN(printargs),		"posix_stat"	},
+[3018] = { 0,	TF|TST|TSTA,SEN(printargs),		"posix_stat"	},
 [3019] = { 0,	0,	SEN(printargs),		"posix_lseek"	},
 [3020] = { 0,	0,	SEN(printargs),		"posix_getpid"	},
 [3021] = { 0,	0,	SEN(printargs),		"posix_mount"	},
@@ -555,17 +555,17 @@
 [3025] = { 0,	0,	SEN(printargs),		"posix_stime"	},
 [3026] = { 0,	0,	SEN(printargs),		"posix_ptrace"	},
 [3027] = { 0,	0,	SEN(printargs),		"posix_alarm"	},
-[3028] = { 0,	0,	SEN(printargs),		"posix_fstat"	},
+[3028] = { 0,	TD|TFST|TSTA,SEN(printargs),		"posix_fstat"	},
 [3029] = { 0,	0,	SEN(printargs),		"posix_pause"	},
 [3030] = { 0,	0,	SEN(printargs),		"posix_utime"	},
 [3031] = { 0,	0,	SEN(printargs),		"posix_stty"	},
 [3032] = { 0,	0,	SEN(printargs),		"posix_gtty"	},
 [3033] = { 0,	0,	SEN(printargs),		"posix_access"	},
 [3034] = { 0,	0,	SEN(printargs),		"posix_nice"	},
-[3035] = { 0,	0,	SEN(printargs),		"posix_statfs"	},
+[3035] = { 0,	TF|TSF|TSFA,SEN(printargs),		"posix_statfs"	},
 [3036] = { 0,	0,	SEN(printargs),		"posix_sync"	},
 [3037] = { 0,	0,	SEN(printargs),		"posix_kill"	},
-[3038] = { 0,	0,	SEN(printargs),		"posix_fstatfs"	},
+[3038] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"posix_fstatfs"	},
 [3039] = { 0,	0,	SEN(printargs),		"posix_getpgrp"	},
 [3040] = { 0,	0,	SEN(printargs),		"posix_syssgi"	},
 [3041] = { 0,	0,	SEN(printargs),		"posix_dup"	},
@@ -639,7 +639,7 @@
 [3114] = { 0,	0,	SEN(printargs),		"posix_rename"	},
 [3115] = { 0,	0,	SEN(printargs),		"posix_symlink"	},
 [3116] = { 0,	0,	SEN(printargs),		"posix_readlink"	},
-[3117] = { 0,	0,	SEN(printargs),		"posix_lstat"	},
+[3117] = { 0,	TF|TLST|TSTA,SEN(printargs),		"posix_lstat"	},
 [3118] = { 0,	0,	SEN(printargs),		"posix_nfs_mount"	},
 [3119] = { 0,	0,	SEN(printargs),		"posix_nfs_svc"	},
 [3120] = { 0,	0,	SEN(printargs),		"posix_nfs_getfh"	},
diff --git a/linux/mips/syscallent-n32-stub.h b/linux/mips/syscallent-n32-stub.h
index 00b6659..4cfa682 100644
--- a/linux/mips/syscallent-n32-stub.h
+++ b/linux/mips/syscallent-n32-stub.h
@@ -2,9 +2,9 @@
 [6001] = { 3,	TD,		SEN(printargs), "n32:write"			},
 [6002] = { 3,	TD|TF,		SEN(printargs), "n32:open"			},
 [6003] = { 1,	TD,		SEN(printargs), "n32:close"			},
-[6004] = { 2,	TF,		SEN(printargs), "n32:stat"			},
-[6005] = { 2,	TD,		SEN(printargs), "n32:fstat"			},
-[6006] = { 2,	TF,		SEN(printargs), "n32:lstat"			},
+[6004] = { 2,	TF|TST|TSTA,	SEN(printargs), "n32:stat"			},
+[6005] = { 2,	TD|TFST|TSTA,	SEN(printargs), "n32:fstat"			},
+[6006] = { 2,	TF|TLST|TSTA,	SEN(printargs), "n32:lstat"			},
 [6007] = { 3,	TD,		SEN(printargs), "n32:poll"			},
 [6008] = { 3,	TD,		SEN(printargs), "n32:lseek"			},
 [6009] = { 6,	TD|TM|SI,	SEN(printargs), "n32:mmap"			},
@@ -131,9 +131,9 @@
 [6130] = { 2,	TF,		SEN(printargs), "n32:utime"			},
 [6131] = { 3,	TF,		SEN(printargs), "n32:mknod"			},
 [6132] = { 1,	NF,		SEN(printargs), "n32:personality"		},
-[6133] = { 2,	0,		SEN(printargs), "n32:ustat"			},
-[6134] = { 2,	TF,		SEN(printargs), "n32:statfs"		},
-[6135] = { 2,	TD,		SEN(printargs), "n32:fstatfs"		},
+[6133] = { 2,	TSFA,		SEN(printargs), "n32:ustat"			},
+[6134] = { 2,	TF|TSF|TSFA,	SEN(printargs), "n32:statfs"		},
+[6135] = { 2,	TD|TFSF|TSFA,	SEN(printargs), "n32:fstatfs"		},
 [6136] = { 3,	0,		SEN(printargs), "n32:sysfs"			},
 [6137] = { 2,	0,		SEN(printargs), "n32:getpriority"		},
 [6138] = { 3,	0,		SEN(printargs), "n32:setpriority"		},
@@ -215,8 +215,8 @@
 [6214] = { 0,	0,		SEN(printargs), "n32:restart_syscall"	},
 [6215] = { 4,	TI,		SEN(printargs), "n32:semtimedop"		},
 [6216] = { 4,	TD,		SEN(printargs), "n32:fadvise64"		},
-[6217] = { 3,	TF,		SEN(printargs), "n32:statfs64"		},
-[6218] = { 3,	TD,		SEN(printargs), "n32:fstatfs64"		},
+[6217] = { 3,	TF|TSF|TSFA,	SEN(printargs), "n32:statfs64"		},
+[6218] = { 3,	TD|TFSF|TSFA,	SEN(printargs), "n32:fstatfs64"		},
 [6219] = { 4,	TD|TN,		SEN(printargs), "n32:sendfile64"		},
 [6220] = { 3,	0,		SEN(printargs), "n32:timer_create"		},
 [6221] = { 4,	0,		SEN(printargs), "n32:timer_settime"		},
@@ -254,7 +254,7 @@
 [6253] = { 4,	TD|TF,		SEN(printargs), "n32:mknodat"		},
 [6254] = { 5,	TD|TF,		SEN(printargs), "n32:fchownat"		},
 [6255] = { 3,	TD|TF,		SEN(printargs), "n32:futimesat"		},
-[6256] = { 4,	TD|TF,		SEN(printargs), "n32:newfstatat"		},
+[6256] = { 4,	TD|TF|TFST|TSTA,SEN(printargs), "n32:newfstatat"		},
 [6257] = { 3,	TD|TF,		SEN(printargs), "n32:unlinkat"		},
 [6258] = { 4,	TD|TF,		SEN(printargs), "n32:renameat"		},
 [6259] = { 5,	TD|TF,		SEN(printargs), "n32:linkat"		},
@@ -328,3 +328,4 @@
 [6327] = { 4,	TM|SI,		SEN(printargs), "n32:pkey_mprotect"		},
 [6328] = { 2,	0,		SEN(printargs), "n32:pkey_alloc"		},
 [6329] = { 1,	0,		SEN(printargs), "n32:pkey_free"		},
+[6330] = { 5,	TD|TF|TSTA,	SEN(printargs), "n32:statx"			},
diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h
index c93c33b..73cbc9b 100644
--- a/linux/mips/syscallent-n32.h
+++ b/linux/mips/syscallent-n32.h
@@ -4,9 +4,9 @@
 [6001] = { 3,	TD,		SEN(write),			"write"			},
 [6002] = { 3,	TD|TF,		SEN(open),			"open"			},
 [6003] = { 1,	TD,		SEN(close),			"close"			},
-[6004] = { 2,	TF,		SEN(stat64),			"stat"			},
-[6005] = { 2,	TD,		SEN(fstat64),			"fstat"			},
-[6006] = { 2,	TF,		SEN(lstat64),			"lstat"			},
+[6004] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat"			},
+[6005] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat"			},
+[6006] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat"			},
 [6007] = { 3,	TD,		SEN(poll),			"poll"			},
 [6008] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [6009] = { 6,	TD|TM|SI,	SEN(mmap),			"mmap"			},
@@ -133,9 +133,9 @@
 [6130] = { 2,	TF,		SEN(utime),			"utime"			},
 [6131] = { 3,	TF,		SEN(mknod),			"mknod"			},
 [6132] = { 1,	NF,		SEN(personality),		"personality"		},
-[6133] = { 2,	0,		SEN(ustat),			"ustat"			},
-[6134] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[6135] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[6133] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
+[6134] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[6135] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [6136] = { 3,	0,		SEN(sysfs),			"sysfs"			},
 [6137] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [6138] = { 3,	0,		SEN(setpriority),		"setpriority"		},
@@ -217,8 +217,8 @@
 [6214] = { 0,	0,		SEN(restart_syscall),		"restart_syscall"	},
 [6215] = { 4,	TI,		SEN(semtimedop),		"semtimedop"		},
 [6216] = { 4,	TD,		SEN(fadvise64_64),		"fadvise64"		},
-[6217] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[6218] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[6217] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[6218] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [6219] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
 [6220] = { 3,	0,		SEN(timer_create),		"timer_create"		},
 [6221] = { 4,	0,		SEN(timer_settime),		"timer_settime"		},
@@ -256,7 +256,7 @@
 [6253] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [6254] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [6255] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[6256] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
+[6256] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
 [6257] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [6258] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [6259] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -330,6 +330,7 @@
 [6327] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [6328] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [6329] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[6330] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 # define SYS_socket_subcall      6400
 # include "subcall.h"
diff --git a/linux/mips/syscallent-n64-stub.h b/linux/mips/syscallent-n64-stub.h
index e7c887e..4853e8e 100644
--- a/linux/mips/syscallent-n64-stub.h
+++ b/linux/mips/syscallent-n64-stub.h
@@ -2,9 +2,9 @@
 [5001] = { 3,	TD,		SEN(printargs), "n64:write"			},
 [5002] = { 3,	TD|TF,		SEN(printargs), "n64:open"			},
 [5003] = { 1,	TD,		SEN(printargs), "n64:close"			},
-[5004] = { 2,	TF,		SEN(printargs), "n64:stat"			},
-[5005] = { 2,	TD,		SEN(printargs), "n64:fstat"			},
-[5006] = { 2,	TF,		SEN(printargs), "n64:lstat"			},
+[5004] = { 2,	TF|TST|TSTA,	SEN(printargs), "n64:stat"			},
+[5005] = { 2,	TD|TFST|TSTA,	SEN(printargs), "n64:fstat"			},
+[5006] = { 2,	TF|TLST|TSTA,	SEN(printargs), "n64:lstat"			},
 [5007] = { 3,	TD,		SEN(printargs), "n64:poll"			},
 [5008] = { 3,	TD,		SEN(printargs), "n64:lseek"			},
 [5009] = { 6,	TD|TM|SI,	SEN(printargs), "n64:mmap"			},
@@ -131,9 +131,9 @@
 [5130] = { 2,	TF,		SEN(printargs), "n64:utime"			},
 [5131] = { 3,	TF,		SEN(printargs), "n64:mknod"			},
 [5132] = { 1,	NF,		SEN(printargs), "n64:personality"		},
-[5133] = { 2,	0,		SEN(printargs), "n64:ustat"			},
-[5134] = { 2,	TF,		SEN(printargs), "n64:statfs"		},
-[5135] = { 2,	TD,		SEN(printargs), "n64:fstatfs"		},
+[5133] = { 2,	TSFA,		SEN(printargs), "n64:ustat"			},
+[5134] = { 2,	TF|TSF|TSFA,	SEN(printargs), "n64:statfs"		},
+[5135] = { 2,	TD|TFSF|TSFA,	SEN(printargs), "n64:fstatfs"		},
 [5136] = { 3,	0,		SEN(printargs), "n64:sysfs"			},
 [5137] = { 2,	0,		SEN(printargs), "n64:getpriority"		},
 [5138] = { 3,	0,		SEN(printargs), "n64:setpriority"		},
@@ -250,7 +250,7 @@
 [5249] = { 4,	TD|TF,		SEN(printargs), "n64:mknodat"		},
 [5250] = { 5,	TD|TF,		SEN(printargs), "n64:fchownat"		},
 [5251] = { 3,	TD|TF,		SEN(printargs), "n64:futimesat"		},
-[5252] = { 4,	TD|TF,		SEN(printargs), "n64:newfstatat"		},
+[5252] = { 4,	TD|TF|TFST|TSTA,SEN(printargs), "n64:newfstatat"		},
 [5253] = { 3,	TD|TF,		SEN(printargs), "n64:unlinkat"		},
 [5254] = { 4,	TD|TF,		SEN(printargs), "n64:renameat"		},
 [5255] = { 5,	TD|TF,		SEN(printargs), "n64:linkat"		},
@@ -324,3 +324,4 @@
 [5323] = { 4,	TM|SI,		SEN(printargs), "n64:pkey_mprotect"		},
 [5324] = { 2,	0,		SEN(printargs), "n64:pkey_alloc"		},
 [5325] = { 1,	0,		SEN(printargs), "n64:pkey_free"		},
+[5326] = { 5,	TD|TF|TSTA,	SEN(printargs), "n64:statx"			},
diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h
index f14eebf..6e9b00a 100644
--- a/linux/mips/syscallent-n64.h
+++ b/linux/mips/syscallent-n64.h
@@ -4,9 +4,9 @@
 [5001] = { 3,	TD,		SEN(write),			"write"			},
 [5002] = { 3,	TD|TF,		SEN(open),			"open"			},
 [5003] = { 1,	TD,		SEN(close),			"close"			},
-[5004] = { 2,	TF,		SEN(stat),			"stat"			},
-[5005] = { 2,	TD,		SEN(fstat),			"fstat"			},
-[5006] = { 2,	TF,		SEN(lstat),			"lstat"			},
+[5004] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[5005] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
+[5006] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
 [5007] = { 3,	TD,		SEN(poll),			"poll"			},
 [5008] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [5009] = { 6,	TD|TM|SI,	SEN(mmap),			"mmap"			},
@@ -133,9 +133,9 @@
 [5130] = { 2,	TF,		SEN(utime),			"utime"			},
 [5131] = { 3,	TF,		SEN(mknod),			"mknod"			},
 [5132] = { 1,	NF,		SEN(personality),		"personality"		},
-[5133] = { 2,	0,		SEN(ustat),			"ustat"			},
-[5134] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[5135] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[5133] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
+[5134] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[5135] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [5136] = { 3,	0,		SEN(sysfs),			"sysfs"			},
 [5137] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [5138] = { 3,	0,		SEN(setpriority),		"setpriority"		},
@@ -252,7 +252,7 @@
 [5249] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [5250] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [5251] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[5252] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
+[5252] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
 [5253] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [5254] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [5255] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -326,6 +326,7 @@
 [5323] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [5324] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [5325] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[5326] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 # define SYS_socket_subcall      5400
 # include "subcall.h"
diff --git a/linux/mips/syscallent-o32-stub.h b/linux/mips/syscallent-o32-stub.h
index f8604c7..04296fa 100644
--- a/linux/mips/syscallent-o32-stub.h
+++ b/linux/mips/syscallent-o32-stub.h
@@ -16,7 +16,7 @@
 [4015] = { 2,	TF,		SEN(printargs), "o32:chmod"			},
 [4016] = { 3,	TF,		SEN(printargs), "o32:lchown"		},
 [4017] = { 0,	TM,		SEN(printargs), "o32:break"			},
-[4018] = { 2,	TF,		SEN(printargs), "o32:oldstat"		},
+[4018] = { 2,	TF|TST|TSTA,	SEN(printargs), "o32:oldstat"		},
 [4019] = { 3,	TD,		SEN(printargs), "o32:lseek"			},
 [4020] = { 0,	NF,		SEN(printargs), "o32:getpid"		},
 [4021] = { 5,	TF,		SEN(printargs), "o32:mount"			},
@@ -26,7 +26,7 @@
 [4025] = { 1,	0,		SEN(printargs), "o32:stime"			},
 [4026] = { 4,	0,		SEN(printargs), "o32:ptrace"		},
 [4027] = { 1,	0,		SEN(printargs), "o32:alarm"			},
-[4028] = { 2,	TD,		SEN(printargs), "o32:oldfstat"		},
+[4028] = { 2,	TD|TFST|TSTA,	SEN(printargs), "o32:oldfstat"		},
 [4029] = { 0,	TS,		SEN(printargs), "o32:pause"			},
 [4030] = { 2,	TF,		SEN(printargs), "o32:utime"			},
 [4031] = { 0,	0,		SEN(printargs), "o32:stty"			},
@@ -60,7 +60,7 @@
 [4059] = { 1,	0,		SEN(printargs), "o32:oldolduname"		},
 [4060] = { 1,	NF,		SEN(printargs), "o32:umask"			},
 [4061] = { 1,	TF,		SEN(printargs), "o32:chroot"		},
-[4062] = { 2,	0,		SEN(printargs), "o32:ustat"			},
+[4062] = { 2,	TSFA,		SEN(printargs), "o32:ustat"			},
 [4063] = { 2,	TD,		SEN(printargs), "o32:dup2"			},
 [4064] = { 0,	NF,		SEN(printargs), "o32:getppid"		},
 [4065] = { 0,	0,		SEN(printargs), "o32:getpgrp"		},
@@ -70,7 +70,7 @@
 [4069] = { 1,	TS,		SEN(printargs), "o32:ssetmask"		},
 [4070] = { 2,	0,		SEN(printargs), "o32:setreuid"		},
 [4071] = { 2,	0,		SEN(printargs), "o32:setregid"		},
-[4072] = { 3,	TS,		SEN(printargs), "o32:sigsuspend"		},
+[4072] = { 1,	TS,		SEN(printargs), "o32:sigsuspend"		},
 [4073] = { 1,	TS,		SEN(printargs), "o32:sigpending"		},
 [4074] = { 2,	0,		SEN(printargs), "o32:sethostname"		},
 [4075] = { 2,	0,		SEN(printargs), "o32:setrlimit"		},
@@ -82,7 +82,7 @@
 [4081] = { 2,	0,		SEN(printargs), "o32:setgroups"		},
 [4082] = { 0,	0,		SEN(printargs), "o32:reserved82"		},
 [4083] = { 2,	TF,		SEN(printargs), "o32:symlink"		},
-[4084] = { 2,	TF,		SEN(printargs), "o32:oldlstat"		},
+[4084] = { 2,	TF|TLST|TSTA,	SEN(printargs), "o32:oldlstat"		},
 [4085] = { 3,	TF,		SEN(printargs), "o32:readlink"		},
 [4086] = { 1,	TF,		SEN(printargs), "o32:uselib"		},
 [4087] = { 2,	TF,		SEN(printargs), "o32:swapon"		},
@@ -97,16 +97,16 @@
 [4096] = { 2,	0,		SEN(printargs), "o32:getpriority"		},
 [4097] = { 3,	0,		SEN(printargs), "o32:setpriority"		},
 [4098] = { 0,	0,		SEN(printargs), "o32:profil"		},
-[4099] = { 2,	TF,		SEN(printargs), "o32:statfs"		},
-[4100] = { 2,	TD,		SEN(printargs), "o32:fstatfs"		},
+[4099] = { 2,	TF|TSF|TSFA,	SEN(printargs), "o32:statfs"		},
+[4100] = { 2,	TD|TFSF|TSFA,	SEN(printargs), "o32:fstatfs"		},
 [4101] = { 3,	0,		SEN(printargs), "o32:ioperm"		},
 [4102] = { 2,	TD,		SEN(printargs), "o32:socketcall"		},
 [4103] = { 3,	0,		SEN(printargs), "o32:syslog"		},
 [4104] = { 3,	0,		SEN(printargs), "o32:setitimer"		},
 [4105] = { 2,	0,		SEN(printargs), "o32:getitimer"		},
-[4106] = { 2,	TF,		SEN(printargs), "o32:stat"			},
-[4107] = { 2,	TF,		SEN(printargs), "o32:lstat"			},
-[4108] = { 2,	TD,		SEN(printargs), "o32:fstat"			},
+[4106] = { 2,	TF|TST|TSTA,	SEN(printargs), "o32:stat"			},
+[4107] = { 2,	TF|TLST|TSTA,	SEN(printargs), "o32:lstat"			},
+[4108] = { 2,	TD|TFST|TSTA,	SEN(printargs), "o32:fstat"			},
 [4109] = { 1,	0,		SEN(printargs), "o32:olduname"		},
 [4110] = { 1,	0,		SEN(printargs), "o32:iopl"			},
 [4111] = { 0,	0,		SEN(printargs), "o32:vhangup"		},
@@ -211,9 +211,9 @@
 [4210] = { 6,	TD|TM|SI,	SEN(printargs), "o32:mmap2"			},
 [4211] = { 4,	TF,		SEN(printargs), "o32:truncate64"		},
 [4212] = { 4,	TD,		SEN(printargs), "o32:ftruncate64"		},
-[4213] = { 2,	TF,		SEN(printargs), "o32:stat64"		},
-[4214] = { 2,	TF,		SEN(printargs), "o32:lstat64"		},
-[4215] = { 2,	TD,		SEN(printargs), "o32:fstat64"		},
+[4213] = { 2,	TF|TST|TSTA,	SEN(printargs), "o32:stat64"		},
+[4214] = { 2,	TF|TLST|TSTA,	SEN(printargs), "o32:lstat64"		},
+[4215] = { 2,	TD|TFST|TSTA,	SEN(printargs), "o32:fstat64"		},
 [4216] = { 2,	TF,		SEN(printargs), "o32:pivot_root"		},
 [4217] = { 3,	TM,		SEN(printargs), "o32:mincore"		},
 [4218] = { 3,	TM,		SEN(printargs), "o32:madvise"		},
@@ -253,8 +253,8 @@
 [4252] = { 1,	0,		SEN(printargs), "o32:set_tid_address"	},
 [4253] = { 0,	0,		SEN(printargs), "o32:restart_syscall"	},
 [4254] = { 7,	TD,		SEN(printargs), "o32:fadvise64"		},
-[4255] = { 3,	TF,		SEN(printargs), "o32:statfs64"		},
-[4256] = { 3,	TD,		SEN(printargs), "o32:fstatfs64"		},
+[4255] = { 3,	TF|TSF|TSFA,	SEN(printargs), "o32:statfs64"		},
+[4256] = { 3,	TD|TFSF|TSFA,	SEN(printargs), "o32:fstatfs64"		},
 [4257] = { 3,	0,		SEN(printargs), "o32:timer_create"		},
 [4258] = { 4,	0,		SEN(printargs), "o32:timer_settime"		},
 [4259] = { 2,	0,		SEN(printargs), "o32:timer_gettime"		},
@@ -291,7 +291,7 @@
 [4290] = { 4,	TD|TF,		SEN(printargs), "o32:mknodat"		},
 [4291] = { 5,	TD|TF,		SEN(printargs), "o32:fchownat"		},
 [4292] = { 3,	TD|TF,		SEN(printargs), "o32:futimesat"		},
-[4293] = { 4,	TD|TF,		SEN(printargs), "o32:fstatat64"		},
+[4293] = { 4,	TD|TF|TFST|TSTA,SEN(printargs), "o32:fstatat64"		},
 [4294] = { 3,	TD|TF,		SEN(printargs), "o32:unlinkat"		},
 [4295] = { 4,	TD|TF,		SEN(printargs), "o32:renameat"		},
 [4296] = { 5,	TD|TF,		SEN(printargs), "o32:linkat"		},
@@ -364,3 +364,4 @@
 [4363] = { 4,	TM|SI,		SEN(printargs), "o32:pkey_mprotect"		},
 [4364] = { 2,	0,		SEN(printargs), "o32:pkey_alloc"		},
 [4365] = { 1,	0,		SEN(printargs), "o32:pkey_free"		},
+[4366] = { 5,	TD|TF|TSTA,	SEN(printargs), "o32:statx"			},
diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h
index 780d3bc..9b84c48 100644
--- a/linux/mips/syscallent-o32.h
+++ b/linux/mips/syscallent-o32.h
@@ -18,7 +18,7 @@
 [4015] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [4016] = { 3,	TF,		SEN(chown),			"lchown"		},
 [4017] = { 0,	TM,		SEN(break),			"break"			},
-[4018] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[4018] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [4019] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [4020] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [4021] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -28,7 +28,7 @@
 [4025] = { 1,	0,		SEN(stime),			"stime"			},
 [4026] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [4027] = { 1,	0,		SEN(alarm),			"alarm"			},
-[4028] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[4028] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [4029] = { 0,	TS,		SEN(pause),			"pause"			},
 [4030] = { 2,	TF,		SEN(utime),			"utime"			},
 [4031] = { 0,	0,		SEN(stty),			"stty"			},
@@ -62,17 +62,17 @@
 [4059] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [4060] = { 1,	NF,		SEN(umask),			"umask"			},
 [4061] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[4062] = { 2,	0,		SEN(ustat),			"ustat"			},
+[4062] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [4063] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [4064] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [4065] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [4066] = { 0,	0,		SEN(setsid),			"setsid"		},
 [4067] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[4068] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[4069] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[4068] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[4069] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [4070] = { 2,	0,		SEN(setreuid),			"setreuid"		},
 [4071] = { 2,	0,		SEN(setregid),			"setregid"		},
-[4072] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[4072] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
 [4073] = { 1,	TS,		SEN(sigpending),		"sigpending"		},
 [4074] = { 2,	0,		SEN(sethostname),		"sethostname"		},
 [4075] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
@@ -84,7 +84,7 @@
 [4081] = { 2,	0,		SEN(setgroups),			"setgroups"		},
 [4082] = { 0,	0,		SEN(printargs),			"reserved82"		},
 [4083] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[4084] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[4084] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [4085] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [4086] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [4087] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -99,16 +99,16 @@
 [4096] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [4097] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [4098] = { 0,	0,		SEN(profil),			"profil"		},
-[4099] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[4100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[4099] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[4100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [4101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [4102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [4103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [4104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [4105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[4106] = { 2,	TF,		SEN(stat),			"stat"			},
-[4107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[4108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[4106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[4107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[4108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [4109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [4110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [4111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -213,9 +213,9 @@
 [4210] = { 6,	TD|TM|SI,	SEN(mmap_4koff),		"mmap2"			},
 [4211] = { 4,	TF,		SEN(truncate64),		"truncate64"		},
 [4212] = { 4,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[4213] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[4214] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[4215] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[4213] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[4214] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[4215] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [4216] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
 [4217] = { 3,	TM,		SEN(mincore),			"mincore"		},
 [4218] = { 3,	TM,		SEN(madvise),			"madvise"		},
@@ -255,8 +255,8 @@
 [4252] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
 [4253] = { 0,	0,		SEN(restart_syscall),		"restart_syscall"	},
 [4254] = { 7,	TD,		SEN(fadvise64_64),		"fadvise64"		},
-[4255] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[4256] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[4255] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[4256] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [4257] = { 3,	0,		SEN(timer_create),		"timer_create"		},
 [4258] = { 4,	0,		SEN(timer_settime),		"timer_settime"		},
 [4259] = { 2,	0,		SEN(timer_gettime),		"timer_gettime"		},
@@ -293,7 +293,7 @@
 [4290] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [4291] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [4292] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[4293] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[4293] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [4294] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [4295] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [4296] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -366,6 +366,7 @@
 [4363] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [4364] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [4365] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[4366] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 # define SYS_socket_subcall      4400
 # include "subcall.h"
diff --git a/linux/mtd-abi.h b/linux/mtd-abi.h
index b197861..a63a99a 100644
--- a/linux/mtd-abi.h
+++ b/linux/mtd-abi.h
@@ -1,5 +1,6 @@
 /*
- * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org> et al.
+ * Copyright (c) 1999-2010 David Woodhouse <dwmw2@infradead.org> et al.
+ * Copyright (c) 2010-2017 The strace developers.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/linux/nios2/arch_regs.c b/linux/nios2/arch_regs.c
index 2c30321..8a668bc 100644
--- a/linux/nios2/arch_regs.c
+++ b/linux/nios2/arch_regs.c
@@ -1,3 +1,4 @@
 static struct user_pt_regs nios2_regs;
+unsigned long *const nios2_sp_ptr = &nios2_regs.sp;
 # define ARCH_REGS_FOR_GETREGSET nios2_regs
 #define ARCH_PC_REG nios2_regs.regs[PTR_EA]
diff --git a/linux/nios2/arch_regs.h b/linux/nios2/arch_regs.h
new file mode 100644
index 0000000..7f344b5
--- /dev/null
+++ b/linux/nios2/arch_regs.h
@@ -0,0 +1 @@
+extern unsigned long *const nios2_sp_ptr;
diff --git a/linux/nios2/arch_rt_sigframe.c b/linux/nios2/arch_rt_sigframe.c
new file mode 100644
index 0000000..7359f11
--- /dev/null
+++ b/linux/nios2/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *nios2_sp_ptr;
+}
diff --git a/linux/or1k/arch_regs.c b/linux/or1k/arch_regs.c
index 78693e5..80ce763 100644
--- a/linux/or1k/arch_regs.c
+++ b/linux/or1k/arch_regs.c
@@ -1,3 +1,4 @@
 static struct user_regs_struct or1k_regs;
+unsigned long *const or1k_sp_ptr = &or1k_regs.gpr[1];
 #define ARCH_REGS_FOR_GETREGSET or1k_regs
 #define ARCH_PC_REG or1k_regs.pc
diff --git a/linux/or1k/arch_regs.h b/linux/or1k/arch_regs.h
new file mode 100644
index 0000000..44a78ec
--- /dev/null
+++ b/linux/or1k/arch_regs.h
@@ -0,0 +1 @@
+extern unsigned long *const or1k_sp_ptr;
diff --git a/linux/or1k/arch_rt_sigframe.c b/linux/or1k/arch_rt_sigframe.c
new file mode 100644
index 0000000..4f8cbbe
--- /dev/null
+++ b/linux/or1k/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *or1k_sp_ptr;
+}
diff --git a/linux/powerpc/arch_rt_sigframe.c b/linux/powerpc/arch_rt_sigframe.c
new file mode 100644
index 0000000..4a1c431
--- /dev/null
+++ b/linux/powerpc/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+#define	SIGNAL_FRAMESIZE32	64
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return ppc_regs.gpr[1] + SIGNAL_FRAMESIZE32 + 16;
+}
diff --git a/linux/powerpc/ioctls_arch0.h b/linux/powerpc/ioctls_arch0.h
index 6b429d3..10d40ff 100644
--- a/linux/powerpc/ioctls_arch0.h
+++ b/linux/powerpc/ioctls_arch0.h
@@ -136,9 +136,13 @@
 { "linux/kvm.h", "KVM_KVMCLOCK_CTRL", _IOC_NONE, 0xaead, 0x00 },
 { "linux/kvm.h", "KVM_NMI", _IOC_NONE, 0xae9a, 0x00 },
 { "linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB", _IOC_READ|_IOC_WRITE, 0xaea7, 0x04 },
+{ "linux/kvm.h", "KVM_PPC_CONFIGURE_V3_MMU", _IOC_WRITE, 0xaeaf, 0x10 },
 { "linux/kvm.h", "KVM_PPC_GET_HTAB_FD", _IOC_WRITE, 0xaeaa, 0x20 },
 { "linux/kvm.h", "KVM_PPC_GET_PVINFO", _IOC_WRITE, 0xaea1, 0x80 },
+{ "linux/kvm.h", "KVM_PPC_GET_RMMU_INFO", _IOC_WRITE, 0xaeb0, 0x60 },
 { "linux/kvm.h", "KVM_PPC_GET_SMMU_INFO", _IOC_READ, 0xaea6, 0x250 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_COMMIT", _IOC_READ, 0xaeae, 0x10 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_PREPARE", _IOC_READ, 0xaead, 0x10 },
 { "linux/kvm.h", "KVM_PPC_RTAS_DEFINE_TOKEN", _IOC_WRITE, 0xaeac, 0x80 },
 { "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
 { "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h
index 4e1eb8b..829af9c 100644
--- a/linux/powerpc/syscallent.h
+++ b/linux/powerpc/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,17 +89,17 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid),			"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid),			"setregid"		},
-[ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[ 72] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
 [ 73] = { 1,	TS,		SEN(sigpending),		"sigpending"		},
 [ 74] = { 2,	0,		SEN(sethostname),		"sethostname"		},
 [ 75] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups),			"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -221,9 +222,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_4koff),		"mmap2"			},
 [193] = { 4,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 4,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 5,	0,		SEN(printargs),			"pciconfig_read"	},
 [199] = { 5,	0,		SEN(printargs),			"pciconfig_write"	},
 [200] = { 3,	0,		SEN(printargs),			"pciconfig_iobase"	},
@@ -278,8 +279,8 @@
 [249] = { 2,	0,		SEN(printargs),			"swapcontext"		},
 [250] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [251] = { 2,	TF,		SEN(utimes),			"utimes"		},
-[252] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[253] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[252] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[253] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [254] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
 [255] = { 1,	0,		SEN(printargs),			"rtas"			},
 [256] = { 5,	0,		SEN(printargs),			"sys_debug_setcontext"	},
@@ -317,7 +318,7 @@
 [288] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [289] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [290] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[291] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[291] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [292] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [293] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [294] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -409,6 +410,7 @@
 [380] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [381] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
 [382] = { 5,	TD,		SEN(kexec_file_load),		"kexec_file_load"	},
+[383] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/powerpc64/arch_rt_sigframe.c b/linux/powerpc64/arch_rt_sigframe.c
new file mode 100644
index 0000000..333f708
--- /dev/null
+++ b/linux/powerpc64/arch_rt_sigframe.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+#undef FUNC_GET_RT_SIGFRAME_ADDR
+#define	FUNC_GET_RT_SIGFRAME_ADDR	\
+	static kernel_ulong_t ppc_get_rt_sigframe_addr(struct tcb *tcp)
+
+#include "powerpc/arch_rt_sigframe.c"
+
+#undef FUNC_GET_RT_SIGFRAME_ADDR
+#define	FUNC_GET_RT_SIGFRAME_ADDR	DEF_FUNC_GET_RT_SIGFRAME_ADDR
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return tcp->currpers == 1
+		? ppc_get_rt_sigframe_addr(tcp) : ppc_regs.gpr[1];
+}
diff --git a/linux/powerpc64/rt_sigframe.h b/linux/powerpc64/rt_sigframe.h
new file mode 100644
index 0000000..979dbd7
--- /dev/null
+++ b/linux/powerpc64/rt_sigframe.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 __powerpc64__
+# include "../rt_sigframe.h"
+#else
+# ifndef STRACE_RT_SIGFRAME_H
+#  define STRACE_RT_SIGFRAME_H
+
+#  include <signal.h>
+
+typedef struct {
+	ucontext_t	uc;
+	/* more data follows */
+} struct_rt_sigframe;
+
+# endif /* !STRACE_RT_SIGFRAME_H */
+#endif /* !__powerpc64__ */
diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h
index e5263d4..3b65ed7 100644
--- a/linux/powerpc64/syscallent.h
+++ b/linux/powerpc64/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,17 +89,17 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid),			"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid),			"setregid"		},
-[ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[ 72] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
 [ 73] = { 1,	TS,		SEN(sigpending),		"sigpending"		},
 [ 74] = { 2,	0,		SEN(sethostname),		"sethostname"		},
 [ 75] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups),			"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -273,8 +274,8 @@
 [249] = { 2,	0,		SEN(printargs),			"swapcontext"		},
 [250] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [251] = { 2,	TF,		SEN(utimes),			"utimes"		},
-[252] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[253] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[252] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[253] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [254] = { },
 [255] = { 1,	0,		SEN(printargs),			"rtas"			},
 [256] = { 5,	0,		SEN(printargs),			"sys_debug_setcontext"	},
@@ -312,7 +313,7 @@
 [288] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [289] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [290] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[291] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
+[291] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
 [292] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [293] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [294] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -404,6 +405,7 @@
 [380] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [381] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
 [382] = { 5,	TD,		SEN(kexec_file_load),		"kexec_file_load"	},
+[383] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/ptp_clock.h b/linux/ptp_clock.h
index b65c834..2f92eb6 100644
--- a/linux/ptp_clock.h
+++ b/linux/ptp_clock.h
@@ -2,6 +2,7 @@
  * PTP 1588 clock support - user space interface
  *
  * Copyright (C) 2010 OMICRON electronics GmbH
+ * Copyright (c) 2010-2017 The strace developers.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
diff --git a/linux/riscv/arch_regs.c b/linux/riscv/arch_regs.c
index 40be17d..58010df 100644
--- a/linux/riscv/arch_regs.c
+++ b/linux/riscv/arch_regs.c
@@ -1,3 +1,4 @@
 static struct user_regs_struct riscv_regs;
+unsigned long *const riscv_sp_ptr = &riscv_regs.sp;
 #define ARCH_REGS_FOR_GETREGSET riscv_regs
 #define ARCH_PC_REG riscv_regs.pc
diff --git a/linux/riscv/arch_regs.h b/linux/riscv/arch_regs.h
new file mode 100644
index 0000000..f270281
--- /dev/null
+++ b/linux/riscv/arch_regs.h
@@ -0,0 +1 @@
+extern unsigned long *const riscv_sp_ptr;
diff --git a/linux/riscv/arch_rt_sigframe.c b/linux/riscv/arch_rt_sigframe.c
new file mode 100644
index 0000000..54526c4
--- /dev/null
+++ b/linux/riscv/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *riscv_sp_ptr;
+}
diff --git a/linux/rt_sigframe.h b/linux/rt_sigframe.h
new file mode 100644
index 0000000..04b895b
--- /dev/null
+++ b/linux/rt_sigframe.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+/* This is a generic definition for compatible architectures. */
+
+typedef struct {
+	siginfo_t	info;
+	ucontext_t	uc;
+	/* more data might follow */
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/s390/arch_rt_sigframe.c b/linux/s390/arch_rt_sigframe.c
new file mode 100644
index 0000000..2cd468b
--- /dev/null
+++ b/linux/s390/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return *s390_frame_ptr;
+}
diff --git a/linux/s390/ioctls_arch0.h b/linux/s390/ioctls_arch0.h
index a287f0f..22f4bbc 100644
--- a/linux/s390/ioctls_arch0.h
+++ b/linux/s390/ioctls_arch0.h
@@ -37,6 +37,12 @@
 { "asm/dasd.h", "DASDAPIVER", _IOC_READ, 0x4400, 0x04 },
 { "asm/hypfs.h", "HYPFS_DIAG304", _IOC_READ|_IOC_WRITE, 0x1020, 0x18 },
 { "asm/ioctls.h", "FIOQSIZE", 0, 0x545E, 0 },
+{ "asm/pkey.h", "PKEY_CLR2PROTK", _IOC_READ|_IOC_WRITE, 0x7004, 0x6c },
+{ "asm/pkey.h", "PKEY_CLR2SECK", _IOC_READ|_IOC_WRITE, 0x7002, 0x68 },
+{ "asm/pkey.h", "PKEY_FINDCARD", _IOC_READ|_IOC_WRITE, 0x7005, 0x44 },
+{ "asm/pkey.h", "PKEY_GENSECK", _IOC_READ|_IOC_WRITE, 0x7001, 0x48 },
+{ "asm/pkey.h", "PKEY_SEC2PROTK", _IOC_READ|_IOC_WRITE, 0x7003, 0x8c },
+{ "asm/pkey.h", "PKEY_SKEY2PKEY", _IOC_READ|_IOC_WRITE, 0x7006, 0x88 },
 { "asm/sclp_ctl.h", "SCLP_CTL_SCCB", _IOC_READ|_IOC_WRITE, 0x1010, 0x0c },
 { "asm/tape390.h", "TAPE390_CRYPT_QUERY", _IOC_READ, 0x6403, 0x03 },
 { "asm/tape390.h", "TAPE390_CRYPT_SET", _IOC_WRITE, 0x6402, 0x03 },
@@ -59,6 +65,7 @@
 { "asm/zcrypt.h", "Z90STAT_STATUS_MASK", _IOC_READ, 0x7a48, 0x40 },
 { "asm/zcrypt.h", "Z90STAT_TOTALCOUNT", _IOC_READ, 0x7a40, 0x04 },
 { "asm/zcrypt.h", "Z90STAT_TOTALOPEN_COUNT", _IOC_READ, 0x7a46, 0x04 },
+{ "asm/zcrypt.h", "ZDEVICESTATUS", _IOC_READ|_IOC_WRITE, 0x7a4f, 0x00 },
 { "asm/zcrypt.h", "ZSECSENDCPRB", _IOC_READ|_IOC_WRITE, 0x7a81, 0x00 },
 { "asm/zcrypt.h", "ZSENDEP11CPRB", _IOC_READ|_IOC_WRITE, 0x7a04, 0x00 },
 { "linux/kvm.h", "KVM_ARM_SET_DEVICE_ADDR", _IOC_WRITE, 0xaeab, 0x10 },
@@ -103,6 +110,8 @@
 { "linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB", _IOC_READ|_IOC_WRITE, 0xaea7, 0x04 },
 { "linux/kvm.h", "KVM_PPC_GET_PVINFO", _IOC_WRITE, 0xaea1, 0x80 },
 { "linux/kvm.h", "KVM_PPC_GET_SMMU_INFO", _IOC_READ, 0xaea6, 0x250 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_COMMIT", _IOC_READ, 0xaeae, 0x10 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_PREPARE", _IOC_READ, 0xaead, 0x10 },
 { "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
 { "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
 { "linux/kvm.h", "KVM_RUN", _IOC_NONE, 0xae80, 0x00 },
diff --git a/linux/s390/rt_sigframe.h b/linux/s390/rt_sigframe.h
new file mode 100644
index 0000000..7e8743e
--- /dev/null
+++ b/linux/s390/rt_sigframe.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	uint8_t		callee_used_stack[__SIGNAL_FRAMESIZE];
+	uint16_t	svc_insn;
+	siginfo_t	info;
+	ucontext_t	uc;
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h
index 6f841c7..3e769b6 100644
--- a/linux/s390/syscallent.h
+++ b/linux/s390/syscallent.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2000 IBM Deutschland Entwicklung GmbH, IBM Coporation
+ * Copyright (c) 2000-2017 The strace developers.
  * Authors: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
  *          D.J. Barrow  <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
  * All rights reserved.
@@ -90,7 +91,7 @@
 [ 59] = { },
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
@@ -127,16 +128,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { },
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { },
 [110] = { 4,	0,		SEN(lookup_dcookie),		"lookup_dcookie"	},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -201,7 +202,7 @@
 [170] = { 3,	0,		SEN(setresgid16),		"setresgid"		},
 [171] = { 3,	0,		SEN(getresgid16),		"getresgid"		},
 [172] = { 5,	0,		SEN(prctl),			"prctl"			},
-[173] = { 0,	TS,		SEN(sigreturn),			"rt_sigreturn"		},
+[173] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
 [174] = { 4,	TS,		SEN(rt_sigaction),		"rt_sigaction"		},
 [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
 [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
@@ -223,9 +224,9 @@
 [192] = { 1,	TD|TM|SI,	SEN(old_mmap_pgoff),		"mmap2"			},
 [193] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"lchown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -293,8 +294,8 @@
 [262] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
 [263] = { 5,	0,		SEN(vserver),			"vserver"		},
 [264] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
-[265] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[266] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[265] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[266] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [267] = { 5,	TM|SI,		SEN(remap_file_pages),		"remap_file_pages"	},
 [268] = { 6,	TM,		SEN(mbind),			"mbind"			},
 [269] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
@@ -321,7 +322,7 @@
 [290] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [291] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [292] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[293] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[293] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [294] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [295] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [296] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -406,6 +407,8 @@
 [375] = { 6,	TD,		SEN(copy_file_range),		"copy_file_range"	},
 [376] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [377] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
+[378] = { },
+[379] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/s390x/arch_rt_sigframe.c b/linux/s390x/arch_rt_sigframe.c
new file mode 100644
index 0000000..9731c0e
--- /dev/null
+++ b/linux/s390x/arch_rt_sigframe.c
@@ -0,0 +1 @@
+#include "s390/arch_rt_sigframe.c"
diff --git a/linux/s390x/ioctls_arch0.h b/linux/s390x/ioctls_arch0.h
index f7c3355..f70da95 100644
--- a/linux/s390x/ioctls_arch0.h
+++ b/linux/s390x/ioctls_arch0.h
@@ -37,6 +37,12 @@
 { "asm/dasd.h", "DASDAPIVER", _IOC_READ, 0x4400, 0x04 },
 { "asm/hypfs.h", "HYPFS_DIAG304", _IOC_READ|_IOC_WRITE, 0x1020, 0x18 },
 { "asm/ioctls.h", "FIOQSIZE", 0, 0x545E, 0 },
+{ "asm/pkey.h", "PKEY_CLR2PROTK", _IOC_READ|_IOC_WRITE, 0x7004, 0x6c },
+{ "asm/pkey.h", "PKEY_CLR2SECK", _IOC_READ|_IOC_WRITE, 0x7002, 0x68 },
+{ "asm/pkey.h", "PKEY_FINDCARD", _IOC_READ|_IOC_WRITE, 0x7005, 0x44 },
+{ "asm/pkey.h", "PKEY_GENSECK", _IOC_READ|_IOC_WRITE, 0x7001, 0x48 },
+{ "asm/pkey.h", "PKEY_SEC2PROTK", _IOC_READ|_IOC_WRITE, 0x7003, 0x8c },
+{ "asm/pkey.h", "PKEY_SKEY2PKEY", _IOC_READ|_IOC_WRITE, 0x7006, 0x88 },
 { "asm/sclp_ctl.h", "SCLP_CTL_SCCB", _IOC_READ|_IOC_WRITE, 0x1010, 0x0c },
 { "asm/tape390.h", "TAPE390_CRYPT_QUERY", _IOC_READ, 0x6403, 0x03 },
 { "asm/tape390.h", "TAPE390_CRYPT_SET", _IOC_WRITE, 0x6402, 0x03 },
@@ -59,6 +65,7 @@
 { "asm/zcrypt.h", "Z90STAT_STATUS_MASK", _IOC_READ, 0x7a48, 0x40 },
 { "asm/zcrypt.h", "Z90STAT_TOTALCOUNT", _IOC_READ, 0x7a40, 0x04 },
 { "asm/zcrypt.h", "Z90STAT_TOTALOPEN_COUNT", _IOC_READ, 0x7a46, 0x04 },
+{ "asm/zcrypt.h", "ZDEVICESTATUS", _IOC_READ|_IOC_WRITE, 0x7a4f, 0x00 },
 { "asm/zcrypt.h", "ZSECSENDCPRB", _IOC_READ|_IOC_WRITE, 0x7a81, 0x00 },
 { "asm/zcrypt.h", "ZSENDEP11CPRB", _IOC_READ|_IOC_WRITE, 0x7a04, 0x00 },
 { "linux/kvm.h", "KVM_ARM_SET_DEVICE_ADDR", _IOC_WRITE, 0xaeab, 0x10 },
@@ -103,6 +110,8 @@
 { "linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB", _IOC_READ|_IOC_WRITE, 0xaea7, 0x04 },
 { "linux/kvm.h", "KVM_PPC_GET_PVINFO", _IOC_WRITE, 0xaea1, 0x80 },
 { "linux/kvm.h", "KVM_PPC_GET_SMMU_INFO", _IOC_READ, 0xaea6, 0x250 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_COMMIT", _IOC_READ, 0xaeae, 0x10 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_PREPARE", _IOC_READ, 0xaead, 0x10 },
 { "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
 { "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
 { "linux/kvm.h", "KVM_RUN", _IOC_NONE, 0xae80, 0x00 },
diff --git a/linux/s390x/rt_sigframe.h b/linux/s390x/rt_sigframe.h
new file mode 100644
index 0000000..fc9b224
--- /dev/null
+++ b/linux/s390x/rt_sigframe.h
@@ -0,0 +1 @@
+#include "s390/rt_sigframe.h"
diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h
index ca67f46..9429641 100644
--- a/linux/s390x/syscallent.h
+++ b/linux/s390x/syscallent.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2000 IBM Deutschland Entwicklung GmbH, IBM Coporation
+ * Copyright (c) 2000-2017 The strace developers.
  * Author: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
  * All rights reserved.
  *
@@ -89,7 +90,7 @@
 [ 59] = { },
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
@@ -121,16 +122,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { },
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { },
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { },
 [110] = { 3,	0,		SEN(lookup_dcookie),		"lookup_dcookie"	},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -190,7 +191,7 @@
 [169] = { 3,	0,		SEN(nfsservctl),		"nfsservctl"		},
 [170 ... 171] = { },
 [172] = { 5,	0,		SEN(prctl),			"prctl"			},
-[173] = { 0,	TS,		SEN(sigreturn),			"rt_sigreturn"		},
+[173] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
 [174] = { 4,	TS,		SEN(rt_sigaction),		"rt_sigaction"		},
 [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
 [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
@@ -277,8 +278,8 @@
 [262] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
 [263] = { 5,	0,		SEN(vserver),			"vserver"		},
 [264] = { },
-[265] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[266] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[265] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[266] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [267] = { 5,	TM|SI,		SEN(remap_file_pages),		"remap_file_pages"	},
 [268] = { 6,	TM,		SEN(mbind),			"mbind"			},
 [269] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
@@ -305,7 +306,7 @@
 [290] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [291] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [292] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[293] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
+[293] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
 [294] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [295] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [296] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -390,6 +391,8 @@
 [375] = { 6,	TD,		SEN(copy_file_range),		"copy_file_range"	},
 [376] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [377] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
+[378] = { },
+[379] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/sh/arch_rt_sigframe.c b/linux/sh/arch_rt_sigframe.c
new file mode 100644
index 0000000..ae16e3f
--- /dev/null
+++ b/linux/sh/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	unsigned long addr;
+
+	return upeek(tcp->pid, sizeof(long) * 15, &addr) ? 0 : addr;
+}
diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h
index 758c7f1..9b0fed9 100644
--- a/linux/sh/syscallent.h
+++ b/linux/sh/syscallent.h
@@ -3,6 +3,7 @@
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 2000 PocketPenguins Inc.  Linux for Hitachi SuperH
  *                    port by Greg Banks <gbanks@pocketpenguins.com>
+ * Copyright (c) 2000-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,7 +47,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -56,7 +57,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -90,17 +91,17 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
-[ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[ 72] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
 [ 73] = { 1,	TS,		SEN(sigpending),		"sigpending"		},
 [ 74] = { 2,	0,		SEN(sethostname),		"sethostname"		},
 [ 75] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
@@ -112,7 +113,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { 1,	TD,		SEN(oldselect),			"select"		},
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -127,16 +128,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -222,9 +223,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_4koff),		"mmap2"			},
 [193] = { 3,	TF,		SEN(truncate64),		"truncate64"		},
 [194] = { 3,	TD,		SEN(ftruncate64),		"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"lchown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -293,8 +294,8 @@
 [265] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [266] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [267] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[268] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[269] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[268] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[269] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [270] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [271] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [272] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -325,7 +326,7 @@
 [297] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [298] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [299] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[300] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[300] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [301] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [302] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [303] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
diff --git a/linux/sh64/arch_rt_sigframe.c b/linux/sh64/arch_rt_sigframe.c
new file mode 100644
index 0000000..21204e3
--- /dev/null
+++ b/linux/sh64/arch_rt_sigframe.c
@@ -0,0 +1 @@
+#include "sh/arch_rt_sigframe.c"
diff --git a/linux/sh64/rt_sigframe.h b/linux/sh64/rt_sigframe.h
new file mode 100644
index 0000000..6080bae
--- /dev/null
+++ b/linux/sh64/rt_sigframe.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	siginfo_t	*pinfo;
+	void		*puc;
+	siginfo_t	info;
+	ucontext_t	uc;
+	/* more data follows */
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h
index e35ef6f..19e7b73 100644
--- a/linux/sh64/syscallent.h
+++ b/linux/sh64/syscallent.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 [ 15] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 16] = { 3,	TF,		SEN(chown16),			"lchown"		},
 [ 17] = { 0,	TM,		SEN(break),			"break"			},
-[ 18] = { 2,	TF,		SEN(oldstat),			"oldstat"		},
+[ 18] = { 2,	TF|TST|TSTA,	SEN(oldstat),			"oldstat"		},
 [ 19] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [ 20] = { 0,	NF,		SEN(getpid),			"getpid"		},
 [ 21] = { 5,	TF,		SEN(mount),			"mount"			},
@@ -54,7 +55,7 @@
 [ 25] = { 1,	0,		SEN(stime),			"stime"			},
 [ 26] = { 4,	0,		SEN(ptrace),			"ptrace"		},
 [ 27] = { 1,	0,		SEN(alarm),			"alarm"			},
-[ 28] = { 2,	TD,		SEN(oldfstat),			"oldfstat"		},
+[ 28] = { 2,	TD|TFST|TSTA,	SEN(oldfstat),			"oldfstat"		},
 [ 29] = { 0,	TS,		SEN(pause),			"pause"			},
 [ 30] = { 2,	TF,		SEN(utime),			"utime"			},
 [ 31] = { 2,	0,		SEN(stty),			"stty"			},
@@ -88,17 +89,17 @@
 [ 59] = { 1,	0,		SEN(oldolduname),		"oldolduname"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	0,		SEN(ustat),			"ustat"			},
+[ 62] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [ 63] = { 2,	TD,		SEN(dup2),			"dup2"			},
 [ 64] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [ 65] = { 0,	0,		SEN(getpgrp),			"getpgrp"		},
 [ 66] = { 0,	0,		SEN(setsid),			"setsid"		},
 [ 67] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[ 68] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[ 69] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
+[ 68] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[ 69] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
 [ 70] = { 2,	0,		SEN(setreuid16),		"setreuid"		},
 [ 71] = { 2,	0,		SEN(setregid16),		"setregid"		},
-[ 72] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[ 72] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
 [ 73] = { 1,	TS,		SEN(sigpending),		"sigpending"		},
 [ 74] = { 2,	0,		SEN(sethostname),		"sethostname"		},
 [ 75] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
@@ -110,7 +111,7 @@
 [ 81] = { 2,	0,		SEN(setgroups16),		"setgroups"		},
 [ 82] = { },
 [ 83] = { 2,	TF,		SEN(symlink),			"symlink"		},
-[ 84] = { 2,	TF,		SEN(oldlstat),			"oldlstat"		},
+[ 84] = { 2,	TF|TLST|TSTA,	SEN(oldlstat),			"oldlstat"		},
 [ 85] = { 3,	TF,		SEN(readlink),			"readlink"		},
 [ 86] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [ 87] = { 2,	TF,		SEN(swapon),			"swapon"		},
@@ -125,16 +126,16 @@
 [ 96] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [ 97] = { 3,	0,		SEN(setpriority),		"setpriority"		},
 [ 98] = { 4,	0,		SEN(profil),			"profil"		},
-[ 99] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[100] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[ 99] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[100] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [101] = { 3,	0,		SEN(ioperm),			"ioperm"		},
 [102] = { 2,	TD,		SEN(socketcall),		"socketcall"		},
 [103] = { 3,	0,		SEN(syslog),			"syslog"		},
 [104] = { 3,	0,		SEN(setitimer),			"setitimer"		},
 [105] = { 2,	0,		SEN(getitimer),			"getitimer"		},
-[106] = { 2,	TF,		SEN(stat),			"stat"			},
-[107] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[108] = { 2,	TD,		SEN(fstat),			"fstat"			},
+[106] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[107] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[108] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
 [109] = { 1,	0,		SEN(olduname),			"olduname"		},
 [110] = { 1,	0,		SEN(iopl),			"iopl"			},
 [111] = { 0,	0,		SEN(vhangup),			"vhangup"		},
@@ -220,9 +221,9 @@
 [192] = { 6,	TD|TM|SI,	SEN(mmap_4koff),		"mmap2"			},
 [193] = { 2,	TF,		SEN(truncate),			"truncate64"		},
 [194] = { 2,	TD,		SEN(ftruncate),			"ftruncate64"		},
-[195] = { 2,	TF,		SEN(stat64),			"stat64"		},
-[196] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
-[197] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[195] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
+[196] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
+[197] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [198] = { 3,	TF,		SEN(chown),			"lchown32"		},
 [199] = { 0,	NF,		SEN(getuid),			"getuid32"		},
 [200] = { 0,	NF,		SEN(getgid),			"getgid32"		},
@@ -319,8 +320,8 @@
 [293] = { 2,	0,		SEN(clock_gettime),		"clock_gettime"		},
 [294] = { 2,	0,		SEN(clock_getres),		"clock_getres"		},
 [295] = { 4,	0,		SEN(clock_nanosleep),		"clock_nanosleep"	},
-[296] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[297] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[296] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[297] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [298] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
 [299] = { 2,	TF,		SEN(utimes),			"utimes"		},
 [300] = { 4,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
@@ -351,7 +352,7 @@
 [325] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [326] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [327] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[328] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[328] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [329] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [330] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [331] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
diff --git a/linux/sparc/arch_rt_sigframe.c b/linux/sparc/arch_rt_sigframe.c
new file mode 100644
index 0000000..418443e
--- /dev/null
+++ b/linux/sparc/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return sparc_regs.u_regs[U_REG_FP];
+}
diff --git a/linux/sparc/rt_sigframe.h b/linux/sparc/rt_sigframe.h
new file mode 100644
index 0000000..ef44e5c
--- /dev/null
+++ b/linux/sparc/rt_sigframe.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include "ptrace.h"
+#include <signal.h>
+
+typedef struct {
+	struct sparc_stackf	ss;
+	siginfo_t		info;
+	struct pt_regs		regs;
+	sigset_t		mask;
+	/* more data follows */
+} struct_rt_sigframe;
+
+#define OFFSETOF_SIGMASK_IN_RT_SIGFRAME	\
+		offsetof(struct_rt_sigframe, mask)
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h
index ab27a15..519fa58 100644
--- a/linux/sparc/syscallent.h
+++ b/linux/sparc/syscallent.h
@@ -36,9 +36,9 @@
 [ 35] = { 3,	TF,		SEN(chown),			"chown32"		},
 [ 36] = { 0,	0,		SEN(sync),			"sync"			},
 [ 37] = { 2,	TS,		SEN(kill),			"kill"			},
-[ 38] = { 2,	TF,		SEN(stat),			"stat"			},
+[ 38] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
 [ 39] = { 4,	TD|TN,		SEN(sendfile),			"sendfile"		},
-[ 40] = { 2,	TF,		SEN(lstat),			"lstat"			},
+[ 40] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
 [ 41] = { 1,	TD,		SEN(dup),			"dup"			},
 [ 42] = { 0,	TD,		SEN(pipe),			"pipe"			},
 [ 43] = { 1,	0,		SEN(times),			"times"			},
@@ -60,8 +60,8 @@
 [ 59] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	TD,		SEN(fstat),			"fstat"			},
-[ 63] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[ 62] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
+[ 63] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [ 64] = { 0,	0,		SEN(getpagesize),		"getpagesize"		},
 [ 65] = { 3,	TM,		SEN(msync),			"msync"			},
 [ 66] = { 0,	TP,		SEN(vfork),			"vfork"			},
@@ -130,14 +130,14 @@
 [129] = { 2,	TF,		SEN(truncate),			"truncate"		},
 [130] = { 2,	TD,		SEN(ftruncate),			"ftruncate"		},
 [131] = { 2,	TD,		SEN(flock),			"flock"			},
-[132] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
+[132] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
 [133] = { 6,	TN,		SEN(sendto),			"sendto"		},
 [134] = { 2,	TN,		SEN(shutdown),			"shutdown"		},
 [135] = { 4,	TN,		SEN(socketpair),		"socketpair"		},
 [136] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
 [137] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
 [138] = { 2,	TF,		SEN(utimes),			"utimes"		},
-[139] = { 2,	TF,		SEN(stat64),			"stat64"		},
+[139] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
 [140] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
 [141] = { 3,	TN,		SEN(getpeername),		"getpeername"		},
 [142] = { 6,	0,		SEN(futex),			"futex"			},
@@ -155,8 +155,8 @@
 [154] = { 3,	TD,		SEN(getdents64),		"getdents64"		},
 [155] = { 3,	TD,		SEN(fcntl64),			"fcntl64"		},
 [156] = { 2,	TD,		SEN(inotify_rm_watch),		"inotify_rm_watch"	},
-[157] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[158] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[157] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[158] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [159] = { 1,	TF,		SEN(umount),			"umount"		},
 [160] = { 3,	0,		SEN(sched_setaffinity),		"sched_set_affinity"	},
 [161] = { 3,	0,		SEN(sched_getaffinity),		"sched_get_affinity"	},
@@ -166,7 +166,7 @@
 [165] = { 4,	TF,		SEN(quotactl),			"quotactl"		},
 [166] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
 [167] = { 5,	TF,		SEN(mount),			"mount"			},
-[168] = { 2,	0,		SEN(ustat),			"ustat"			},
+[168] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [169] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
 [170] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
 [171] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
@@ -197,10 +197,10 @@
 [196] = { 3,	0,		SEN(ioprio_set),		"ioprio_set"		},
 [197] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [198] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[199] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[200] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
-[201] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
-[202] = { 2,	TF,		SEN(lstat),			"oldlstat"		},
+[199] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[200] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
+[201] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[202] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"oldlstat"		},
 [203] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [204] = { 3,	TD,		SEN(readdir),			"readdir"		},
 [205] = { 4,	TD,		SEN(readahead),			"readahead"		},
@@ -232,8 +232,8 @@
 [231] = { 1,	0,		SEN(time),			"time"			},
 [232] = { 6,	TD,		SEN(splice),			"splice"		},
 [233] = { 1,	0,		SEN(stime),			"stime"			},
-[234] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[235] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[234] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[235] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [236] = { 5,	TD,		SEN(llseek),			"_llseek"		},
 [237] = { 2,	TM,		SEN(mlock),			"mlock"			},
 [238] = { 2,	TM,		SEN(munlock),			"munlock"		},
@@ -287,7 +287,7 @@
 [286] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [287] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [288] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[289] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[289] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [290] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [291] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [292] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -358,6 +358,7 @@
 [357] = { 6,	TD,		SEN(copy_file_range),		"copy_file_range"	},
 [358] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [359] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
+[360] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/sparc64/arch_rt_sigframe.c b/linux/sparc64/arch_rt_sigframe.c
new file mode 100644
index 0000000..0bad84d
--- /dev/null
+++ b/linux/sparc64/arch_rt_sigframe.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+#define	STACK_BIAS	2047
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return tcp->currpers == 1 ? sparc_regs.u_regs[U_REG_FP] & 0xffffffffUL
+				  : sparc_regs.u_regs[U_REG_FP] + STACK_BIAS;
+}
diff --git a/linux/sparc64/rt_sigframe.h b/linux/sparc64/rt_sigframe.h
new file mode 100644
index 0000000..285801a
--- /dev/null
+++ b/linux/sparc64/rt_sigframe.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 __arch64__
+# include "sparc/rt_sigframe.h"
+#else
+# ifndef STRACE_RT_SIGFRAME_H
+#  define STRACE_RT_SIGFRAME_H
+
+#  include "ptrace.h"
+#  include <signal.h>
+
+typedef struct {
+	struct sparc_stackf	ss;
+	siginfo_t		info;
+	struct pt_regs		regs;
+	void			*fpu_save;
+	stack_t			stack;
+	sigset_t		mask;
+	/* more data follows */
+} struct_rt_sigframe;
+
+#  define OFFSETOF_SIGMASK_IN_RT_SIGFRAME	\
+		offsetof(struct_rt_sigframe, mask)
+
+# endif /* !STRACE_RT_SIGFRAME_H */
+#endif /* __arch64__ */
diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h
index ffc35a1..35ca773 100644
--- a/linux/sparc64/syscallent.h
+++ b/linux/sparc64/syscallent.h
@@ -35,9 +35,9 @@
 [ 35] = { },
 [ 36] = { 0,	0,		SEN(sync),			"sync"			},
 [ 37] = { 2,	TS,		SEN(kill),			"kill"			},
-[ 38] = { 2,	TF,		SEN(stat),			"stat"			},
+[ 38] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
 [ 39] = { 4,	TD|TN,		SEN(sendfile),			"sendfile"		},
-[ 40] = { 2,	TF,		SEN(lstat),			"lstat"			},
+[ 40] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
 [ 41] = { 1,	TD,		SEN(dup),			"dup"			},
 [ 42] = { 0,	TD,		SEN(pipe),			"pipe"			},
 [ 43] = { 1,	0,		SEN(times),			"times"			},
@@ -59,8 +59,8 @@
 [ 59] = { 3,	TF|TP|SE|SI,	SEN(execve),			"execve"		},
 [ 60] = { 1,	NF,		SEN(umask),			"umask"			},
 [ 61] = { 1,	TF,		SEN(chroot),			"chroot"		},
-[ 62] = { 2,	TD,		SEN(fstat),			"fstat"			},
-[ 63] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[ 62] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
+[ 63] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [ 64] = { 0,	0,		SEN(getpagesize),		"getpagesize"		},
 [ 65] = { 3,	TM,		SEN(msync),			"msync"			},
 [ 66] = { 0,	TP,		SEN(vfork),			"vfork"			},
@@ -128,14 +128,14 @@
 [129] = { 2,	TF,		SEN(truncate),			"truncate"		},
 [130] = { 2,	TD,		SEN(ftruncate),			"ftruncate"		},
 [131] = { 2,	TD,		SEN(flock),			"flock"			},
-[132] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
+[132] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
 [133] = { 6,	TN,		SEN(sendto),			"sendto"		},
 [134] = { 2,	TN,		SEN(shutdown),			"shutdown"		},
 [135] = { 4,	TN,		SEN(socketpair),		"socketpair"		},
 [136] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
 [137] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
 [138] = { 2,	TF,		SEN(utimes),			"utimes"		},
-[139] = { 2,	TF,		SEN(stat64),			"stat64"		},
+[139] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
 [140] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
 [141] = { 3,	TN,		SEN(getpeername),		"getpeername"		},
 [142] = { 6,	0,		SEN(futex),			"futex"			},
@@ -153,8 +153,8 @@
 [154] = { 3,	TD,		SEN(getdents64),		"getdents64"		},
 [155] = { },
 [156] = { 2,	TD,		SEN(inotify_rm_watch),		"inotify_rm_watch"	},
-[157] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[158] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[157] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[158] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [159] = { 1,	TF,		SEN(umount),			"umount"		},
 [160] = { 3,	0,		SEN(sched_setaffinity),		"sched_set_affinity"	},
 [161] = { 3,	0,		SEN(sched_getaffinity),		"sched_get_affinity"	},
@@ -164,7 +164,7 @@
 [165] = { 4,	TF,		SEN(quotactl),			"quotactl"		},
 [166] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
 [167] = { 5,	TF,		SEN(mount),			"mount"			},
-[168] = { 2,	0,		SEN(ustat),			"ustat"			},
+[168] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
 [169] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
 [170] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
 [171] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
@@ -195,10 +195,10 @@
 [196] = { 3,	0,		SEN(ioprio_set),		"ioprio_set"		},
 [197] = { 0,	NF,		SEN(getppid),			"getppid"		},
 [198] = { 3,	TS,		SEN(sigaction),			"sigaction"		},
-[199] = { 0,	TS,		SEN(siggetmask),		"sgetmask"		},
-[200] = { 1,	TS,		SEN(sigsetmask),		"ssetmask"		},
-[201] = { 3,	TS,		SEN(sigsuspend),		"sigsuspend"		},
-[202] = { 2,	TF,		SEN(lstat),			"oldlstat"		},
+[199] = { 0,	TS,		SEN(sgetmask),			"sgetmask"		},
+[200] = { 1,	TS,		SEN(ssetmask),			"ssetmask"		},
+[201] = { 1,	TS,		SEN(sigsuspend),		"sigsuspend"		},
+[202] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"oldlstat"		},
 [203] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [204] = { 3,	TD,		SEN(readdir),			"readdir"		},
 [205] = { 3,	TD,		SEN(readahead),			"readahead"		},
@@ -230,8 +230,8 @@
 [231] = { },
 [232] = { 6,	TD,		SEN(splice),			"splice"		},
 [233] = { 1,	0,		SEN(stime),			"stime"			},
-[234] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[235] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[234] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[235] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [236] = { 5,	TD,		SEN(llseek),			"_llseek"		},
 [237] = { 2,	TM,		SEN(mlock),			"mlock"			},
 [238] = { 2,	TM,		SEN(munlock),			"munlock"		},
@@ -285,7 +285,7 @@
 [286] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [287] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [288] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[289] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[289] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [290] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [291] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [292] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -356,6 +356,7 @@
 [357] = { 6,	TD,		SEN(copy_file_range),		"copy_file_range"	},
 [358] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [359] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
+[360] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
 
 #define SYS_socket_subcall	400
 #include "subcall.h"
diff --git a/linux/subcall.h b/linux/subcall.h
index 169e5ea..c51eace 100644
--- a/linux/subcall.h
+++ b/linux/subcall.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/linux/syscall.h b/linux/syscall.h
index 6bf8b42..bd15518 100644
--- a/linux/syscall.h
+++ b/linux/syscall.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1995-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/linux/tile/arch_rt_sigframe.c b/linux/tile/arch_rt_sigframe.c
new file mode 100644
index 0000000..8d15e5c
--- /dev/null
+++ b/linux/tile/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return tile_regs.sp;
+}
diff --git a/linux/tile/arch_sigreturn.c b/linux/tile/arch_sigreturn.c
index 88e946f..1c687db 100644
--- a/linux/tile/arch_sigreturn.c
+++ b/linux/tile/arch_sigreturn.c
@@ -7,6 +7,6 @@
 				   offsetof(struct ucontext, uc_sigmask);
 
 	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
+	print_sigset_addr(tcp, addr);
 	tprints("}");
 }
diff --git a/linux/tile/rt_sigframe.h b/linux/tile/rt_sigframe.h
new file mode 100644
index 0000000..e8adf1e
--- /dev/null
+++ b/linux/tile/rt_sigframe.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+	unsigned char	save_area[C_ABI_SAVE_AREA_SIZE];
+	siginfo_t	info;
+	ucontext_t	uc;
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/ubi-user.h b/linux/ubi-user.h
index e9e56b3..7bae56e 100644
--- a/linux/ubi-user.h
+++ b/linux/ubi-user.h
@@ -1,5 +1,6 @@
 /*
  * Copyright © International Business Machines Corp., 2006
+ * Copyright (c) 2006-2017 The strace developers.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/linux/x32/arch_rt_sigframe.c b/linux/x32/arch_rt_sigframe.c
new file mode 100644
index 0000000..1cc45e5
--- /dev/null
+++ b/linux/x32/arch_rt_sigframe.c
@@ -0,0 +1 @@
+#include "x86_64/arch_rt_sigframe.c"
diff --git a/linux/x32/ioctls_inc0.h b/linux/x32/ioctls_inc0.h
index 46303d1..37d7076 100644
--- a/linux/x32/ioctls_inc0.h
+++ b/linux/x32/ioctls_inc0.h
@@ -264,11 +264,14 @@
 { "drm/i915_drm.h", "DRM_IOCTL_I915_IRQ_WAIT", _IOC_WRITE, 0x6445, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_ATTRS", _IOC_READ|_IOC_WRITE, 0x6468, 0x2c },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_OVERLAY_PUT_IMAGE", _IOC_WRITE, 0x6467, 0x2c },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_PERF_OPEN", _IOC_WRITE, 0x6476, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_REG_READ", _IOC_READ|_IOC_WRITE, 0x6471, 0x10 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SETPARAM", _IOC_WRITE, 0x6447, 0x08 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_SPRITE_COLORKEY", _IOC_READ|_IOC_WRITE, 0x646b, 0x14 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_SET_VBLANK_PIPE", _IOC_WRITE, 0x644d, 0x04 },
 { "drm/i915_drm.h", "DRM_IOCTL_I915_VBLANK_SWAP", _IOC_READ|_IOC_WRITE, 0x644f, 0x0c },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_DISABLE", _IOC_NONE, 0x6901, 0x00 },
+{ "drm/i915_drm.h", "I915_PERF_IOCTL_ENABLE", _IOC_NONE, 0x6900, 0x00 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_BLIT", _IOC_WRITE, 0x6448, 0x34 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_CLEAR", _IOC_WRITE, 0x6444, 0x14 },
 { "drm/mga_drm.h", "DRM_IOCTL_MGA_DMA_BOOTSTRAP", _IOC_READ|_IOC_WRITE, 0x644c, 0x1c },
@@ -451,8 +454,10 @@
 { "linux/android/binder.h", "BC_REGISTER_LOOPER", _IOC_NONE, 0x630b, 0x00 },
 { "linux/android/binder.h", "BC_RELEASE", _IOC_WRITE, 0x6306, 0x04 },
 { "linux/android/binder.h", "BC_REPLY", _IOC_WRITE, 0x6301, 0x40 },
+{ "linux/android/binder.h", "BC_REPLY_SG", _IOC_WRITE, 0x6312, 0x48 },
 { "linux/android/binder.h", "BC_REQUEST_DEATH_NOTIFICATION", _IOC_WRITE, 0x630e, 0x0c },
 { "linux/android/binder.h", "BC_TRANSACTION", _IOC_WRITE, 0x6300, 0x40 },
+{ "linux/android/binder.h", "BC_TRANSACTION_SG", _IOC_WRITE, 0x6311, 0x48 },
 { "linux/android/binder.h", "BINDER_SET_CONTEXT_MGR", _IOC_WRITE, 0x6207, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_PRIORITY", _IOC_WRITE, 0x6206, 0x04 },
 { "linux/android/binder.h", "BINDER_SET_IDLE_TIMEOUT", _IOC_WRITE, 0x6203, 0x08 },
@@ -1315,6 +1320,9 @@
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_SET_MEMORY_POLICY", _IOC_WRITE, 0x4b04, 0x20 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_UPDATE_QUEUE", _IOC_WRITE, 0x4b07, 0x18 },
 { "linux/kfd_ioctl.h", "AMDKFD_IOC_WAIT_EVENTS", _IOC_READ|_IOC_WRITE, 0x4b0c, 0x18 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_ADMIN_VIO", _IOC_READ|_IOC_WRITE, 0x4c41, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_IO_VIO", _IOC_READ|_IOC_WRITE, 0x4c43, 0x50 },
+{ "linux/lightnvm.h", "NVME_NVM_IOCTL_SUBMIT_VIO", _IOC_READ|_IOC_WRITE, 0x4c42, 0x40 },
 { "linux/lightnvm.h", "NVM_DEV_CREATE", _IOC_WRITE, 0x4c22, 0x80 },
 { "linux/lightnvm.h", "NVM_DEV_FACTORY", _IOC_WRITE, 0x4c25, 0x24 },
 { "linux/lightnvm.h", "NVM_DEV_INIT", _IOC_WRITE, 0x4c24, 0x2c },
@@ -1455,6 +1463,8 @@
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_ALLOC_RANGE", _IOC_WRITE, 0x6e8c, 0x10 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SET_SUINFO", _IOC_WRITE, 0x6e8d, 0x18 },
 { "linux/nilfs2_api.h", "NILFS_IOCTL_SYNC", _IOC_READ, 0x6e8a, 0x08 },
+{ "linux/nsfs.h", "NS_GET_NSTYPE", _IOC_NONE, 0xb703, 0x00 },
+{ "linux/nsfs.h", "NS_GET_OWNER_UID", _IOC_NONE, 0xb704, 0x00 },
 { "linux/nsfs.h", "NS_GET_PARENT", _IOC_NONE, 0xb702, 0x00 },
 { "linux/nsfs.h", "NS_GET_USERNS", _IOC_NONE, 0xb701, 0x00 },
 { "linux/nvme_ioctl.h", "NVME_IOCTL_ADMIN_CMD", _IOC_READ|_IOC_WRITE, 0x4e41, 0x48 },
@@ -1665,6 +1675,8 @@
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_INBOUND", _IOC_WRITE, 0x6d12, 0x08 },
 { "linux/rio_mport_cdev.h", "RIO_UNMAP_OUTBOUND", _IOC_WRITE, 0x6d10, 0x28 },
 { "linux/rio_mport_cdev.h", "RIO_WAIT_FOR_ASYNC", _IOC_WRITE, 0x6d16, 0x08 },
+{ "linux/rpmsg.h", "RPMSG_CREATE_EPT_IOCTL", _IOC_WRITE, 0xb501, 0x28 },
+{ "linux/rpmsg.h", "RPMSG_DESTROY_EPT_IOCTL", _IOC_NONE, 0xb502, 0x00 },
 { "linux/rtc.h", "RTC_AIE_OFF", _IOC_NONE, 0x7002, 0x00 },
 { "linux/rtc.h", "RTC_AIE_ON", _IOC_NONE, 0x7001, 0x00 },
 { "linux/rtc.h", "RTC_ALM_READ", _IOC_READ, 0x7008, 0x24 },
@@ -1704,6 +1716,18 @@
 { "linux/scif_ioctl.h", "SCIF_VREADFROM", _IOC_READ|_IOC_WRITE, 0x730c, 0x28 },
 { "linux/scif_ioctl.h", "SCIF_VWRITETO", _IOC_READ|_IOC_WRITE, 0x730d, 0x28 },
 { "linux/scif_ioctl.h", "SCIF_WRITETO", _IOC_READ|_IOC_WRITE, 0x730b, 0x28 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_LSP", _IOC_WRITE, 0x70df, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ACTIVATE_USR", _IOC_WRITE, 0x70e1, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ADD_USR_TO_LR", _IOC_WRITE, 0x70e4, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_ENABLE_DISABLE_MBR", _IOC_WRITE, 0x70e5, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_ERASE_LR", _IOC_WRITE, 0x70e6, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_LOCK_UNLOCK", _IOC_WRITE, 0x70dd, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_LR_SETUP", _IOC_WRITE, 0x70e3, 0x128 },
+{ "linux/sed-opal.h", "IOC_OPAL_REVERT_TPR", _IOC_WRITE, 0x70e2, 0x108 },
+{ "linux/sed-opal.h", "IOC_OPAL_SAVE", _IOC_WRITE, 0x70dc, 0x118 },
+{ "linux/sed-opal.h", "IOC_OPAL_SECURE_ERASE_LR", _IOC_WRITE, 0x70e7, 0x110 },
+{ "linux/sed-opal.h", "IOC_OPAL_SET_PW", _IOC_WRITE, 0x70e0, 0x220 },
+{ "linux/sed-opal.h", "IOC_OPAL_TAKE_OWNERSHIP", _IOC_WRITE, 0x70de, 0x108 },
 { "linux/serio.h", "SPIOCSTYPE", _IOC_WRITE, 0x7101, 0x04 },
 { "linux/sockios.h", "SIOCADDDLCI", 0, 0x8980, 0 },
 { "linux/sockios.h", "SIOCADDMULTI", 0, 0x8931, 0 },
@@ -2418,23 +2442,23 @@
 { "net/bluetooth/rfcomm.h", "RFCOMMRELEASEDEV", _IOC_WRITE, 0x52c9, 0x04 },
 { "net/bluetooth/rfcomm.h", "RFCOMMSTEALDLC", _IOC_WRITE, 0x52dc, 0x04 },
 { "net/nfc/nci_core.h", "NCIUARTSETDRIVER", _IOC_WRITE, 0x5500, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
-{ "rdma/hfi/hfi1_user.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
-{ "rdma/ib_user_mad.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ACK_EVENT", _IOC_WRITE, 0x1bea, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_ASSIGN_CTXT", _IOC_READ|_IOC_WRITE, 0x1be1, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CREDIT_UPD", _IOC_NONE, 0x1be6, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_INFO", _IOC_WRITE, 0x1be2, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_CTXT_RESET", _IOC_NONE, 0x1bec, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_GET_VERS", _IOC_READ, 0x1bee, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_POLL_TYPE", _IOC_WRITE, 0x1be9, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_RECV_CTRL", _IOC_WRITE, 0x1be8, 0x04 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_SET_PKEY", _IOC_WRITE, 0x1beb, 0x02 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_FREE", _IOC_READ|_IOC_WRITE, 0x1be5, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_INVAL_READ", _IOC_READ|_IOC_WRITE, 0x1bed, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_TID_UPDATE", _IOC_READ|_IOC_WRITE, 0x1be4, 0x18 },
+{ "rdma/rdma_user_ioctl.h", "HFI1_IOCTL_USER_INFO", _IOC_WRITE, 0x1be3, 0x78 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_ENABLE_PKEY", _IOC_NONE, 0x1b03, 0x00 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT", _IOC_READ|_IOC_WRITE, 0x1b01, 0x1c },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_REGISTER_AGENT2", _IOC_READ|_IOC_WRITE, 0x1b04, 0x28 },
+{ "rdma/rdma_user_ioctl.h", "IB_USER_MAD_UNREGISTER_AGENT", _IOC_WRITE, 0x1b02, 0x04 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_ATTACH", _IOC_READ|_IOC_WRITE, 0xca80, 0x90 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_DETACH", _IOC_READ|_IOC_WRITE, 0xca83, 0x60 },
 { "scsi/cxlflash_ioctl.h", "DK_CXLFLASH_MANAGE_LUN", _IOC_READ|_IOC_WRITE, 0xca86, 0x68 },
diff --git a/linux/x32/rt_sigframe.h b/linux/x32/rt_sigframe.h
new file mode 100644
index 0000000..8452e89
--- /dev/null
+++ b/linux/x32/rt_sigframe.h
@@ -0,0 +1 @@
+#include "x86_64/rt_sigframe.h"
diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h
index 0cda1a6..4d68327 100644
--- a/linux/x32/syscallent.h
+++ b/linux/x32/syscallent.h
@@ -2,9 +2,9 @@
 [  1] = { 3,	TD,		SEN(write),			"write"			},
 [  2] = { 3,	TD|TF,		SEN(open),			"open"			},
 [  3] = { 1,	TD,		SEN(close),			"close"			},
-[  4] = { 2,	TF,		SEN(stat),			"stat"			},
-[  5] = { 2,	TD,		SEN(fstat),			"fstat"			},
-[  6] = { 2,	TF,		SEN(lstat),			"lstat"			},
+[  4] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[  5] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
+[  6] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
 [  7] = { 3,	TD,		SEN(poll),			"poll"			},
 [  8] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [  9] = { 6,	TD|TM|SI,	SEN(mmap),			"mmap"			},
@@ -13,7 +13,7 @@
 [ 12] = { 1,	TM|SI,		SEN(brk),			"brk"			},
 [ 13] = { 4,	TS,		SEN(printargs),			"64:rt_sigaction"	},
 [ 14] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
-[ 15] = { 0,	TS,		SEN(printargs),			"64:rt_sigreturn"	},
+[ 15] = { 0,	TS,		SEN(rt_sigreturn),		"64:rt_sigreturn"	},
 [ 16] = { 3,	TD,		SEN(printargs),			"64:ioctl"		},
 [ 17] = { 4,	TD,		SEN(pread),			"pread64"		},
 [ 18] = { 4,	TD,		SEN(pwrite),			"pwrite64"		},
@@ -134,9 +134,9 @@
 [133] = { 3,	TF,		SEN(mknod),			"mknod"			},
 [134] = { 1,	TF,		SEN(printargs),			"64:uselib"		},
 [135] = { 1,	NF,		SEN(personality),		"personality"		},
-[136] = { 2,	0,		SEN(ustat),			"ustat"			},
-[137] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[138] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[136] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
+[137] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[138] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [139] = { 3,	0,		SEN(sysfs),			"sysfs"			},
 [140] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [141] = { 3,	0,		SEN(setpriority),		"setpriority"		},
@@ -260,7 +260,7 @@
 [259] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [260] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [261] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[262] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
+[262] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
 [263] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [264] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [265] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -330,13 +330,14 @@
 [329] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [330] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [331] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
-[332 ... 511] = { },
+[332] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
+[333 ... 511] = { },
 /*
  * x32-specific system call numbers start at 512 to avoid cache impact
  * for native 64-bit operation.
  */
 [512] = { 4,	CST|TS,		SEN(rt_sigaction),		"rt_sigaction"		},
-[513] = { 0,	CST|TS,		SEN(sigreturn),			"rt_sigreturn"		},
+[513] = { 0,	CST|TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
 [514] = { 3,	CST|TD,		SEN(ioctl),			"ioctl"			},
 [515] = { 3,	CST|TD,		SEN(readv),			"readv"			},
 [516] = { 3,	CST|TD,		SEN(writev),			"writev"		},
@@ -369,5 +370,5 @@
 [543] = { 2,	CST|TM,		SEN(io_setup),			"io_setup"		},
 [544] = { 3,	CST,		SEN(io_submit),			"io_submit"		},
 [545] = { 5,	CST|TD|TF|TP|SE|SI,	SEN(execveat),		"execveat"		},
-[546] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
-[547] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
+[546] = { 5,	TD,		SEN(preadv2),			"preadv2"		},
+[547] = { 5,	TD,		SEN(pwritev2),			"pwritev2"		},
diff --git a/linux/x86_64/arch_rt_sigframe.c b/linux/x86_64/arch_rt_sigframe.c
new file mode 100644
index 0000000..d2c7867
--- /dev/null
+++ b/linux/x86_64/arch_rt_sigframe.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+#undef FUNC_GET_RT_SIGFRAME_ADDR
+#define	FUNC_GET_RT_SIGFRAME_ADDR	\
+	static kernel_ulong_t i386_get_rt_sigframe_addr(struct tcb *tcp)
+
+#include "i386/arch_rt_sigframe.c"
+
+#undef FUNC_GET_RT_SIGFRAME_ADDR
+#define	FUNC_GET_RT_SIGFRAME_ADDR	DEF_FUNC_GET_RT_SIGFRAME_ADDR
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	return tcp->currpers == 1 ? i386_get_rt_sigframe_addr(tcp)
+				  : *x86_64_rsp_ptr - sizeof(kernel_ulong_t);
+}
diff --git a/linux/x86_64/arch_sigreturn.c b/linux/x86_64/arch_sigreturn.c
index 060b93a..9f4f0d8 100644
--- a/linux/x86_64/arch_sigreturn.c
+++ b/linux/x86_64/arch_sigreturn.c
@@ -1,32 +1,2 @@
-#define	arch_sigreturn	i386_arch_sigreturn
+/* Only x86 personality has old sigreturn syscall. */
 #include "i386/arch_sigreturn.c"
-#undef arch_sigreturn
-
-static void
-arch_sigreturn(struct tcb *tcp)
-{
-	if (current_personality == 1) {
-		i386_arch_sigreturn(tcp);
-		return;
-	}
-
-	typedef struct {
-		uint32_t flags, link, stack[3], pad;
-		struct sigcontext mcontext;
-	} ucontext_x32_header;
-
-#define	X86_64_SIGMASK_OFFSET	offsetof(struct ucontext, uc_sigmask)
-#define	X32_SIGMASK_OFFSET	sizeof(ucontext_x32_header)
-
-	const kernel_ulong_t offset =
-#ifdef X32
-		X32_SIGMASK_OFFSET;
-#else
-		current_personality == 2 ? X32_SIGMASK_OFFSET :
-					   X86_64_SIGMASK_OFFSET;
-#endif
-	const kernel_ulong_t addr = (kernel_ulong_t) *x86_64_rsp_ptr + offset;
-	tprints("{mask=");
-	print_sigset_addr_len(tcp, addr, NSIG_BYTES);
-	tprints("}");
-}
diff --git a/linux/x86_64/get_scno.c b/linux/x86_64/get_scno.c
index b8c3194..2354fb2 100644
--- a/linux/x86_64/get_scno.c
+++ b/linux/x86_64/get_scno.c
@@ -5,6 +5,7 @@
  * Copyright (c) 2008-2013 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
  * Copyright (c) 2010-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/linux/x86_64/ioctls_arch0.h b/linux/x86_64/ioctls_arch0.h
index d13cb46..a28ae18 100644
--- a/linux/x86_64/ioctls_arch0.h
+++ b/linux/x86_64/ioctls_arch0.h
@@ -68,6 +68,8 @@
 { "linux/kvm.h", "KVM_PPC_ALLOCATE_HTAB", _IOC_READ|_IOC_WRITE, 0xaea7, 0x04 },
 { "linux/kvm.h", "KVM_PPC_GET_PVINFO", _IOC_WRITE, 0xaea1, 0x80 },
 { "linux/kvm.h", "KVM_PPC_GET_SMMU_INFO", _IOC_READ, 0xaea6, 0x250 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_COMMIT", _IOC_READ, 0xaeae, 0x10 },
+{ "linux/kvm.h", "KVM_PPC_RESIZE_HPT_PREPARE", _IOC_READ, 0xaead, 0x10 },
 { "linux/kvm.h", "KVM_REGISTER_COALESCED_MMIO", _IOC_WRITE, 0xae67, 0x10 },
 { "linux/kvm.h", "KVM_REINJECT_CONTROL", _IOC_NONE, 0xae71, 0x00 },
 { "linux/kvm.h", "KVM_RUN", _IOC_NONE, 0xae80, 0x00 },
diff --git a/linux/x86_64/rt_sigframe.h b/linux/x86_64/rt_sigframe.h
new file mode 100644
index 0000000..36655a4
--- /dev/null
+++ b/linux/x86_64/rt_sigframe.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+#ifdef __i386__
+# include "i386/rt_sigframe.h"
+#else
+# ifndef STRACE_RT_SIGFRAME_H
+#  define STRACE_RT_SIGFRAME_H
+
+#  include <signal.h>
+
+typedef struct {
+	kernel_ulong_t	pretcode;
+	ucontext_t	uc;
+	/* more data follows */
+} struct_rt_sigframe;
+
+# endif /* !STRACE_RT_SIGFRAME_H */
+#endif /* !__i386__ */
diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h
index fcabde7..d069edb 100644
--- a/linux/x86_64/syscallent.h
+++ b/linux/x86_64/syscallent.h
@@ -2,9 +2,9 @@
 [  1] = { 3,	TD,		SEN(write),			"write"			},
 [  2] = { 3,	TD|TF,		SEN(open),			"open"			},
 [  3] = { 1,	TD,		SEN(close),			"close"			},
-[  4] = { 2,	TF,		SEN(stat),			"stat"			},
-[  5] = { 2,	TD,		SEN(fstat),			"fstat"			},
-[  6] = { 2,	TF,		SEN(lstat),			"lstat"			},
+[  4] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[  5] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
+[  6] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
 [  7] = { 3,	TD,		SEN(poll),			"poll"			},
 [  8] = { 3,	TD,		SEN(lseek),			"lseek"			},
 [  9] = { 6,	TD|TM|SI,	SEN(mmap),			"mmap"			},
@@ -13,7 +13,7 @@
 [ 12] = { 1,	TM|SI,		SEN(brk),			"brk"			},
 [ 13] = { 4,	TS,		SEN(rt_sigaction),		"rt_sigaction"		},
 [ 14] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
-[ 15] = { 0,	TS,		SEN(sigreturn),			"rt_sigreturn"		},
+[ 15] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
 [ 16] = { 3,	TD,		SEN(ioctl),			"ioctl"			},
 [ 17] = { 4,	TD,		SEN(pread),			"pread64"		},
 [ 18] = { 4,	TD,		SEN(pwrite),			"pwrite64"		},
@@ -134,9 +134,9 @@
 [133] = { 3,	TF,		SEN(mknod),			"mknod"			},
 [134] = { 1,	TF,		SEN(uselib),			"uselib"		},
 [135] = { 1,	NF,		SEN(personality),		"personality"		},
-[136] = { 2,	0,		SEN(ustat),			"ustat"			},
-[137] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[138] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
+[136] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
+[137] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[138] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
 [139] = { 3,	0,		SEN(sysfs),			"sysfs"			},
 [140] = { 2,	0,		SEN(getpriority),		"getpriority"		},
 [141] = { 3,	0,		SEN(setpriority),		"setpriority"		},
@@ -260,7 +260,7 @@
 [259] = { 4,	TD|TF,		SEN(mknodat),			"mknodat"		},
 [260] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [261] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[262] = { 4,	TD|TF,		SEN(newfstatat),		"newfstatat"		},
+[262] = { 4,	TD|TF|TFST|TSTA,SEN(newfstatat),		"newfstatat"		},
 [263] = { 3,	TD|TF,		SEN(unlinkat),			"unlinkat"		},
 [264] = { 4,	TD|TF,		SEN(renameat),			"renameat"		},
 [265] = { 5,	TD|TF,		SEN(linkat),			"linkat"		},
@@ -330,3 +330,4 @@
 [329] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
 [330] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
 [331] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[332] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
diff --git a/linux/xtensa/arch_rt_sigframe.c b/linux/xtensa/arch_rt_sigframe.c
new file mode 100644
index 0000000..a40c76a
--- /dev/null
+++ b/linux/xtensa/arch_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+	unsigned long addr;
+
+	return upeek(tcp->pid, REG_A_BASE + 3, &addr) ? 0 : addr;
+}
diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h
index a130d6e..0d051bc 100644
--- a/linux/xtensa/syscallent.h
+++ b/linux/xtensa/syscallent.h
@@ -39,16 +39,16 @@
 [ 43] = { 2,	TF,		SEN(getcwd),			"getcwd"		},
 [ 44] = { 2,	TF,		SEN(chmod),			"chmod"			},
 [ 45] = { 3,	TF,		SEN(chown),			"chown"			},
-[ 46] = { 2,	TF,		SEN(stat),			"stat"			},
-[ 47] = { 2,	TF,		SEN(stat64),			"stat64"		},
+[ 46] = { 2,	TF|TST|TSTA,	SEN(stat),			"stat"			},
+[ 47] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
 [ 48] = { 3,	TF,		SEN(chown),			"lchown"		},
-[ 49] = { 2,	TF,		SEN(lstat),			"lstat"			},
-[ 50] = { 2,	TF,		SEN(lstat64),			"lstat64"		},
+[ 49] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
+[ 50] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
 [ 51] = { },
 [ 52] = { 2,	TD,		SEN(fchmod),			"fchmod"		},
 [ 53] = { 3,	TD,		SEN(fchown),			"fchown"		},
-[ 54] = { 2,	TD,		SEN(fstat),			"fstat"			},
-[ 55] = { 2,	TD,		SEN(fstat64),			"fstat64"		},
+[ 54] = { 2,	TD|TFST|TSTA,	SEN(fstat),			"fstat"			},
+[ 55] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
 [ 56] = { 2,	TD,		SEN(flock),			"flock"			},
 [ 57] = { 2,	TF,		SEN(access),			"access"		},
 [ 58] = { 1,	NF,		SEN(umask),			"umask"			},
@@ -175,11 +175,11 @@
 [180] = { 1,	NF,		SEN(setfsuid),			"setfsuid"		},
 [181] = { 1,	NF,		SEN(setfsgid),			"setfsgid"		},
 [182] = { 3,	0,		SEN(sysfs),			"sysfs"			},
-[183] = { 2,	0,		SEN(ustat),			"ustat"			},
-[184] = { 2,	TF,		SEN(statfs),			"statfs"		},
-[185] = { 2,	TD,		SEN(fstatfs),			"fstatfs"		},
-[186] = { 3,	TF,		SEN(statfs64),			"statfs64"		},
-[187] = { 3,	TD,		SEN(fstatfs64),			"fstatfs64"		},
+[183] = { 2,	TSFA,		SEN(ustat),			"ustat"			},
+[184] = { 2,	TF|TSF|TSFA,	SEN(statfs),			"statfs"		},
+[185] = { 2,	TD|TFSF|TSFA,	SEN(fstatfs),			"fstatfs"		},
+[186] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
+[187] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
 [188] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
 [189] = { 2,	0,		SEN(getrlimit),			"getrlimit"		},
 [190] = { 2,	0,		SEN(getrusage),			"getrusage"		},
@@ -288,7 +288,7 @@
 [296] = { 4,	TD|TF,		SEN(utimensat),			"utimensat"		},
 [297] = { 5,	TD|TF,		SEN(fchownat),			"fchownat"		},
 [298] = { 3,	TD|TF,		SEN(futimesat),			"futimesat"		},
-[299] = { 4,	TD|TF,		SEN(fstatat64),			"fstatat64"		},
+[299] = { 4,	TD|TF|TFST|TSTA,SEN(fstatat64),			"fstatat64"		},
 [300] = { 3,	TD|TF,		SEN(fchmodat),			"fchmodat"		},
 [301] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
 [302 ... 303] = { },
@@ -336,3 +336,7 @@
 [345] = { 6,	TD,		SEN(copy_file_range),		"copy_file_range"	},
 [346] = { 6,	TD,		SEN(preadv2),			"preadv2"		},
 [347] = { 6,	TD,		SEN(pwritev2),			"pwritev2"		},
+[348] = { 4,	TM|SI,		SEN(pkey_mprotect),		"pkey_mprotect"		},
+[249] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
+[350] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
+[351] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
diff --git a/lookup_dcookie.c b/lookup_dcookie.c
index 279694f..4e21d5f 100644
--- a/lookup_dcookie.c
+++ b/lookup_dcookie.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/loop.c b/loop.c
index f19ad92..df12520 100644
--- a/loop.c
+++ b/loop.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012 The Chromium OS Authors.
+ * Copyright (c) 2012-2017 The strace developers.
  * Written by Mike Frysinger <vapier@gentoo.org>.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/m32_funcs.h b/m32_funcs.h
index 9c4a53a..e96342b 100644
--- a/m32_funcs.h
+++ b/m32_funcs.h
@@ -8,6 +8,8 @@
 #define sys_shmctl m32_sys_shmctl
 #undef sys_time
 #define sys_time m32_sys_time
+#undef sys_rt_sigreturn
+#define sys_rt_sigreturn m32_sys_rt_sigreturn
 #undef sys_sigaltstack
 #define sys_sigaltstack m32_sys_sigaltstack
 #undef sys_sysinfo
diff --git a/m32_printer_decls.h b/m32_printer_decls.h
index c06f197..100c365 100644
--- a/m32_printer_decls.h
+++ b/m32_printer_decls.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
 extern int m32_block_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
 extern int m32_btrfs_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
 extern int m32_evdev_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
@@ -25,7 +25,7 @@
 extern void m32_print_itimerspec(struct tcb *const tcp, const kernel_ulong_t addr);
 extern void m32_print_struct_timeval(const void *arg);
 extern void m32_print_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
-extern void m32_print_timeval_pair(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void m32_print_timeval_utimes(struct tcb *const tcp, const kernel_ulong_t addr);
 extern const char * m32_sprint_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
 extern void m32_print_itimerval(struct tcb *const tcp, const kernel_ulong_t addr);
 extern int m32_print_timex(struct tcb *const tcp, const kernel_ulong_t addr);
diff --git a/m32_printer_defs.h b/m32_printer_defs.h
index 3d2122c..1d533a2 100644
--- a/m32_printer_defs.h
+++ b/m32_printer_defs.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
 .block_ioctl = m32_block_ioctl,
 .btrfs_ioctl = m32_btrfs_ioctl,
 .evdev_ioctl = m32_evdev_ioctl,
@@ -25,7 +25,7 @@
 .print_itimerspec = m32_print_itimerspec,
 .print_struct_timeval = m32_print_struct_timeval,
 .print_timeval = m32_print_timeval,
-.print_timeval_pair = m32_print_timeval_pair,
+.print_timeval_utimes = m32_print_timeval_utimes,
 .sprint_timeval = m32_sprint_timeval,
 .print_itimerval = m32_print_itimerval,
 .print_timex = m32_print_timex,
diff --git a/m32_type_defs.h b/m32_type_defs.h
index e8bc1bf..a03f4ce 100644
--- a/m32_type_defs.h
+++ b/m32_type_defs.h
@@ -97,6 +97,9 @@
 #ifdef MPERS_m32_siginfo_t
 # define siginfo_t MPERS_m32_siginfo_t
 #endif
+#ifdef MPERS_m32_struct_rt_sigframe
+# define struct_rt_sigframe MPERS_m32_struct_rt_sigframe
+#endif
 #ifdef MPERS_m32_struct_rtc_pll_info
 # define struct_rtc_pll_info MPERS_m32_struct_rtc_pll_info
 #endif
@@ -127,6 +130,9 @@
 #ifdef MPERS_m32_struct_v4l2_buffer
 # define struct_v4l2_buffer MPERS_m32_struct_v4l2_buffer
 #endif
+#ifdef MPERS_m32_struct_v4l2_clip
+# define struct_v4l2_clip MPERS_m32_struct_v4l2_clip
+#endif
 #ifdef MPERS_m32_struct_v4l2_create_buffers
 # define struct_v4l2_create_buffers MPERS_m32_struct_v4l2_create_buffers
 #endif
diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4
index 9fddbf6..0572e25 100644
--- a/m4/ax_prog_cc_for_build.m4
+++ b/m4/ax_prog_cc_for_build.m4
@@ -26,6 +26,7 @@
 # LICENSE
 #
 #   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
+#   Copyright (c) 2008-2017 The strace developers.
 #
 #   Copying and distribution of this file, with or without modification, are
 #   permitted in any medium without royalty provided the copyright notice
diff --git a/maint/ioctls_gen.sh b/maint/ioctls_gen.sh
deleted file mode 100755
index b20a0bd..0000000
--- a/maint/ioctls_gen.sh
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2004-2015 Dmitry V. Levin <ldv@altlinux.org>
-# 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.
-
-set -efu
-
-me="${0##*/}"
-mydir="${0%/*}"
-msg()
-{
-	printf >&2 '%s\n' "$me: $*"
-}
-
-case $# in
-	1)
-		inc_dir="$1"
-		arch_dir=
-		;;
-	2)
-		inc_dir="$1"
-		arch_dir="$2"
-		;;
-	*)
-	        echo >&2 "usage: $me include-directory [arch-include-directory]"
-	        exit 1
-		;;
-esac
-
-# Check and canonicalize include-directory and arch-include-directory.
-abs_inc_dir="$(cd "$inc_dir" && pwd -P)"
-INCLUDES_inc="-I$abs_inc_dir/uapi -I$abs_inc_dir"
-abs_arch_dir=
-INCLUDES_arch=
-[ -z "$arch_dir" ] || {
-	abs_arch_dir="$(cd "$arch_dir" && pwd -P)"
-	INCLUDES_arch="-I$abs_arch_dir/uapi -I$abs_arch_dir"
-}
-
-cleanup()
-{
-	trap - EXIT
-	rm -f ioctls_hex.h ioctls_sym.h
-	exit "$@"
-}
-trap 'cleanup $?' EXIT
-trap 'cleanup 1' HUP PIPE INT QUIT TERM
-
-# Fetch ioctl commands defined in hex form.
-{
-	"$mydir"/ioctls_hex.sh "$inc_dir" 03 linux/hdreg.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 22 scsi/sg.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 46 linux/fb.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 4B linux/kd.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 4C linux/loop.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 53 linux/cdrom.h scsi/scsi.h scsi/scsi_ioctl.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" '\(46\|54\|66\|74\)' asm/ioctls.h asm-generic/ioctls.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 56 linux/vt.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" '7[12]' linux/videotext.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 89 asm/sockios.h asm-generic/sockios.h linux/sockios.h
-	"$mydir"/ioctls_hex.sh "$inc_dir" 8B linux/wireless.h
-} > ioctls_hex.h
-msg "generated $(grep -c '^{' ioctls_hex.h) hex ioctls from $inc_dir"
-
-# Fetch ioctl commands defined in symbolic form.
-INCLUDES="$INCLUDES_arch ${INCLUDES-}" \
-	"$mydir"/ioctls_sym.sh "$inc_dir" > ioctls_sym.h
-
-# Move KVM_* constants from ioctls_inc.h to ioctls_arch.h.
-grep -F 'linux/kvm.h' < ioctls_sym.h > ioctls_kvm.h ||:
-grep -Fv 'linux/kvm.h' < ioctls_sym.h > ioctls_unkvm.h
-mv ioctls_unkvm.h ioctls_sym.h
-
-# Part of android ioctl commands are defined elsewhere.
-android_dir="$inc_dir/../drivers/staging/android"
-if [ -d "$android_dir/uapi" ]; then
-	INCLUDES="$INCLUDES_inc $INCLUDES_arch ${INCLUDES-}" \
-	"$mydir"/ioctls_sym.sh "$android_dir" staging/android >> ioctls_sym.h
-fi
-msg "generated $(grep -c '^{' ioctls_sym.h) symbolic ioctls from $inc_dir"
-
-# Output all ioctl definitions fetched from include-directory.
-echo "/* Generated by $me from definitions found in ${inc_dir%%/}/ tree. */" > ioctls_inc.h
-LC_COLLATE=C sort -u ioctls_hex.h ioctls_sym.h >> ioctls_inc.h
-msg "generated $(grep -c '^{' ioctls_inc.h) ioctls from $inc_dir"
-
-[ -n "$arch_dir" ] || exit 0
-
-# Fetch ioctl commands defined in hex form.
-{
-	"$mydir"/ioctls_hex.sh "$arch_dir" 54 asm/ioctls.h
-	"$mydir"/ioctls_hex.sh "$arch_dir" '\(46\|54\|66\|74\)' asm/ioctls.h
-	"$mydir"/ioctls_hex.sh "$arch_dir" 89 asm/sockios.h
-} > ioctls_hex.h
-msg "generated $(grep -c '^{' ioctls_hex.h) hex ioctls from $arch_dir"
-
-# Fetch ioctl commands defined in symbolic form.
-INCLUDES="$INCLUDES_inc ${INCLUDES-}" \
-	"$mydir"/ioctls_sym.sh "$arch_dir" > ioctls_sym.h
-msg "generated $(grep -c '^{' ioctls_sym.h) symbolic ioctls from $arch_dir"
-
-# Output all ioctl definitions fetched from arch-include-directory.
-echo "/* Generated by $me from definitions found in ${arch_dir%%/}/ tree. */" > ioctls_arch.h
-LC_COLLATE=C sort -u ioctls_hex.h ioctls_kvm.h ioctls_sym.h >> ioctls_arch.h
-msg "generated $(grep -c '^{' ioctls_arch.h) ioctls from $arch_dir"
diff --git a/maint/ioctls_hex.sh b/maint/ioctls_hex.sh
deleted file mode 100755
index a798733..0000000
--- a/maint/ioctls_hex.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2001 Wichert Akkerman <wichert@cistron.nl>
-# Copyright (c) 2004-2015 Dmitry V. Levin <ldv@altlinux.org>
-# 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.
-
-set -efu
-
-me="${0##*/}"
-
-[ $# -ge 2 ] || {
-	echo >&2 "usage: $me include-directory type [files...]"
-	exit 1
-}
-
-dir="$1"; shift # dir must exist
-type="$1"; shift # type might be a regexp
-
-cd "$dir"
-
-regexp='[[:space:]]*#[[:space:]]*define[[:space:]]\+\([A-Z][A-Z0-9_]*\)[[:space:]]\+\(0x'"$type"'..\)\>'
-
-for f; do
-	grep "^$regexp" "$f" "uapi/$f" 2>/dev/null ||:;
-done |
-	sed 's|^uapi/||' |
-	sed -n 's/^\([^:]*\):'"$regexp"'.*/{ "\1", "\2", 0, \3, 0 },/p' |
-	LC_COLLATE=C sort -u
diff --git a/maint/ioctls_sym.sh b/maint/ioctls_sym.sh
deleted file mode 100755
index 14d53c6..0000000
--- a/maint/ioctls_sym.sh
+++ /dev/null
@@ -1,435 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
-# 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.
-
-set -efu
-
-# This script processes header files containing ioctl command definitions in
-# symbolic form, assuming that these definitions match the following regular
-# expressions:
-
-r_define='^[[:space:]]*#[[:space:]]*define[[:space:]]\+'
-r_cmd_name='[A-Z][A-Z0-9_]*'
-r_io='\([A-Z]\+\)\?_S\?\(IO\|IOW\|IOR\|IOWR\|IOC\)'
-r_value='[[:space:]]\+'"$r_io"'[[:space:]]*([^)]'
-regexp="${r_define}${r_cmd_name}${r_value}"
-
-uname_m="$(uname -m)"
-me="${0##*/}"
-msg()
-{
-	printf >&2 '%s\n' "$me: $*"
-}
-
-prefix=
-case $# in
-	1)	inc_dir="$1"; shift
-		;;
-	2)	inc_dir="$1"; shift
-		prefix="$1"; shift
-		;;
-	*)	echo >&2 "usage: $me include-directory [prefix]"
-		exit 1
-		;;
-esac
-
-[ -z "$prefix" ] ||
-	prefix="${prefix%%/}/"
-
-tmpdir=
-cleanup()
-{
-	trap - EXIT
-	[ -z "$tmpdir" ] ||
-		rm -rf -- "$tmpdir"
-	exit "$@"
-}
-
-trap 'cleanup $?' EXIT
-trap 'cleanup 1' HUP PIPE INT QUIT TERM
-tmpdir="$(mktemp -dt "$me.XXXXXX")"
-
-# list interesting files in $inc_dir.
-cd "$inc_dir"
-inc_dir="$(pwd -P)"
-find . -type f -name '*.h' -print0 |
-	xargs -r0 grep -l "$r_value" -- > "$tmpdir"/headers1.list ||
-		exit 0
-cd - > /dev/null
-sed 's|^\./\(uapi/\)\?||' < "$tmpdir"/headers1.list > "$tmpdir"/headers.list
-LC_COLLATE=C sort -u -o "$tmpdir"/headers.list "$tmpdir"/headers.list
-
-msg "processing $(wc -l < "$tmpdir"/headers.list) header files from $inc_dir"
-failed=0
-
-CC="${CC:-gcc}"
-CPP="${CPP:-cpp}"
-CPPFLAGS="${CPPFLAGS-} -D__EXPORTED_HEADERS__"
-CFLAGS="${CFLAGS:--Wall -O2} -D__EXPORTED_HEADERS__"
-LDFLAGS="${LDFLAGS-}"
-INCLUDES="-I$inc_dir/uapi -I$inc_dir ${INCLUDES-}"
-
-$CC $INCLUDES $CFLAGS -c -o "$tmpdir"/print_ioctlent.o "${0%/*}"/print_ioctlent.c
-
-# Hook onto <asm-generic/ioctl.h> and <asm/ioctl.h>
-for d in asm-generic asm; do
-	mkdir "$tmpdir/$d"
-	cat > "$tmpdir/$d"/ioctl.h <<__EOF__
-#include_next <$d/ioctl.h>
-#undef _IOC
-#define _IOC(dir,type,nr,size) dir, type, nr, size
-__EOF__
-done
-
-INCLUDES="-I$tmpdir $INCLUDES"
-
-process_file()
-{
-	local f="$1"; shift
-
-	# Common code for every processed file.
-	cat > "$tmpdir"/printents.c <<__EOF__
-#include <asm/termbits.h>
-#include <asm/ioctl.h>
-#include <linux/types.h>
-#include <linux/limits.h>
-#include <linux/major.h>
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <stdint.h>
-#include <stdbool.h>
-
-#ifndef NULL
-# define NULL ((void*)0)
-#endif
-#ifndef __user
-# define __user
-#endif
-#ifndef __iomem
-# define __iomem
-#endif
-#ifndef __noreturn
-# define __noreturn __attribute__((noreturn))
-#endif
-#ifndef __packed
-# define __packed __attribute__((packed))
-#endif
-
-typedef signed char s8;
-typedef unsigned char u8;
-typedef signed short s16;
-typedef unsigned short u16;
-typedef signed int s32;
-typedef unsigned int u32;
-typedef signed long long s64;
-typedef unsigned long long u64;
-
-#include "fixes.h"
-
-#include <asm/bitsperlong.h>
-#ifndef BITS_PER_LONG
-# define BITS_PER_LONG __BITS_PER_LONG
-#endif
-
-#include "$f"
-
-void print_ioctlent(const char *, const char *, unsigned short, unsigned short, unsigned short, unsigned short);
-
-int main(void)
-{
-
-#include "defs.h"
-
-return 0;
-}
-__EOF__
-
-	# Soft pre-include workarounds for some processed files.  Fragile.
-	case "$f" in
-		*asm/amigayle.h)
-			return 0 # false positive
-			;;
-		*asm/cmb.h)
-			echo '#include <asm/dasd.h>'
-			;;
-		*asm/core_*.h)
-			return 0 # false positives
-			;;
-		*asm/ioctls.h)
-			cat <<'__EOF__'
-#include <asm/termios.h>
-#include <linux/serial.h>
-__EOF__
-			;;
-		drm/sis_drm.h)
-			echo '#include <drm/drm.h>'
-			;;
-		*drm/*_drm.h)
-			echo '#include <drm/drm.h>' > "$tmpdir/drm.h"
-			;;
-		fbio.h|*/fbio.h)
-			cat <<'__EOF__'
-#include <linux/fb.h>
-#undef FBIOGETCMAP
-#undef FBIOPUTCMAP
-__EOF__
-			;;
-		*linux/atm_zatm.h)
-			cat <<'__EOF__'
-#include <linux/atm.h>
-#ifndef _LINUX_TIME_H
-# define _LINUX_TIME_H
-#endif
-#ifndef _UAPI_LINUX_TIME_H
-# define _UAPI_LINUX_TIME_H
-#endif
-__EOF__
-			;;
-		*linux/atm?*.h)
-			echo '#include <linux/atm.h>'
-			;;
-		*linux/auto_fs*.h)
-			echo 'typedef u32 compat_ulong_t;'
-			;;
-		*linux/coda.h|*android_alarm.h)
-			cat <<'__EOF__'
-#ifndef _LINUX_TIME_H
-# define _LINUX_TIME_H
-#endif
-#ifndef _UAPI_LINUX_TIME_H
-# define _UAPI_LINUX_TIME_H
-#endif
-__EOF__
-			;;
-		*linux/fs.h|*linux/ncp_fs.h)
-			cat <<'__EOF__'
-#include <linux/blktrace_api.h>
-#include <linux/fiemap.h>
-__EOF__
-			;;
-		*linux/if_pppox.h)
-			echo '#include <netinet/in.h>'
-			;;
-		*linux/if_tun.h|*linux/ppp-ioctl.h)
-			echo '#include <linux/filter.h>'
-			;;
-		*linux/isdn_ppp.h|*linux/gsmmux.h)
-			echo '#include <linux/if.h>'
-			;;
-		*media*/saa6588.h)
-			echo 'typedef struct poll_table_struct poll_table;'
-			;;
-		*linux/ivtvfb.h|*linux/meye.h|*media/*.h)
-			echo '#include <linux/videodev2.h>'
-			;;
-		*linux/kvm.h)
-			case "$uname_m" in
-				i?86|x86_64|arm*|ppc*|s390*) ;;
-				*) return 0 ;; # not applicable
-			esac
-			;;
-		*linux/sonet.h)
-			echo '#include <linux/atmioc.h>'
-			;;
-		*linux/usbdevice_fs.h)
-			cat <<'__EOF__'
-struct usbdevfs_ctrltransfer32 { __u32 unused[4]; };
-struct usbdevfs_bulktransfer32 { __u32 unused[4]; };
-struct usbdevfs_disconnectsignal32 { __u32 unused[2]; };
-struct usbdevfs_urb32 { __u8 unused[42]; };
-struct usbdevfs_ioctl32 { __u32 unused[3]; };
-__EOF__
-			;;
-		logger.h|*/logger.h)
-			echo 'typedef __u32 kuid_t;'
-			;;
-		*sound/asequencer.h)
-			cat <<'__EOF__'
-#include <sound/asound.h>
-struct snd_seq_queue_owner { __u32 unused[0]; };
-__EOF__
-			;;
-		*sound/emu10k1.h)
-			cat <<'__EOF__'
-#include <sound/asound.h>
-#ifndef DECLARE_BITMAP
-# define DIV_ROUND_UP(x,y) (((x) + ((y) - 1)) / (y))
-# define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, 8 * sizeof(long))
-# define DECLARE_BITMAP(name,bits) unsigned long name[BITS_TO_LONGS(bits)]
-#endif
-__EOF__
-			;;
-		*video/sstfb.h)
-			echo 'struct fb_info;'
-			;;
-		*xen/evtchn.h|*xen/gntdev.h)
-			cat <<'__EOF__'
-typedef uint32_t grant_ref_t;
-typedef uint16_t domid_t;
-__EOF__
-			;;
-		*xen/interface/*.h)
-			return 0 # false positives
-			;;
-		*xen/privcmd.h)
-			return 0 # too much work to make it compileable
-			;;
-	esac > "$tmpdir"/fixes.h
-
-	cat > "$tmpdir"/header.in <<__EOF__
-#include <asm/bitsperlong.h>
-#ifndef BITS_PER_LONG
-# define BITS_PER_LONG __BITS_PER_LONG
-#endif
-#include "$f"
-__EOF__
-
-	if [ -f "$inc_dir/uapi/$f" ]; then
-		s="$inc_dir/uapi/$f"
-	elif [ -f "$inc_dir/$f" ]; then
-		s="$inc_dir/$f"
-	else
-		msg "$f: file not found"
-		return 1
-	fi
-
-	[ -n "${f##*/*}" ] ||
-		mkdir -p "$tmpdir/${f%/*}"
-	# Hard workarounds for some processed files.  Very fragile.
-	case "$f" in
-		*asm-generic/ioctls.h)
-			# Filter out macros defined using unavailable types.
-			case "$uname_m" in
-				alpha*|ppc*)
-					grep -Fv 'struct termios2' < "$s" > "$tmpdir/$f"
-					;;
-			esac
-			;;
-		*acpi/*|*linux/i2o.h|*media*/exynos-fimc.h|*media/v4l2-subdev.h|*net/bluetooth/*|net/nfc/nci_core.h)
-			# Fetch macros only.
-			grep "${r_define}${r_cmd_name}" < "$s" > "$tmpdir/$f"
-			;;
-		binder.h|*/binder.h)
-			# Convert enums to macros.
-			sed '/^enum binder/,/^};/d' < "$s" > "$tmpdir/$f"
-			sed -n '/^enum binder/,/^};/ s/^[[:space:]].*/&/p' < "$s" |
-			sed -e '
-s/^[[:space:]]*\([A-Z][A-Z_0-9]*\)[[:space:]]*=[[:space:]]*_\(IO\|IOW\|IOR\|IOWR\|IOC\)[[:space:]]*(/#define \1 _\2(/
-s/^\(#define .*)\),$/\1/
-s/^\(#define .*,\)$/\1 \\/
-s/^\([[:space:]]\+[^),]\+)\),$/\1/' >> "$tmpdir/$f"
-			;;
-		*drm/r128_drm.h)
-			# Filter out the code that references unknown types.
-			sed '/drm_r128_clear2_t/d' < "$s" > "$tmpdir/$f"
-			;;
-		*drm/sis_drm.h)
-			# Filter out the code that references unknown types.
-			sed '/^struct sis_file_private/,/^}/d' < "$s" > "$tmpdir/$f"
-			;;
-		*drm/via_drm.h)
-			# Create the file it attempts to include.
-			touch "$tmpdir/via_drmclient.h"
-			# Filter out the code that references unknown types.
-			sed '/^struct via_file_private/,/^}/d' < "$s" > "$tmpdir/$f"
-			;;
-		*linux/nilfs2_fs.h)
-			# Create the file it attempts to include.
-			touch "$tmpdir/asm/bug.h"
-			;;
-		*linux/vmw_vmci_defs.h)
-			# Fetch ioctl macros only.
-			grep "${r_define}I" < "$s" > "$tmpdir/$f"
-			;;
-		*media/v4l2-common.h)
-			# Fetch one piece of code containing ioctls definitions.
-			sed -n '/ remaining ioctls/,/ ---/p' < "$s" > "$tmpdir/$f"
-			;;
-		openpromio.h|*/openpromio.h|fbio.h|*/fbio.h)
-			# Create the file it attempts to include.
-			mkdir -p "$tmpdir/linux"
-			touch "$tmpdir/linux/compiler.h"
-	esac
-	if [ -f "$tmpdir/$f" ]; then
-		s="$tmpdir/$f"
-	fi
-
-	# This may fail if the file includes unavailable headers.
-	# In case of success it outputs both the #define directives
-	# and the result of preprocessing.
-	$CPP $CPPFLAGS -dD $INCLUDES < "$tmpdir"/header.in > "$tmpdir"/header.out
-
-	# Soft post-preprocess workarounds.  Fragile.
-	case "$f" in
-		*linux/kvm.h)
-			arm_list='KVM_ARM_PREFERRED_TARGET|KVM_ARM_VCPU_INIT'
-			ppc_list='KVM_ALLOCATE_RMA|KVM_CREATE_SPAPR_TCE|KVM_CREATE_SPAPR_TCE_64|KVM_PPC_GET_HTAB_FD|KVM_PPC_RTAS_DEFINE_TOKEN'
-			x86_list='KVM_GET_CPUID2|KVM_GET_DEBUGREGS|KVM_GET_EMULATED_CPUID|KVM_GET_LAPIC|KVM_GET_MSRS|KVM_GET_MSR_INDEX_LIST|KVM_GET_PIT|KVM_GET_PIT2|KVM_GET_SUPPORTED_CPUID|KVM_GET_VCPU_EVENTS|KVM_GET_XCRS|KVM_GET_XSAVE|KVM_SET_CPUID|KVM_SET_CPUID2|KVM_SET_DEBUGREGS|KVM_SET_LAPIC|KVM_SET_MEMORY_ALIAS|KVM_SET_MSRS|KVM_SET_PIT|KVM_SET_PIT2|KVM_SET_VCPU_EVENTS|KVM_SET_XCRS|KVM_SET_XSAVE|KVM_X86_SET_MCE|KVM_XEN_HVM_CONFIG'
-			case "$uname_m" in
-				arm*) list="$ppc_list|$x86_list" ;;
-				ppc*) list="$arm_list|$x86_list" ;;
-				i?86|x86_64*) list="$arm_list|$ppc_list" ;;
-				*) list="$arm_list|$ppc_list|$x86_list" ;;
-			esac
-			sed -r -i "/[[:space:]]($list)[[:space:]]/d" "$tmpdir"/header.out
-			;;
-	esac
-
-	# Need to exclude ioctl commands defined elsewhere.
-	local_defines='^[[:space:]]*#[[:space:]]*define[[:space:]]\+\('"$r_cmd_name"'\)[[:space:]]'
-	sed -n 's/'"$local_defines"'.*/\1\\/p' "$s" > "$tmpdir"/local_names
-	r_local_names="$(tr '\n' '|' < "$tmpdir"/local_names)"
-	r_local_names="${r_local_names%%|}"
-	r_local_names="${r_local_names%%\\}"
-
-	# Keep this in sync with $regexp by replacing $r_cmd_name with $r_local_names.
-	defs_regexp="${r_define}\($r_local_names\)${r_value}"
-
-	qf="$(echo "$prefix$f" | sed 's/[&\/]/\\&/g')"
-	# This outputs lines in the following format:
-	# print_ioctlent("filename.h", "IOCTL_CMD_NAME", IOCTL_CMD_NAME);
-	sed -n 's/'"$defs_regexp"'.*/print_ioctlent("'"$qf"'", "\1", \1);/p' \
-		< "$tmpdir"/header.out > "$tmpdir"/defs.h
-
-	# If something is wrong with the file, this will fail.
-	$CC $INCLUDES $CFLAGS -c -o "$tmpdir"/printents.o "$tmpdir"/printents.c
-	$CC $LDFLAGS -o "$tmpdir"/print_ioctlents \
-		"$tmpdir"/printents.o "$tmpdir"/print_ioctlent.o
-	"$tmpdir"/print_ioctlents > "$tmpdir"/ioctlents
-	cat "$tmpdir"/ioctlents
-	msg "$f: fetched $(grep -c '^{' "$tmpdir"/ioctlents) ioctl entries"
-}
-
-while read f; do
-	(process_file "$f" < /dev/null)
-	[ $? -eq 0 ] || {
-		msg "$f: failed to process"
-		failed=$((1 + $failed))
-	}
-done < "$tmpdir"/headers.list
-
-[ $failed -eq 0 ] ||
-	msg "failed to process $failed file(s)"
diff --git a/maint/print_ioctlent.c b/maint/print_ioctlent.c
deleted file mode 100644
index d15aa35..0000000
--- a/maint/print_ioctlent.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
- * 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 <stdio.h>
-#include <asm/ioctl.h>
-
-typedef unsigned short u16;
-
-static const char *
-dir2str(const char *name, u16 dir)
-{
-	switch (dir) {
-#define CASE(x) case x: return #x
-		CASE(_IOC_NONE);
-		CASE(_IOC_READ);
-		CASE(_IOC_WRITE);
-		CASE(_IOC_READ|_IOC_WRITE);
-	}
-
-	static char buf[3 + sizeof(dir) * 2];
-	fprintf(stderr,
-		"print_ioctlents: WARNING: invalid dir 0x%02x in %s\n",
-		dir, name);
-	snprintf(buf, sizeof(buf), "0x%02x", dir);
-	return buf;
-}
-
-void
-print_ioctlent(const char *info, const char *name,
-	       u16 dir, u16 type, u16 nr, u16 size)
-{
-	unsigned int type_nr =
-		((unsigned) type << _IOC_TYPESHIFT) |
-		((unsigned) nr << _IOC_NRSHIFT);
-
-	if (dir & ~_IOC_DIRMASK)
-		fprintf(stderr,
-			"print_ioctlents: WARNING: dir 0x%02x is out of mask 0x%02x in %s\n",
-			dir, _IOC_DIRMASK, name);
-	if (type & ~_IOC_TYPEMASK)
-		fprintf(stderr,
-			"print_ioctlents: WARNING: type 0x%02x is out of mask 0x%02x in %s\n",
-			type, _IOC_TYPEMASK, name);
-	if (nr & ~_IOC_NRMASK)
-		fprintf(stderr,
-			"print_ioctlents: WARNING: nr 0x%02x is out of mask 0x%02x in %s\n",
-			nr, _IOC_NRMASK, name);
-	if (size & ~_IOC_SIZEMASK)
-		fprintf(stderr,
-			"print_ioctlents: WARNING: size 0x%02x is out of mask 0x%02x in %s\n",
-			size, _IOC_SIZEMASK, name);
-
-	printf("{ \"%s\", \"%s\", %s, 0x%04x, 0x%02x },\n",
-		info, name, dir2str(name, dir), type_nr, size);
-}
diff --git a/mem.c b/mem.c
index 40ed707..fb29ec1 100644
--- a/mem.c
+++ b/mem.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2000 PocketPenguins Inc.  Linux for Hitachi SuperH
  *                    port by Greg Banks <gbanks@pocketpenguins.com>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/membarrier.c b/membarrier.c
index 759b76f..1c064c2 100644
--- a/membarrier.c
+++ b/membarrier.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/memfd_create.c b/memfd_create.c
index 0101f06..1691352 100644
--- a/memfd_create.c
+++ b/memfd_create.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mknod.c b/mknod.c
index 3edcd84..0a4e342 100644
--- a/mknod.c
+++ b/mknod.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2006 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2006 Bernhard Kaindl <bk@suse.de>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mount.c b/mount.c
index 997452c..7df0e68 100644
--- a/mount.c
+++ b/mount.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2007-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/kernel_dirent.c b/mpers-m32/kernel_dirent.c
index 77ca7e6..9ad17aa 100644
--- a/mpers-m32/kernel_dirent.c
+++ b/mpers-m32/kernel_dirent.c
@@ -4,6 +4,7 @@
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/kernel_dirent.d1 b/mpers-m32/kernel_dirent.d1
deleted file mode 100644
index d8b207d..0000000
--- a/mpers-m32/kernel_dirent.d1
+++ /dev/null
@@ -1,207 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1a8 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xa2): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x183): mpers-m32/kernel_dirent.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0xea): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1b5): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x179): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x165): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x64): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x6): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x121): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x44): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1ac): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x72): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x15c): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x13c): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_array_type)
-    <7d>   DW_AT_type        : <0x6a>	
-    <81>   DW_AT_sibling     : <0x8c>	
- <2><85>: Abbrev Number: 7 (DW_TAG_subrange_type)
-    <86>   DW_AT_type        : <0x63>	
-    <8a>   DW_AT_upper_bound : 0	
- <2><8b>: Abbrev Number: 0
- <1><8c>: Abbrev Number: 8 (DW_TAG_typedef)
-    <8d>   DW_AT_name        : (indirect string, offset: 0x141): __kernel_ulong_t	
-    <91>   DW_AT_decl_file   : 1	
-    <92>   DW_AT_decl_line   : 15	
-    <93>   DW_AT_type        : <0x5c>	
- <1><97>: Abbrev Number: 8 (DW_TAG_typedef)
-    <98>   DW_AT_name        : (indirect string, offset: 0x19d): kernel_ulong_t	
-    <9c>   DW_AT_decl_file   : 2	
-    <9d>   DW_AT_decl_line   : 36	
-    <9e>   DW_AT_type        : <0x8c>	
- <1><a2>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a3>   DW_AT_byte_size   : 12	
-    <a4>   DW_AT_decl_file   : 2	
-    <a5>   DW_AT_decl_line   : 50	
-    <a6>   DW_AT_sibling     : <0xe3>	
- <2><aa>: Abbrev Number: 10 (DW_TAG_member)
-    <ab>   DW_AT_name        : (indirect string, offset: 0x173): d_ino	
-    <af>   DW_AT_decl_file   : 2	
-    <b0>   DW_AT_decl_line   : 51	
-    <b1>   DW_AT_type        : <0x97>	
-    <b5>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b8>: Abbrev Number: 10 (DW_TAG_member)
-    <b9>   DW_AT_name        : (indirect string, offset: 0x11b): d_off	
-    <bd>   DW_AT_decl_file   : 2	
-    <be>   DW_AT_decl_line   : 52	
-    <bf>   DW_AT_type        : <0x97>	
-    <c3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c6>: Abbrev Number: 10 (DW_TAG_member)
-    <c7>   DW_AT_name        : (indirect string, offset: 0x5b): d_reclen	
-    <cb>   DW_AT_decl_file   : 2	
-    <cc>   DW_AT_decl_line   : 53	
-    <cd>   DW_AT_type        : <0x40>	
-    <d1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d4>: Abbrev Number: 10 (DW_TAG_member)
-    <d5>   DW_AT_name        : (indirect string, offset: 0x22): d_name	
-    <d9>   DW_AT_decl_file   : 2	
-    <da>   DW_AT_decl_line   : 54	
-    <db>   DW_AT_type        : <0x7c>	
-    <df>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><e2>: Abbrev Number: 0
- <1><e3>: Abbrev Number: 8 (DW_TAG_typedef)
-    <e4>   DW_AT_name        : (indirect string, offset: 0x1c1): kernel_dirent	
-    <e8>   DW_AT_decl_file   : 2	
-    <e9>   DW_AT_decl_line   : 55	
-    <ea>   DW_AT_type        : <0xa2>	
- <1><ee>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <ef>   DW_AT_name        : (indirect string, offset: 0x84): sysent	
-    <f3>   DW_AT_byte_size   : 20	
-    <f4>   DW_AT_decl_file   : 3	
-    <f5>   DW_AT_decl_line   : 4	
-    <f6>   DW_AT_sibling     : <0x141>	
- <2><fa>: Abbrev Number: 10 (DW_TAG_member)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x9c): nargs	
-    <ff>   DW_AT_decl_file   : 3	
-    <100>   DW_AT_decl_line   : 5	
-    <101>   DW_AT_type        : <0x47>	
-    <105>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><108>: Abbrev Number: 10 (DW_TAG_member)
-    <109>   DW_AT_name        : (indirect string, offset: 0x3a): sys_flags	
-    <10d>   DW_AT_decl_file   : 3	
-    <10e>   DW_AT_decl_line   : 6	
-    <10f>   DW_AT_type        : <0x2b>	
-    <113>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><116>: Abbrev Number: 12 (DW_TAG_member)
-    <117>   DW_AT_name        : sen	
-    <11b>   DW_AT_decl_file   : 3	
-    <11c>   DW_AT_decl_line   : 7	
-    <11d>   DW_AT_type        : <0x2b>	
-    <121>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><124>: Abbrev Number: 10 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x1cf): sys_func	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 8	
-    <12b>   DW_AT_type        : <0x14c>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><132>: Abbrev Number: 10 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x19): sys_name	
-    <137>   DW_AT_decl_file   : 3	
-    <138>   DW_AT_decl_line   : 9	
-    <139>   DW_AT_type        : <0x71>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><140>: Abbrev Number: 0
- <1><141>: Abbrev Number: 13 (DW_TAG_subroutine_type)
-    <142>   DW_AT_type        : <0x2b>	
-    <146>   DW_AT_sibling     : <0x14c>	
- <2><14a>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
- <2><14b>: Abbrev Number: 0
- <1><14c>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <14d>   DW_AT_byte_size   : 4	
-    <14e>   DW_AT_type        : <0x141>	
- <1><152>: Abbrev Number: 8 (DW_TAG_typedef)
-    <153>   DW_AT_name        : (indirect string, offset: 0x12e): struct_sysent	
-    <157>   DW_AT_decl_file   : 3	
-    <158>   DW_AT_decl_line   : 10	
-    <159>   DW_AT_type        : <0xee>	
- <1><15d>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <15e>   DW_AT_byte_size   : 4	
-    <15f>   DW_AT_type        : <0x163>	
- <1><163>: Abbrev Number: 5 (DW_TAG_const_type)
-    <164>   DW_AT_type        : <0x152>	
- <1><168>: Abbrev Number: 2 (DW_TAG_base_type)
-    <169>   DW_AT_byte_size   : 1	
-    <16a>   DW_AT_encoding    : 2	(boolean)
-    <16b>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><16f>: Abbrev Number: 15 (DW_TAG_variable)
-    <170>   DW_AT_name        : (indirect string, offset: 0x8b): current_wordsize	
-    <174>   DW_AT_decl_file   : 4	
-    <175>   DW_AT_decl_line   : 757	
-    <177>   DW_AT_type        : <0x47>	
-    <17b>   DW_AT_external    : 1	
-    <17c>   DW_AT_declaration : 1	
- <1><17d>: Abbrev Number: 15 (DW_TAG_variable)
-    <17e>   DW_AT_name        : (indirect string, offset: 0x84): sysent	
-    <182>   DW_AT_decl_file   : 4	
-    <183>   DW_AT_decl_line   : 892	
-    <185>   DW_AT_type        : <0x15d>	
-    <189>   DW_AT_external    : 1	
-    <18a>   DW_AT_declaration : 1	
- <1><18b>: Abbrev Number: 15 (DW_TAG_variable)
-    <18c>   DW_AT_name        : (indirect string, offset: 0x152): nsyscalls	
-    <190>   DW_AT_decl_file   : 4	
-    <191>   DW_AT_decl_line   : 903	
-    <193>   DW_AT_type        : <0x47>	
-    <197>   DW_AT_external    : 1	
-    <198>   DW_AT_declaration : 1	
- <1><199>: Abbrev Number: 16 (DW_TAG_variable)
-    <19a>   DW_AT_name        : (indirect string, offset: 0x29): mpers_target_var	
-    <19e>   DW_AT_decl_file   : 5	
-    <19f>   DW_AT_decl_line   : 35	
-    <1a0>   DW_AT_type        : <0xe3>	
-    <1a4>   DW_AT_external    : 1	
-    <1a5>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><1ab>: Abbrev Number: 0
-
diff --git a/mpers-m32/kernel_dirent.d2 b/mpers-m32/kernel_dirent.d2
deleted file mode 100644
index 2e4efc9..0000000
--- a/mpers-m32/kernel_dirent.d2
+++ /dev/null
@@ -1,229 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b5): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x179): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x165): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x64): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x121): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x44): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ac): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x72): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x15c): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x13c): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x8c>
-<2><85>
-Abbrev Number: 7 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 0
-<1><8c>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x141): __kernel_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 15
-DW_AT_type        : <0x5c>
-<1><97>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x19d): kernel_ulong_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x8c>
-<1><a2>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 50
-DW_AT_sibling     : <0xe3>
-<2><aa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x173): d_ino
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b8>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11b): d_off
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5b): d_reclen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d4>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22): d_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<1><e3>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c1): kernel_dirent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 55
-DW_AT_type        : <0xa2>
-<1><ee>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x84): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x141>
-<2><fa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9c): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><108>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><116>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><124>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cf): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x14c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><132>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><141>
-Abbrev Number: 13 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x14c>
-<2><14a>
-Abbrev Number: 14 (DW_TAG_unspecified_parameters)
-<1><14c>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x141>
-<1><152>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x12e): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xee>
-<1><15d>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x163>
-<1><163>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x152>
-<1><168>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><16f>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x8b): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17d>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x84): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x15d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18b>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x152): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><199>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x29): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xe3>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/mq_attr_t.c b/mpers-m32/mq_attr_t.c
index 2c31495..9f0ec7a 100644
--- a/mpers-m32/mq_attr_t.c
+++ b/mpers-m32/mq_attr_t.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/mq_attr_t.d1 b/mpers-m32/mq_attr_t.d1
deleted file mode 100644
index f225e6c..0000000
--- a/mpers-m32/mq_attr_t.d1
+++ /dev/null
@@ -1,209 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1af (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xb8): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x13c): mpers-m32/mq_attr_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x191): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x185): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x168): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x152): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x7a): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x27): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x100): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x63): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x172): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x88): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x133): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0x1cb): __syscall_slong_t	
-    <6f>   DW_AT_decl_file   : 2	
-    <70>   DW_AT_decl_line   : 175	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 2 (DW_TAG_base_type)
-    <76>   DW_AT_byte_size   : 1	
-    <77>   DW_AT_encoding    : 6	(signed char)
-    <78>   DW_AT_name        : (indirect string, offset: 0x11b): char	
- <1><7c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <7d>   DW_AT_byte_size   : 4	
-    <7e>   DW_AT_type        : <0x82>	
- <1><82>: Abbrev Number: 6 (DW_TAG_const_type)
-    <83>   DW_AT_type        : <0x75>	
- <1><87>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <88>   DW_AT_name        : (indirect string, offset: 0x9a): sysent	
-    <8c>   DW_AT_byte_size   : 20	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 4	
-    <8f>   DW_AT_sibling     : <0xda>	
- <2><93>: Abbrev Number: 8 (DW_TAG_member)
-    <94>   DW_AT_name        : (indirect string, offset: 0xb2): nargs	
-    <98>   DW_AT_decl_file   : 1	
-    <99>   DW_AT_decl_line   : 5	
-    <9a>   DW_AT_type        : <0x47>	
-    <9e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a1>: Abbrev Number: 8 (DW_TAG_member)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x59): sys_flags	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 6	
-    <a8>   DW_AT_type        : <0x2b>	
-    <ac>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><af>: Abbrev Number: 9 (DW_TAG_member)
-    <b0>   DW_AT_name        : sen	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 7	
-    <b6>   DW_AT_type        : <0x2b>	
-    <ba>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><bd>: Abbrev Number: 8 (DW_TAG_member)
-    <be>   DW_AT_name        : (indirect string, offset: 0x1c2): sys_func	
-    <c2>   DW_AT_decl_file   : 1	
-    <c3>   DW_AT_decl_line   : 8	
-    <c4>   DW_AT_type        : <0xe5>	
-    <c8>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><cb>: Abbrev Number: 8 (DW_TAG_member)
-    <cc>   DW_AT_name        : (indirect string, offset: 0x45): sys_name	
-    <d0>   DW_AT_decl_file   : 1	
-    <d1>   DW_AT_decl_line   : 9	
-    <d2>   DW_AT_type        : <0x7c>	
-    <d6>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <db>   DW_AT_type        : <0x2b>	
-    <df>   DW_AT_sibling     : <0xe5>	
- <2><e3>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <e6>   DW_AT_byte_size   : 4	
-    <e7>   DW_AT_type        : <0xda>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_typedef)
-    <ec>   DW_AT_name        : (indirect string, offset: 0x10d): struct_sysent	
-    <f0>   DW_AT_decl_file   : 1	
-    <f1>   DW_AT_decl_line   : 10	
-    <f2>   DW_AT_type        : <0x87>	
- <1><f6>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f7>   DW_AT_byte_size   : 4	
-    <f8>   DW_AT_type        : <0xfc>	
- <1><fc>: Abbrev Number: 6 (DW_TAG_const_type)
-    <fd>   DW_AT_type        : <0xeb>	
- <1><101>: Abbrev Number: 2 (DW_TAG_base_type)
-    <102>   DW_AT_byte_size   : 1	
-    <103>   DW_AT_encoding    : 2	(boolean)
-    <104>   DW_AT_name        : (indirect string, offset: 0x17): _Bool	
- <1><108>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <109>   DW_AT_name        : (indirect string, offset: 0x160): mq_attr	
-    <10d>   DW_AT_byte_size   : 32	
-    <10e>   DW_AT_decl_file   : 3	
-    <10f>   DW_AT_decl_line   : 26	
-    <110>   DW_AT_sibling     : <0x15b>	
- <2><114>: Abbrev Number: 8 (DW_TAG_member)
-    <115>   DW_AT_name        : (indirect string, offset: 0x120): mq_flags	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 28	
-    <11b>   DW_AT_type        : <0x6a>	
-    <11f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><122>: Abbrev Number: 8 (DW_TAG_member)
-    <123>   DW_AT_name        : (indirect string, offset: 0x17b): mq_maxmsg	
-    <127>   DW_AT_decl_file   : 3	
-    <128>   DW_AT_decl_line   : 29	
-    <129>   DW_AT_type        : <0x6a>	
-    <12d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><130>: Abbrev Number: 8 (DW_TAG_member)
-    <131>   DW_AT_name        : (indirect string, offset: 0x3a): mq_msgsize	
-    <135>   DW_AT_decl_file   : 3	
-    <136>   DW_AT_decl_line   : 30	
-    <137>   DW_AT_type        : <0x6a>	
-    <13b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13e>: Abbrev Number: 8 (DW_TAG_member)
-    <13f>   DW_AT_name        : (indirect string, offset: 0x4e): mq_curmsgs	
-    <143>   DW_AT_decl_file   : 3	
-    <144>   DW_AT_decl_line   : 31	
-    <145>   DW_AT_type        : <0x6a>	
-    <149>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><14c>: Abbrev Number: 8 (DW_TAG_member)
-    <14d>   DW_AT_name        : (indirect string, offset: 0x0): __pad	
-    <151>   DW_AT_decl_file   : 3	
-    <152>   DW_AT_decl_line   : 32	
-    <153>   DW_AT_type        : <0x15b>	
-    <157>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><15a>: Abbrev Number: 0
- <1><15b>: Abbrev Number: 12 (DW_TAG_array_type)
-    <15c>   DW_AT_type        : <0x6a>	
-    <160>   DW_AT_sibling     : <0x16b>	
- <2><164>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <165>   DW_AT_type        : <0x63>	
-    <169>   DW_AT_upper_bound : 3	
- <2><16a>: Abbrev Number: 0
- <1><16b>: Abbrev Number: 4 (DW_TAG_typedef)
-    <16c>   DW_AT_name        : (indirect string, offset: 0x1d): mq_attr_t	
-    <170>   DW_AT_decl_file   : 4	
-    <171>   DW_AT_decl_line   : 34	
-    <172>   DW_AT_type        : <0x108>	
- <1><176>: Abbrev Number: 14 (DW_TAG_variable)
-    <177>   DW_AT_name        : (indirect string, offset: 0xa1): current_wordsize	
-    <17b>   DW_AT_decl_file   : 5	
-    <17c>   DW_AT_decl_line   : 757	
-    <17e>   DW_AT_type        : <0x47>	
-    <182>   DW_AT_external    : 1	
-    <183>   DW_AT_declaration : 1	
- <1><184>: Abbrev Number: 14 (DW_TAG_variable)
-    <185>   DW_AT_name        : (indirect string, offset: 0x9a): sysent	
-    <189>   DW_AT_decl_file   : 5	
-    <18a>   DW_AT_decl_line   : 892	
-    <18c>   DW_AT_type        : <0xf6>	
-    <190>   DW_AT_external    : 1	
-    <191>   DW_AT_declaration : 1	
- <1><192>: Abbrev Number: 14 (DW_TAG_variable)
-    <193>   DW_AT_name        : (indirect string, offset: 0x129): nsyscalls	
-    <197>   DW_AT_decl_file   : 5	
-    <198>   DW_AT_decl_line   : 903	
-    <19a>   DW_AT_type        : <0x47>	
-    <19e>   DW_AT_external    : 1	
-    <19f>   DW_AT_declaration : 1	
- <1><1a0>: Abbrev Number: 15 (DW_TAG_variable)
-    <1a1>   DW_AT_name        : (indirect string, offset: 0x6): mpers_target_var	
-    <1a5>   DW_AT_decl_file   : 4	
-    <1a6>   DW_AT_decl_line   : 42	
-    <1a7>   DW_AT_type        : <0x16b>	
-    <1ab>   DW_AT_external    : 1	
-    <1ac>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1b2>: Abbrev Number: 0
-
diff --git a/mpers-m32/mq_attr_t.d2 b/mpers-m32/mq_attr_t.d2
deleted file mode 100644
index 8097c3f..0000000
--- a/mpers-m32/mq_attr_t.d2
+++ /dev/null
@@ -1,231 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x185): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x168): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x152): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x7a): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x27): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x100): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x63): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x172): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x88): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x133): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1cb): __syscall_slong_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x11b): char
-<1><7c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x82>
-<1><82>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x75>
-<1><87>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x9a): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xda>
-<2><93>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb2): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x59): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><af>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><bd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c2): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe5>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><cb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x45): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><da>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe5>
-<2><e3>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><e5>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xda>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x10d): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x87>
-<1><f6>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfc>
-<1><fc>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xeb>
-<1><101>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x17): _Bool
-<1><108>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x160): mq_attr
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_sibling     : <0x15b>
-<2><114>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x120): mq_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><122>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17b): mq_maxmsg
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><130>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a): mq_msgsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><13e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4e): mq_curmsgs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><14c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): __pad
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x15b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><15b>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x16b>
-<2><164>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><16b>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d): mq_attr_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x108>
-<1><176>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa1): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><184>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9a): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf6>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><192>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x129): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a0>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x6): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x16b>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/msgbuf_t.c b/mpers-m32/msgbuf_t.c
index 4b0d5a9..a345637 100644
--- a/mpers-m32/msgbuf_t.c
+++ b/mpers-m32/msgbuf_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/msgbuf_t.d1 b/mpers-m32/msgbuf_t.d1
deleted file mode 100644
index 6a3db5f..0000000
--- a/mpers-m32/msgbuf_t.d1
+++ /dev/null
@@ -1,191 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x185 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xb4): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x5b): mpers-m32/msgbuf_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x11c): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x18a): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x177): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x160): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x70): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0xd): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0xfc): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x44): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x181): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x84): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x157): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0x1a5): __syscall_slong_t	
-    <6f>   DW_AT_decl_file   : 2	
-    <70>   DW_AT_decl_line   : 175	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 2 (DW_TAG_base_type)
-    <76>   DW_AT_byte_size   : 1	
-    <77>   DW_AT_encoding    : 6	(signed char)
-    <78>   DW_AT_name        : (indirect string, offset: 0x117): char	
- <1><7c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <7d>   DW_AT_byte_size   : 4	
-    <7e>   DW_AT_type        : <0x82>	
- <1><82>: Abbrev Number: 6 (DW_TAG_const_type)
-    <83>   DW_AT_type        : <0x75>	
- <1><87>: Abbrev Number: 7 (DW_TAG_array_type)
-    <88>   DW_AT_type        : <0x75>	
-    <8c>   DW_AT_sibling     : <0x97>	
- <2><90>: Abbrev Number: 8 (DW_TAG_subrange_type)
-    <91>   DW_AT_type        : <0x63>	
-    <95>   DW_AT_upper_bound : 0	
- <2><96>: Abbrev Number: 0
- <1><97>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <98>   DW_AT_name        : (indirect string, offset: 0x96): sysent	
-    <9c>   DW_AT_byte_size   : 20	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 4	
-    <9f>   DW_AT_sibling     : <0xea>	
- <2><a3>: Abbrev Number: 10 (DW_TAG_member)
-    <a4>   DW_AT_name        : (indirect string, offset: 0xae): nargs	
-    <a8>   DW_AT_decl_file   : 1	
-    <a9>   DW_AT_decl_line   : 5	
-    <aa>   DW_AT_type        : <0x47>	
-    <ae>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b1>: Abbrev Number: 10 (DW_TAG_member)
-    <b2>   DW_AT_name        : (indirect string, offset: 0x3a): sys_flags	
-    <b6>   DW_AT_decl_file   : 1	
-    <b7>   DW_AT_decl_line   : 6	
-    <b8>   DW_AT_type        : <0x2b>	
-    <bc>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><bf>: Abbrev Number: 11 (DW_TAG_member)
-    <c0>   DW_AT_name        : sen	
-    <c4>   DW_AT_decl_file   : 1	
-    <c5>   DW_AT_decl_line   : 7	
-    <c6>   DW_AT_type        : <0x2b>	
-    <ca>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><cd>: Abbrev Number: 10 (DW_TAG_member)
-    <ce>   DW_AT_name        : (indirect string, offset: 0x19c): sys_func	
-    <d2>   DW_AT_decl_file   : 1	
-    <d3>   DW_AT_decl_line   : 8	
-    <d4>   DW_AT_type        : <0xf5>	
-    <d8>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><db>: Abbrev Number: 10 (DW_TAG_member)
-    <dc>   DW_AT_name        : (indirect string, offset: 0x20): sys_name	
-    <e0>   DW_AT_decl_file   : 1	
-    <e1>   DW_AT_decl_line   : 9	
-    <e2>   DW_AT_type        : <0x7c>	
-    <e6>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e9>: Abbrev Number: 0
- <1><ea>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <eb>   DW_AT_type        : <0x2b>	
-    <ef>   DW_AT_sibling     : <0xf5>	
- <2><f3>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><f4>: Abbrev Number: 0
- <1><f5>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f6>   DW_AT_byte_size   : 4	
-    <f7>   DW_AT_type        : <0xea>	
- <1><fb>: Abbrev Number: 4 (DW_TAG_typedef)
-    <fc>   DW_AT_name        : (indirect string, offset: 0x109): struct_sysent	
-    <100>   DW_AT_decl_file   : 1	
-    <101>   DW_AT_decl_line   : 10	
-    <102>   DW_AT_type        : <0x97>	
- <1><106>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <107>   DW_AT_byte_size   : 4	
-    <108>   DW_AT_type        : <0x10c>	
- <1><10c>: Abbrev Number: 6 (DW_TAG_const_type)
-    <10d>   DW_AT_type        : <0xfb>	
- <1><111>: Abbrev Number: 2 (DW_TAG_base_type)
-    <112>   DW_AT_byte_size   : 1	
-    <113>   DW_AT_encoding    : 2	(boolean)
-    <114>   DW_AT_name        : (indirect string, offset: 0x7): _Bool	
- <1><118>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <119>   DW_AT_name        : (indirect string, offset: 0x0): msgbuf	
-    <11d>   DW_AT_byte_size   : 8	
-    <11e>   DW_AT_decl_file   : 3	
-    <11f>   DW_AT_decl_line   : 51	
-    <120>   DW_AT_sibling     : <0x141>	
- <2><124>: Abbrev Number: 10 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x196): mtype	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 53	
-    <12b>   DW_AT_type        : <0x6a>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><132>: Abbrev Number: 10 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x7e): mtext	
-    <137>   DW_AT_decl_file   : 3	
-    <138>   DW_AT_decl_line   : 54	
-    <139>   DW_AT_type        : <0x87>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><140>: Abbrev Number: 0
- <1><141>: Abbrev Number: 4 (DW_TAG_typedef)
-    <142>   DW_AT_name        : (indirect string, offset: 0x16e): msgbuf_t	
-    <146>   DW_AT_decl_file   : 4	
-    <147>   DW_AT_decl_line   : 37	
-    <148>   DW_AT_type        : <0x118>	
- <1><14c>: Abbrev Number: 14 (DW_TAG_variable)
-    <14d>   DW_AT_name        : (indirect string, offset: 0x9d): current_wordsize	
-    <151>   DW_AT_decl_file   : 5	
-    <152>   DW_AT_decl_line   : 757	
-    <154>   DW_AT_type        : <0x47>	
-    <158>   DW_AT_external    : 1	
-    <159>   DW_AT_declaration : 1	
- <1><15a>: Abbrev Number: 14 (DW_TAG_variable)
-    <15b>   DW_AT_name        : (indirect string, offset: 0x96): sysent	
-    <15f>   DW_AT_decl_file   : 5	
-    <160>   DW_AT_decl_line   : 892	
-    <162>   DW_AT_type        : <0x106>	
-    <166>   DW_AT_external    : 1	
-    <167>   DW_AT_declaration : 1	
- <1><168>: Abbrev Number: 14 (DW_TAG_variable)
-    <169>   DW_AT_name        : (indirect string, offset: 0x14d): nsyscalls	
-    <16d>   DW_AT_decl_file   : 5	
-    <16e>   DW_AT_decl_line   : 903	
-    <170>   DW_AT_type        : <0x47>	
-    <174>   DW_AT_external    : 1	
-    <175>   DW_AT_declaration : 1	
- <1><176>: Abbrev Number: 15 (DW_TAG_variable)
-    <177>   DW_AT_name        : (indirect string, offset: 0x29): mpers_target_var	
-    <17b>   DW_AT_decl_file   : 4	
-    <17c>   DW_AT_decl_line   : 38	
-    <17d>   DW_AT_type        : <0x141>	
-    <181>   DW_AT_external    : 1	
-    <182>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><188>: Abbrev Number: 0
-
diff --git a/mpers-m32/msgbuf_t.d2 b/mpers-m32/msgbuf_t.d2
deleted file mode 100644
index feffd7c..0000000
--- a/mpers-m32/msgbuf_t.d2
+++ /dev/null
@@ -1,210 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x18a): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x177): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x160): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x70): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xfc): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x44): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x181): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x84): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x157): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1a5): __syscall_slong_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x117): char
-<1><7c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x82>
-<1><82>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x75>
-<1><87>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0x75>
-DW_AT_sibling     : <0x97>
-<2><90>
-Abbrev Number: 8 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 0
-<1><97>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x96): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xea>
-<2><a3>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xae): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><bf>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><cd>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19c): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf5>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><db>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><ea>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf5>
-<2><f3>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><f5>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xea>
-<1><fb>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x109): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x97>
-<1><106>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x10c>
-<1><10c>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xfb>
-<1><111>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x7): _Bool
-<1><118>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): msgbuf
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_sibling     : <0x141>
-<2><124>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x196): mtype
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><132>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7e): mtext
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><141>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x16e): msgbuf_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x118>
-<1><14c>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9d): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><15a>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x96): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x106>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><168>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x14d): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><176>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x29): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x141>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/msqid_ds_t.c b/mpers-m32/msqid_ds_t.c
index 8e70ecb..2e2b96e 100644
--- a/mpers-m32/msqid_ds_t.c
+++ b/mpers-m32/msqid_ds_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/msqid_ds_t.d1 b/mpers-m32/msqid_ds_t.d1
deleted file mode 100644
index 4e8fb3f..0000000
--- a/mpers-m32/msqid_ds_t.d1
+++ /dev/null
@@ -1,364 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x311 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x10a): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1f1): mpers-m32/msqid_ds_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x287): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x269): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x208): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1e3): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x9d): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x35): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x170): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x86): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x258): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xab): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x2d): __uid_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 125	
-    <6a>   DW_AT_type        : <0x47>	
- <1><6e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x1c7): __gid_t	
-    <73>   DW_AT_decl_file   : 1	
-    <74>   DW_AT_decl_line   : 126	
-    <75>   DW_AT_type        : <0x47>	
- <1><79>: Abbrev Number: 4 (DW_TAG_typedef)
-    <7a>   DW_AT_name        : (indirect string, offset: 0x261): __pid_t	
-    <7e>   DW_AT_decl_file   : 1	
-    <7f>   DW_AT_decl_line   : 133	
-    <80>   DW_AT_type        : <0x2b>	
- <1><84>: Abbrev Number: 2 (DW_TAG_base_type)
-    <85>   DW_AT_byte_size   : 4	
-    <86>   DW_AT_encoding    : 7	(unsigned)
-    <87>   DW_AT_name        : (indirect string, offset: 0x1cf): sizetype	
- <1><8b>: Abbrev Number: 4 (DW_TAG_typedef)
-    <8c>   DW_AT_name        : (indirect string, offset: 0xf1): __time_t	
-    <90>   DW_AT_decl_file   : 1	
-    <91>   DW_AT_decl_line   : 139	
-    <92>   DW_AT_type        : <0x55>	
- <1><96>: Abbrev Number: 4 (DW_TAG_typedef)
-    <97>   DW_AT_name        : (indirect string, offset: 0x19e): __key_t	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 144	
-    <9d>   DW_AT_type        : <0x2b>	
- <1><a1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x48): __syscall_ulong_t	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 177	
-    <a8>   DW_AT_type        : <0x5c>	
- <1><ac>: Abbrev Number: 2 (DW_TAG_base_type)
-    <ad>   DW_AT_byte_size   : 1	
-    <ae>   DW_AT_encoding    : 6	(signed char)
-    <af>   DW_AT_name        : (indirect string, offset: 0x194): char	
- <1><b3>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <b4>   DW_AT_byte_size   : 4	
-    <b5>   DW_AT_type        : <0xb9>	
- <1><b9>: Abbrev Number: 6 (DW_TAG_const_type)
-    <ba>   DW_AT_type        : <0xac>	
- <1><be>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <bf>   DW_AT_name        : (indirect string, offset: 0xc2): sysent	
-    <c3>   DW_AT_byte_size   : 20	
-    <c4>   DW_AT_decl_file   : 2	
-    <c5>   DW_AT_decl_line   : 4	
-    <c6>   DW_AT_sibling     : <0x111>	
- <2><ca>: Abbrev Number: 8 (DW_TAG_member)
-    <cb>   DW_AT_name        : (indirect string, offset: 0xfa): nargs	
-    <cf>   DW_AT_decl_file   : 2	
-    <d0>   DW_AT_decl_line   : 5	
-    <d1>   DW_AT_type        : <0x47>	
-    <d5>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><d8>: Abbrev Number: 8 (DW_TAG_member)
-    <d9>   DW_AT_name        : (indirect string, offset: 0x7c): sys_flags	
-    <dd>   DW_AT_decl_file   : 2	
-    <de>   DW_AT_decl_line   : 6	
-    <df>   DW_AT_type        : <0x2b>	
-    <e3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><e6>: Abbrev Number: 9 (DW_TAG_member)
-    <e7>   DW_AT_name        : sen	
-    <eb>   DW_AT_decl_file   : 2	
-    <ec>   DW_AT_decl_line   : 7	
-    <ed>   DW_AT_type        : <0x2b>	
-    <f1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><f4>: Abbrev Number: 8 (DW_TAG_member)
-    <f5>   DW_AT_name        : (indirect string, offset: 0x2b8): sys_func	
-    <f9>   DW_AT_decl_file   : 2	
-    <fa>   DW_AT_decl_line   : 8	
-    <fb>   DW_AT_type        : <0x11c>	
-    <ff>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><102>: Abbrev Number: 8 (DW_TAG_member)
-    <103>   DW_AT_name        : (indirect string, offset: 0x64): sys_name	
-    <107>   DW_AT_decl_file   : 2	
-    <108>   DW_AT_decl_line   : 9	
-    <109>   DW_AT_type        : <0xb3>	
-    <10d>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><110>: Abbrev Number: 0
- <1><111>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <112>   DW_AT_type        : <0x2b>	
-    <116>   DW_AT_sibling     : <0x11c>	
- <2><11a>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><11b>: Abbrev Number: 0
- <1><11c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <11d>   DW_AT_byte_size   : 4	
-    <11e>   DW_AT_type        : <0x111>	
- <1><122>: Abbrev Number: 4 (DW_TAG_typedef)
-    <123>   DW_AT_name        : (indirect string, offset: 0x186): struct_sysent	
-    <127>   DW_AT_decl_file   : 2	
-    <128>   DW_AT_decl_line   : 10	
-    <129>   DW_AT_type        : <0xbe>	
- <1><12d>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <12e>   DW_AT_byte_size   : 4	
-    <12f>   DW_AT_type        : <0x133>	
- <1><133>: Abbrev Number: 6 (DW_TAG_const_type)
-    <134>   DW_AT_type        : <0x122>	
- <1><138>: Abbrev Number: 2 (DW_TAG_base_type)
-    <139>   DW_AT_byte_size   : 1	
-    <13a>   DW_AT_encoding    : 2	(boolean)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x20): _Bool	
- <1><13f>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <140>   DW_AT_name        : (indirect string, offset: 0x224): ipc_perm	
-    <144>   DW_AT_byte_size   : 36	
-    <145>   DW_AT_decl_file   : 3	
-    <146>   DW_AT_decl_line   : 42	
-    <147>   DW_AT_sibling     : <0x1e6>	
- <2><14b>: Abbrev Number: 8 (DW_TAG_member)
-    <14c>   DW_AT_name        : (indirect string, offset: 0x9): __key	
-    <150>   DW_AT_decl_file   : 3	
-    <151>   DW_AT_decl_line   : 44	
-    <152>   DW_AT_type        : <0x96>	
-    <156>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><159>: Abbrev Number: 9 (DW_TAG_member)
-    <15a>   DW_AT_name        : uid	
-    <15e>   DW_AT_decl_file   : 3	
-    <15f>   DW_AT_decl_line   : 45	
-    <160>   DW_AT_type        : <0x63>	
-    <164>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><167>: Abbrev Number: 9 (DW_TAG_member)
-    <168>   DW_AT_name        : gid	
-    <16c>   DW_AT_decl_file   : 3	
-    <16d>   DW_AT_decl_line   : 46	
-    <16e>   DW_AT_type        : <0x6e>	
-    <172>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><175>: Abbrev Number: 8 (DW_TAG_member)
-    <176>   DW_AT_name        : (indirect string, offset: 0xc9): cuid	
-    <17a>   DW_AT_decl_file   : 3	
-    <17b>   DW_AT_decl_line   : 47	
-    <17c>   DW_AT_type        : <0x63>	
-    <180>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><183>: Abbrev Number: 8 (DW_TAG_member)
-    <184>   DW_AT_name        : (indirect string, offset: 0xbd): cgid	
-    <188>   DW_AT_decl_file   : 3	
-    <189>   DW_AT_decl_line   : 48	
-    <18a>   DW_AT_type        : <0x6e>	
-    <18e>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><191>: Abbrev Number: 8 (DW_TAG_member)
-    <192>   DW_AT_name        : (indirect string, offset: 0x199): mode	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 49	
-    <198>   DW_AT_type        : <0x40>	
-    <19c>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><19f>: Abbrev Number: 8 (DW_TAG_member)
-    <1a0>   DW_AT_name        : (indirect string, offset: 0x251): __pad1	
-    <1a4>   DW_AT_decl_file   : 3	
-    <1a5>   DW_AT_decl_line   : 50	
-    <1a6>   DW_AT_type        : <0x40>	
-    <1aa>   DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
- <2><1ad>: Abbrev Number: 8 (DW_TAG_member)
-    <1ae>   DW_AT_name        : (indirect string, offset: 0x76): __seq	
-    <1b2>   DW_AT_decl_file   : 3	
-    <1b3>   DW_AT_decl_line   : 51	
-    <1b4>   DW_AT_type        : <0x40>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1bb>: Abbrev Number: 8 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x26): __pad2	
-    <1c0>   DW_AT_decl_file   : 3	
-    <1c1>   DW_AT_decl_line   : 52	
-    <1c2>   DW_AT_type        : <0x40>	
-    <1c6>   DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
- <2><1c9>: Abbrev Number: 8 (DW_TAG_member)
-    <1ca>   DW_AT_name        : (indirect string, offset: 0xce): __glibc_reserved1	
-    <1ce>   DW_AT_decl_file   : 3	
-    <1cf>   DW_AT_decl_line   : 53	
-    <1d0>   DW_AT_type        : <0xa1>	
-    <1d4>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1d7>: Abbrev Number: 8 (DW_TAG_member)
-    <1d8>   DW_AT_name        : (indirect string, offset: 0x212): __glibc_reserved2	
-    <1dc>   DW_AT_decl_file   : 3	
-    <1dd>   DW_AT_decl_line   : 54	
-    <1de>   DW_AT_type        : <0xa1>	
-    <1e2>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1e5>: Abbrev Number: 0
- <1><1e6>: Abbrev Number: 4 (DW_TAG_typedef)
-    <1e7>   DW_AT_name        : (indirect string, offset: 0x15d): msgqnum_t	
-    <1eb>   DW_AT_decl_file   : 4	
-    <1ec>   DW_AT_decl_line   : 32	
-    <1ed>   DW_AT_type        : <0xa1>	
- <1><1f1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <1f2>   DW_AT_name        : (indirect string, offset: 0x167): msglen_t	
-    <1f6>   DW_AT_decl_file   : 4	
-    <1f7>   DW_AT_decl_line   : 33	
-    <1f8>   DW_AT_type        : <0xa1>	
- <1><1fc>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <1fd>   DW_AT_name        : (indirect string, offset: 0x0): msqid_ds	
-    <201>   DW_AT_byte_size   : 88	
-    <202>   DW_AT_decl_file   : 4	
-    <203>   DW_AT_decl_line   : 37	
-    <204>   DW_AT_sibling     : <0x2cd>	
- <2><208>: Abbrev Number: 8 (DW_TAG_member)
-    <209>   DW_AT_name        : (indirect string, offset: 0x17d): msg_perm	
-    <20d>   DW_AT_decl_file   : 4	
-    <20e>   DW_AT_decl_line   : 39	
-    <20f>   DW_AT_type        : <0x13f>	
-    <213>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><216>: Abbrev Number: 8 (DW_TAG_member)
-    <217>   DW_AT_name        : (indirect string, offset: 0x2c1): msg_stime	
-    <21b>   DW_AT_decl_file   : 4	
-    <21c>   DW_AT_decl_line   : 40	
-    <21d>   DW_AT_type        : <0x8b>	
-    <221>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><224>: Abbrev Number: 8 (DW_TAG_member)
-    <225>   DW_AT_name        : (indirect string, offset: 0xce): __glibc_reserved1	
-    <229>   DW_AT_decl_file   : 4	
-    <22a>   DW_AT_decl_line   : 42	
-    <22b>   DW_AT_type        : <0x5c>	
-    <22f>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><232>: Abbrev Number: 8 (DW_TAG_member)
-    <233>   DW_AT_name        : (indirect string, offset: 0x1b3): msg_rtime	
-    <237>   DW_AT_decl_file   : 4	
-    <238>   DW_AT_decl_line   : 44	
-    <239>   DW_AT_type        : <0x8b>	
-    <23d>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><240>: Abbrev Number: 8 (DW_TAG_member)
-    <241>   DW_AT_name        : (indirect string, offset: 0x212): __glibc_reserved2	
-    <245>   DW_AT_decl_file   : 4	
-    <246>   DW_AT_decl_line   : 46	
-    <247>   DW_AT_type        : <0x5c>	
-    <24b>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><24e>: Abbrev Number: 8 (DW_TAG_member)
-    <24f>   DW_AT_name        : (indirect string, offset: 0x100): msg_ctime	
-    <253>   DW_AT_decl_file   : 4	
-    <254>   DW_AT_decl_line   : 48	
-    <255>   DW_AT_type        : <0x8b>	
-    <259>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><25c>: Abbrev Number: 8 (DW_TAG_member)
-    <25d>   DW_AT_name        : (indirect string, offset: 0x275): __glibc_reserved3	
-    <261>   DW_AT_decl_file   : 4	
-    <262>   DW_AT_decl_line   : 50	
-    <263>   DW_AT_type        : <0x5c>	
-    <267>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><26a>: Abbrev Number: 8 (DW_TAG_member)
-    <26b>   DW_AT_name        : (indirect string, offset: 0x1a6): __msg_cbytes	
-    <26f>   DW_AT_decl_file   : 4	
-    <270>   DW_AT_decl_line   : 52	
-    <271>   DW_AT_type        : <0xa1>	
-    <275>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><278>: Abbrev Number: 8 (DW_TAG_member)
-    <279>   DW_AT_name        : (indirect string, offset: 0x6d): msg_qnum	
-    <27d>   DW_AT_decl_file   : 4	
-    <27e>   DW_AT_decl_line   : 53	
-    <27f>   DW_AT_type        : <0x1e6>	
-    <283>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><286>: Abbrev Number: 8 (DW_TAG_member)
-    <287>   DW_AT_name        : (indirect string, offset: 0x152): msg_qbytes	
-    <28b>   DW_AT_decl_file   : 4	
-    <28c>   DW_AT_decl_line   : 54	
-    <28d>   DW_AT_type        : <0x1f1>	
-    <291>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><294>: Abbrev Number: 8 (DW_TAG_member)
-    <295>   DW_AT_name        : (indirect string, offset: 0x5a): msg_lspid	
-    <299>   DW_AT_decl_file   : 4	
-    <29a>   DW_AT_decl_line   : 55	
-    <29b>   DW_AT_type        : <0x79>	
-    <29f>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><2a2>: Abbrev Number: 8 (DW_TAG_member)
-    <2a3>   DW_AT_name        : (indirect string, offset: 0x2cb): msg_lrpid	
-    <2a7>   DW_AT_decl_file   : 4	
-    <2a8>   DW_AT_decl_line   : 56	
-    <2a9>   DW_AT_type        : <0x79>	
-    <2ad>   DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
- <2><2b0>: Abbrev Number: 8 (DW_TAG_member)
-    <2b1>   DW_AT_name        : (indirect string, offset: 0x22d): __glibc_reserved4	
-    <2b5>   DW_AT_decl_file   : 4	
-    <2b6>   DW_AT_decl_line   : 57	
-    <2b7>   DW_AT_type        : <0xa1>	
-    <2bb>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><2be>: Abbrev Number: 8 (DW_TAG_member)
-    <2bf>   DW_AT_name        : (indirect string, offset: 0x23f): __glibc_reserved5	
-    <2c3>   DW_AT_decl_file   : 4	
-    <2c4>   DW_AT_decl_line   : 58	
-    <2c5>   DW_AT_type        : <0xa1>	
-    <2c9>   DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
- <2><2cc>: Abbrev Number: 0
- <1><2cd>: Abbrev Number: 4 (DW_TAG_typedef)
-    <2ce>   DW_AT_name        : (indirect string, offset: 0x1d8): msqid_ds_t	
-    <2d2>   DW_AT_decl_file   : 5	
-    <2d3>   DW_AT_decl_line   : 41	
-    <2d4>   DW_AT_type        : <0x1fc>	
- <1><2d8>: Abbrev Number: 12 (DW_TAG_variable)
-    <2d9>   DW_AT_name        : (indirect string, offset: 0xe0): current_wordsize	
-    <2dd>   DW_AT_decl_file   : 6	
-    <2de>   DW_AT_decl_line   : 757	
-    <2e0>   DW_AT_type        : <0x47>	
-    <2e4>   DW_AT_external    : 1	
-    <2e5>   DW_AT_declaration : 1	
- <1><2e6>: Abbrev Number: 12 (DW_TAG_variable)
-    <2e7>   DW_AT_name        : (indirect string, offset: 0xc2): sysent	
-    <2eb>   DW_AT_decl_file   : 6	
-    <2ec>   DW_AT_decl_line   : 892	
-    <2ee>   DW_AT_type        : <0x12d>	
-    <2f2>   DW_AT_external    : 1	
-    <2f3>   DW_AT_declaration : 1	
- <1><2f4>: Abbrev Number: 12 (DW_TAG_variable)
-    <2f5>   DW_AT_name        : (indirect string, offset: 0x1bd): nsyscalls	
-    <2f9>   DW_AT_decl_file   : 6	
-    <2fa>   DW_AT_decl_line   : 903	
-    <2fc>   DW_AT_type        : <0x47>	
-    <300>   DW_AT_external    : 1	
-    <301>   DW_AT_declaration : 1	
- <1><302>: Abbrev Number: 13 (DW_TAG_variable)
-    <303>   DW_AT_name        : (indirect string, offset: 0xf): mpers_target_var	
-    <307>   DW_AT_decl_file   : 5	
-    <308>   DW_AT_decl_line   : 48	
-    <309>   DW_AT_type        : <0x2cd>	
-    <30d>   DW_AT_external    : 1	
-    <30e>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><314>: Abbrev Number: 0
-
diff --git a/mpers-m32/msqid_ds_t.d2 b/mpers-m32/msqid_ds_t.d2
deleted file mode 100644
index 904d5e8..0000000
--- a/mpers-m32/msqid_ds_t.d2
+++ /dev/null
@@ -1,412 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x269): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x208): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e3): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x9d): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x35): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x170): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x86): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x258): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xab): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2d): __uid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-<1><6e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c7): __gid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x47>
-<1><79>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x261): __pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x2b>
-<1><84>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1cf): sizetype
-<1><8b>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf1): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><96>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x19e): __key_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<1><a1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x48): __syscall_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 177
-DW_AT_type        : <0x5c>
-<1><ac>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x194): char
-<1><b3>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xb9>
-<1><b9>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xac>
-<1><be>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc2): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x111>
-<2><ca>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfa): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><d8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7c): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><e6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><f4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2b8): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x11c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><102>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x64): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xb3>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><111>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x11c>
-<2><11a>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><11c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x111>
-<1><122>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x186): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xbe>
-<1><12d>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x133>
-<1><133>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x122>
-<1><138>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x20): _Bool
-<1><13f>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x224): ipc_perm
-DW_AT_byte_size   : 36
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 42
-DW_AT_sibling     : <0x1e6>
-<2><14b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): __key
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x96>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><159>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><167>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : gid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><175>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc9): cuid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><183>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbd): cgid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><191>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x199): mode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><19f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x251): __pad1
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
-<2><1ad>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x76): __seq
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1bb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26): __pad2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
-<2><1c9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xce): __glibc_reserved1
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><1d7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x212): __glibc_reserved2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<1><1e6>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x15d): msgqnum_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0xa1>
-<1><1f1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x167): msglen_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0xa1>
-<1><1fc>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): msqid_ds
-DW_AT_byte_size   : 88
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_sibling     : <0x2cd>
-<2><208>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17d): msg_perm
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x13f>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><216>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c1): msg_stime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><224>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xce): __glibc_reserved1
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><232>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b3): msg_rtime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><240>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x212): __glibc_reserved2
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><24e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x100): msg_ctime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><25c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x275): __glibc_reserved3
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><26a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a6): __msg_cbytes
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 52
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><278>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6d): msg_qnum
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x1e6>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><286>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x152): msg_qbytes
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x1f1>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<2><294>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5a): msg_lspid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><2a2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2cb): msg_lrpid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
-<2><2b0>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22d): __glibc_reserved4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 57
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<2><2be>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23f): __glibc_reserved5
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 58
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
-<1><2cd>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d8): msqid_ds_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x1fc>
-<1><2d8>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe0): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2e6>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc2): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x12d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2f4>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1bd): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><302>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x2cd>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/rusage_t.c b/mpers-m32/rusage_t.c
index f69a7ee..cf3c244 100644
--- a/mpers-m32/rusage_t.c
+++ b/mpers-m32/rusage_t.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/rusage_t.d1 b/mpers-m32/rusage_t.d1
deleted file mode 100644
index 4452fc7..0000000
--- a/mpers-m32/rusage_t.d1
+++ /dev/null
@@ -1,479 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x3e2 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x0): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x313): mpers-m32/rusage_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x332): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x186): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x96): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x116): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x172): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x1e2): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1c1): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x1a3): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x124): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x266): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0xb0): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0x29a): __time_t	
-    <6f>   DW_AT_decl_file   : 1	
-    <70>   DW_AT_decl_line   : 139	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x305): __suseconds_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 141	
-    <7c>   DW_AT_type        : <0x55>	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0xd6): __syscall_slong_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 175	
-    <87>   DW_AT_type        : <0x55>	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x20e): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0x2a3): timeval	
-    <97>   DW_AT_byte_size   : 8	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 30	
-    <9a>   DW_AT_sibling     : <0xbb>	
- <2><9e>: Abbrev Number: 6 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x16b): tv_sec	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 32	
-    <a5>   DW_AT_type        : <0x6a>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 6 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x2c9): tv_usec	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 33	
-    <b3>   DW_AT_type        : <0x75>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 0
- <1><bb>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <bc>   DW_AT_byte_size   : 4	
-    <bd>   DW_AT_type        : <0xc1>	
- <1><c1>: Abbrev Number: 8 (DW_TAG_const_type)
-    <c2>   DW_AT_type        : <0x8b>	
- <1><c6>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <c7>   DW_AT_name        : (indirect string, offset: 0x2f5): sysent	
-    <cb>   DW_AT_byte_size   : 20	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 4	
-    <ce>   DW_AT_sibling     : <0x119>	
- <2><d2>: Abbrev Number: 6 (DW_TAG_member)
-    <d3>   DW_AT_name        : (indirect string, offset: 0x180): nargs	
-    <d7>   DW_AT_decl_file   : 3	
-    <d8>   DW_AT_decl_line   : 5	
-    <d9>   DW_AT_type        : <0x47>	
-    <dd>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><e0>: Abbrev Number: 6 (DW_TAG_member)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x1ce): sys_flags	
-    <e5>   DW_AT_decl_file   : 3	
-    <e6>   DW_AT_decl_line   : 6	
-    <e7>   DW_AT_type        : <0x2b>	
-    <eb>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ee>: Abbrev Number: 9 (DW_TAG_member)
-    <ef>   DW_AT_name        : sen	
-    <f3>   DW_AT_decl_file   : 3	
-    <f4>   DW_AT_decl_line   : 7	
-    <f5>   DW_AT_type        : <0x2b>	
-    <f9>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><fc>: Abbrev Number: 6 (DW_TAG_member)
-    <fd>   DW_AT_name        : (indirect string, offset: 0x74): sys_func	
-    <101>   DW_AT_decl_file   : 3	
-    <102>   DW_AT_decl_line   : 8	
-    <103>   DW_AT_type        : <0x124>	
-    <107>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><10a>: Abbrev Number: 6 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0xcd): sys_name	
-    <10f>   DW_AT_decl_file   : 3	
-    <110>   DW_AT_decl_line   : 9	
-    <111>   DW_AT_type        : <0xbb>	
-    <115>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><118>: Abbrev Number: 0
- <1><119>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <11a>   DW_AT_type        : <0x2b>	
-    <11e>   DW_AT_sibling     : <0x124>	
- <2><122>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><123>: Abbrev Number: 0
- <1><124>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <125>   DW_AT_byte_size   : 4	
-    <126>   DW_AT_type        : <0x119>	
- <1><12a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x2bb): struct_sysent	
-    <12f>   DW_AT_decl_file   : 3	
-    <130>   DW_AT_decl_line   : 10	
-    <131>   DW_AT_type        : <0xc6>	
- <1><135>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <136>   DW_AT_byte_size   : 4	
-    <137>   DW_AT_type        : <0x13b>	
- <1><13b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <13c>   DW_AT_type        : <0x12a>	
- <1><140>: Abbrev Number: 2 (DW_TAG_base_type)
-    <141>   DW_AT_byte_size   : 1	
-    <142>   DW_AT_encoding    : 2	(boolean)
-    <143>   DW_AT_name        : (indirect string, offset: 0x213): _Bool	
- <1><147>: Abbrev Number: 12 (DW_TAG_union_type)
-    <148>   DW_AT_byte_size   : 4	
-    <149>   DW_AT_decl_file   : 4	
-    <14a>   DW_AT_decl_line   : 194	
-    <14b>   DW_AT_sibling     : <0x166>	
- <2><14f>: Abbrev Number: 13 (DW_TAG_member)
-    <150>   DW_AT_name        : (indirect string, offset: 0xfb): ru_maxrss	
-    <154>   DW_AT_decl_file   : 4	
-    <155>   DW_AT_decl_line   : 196	
-    <156>   DW_AT_type        : <0x55>	
- <2><15a>: Abbrev Number: 13 (DW_TAG_member)
-    <15b>   DW_AT_name        : (indirect string, offset: 0x13e): __ru_maxrss_word	
-    <15f>   DW_AT_decl_file   : 4	
-    <160>   DW_AT_decl_line   : 197	
-    <161>   DW_AT_type        : <0x80>	
- <2><165>: Abbrev Number: 0
- <1><166>: Abbrev Number: 12 (DW_TAG_union_type)
-    <167>   DW_AT_byte_size   : 4	
-    <168>   DW_AT_decl_file   : 4	
-    <169>   DW_AT_decl_line   : 202	
-    <16a>   DW_AT_sibling     : <0x185>	
- <2><16e>: Abbrev Number: 13 (DW_TAG_member)
-    <16f>   DW_AT_name        : (indirect string, offset: 0x6b): ru_ixrss	
-    <173>   DW_AT_decl_file   : 4	
-    <174>   DW_AT_decl_line   : 204	
-    <175>   DW_AT_type        : <0x55>	
- <2><179>: Abbrev Number: 13 (DW_TAG_member)
-    <17a>   DW_AT_name        : (indirect string, offset: 0x2ab): __ru_ixrss_word	
-    <17e>   DW_AT_decl_file   : 4	
-    <17f>   DW_AT_decl_line   : 205	
-    <180>   DW_AT_type        : <0x80>	
- <2><184>: Abbrev Number: 0
- <1><185>: Abbrev Number: 12 (DW_TAG_union_type)
-    <186>   DW_AT_byte_size   : 4	
-    <187>   DW_AT_decl_file   : 4	
-    <188>   DW_AT_decl_line   : 208	
-    <189>   DW_AT_sibling     : <0x1a4>	
- <2><18d>: Abbrev Number: 13 (DW_TAG_member)
-    <18e>   DW_AT_name        : (indirect string, offset: 0x8d): ru_idrss	
-    <192>   DW_AT_decl_file   : 4	
-    <193>   DW_AT_decl_line   : 210	
-    <194>   DW_AT_type        : <0x55>	
- <2><198>: Abbrev Number: 13 (DW_TAG_member)
-    <199>   DW_AT_name        : (indirect string, offset: 0x7d): __ru_idrss_word	
-    <19d>   DW_AT_decl_file   : 4	
-    <19e>   DW_AT_decl_line   : 211	
-    <19f>   DW_AT_type        : <0x80>	
- <2><1a3>: Abbrev Number: 0
- <1><1a4>: Abbrev Number: 12 (DW_TAG_union_type)
-    <1a5>   DW_AT_byte_size   : 4	
-    <1a6>   DW_AT_decl_file   : 4	
-    <1a7>   DW_AT_decl_line   : 214	
-    <1a8>   DW_AT_sibling     : <0x1c3>	
- <2><1ac>: Abbrev Number: 13 (DW_TAG_member)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0xf2): ru_isrss	
-    <1b1>   DW_AT_decl_file   : 4	
-    <1b2>   DW_AT_decl_line   : 216	
-    <1b3>   DW_AT_type        : <0x55>	
- <2><1b7>: Abbrev Number: 13 (DW_TAG_member)
-    <1b8>   DW_AT_name        : (indirect string, offset: 0x1fe): __ru_isrss_word	
-    <1bc>   DW_AT_decl_file   : 4	
-    <1bd>   DW_AT_decl_line   : 217	
-    <1be>   DW_AT_type        : <0x80>	
- <2><1c2>: Abbrev Number: 0
- <1><1c3>: Abbrev Number: 12 (DW_TAG_union_type)
-    <1c4>   DW_AT_byte_size   : 4	
-    <1c5>   DW_AT_decl_file   : 4	
-    <1c6>   DW_AT_decl_line   : 221	
-    <1c7>   DW_AT_sibling     : <0x1e2>	
- <2><1cb>: Abbrev Number: 13 (DW_TAG_member)
-    <1cc>   DW_AT_name        : (indirect string, offset: 0x48): ru_minflt	
-    <1d0>   DW_AT_decl_file   : 4	
-    <1d1>   DW_AT_decl_line   : 223	
-    <1d2>   DW_AT_type        : <0x55>	
- <2><1d6>: Abbrev Number: 13 (DW_TAG_member)
-    <1d7>   DW_AT_name        : (indirect string, offset: 0x105): __ru_minflt_word	
-    <1db>   DW_AT_decl_file   : 4	
-    <1dc>   DW_AT_decl_line   : 224	
-    <1dd>   DW_AT_type        : <0x80>	
- <2><1e1>: Abbrev Number: 0
- <1><1e2>: Abbrev Number: 12 (DW_TAG_union_type)
-    <1e3>   DW_AT_byte_size   : 4	
-    <1e4>   DW_AT_decl_file   : 4	
-    <1e5>   DW_AT_decl_line   : 227	
-    <1e6>   DW_AT_sibling     : <0x201>	
- <2><1ea>: Abbrev Number: 13 (DW_TAG_member)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0xe8): ru_majflt	
-    <1ef>   DW_AT_decl_file   : 4	
-    <1f0>   DW_AT_decl_line   : 229	
-    <1f1>   DW_AT_type        : <0x55>	
- <2><1f5>: Abbrev Number: 13 (DW_TAG_member)
-    <1f6>   DW_AT_name        : (indirect string, offset: 0x15a): __ru_majflt_word	
-    <1fa>   DW_AT_decl_file   : 4	
-    <1fb>   DW_AT_decl_line   : 230	
-    <1fc>   DW_AT_type        : <0x80>	
- <2><200>: Abbrev Number: 0
- <1><201>: Abbrev Number: 12 (DW_TAG_union_type)
-    <202>   DW_AT_byte_size   : 4	
-    <203>   DW_AT_decl_file   : 4	
-    <204>   DW_AT_decl_line   : 233	
-    <205>   DW_AT_sibling     : <0x220>	
- <2><209>: Abbrev Number: 13 (DW_TAG_member)
-    <20a>   DW_AT_name        : (indirect string, offset: 0xb9): ru_nswap	
-    <20e>   DW_AT_decl_file   : 4	
-    <20f>   DW_AT_decl_line   : 235	
-    <210>   DW_AT_type        : <0x55>	
- <2><214>: Abbrev Number: 13 (DW_TAG_member)
-    <215>   DW_AT_name        : (indirect string, offset: 0xa0): __ru_nswap_word	
-    <219>   DW_AT_decl_file   : 4	
-    <21a>   DW_AT_decl_line   : 236	
-    <21b>   DW_AT_type        : <0x80>	
- <2><21f>: Abbrev Number: 0
- <1><220>: Abbrev Number: 12 (DW_TAG_union_type)
-    <221>   DW_AT_byte_size   : 4	
-    <222>   DW_AT_decl_file   : 4	
-    <223>   DW_AT_decl_line   : 240	
-    <224>   DW_AT_sibling     : <0x23f>	
- <2><228>: Abbrev Number: 13 (DW_TAG_member)
-    <229>   DW_AT_name        : (indirect string, offset: 0x14f): ru_inblock	
-    <22d>   DW_AT_decl_file   : 4	
-    <22e>   DW_AT_decl_line   : 242	
-    <22f>   DW_AT_type        : <0x55>	
- <2><233>: Abbrev Number: 13 (DW_TAG_member)
-    <234>   DW_AT_name        : (indirect string, offset: 0x22f): __ru_inblock_word	
-    <238>   DW_AT_decl_file   : 4	
-    <239>   DW_AT_decl_line   : 243	
-    <23a>   DW_AT_type        : <0x80>	
- <2><23e>: Abbrev Number: 0
- <1><23f>: Abbrev Number: 12 (DW_TAG_union_type)
-    <240>   DW_AT_byte_size   : 4	
-    <241>   DW_AT_decl_file   : 4	
-    <242>   DW_AT_decl_line   : 246	
-    <243>   DW_AT_sibling     : <0x25e>	
- <2><247>: Abbrev Number: 13 (DW_TAG_member)
-    <248>   DW_AT_name        : (indirect string, offset: 0xc2): ru_oublock	
-    <24c>   DW_AT_decl_file   : 4	
-    <24d>   DW_AT_decl_line   : 248	
-    <24e>   DW_AT_type        : <0x55>	
- <2><252>: Abbrev Number: 13 (DW_TAG_member)
-    <253>   DW_AT_name        : (indirect string, offset: 0x254): __ru_oublock_word	
-    <257>   DW_AT_decl_file   : 4	
-    <258>   DW_AT_decl_line   : 249	
-    <259>   DW_AT_type        : <0x80>	
- <2><25d>: Abbrev Number: 0
- <1><25e>: Abbrev Number: 12 (DW_TAG_union_type)
-    <25f>   DW_AT_byte_size   : 4	
-    <260>   DW_AT_decl_file   : 4	
-    <261>   DW_AT_decl_line   : 252	
-    <262>   DW_AT_sibling     : <0x27d>	
- <2><266>: Abbrev Number: 13 (DW_TAG_member)
-    <267>   DW_AT_name        : (indirect string, offset: 0x219): ru_msgsnd	
-    <26b>   DW_AT_decl_file   : 4	
-    <26c>   DW_AT_decl_line   : 254	
-    <26d>   DW_AT_type        : <0x55>	
- <2><271>: Abbrev Number: 13 (DW_TAG_member)
-    <272>   DW_AT_name        : (indirect string, offset: 0x278): __ru_msgsnd_word	
-    <276>   DW_AT_decl_file   : 4	
-    <277>   DW_AT_decl_line   : 255	
-    <278>   DW_AT_type        : <0x80>	
- <2><27c>: Abbrev Number: 0
- <1><27d>: Abbrev Number: 14 (DW_TAG_union_type)
-    <27e>   DW_AT_byte_size   : 4	
-    <27f>   DW_AT_decl_file   : 4	
-    <280>   DW_AT_decl_line   : 258	
-    <282>   DW_AT_sibling     : <0x29f>	
- <2><286>: Abbrev Number: 15 (DW_TAG_member)
-    <287>   DW_AT_name        : (indirect string, offset: 0x328): ru_msgrcv	
-    <28b>   DW_AT_decl_file   : 4	
-    <28c>   DW_AT_decl_line   : 260	
-    <28e>   DW_AT_type        : <0x55>	
- <2><292>: Abbrev Number: 15 (DW_TAG_member)
-    <293>   DW_AT_name        : (indirect string, offset: 0x2d1): __ru_msgrcv_word	
-    <297>   DW_AT_decl_file   : 4	
-    <298>   DW_AT_decl_line   : 261	
-    <29a>   DW_AT_type        : <0x80>	
- <2><29e>: Abbrev Number: 0
- <1><29f>: Abbrev Number: 14 (DW_TAG_union_type)
-    <2a0>   DW_AT_byte_size   : 4	
-    <2a1>   DW_AT_decl_file   : 4	
-    <2a2>   DW_AT_decl_line   : 264	
-    <2a4>   DW_AT_sibling     : <0x2c1>	
- <2><2a8>: Abbrev Number: 15 (DW_TAG_member)
-    <2a9>   DW_AT_name        : (indirect string, offset: 0x223): ru_nsignals	
-    <2ad>   DW_AT_decl_file   : 4	
-    <2ae>   DW_AT_decl_line   : 266	
-    <2b0>   DW_AT_type        : <0x55>	
- <2><2b4>: Abbrev Number: 15 (DW_TAG_member)
-    <2b5>   DW_AT_name        : (indirect string, offset: 0x241): __ru_nsignals_word	
-    <2b9>   DW_AT_decl_file   : 4	
-    <2ba>   DW_AT_decl_line   : 267	
-    <2bc>   DW_AT_type        : <0x80>	
- <2><2c0>: Abbrev Number: 0
- <1><2c1>: Abbrev Number: 14 (DW_TAG_union_type)
-    <2c2>   DW_AT_byte_size   : 4	
-    <2c3>   DW_AT_decl_file   : 4	
-    <2c4>   DW_AT_decl_line   : 272	
-    <2c6>   DW_AT_sibling     : <0x2e3>	
- <2><2ca>: Abbrev Number: 15 (DW_TAG_member)
-    <2cb>   DW_AT_name        : (indirect string, offset: 0x52): ru_nvcsw	
-    <2cf>   DW_AT_decl_file   : 4	
-    <2d0>   DW_AT_decl_line   : 274	
-    <2d2>   DW_AT_type        : <0x55>	
- <2><2d6>: Abbrev Number: 15 (DW_TAG_member)
-    <2d7>   DW_AT_name        : (indirect string, offset: 0x5b): __ru_nvcsw_word	
-    <2db>   DW_AT_decl_file   : 4	
-    <2dc>   DW_AT_decl_line   : 275	
-    <2de>   DW_AT_type        : <0x80>	
- <2><2e2>: Abbrev Number: 0
- <1><2e3>: Abbrev Number: 14 (DW_TAG_union_type)
-    <2e4>   DW_AT_byte_size   : 4	
-    <2e5>   DW_AT_decl_file   : 4	
-    <2e6>   DW_AT_decl_line   : 279	
-    <2e8>   DW_AT_sibling     : <0x305>	
- <2><2ec>: Abbrev Number: 15 (DW_TAG_member)
-    <2ed>   DW_AT_name        : (indirect string, offset: 0x2e2): ru_nivcsw	
-    <2f1>   DW_AT_decl_file   : 4	
-    <2f2>   DW_AT_decl_line   : 281	
-    <2f4>   DW_AT_type        : <0x55>	
- <2><2f8>: Abbrev Number: 15 (DW_TAG_member)
-    <2f9>   DW_AT_name        : (indirect string, offset: 0x289): __ru_nivcsw_word	
-    <2fd>   DW_AT_decl_file   : 4	
-    <2fe>   DW_AT_decl_line   : 282	
-    <300>   DW_AT_type        : <0x80>	
- <2><304>: Abbrev Number: 0
- <1><305>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <306>   DW_AT_name        : (indirect string, offset: 0x1ba): rusage	
-    <30a>   DW_AT_byte_size   : 72	
-    <30b>   DW_AT_decl_file   : 4	
-    <30c>   DW_AT_decl_line   : 187	
-    <30d>   DW_AT_sibling     : <0x39e>	
- <2><311>: Abbrev Number: 6 (DW_TAG_member)
-    <312>   DW_AT_name        : (indirect string, offset: 0x1f5): ru_utime	
-    <316>   DW_AT_decl_file   : 4	
-    <317>   DW_AT_decl_line   : 190	
-    <318>   DW_AT_type        : <0x92>	
-    <31c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><31f>: Abbrev Number: 6 (DW_TAG_member)
-    <320>   DW_AT_name        : (indirect string, offset: 0x2fc): ru_stime	
-    <324>   DW_AT_decl_file   : 4	
-    <325>   DW_AT_decl_line   : 192	
-    <326>   DW_AT_type        : <0x92>	
-    <32a>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><32d>: Abbrev Number: 16 (DW_TAG_member)
-    <32e>   DW_AT_type        : <0x147>	
-    <332>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><335>: Abbrev Number: 16 (DW_TAG_member)
-    <336>   DW_AT_type        : <0x166>	
-    <33a>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><33d>: Abbrev Number: 16 (DW_TAG_member)
-    <33e>   DW_AT_type        : <0x185>	
-    <342>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><345>: Abbrev Number: 16 (DW_TAG_member)
-    <346>   DW_AT_type        : <0x1a4>	
-    <34a>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><34d>: Abbrev Number: 16 (DW_TAG_member)
-    <34e>   DW_AT_type        : <0x1c3>	
-    <352>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><355>: Abbrev Number: 16 (DW_TAG_member)
-    <356>   DW_AT_type        : <0x1e2>	
-    <35a>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><35d>: Abbrev Number: 16 (DW_TAG_member)
-    <35e>   DW_AT_type        : <0x201>	
-    <362>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><365>: Abbrev Number: 16 (DW_TAG_member)
-    <366>   DW_AT_type        : <0x220>	
-    <36a>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><36d>: Abbrev Number: 16 (DW_TAG_member)
-    <36e>   DW_AT_type        : <0x23f>	
-    <372>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><375>: Abbrev Number: 16 (DW_TAG_member)
-    <376>   DW_AT_type        : <0x25e>	
-    <37a>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><37d>: Abbrev Number: 16 (DW_TAG_member)
-    <37e>   DW_AT_type        : <0x27d>	
-    <382>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><385>: Abbrev Number: 16 (DW_TAG_member)
-    <386>   DW_AT_type        : <0x29f>	
-    <38a>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><38d>: Abbrev Number: 16 (DW_TAG_member)
-    <38e>   DW_AT_type        : <0x2c1>	
-    <392>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><395>: Abbrev Number: 16 (DW_TAG_member)
-    <396>   DW_AT_type        : <0x2e3>	
-    <39a>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><39d>: Abbrev Number: 0
- <1><39e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <39f>   DW_AT_name        : (indirect string, offset: 0x2ec): rusage_t	
-    <3a3>   DW_AT_decl_file   : 5	
-    <3a4>   DW_AT_decl_line   : 35	
-    <3a5>   DW_AT_type        : <0x305>	
- <1><3a9>: Abbrev Number: 17 (DW_TAG_variable)
-    <3aa>   DW_AT_name        : (indirect string, offset: 0x192): current_wordsize	
-    <3ae>   DW_AT_decl_file   : 6	
-    <3af>   DW_AT_decl_line   : 757	
-    <3b1>   DW_AT_type        : <0x47>	
-    <3b5>   DW_AT_external    : 1	
-    <3b6>   DW_AT_declaration : 1	
- <1><3b7>: Abbrev Number: 17 (DW_TAG_variable)
-    <3b8>   DW_AT_name        : (indirect string, offset: 0x2f5): sysent	
-    <3bc>   DW_AT_decl_file   : 6	
-    <3bd>   DW_AT_decl_line   : 892	
-    <3bf>   DW_AT_type        : <0x135>	
-    <3c3>   DW_AT_external    : 1	
-    <3c4>   DW_AT_declaration : 1	
- <1><3c5>: Abbrev Number: 17 (DW_TAG_variable)
-    <3c6>   DW_AT_name        : (indirect string, offset: 0x1d8): nsyscalls	
-    <3ca>   DW_AT_decl_file   : 6	
-    <3cb>   DW_AT_decl_line   : 903	
-    <3cd>   DW_AT_type        : <0x47>	
-    <3d1>   DW_AT_external    : 1	
-    <3d2>   DW_AT_declaration : 1	
- <1><3d3>: Abbrev Number: 18 (DW_TAG_variable)
-    <3d4>   DW_AT_name        : (indirect string, offset: 0x12d): mpers_target_var	
-    <3d8>   DW_AT_decl_file   : 5	
-    <3d9>   DW_AT_decl_line   : 37	
-    <3da>   DW_AT_type        : <0x39e>	
-    <3de>   DW_AT_external    : 1	
-    <3df>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><3e5>: Abbrev Number: 0
-
diff --git a/mpers-m32/rusage_t.d2 b/mpers-m32/rusage_t.d2
deleted file mode 100644
index 12e140b..0000000
--- a/mpers-m32/rusage_t.d2
+++ /dev/null
@@ -1,543 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x186): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x96): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x116): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x172): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1e2): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c1): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1a3): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x124): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x266): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb0): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x29a): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x305): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x55>
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xd6): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x55>
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x20e): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2a3): timeval
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xbb>
-<2><9e>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16b): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c9): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><bb>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xc1>
-<1><c1>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><c6>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2f5): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x119>
-<2><d2>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x180): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><e0>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ce): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ee>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><fc>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x74): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x124>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><10a>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcd): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xbb>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><119>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x124>
-<2><122>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><124>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x119>
-<1><12a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2bb): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xc6>
-<1><135>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x13b>
-<1><13b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x12a>
-<1><140>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x213): _Bool
-<1><147>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 194
-DW_AT_sibling     : <0x166>
-<2><14f>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfb): ru_maxrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 196
-DW_AT_type        : <0x55>
-<2><15a>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13e): __ru_maxrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 197
-DW_AT_type        : <0x80>
-<1><166>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 202
-DW_AT_sibling     : <0x185>
-<2><16e>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6b): ru_ixrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 204
-DW_AT_type        : <0x55>
-<2><179>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ab): __ru_ixrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 205
-DW_AT_type        : <0x80>
-<1><185>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 208
-DW_AT_sibling     : <0x1a4>
-<2><18d>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8d): ru_idrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 210
-DW_AT_type        : <0x55>
-<2><198>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7d): __ru_idrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 211
-DW_AT_type        : <0x80>
-<1><1a4>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 214
-DW_AT_sibling     : <0x1c3>
-<2><1ac>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf2): ru_isrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 216
-DW_AT_type        : <0x55>
-<2><1b7>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fe): __ru_isrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 217
-DW_AT_type        : <0x80>
-<1><1c3>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 221
-DW_AT_sibling     : <0x1e2>
-<2><1cb>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x48): ru_minflt
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 223
-DW_AT_type        : <0x55>
-<2><1d6>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x105): __ru_minflt_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 224
-DW_AT_type        : <0x80>
-<1><1e2>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 227
-DW_AT_sibling     : <0x201>
-<2><1ea>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe8): ru_majflt
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 229
-DW_AT_type        : <0x55>
-<2><1f5>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15a): __ru_majflt_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 230
-DW_AT_type        : <0x80>
-<1><201>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 233
-DW_AT_sibling     : <0x220>
-<2><209>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb9): ru_nswap
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 235
-DW_AT_type        : <0x55>
-<2><214>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa0): __ru_nswap_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 236
-DW_AT_type        : <0x80>
-<1><220>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 240
-DW_AT_sibling     : <0x23f>
-<2><228>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14f): ru_inblock
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 242
-DW_AT_type        : <0x55>
-<2><233>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22f): __ru_inblock_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 243
-DW_AT_type        : <0x80>
-<1><23f>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 246
-DW_AT_sibling     : <0x25e>
-<2><247>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc2): ru_oublock
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 248
-DW_AT_type        : <0x55>
-<2><252>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x254): __ru_oublock_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 249
-DW_AT_type        : <0x80>
-<1><25e>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 252
-DW_AT_sibling     : <0x27d>
-<2><266>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x219): ru_msgsnd
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 254
-DW_AT_type        : <0x55>
-<2><271>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x278): __ru_msgsnd_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 255
-DW_AT_type        : <0x80>
-<1><27d>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 258
-DW_AT_sibling     : <0x29f>
-<2><286>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x328): ru_msgrcv
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 260
-DW_AT_type        : <0x55>
-<2><292>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d1): __ru_msgrcv_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 261
-DW_AT_type        : <0x80>
-<1><29f>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 264
-DW_AT_sibling     : <0x2c1>
-<2><2a8>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x223): ru_nsignals
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 266
-DW_AT_type        : <0x55>
-<2><2b4>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x241): __ru_nsignals_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 267
-DW_AT_type        : <0x80>
-<1><2c1>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 272
-DW_AT_sibling     : <0x2e3>
-<2><2ca>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x52): ru_nvcsw
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 274
-DW_AT_type        : <0x55>
-<2><2d6>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5b): __ru_nvcsw_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 275
-DW_AT_type        : <0x80>
-<1><2e3>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 279
-DW_AT_sibling     : <0x305>
-<2><2ec>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e2): ru_nivcsw
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 281
-DW_AT_type        : <0x55>
-<2><2f8>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x289): __ru_nivcsw_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 282
-DW_AT_type        : <0x80>
-<1><305>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1ba): rusage
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 187
-DW_AT_sibling     : <0x39e>
-<2><311>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f5): ru_utime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 190
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><31f>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2fc): ru_stime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 192
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><32d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x147>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><335>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x166>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><33d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x185>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><345>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1a4>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><34d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1c3>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><355>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1e2>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><35d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x201>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><365>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x220>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><36d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x23f>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><375>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x25e>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><37d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x27d>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><385>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x29f>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><38d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x2c1>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><395>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x2e3>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<1><39e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2ec): rusage_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x305>
-<1><3a9>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x192): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3b7>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x2f5): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x135>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3c5>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1d8): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3d3>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12d): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x39e>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/sample.c b/mpers-m32/sample.c
index 4c65608..1eedf1c 100644
--- a/mpers-m32/sample.c
+++ b/mpers-m32/sample.c
@@ -16,7 +16,7 @@
 		long long sll __attribute__((__aligned__(8)));
 		unsigned long long ull;
 		unsigned long ul;
-		long asl[3];
+		long asl[3][5][7];
 		char f;
 		/* unsigned char mpers_end_filler_4[7]; */
 	} s;
@@ -28,11 +28,11 @@
 		unsigned long ul;
 		int si;
 		unsigned ui;
-		short ss;
-		unsigned short us;
+		short ss[7][9];
+		unsigned short us[4];
 		char sc;
 		unsigned char uc;
-	} u[3];
+	} u[3][2];
 	short f[0];
 } sample_struct;
 #include MPERS_DEFS
diff --git a/mpers-m32/sample.expected b/mpers-m32/sample.expected
index 4c83984..f7a21ac 100644
--- a/mpers-m32/sample.expected
+++ b/mpers-m32/sample.expected
@@ -17,7 +17,7 @@
 int64_t sll;
 uint64_t ull;
 uint32_t ul;
-int32_t asl[3];
+int32_t asl[3][5][7];
 char f;
 unsigned char mpers_end_filler_4[7];
 } ATTRIBUTE_PACKED s;
@@ -29,11 +29,11 @@
 uint32_t ul;
 int32_t si;
 uint32_t ui;
-int16_t ss;
-uint16_t us;
+int16_t ss[7][9];
+uint16_t us[4];
 char sc;
 unsigned char uc;
-} u[3];
+} u[3][2];
 int16_t f[0];
 } ATTRIBUTE_PACKED m32_sample_struct;
 #define MPERS_m32_sample_struct m32_sample_struct
diff --git a/mpers-m32/sample_struct.c b/mpers-m32/sample_struct.c
index 6ebddcc..b9f6d05 100644
--- a/mpers-m32/sample_struct.c
+++ b/mpers-m32/sample_struct.c
@@ -15,7 +15,7 @@
 		long long sll __attribute__((__aligned__(8)));
 		unsigned long long ull;
 		unsigned long ul;
-		long asl[3];
+		long asl[3][5][7];
 		char f;
 		/* unsigned char mpers_end_filler_4[7]; */
 	} s;
@@ -27,11 +27,11 @@
 		unsigned long ul;
 		int si;
 		unsigned ui;
-		short ss;
-		unsigned short us;
+		short ss[7][9];
+		unsigned short us[4];
 		char sc;
 		unsigned char uc;
-	} u[3];
+	} u[3][2];
 	short f[0];
 } sample_struct;
 sample_struct mpers_target_var;
diff --git a/mpers-m32/sample_struct.d1 b/mpers-m32/sample_struct.d1
deleted file mode 100644
index 72955d6..0000000
--- a/mpers-m32/sample_struct.d1
+++ /dev/null
@@ -1,262 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x20d (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xde): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x2c): mpers-m32/sample_struct.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x46): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_structure_type)
-    <1e>   DW_AT_byte_size   : 72	
-    <1f>   DW_AT_decl_file   : 1	
-    <20>   DW_AT_decl_line   : 3	
-    <21>   DW_AT_sibling     : <0xd0>	
- <2><25>: Abbrev Number: 3 (DW_TAG_member)
-    <26>   DW_AT_name        : p	
-    <28>   DW_AT_decl_file   : 1	
-    <29>   DW_AT_decl_line   : 4	
-    <2a>   DW_AT_type        : <0xd0>	
-    <2e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><31>: Abbrev Number: 3 (DW_TAG_member)
-    <32>   DW_AT_name        : sc	
-    <35>   DW_AT_decl_file   : 1	
-    <36>   DW_AT_decl_line   : 5	
-    <37>   DW_AT_type        : <0xd2>	
-    <3b>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3e>: Abbrev Number: 3 (DW_TAG_member)
-    <3f>   DW_AT_name        : ss	
-    <42>   DW_AT_decl_file   : 1	
-    <43>   DW_AT_decl_line   : 7	
-    <44>   DW_AT_type        : <0xd9>	
-    <48>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><4b>: Abbrev Number: 3 (DW_TAG_member)
-    <4c>   DW_AT_name        : uc	
-    <4f>   DW_AT_decl_file   : 1	
-    <50>   DW_AT_decl_line   : 8	
-    <51>   DW_AT_type        : <0xe0>	
-    <55>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><58>: Abbrev Number: 3 (DW_TAG_member)
-    <59>   DW_AT_name        : si	
-    <5c>   DW_AT_decl_file   : 1	
-    <5d>   DW_AT_decl_line   : 10	
-    <5e>   DW_AT_type        : <0xe7>	
-    <62>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><65>: Abbrev Number: 3 (DW_TAG_member)
-    <66>   DW_AT_name        : ui	
-    <69>   DW_AT_decl_file   : 1	
-    <6a>   DW_AT_decl_line   : 11	
-    <6b>   DW_AT_type        : <0xee>	
-    <6f>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><72>: Abbrev Number: 3 (DW_TAG_member)
-    <73>   DW_AT_name        : sl	
-    <76>   DW_AT_decl_file   : 1	
-    <77>   DW_AT_decl_line   : 12	
-    <78>   DW_AT_type        : <0xf5>	
-    <7c>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><7f>: Abbrev Number: 3 (DW_TAG_member)
-    <80>   DW_AT_name        : us	
-    <83>   DW_AT_decl_file   : 1	
-    <84>   DW_AT_decl_line   : 13	
-    <85>   DW_AT_type        : <0xfc>	
-    <89>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><8c>: Abbrev Number: 3 (DW_TAG_member)
-    <8d>   DW_AT_name        : sll	
-    <91>   DW_AT_decl_file   : 1	
-    <92>   DW_AT_decl_line   : 15	
-    <93>   DW_AT_type        : <0x103>	
-    <97>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><9a>: Abbrev Number: 3 (DW_TAG_member)
-    <9b>   DW_AT_name        : ull	
-    <9f>   DW_AT_decl_file   : 1	
-    <a0>   DW_AT_decl_line   : 16	
-    <a1>   DW_AT_type        : <0x10a>	
-    <a5>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><a8>: Abbrev Number: 3 (DW_TAG_member)
-    <a9>   DW_AT_name        : ul	
-    <ac>   DW_AT_decl_file   : 1	
-    <ad>   DW_AT_decl_line   : 17	
-    <ae>   DW_AT_type        : <0x111>	
-    <b2>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><b5>: Abbrev Number: 3 (DW_TAG_member)
-    <b6>   DW_AT_name        : asl	
-    <ba>   DW_AT_decl_file   : 1	
-    <bb>   DW_AT_decl_line   : 18	
-    <bc>   DW_AT_type        : <0x118>	
-    <c0>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><c3>: Abbrev Number: 3 (DW_TAG_member)
-    <c4>   DW_AT_name        : f	
-    <c6>   DW_AT_decl_file   : 1	
-    <c7>   DW_AT_decl_line   : 19	
-    <c8>   DW_AT_type        : <0xd2>	
-    <cc>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><cf>: Abbrev Number: 0
- <1><d0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <d1>   DW_AT_byte_size   : 4	
- <1><d2>: Abbrev Number: 5 (DW_TAG_base_type)
-    <d3>   DW_AT_byte_size   : 1	
-    <d4>   DW_AT_encoding    : 6	(signed char)
-    <d5>   DW_AT_name        : (indirect string, offset: 0x85): char	
- <1><d9>: Abbrev Number: 5 (DW_TAG_base_type)
-    <da>   DW_AT_byte_size   : 2	
-    <db>   DW_AT_encoding    : 5	(signed)
-    <dc>   DW_AT_name        : (indirect string, offset: 0xd4): short int	
- <1><e0>: Abbrev Number: 5 (DW_TAG_base_type)
-    <e1>   DW_AT_byte_size   : 1	
-    <e2>   DW_AT_encoding    : 8	(unsigned char)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x77): unsigned char	
- <1><e7>: Abbrev Number: 6 (DW_TAG_base_type)
-    <e8>   DW_AT_byte_size   : 4	
-    <e9>   DW_AT_encoding    : 5	(signed)
-    <ea>   DW_AT_name        : int	
- <1><ee>: Abbrev Number: 5 (DW_TAG_base_type)
-    <ef>   DW_AT_byte_size   : 4	
-    <f0>   DW_AT_encoding    : 7	(unsigned)
-    <f1>   DW_AT_name        : (indirect string, offset: 0xe): unsigned int	
- <1><f5>: Abbrev Number: 5 (DW_TAG_base_type)
-    <f6>   DW_AT_byte_size   : 4	
-    <f7>   DW_AT_encoding    : 5	(signed)
-    <f8>   DW_AT_name        : (indirect string, offset: 0x8a): long int	
- <1><fc>: Abbrev Number: 5 (DW_TAG_base_type)
-    <fd>   DW_AT_byte_size   : 2	
-    <fe>   DW_AT_encoding    : 7	(unsigned)
-    <ff>   DW_AT_name        : (indirect string, offset: 0xb8): short unsigned int	
- <1><103>: Abbrev Number: 5 (DW_TAG_base_type)
-    <104>   DW_AT_byte_size   : 8	
-    <105>   DW_AT_encoding    : 5	(signed)
-    <106>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><10a>: Abbrev Number: 5 (DW_TAG_base_type)
-    <10b>   DW_AT_byte_size   : 8	
-    <10c>   DW_AT_encoding    : 7	(unsigned)
-    <10d>   DW_AT_name        : (indirect string, offset: 0x93): long long unsigned int	
- <1><111>: Abbrev Number: 5 (DW_TAG_base_type)
-    <112>   DW_AT_byte_size   : 4	
-    <113>   DW_AT_encoding    : 7	(unsigned)
-    <114>   DW_AT_name        : (indirect string, offset: 0x126): long unsigned int	
- <1><118>: Abbrev Number: 7 (DW_TAG_array_type)
-    <119>   DW_AT_type        : <0xf5>	
-    <11d>   DW_AT_sibling     : <0x128>	
- <2><121>: Abbrev Number: 8 (DW_TAG_subrange_type)
-    <122>   DW_AT_type        : <0x128>	
-    <126>   DW_AT_upper_bound : 2	
- <2><127>: Abbrev Number: 0
- <1><128>: Abbrev Number: 5 (DW_TAG_base_type)
-    <129>   DW_AT_byte_size   : 4	
-    <12a>   DW_AT_encoding    : 7	(unsigned)
-    <12b>   DW_AT_name        : (indirect string, offset: 0xcb): sizetype	
- <1><12f>: Abbrev Number: 9 (DW_TAG_union_type)
-    <130>   DW_AT_byte_size   : 8	
-    <131>   DW_AT_decl_file   : 1	
-    <132>   DW_AT_decl_line   : 22	
-    <133>   DW_AT_sibling     : <0x1a7>	
- <2><137>: Abbrev Number: 10 (DW_TAG_member)
-    <138>   DW_AT_name        : sll	
-    <13c>   DW_AT_decl_file   : 1	
-    <13d>   DW_AT_decl_line   : 23	
-    <13e>   DW_AT_type        : <0x103>	
- <2><142>: Abbrev Number: 10 (DW_TAG_member)
-    <143>   DW_AT_name        : ull	
-    <147>   DW_AT_decl_file   : 1	
-    <148>   DW_AT_decl_line   : 24	
-    <149>   DW_AT_type        : <0x10a>	
- <2><14d>: Abbrev Number: 10 (DW_TAG_member)
-    <14e>   DW_AT_name        : p	
-    <150>   DW_AT_decl_file   : 1	
-    <151>   DW_AT_decl_line   : 25	
-    <152>   DW_AT_type        : <0xd0>	
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : sl	
-    <15a>   DW_AT_decl_file   : 1	
-    <15b>   DW_AT_decl_line   : 26	
-    <15c>   DW_AT_type        : <0xf5>	
- <2><160>: Abbrev Number: 10 (DW_TAG_member)
-    <161>   DW_AT_name        : ul	
-    <164>   DW_AT_decl_file   : 1	
-    <165>   DW_AT_decl_line   : 27	
-    <166>   DW_AT_type        : <0x111>	
- <2><16a>: Abbrev Number: 10 (DW_TAG_member)
-    <16b>   DW_AT_name        : si	
-    <16e>   DW_AT_decl_file   : 1	
-    <16f>   DW_AT_decl_line   : 28	
-    <170>   DW_AT_type        : <0xe7>	
- <2><174>: Abbrev Number: 10 (DW_TAG_member)
-    <175>   DW_AT_name        : ui	
-    <178>   DW_AT_decl_file   : 1	
-    <179>   DW_AT_decl_line   : 29	
-    <17a>   DW_AT_type        : <0xee>	
- <2><17e>: Abbrev Number: 10 (DW_TAG_member)
-    <17f>   DW_AT_name        : ss	
-    <182>   DW_AT_decl_file   : 1	
-    <183>   DW_AT_decl_line   : 30	
-    <184>   DW_AT_type        : <0xd9>	
- <2><188>: Abbrev Number: 10 (DW_TAG_member)
-    <189>   DW_AT_name        : us	
-    <18c>   DW_AT_decl_file   : 1	
-    <18d>   DW_AT_decl_line   : 31	
-    <18e>   DW_AT_type        : <0xfc>	
- <2><192>: Abbrev Number: 10 (DW_TAG_member)
-    <193>   DW_AT_name        : sc	
-    <196>   DW_AT_decl_file   : 1	
-    <197>   DW_AT_decl_line   : 32	
-    <198>   DW_AT_type        : <0xd2>	
- <2><19c>: Abbrev Number: 10 (DW_TAG_member)
-    <19d>   DW_AT_name        : uc	
-    <1a0>   DW_AT_decl_file   : 1	
-    <1a1>   DW_AT_decl_line   : 33	
-    <1a2>   DW_AT_type        : <0xe0>	
- <2><1a6>: Abbrev Number: 0
- <1><1a7>: Abbrev Number: 2 (DW_TAG_structure_type)
-    <1a8>   DW_AT_byte_size   : 96	
-    <1a9>   DW_AT_decl_file   : 1	
-    <1aa>   DW_AT_decl_line   : 2	
-    <1ab>   DW_AT_sibling     : <0x1d4>	
- <2><1af>: Abbrev Number: 3 (DW_TAG_member)
-    <1b0>   DW_AT_name        : s	
-    <1b2>   DW_AT_decl_file   : 1	
-    <1b3>   DW_AT_decl_line   : 21	
-    <1b4>   DW_AT_type        : <0x1d>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1bb>: Abbrev Number: 3 (DW_TAG_member)
-    <1bc>   DW_AT_name        : u	
-    <1be>   DW_AT_decl_file   : 1	
-    <1bf>   DW_AT_decl_line   : 34	
-    <1c0>   DW_AT_type        : <0x1d4>	
-    <1c4>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1c7>: Abbrev Number: 3 (DW_TAG_member)
-    <1c8>   DW_AT_name        : f	
-    <1ca>   DW_AT_decl_file   : 1	
-    <1cb>   DW_AT_decl_line   : 35	
-    <1cc>   DW_AT_type        : <0x1e4>	
-    <1d0>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><1d3>: Abbrev Number: 0
- <1><1d4>: Abbrev Number: 7 (DW_TAG_array_type)
-    <1d5>   DW_AT_type        : <0x12f>	
-    <1d9>   DW_AT_sibling     : <0x1e4>	
- <2><1dd>: Abbrev Number: 8 (DW_TAG_subrange_type)
-    <1de>   DW_AT_type        : <0x128>	
-    <1e2>   DW_AT_upper_bound : 2	
- <2><1e3>: Abbrev Number: 0
- <1><1e4>: Abbrev Number: 7 (DW_TAG_array_type)
-    <1e5>   DW_AT_type        : <0xd9>	
-    <1e9>   DW_AT_sibling     : <0x1f3>	
- <2><1ed>: Abbrev Number: 11 (DW_TAG_subrange_type)
-    <1ee>   DW_AT_type        : <0x128>	
- <2><1f2>: Abbrev Number: 0
- <1><1f3>: Abbrev Number: 12 (DW_TAG_typedef)
-    <1f4>   DW_AT_name        : (indirect string, offset: 0xaa): sample_struct	
-    <1f8>   DW_AT_decl_file   : 1	
-    <1f9>   DW_AT_decl_line   : 36	
-    <1fa>   DW_AT_type        : <0x1a7>	
- <1><1fe>: Abbrev Number: 13 (DW_TAG_variable)
-    <1ff>   DW_AT_name        : (indirect string, offset: 0x1b): mpers_target_var	
-    <203>   DW_AT_decl_file   : 1	
-    <204>   DW_AT_decl_line   : 37	
-    <205>   DW_AT_type        : <0x1f3>	
-    <209>   DW_AT_external    : 1	
-    <20a>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><210>: Abbrev Number: 0
-
diff --git a/mpers-m32/sample_struct.d2 b/mpers-m32/sample_struct.d2
deleted file mode 100644
index 8b088b6..0000000
--- a/mpers-m32/sample_struct.d2
+++ /dev/null
@@ -1,291 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_structure_type)
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 3
-DW_AT_sibling     : <0xd0>
-<2><25>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : p
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_type        : <0xd0>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><31>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : sc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0xd2>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3e>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ss
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0xd9>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><4b>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : uc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe0>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><58>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : si
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xe7>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><65>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ui
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 11
-DW_AT_type        : <0xee>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><72>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : sl
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 12
-DW_AT_type        : <0xf5>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><7f>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : us
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 13
-DW_AT_type        : <0xfc>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><8c>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : sll
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 15
-DW_AT_type        : <0x103>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><9a>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ull
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 16
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><a8>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ul
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 17
-DW_AT_type        : <0x111>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><b5>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : asl
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 18
-DW_AT_type        : <0x118>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><c3>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : f
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 19
-DW_AT_type        : <0xd2>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<1><d0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><d2>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x85): char
-<1><d9>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xd4): short int
-<1><e0>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x77): unsigned char
-<1><e7>
-Abbrev Number: 6 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><ee>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe): unsigned int
-<1><f5>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x8a): long int
-<1><fc>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb8): short unsigned int
-<1><103>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><10a>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x93): long long unsigned int
-<1><111>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x126): long unsigned int
-<1><118>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0xf5>
-DW_AT_sibling     : <0x128>
-<2><121>
-Abbrev Number: 8 (DW_TAG_subrange_type)
-DW_AT_type        : <0x128>
-DW_AT_upper_bound : 2
-<1><128>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xcb): sizetype
-<1><12f>
-Abbrev Number: 9 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 22
-DW_AT_sibling     : <0x1a7>
-<2><137>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sll
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x103>
-<2><142>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ull
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 24
-DW_AT_type        : <0x10a>
-<2><14d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : p
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 25
-DW_AT_type        : <0xd0>
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sl
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 26
-DW_AT_type        : <0xf5>
-<2><160>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ul
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x111>
-<2><16a>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : si
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 28
-DW_AT_type        : <0xe7>
-<2><174>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ui
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 29
-DW_AT_type        : <0xee>
-<2><17e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ss
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 30
-DW_AT_type        : <0xd9>
-<2><188>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : us
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 31
-DW_AT_type        : <0xfc>
-<2><192>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 32
-DW_AT_type        : <0xd2>
-<2><19c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : uc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 33
-DW_AT_type        : <0xe0>
-<1><1a7>
-Abbrev Number: 2 (DW_TAG_structure_type)
-DW_AT_byte_size   : 96
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 2
-DW_AT_sibling     : <0x1d4>
-<2><1af>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : s
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 21
-DW_AT_type        : <0x1d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1bb>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : u
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1d4>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><1c7>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : f
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x1e4>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<1><1d4>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0x12f>
-DW_AT_sibling     : <0x1e4>
-<2><1dd>
-Abbrev Number: 8 (DW_TAG_subrange_type)
-DW_AT_type        : <0x128>
-DW_AT_upper_bound : 2
-<1><1e4>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0xd9>
-DW_AT_sibling     : <0x1f3>
-<2><1ed>
-Abbrev Number: 11 (DW_TAG_subrange_type)
-DW_AT_type        : <0x128>
-<1><1f3>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xaa): sample_struct
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x1a7>
-<1><1fe>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b): mpers_target_var
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x1f3>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/sample_struct.h b/mpers-m32/sample_struct.h
index 4c83984..f7a21ac 100644
--- a/mpers-m32/sample_struct.h
+++ b/mpers-m32/sample_struct.h
@@ -17,7 +17,7 @@
 int64_t sll;
 uint64_t ull;
 uint32_t ul;
-int32_t asl[3];
+int32_t asl[3][5][7];
 char f;
 unsigned char mpers_end_filler_4[7];
 } ATTRIBUTE_PACKED s;
@@ -29,11 +29,11 @@
 uint32_t ul;
 int32_t si;
 uint32_t ui;
-int16_t ss;
-uint16_t us;
+int16_t ss[7][9];
+uint16_t us[4];
 char sc;
 unsigned char uc;
-} u[3];
+} u[3][2];
 int16_t f[0];
 } ATTRIBUTE_PACKED m32_sample_struct;
 #define MPERS_m32_sample_struct m32_sample_struct
diff --git a/mpers-m32/seccomp_fprog_t.c b/mpers-m32/seccomp_fprog_t.c
index 7f2f131..f26c70c 100644
--- a/mpers-m32/seccomp_fprog_t.c
+++ b/mpers-m32/seccomp_fprog_t.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/seccomp_fprog_t.d1 b/mpers-m32/seccomp_fprog_t.d1
deleted file mode 100644
index ed12ff3..0000000
--- a/mpers-m32/seccomp_fprog_t.d1
+++ /dev/null
@@ -1,179 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x16a (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x16d): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xd4): mpers-m32/seccomp_fprog_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x80): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x141): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x156): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x109): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xb8): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x12e): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x160): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x69): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0xcb): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x57): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x14d): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0xc6): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x117): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x51): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xf9): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0xf0): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x1f): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x11): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x103): _Bool	
- <1><fd>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x28): seccomp_fprog	
-    <102>   DW_AT_byte_size   : 8	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 4	
-    <105>   DW_AT_sibling     : <0x126>	
- <2><109>: Abbrev Number: 8 (DW_TAG_member)
-    <10a>   DW_AT_name        : len	
-    <10e>   DW_AT_decl_file   : 2	
-    <10f>   DW_AT_decl_line   : 5	
-    <110>   DW_AT_type        : <0x40>	
-    <114>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><117>: Abbrev Number: 7 (DW_TAG_member)
-    <118>   DW_AT_name        : (indirect string, offset: 0xb1): filter	
-    <11c>   DW_AT_decl_file   : 2	
-    <11d>   DW_AT_decl_line   : 6	
-    <11e>   DW_AT_type        : <0x5c>	
-    <122>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><125>: Abbrev Number: 0
- <1><126>: Abbrev Number: 11 (DW_TAG_typedef)
-    <127>   DW_AT_name        : (indirect string, offset: 0x11e): seccomp_fprog_t	
-    <12b>   DW_AT_decl_file   : 3	
-    <12c>   DW_AT_decl_line   : 32	
-    <12d>   DW_AT_type        : <0xfd>	
- <1><131>: Abbrev Number: 12 (DW_TAG_variable)
-    <132>   DW_AT_name        : (indirect string, offset: 0x0): current_wordsize	
-    <136>   DW_AT_decl_file   : 4	
-    <137>   DW_AT_decl_line   : 757	
-    <139>   DW_AT_type        : <0x47>	
-    <13d>   DW_AT_external    : 1	
-    <13e>   DW_AT_declaration : 1	
- <1><13f>: Abbrev Number: 12 (DW_TAG_variable)
-    <140>   DW_AT_name        : (indirect string, offset: 0x117): sysent	
-    <144>   DW_AT_decl_file   : 4	
-    <145>   DW_AT_decl_line   : 892	
-    <147>   DW_AT_type        : <0xeb>	
-    <14b>   DW_AT_external    : 1	
-    <14c>   DW_AT_declaration : 1	
- <1><14d>: Abbrev Number: 12 (DW_TAG_variable)
-    <14e>   DW_AT_name        : (indirect string, offset: 0x36): nsyscalls	
-    <152>   DW_AT_decl_file   : 4	
-    <153>   DW_AT_decl_line   : 903	
-    <155>   DW_AT_type        : <0x47>	
-    <159>   DW_AT_external    : 1	
-    <15a>   DW_AT_declaration : 1	
- <1><15b>: Abbrev Number: 13 (DW_TAG_variable)
-    <15c>   DW_AT_name        : (indirect string, offset: 0x40): mpers_target_var	
-    <160>   DW_AT_decl_file   : 3	
-    <161>   DW_AT_decl_line   : 34	
-    <162>   DW_AT_type        : <0x126>	
-    <166>   DW_AT_external    : 1	
-    <167>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><16d>: Abbrev Number: 0
-
diff --git a/mpers-m32/seccomp_fprog_t.d2 b/mpers-m32/seccomp_fprog_t.d2
deleted file mode 100644
index d3ce1e2..0000000
--- a/mpers-m32/seccomp_fprog_t.d2
+++ /dev/null
@@ -1,196 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x141): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x156): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x109): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xb8): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12e): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x160): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x69): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xcb): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x57): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14d): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0xc6): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x117): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x51): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf9): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf0): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x103): _Bool
-<1><fd>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x28): seccomp_fprog
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x126>
-<2><109>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><117>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb1): filter
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><126>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11e): seccomp_fprog_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0xfd>
-<1><131>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x0): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><13f>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x117): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><14d>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x36): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><15b>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x40): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x126>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/shmid_ds_t.c b/mpers-m32/shmid_ds_t.c
index 0d77b84..af4a7d2 100644
--- a/mpers-m32/shmid_ds_t.c
+++ b/mpers-m32/shmid_ds_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/shmid_ds_t.d1 b/mpers-m32/shmid_ds_t.d1
deleted file mode 100644
index e01ede7..0000000
--- a/mpers-m32/shmid_ds_t.d1
+++ /dev/null
@@ -1,358 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x303 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x11b): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xa4): mpers-m32/shmid_ds_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x19f): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x282): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x215): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1eb): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x96): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x41): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x172): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x7f): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x271): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xbb): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x39): __uid_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 125	
-    <6a>   DW_AT_type        : <0x47>	
- <1><6e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x1da): __gid_t	
-    <73>   DW_AT_decl_file   : 1	
-    <74>   DW_AT_decl_line   : 126	
-    <75>   DW_AT_type        : <0x47>	
- <1><79>: Abbrev Number: 4 (DW_TAG_typedef)
-    <7a>   DW_AT_name        : (indirect string, offset: 0x27a): __pid_t	
-    <7e>   DW_AT_decl_file   : 1	
-    <7f>   DW_AT_decl_line   : 133	
-    <80>   DW_AT_type        : <0x2b>	
- <1><84>: Abbrev Number: 2 (DW_TAG_base_type)
-    <85>   DW_AT_byte_size   : 4	
-    <86>   DW_AT_encoding    : 7	(unsigned)
-    <87>   DW_AT_name        : (indirect string, offset: 0x1e2): sizetype	
- <1><8b>: Abbrev Number: 4 (DW_TAG_typedef)
-    <8c>   DW_AT_name        : (indirect string, offset: 0x10c): __time_t	
-    <90>   DW_AT_decl_file   : 1	
-    <91>   DW_AT_decl_line   : 139	
-    <92>   DW_AT_type        : <0x55>	
- <1><96>: Abbrev Number: 4 (DW_TAG_typedef)
-    <97>   DW_AT_name        : (indirect string, offset: 0x197): __key_t	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 144	
-    <9d>   DW_AT_type        : <0x2b>	
- <1><a1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x54): __syscall_ulong_t	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 177	
-    <a8>   DW_AT_type        : <0x5c>	
- <1><ac>: Abbrev Number: 2 (DW_TAG_base_type)
-    <ad>   DW_AT_byte_size   : 1	
-    <ae>   DW_AT_encoding    : 6	(signed char)
-    <af>   DW_AT_name        : (indirect string, offset: 0x18d): char	
- <1><b3>: Abbrev Number: 4 (DW_TAG_typedef)
-    <b4>   DW_AT_name        : (indirect string, offset: 0x0): size_t	
-    <b8>   DW_AT_decl_file   : 2	
-    <b9>   DW_AT_decl_line   : 212	
-    <ba>   DW_AT_type        : <0x47>	
- <1><be>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <bf>   DW_AT_byte_size   : 4	
-    <c0>   DW_AT_type        : <0xc4>	
- <1><c4>: Abbrev Number: 6 (DW_TAG_const_type)
-    <c5>   DW_AT_type        : <0xac>	
- <1><c9>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <ca>   DW_AT_name        : (indirect string, offset: 0xd2): sysent	
-    <ce>   DW_AT_byte_size   : 20	
-    <cf>   DW_AT_decl_file   : 3	
-    <d0>   DW_AT_decl_line   : 4	
-    <d1>   DW_AT_sibling     : <0x11c>	
- <2><d5>: Abbrev Number: 8 (DW_TAG_member)
-    <d6>   DW_AT_name        : (indirect string, offset: 0x115): nargs	
-    <da>   DW_AT_decl_file   : 3	
-    <db>   DW_AT_decl_line   : 5	
-    <dc>   DW_AT_type        : <0x47>	
-    <e0>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><e3>: Abbrev Number: 8 (DW_TAG_member)
-    <e4>   DW_AT_name        : (indirect string, offset: 0x75): sys_flags	
-    <e8>   DW_AT_decl_file   : 3	
-    <e9>   DW_AT_decl_line   : 6	
-    <ea>   DW_AT_type        : <0x2b>	
-    <ee>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><f1>: Abbrev Number: 9 (DW_TAG_member)
-    <f2>   DW_AT_name        : sen	
-    <f6>   DW_AT_decl_file   : 3	
-    <f7>   DW_AT_decl_line   : 7	
-    <f8>   DW_AT_type        : <0x2b>	
-    <fc>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><ff>: Abbrev Number: 8 (DW_TAG_member)
-    <100>   DW_AT_name        : (indirect string, offset: 0x2bb): sys_func	
-    <104>   DW_AT_decl_file   : 3	
-    <105>   DW_AT_decl_line   : 8	
-    <106>   DW_AT_type        : <0x127>	
-    <10a>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><10d>: Abbrev Number: 8 (DW_TAG_member)
-    <10e>   DW_AT_name        : (indirect string, offset: 0x66): sys_name	
-    <112>   DW_AT_decl_file   : 3	
-    <113>   DW_AT_decl_line   : 9	
-    <114>   DW_AT_type        : <0xbe>	
-    <118>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><11b>: Abbrev Number: 0
- <1><11c>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <11d>   DW_AT_type        : <0x2b>	
-    <121>   DW_AT_sibling     : <0x127>	
- <2><125>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><126>: Abbrev Number: 0
- <1><127>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <128>   DW_AT_byte_size   : 4	
-    <129>   DW_AT_type        : <0x11c>	
- <1><12d>: Abbrev Number: 4 (DW_TAG_typedef)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x17f): struct_sysent	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 10	
-    <134>   DW_AT_type        : <0xc9>	
- <1><138>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <139>   DW_AT_byte_size   : 4	
-    <13a>   DW_AT_type        : <0x13e>	
- <1><13e>: Abbrev Number: 6 (DW_TAG_const_type)
-    <13f>   DW_AT_type        : <0x12d>	
- <1><143>: Abbrev Number: 2 (DW_TAG_base_type)
-    <144>   DW_AT_byte_size   : 1	
-    <145>   DW_AT_encoding    : 2	(boolean)
-    <146>   DW_AT_name        : (indirect string, offset: 0x2c): _Bool	
- <1><14a>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x231): ipc_perm	
-    <14f>   DW_AT_byte_size   : 36	
-    <150>   DW_AT_decl_file   : 4	
-    <151>   DW_AT_decl_line   : 42	
-    <152>   DW_AT_sibling     : <0x1f1>	
- <2><156>: Abbrev Number: 8 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x16c): __key	
-    <15b>   DW_AT_decl_file   : 4	
-    <15c>   DW_AT_decl_line   : 44	
-    <15d>   DW_AT_type        : <0x96>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><164>: Abbrev Number: 9 (DW_TAG_member)
-    <165>   DW_AT_name        : uid	
-    <169>   DW_AT_decl_file   : 4	
-    <16a>   DW_AT_decl_line   : 45	
-    <16b>   DW_AT_type        : <0x63>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><172>: Abbrev Number: 9 (DW_TAG_member)
-    <173>   DW_AT_name        : gid	
-    <177>   DW_AT_decl_file   : 4	
-    <178>   DW_AT_decl_line   : 46	
-    <179>   DW_AT_type        : <0x6e>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 8 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0xe4): cuid	
-    <185>   DW_AT_decl_file   : 4	
-    <186>   DW_AT_decl_line   : 47	
-    <187>   DW_AT_type        : <0x63>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18e>: Abbrev Number: 8 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0xcd): cgid	
-    <193>   DW_AT_decl_file   : 4	
-    <194>   DW_AT_decl_line   : 48	
-    <195>   DW_AT_type        : <0x6e>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 8 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x192): mode	
-    <1a1>   DW_AT_decl_file   : 4	
-    <1a2>   DW_AT_decl_line   : 49	
-    <1a3>   DW_AT_type        : <0x40>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1aa>: Abbrev Number: 8 (DW_TAG_member)
-    <1ab>   DW_AT_name        : (indirect string, offset: 0x26a): __pad1	
-    <1af>   DW_AT_decl_file   : 4	
-    <1b0>   DW_AT_decl_line   : 50	
-    <1b1>   DW_AT_type        : <0x40>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
- <2><1b8>: Abbrev Number: 8 (DW_TAG_member)
-    <1b9>   DW_AT_name        : (indirect string, offset: 0x6f): __seq	
-    <1bd>   DW_AT_decl_file   : 4	
-    <1be>   DW_AT_decl_line   : 51	
-    <1bf>   DW_AT_type        : <0x40>	
-    <1c3>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1c6>: Abbrev Number: 8 (DW_TAG_member)
-    <1c7>   DW_AT_name        : (indirect string, offset: 0x32): __pad2	
-    <1cb>   DW_AT_decl_file   : 4	
-    <1cc>   DW_AT_decl_line   : 52	
-    <1cd>   DW_AT_type        : <0x40>	
-    <1d1>   DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
- <2><1d4>: Abbrev Number: 8 (DW_TAG_member)
-    <1d5>   DW_AT_name        : (indirect string, offset: 0xe9): __glibc_reserved1	
-    <1d9>   DW_AT_decl_file   : 4	
-    <1da>   DW_AT_decl_line   : 53	
-    <1db>   DW_AT_type        : <0xa1>	
-    <1df>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1e2>: Abbrev Number: 8 (DW_TAG_member)
-    <1e3>   DW_AT_name        : (indirect string, offset: 0x21f): __glibc_reserved2	
-    <1e7>   DW_AT_decl_file   : 4	
-    <1e8>   DW_AT_decl_line   : 54	
-    <1e9>   DW_AT_type        : <0xa1>	
-    <1ed>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1f0>: Abbrev Number: 0
- <1><1f1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <1f2>   DW_AT_name        : (indirect string, offset: 0x2a0): shmatt_t	
-    <1f6>   DW_AT_decl_file   : 5	
-    <1f7>   DW_AT_decl_line   : 46	
-    <1f8>   DW_AT_type        : <0xa1>	
- <1><1fc>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <1fd>   DW_AT_name        : (indirect string, offset: 0x256): shmid_ds	
-    <201>   DW_AT_byte_size   : 84	
-    <202>   DW_AT_decl_file   : 5	
-    <203>   DW_AT_decl_line   : 49	
-    <204>   DW_AT_sibling     : <0x2bf>	
- <2><208>: Abbrev Number: 8 (DW_TAG_member)
-    <209>   DW_AT_name        : (indirect string, offset: 0x1f9): shm_perm	
-    <20d>   DW_AT_decl_file   : 5	
-    <20e>   DW_AT_decl_line   : 51	
-    <20f>   DW_AT_type        : <0x14a>	
-    <213>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><216>: Abbrev Number: 8 (DW_TAG_member)
-    <217>   DW_AT_name        : (indirect string, offset: 0x18): shm_segsz	
-    <21b>   DW_AT_decl_file   : 5	
-    <21c>   DW_AT_decl_line   : 52	
-    <21d>   DW_AT_type        : <0xb3>	
-    <221>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><224>: Abbrev Number: 8 (DW_TAG_member)
-    <225>   DW_AT_name        : (indirect string, offset: 0x202): shm_atime	
-    <229>   DW_AT_decl_file   : 5	
-    <22a>   DW_AT_decl_line   : 53	
-    <22b>   DW_AT_type        : <0x8b>	
-    <22f>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><232>: Abbrev Number: 8 (DW_TAG_member)
-    <233>   DW_AT_name        : (indirect string, offset: 0xe9): __glibc_reserved1	
-    <237>   DW_AT_decl_file   : 5	
-    <238>   DW_AT_decl_line   : 55	
-    <239>   DW_AT_type        : <0x5c>	
-    <23d>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><240>: Abbrev Number: 8 (DW_TAG_member)
-    <241>   DW_AT_name        : (indirect string, offset: 0x22): shm_dtime	
-    <245>   DW_AT_decl_file   : 5	
-    <246>   DW_AT_decl_line   : 57	
-    <247>   DW_AT_type        : <0x8b>	
-    <24b>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><24e>: Abbrev Number: 8 (DW_TAG_member)
-    <24f>   DW_AT_name        : (indirect string, offset: 0x21f): __glibc_reserved2	
-    <253>   DW_AT_decl_file   : 5	
-    <254>   DW_AT_decl_line   : 59	
-    <255>   DW_AT_type        : <0x5c>	
-    <259>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><25c>: Abbrev Number: 8 (DW_TAG_member)
-    <25d>   DW_AT_name        : (indirect string, offset: 0x23a): shm_ctime	
-    <261>   DW_AT_decl_file   : 5	
-    <262>   DW_AT_decl_line   : 61	
-    <263>   DW_AT_type        : <0x8b>	
-    <267>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><26a>: Abbrev Number: 8 (DW_TAG_member)
-    <26b>   DW_AT_name        : (indirect string, offset: 0x28e): __glibc_reserved3	
-    <26f>   DW_AT_decl_file   : 5	
-    <270>   DW_AT_decl_line   : 63	
-    <271>   DW_AT_type        : <0x5c>	
-    <275>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><278>: Abbrev Number: 8 (DW_TAG_member)
-    <279>   DW_AT_name        : (indirect string, offset: 0x20c): shm_cpid	
-    <27d>   DW_AT_decl_file   : 5	
-    <27e>   DW_AT_decl_line   : 65	
-    <27f>   DW_AT_type        : <0x79>	
-    <283>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><286>: Abbrev Number: 8 (DW_TAG_member)
-    <287>   DW_AT_name        : (indirect string, offset: 0x163): shm_lpid	
-    <28b>   DW_AT_decl_file   : 5	
-    <28c>   DW_AT_decl_line   : 66	
-    <28d>   DW_AT_type        : <0x79>	
-    <291>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><294>: Abbrev Number: 8 (DW_TAG_member)
-    <295>   DW_AT_name        : (indirect string, offset: 0x25f): shm_nattch	
-    <299>   DW_AT_decl_file   : 5	
-    <29a>   DW_AT_decl_line   : 67	
-    <29b>   DW_AT_type        : <0x1f1>	
-    <29f>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><2a2>: Abbrev Number: 8 (DW_TAG_member)
-    <2a3>   DW_AT_name        : (indirect string, offset: 0x2a9): __glibc_reserved4	
-    <2a7>   DW_AT_decl_file   : 5	
-    <2a8>   DW_AT_decl_line   : 68	
-    <2a9>   DW_AT_type        : <0xa1>	
-    <2ad>   DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
- <2><2b0>: Abbrev Number: 8 (DW_TAG_member)
-    <2b1>   DW_AT_name        : (indirect string, offset: 0x244): __glibc_reserved5	
-    <2b5>   DW_AT_decl_file   : 5	
-    <2b6>   DW_AT_decl_line   : 69	
-    <2b7>   DW_AT_type        : <0xa1>	
-    <2bb>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><2be>: Abbrev Number: 0
- <1><2bf>: Abbrev Number: 4 (DW_TAG_typedef)
-    <2c0>   DW_AT_name        : (indirect string, offset: 0xd9): shmid_ds_t	
-    <2c4>   DW_AT_decl_file   : 6	
-    <2c5>   DW_AT_decl_line   : 41	
-    <2c6>   DW_AT_type        : <0x1fc>	
- <1><2ca>: Abbrev Number: 12 (DW_TAG_variable)
-    <2cb>   DW_AT_name        : (indirect string, offset: 0xfb): current_wordsize	
-    <2cf>   DW_AT_decl_file   : 7	
-    <2d0>   DW_AT_decl_line   : 757	
-    <2d2>   DW_AT_type        : <0x47>	
-    <2d6>   DW_AT_external    : 1	
-    <2d7>   DW_AT_declaration : 1	
- <1><2d8>: Abbrev Number: 12 (DW_TAG_variable)
-    <2d9>   DW_AT_name        : (indirect string, offset: 0xd2): sysent	
-    <2dd>   DW_AT_decl_file   : 7	
-    <2de>   DW_AT_decl_line   : 892	
-    <2e0>   DW_AT_type        : <0x138>	
-    <2e4>   DW_AT_external    : 1	
-    <2e5>   DW_AT_declaration : 1	
- <1><2e6>: Abbrev Number: 12 (DW_TAG_variable)
-    <2e7>   DW_AT_name        : (indirect string, offset: 0x1d0): nsyscalls	
-    <2eb>   DW_AT_decl_file   : 7	
-    <2ec>   DW_AT_decl_line   : 903	
-    <2ee>   DW_AT_type        : <0x47>	
-    <2f2>   DW_AT_external    : 1	
-    <2f3>   DW_AT_declaration : 1	
- <1><2f4>: Abbrev Number: 13 (DW_TAG_variable)
-    <2f5>   DW_AT_name        : (indirect string, offset: 0x7): mpers_target_var	
-    <2f9>   DW_AT_decl_file   : 6	
-    <2fa>   DW_AT_decl_line   : 48	
-    <2fb>   DW_AT_type        : <0x2bf>	
-    <2ff>   DW_AT_external    : 1	
-    <300>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><306>: Abbrev Number: 0
-
diff --git a/mpers-m32/shmid_ds_t.d2 b/mpers-m32/shmid_ds_t.d2
deleted file mode 100644
index ee44b07..0000000
--- a/mpers-m32/shmid_ds_t.d2
+++ /dev/null
@@ -1,405 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x282): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x215): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1eb): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x96): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x41): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x172): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7f): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x271): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbb): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x39): __uid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-<1><6e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1da): __gid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x47>
-<1><79>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x27a): __pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x2b>
-<1><84>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1e2): sizetype
-<1><8b>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x10c): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><96>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x197): __key_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<1><a1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x54): __syscall_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 177
-DW_AT_type        : <0x5c>
-<1><ac>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x18d): char
-<1><b3>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><be>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xc4>
-<1><c4>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xac>
-<1><c9>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd2): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x11c>
-<2><d5>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x115): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><e3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x75): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><f1>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><ff>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2bb): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x127>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><10d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x66): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xbe>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><11c>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x127>
-<2><125>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><127>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x11c>
-<1><12d>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17f): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xc9>
-<1><138>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x13e>
-<1><13e>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x12d>
-<1><143>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2c): _Bool
-<1><14a>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x231): ipc_perm
-DW_AT_byte_size   : 36
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_sibling     : <0x1f1>
-<2><156>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16c): __key
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x96>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><164>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : uid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><172>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : gid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe4): cuid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><18e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcd): cgid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x192): mode
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26a): __pad1
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
-<2><1b8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6f): __seq
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1c6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x32): __pad2
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
-<2><1d4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe9): __glibc_reserved1
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 53
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><1e2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21f): __glibc_reserved2
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 54
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<1><1f1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2a0): shmatt_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 46
-DW_AT_type        : <0xa1>
-<1><1fc>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x256): shmid_ds
-DW_AT_byte_size   : 84
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 49
-DW_AT_sibling     : <0x2bf>
-<2><208>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f9): shm_perm
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x14a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><216>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18): shm_segsz
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 52
-DW_AT_type        : <0xb3>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><224>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x202): shm_atime
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><232>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe9): __glibc_reserved1
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><240>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22): shm_dtime
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><24e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21f): __glibc_reserved2
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><25c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23a): shm_ctime
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><26a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28e): __glibc_reserved3
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 63
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><278>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20c): shm_cpid
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 65
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><286>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x163): shm_lpid
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 66
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<2><294>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25f): shm_nattch
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 67
-DW_AT_type        : <0x1f1>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><2a2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2a9): __glibc_reserved4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 68
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
-<2><2b0>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x244): __glibc_reserved5
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 69
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<1><2bf>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xd9): shmid_ds_t
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x1fc>
-<1><2ca>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xfb): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2d8>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd2): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x138>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2e6>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1d0): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2f4>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x7): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x2bf>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/siginfo_t.c b/mpers-m32/siginfo_t.c
index b00fa38..fbd003c 100644
--- a/mpers-m32/siginfo_t.c
+++ b/mpers-m32/siginfo_t.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2013 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2011-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/siginfo_t.d1 b/mpers-m32/siginfo_t.d1
deleted file mode 100644
index c46c3c5..0000000
--- a/mpers-m32/siginfo_t.d1
+++ /dev/null
@@ -1,449 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x3a6 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x126): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x19e): mpers-m32/siginfo_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x254): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x240): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x213): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x9f): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xad): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x3b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x59): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x297): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x22f): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xcc): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x33): __uid_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 125	
-    <6a>   DW_AT_type        : <0x47>	
- <1><6e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x238): __pid_t	
-    <73>   DW_AT_decl_file   : 1	
-    <74>   DW_AT_decl_line   : 133	
-    <75>   DW_AT_type        : <0x2b>	
- <1><79>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7a>   DW_AT_byte_size   : 4	
-    <7b>   DW_AT_encoding    : 7	(unsigned)
-    <7c>   DW_AT_name        : (indirect string, offset: 0x1d6): sizetype	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0x1ff): __clock_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 135	
-    <87>   DW_AT_type        : <0x55>	
- <1><8b>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <8c>   DW_AT_byte_size   : 4	
- <1><8d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8e>   DW_AT_byte_size   : 1	
-    <8f>   DW_AT_encoding    : 6	(signed char)
-    <90>   DW_AT_name        : (indirect string, offset: 0x199): char	
- <1><94>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <95>   DW_AT_byte_size   : 4	
-    <96>   DW_AT_type        : <0x9a>	
- <1><9a>: Abbrev Number: 7 (DW_TAG_const_type)
-    <9b>   DW_AT_type        : <0x8d>	
- <1><9f>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <a0>   DW_AT_name        : (indirect string, offset: 0xde): sysent	
-    <a4>   DW_AT_byte_size   : 20	
-    <a5>   DW_AT_decl_file   : 2	
-    <a6>   DW_AT_decl_line   : 4	
-    <a7>   DW_AT_sibling     : <0xf2>	
- <2><ab>: Abbrev Number: 9 (DW_TAG_member)
-    <ac>   DW_AT_name        : (indirect string, offset: 0x10d): nargs	
-    <b0>   DW_AT_decl_file   : 2	
-    <b1>   DW_AT_decl_line   : 5	
-    <b2>   DW_AT_type        : <0x47>	
-    <b6>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b9>: Abbrev Number: 9 (DW_TAG_member)
-    <ba>   DW_AT_name        : (indirect string, offset: 0x95): sys_flags	
-    <be>   DW_AT_decl_file   : 2	
-    <bf>   DW_AT_decl_line   : 6	
-    <c0>   DW_AT_type        : <0x2b>	
-    <c4>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c7>: Abbrev Number: 10 (DW_TAG_member)
-    <c8>   DW_AT_name        : sen	
-    <cc>   DW_AT_decl_file   : 2	
-    <cd>   DW_AT_decl_line   : 7	
-    <ce>   DW_AT_type        : <0x2b>	
-    <d2>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d5>: Abbrev Number: 9 (DW_TAG_member)
-    <d6>   DW_AT_name        : (indirect string, offset: 0x28e): sys_func	
-    <da>   DW_AT_decl_file   : 2	
-    <db>   DW_AT_decl_line   : 8	
-    <dc>   DW_AT_type        : <0xfd>	
-    <e0>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e3>: Abbrev Number: 9 (DW_TAG_member)
-    <e4>   DW_AT_name        : (indirect string, offset: 0x6e): sys_name	
-    <e8>   DW_AT_decl_file   : 2	
-    <e9>   DW_AT_decl_line   : 9	
-    <ea>   DW_AT_type        : <0x94>	
-    <ee>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><f1>: Abbrev Number: 0
- <1><f2>: Abbrev Number: 11 (DW_TAG_subroutine_type)
-    <f3>   DW_AT_type        : <0x2b>	
-    <f7>   DW_AT_sibling     : <0xfd>	
- <2><fb>: Abbrev Number: 12 (DW_TAG_unspecified_parameters)
- <2><fc>: Abbrev Number: 0
- <1><fd>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <fe>   DW_AT_byte_size   : 4	
-    <ff>   DW_AT_type        : <0xf2>	
- <1><103>: Abbrev Number: 4 (DW_TAG_typedef)
-    <104>   DW_AT_name        : (indirect string, offset: 0x181): struct_sysent	
-    <108>   DW_AT_decl_file   : 2	
-    <109>   DW_AT_decl_line   : 10	
-    <10a>   DW_AT_type        : <0x9f>	
- <1><10e>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <10f>   DW_AT_byte_size   : 4	
-    <110>   DW_AT_type        : <0x114>	
- <1><114>: Abbrev Number: 7 (DW_TAG_const_type)
-    <115>   DW_AT_type        : <0x103>	
- <1><119>: Abbrev Number: 2 (DW_TAG_base_type)
-    <11a>   DW_AT_byte_size   : 1	
-    <11b>   DW_AT_encoding    : 2	(boolean)
-    <11c>   DW_AT_name        : (indirect string, offset: 0x26): _Bool	
- <1><120>: Abbrev Number: 13 (DW_TAG_union_type)
-    <121>   DW_AT_name        : (indirect string, offset: 0x1f8): sigval	
-    <125>   DW_AT_byte_size   : 4	
-    <126>   DW_AT_decl_file   : 3	
-    <127>   DW_AT_decl_line   : 32	
-    <128>   DW_AT_sibling     : <0x143>	
- <2><12c>: Abbrev Number: 14 (DW_TAG_member)
-    <12d>   DW_AT_name        : (indirect string, offset: 0xbb): sival_int	
-    <131>   DW_AT_decl_file   : 3	
-    <132>   DW_AT_decl_line   : 34	
-    <133>   DW_AT_type        : <0x2b>	
- <2><137>: Abbrev Number: 14 (DW_TAG_member)
-    <138>   DW_AT_name        : (indirect string, offset: 0x2b6): sival_ptr	
-    <13c>   DW_AT_decl_file   : 3	
-    <13d>   DW_AT_decl_line   : 35	
-    <13e>   DW_AT_type        : <0x8b>	
- <2><142>: Abbrev Number: 0
- <1><143>: Abbrev Number: 4 (DW_TAG_typedef)
-    <144>   DW_AT_name        : (indirect string, offset: 0x113): sigval_t	
-    <148>   DW_AT_decl_file   : 3	
-    <149>   DW_AT_decl_line   : 36	
-    <14a>   DW_AT_type        : <0x120>	
- <1><14e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <14f>   DW_AT_name        : (indirect string, offset: 0x1c4): __sigchld_clock_t	
-    <153>   DW_AT_decl_file   : 3	
-    <154>   DW_AT_decl_line   : 58	
-    <155>   DW_AT_type        : <0x80>	
- <1><159>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <15a>   DW_AT_byte_size   : 8	
-    <15b>   DW_AT_decl_file   : 3	
-    <15c>   DW_AT_decl_line   : 74	
-    <15d>   DW_AT_sibling     : <0x17e>	
- <2><161>: Abbrev Number: 9 (DW_TAG_member)
-    <162>   DW_AT_name        : (indirect string, offset: 0x7d): si_pid	
-    <166>   DW_AT_decl_file   : 3	
-    <167>   DW_AT_decl_line   : 76	
-    <168>   DW_AT_type        : <0x6e>	
-    <16c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><16f>: Abbrev Number: 9 (DW_TAG_member)
-    <170>   DW_AT_name        : (indirect string, offset: 0xc5): si_uid	
-    <174>   DW_AT_decl_file   : 3	
-    <175>   DW_AT_decl_line   : 77	
-    <176>   DW_AT_type        : <0x63>	
-    <17a>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><17d>: Abbrev Number: 0
- <1><17e>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <17f>   DW_AT_byte_size   : 12	
-    <180>   DW_AT_decl_file   : 3	
-    <181>   DW_AT_decl_line   : 81	
-    <182>   DW_AT_sibling     : <0x1b1>	
- <2><186>: Abbrev Number: 9 (DW_TAG_member)
-    <187>   DW_AT_name        : (indirect string, offset: 0x2c): si_tid	
-    <18b>   DW_AT_decl_file   : 3	
-    <18c>   DW_AT_decl_line   : 83	
-    <18d>   DW_AT_type        : <0x2b>	
-    <191>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><194>: Abbrev Number: 9 (DW_TAG_member)
-    <195>   DW_AT_name        : (indirect string, offset: 0x4e): si_overrun	
-    <199>   DW_AT_decl_file   : 3	
-    <19a>   DW_AT_decl_line   : 84	
-    <19b>   DW_AT_type        : <0x2b>	
-    <19f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1a2>: Abbrev Number: 9 (DW_TAG_member)
-    <1a3>   DW_AT_name        : (indirect string, offset: 0x18f): si_sigval	
-    <1a7>   DW_AT_decl_file   : 3	
-    <1a8>   DW_AT_decl_line   : 85	
-    <1a9>   DW_AT_type        : <0x143>	
-    <1ad>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1b0>: Abbrev Number: 0
- <1><1b1>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <1b2>   DW_AT_byte_size   : 12	
-    <1b3>   DW_AT_decl_file   : 3	
-    <1b4>   DW_AT_decl_line   : 89	
-    <1b5>   DW_AT_sibling     : <0x1e4>	
- <2><1b9>: Abbrev Number: 9 (DW_TAG_member)
-    <1ba>   DW_AT_name        : (indirect string, offset: 0x7d): si_pid	
-    <1be>   DW_AT_decl_file   : 3	
-    <1bf>   DW_AT_decl_line   : 91	
-    <1c0>   DW_AT_type        : <0x6e>	
-    <1c4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1c7>: Abbrev Number: 9 (DW_TAG_member)
-    <1c8>   DW_AT_name        : (indirect string, offset: 0xc5): si_uid	
-    <1cc>   DW_AT_decl_file   : 3	
-    <1cd>   DW_AT_decl_line   : 92	
-    <1ce>   DW_AT_type        : <0x63>	
-    <1d2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1d5>: Abbrev Number: 9 (DW_TAG_member)
-    <1d6>   DW_AT_name        : (indirect string, offset: 0x18f): si_sigval	
-    <1da>   DW_AT_decl_file   : 3	
-    <1db>   DW_AT_decl_line   : 93	
-    <1dc>   DW_AT_type        : <0x143>	
-    <1e0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1e3>: Abbrev Number: 0
- <1><1e4>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <1e5>   DW_AT_byte_size   : 20	
-    <1e6>   DW_AT_decl_file   : 3	
-    <1e7>   DW_AT_decl_line   : 97	
-    <1e8>   DW_AT_sibling     : <0x233>	
- <2><1ec>: Abbrev Number: 9 (DW_TAG_member)
-    <1ed>   DW_AT_name        : (indirect string, offset: 0x7d): si_pid	
-    <1f1>   DW_AT_decl_file   : 3	
-    <1f2>   DW_AT_decl_line   : 99	
-    <1f3>   DW_AT_type        : <0x6e>	
-    <1f7>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1fa>: Abbrev Number: 9 (DW_TAG_member)
-    <1fb>   DW_AT_name        : (indirect string, offset: 0xc5): si_uid	
-    <1ff>   DW_AT_decl_file   : 3	
-    <200>   DW_AT_decl_line   : 100	
-    <201>   DW_AT_type        : <0x63>	
-    <205>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><208>: Abbrev Number: 9 (DW_TAG_member)
-    <209>   DW_AT_name        : (indirect string, offset: 0x1e6): si_status	
-    <20d>   DW_AT_decl_file   : 3	
-    <20e>   DW_AT_decl_line   : 101	
-    <20f>   DW_AT_type        : <0x2b>	
-    <213>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><216>: Abbrev Number: 9 (DW_TAG_member)
-    <217>   DW_AT_name        : (indirect string, offset: 0x226): si_utime	
-    <21b>   DW_AT_decl_file   : 3	
-    <21c>   DW_AT_decl_line   : 102	
-    <21d>   DW_AT_type        : <0x14e>	
-    <221>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><224>: Abbrev Number: 9 (DW_TAG_member)
-    <225>   DW_AT_name        : (indirect string, offset: 0xfb): si_stime	
-    <229>   DW_AT_decl_file   : 3	
-    <22a>   DW_AT_decl_line   : 103	
-    <22b>   DW_AT_type        : <0x14e>	
-    <22f>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><232>: Abbrev Number: 0
- <1><233>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <234>   DW_AT_byte_size   : 8	
-    <235>   DW_AT_decl_file   : 3	
-    <236>   DW_AT_decl_line   : 107	
-    <237>   DW_AT_sibling     : <0x258>	
- <2><23b>: Abbrev Number: 9 (DW_TAG_member)
-    <23c>   DW_AT_name        : (indirect string, offset: 0x66): si_addr	
-    <240>   DW_AT_decl_file   : 3	
-    <241>   DW_AT_decl_line   : 109	
-    <242>   DW_AT_type        : <0x8b>	
-    <246>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><249>: Abbrev Number: 9 (DW_TAG_member)
-    <24a>   DW_AT_name        : (indirect string, offset: 0xf): si_addr_lsb	
-    <24e>   DW_AT_decl_file   : 3	
-    <24f>   DW_AT_decl_line   : 110	
-    <250>   DW_AT_type        : <0x24>	
-    <254>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><257>: Abbrev Number: 0
- <1><258>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <259>   DW_AT_byte_size   : 8	
-    <25a>   DW_AT_decl_file   : 3	
-    <25b>   DW_AT_decl_line   : 114	
-    <25c>   DW_AT_sibling     : <0x27d>	
- <2><260>: Abbrev Number: 9 (DW_TAG_member)
-    <261>   DW_AT_name        : (indirect string, offset: 0x24c): si_band	
-    <265>   DW_AT_decl_file   : 3	
-    <266>   DW_AT_decl_line   : 116	
-    <267>   DW_AT_type        : <0x55>	
-    <26b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><26e>: Abbrev Number: 9 (DW_TAG_member)
-    <26f>   DW_AT_name        : (indirect string, offset: 0x1b4): si_fd	
-    <273>   DW_AT_decl_file   : 3	
-    <274>   DW_AT_decl_line   : 117	
-    <275>   DW_AT_type        : <0x2b>	
-    <279>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><27c>: Abbrev Number: 0
- <1><27d>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <27e>   DW_AT_byte_size   : 12	
-    <27f>   DW_AT_decl_file   : 3	
-    <280>   DW_AT_decl_line   : 121	
-    <281>   DW_AT_sibling     : <0x2b0>	
- <2><285>: Abbrev Number: 9 (DW_TAG_member)
-    <286>   DW_AT_name        : (indirect string, offset: 0x1b): _call_addr	
-    <28a>   DW_AT_decl_file   : 3	
-    <28b>   DW_AT_decl_line   : 123	
-    <28c>   DW_AT_type        : <0x8b>	
-    <290>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><293>: Abbrev Number: 9 (DW_TAG_member)
-    <294>   DW_AT_name        : (indirect string, offset: 0x104): _syscall	
-    <298>   DW_AT_decl_file   : 3	
-    <299>   DW_AT_decl_line   : 124	
-    <29a>   DW_AT_type        : <0x2b>	
-    <29e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2a1>: Abbrev Number: 9 (DW_TAG_member)
-    <2a2>   DW_AT_name        : (indirect string, offset: 0x77): _arch	
-    <2a6>   DW_AT_decl_file   : 3	
-    <2a7>   DW_AT_decl_line   : 125	
-    <2a8>   DW_AT_type        : <0x47>	
-    <2ac>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><2af>: Abbrev Number: 0
- <1><2b0>: Abbrev Number: 16 (DW_TAG_union_type)
-    <2b1>   DW_AT_byte_size   : 116	
-    <2b2>   DW_AT_decl_file   : 3	
-    <2b3>   DW_AT_decl_line   : 69	
-    <2b4>   DW_AT_sibling     : <0x311>	
- <2><2b8>: Abbrev Number: 14 (DW_TAG_member)
-    <2b9>   DW_AT_name        : (indirect string, offset: 0xe5): _pad	
-    <2bd>   DW_AT_decl_file   : 3	
-    <2be>   DW_AT_decl_line   : 71	
-    <2bf>   DW_AT_type        : <0x311>	
- <2><2c3>: Abbrev Number: 14 (DW_TAG_member)
-    <2c4>   DW_AT_name        : (indirect string, offset: 0x9): _kill	
-    <2c8>   DW_AT_decl_file   : 3	
-    <2c9>   DW_AT_decl_line   : 78	
-    <2ca>   DW_AT_type        : <0x159>	
- <2><2ce>: Abbrev Number: 14 (DW_TAG_member)
-    <2cf>   DW_AT_name        : (indirect string, offset: 0x1df): _timer	
-    <2d3>   DW_AT_decl_file   : 3	
-    <2d4>   DW_AT_decl_line   : 86	
-    <2d5>   DW_AT_type        : <0x17e>	
- <2><2d9>: Abbrev Number: 17 (DW_TAG_member)
-    <2da>   DW_AT_name        : _rt	
-    <2de>   DW_AT_decl_file   : 3	
-    <2df>   DW_AT_decl_line   : 94	
-    <2e0>   DW_AT_type        : <0x1b1>	
- <2><2e4>: Abbrev Number: 14 (DW_TAG_member)
-    <2e5>   DW_AT_name        : (indirect string, offset: 0x21d): _sigchld	
-    <2e9>   DW_AT_decl_file   : 3	
-    <2ea>   DW_AT_decl_line   : 104	
-    <2eb>   DW_AT_type        : <0x1e4>	
- <2><2ef>: Abbrev Number: 14 (DW_TAG_member)
-    <2f0>   DW_AT_name        : (indirect string, offset: 0x1ba): _sigfault	
-    <2f4>   DW_AT_decl_file   : 3	
-    <2f5>   DW_AT_decl_line   : 111	
-    <2f6>   DW_AT_type        : <0x233>	
- <2><2fa>: Abbrev Number: 14 (DW_TAG_member)
-    <2fb>   DW_AT_name        : (indirect string, offset: 0x285): _sigpoll	
-    <2ff>   DW_AT_decl_file   : 3	
-    <300>   DW_AT_decl_line   : 118	
-    <301>   DW_AT_type        : <0x258>	
- <2><305>: Abbrev Number: 14 (DW_TAG_member)
-    <306>   DW_AT_name        : (indirect string, offset: 0x2ae): _sigsys	
-    <30a>   DW_AT_decl_file   : 3	
-    <30b>   DW_AT_decl_line   : 126	
-    <30c>   DW_AT_type        : <0x27d>	
- <2><310>: Abbrev Number: 0
- <1><311>: Abbrev Number: 18 (DW_TAG_array_type)
-    <312>   DW_AT_type        : <0x2b>	
-    <316>   DW_AT_sibling     : <0x321>	
- <2><31a>: Abbrev Number: 19 (DW_TAG_subrange_type)
-    <31b>   DW_AT_type        : <0x79>	
-    <31f>   DW_AT_upper_bound : 28	
- <2><320>: Abbrev Number: 0
- <1><321>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <322>   DW_AT_byte_size   : 128	
-    <323>   DW_AT_decl_file   : 3	
-    <324>   DW_AT_decl_line   : 62	
-    <325>   DW_AT_sibling     : <0x362>	
- <2><329>: Abbrev Number: 9 (DW_TAG_member)
-    <32a>   DW_AT_name        : (indirect string, offset: 0x0): si_signo	
-    <32e>   DW_AT_decl_file   : 3	
-    <32f>   DW_AT_decl_line   : 64	
-    <330>   DW_AT_type        : <0x2b>	
-    <334>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><337>: Abbrev Number: 9 (DW_TAG_member)
-    <338>   DW_AT_name        : (indirect string, offset: 0x178): si_errno	
-    <33c>   DW_AT_decl_file   : 3	
-    <33d>   DW_AT_decl_line   : 65	
-    <33e>   DW_AT_type        : <0x2b>	
-    <342>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><345>: Abbrev Number: 9 (DW_TAG_member)
-    <346>   DW_AT_name        : (indirect string, offset: 0x1f0): si_code	
-    <34a>   DW_AT_decl_file   : 3	
-    <34b>   DW_AT_decl_line   : 67	
-    <34c>   DW_AT_type        : <0x2b>	
-    <350>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><353>: Abbrev Number: 9 (DW_TAG_member)
-    <354>   DW_AT_name        : (indirect string, offset: 0x11c): _sifields	
-    <358>   DW_AT_decl_file   : 3	
-    <359>   DW_AT_decl_line   : 127	
-    <35a>   DW_AT_type        : <0x2b0>	
-    <35e>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><361>: Abbrev Number: 0
- <1><362>: Abbrev Number: 4 (DW_TAG_typedef)
-    <363>   DW_AT_name        : (indirect string, offset: 0x209): siginfo_t	
-    <367>   DW_AT_decl_file   : 3	
-    <368>   DW_AT_decl_line   : 128	
-    <369>   DW_AT_type        : <0x321>	
- <1><36d>: Abbrev Number: 20 (DW_TAG_variable)
-    <36e>   DW_AT_name        : (indirect string, offset: 0xea): current_wordsize	
-    <372>   DW_AT_decl_file   : 4	
-    <373>   DW_AT_decl_line   : 757	
-    <375>   DW_AT_type        : <0x47>	
-    <379>   DW_AT_external    : 1	
-    <37a>   DW_AT_declaration : 1	
- <1><37b>: Abbrev Number: 20 (DW_TAG_variable)
-    <37c>   DW_AT_name        : (indirect string, offset: 0xde): sysent	
-    <380>   DW_AT_decl_file   : 4	
-    <381>   DW_AT_decl_line   : 892	
-    <383>   DW_AT_type        : <0x10e>	
-    <387>   DW_AT_external    : 1	
-    <388>   DW_AT_declaration : 1	
- <1><389>: Abbrev Number: 20 (DW_TAG_variable)
-    <38a>   DW_AT_name        : (indirect string, offset: 0x16e): nsyscalls	
-    <38e>   DW_AT_decl_file   : 4	
-    <38f>   DW_AT_decl_line   : 903	
-    <391>   DW_AT_type        : <0x47>	
-    <395>   DW_AT_external    : 1	
-    <396>   DW_AT_declaration : 1	
- <1><397>: Abbrev Number: 21 (DW_TAG_variable)
-    <398>   DW_AT_name        : (indirect string, offset: 0x84): mpers_target_var	
-    <39c>   DW_AT_decl_file   : 5	
-    <39d>   DW_AT_decl_line   : 41	
-    <39e>   DW_AT_type        : <0x362>	
-    <3a2>   DW_AT_external    : 1	
-    <3a3>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><3a9>: Abbrev Number: 0
-
diff --git a/mpers-m32/siginfo_t.d2 b/mpers-m32/siginfo_t.d2
deleted file mode 100644
index 5ccaa89..0000000
--- a/mpers-m32/siginfo_t.d2
+++ /dev/null
@@ -1,505 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x240): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x213): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x9f): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xad): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x3b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x59): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x297): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x22f): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xcc): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x33): __uid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-<1><6e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x238): __pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x2b>
-<1><79>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d6): sizetype
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1ff): __clock_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 135
-DW_AT_type        : <0x55>
-<1><8b>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><8d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x199): char
-<1><94>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x9a>
-<1><9a>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x8d>
-<1><9f>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xde): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf2>
-<2><ab>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10d): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b9>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x95): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c7>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28e): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e3>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6e): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x94>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f2>
-Abbrev Number: 11 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfd>
-<2><fb>
-Abbrev Number: 12 (DW_TAG_unspecified_parameters)
-<1><fd>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf2>
-<1><103>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x181): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x9f>
-<1><10e>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x114>
-<1><114>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x103>
-<1><119>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x26): _Bool
-<1><120>
-Abbrev Number: 13 (DW_TAG_union_type)
-DW_AT_name        : (indirect string, offset: 0x1f8): sigval
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_sibling     : <0x143>
-<2><12c>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbb): sival_int
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x2b>
-<2><137>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2b6): sival_ptr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x8b>
-<1><143>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x113): sigval_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x120>
-<1><14e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c4): __sigchld_clock_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x80>
-<1><159>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 74
-DW_AT_sibling     : <0x17e>
-<2><161>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7d): si_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 76
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><16f>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc5): si_uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 77
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><17e>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 81
-DW_AT_sibling     : <0x1b1>
-<2><186>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c): si_tid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 83
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><194>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4e): si_overrun
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 84
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1a2>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18f): si_sigval
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 85
-DW_AT_type        : <0x143>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><1b1>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 89
-DW_AT_sibling     : <0x1e4>
-<2><1b9>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7d): si_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 91
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1c7>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc5): si_uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 92
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1d5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18f): si_sigval
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 93
-DW_AT_type        : <0x143>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><1e4>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 97
-DW_AT_sibling     : <0x233>
-<2><1ec>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7d): si_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 99
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1fa>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc5): si_uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 100
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><208>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e6): si_status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 101
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><216>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x226): si_utime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 102
-DW_AT_type        : <0x14e>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><224>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfb): si_stime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 103
-DW_AT_type        : <0x14e>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><233>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 107
-DW_AT_sibling     : <0x258>
-<2><23b>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x66): si_addr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 109
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><249>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf): si_addr_lsb
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 110
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><258>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 114
-DW_AT_sibling     : <0x27d>
-<2><260>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x24c): si_band
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 116
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><26e>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b4): si_fd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 117
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><27d>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 121
-DW_AT_sibling     : <0x2b0>
-<2><285>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b): _call_addr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 123
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><293>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x104): _syscall
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 124
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><2a1>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x77): _arch
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><2b0>
-Abbrev Number: 16 (DW_TAG_union_type)
-DW_AT_byte_size   : 116
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 69
-DW_AT_sibling     : <0x311>
-<2><2b8>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe5): _pad
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 71
-DW_AT_type        : <0x311>
-<2><2c3>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): _kill
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 78
-DW_AT_type        : <0x159>
-<2><2ce>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1df): _timer
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 86
-DW_AT_type        : <0x17e>
-<2><2d9>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : _rt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 94
-DW_AT_type        : <0x1b1>
-<2><2e4>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21d): _sigchld
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 104
-DW_AT_type        : <0x1e4>
-<2><2ef>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ba): _sigfault
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 111
-DW_AT_type        : <0x233>
-<2><2fa>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x285): _sigpoll
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 118
-DW_AT_type        : <0x258>
-<2><305>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ae): _sigsys
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x27d>
-<1><311>
-Abbrev Number: 18 (DW_TAG_array_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x321>
-<2><31a>
-Abbrev Number: 19 (DW_TAG_subrange_type)
-DW_AT_type        : <0x79>
-DW_AT_upper_bound : 28
-<1><321>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 128
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 62
-DW_AT_sibling     : <0x362>
-<2><329>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): si_signo
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><337>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x178): si_errno
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 65
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><345>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f0): si_code
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 67
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><353>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11c): _sifields
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 127
-DW_AT_type        : <0x2b0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><362>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x209): siginfo_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 128
-DW_AT_type        : <0x321>
-<1><36d>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xea): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><37b>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xde): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10e>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><389>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x16e): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><397>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x84): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x362>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/stack_t.c b/mpers-m32/stack_t.c
index 2146a66..a958819 100644
--- a/mpers-m32/stack_t.c
+++ b/mpers-m32/stack_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/stack_t.d1 b/mpers-m32/stack_t.d1
deleted file mode 100644
index 7ce31c6..0000000
--- a/mpers-m32/stack_t.d1
+++ /dev/null
@@ -1,192 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x185 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xb9): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xd): mpers-m32/stack_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x121): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1a5): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x182): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x16e): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x6f): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x21): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x101): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x58): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x19c): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x89): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x165): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x11c): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_typedef)
-    <74>   DW_AT_name        : (indirect string, offset: 0x0): size_t	
-    <78>   DW_AT_decl_file   : 2	
-    <79>   DW_AT_decl_line   : 212	
-    <7a>   DW_AT_type        : <0x47>	
- <1><7e>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <7f>   DW_AT_byte_size   : 4	
-    <80>   DW_AT_type        : <0x84>	
- <1><84>: Abbrev Number: 7 (DW_TAG_const_type)
-    <85>   DW_AT_type        : <0x6c>	
- <1><89>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <8a>   DW_AT_name        : (indirect string, offset: 0x9b): sysent	
-    <8e>   DW_AT_byte_size   : 20	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 4	
-    <91>   DW_AT_sibling     : <0xdc>	
- <2><95>: Abbrev Number: 9 (DW_TAG_member)
-    <96>   DW_AT_name        : (indirect string, offset: 0xb3): nargs	
-    <9a>   DW_AT_decl_file   : 1	
-    <9b>   DW_AT_decl_line   : 5	
-    <9c>   DW_AT_type        : <0x47>	
-    <a0>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a3>: Abbrev Number: 9 (DW_TAG_member)
-    <a4>   DW_AT_name        : (indirect string, offset: 0x4e): sys_flags	
-    <a8>   DW_AT_decl_file   : 1	
-    <a9>   DW_AT_decl_line   : 6	
-    <aa>   DW_AT_type        : <0x2b>	
-    <ae>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><b1>: Abbrev Number: 10 (DW_TAG_member)
-    <b2>   DW_AT_name        : sen	
-    <b6>   DW_AT_decl_file   : 1	
-    <b7>   DW_AT_decl_line   : 7	
-    <b8>   DW_AT_type        : <0x2b>	
-    <bc>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><bf>: Abbrev Number: 9 (DW_TAG_member)
-    <c0>   DW_AT_name        : (indirect string, offset: 0x1b1): sys_func	
-    <c4>   DW_AT_decl_file   : 1	
-    <c5>   DW_AT_decl_line   : 8	
-    <c6>   DW_AT_type        : <0xe7>	
-    <ca>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><cd>: Abbrev Number: 9 (DW_TAG_member)
-    <ce>   DW_AT_name        : (indirect string, offset: 0x34): sys_name	
-    <d2>   DW_AT_decl_file   : 1	
-    <d3>   DW_AT_decl_line   : 9	
-    <d4>   DW_AT_type        : <0x7e>	
-    <d8>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 11 (DW_TAG_subroutine_type)
-    <dd>   DW_AT_type        : <0x2b>	
-    <e1>   DW_AT_sibling     : <0xe7>	
- <2><e5>: Abbrev Number: 12 (DW_TAG_unspecified_parameters)
- <2><e6>: Abbrev Number: 0
- <1><e7>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <e8>   DW_AT_byte_size   : 4	
-    <e9>   DW_AT_type        : <0xdc>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_typedef)
-    <ee>   DW_AT_name        : (indirect string, offset: 0x10e): struct_sysent	
-    <f2>   DW_AT_decl_file   : 1	
-    <f3>   DW_AT_decl_line   : 10	
-    <f4>   DW_AT_type        : <0x89>	
- <1><f8>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <f9>   DW_AT_byte_size   : 4	
-    <fa>   DW_AT_type        : <0xfe>	
- <1><fe>: Abbrev Number: 7 (DW_TAG_const_type)
-    <ff>   DW_AT_type        : <0xed>	
- <1><103>: Abbrev Number: 2 (DW_TAG_base_type)
-    <104>   DW_AT_byte_size   : 1	
-    <105>   DW_AT_encoding    : 2	(boolean)
-    <106>   DW_AT_name        : (indirect string, offset: 0x7): _Bool	
- <1><10a>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x7d): sigaltstack	
-    <10f>   DW_AT_byte_size   : 12	
-    <110>   DW_AT_decl_file   : 3	
-    <111>   DW_AT_decl_line   : 49	
-    <112>   DW_AT_sibling     : <0x141>	
- <2><116>: Abbrev Number: 9 (DW_TAG_member)
-    <117>   DW_AT_name        : (indirect string, offset: 0x17c): ss_sp	
-    <11b>   DW_AT_decl_file   : 3	
-    <11c>   DW_AT_decl_line   : 51	
-    <11d>   DW_AT_type        : <0x6a>	
-    <121>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><124>: Abbrev Number: 9 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x15c): ss_flags	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 52	
-    <12b>   DW_AT_type        : <0x2b>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><132>: Abbrev Number: 9 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x18c): ss_size	
-    <137>   DW_AT_decl_file   : 3	
-    <138>   DW_AT_decl_line   : 53	
-    <139>   DW_AT_type        : <0x73>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><140>: Abbrev Number: 0
- <1><141>: Abbrev Number: 5 (DW_TAG_typedef)
-    <142>   DW_AT_name        : (indirect string, offset: 0x194): stack_t	
-    <146>   DW_AT_decl_file   : 3	
-    <147>   DW_AT_decl_line   : 54	
-    <148>   DW_AT_type        : <0x10a>	
- <1><14c>: Abbrev Number: 13 (DW_TAG_variable)
-    <14d>   DW_AT_name        : (indirect string, offset: 0xa2): current_wordsize	
-    <151>   DW_AT_decl_file   : 4	
-    <152>   DW_AT_decl_line   : 757	
-    <154>   DW_AT_type        : <0x47>	
-    <158>   DW_AT_external    : 1	
-    <159>   DW_AT_declaration : 1	
- <1><15a>: Abbrev Number: 13 (DW_TAG_variable)
-    <15b>   DW_AT_name        : (indirect string, offset: 0x9b): sysent	
-    <15f>   DW_AT_decl_file   : 4	
-    <160>   DW_AT_decl_line   : 892	
-    <162>   DW_AT_type        : <0xf8>	
-    <166>   DW_AT_external    : 1	
-    <167>   DW_AT_declaration : 1	
- <1><168>: Abbrev Number: 13 (DW_TAG_variable)
-    <169>   DW_AT_name        : (indirect string, offset: 0x152): nsyscalls	
-    <16d>   DW_AT_decl_file   : 4	
-    <16e>   DW_AT_decl_line   : 903	
-    <170>   DW_AT_type        : <0x47>	
-    <174>   DW_AT_external    : 1	
-    <175>   DW_AT_declaration : 1	
- <1><176>: Abbrev Number: 14 (DW_TAG_variable)
-    <177>   DW_AT_name        : (indirect string, offset: 0x3d): mpers_target_var	
-    <17b>   DW_AT_decl_file   : 5	
-    <17c>   DW_AT_decl_line   : 38	
-    <17d>   DW_AT_type        : <0x141>	
-    <181>   DW_AT_external    : 1	
-    <182>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><188>: Abbrev Number: 0
-
diff --git a/mpers-m32/stack_t.d2 b/mpers-m32/stack_t.d2
deleted file mode 100644
index 79bab58..0000000
--- a/mpers-m32/stack_t.d2
+++ /dev/null
@@ -1,212 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a5): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x182): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x16e): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x6f): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x21): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x101): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x58): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19c): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x89): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x165): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x11c): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><7e>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x84>
-<1><84>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><89>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x9b): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xdc>
-<2><95>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb3): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a3>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4e): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><b1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><bf>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b1): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe7>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><cd>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x34): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><dc>
-Abbrev Number: 11 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe7>
-<2><e5>
-Abbrev Number: 12 (DW_TAG_unspecified_parameters)
-<1><e7>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xdc>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x10e): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x89>
-<1><f8>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfe>
-<1><fe>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0xed>
-<1><103>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x7): _Bool
-<1><10a>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x7d): sigaltstack
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 49
-DW_AT_sibling     : <0x141>
-<2><116>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17c): ss_sp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><124>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15c): ss_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><132>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18c): ss_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><141>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x194): stack_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x10a>
-<1><14c>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa2): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><15a>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9b): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf8>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><168>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x152): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><176>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x3d): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x141>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_blk_user_trace_setup.d1 b/mpers-m32/struct_blk_user_trace_setup.d1
deleted file mode 100644
index f4f3f5c..0000000
--- a/mpers-m32/struct_blk_user_trace_setup.d1
+++ /dev/null
@@ -1,231 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1e1 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xf0): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x25): mpers-m32/struct_blk_user_trace_setup.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x158): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e3): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1b8): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x19c): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x9c): unsigned char	
- <1><40>: Abbrev Number: 4 (DW_TAG_typedef)
-    <41>   DW_AT_name        : (indirect string, offset: 0x1c8): uint16_t	
-    <45>   DW_AT_decl_file   : 1	
-    <46>   DW_AT_decl_line   : 49	
-    <47>   DW_AT_type        : <0x4b>	
- <1><4b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4c>   DW_AT_byte_size   : 2	
-    <4d>   DW_AT_encoding    : 7	(unsigned)
-    <4e>   DW_AT_name        : (indirect string, offset: 0x54): short unsigned int	
- <1><52>: Abbrev Number: 4 (DW_TAG_typedef)
-    <53>   DW_AT_name        : (indirect string, offset: 0x1d1): uint32_t	
-    <57>   DW_AT_decl_file   : 1	
-    <58>   DW_AT_decl_line   : 51	
-    <59>   DW_AT_type        : <0x5d>	
- <1><5d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5e>   DW_AT_byte_size   : 4	
-    <5f>   DW_AT_encoding    : 7	(unsigned)
-    <60>   DW_AT_name        : (indirect string, offset: 0x138): unsigned int	
- <1><64>: Abbrev Number: 4 (DW_TAG_typedef)
-    <65>   DW_AT_name        : (indirect string, offset: 0x67): uint64_t	
-    <69>   DW_AT_decl_file   : 1	
-    <6a>   DW_AT_decl_line   : 58	
-    <6b>   DW_AT_type        : <0x6f>	
- <1><6f>: Abbrev Number: 2 (DW_TAG_base_type)
-    <70>   DW_AT_byte_size   : 8	
-    <71>   DW_AT_encoding    : 7	(unsigned)
-    <72>   DW_AT_name        : (indirect string, offset: 0x1f8): long long unsigned int	
- <1><76>: Abbrev Number: 2 (DW_TAG_base_type)
-    <77>   DW_AT_byte_size   : 4	
-    <78>   DW_AT_encoding    : 5	(signed)
-    <79>   DW_AT_name        : (indirect string, offset: 0x1da): long int	
- <1><7d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7e>   DW_AT_byte_size   : 4	
-    <7f>   DW_AT_encoding    : 7	(unsigned)
-    <80>   DW_AT_name        : (indirect string, offset: 0xaa): long unsigned int	
- <1><84>: Abbrev Number: 2 (DW_TAG_base_type)
-    <85>   DW_AT_byte_size   : 4	
-    <86>   DW_AT_encoding    : 7	(unsigned)
-    <87>   DW_AT_name        : (indirect string, offset: 0x193): sizetype	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x153): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_array_type)
-    <93>   DW_AT_type        : <0x8b>	
-    <97>   DW_AT_sibling     : <0xa2>	
- <2><9b>: Abbrev Number: 6 (DW_TAG_subrange_type)
-    <9c>   DW_AT_type        : <0x84>	
-    <a0>   DW_AT_upper_bound : 31	
- <2><a1>: Abbrev Number: 0
- <1><a2>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <a3>   DW_AT_byte_size   : 4	
-    <a4>   DW_AT_type        : <0xa8>	
- <1><a8>: Abbrev Number: 8 (DW_TAG_const_type)
-    <a9>   DW_AT_type        : <0x8b>	
- <1><ad>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <ae>   DW_AT_name        : (indirect string, offset: 0xbc): sysent	
-    <b2>   DW_AT_byte_size   : 20	
-    <b3>   DW_AT_decl_file   : 2	
-    <b4>   DW_AT_decl_line   : 4	
-    <b5>   DW_AT_sibling     : <0x100>	
- <2><b9>: Abbrev Number: 10 (DW_TAG_member)
-    <ba>   DW_AT_name        : (indirect string, offset: 0x1c2): nargs	
-    <be>   DW_AT_decl_file   : 2	
-    <bf>   DW_AT_decl_line   : 5	
-    <c0>   DW_AT_type        : <0x5d>	
-    <c4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c7>: Abbrev Number: 10 (DW_TAG_member)
-    <c8>   DW_AT_name        : (indirect string, offset: 0x8a): sys_flags	
-    <cc>   DW_AT_decl_file   : 2	
-    <cd>   DW_AT_decl_line   : 6	
-    <ce>   DW_AT_type        : <0x2b>	
-    <d2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d5>: Abbrev Number: 11 (DW_TAG_member)
-    <d6>   DW_AT_name        : sen	
-    <da>   DW_AT_decl_file   : 2	
-    <db>   DW_AT_decl_line   : 7	
-    <dc>   DW_AT_type        : <0x2b>	
-    <e0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><e3>: Abbrev Number: 10 (DW_TAG_member)
-    <e4>   DW_AT_name        : (indirect string, offset: 0x1ef): sys_func	
-    <e8>   DW_AT_decl_file   : 2	
-    <e9>   DW_AT_decl_line   : 8	
-    <ea>   DW_AT_type        : <0x10b>	
-    <ee>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><f1>: Abbrev Number: 10 (DW_TAG_member)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x70): sys_name	
-    <f6>   DW_AT_decl_file   : 2	
-    <f7>   DW_AT_decl_line   : 9	
-    <f8>   DW_AT_type        : <0xa2>	
-    <fc>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ff>: Abbrev Number: 0
- <1><100>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <101>   DW_AT_type        : <0x2b>	
-    <105>   DW_AT_sibling     : <0x10b>	
- <2><109>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><10a>: Abbrev Number: 0
- <1><10b>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <10c>   DW_AT_byte_size   : 4	
-    <10d>   DW_AT_type        : <0x100>	
- <1><111>: Abbrev Number: 4 (DW_TAG_typedef)
-    <112>   DW_AT_name        : (indirect string, offset: 0x145): struct_sysent	
-    <116>   DW_AT_decl_file   : 2	
-    <117>   DW_AT_decl_line   : 10	
-    <118>   DW_AT_type        : <0xad>	
- <1><11c>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <11d>   DW_AT_byte_size   : 4	
-    <11e>   DW_AT_type        : <0x122>	
- <1><122>: Abbrev Number: 8 (DW_TAG_const_type)
-    <123>   DW_AT_type        : <0x111>	
- <1><127>: Abbrev Number: 2 (DW_TAG_base_type)
-    <128>   DW_AT_byte_size   : 1	
-    <129>   DW_AT_encoding    : 2	(boolean)
-    <12a>   DW_AT_name        : (indirect string, offset: 0x1f): _Bool	
- <1><12e>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <12f>   DW_AT_name        : (indirect string, offset: 0x0): blk_user_trace_setup	
-    <133>   DW_AT_byte_size   : 64	
-    <134>   DW_AT_decl_file   : 3	
-    <135>   DW_AT_decl_line   : 54	
-    <136>   DW_AT_sibling     : <0x19d>	
- <2><13a>: Abbrev Number: 10 (DW_TAG_member)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x1aa): name	
-    <13f>   DW_AT_decl_file   : 3	
-    <140>   DW_AT_decl_line   : 55	
-    <141>   DW_AT_type        : <0x92>	
-    <145>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><148>: Abbrev Number: 10 (DW_TAG_member)
-    <149>   DW_AT_name        : (indirect string, offset: 0x20f): act_mask	
-    <14d>   DW_AT_decl_file   : 3	
-    <14e>   DW_AT_decl_line   : 56	
-    <14f>   DW_AT_type        : <0x40>	
-    <153>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x1af): buf_size	
-    <15b>   DW_AT_decl_file   : 3	
-    <15c>   DW_AT_decl_line   : 57	
-    <15d>   DW_AT_type        : <0x52>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><164>: Abbrev Number: 10 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x4d): buf_nr	
-    <169>   DW_AT_decl_file   : 3	
-    <16a>   DW_AT_decl_line   : 58	
-    <16b>   DW_AT_type        : <0x52>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><172>: Abbrev Number: 10 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x15): start_lba	
-    <177>   DW_AT_decl_file   : 3	
-    <178>   DW_AT_decl_line   : 59	
-    <179>   DW_AT_type        : <0x64>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><180>: Abbrev Number: 10 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x94): end_lba	
-    <185>   DW_AT_decl_file   : 3	
-    <186>   DW_AT_decl_line   : 60	
-    <187>   DW_AT_type        : <0x64>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><18e>: Abbrev Number: 11 (DW_TAG_member)
-    <18f>   DW_AT_name        : pid	
-    <193>   DW_AT_decl_file   : 3	
-    <194>   DW_AT_decl_line   : 61	
-    <195>   DW_AT_type        : <0x52>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><19c>: Abbrev Number: 0
- <1><19d>: Abbrev Number: 4 (DW_TAG_typedef)
-    <19e>   DW_AT_name        : (indirect string, offset: 0xd4): struct_blk_user_trace_setup	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 62	
-    <1a4>   DW_AT_type        : <0x12e>	
- <1><1a8>: Abbrev Number: 14 (DW_TAG_variable)
-    <1a9>   DW_AT_name        : (indirect string, offset: 0xc3): current_wordsize	
-    <1ad>   DW_AT_decl_file   : 4	
-    <1ae>   DW_AT_decl_line   : 757	
-    <1b0>   DW_AT_type        : <0x5d>	
-    <1b4>   DW_AT_external    : 1	
-    <1b5>   DW_AT_declaration : 1	
- <1><1b6>: Abbrev Number: 14 (DW_TAG_variable)
-    <1b7>   DW_AT_name        : (indirect string, offset: 0xbc): sysent	
-    <1bb>   DW_AT_decl_file   : 4	
-    <1bc>   DW_AT_decl_line   : 892	
-    <1be>   DW_AT_type        : <0x11c>	
-    <1c2>   DW_AT_external    : 1	
-    <1c3>   DW_AT_declaration : 1	
- <1><1c4>: Abbrev Number: 14 (DW_TAG_variable)
-    <1c5>   DW_AT_name        : (indirect string, offset: 0x189): nsyscalls	
-    <1c9>   DW_AT_decl_file   : 4	
-    <1ca>   DW_AT_decl_line   : 903	
-    <1cc>   DW_AT_type        : <0x5d>	
-    <1d0>   DW_AT_external    : 1	
-    <1d1>   DW_AT_declaration : 1	
- <1><1d2>: Abbrev Number: 15 (DW_TAG_variable)
-    <1d3>   DW_AT_name        : (indirect string, offset: 0x79): mpers_target_var	
-    <1d7>   DW_AT_decl_file   : 3	
-    <1d8>   DW_AT_decl_line   : 64	
-    <1d9>   DW_AT_type        : <0x19d>	
-    <1dd>   DW_AT_external    : 1	
-    <1de>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1e4>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_blk_user_trace_setup.d2 b/mpers-m32/struct_blk_user_trace_setup.d2
deleted file mode 100644
index 433a0fa..0000000
--- a/mpers-m32/struct_blk_user_trace_setup.d2
+++ /dev/null
@@ -1,257 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e3): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1b8): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19c): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x9c): unsigned char
-<1><40>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c8): uint16_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x4b>
-<1><4b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x54): short unsigned int
-<1><52>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d1): uint32_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x5d>
-<1><5d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x138): unsigned int
-<1><64>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x67): uint64_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x6f>
-<1><6f>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1f8): long long unsigned int
-<1><76>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1da): long int
-<1><7d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xaa): long unsigned int
-<1><84>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x193): sizetype
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x153): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_array_type)
-DW_AT_type        : <0x8b>
-DW_AT_sibling     : <0xa2>
-<2><9b>
-Abbrev Number: 6 (DW_TAG_subrange_type)
-DW_AT_type        : <0x84>
-DW_AT_upper_bound : 31
-<1><a2>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xa8>
-<1><a8>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><ad>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xbc): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x100>
-<2><b9>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c2): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x5d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c7>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8a): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d5>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><e3>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ef): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x10b>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><f1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x70): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xa2>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><100>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x10b>
-<2><109>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><10b>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x100>
-<1><111>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x145): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xad>
-<1><11c>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x122>
-<1><122>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x111>
-<1><127>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1f): _Bool
-<1><12e>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): blk_user_trace_setup
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_sibling     : <0x19d>
-<2><13a>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1aa): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><148>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20f): act_mask
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1af): buf_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><164>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4d): buf_nr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><172>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15): start_lba
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x64>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><180>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x94): end_lba
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 60
-DW_AT_type        : <0x64>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><18e>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<1><19d>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xd4): struct_blk_user_trace_setup
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 62
-DW_AT_type        : <0x12e>
-<1><1a8>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc3): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x5d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1b6>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xbc): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x11c>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1c4>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x189): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x5d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1d2>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x79): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x19d>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_blkpg_ioctl_arg.d1 b/mpers-m32/struct_blkpg_ioctl_arg.d1
deleted file mode 100644
index 29de052..0000000
--- a/mpers-m32/struct_blkpg_ioctl_arg.d1
+++ /dev/null
@@ -1,192 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x183 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xc2): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xe): mpers-m32/struct_blkpg_ioctl_arg.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x147): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ac): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x199): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x18b): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x84): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x31): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x121): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x6d): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1a3): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x92): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x182): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x142): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xa4): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0xbc): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x63): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x1b8): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x49): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x134): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><ff>: Abbrev Number: 13 (DW_TAG_structure_type)
-    <100>   DW_AT_byte_size   : 16	
-    <101>   DW_AT_decl_file   : 2	
-    <102>   DW_AT_decl_line   : 35	
-    <103>   DW_AT_sibling     : <0x13f>	
- <2><107>: Abbrev Number: 9 (DW_TAG_member)
-    <108>   DW_AT_name        : op	
-    <10b>   DW_AT_decl_file   : 2	
-    <10c>   DW_AT_decl_line   : 36	
-    <10d>   DW_AT_type        : <0x2b>	
-    <111>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><114>: Abbrev Number: 8 (DW_TAG_member)
-    <115>   DW_AT_name        : (indirect string, offset: 0x12e): flags	
-    <119>   DW_AT_decl_file   : 2	
-    <11a>   DW_AT_decl_line   : 37	
-    <11b>   DW_AT_type        : <0x2b>	
-    <11f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><122>: Abbrev Number: 8 (DW_TAG_member)
-    <123>   DW_AT_name        : (indirect string, offset: 0x6): datalen	
-    <127>   DW_AT_decl_file   : 2	
-    <128>   DW_AT_decl_line   : 38	
-    <129>   DW_AT_type        : <0x2b>	
-    <12d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><130>: Abbrev Number: 8 (DW_TAG_member)
-    <131>   DW_AT_name        : (indirect string, offset: 0x44): data	
-    <135>   DW_AT_decl_file   : 2	
-    <136>   DW_AT_decl_line   : 39	
-    <137>   DW_AT_type        : <0x6a>	
-    <13b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><13e>: Abbrev Number: 0
- <1><13f>: Abbrev Number: 12 (DW_TAG_typedef)
-    <140>   DW_AT_name        : (indirect string, offset: 0x10a): struct_blkpg_ioctl_arg	
-    <144>   DW_AT_decl_file   : 2	
-    <145>   DW_AT_decl_line   : 40	
-    <146>   DW_AT_type        : <0xff>	
- <1><14a>: Abbrev Number: 14 (DW_TAG_variable)
-    <14b>   DW_AT_name        : (indirect string, offset: 0xab): current_wordsize	
-    <14f>   DW_AT_decl_file   : 3	
-    <150>   DW_AT_decl_line   : 757	
-    <152>   DW_AT_type        : <0x47>	
-    <156>   DW_AT_external    : 1	
-    <157>   DW_AT_declaration : 1	
- <1><158>: Abbrev Number: 14 (DW_TAG_variable)
-    <159>   DW_AT_name        : (indirect string, offset: 0xa4): sysent	
-    <15d>   DW_AT_decl_file   : 3	
-    <15e>   DW_AT_decl_line   : 892	
-    <160>   DW_AT_type        : <0xed>	
-    <164>   DW_AT_external    : 1	
-    <165>   DW_AT_declaration : 1	
- <1><166>: Abbrev Number: 14 (DW_TAG_variable)
-    <167>   DW_AT_name        : (indirect string, offset: 0x178): nsyscalls	
-    <16b>   DW_AT_decl_file   : 3	
-    <16c>   DW_AT_decl_line   : 903	
-    <16e>   DW_AT_type        : <0x47>	
-    <172>   DW_AT_external    : 1	
-    <173>   DW_AT_declaration : 1	
- <1><174>: Abbrev Number: 15 (DW_TAG_variable)
-    <175>   DW_AT_name        : (indirect string, offset: 0x52): mpers_target_var	
-    <179>   DW_AT_decl_file   : 2	
-    <17a>   DW_AT_decl_line   : 64	
-    <17b>   DW_AT_type        : <0x13f>	
-    <17f>   DW_AT_external    : 1	
-    <180>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><186>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_blkpg_ioctl_arg.d2 b/mpers-m32/struct_blkpg_ioctl_arg.d2
deleted file mode 100644
index 161c1e3..0000000
--- a/mpers-m32/struct_blkpg_ioctl_arg.d2
+++ /dev/null
@@ -1,212 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ac): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x199): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18b): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x84): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x31): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x121): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6d): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a3): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x92): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x182): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x142): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xa4): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbc): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x63): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b8): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x49): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x134): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><ff>
-Abbrev Number: 13 (DW_TAG_structure_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 35
-DW_AT_sibling     : <0x13f>
-<2><107>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : op
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><114>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12e): flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><122>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): datalen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><130>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x44): data
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><13f>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x10a): struct_blkpg_ioctl_arg
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 40
-DW_AT_type        : <0xff>
-<1><14a>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xab): current_wordsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><158>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa4): sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><166>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x178): nsyscalls
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><174>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x52): mpers_target_var
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x13f>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_blkpg_partition.d1 b/mpers-m32/struct_blkpg_partition.d1
deleted file mode 100644
index de26ee9..0000000
--- a/mpers-m32/struct_blkpg_partition.d1
+++ /dev/null
@@ -1,208 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1ab (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xa8): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x162): mpers-m32/struct_blkpg_partition.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x110): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x198): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x185): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 4 (DW_TAG_typedef)
-    <33>   DW_AT_name        : (indirect string, offset: 0x0): int64_t	
-    <37>   DW_AT_decl_file   : 2	
-    <38>   DW_AT_decl_line   : 43	
-    <39>   DW_AT_type        : <0x3d>	
- <1><3d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3e>   DW_AT_byte_size   : 8	
-    <3f>   DW_AT_encoding    : 5	(signed)
-    <40>   DW_AT_name        : (indirect string, offset: 0x154): long long int	
- <1><44>: Abbrev Number: 2 (DW_TAG_base_type)
-    <45>   DW_AT_byte_size   : 1	
-    <46>   DW_AT_encoding    : 8	(unsigned char)
-    <47>   DW_AT_name        : (indirect string, offset: 0x6a): unsigned char	
- <1><4b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4c>   DW_AT_byte_size   : 2	
-    <4d>   DW_AT_encoding    : 7	(unsigned)
-    <4e>   DW_AT_name        : (indirect string, offset: 0x14): short unsigned int	
- <1><52>: Abbrev Number: 2 (DW_TAG_base_type)
-    <53>   DW_AT_byte_size   : 4	
-    <54>   DW_AT_encoding    : 7	(unsigned)
-    <55>   DW_AT_name        : (indirect string, offset: 0xf0): unsigned int	
- <1><59>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5a>   DW_AT_byte_size   : 8	
-    <5b>   DW_AT_encoding    : 7	(unsigned)
-    <5c>   DW_AT_name        : (indirect string, offset: 0x1b4): long long unsigned int	
- <1><60>: Abbrev Number: 2 (DW_TAG_base_type)
-    <61>   DW_AT_byte_size   : 4	
-    <62>   DW_AT_encoding    : 5	(signed)
-    <63>   DW_AT_name        : (indirect string, offset: 0x18f): long int	
- <1><67>: Abbrev Number: 2 (DW_TAG_base_type)
-    <68>   DW_AT_byte_size   : 4	
-    <69>   DW_AT_encoding    : 7	(unsigned)
-    <6a>   DW_AT_name        : (indirect string, offset: 0x78): long unsigned int	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x14b): sizetype	
- <1><75>: Abbrev Number: 2 (DW_TAG_base_type)
-    <76>   DW_AT_byte_size   : 1	
-    <77>   DW_AT_encoding    : 6	(signed char)
-    <78>   DW_AT_name        : (indirect string, offset: 0x10b): char	
- <1><7c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <7d>   DW_AT_byte_size   : 4	
-    <7e>   DW_AT_type        : <0x82>	
- <1><82>: Abbrev Number: 6 (DW_TAG_const_type)
-    <83>   DW_AT_type        : <0x75>	
- <1><87>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <88>   DW_AT_name        : (indirect string, offset: 0x8a): sysent	
-    <8c>   DW_AT_byte_size   : 20	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 4	
-    <8f>   DW_AT_sibling     : <0xda>	
- <2><93>: Abbrev Number: 8 (DW_TAG_member)
-    <94>   DW_AT_name        : (indirect string, offset: 0xa2): nargs	
-    <98>   DW_AT_decl_file   : 1	
-    <99>   DW_AT_decl_line   : 5	
-    <9a>   DW_AT_type        : <0x52>	
-    <9e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a1>: Abbrev Number: 8 (DW_TAG_member)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x58): sys_flags	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 6	
-    <a8>   DW_AT_type        : <0x2b>	
-    <ac>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><af>: Abbrev Number: 9 (DW_TAG_member)
-    <b0>   DW_AT_name        : sen	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 7	
-    <b6>   DW_AT_type        : <0x2b>	
-    <ba>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><bd>: Abbrev Number: 8 (DW_TAG_member)
-    <be>   DW_AT_name        : (indirect string, offset: 0x1a4): sys_func	
-    <c2>   DW_AT_decl_file   : 1	
-    <c3>   DW_AT_decl_line   : 8	
-    <c4>   DW_AT_type        : <0xe5>	
-    <c8>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><cb>: Abbrev Number: 8 (DW_TAG_member)
-    <cc>   DW_AT_name        : (indirect string, offset: 0x3e): sys_name	
-    <d0>   DW_AT_decl_file   : 1	
-    <d1>   DW_AT_decl_line   : 9	
-    <d2>   DW_AT_type        : <0x7c>	
-    <d6>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <db>   DW_AT_type        : <0x2b>	
-    <df>   DW_AT_sibling     : <0xe5>	
- <2><e3>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <e6>   DW_AT_byte_size   : 4	
-    <e7>   DW_AT_type        : <0xda>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_typedef)
-    <ec>   DW_AT_name        : (indirect string, offset: 0xfd): struct_sysent	
-    <f0>   DW_AT_decl_file   : 1	
-    <f1>   DW_AT_decl_line   : 10	
-    <f2>   DW_AT_type        : <0x87>	
- <1><f6>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f7>   DW_AT_byte_size   : 4	
-    <f8>   DW_AT_type        : <0xfc>	
- <1><fc>: Abbrev Number: 6 (DW_TAG_const_type)
-    <fd>   DW_AT_type        : <0xeb>	
- <1><101>: Abbrev Number: 2 (DW_TAG_base_type)
-    <102>   DW_AT_byte_size   : 1	
-    <103>   DW_AT_encoding    : 2	(boolean)
-    <104>   DW_AT_name        : (indirect string, offset: 0x8): _Bool	
- <1><108>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <109>   DW_AT_byte_size   : 148	
-    <10a>   DW_AT_decl_file   : 3	
-    <10b>   DW_AT_decl_line   : 44	
-    <10c>   DW_AT_sibling     : <0x157>	
- <2><110>: Abbrev Number: 8 (DW_TAG_member)
-    <111>   DW_AT_name        : (indirect string, offset: 0xe): start	
-    <115>   DW_AT_decl_file   : 3	
-    <116>   DW_AT_decl_line   : 45	
-    <117>   DW_AT_type        : <0x32>	
-    <11b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><11e>: Abbrev Number: 8 (DW_TAG_member)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x1ad): length	
-    <123>   DW_AT_decl_file   : 3	
-    <124>   DW_AT_decl_line   : 46	
-    <125>   DW_AT_type        : <0x32>	
-    <129>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><12c>: Abbrev Number: 9 (DW_TAG_member)
-    <12d>   DW_AT_name        : pno	
-    <131>   DW_AT_decl_file   : 3	
-    <132>   DW_AT_decl_line   : 47	
-    <133>   DW_AT_type        : <0x2b>	
-    <137>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><13a>: Abbrev Number: 8 (DW_TAG_member)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x1cb): devname	
-    <13f>   DW_AT_decl_file   : 3	
-    <140>   DW_AT_decl_line   : 48	
-    <141>   DW_AT_type        : <0x157>	
-    <145>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><148>: Abbrev Number: 8 (DW_TAG_member)
-    <149>   DW_AT_name        : (indirect string, offset: 0x62): volname	
-    <14d>   DW_AT_decl_file   : 3	
-    <14e>   DW_AT_decl_line   : 50	
-    <14f>   DW_AT_type        : <0x157>	
-    <153>   DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
- <2><156>: Abbrev Number: 0
- <1><157>: Abbrev Number: 13 (DW_TAG_array_type)
-    <158>   DW_AT_type        : <0x75>	
-    <15c>   DW_AT_sibling     : <0x167>	
- <2><160>: Abbrev Number: 14 (DW_TAG_subrange_type)
-    <161>   DW_AT_type        : <0x6e>	
-    <165>   DW_AT_upper_bound : 63	
- <2><166>: Abbrev Number: 0
- <1><167>: Abbrev Number: 4 (DW_TAG_typedef)
-    <168>   DW_AT_name        : (indirect string, offset: 0x27): struct_blkpg_partition	
-    <16c>   DW_AT_decl_file   : 3	
-    <16d>   DW_AT_decl_line   : 51	
-    <16e>   DW_AT_type        : <0x108>	
- <1><172>: Abbrev Number: 15 (DW_TAG_variable)
-    <173>   DW_AT_name        : (indirect string, offset: 0x91): current_wordsize	
-    <177>   DW_AT_decl_file   : 4	
-    <178>   DW_AT_decl_line   : 757	
-    <17a>   DW_AT_type        : <0x52>	
-    <17e>   DW_AT_external    : 1	
-    <17f>   DW_AT_declaration : 1	
- <1><180>: Abbrev Number: 15 (DW_TAG_variable)
-    <181>   DW_AT_name        : (indirect string, offset: 0x8a): sysent	
-    <185>   DW_AT_decl_file   : 4	
-    <186>   DW_AT_decl_line   : 892	
-    <188>   DW_AT_type        : <0xf6>	
-    <18c>   DW_AT_external    : 1	
-    <18d>   DW_AT_declaration : 1	
- <1><18e>: Abbrev Number: 15 (DW_TAG_variable)
-    <18f>   DW_AT_name        : (indirect string, offset: 0x141): nsyscalls	
-    <193>   DW_AT_decl_file   : 4	
-    <194>   DW_AT_decl_line   : 903	
-    <196>   DW_AT_type        : <0x52>	
-    <19a>   DW_AT_external    : 1	
-    <19b>   DW_AT_declaration : 1	
- <1><19c>: Abbrev Number: 16 (DW_TAG_variable)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x47): mpers_target_var	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 64	
-    <1a3>   DW_AT_type        : <0x167>	
-    <1a7>   DW_AT_external    : 1	
-    <1a8>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1ae>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_blkpg_partition.d2 b/mpers-m32/struct_blkpg_partition.d2
deleted file mode 100644
index b5f8e80..0000000
--- a/mpers-m32/struct_blkpg_partition.d2
+++ /dev/null
@@ -1,230 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x198): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x185): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): int64_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x3d>
-<1><3d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x154): long long int
-<1><44>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x6a): unsigned char
-<1><4b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14): short unsigned int
-<1><52>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf0): unsigned int
-<1><59>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1b4): long long unsigned int
-<1><60>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18f): long int
-<1><67>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x78): long unsigned int
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14b): sizetype
-<1><75>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x10b): char
-<1><7c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x82>
-<1><82>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x75>
-<1><87>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x8a): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xda>
-<2><93>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa2): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x58): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><af>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><bd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a4): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe5>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><cb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3e): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><da>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe5>
-<2><e3>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><e5>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xda>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xfd): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x87>
-<1><f6>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfc>
-<1><fc>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xeb>
-<1><101>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x8): _Bool
-<1><108>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_byte_size   : 148
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_sibling     : <0x157>
-<2><110>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x32>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><11e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ad): length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x32>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><12c>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : pno
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><13a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cb): devname
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x157>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><148>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x62): volname
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x157>
-DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
-<1><157>
-Abbrev Number: 13 (DW_TAG_array_type)
-DW_AT_type        : <0x75>
-DW_AT_sibling     : <0x167>
-<2><160>
-Abbrev Number: 14 (DW_TAG_subrange_type)
-DW_AT_type        : <0x6e>
-DW_AT_upper_bound : 63
-<1><167>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x27): struct_blkpg_partition
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x108>
-<1><172>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x91): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x52>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><180>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x8a): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf6>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18e>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x141): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x52>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><19c>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x47): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x167>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.c b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.c
index c907ffb..6caef1a 100644
--- a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.c
+++ b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1 b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1
deleted file mode 100644
index dcd1744..0000000
--- a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d1
+++ /dev/null
@@ -1,327 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2b3 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x159): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xec): mpers-m32/struct_btrfs_ioctl_dev_replace_args.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x24b): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x362): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x324): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xde): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x38c): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x20e): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xb9): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x334): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x11c): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x2a6): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x229): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x12e): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x153): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xaf): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x39f): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x95): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x21b): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x36): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x2e2): __u8	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 20	
-    <104>   DW_AT_type        : <0x39>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x2a0): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x33d): btrfs_ioctl_dev_replace_start_params	
-    <118>   DW_AT_byte_size   : 2068	
-    <11a>   DW_AT_decl_file   : 3	
-    <11b>   DW_AT_decl_line   : 131	
-    <11c>   DW_AT_sibling     : <0x15a>	
- <2><120>: Abbrev Number: 7 (DW_TAG_member)
-    <121>   DW_AT_name        : (indirect string, offset: 0x56): srcdevid	
-    <125>   DW_AT_decl_file   : 3	
-    <126>   DW_AT_decl_line   : 132	
-    <127>   DW_AT_type        : <0x108>	
-    <12b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12e>: Abbrev Number: 7 (DW_TAG_member)
-    <12f>   DW_AT_name        : (indirect string, offset: 0x36e): cont_reading_from_srcdev_mode	
-    <133>   DW_AT_decl_file   : 3	
-    <134>   DW_AT_decl_line   : 133	
-    <135>   DW_AT_type        : <0x108>	
-    <139>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13c>: Abbrev Number: 7 (DW_TAG_member)
-    <13d>   DW_AT_name        : (indirect string, offset: 0x65): srcdev_name	
-    <141>   DW_AT_decl_file   : 3	
-    <142>   DW_AT_decl_line   : 135	
-    <143>   DW_AT_type        : <0x15a>	
-    <147>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><14a>: Abbrev Number: 7 (DW_TAG_member)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x3a8): tgtdev_name	
-    <14f>   DW_AT_decl_file   : 3	
-    <150>   DW_AT_decl_line   : 136	
-    <151>   DW_AT_type        : <0x15a>	
-    <155>   DW_AT_data_member_location: 3 byte block: 23 91 8 	(DW_OP_plus_uconst: 1041)
- <2><159>: Abbrev Number: 0
- <1><15a>: Abbrev Number: 13 (DW_TAG_array_type)
-    <15b>   DW_AT_type        : <0xfd>	
-    <15f>   DW_AT_sibling     : <0x16b>	
- <2><163>: Abbrev Number: 14 (DW_TAG_subrange_type)
-    <164>   DW_AT_type        : <0x63>	
-    <168>   DW_AT_upper_bound : 1024	
- <2><16a>: Abbrev Number: 0
- <1><16b>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <16c>   DW_AT_name        : (indirect string, offset: 0x1c0): btrfs_ioctl_dev_replace_status_params	
-    <170>   DW_AT_byte_size   : 48	
-    <171>   DW_AT_decl_file   : 3	
-    <172>   DW_AT_decl_line   : 144	
-    <173>   DW_AT_sibling     : <0x1cc>	
- <2><177>: Abbrev Number: 7 (DW_TAG_member)
-    <178>   DW_AT_name        : (indirect string, offset: 0xd0): replace_state	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 145	
-    <17e>   DW_AT_type        : <0x108>	
-    <182>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><185>: Abbrev Number: 7 (DW_TAG_member)
-    <186>   DW_AT_name        : (indirect string, offset: 0xe): progress_1000	
-    <18a>   DW_AT_decl_file   : 3	
-    <18b>   DW_AT_decl_line   : 146	
-    <18c>   DW_AT_type        : <0x108>	
-    <190>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><193>: Abbrev Number: 7 (DW_TAG_member)
-    <194>   DW_AT_name        : (indirect string, offset: 0x135): time_started	
-    <198>   DW_AT_decl_file   : 3	
-    <199>   DW_AT_decl_line   : 147	
-    <19a>   DW_AT_type        : <0x108>	
-    <19e>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1a1>: Abbrev Number: 7 (DW_TAG_member)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x2e7): time_stopped	
-    <1a6>   DW_AT_decl_file   : 3	
-    <1a7>   DW_AT_decl_line   : 148	
-    <1a8>   DW_AT_type        : <0x108>	
-    <1ac>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1af>: Abbrev Number: 7 (DW_TAG_member)
-    <1b0>   DW_AT_name        : (indirect string, offset: 0x313): num_write_errors	
-    <1b4>   DW_AT_decl_file   : 3	
-    <1b5>   DW_AT_decl_line   : 149	
-    <1b6>   DW_AT_type        : <0x108>	
-    <1ba>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1bd>: Abbrev Number: 7 (DW_TAG_member)
-    <1be>   DW_AT_name        : (indirect string, offset: 0x1f0): num_uncorrectable_read_errors	
-    <1c2>   DW_AT_decl_file   : 3	
-    <1c3>   DW_AT_decl_line   : 150	
-    <1c4>   DW_AT_type        : <0x108>	
-    <1c8>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1cb>: Abbrev Number: 0
- <1><1cc>: Abbrev Number: 15 (DW_TAG_union_type)
-    <1cd>   DW_AT_byte_size   : 2068	
-    <1cf>   DW_AT_decl_file   : 3	
-    <1d0>   DW_AT_decl_line   : 163	
-    <1d1>   DW_AT_sibling     : <0x1ec>	
- <2><1d5>: Abbrev Number: 16 (DW_TAG_member)
-    <1d6>   DW_AT_name        : (indirect string, offset: 0x5f): start	
-    <1da>   DW_AT_decl_file   : 3	
-    <1db>   DW_AT_decl_line   : 164	
-    <1dc>   DW_AT_type        : <0x113>	
- <2><1e0>: Abbrev Number: 16 (DW_TAG_member)
-    <1e1>   DW_AT_name        : (indirect string, offset: 0x8e): status	
-    <1e5>   DW_AT_decl_file   : 3	
-    <1e6>   DW_AT_decl_line   : 165	
-    <1e7>   DW_AT_type        : <0x16b>	
- <2><1eb>: Abbrev Number: 0
- <1><1ec>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <1ed>   DW_AT_name        : (indirect string, offset: 0x71): btrfs_ioctl_dev_replace_args	
-    <1f1>   DW_AT_byte_size   : 2596	
-    <1f3>   DW_AT_decl_file   : 3	
-    <1f4>   DW_AT_decl_line   : 159	
-    <1f5>   DW_AT_sibling     : <0x22d>	
- <2><1f9>: Abbrev Number: 8 (DW_TAG_member)
-    <1fa>   DW_AT_name        : cmd	
-    <1fe>   DW_AT_decl_file   : 3	
-    <1ff>   DW_AT_decl_line   : 160	
-    <200>   DW_AT_type        : <0x108>	
-    <204>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><207>: Abbrev Number: 7 (DW_TAG_member)
-    <208>   DW_AT_name        : (indirect string, offset: 0x244): result	
-    <20c>   DW_AT_decl_file   : 3	
-    <20d>   DW_AT_decl_line   : 161	
-    <20e>   DW_AT_type        : <0x108>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><215>: Abbrev Number: 17 (DW_TAG_member)
-    <216>   DW_AT_type        : <0x1cc>	
-    <21a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><21d>: Abbrev Number: 7 (DW_TAG_member)
-    <21e>   DW_AT_name        : (indirect string, offset: 0x32e): spare	
-    <222>   DW_AT_decl_file   : 3	
-    <223>   DW_AT_decl_line   : 168	
-    <224>   DW_AT_type        : <0x22d>	
-    <228>   DW_AT_data_member_location: 3 byte block: 23 a4 10 	(DW_OP_plus_uconst: 2084)
- <2><22c>: Abbrev Number: 0
- <1><22d>: Abbrev Number: 13 (DW_TAG_array_type)
-    <22e>   DW_AT_type        : <0x108>	
-    <232>   DW_AT_sibling     : <0x23d>	
- <2><236>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <237>   DW_AT_type        : <0x63>	
-    <23b>   DW_AT_upper_bound : 63	
- <2><23c>: Abbrev Number: 0
- <1><23d>: Abbrev Number: 19 (DW_TAG_enumeration_type)
-    <23e>   DW_AT_name        : (indirect string, offset: 0x22e): btrfs_dev_stat_values	
-    <242>   DW_AT_byte_size   : 4	
-    <243>   DW_AT_decl_file   : 3	
-    <244>   DW_AT_decl_line   : 369	
-    <246>   DW_AT_sibling     : <0x26f>	
- <2><24a>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <24b>   DW_AT_name        : (indirect string, offset: 0x3c): BTRFS_DEV_STAT_WRITE_ERRS	
-    <24f>   DW_AT_const_value : 0	
- <2><250>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <251>   DW_AT_name        : (indirect string, offset: 0x2c9): BTRFS_DEV_STAT_READ_ERRS	
-    <255>   DW_AT_const_value : 1	
- <2><256>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <257>   DW_AT_name        : (indirect string, offset: 0x2af): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <25b>   DW_AT_const_value : 2	
- <2><25c>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <25d>   DW_AT_name        : (indirect string, offset: 0x1a1): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <261>   DW_AT_const_value : 3	
- <2><262>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <263>   DW_AT_name        : (indirect string, offset: 0x2f4): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <267>   DW_AT_const_value : 4	
- <2><268>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <269>   DW_AT_name        : (indirect string, offset: 0x1c): BTRFS_DEV_STAT_VALUES_MAX	
-    <26d>   DW_AT_const_value : 5	
- <2><26e>: Abbrev Number: 0
- <1><26f>: Abbrev Number: 11 (DW_TAG_typedef)
-    <270>   DW_AT_name        : (indirect string, offset: 0x27c): struct_btrfs_ioctl_dev_replace_args	
-    <274>   DW_AT_decl_file   : 4	
-    <275>   DW_AT_decl_line   : 36	
-    <276>   DW_AT_type        : <0x1ec>	
- <1><27a>: Abbrev Number: 21 (DW_TAG_variable)
-    <27b>   DW_AT_name        : (indirect string, offset: 0x142): current_wordsize	
-    <27f>   DW_AT_decl_file   : 5	
-    <280>   DW_AT_decl_line   : 757	
-    <282>   DW_AT_type        : <0x47>	
-    <286>   DW_AT_external    : 1	
-    <287>   DW_AT_declaration : 1	
- <1><288>: Abbrev Number: 21 (DW_TAG_variable)
-    <289>   DW_AT_name        : (indirect string, offset: 0x12e): sysent	
-    <28d>   DW_AT_decl_file   : 5	
-    <28e>   DW_AT_decl_line   : 892	
-    <290>   DW_AT_type        : <0xeb>	
-    <294>   DW_AT_external    : 1	
-    <295>   DW_AT_declaration : 1	
- <1><296>: Abbrev Number: 21 (DW_TAG_variable)
-    <297>   DW_AT_name        : (indirect string, offset: 0x1e6): nsyscalls	
-    <29b>   DW_AT_decl_file   : 5	
-    <29c>   DW_AT_decl_line   : 903	
-    <29e>   DW_AT_type        : <0x47>	
-    <2a2>   DW_AT_external    : 1	
-    <2a3>   DW_AT_declaration : 1	
- <1><2a4>: Abbrev Number: 22 (DW_TAG_variable)
-    <2a5>   DW_AT_name        : (indirect string, offset: 0x9e): mpers_target_var	
-    <2a9>   DW_AT_decl_file   : 4	
-    <2aa>   DW_AT_decl_line   : 46	
-    <2ab>   DW_AT_type        : <0x26f>	
-    <2af>   DW_AT_external    : 1	
-    <2b0>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><2b6>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2 b/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2
deleted file mode 100644
index 1e9b5f0..0000000
--- a/mpers-m32/struct_btrfs_ioctl_dev_replace_args.d2
+++ /dev/null
@@ -1,368 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x362): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x324): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xde): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x38c): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x20e): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb9): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x334): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x11c): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2a6): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x229): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x12e): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x153): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xaf): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x39f): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x95): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x21b): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x36): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2e2): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2a0): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x33d): btrfs_ioctl_dev_replace_start_params
-DW_AT_byte_size   : 2068
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 131
-DW_AT_sibling     : <0x15a>
-<2><120>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x56): srcdevid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 132
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x36e): cont_reading_from_srcdev_mode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><13c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x65): srcdev_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 135
-DW_AT_type        : <0x15a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><14a>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a8): tgtdev_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 136
-DW_AT_type        : <0x15a>
-DW_AT_data_member_location: 3 byte block: 23 91 8 	(DW_OP_plus_uconst: 1041)
-<1><15a>
-Abbrev Number: 13 (DW_TAG_array_type)
-DW_AT_type        : <0xfd>
-DW_AT_sibling     : <0x16b>
-<2><163>
-Abbrev Number: 14 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1024
-<1><16b>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1c0): btrfs_ioctl_dev_replace_status_params
-DW_AT_byte_size   : 48
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 144
-DW_AT_sibling     : <0x1cc>
-<2><177>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd0): replace_state
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 145
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><185>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe): progress_1000
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 146
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><193>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x135): time_started
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 147
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1a1>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e7): time_stopped
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 148
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1af>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x313): num_write_errors
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 149
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1bd>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f0): num_uncorrectable_read_errors
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 150
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<1><1cc>
-Abbrev Number: 15 (DW_TAG_union_type)
-DW_AT_byte_size   : 2068
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 163
-DW_AT_sibling     : <0x1ec>
-<2><1d5>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5f): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 164
-DW_AT_type        : <0x113>
-<2><1e0>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8e): status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 165
-DW_AT_type        : <0x16b>
-<1><1ec>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x71): btrfs_ioctl_dev_replace_args
-DW_AT_byte_size   : 2596
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 159
-DW_AT_sibling     : <0x22d>
-<2><1f9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : cmd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 160
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><207>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x244): result
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 161
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><215>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_type        : <0x1cc>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><21d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x32e): spare
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 168
-DW_AT_type        : <0x22d>
-DW_AT_data_member_location: 3 byte block: 23 a4 10 	(DW_OP_plus_uconst: 2084)
-<1><22d>
-Abbrev Number: 13 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x23d>
-<2><236>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 63
-<1><23d>
-Abbrev Number: 19 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x22e): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x26f>
-<2><24a>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x3c): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><250>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2c9): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><256>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2af): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><25c>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1a1): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><262>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2f4): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><268>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1c): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><26f>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x27c): struct_btrfs_ioctl_dev_replace_args
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x1ec>
-<1><27a>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x142): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><288>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12e): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><296>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1e6): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2a4>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9e): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x26f>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.c b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.c
index a62dfd3..4f54da8 100644
--- a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.c
+++ b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1 b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1
deleted file mode 100644
index c1b20ca..0000000
--- a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d1
+++ /dev/null
@@ -1,277 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x24c (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x154): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x270): mpers-m32/struct_btrfs_ioctl_received_subvol_args.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1ee): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x2dc): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x2c3): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe7): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x2e8): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1bb): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xc7): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x2cd): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x10a): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x22f): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x1d3): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x11c): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x14e): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xbd): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x2fb): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x82): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x6e): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x50): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x56): __u32	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 26	
-    <104>   DW_AT_type        : <0x47>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x229): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x1d8): btrfs_dev_stat_values	
-    <118>   DW_AT_byte_size   : 4	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 369	
-    <11c>   DW_AT_sibling     : <0x145>	
- <2><120>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <121>   DW_AT_name        : (indirect string, offset: 0x123): BTRFS_DEV_STAT_WRITE_ERRS	
-    <125>   DW_AT_const_value : 0	
- <2><126>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <127>   DW_AT_name        : (indirect string, offset: 0x252): BTRFS_DEV_STAT_READ_ERRS	
-    <12b>   DW_AT_const_value : 1	
- <2><12c>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <12d>   DW_AT_name        : (indirect string, offset: 0x238): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <131>   DW_AT_const_value : 2	
- <2><132>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <133>   DW_AT_name        : (indirect string, offset: 0x19c): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <137>   DW_AT_const_value : 3	
- <2><138>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <139>   DW_AT_name        : (indirect string, offset: 0x2a4): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <13d>   DW_AT_const_value : 4	
- <2><13e>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <13f>   DW_AT_name        : (indirect string, offset: 0xe): BTRFS_DEV_STAT_VALUES_MAX	
-    <143>   DW_AT_const_value : 5	
- <2><144>: Abbrev Number: 0
- <1><145>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <146>   DW_AT_name        : (indirect string, offset: 0xf5): btrfs_ioctl_timespec	
-    <14a>   DW_AT_byte_size   : 12	
-    <14b>   DW_AT_decl_file   : 3	
-    <14c>   DW_AT_decl_line   : 426	
-    <14e>   DW_AT_sibling     : <0x171>	
- <2><152>: Abbrev Number: 15 (DW_TAG_member)
-    <153>   DW_AT_name        : sec	
-    <157>   DW_AT_decl_file   : 3	
-    <158>   DW_AT_decl_line   : 427	
-    <15a>   DW_AT_type        : <0x108>	
-    <15e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><161>: Abbrev Number: 16 (DW_TAG_member)
-    <162>   DW_AT_name        : (indirect string, offset: 0x26b): nsec	
-    <166>   DW_AT_decl_file   : 3	
-    <167>   DW_AT_decl_line   : 428	
-    <169>   DW_AT_type        : <0xfd>	
-    <16d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><170>: Abbrev Number: 0
- <1><171>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <172>   DW_AT_name        : (indirect string, offset: 0x8b): btrfs_ioctl_received_subvol_args	
-    <176>   DW_AT_byte_size   : 192	
-    <177>   DW_AT_decl_file   : 3	
-    <178>   DW_AT_decl_line   : 431	
-    <17a>   DW_AT_sibling     : <0x1e8>	
- <2><17e>: Abbrev Number: 16 (DW_TAG_member)
-    <17f>   DW_AT_name        : (indirect string, offset: 0x1ce): uuid	
-    <183>   DW_AT_decl_file   : 3	
-    <184>   DW_AT_decl_line   : 432	
-    <186>   DW_AT_type        : <0x1e8>	
-    <18a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><18d>: Abbrev Number: 16 (DW_TAG_member)
-    <18e>   DW_AT_name        : (indirect string, offset: 0x65): stransid	
-    <192>   DW_AT_decl_file   : 3	
-    <193>   DW_AT_decl_line   : 433	
-    <195>   DW_AT_type        : <0x108>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 16 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0xde): rtransid	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 434	
-    <1a4>   DW_AT_type        : <0x108>	
-    <1a8>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1ab>: Abbrev Number: 16 (DW_TAG_member)
-    <1ac>   DW_AT_name        : (indirect string, offset: 0x7c): stime	
-    <1b0>   DW_AT_decl_file   : 3	
-    <1b1>   DW_AT_decl_line   : 435	
-    <1b3>   DW_AT_type        : <0x145>	
-    <1b7>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1ba>: Abbrev Number: 16 (DW_TAG_member)
-    <1bb>   DW_AT_name        : (indirect string, offset: 0x2d6): rtime	
-    <1bf>   DW_AT_decl_file   : 3	
-    <1c0>   DW_AT_decl_line   : 436	
-    <1c2>   DW_AT_type        : <0x145>	
-    <1c6>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1c9>: Abbrev Number: 16 (DW_TAG_member)
-    <1ca>   DW_AT_name        : (indirect string, offset: 0x1c8): flags	
-    <1ce>   DW_AT_decl_file   : 3	
-    <1cf>   DW_AT_decl_line   : 437	
-    <1d1>   DW_AT_type        : <0x108>	
-    <1d5>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1d8>: Abbrev Number: 16 (DW_TAG_member)
-    <1d9>   DW_AT_name        : (indirect string, offset: 0x5c): reserved	
-    <1dd>   DW_AT_decl_file   : 3	
-    <1de>   DW_AT_decl_line   : 438	
-    <1e0>   DW_AT_type        : <0x1f8>	
-    <1e4>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1e7>: Abbrev Number: 0
- <1><1e8>: Abbrev Number: 17 (DW_TAG_array_type)
-    <1e9>   DW_AT_type        : <0x6a>	
-    <1ed>   DW_AT_sibling     : <0x1f8>	
- <2><1f1>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <1f2>   DW_AT_type        : <0x63>	
-    <1f6>   DW_AT_upper_bound : 15	
- <2><1f7>: Abbrev Number: 0
- <1><1f8>: Abbrev Number: 17 (DW_TAG_array_type)
-    <1f9>   DW_AT_type        : <0x108>	
-    <1fd>   DW_AT_sibling     : <0x208>	
- <2><201>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <202>   DW_AT_type        : <0x63>	
-    <206>   DW_AT_upper_bound : 15	
- <2><207>: Abbrev Number: 0
- <1><208>: Abbrev Number: 11 (DW_TAG_typedef)
-    <209>   DW_AT_name        : (indirect string, offset: 0x28): struct_btrfs_ioctl_received_subvol_args	
-    <20d>   DW_AT_decl_file   : 4	
-    <20e>   DW_AT_decl_line   : 40	
-    <20f>   DW_AT_type        : <0x171>	
- <1><213>: Abbrev Number: 19 (DW_TAG_variable)
-    <214>   DW_AT_name        : (indirect string, offset: 0x13d): current_wordsize	
-    <218>   DW_AT_decl_file   : 5	
-    <219>   DW_AT_decl_line   : 757	
-    <21b>   DW_AT_type        : <0x47>	
-    <21f>   DW_AT_external    : 1	
-    <220>   DW_AT_declaration : 1	
- <1><221>: Abbrev Number: 19 (DW_TAG_variable)
-    <222>   DW_AT_name        : (indirect string, offset: 0x11c): sysent	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 892	
-    <229>   DW_AT_type        : <0xeb>	
-    <22d>   DW_AT_external    : 1	
-    <22e>   DW_AT_declaration : 1	
- <1><22f>: Abbrev Number: 19 (DW_TAG_variable)
-    <230>   DW_AT_name        : (indirect string, offset: 0x21f): nsyscalls	
-    <234>   DW_AT_decl_file   : 5	
-    <235>   DW_AT_decl_line   : 903	
-    <237>   DW_AT_type        : <0x47>	
-    <23b>   DW_AT_external    : 1	
-    <23c>   DW_AT_declaration : 1	
- <1><23d>: Abbrev Number: 20 (DW_TAG_variable)
-    <23e>   DW_AT_name        : (indirect string, offset: 0xac): mpers_target_var	
-    <242>   DW_AT_decl_file   : 4	
-    <243>   DW_AT_decl_line   : 46	
-    <244>   DW_AT_type        : <0x208>	
-    <248>   DW_AT_external    : 1	
-    <249>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><24f>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2 b/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2
deleted file mode 100644
index df06e8a..0000000
--- a/mpers-m32/struct_btrfs_ioctl_received_subvol_args.d2
+++ /dev/null
@@ -1,311 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x2dc): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2c3): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe7): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2e8): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1bb): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc7): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2cd): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x10a): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x22f): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1d3): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x11c): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14e): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbd): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2fb): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x82): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6e): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x50): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x56): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x229): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x1d8): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x145>
-<2><120>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x123): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><126>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x252): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><12c>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x238): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><132>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x19c): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><138>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2a4): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><13e>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xe): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><145>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf5): btrfs_ioctl_timespec
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 426
-DW_AT_sibling     : <0x171>
-<2><152>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : sec
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 427
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><161>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26b): nsec
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 428
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><171>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x8b): btrfs_ioctl_received_subvol_args
-DW_AT_byte_size   : 192
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 431
-DW_AT_sibling     : <0x1e8>
-<2><17e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ce): uuid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 432
-DW_AT_type        : <0x1e8>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><18d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x65): stransid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 433
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xde): rtransid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 434
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1ab>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7c): stime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 435
-DW_AT_type        : <0x145>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1ba>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d6): rtime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 436
-DW_AT_type        : <0x145>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1c9>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c8): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 437
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1d8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5c): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 438
-DW_AT_type        : <0x1f8>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<1><1e8>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x1f8>
-<2><1f1>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><1f8>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x208>
-<2><201>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><208>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x28): struct_btrfs_ioctl_received_subvol_args
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x171>
-<1><213>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x13d): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><221>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11c): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><22f>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x21f): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><23d>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xac): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x208>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.c b/mpers-m32/struct_btrfs_ioctl_send_args.c
index 6a8a43a..0e1d924 100644
--- a/mpers-m32/struct_btrfs_ioctl_send_args.c
+++ b/mpers-m32/struct_btrfs_ioctl_send_args.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.d1 b/mpers-m32/struct_btrfs_ioctl_send_args.d1
deleted file mode 100644
index 907455a..0000000
--- a/mpers-m32/struct_btrfs_ioctl_send_args.d1
+++ /dev/null
@@ -1,248 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x207 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x138): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xf1): mpers-m32/struct_btrfs_ioctl_send_args.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1e9): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x2aa): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x62): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0xc3): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd1): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x4f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x19f): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x2bf): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x2a1): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xdf): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x22a): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x1c0): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x11a): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x132): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xb9): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x2b6): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x6c): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x1b2): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x26): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x2d6): __s64	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 29	
-    <104>   DW_AT_type        : <0x32>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x224): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 12 (DW_TAG_array_type)
-    <114>   DW_AT_type        : <0x108>	
-    <118>   DW_AT_sibling     : <0x123>	
- <2><11c>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <11d>   DW_AT_type        : <0x63>	
-    <121>   DW_AT_upper_bound : 3	
- <2><122>: Abbrev Number: 0
- <1><123>: Abbrev Number: 14 (DW_TAG_enumeration_type)
-    <124>   DW_AT_name        : (indirect string, offset: 0x1c5): btrfs_dev_stat_values	
-    <128>   DW_AT_byte_size   : 4	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 369	
-    <12c>   DW_AT_sibling     : <0x155>	
- <2><130>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <131>   DW_AT_name        : (indirect string, offset: 0x2c): BTRFS_DEV_STAT_WRITE_ERRS	
-    <135>   DW_AT_const_value : 0	
- <2><136>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <137>   DW_AT_name        : (indirect string, offset: 0x24d): BTRFS_DEV_STAT_READ_ERRS	
-    <13b>   DW_AT_const_value : 1	
- <2><13c>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <13d>   DW_AT_name        : (indirect string, offset: 0x233): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <141>   DW_AT_const_value : 2	
- <2><142>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <143>   DW_AT_name        : (indirect string, offset: 0x180): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <147>   DW_AT_const_value : 3	
- <2><148>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <149>   DW_AT_name        : (indirect string, offset: 0x266): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <14d>   DW_AT_const_value : 4	
- <2><14e>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <14f>   DW_AT_name        : (indirect string, offset: 0xc): BTRFS_DEV_STAT_VALUES_MAX	
-    <153>   DW_AT_const_value : 5	
- <2><154>: Abbrev Number: 0
- <1><155>: Abbrev Number: 16 (DW_TAG_structure_type)
-    <156>   DW_AT_name        : (indirect string, offset: 0x92): btrfs_ioctl_send_args	
-    <15a>   DW_AT_byte_size   : 68	
-    <15b>   DW_AT_decl_file   : 3	
-    <15c>   DW_AT_decl_line   : 466	
-    <15e>   DW_AT_sibling     : <0x1bd>	
- <2><162>: Abbrev Number: 17 (DW_TAG_member)
-    <163>   DW_AT_name        : (indirect string, offset: 0x299): send_fd	
-    <167>   DW_AT_decl_file   : 3	
-    <168>   DW_AT_decl_line   : 467	
-    <16a>   DW_AT_type        : <0xfd>	
-    <16e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><171>: Abbrev Number: 17 (DW_TAG_member)
-    <172>   DW_AT_name        : (indirect string, offset: 0x285): clone_sources_count	
-    <176>   DW_AT_decl_file   : 3	
-    <177>   DW_AT_decl_line   : 468	
-    <179>   DW_AT_type        : <0x108>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 17 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x1db): clone_sources	
-    <185>   DW_AT_decl_file   : 3	
-    <186>   DW_AT_decl_line   : 469	
-    <188>   DW_AT_type        : <0x1bd>	
-    <18c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><18f>: Abbrev Number: 17 (DW_TAG_member)
-    <190>   DW_AT_name        : (indirect string, offset: 0x0): parent_root	
-    <194>   DW_AT_decl_file   : 3	
-    <195>   DW_AT_decl_line   : 470	
-    <197>   DW_AT_type        : <0x108>	
-    <19b>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><19e>: Abbrev Number: 17 (DW_TAG_member)
-    <19f>   DW_AT_name        : (indirect string, offset: 0x1ac): flags	
-    <1a3>   DW_AT_decl_file   : 3	
-    <1a4>   DW_AT_decl_line   : 471	
-    <1a6>   DW_AT_type        : <0x108>	
-    <1aa>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1ad>: Abbrev Number: 17 (DW_TAG_member)
-    <1ae>   DW_AT_name        : (indirect string, offset: 0x46): reserved	
-    <1b2>   DW_AT_decl_file   : 3	
-    <1b3>   DW_AT_decl_line   : 472	
-    <1b5>   DW_AT_type        : <0x113>	
-    <1b9>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1bc>: Abbrev Number: 0
- <1><1bd>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <1be>   DW_AT_byte_size   : 4	
-    <1bf>   DW_AT_type        : <0x108>	
- <1><1c3>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1c4>   DW_AT_name        : (indirect string, offset: 0x75): struct_btrfs_ioctl_send_args	
-    <1c8>   DW_AT_decl_file   : 4	
-    <1c9>   DW_AT_decl_line   : 38	
-    <1ca>   DW_AT_type        : <0x155>	
- <1><1ce>: Abbrev Number: 18 (DW_TAG_variable)
-    <1cf>   DW_AT_name        : (indirect string, offset: 0x121): current_wordsize	
-    <1d3>   DW_AT_decl_file   : 5	
-    <1d4>   DW_AT_decl_line   : 757	
-    <1d6>   DW_AT_type        : <0x47>	
-    <1da>   DW_AT_external    : 1	
-    <1db>   DW_AT_declaration : 1	
- <1><1dc>: Abbrev Number: 18 (DW_TAG_variable)
-    <1dd>   DW_AT_name        : (indirect string, offset: 0x11a): sysent	
-    <1e1>   DW_AT_decl_file   : 5	
-    <1e2>   DW_AT_decl_line   : 892	
-    <1e4>   DW_AT_type        : <0xeb>	
-    <1e8>   DW_AT_external    : 1	
-    <1e9>   DW_AT_declaration : 1	
- <1><1ea>: Abbrev Number: 18 (DW_TAG_variable)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0x21a): nsyscalls	
-    <1ef>   DW_AT_decl_file   : 5	
-    <1f0>   DW_AT_decl_line   : 903	
-    <1f2>   DW_AT_type        : <0x47>	
-    <1f6>   DW_AT_external    : 1	
-    <1f7>   DW_AT_declaration : 1	
- <1><1f8>: Abbrev Number: 19 (DW_TAG_variable)
-    <1f9>   DW_AT_name        : (indirect string, offset: 0xa8): mpers_target_var	
-    <1fd>   DW_AT_decl_file   : 4	
-    <1fe>   DW_AT_decl_line   : 46	
-    <1ff>   DW_AT_type        : <0x1c3>	
-    <203>   DW_AT_external    : 1	
-    <204>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><20a>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_btrfs_ioctl_send_args.d2 b/mpers-m32/struct_btrfs_ioctl_send_args.d2
deleted file mode 100644
index 7733f61..0000000
--- a/mpers-m32/struct_btrfs_ioctl_send_args.d2
+++ /dev/null
@@ -1,279 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x2aa): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x62): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xc3): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd1): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x4f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x19f): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2bf): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2a1): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xdf): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x22a): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1c0): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x11a): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x132): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb9): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2b6): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6c): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b2): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x26): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2d6): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x224): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x123>
-<2><11c>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><123>
-Abbrev Number: 14 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x1c5): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x155>
-<2><130>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2c): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><136>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x24d): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><13c>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x233): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><142>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x180): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><148>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x266): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><14e>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xc): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><155>
-Abbrev Number: 16 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x92): btrfs_ioctl_send_args
-DW_AT_byte_size   : 68
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 466
-DW_AT_sibling     : <0x1bd>
-<2><162>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x299): send_fd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 467
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><171>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x285): clone_sources_count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 468
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1db): clone_sources
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 469
-DW_AT_type        : <0x1bd>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><18f>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): parent_root
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 470
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><19e>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ac): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 471
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><1ad>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x46): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 472
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><1bd>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x108>
-<1><1c3>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x75): struct_btrfs_ioctl_send_args
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x155>
-<1><1ce>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x121): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1dc>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11a): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1ea>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x21a): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1f8>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa8): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x1c3>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.c b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.c
index 0229a3b..977a309 100644
--- a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.c
+++ b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1 b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1
deleted file mode 100644
index 9d444e2..0000000
--- a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d1
+++ /dev/null
@@ -1,363 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2fe (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x145): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x6b): mpers-m32/struct_btrfs_ioctl_vol_args_v2.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x200): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x32a): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x2ce): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe4): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x96): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1c4): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xcd): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x302): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xfb): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x250): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x1e5): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x10d): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x2e4): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xc3): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x33b): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0xa9): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x1d7): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x4b): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x344): __s64	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 29	
-    <104>   DW_AT_type        : <0x32>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x24a): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x38): btrfs_qgroup_limit	
-    <118>   DW_AT_byte_size   : 40	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 44	
-    <11b>   DW_AT_sibling     : <0x166>	
- <2><11f>: Abbrev Number: 7 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0x1d1): flags	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 45	
-    <126>   DW_AT_type        : <0x108>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 7 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0xf2): max_rfer	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 46	
-    <134>   DW_AT_type        : <0x108>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13b>: Abbrev Number: 7 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x1ac): max_excl	
-    <140>   DW_AT_decl_file   : 3	
-    <141>   DW_AT_decl_line   : 47	
-    <142>   DW_AT_type        : <0x108>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><149>: Abbrev Number: 7 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x2c5): rsv_rfer	
-    <14e>   DW_AT_decl_file   : 3	
-    <14f>   DW_AT_decl_line   : 48	
-    <150>   DW_AT_type        : <0x108>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><157>: Abbrev Number: 7 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x114): rsv_excl	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 49	
-    <15e>   DW_AT_type        : <0x108>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><165>: Abbrev Number: 0
- <1><166>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <167>   DW_AT_name        : (indirect string, offset: 0x28c): btrfs_qgroup_inherit	
-    <16b>   DW_AT_byte_size   : 72	
-    <16c>   DW_AT_decl_file   : 3	
-    <16d>   DW_AT_decl_line   : 52	
-    <16e>   DW_AT_sibling     : <0x1c7>	
- <2><172>: Abbrev Number: 7 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x1d1): flags	
-    <177>   DW_AT_decl_file   : 3	
-    <178>   DW_AT_decl_line   : 53	
-    <179>   DW_AT_type        : <0x108>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><180>: Abbrev Number: 7 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x2d8): num_qgroups	
-    <185>   DW_AT_decl_file   : 3	
-    <186>   DW_AT_decl_line   : 54	
-    <187>   DW_AT_type        : <0x108>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><18e>: Abbrev Number: 7 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0x12e): num_ref_copies	
-    <193>   DW_AT_decl_file   : 3	
-    <194>   DW_AT_decl_line   : 55	
-    <195>   DW_AT_type        : <0x108>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 7 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0xe): num_excl_copies	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 56	
-    <1a3>   DW_AT_type        : <0x108>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1aa>: Abbrev Number: 8 (DW_TAG_member)
-    <1ab>   DW_AT_name        : lim	
-    <1af>   DW_AT_decl_file   : 3	
-    <1b0>   DW_AT_decl_line   : 57	
-    <1b1>   DW_AT_type        : <0x113>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1b8>: Abbrev Number: 7 (DW_TAG_member)
-    <1b9>   DW_AT_name        : (indirect string, offset: 0x231): qgroups	
-    <1bd>   DW_AT_decl_file   : 3	
-    <1be>   DW_AT_decl_line   : 58	
-    <1bf>   DW_AT_type        : <0x1c7>	
-    <1c3>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1c6>: Abbrev Number: 0
- <1><1c7>: Abbrev Number: 12 (DW_TAG_array_type)
-    <1c8>   DW_AT_type        : <0x108>	
-    <1cc>   DW_AT_sibling     : <0x1d6>	
- <2><1d0>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <1d1>   DW_AT_type        : <0x63>	
- <2><1d5>: Abbrev Number: 0
- <1><1d6>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <1d7>   DW_AT_byte_size   : 12	
-    <1d8>   DW_AT_decl_file   : 3	
-    <1d9>   DW_AT_decl_line   : 72	
-    <1da>   DW_AT_sibling     : <0x1fb>	
- <2><1de>: Abbrev Number: 7 (DW_TAG_member)
-    <1df>   DW_AT_name        : (indirect string, offset: 0x336): size	
-    <1e3>   DW_AT_decl_file   : 3	
-    <1e4>   DW_AT_decl_line   : 73	
-    <1e5>   DW_AT_type        : <0x108>	
-    <1e9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1ec>: Abbrev Number: 7 (DW_TAG_member)
-    <1ed>   DW_AT_name        : (indirect string, offset: 0x1b5): qgroup_inherit	
-    <1f1>   DW_AT_decl_file   : 3	
-    <1f2>   DW_AT_decl_line   : 74	
-    <1f3>   DW_AT_type        : <0x1fb>	
-    <1f7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1fa>: Abbrev Number: 0
- <1><1fb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <1fc>   DW_AT_byte_size   : 4	
-    <1fd>   DW_AT_type        : <0x166>	
- <1><201>: Abbrev Number: 15 (DW_TAG_union_type)
-    <202>   DW_AT_byte_size   : 32	
-    <203>   DW_AT_decl_file   : 3	
-    <204>   DW_AT_decl_line   : 71	
-    <205>   DW_AT_sibling     : <0x21a>	
- <2><209>: Abbrev Number: 16 (DW_TAG_member)
-    <20a>   DW_AT_type        : <0x1d6>	
- <2><20e>: Abbrev Number: 17 (DW_TAG_member)
-    <20f>   DW_AT_name        : (indirect string, offset: 0x243): unused	
-    <213>   DW_AT_decl_file   : 3	
-    <214>   DW_AT_decl_line   : 76	
-    <215>   DW_AT_type        : <0x21a>	
- <2><219>: Abbrev Number: 0
- <1><21a>: Abbrev Number: 12 (DW_TAG_array_type)
-    <21b>   DW_AT_type        : <0x108>	
-    <21f>   DW_AT_sibling     : <0x22a>	
- <2><223>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <224>   DW_AT_type        : <0x63>	
-    <228>   DW_AT_upper_bound : 3	
- <2><229>: Abbrev Number: 0
- <1><22a>: Abbrev Number: 19 (DW_TAG_structure_type)
-    <22b>   DW_AT_name        : (indirect string, offset: 0x2ea): btrfs_ioctl_vol_args_v2	
-    <22f>   DW_AT_byte_size   : 4096	
-    <231>   DW_AT_decl_file   : 3	
-    <232>   DW_AT_decl_line   : 67	
-    <233>   DW_AT_sibling     : <0x277>	
- <2><237>: Abbrev Number: 8 (DW_TAG_member)
-    <238>   DW_AT_name        : fd	
-    <23b>   DW_AT_decl_file   : 3	
-    <23c>   DW_AT_decl_line   : 68	
-    <23d>   DW_AT_type        : <0xfd>	
-    <241>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><244>: Abbrev Number: 7 (DW_TAG_member)
-    <245>   DW_AT_name        : (indirect string, offset: 0x13d): transid	
-    <249>   DW_AT_decl_file   : 3	
-    <24a>   DW_AT_decl_line   : 69	
-    <24b>   DW_AT_type        : <0x108>	
-    <24f>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><252>: Abbrev Number: 7 (DW_TAG_member)
-    <253>   DW_AT_name        : (indirect string, offset: 0x1d1): flags	
-    <257>   DW_AT_decl_file   : 3	
-    <258>   DW_AT_decl_line   : 70	
-    <259>   DW_AT_type        : <0x108>	
-    <25d>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><260>: Abbrev Number: 20 (DW_TAG_member)
-    <261>   DW_AT_type        : <0x201>	
-    <265>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><268>: Abbrev Number: 7 (DW_TAG_member)
-    <269>   DW_AT_name        : (indirect string, offset: 0x2a1): name	
-    <26d>   DW_AT_decl_file   : 3	
-    <26e>   DW_AT_decl_line   : 78	
-    <26f>   DW_AT_type        : <0x277>	
-    <273>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><276>: Abbrev Number: 0
- <1><277>: Abbrev Number: 12 (DW_TAG_array_type)
-    <278>   DW_AT_type        : <0x6a>	
-    <27c>   DW_AT_sibling     : <0x288>	
- <2><280>: Abbrev Number: 21 (DW_TAG_subrange_type)
-    <281>   DW_AT_type        : <0x63>	
-    <285>   DW_AT_upper_bound : 4039	
- <2><287>: Abbrev Number: 0
- <1><288>: Abbrev Number: 22 (DW_TAG_enumeration_type)
-    <289>   DW_AT_name        : (indirect string, offset: 0x1ea): btrfs_dev_stat_values	
-    <28d>   DW_AT_byte_size   : 4	
-    <28e>   DW_AT_decl_file   : 3	
-    <28f>   DW_AT_decl_line   : 369	
-    <291>   DW_AT_sibling     : <0x2ba>	
- <2><295>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <296>   DW_AT_name        : (indirect string, offset: 0x51): BTRFS_DEV_STAT_WRITE_ERRS	
-    <29a>   DW_AT_const_value : 0	
- <2><29b>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <29c>   DW_AT_name        : (indirect string, offset: 0x273): BTRFS_DEV_STAT_READ_ERRS	
-    <2a0>   DW_AT_const_value : 1	
- <2><2a1>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2a2>   DW_AT_name        : (indirect string, offset: 0x259): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <2a6>   DW_AT_const_value : 2	
- <2><2a7>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2a8>   DW_AT_name        : (indirect string, offset: 0x18d): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <2ac>   DW_AT_const_value : 3	
- <2><2ad>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2ae>   DW_AT_name        : (indirect string, offset: 0x2a6): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <2b2>   DW_AT_const_value : 4	
- <2><2b3>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2b4>   DW_AT_name        : (indirect string, offset: 0x1e): BTRFS_DEV_STAT_VALUES_MAX	
-    <2b8>   DW_AT_const_value : 5	
- <2><2b9>: Abbrev Number: 0
- <1><2ba>: Abbrev Number: 11 (DW_TAG_typedef)
-    <2bb>   DW_AT_name        : (indirect string, offset: 0x30b): struct_btrfs_ioctl_vol_args_v2	
-    <2bf>   DW_AT_decl_file   : 4	
-    <2c0>   DW_AT_decl_line   : 42	
-    <2c1>   DW_AT_type        : <0x22a>	
- <1><2c5>: Abbrev Number: 24 (DW_TAG_variable)
-    <2c6>   DW_AT_name        : (indirect string, offset: 0x11d): current_wordsize	
-    <2ca>   DW_AT_decl_file   : 5	
-    <2cb>   DW_AT_decl_line   : 757	
-    <2cd>   DW_AT_type        : <0x47>	
-    <2d1>   DW_AT_external    : 1	
-    <2d2>   DW_AT_declaration : 1	
- <1><2d3>: Abbrev Number: 24 (DW_TAG_variable)
-    <2d4>   DW_AT_name        : (indirect string, offset: 0x10d): sysent	
-    <2d8>   DW_AT_decl_file   : 5	
-    <2d9>   DW_AT_decl_line   : 892	
-    <2db>   DW_AT_type        : <0xeb>	
-    <2df>   DW_AT_external    : 1	
-    <2e0>   DW_AT_declaration : 1	
- <1><2e1>: Abbrev Number: 24 (DW_TAG_variable)
-    <2e2>   DW_AT_name        : (indirect string, offset: 0x239): nsyscalls	
-    <2e6>   DW_AT_decl_file   : 5	
-    <2e7>   DW_AT_decl_line   : 903	
-    <2e9>   DW_AT_type        : <0x47>	
-    <2ed>   DW_AT_external    : 1	
-    <2ee>   DW_AT_declaration : 1	
- <1><2ef>: Abbrev Number: 25 (DW_TAG_variable)
-    <2f0>   DW_AT_name        : (indirect string, offset: 0xb2): mpers_target_var	
-    <2f4>   DW_AT_decl_file   : 4	
-    <2f5>   DW_AT_decl_line   : 46	
-    <2f6>   DW_AT_type        : <0x2ba>	
-    <2fa>   DW_AT_external    : 1	
-    <2fb>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><301>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2 b/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2
deleted file mode 100644
index 61020c6..0000000
--- a/mpers-m32/struct_btrfs_ioctl_vol_args_v2.d2
+++ /dev/null
@@ -1,410 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x32a): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2ce): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe4): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x96): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c4): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xcd): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x302): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xfb): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x250): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e5): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x10d): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e4): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc3): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x33b): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa9): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d7): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x4b): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x344): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x24a): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x38): btrfs_qgroup_limit
-DW_AT_byte_size   : 40
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_sibling     : <0x166>
-<2><11f>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d1): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf2): max_rfer
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><13b>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ac): max_excl
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><149>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c5): rsv_rfer
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><157>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x114): rsv_excl
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<1><166>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x28c): btrfs_qgroup_inherit
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 52
-DW_AT_sibling     : <0x1c7>
-<2><172>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d1): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><180>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d8): num_qgroups
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><18e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12e): num_ref_copies
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe): num_excl_copies
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : lim
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1b8>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x231): qgroups
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x1c7>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<1><1c7>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x1d6>
-<2><1d0>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-<1><1d6>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 72
-DW_AT_sibling     : <0x1fb>
-<2><1de>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x336): size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 73
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1ec>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b5): qgroup_inherit
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 74
-DW_AT_type        : <0x1fb>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><1fb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x166>
-<1><201>
-Abbrev Number: 15 (DW_TAG_union_type)
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 71
-DW_AT_sibling     : <0x21a>
-<2><209>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1d6>
-<2><20e>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x243): unused
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 76
-DW_AT_type        : <0x21a>
-<1><21a>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x22a>
-<2><223>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><22a>
-Abbrev Number: 19 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2ea): btrfs_ioctl_vol_args_v2
-DW_AT_byte_size   : 4096
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 67
-DW_AT_sibling     : <0x277>
-<2><237>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : fd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 68
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><244>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13d): transid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 69
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><252>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d1): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 70
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><260>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_type        : <0x201>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><268>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2a1): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 78
-DW_AT_type        : <0x277>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<1><277>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x288>
-<2><280>
-Abbrev Number: 21 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 4039
-<1><288>
-Abbrev Number: 22 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x1ea): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x2ba>
-<2><295>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x51): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><29b>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x273): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><2a1>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x259): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><2a7>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x18d): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><2ad>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2a6): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><2b3>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1e): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><2ba>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x30b): struct_btrfs_ioctl_vol_args_v2
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x22a>
-<1><2c5>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11d): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2d3>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x10d): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2e1>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x239): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2ef>
-Abbrev Number: 25 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xb2): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x2ba>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_ff_effect.d1 b/mpers-m32/struct_ff_effect.d1
deleted file mode 100644
index bab888e..0000000
--- a/mpers-m32/struct_ff_effect.d1
+++ /dev/null
@@ -1,489 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x446 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xb): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xd5): mpers-m32/struct_ff_effect.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x35f): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ee): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x7b): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x140): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x1da): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x256): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x335): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x20b): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x166): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x2b0): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x85): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x27f): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x318): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x1e8): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x238): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x5f): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0xc6): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x2da): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x2a4): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x2c2): __s16	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 22	
-    <104>   DW_AT_type        : <0x24>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x2aa): __u16	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 23	
-    <10f>   DW_AT_type        : <0x40>	
- <1><113>: Abbrev Number: 11 (DW_TAG_typedef)
-    <114>   DW_AT_name        : (indirect string, offset: 0x11d): __u32	
-    <118>   DW_AT_decl_file   : 2	
-    <119>   DW_AT_decl_line   : 26	
-    <11a>   DW_AT_type        : <0x47>	
- <1><11e>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x32b): ff_replay	
-    <123>   DW_AT_byte_size   : 4	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 974	
-    <127>   DW_AT_sibling     : <0x14a>	
- <2><12b>: Abbrev Number: 13 (DW_TAG_member)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x1c8): length	
-    <130>   DW_AT_decl_file   : 3	
-    <131>   DW_AT_decl_line   : 975	
-    <133>   DW_AT_type        : <0x108>	
-    <137>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><13a>: Abbrev Number: 13 (DW_TAG_member)
-    <13b>   DW_AT_name        : (indirect string, offset: 0xcf): delay	
-    <13f>   DW_AT_decl_file   : 3	
-    <140>   DW_AT_decl_line   : 976	
-    <142>   DW_AT_type        : <0x108>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><149>: Abbrev Number: 0
- <1><14a>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0xf2): ff_trigger	
-    <14f>   DW_AT_byte_size   : 4	
-    <150>   DW_AT_decl_file   : 3	
-    <151>   DW_AT_decl_line   : 984	
-    <153>   DW_AT_sibling     : <0x176>	
- <2><157>: Abbrev Number: 13 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x193): button	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 985	
-    <15f>   DW_AT_type        : <0x108>	
-    <163>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><166>: Abbrev Number: 13 (DW_TAG_member)
-    <167>   DW_AT_name        : (indirect string, offset: 0x2d1): interval	
-    <16b>   DW_AT_decl_file   : 3	
-    <16c>   DW_AT_decl_line   : 986	
-    <16e>   DW_AT_type        : <0x108>	
-    <172>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><175>: Abbrev Number: 0
- <1><176>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <177>   DW_AT_name        : (indirect string, offset: 0x273): ff_envelope	
-    <17b>   DW_AT_byte_size   : 8	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 1001	
-    <17f>   DW_AT_sibling     : <0x1c0>	
- <2><183>: Abbrev Number: 13 (DW_TAG_member)
-    <184>   DW_AT_name        : (indirect string, offset: 0x123): attack_length	
-    <188>   DW_AT_decl_file   : 3	
-    <189>   DW_AT_decl_line   : 1002	
-    <18b>   DW_AT_type        : <0x108>	
-    <18f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><192>: Abbrev Number: 13 (DW_TAG_member)
-    <193>   DW_AT_name        : (indirect string, offset: 0xfd): attack_level	
-    <197>   DW_AT_decl_file   : 3	
-    <198>   DW_AT_decl_line   : 1003	
-    <19a>   DW_AT_type        : <0x108>	
-    <19e>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><1a1>: Abbrev Number: 13 (DW_TAG_member)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x111): fade_length	
-    <1a6>   DW_AT_decl_file   : 3	
-    <1a7>   DW_AT_decl_line   : 1004	
-    <1a9>   DW_AT_type        : <0x108>	
-    <1ad>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1b0>: Abbrev Number: 13 (DW_TAG_member)
-    <1b1>   DW_AT_name        : (indirect string, offset: 0x1cf): fade_level	
-    <1b5>   DW_AT_decl_file   : 3	
-    <1b6>   DW_AT_decl_line   : 1005	
-    <1b8>   DW_AT_type        : <0x108>	
-    <1bc>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><1bf>: Abbrev Number: 0
- <1><1c0>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <1c1>   DW_AT_name        : (indirect string, offset: 0x1a1): ff_constant_effect	
-    <1c5>   DW_AT_byte_size   : 10	
-    <1c6>   DW_AT_decl_file   : 3	
-    <1c7>   DW_AT_decl_line   : 1013	
-    <1c9>   DW_AT_sibling     : <0x1ec>	
- <2><1cd>: Abbrev Number: 13 (DW_TAG_member)
-    <1ce>   DW_AT_name        : (indirect string, offset: 0x2e8): level	
-    <1d2>   DW_AT_decl_file   : 3	
-    <1d3>   DW_AT_decl_line   : 1014	
-    <1d5>   DW_AT_type        : <0xfd>	
-    <1d9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1dc>: Abbrev Number: 13 (DW_TAG_member)
-    <1dd>   DW_AT_name        : (indirect string, offset: 0x30f): envelope	
-    <1e1>   DW_AT_decl_file   : 3	
-    <1e2>   DW_AT_decl_line   : 1015	
-    <1e4>   DW_AT_type        : <0x176>	
-    <1e8>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><1eb>: Abbrev Number: 0
- <1><1ec>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <1ed>   DW_AT_name        : (indirect string, offset: 0x131): ff_ramp_effect	
-    <1f1>   DW_AT_byte_size   : 12	
-    <1f2>   DW_AT_decl_file   : 3	
-    <1f3>   DW_AT_decl_line   : 1024	
-    <1f5>   DW_AT_sibling     : <0x227>	
- <2><1f9>: Abbrev Number: 13 (DW_TAG_member)
-    <1fa>   DW_AT_name        : (indirect string, offset: 0x16f): start_level	
-    <1fe>   DW_AT_decl_file   : 3	
-    <1ff>   DW_AT_decl_line   : 1025	
-    <201>   DW_AT_type        : <0xfd>	
-    <205>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><208>: Abbrev Number: 13 (DW_TAG_member)
-    <209>   DW_AT_name        : (indirect string, offset: 0x1be): end_level	
-    <20d>   DW_AT_decl_file   : 3	
-    <20e>   DW_AT_decl_line   : 1026	
-    <210>   DW_AT_type        : <0xfd>	
-    <214>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><217>: Abbrev Number: 13 (DW_TAG_member)
-    <218>   DW_AT_name        : (indirect string, offset: 0x30f): envelope	
-    <21c>   DW_AT_decl_file   : 3	
-    <21d>   DW_AT_decl_line   : 1027	
-    <21f>   DW_AT_type        : <0x176>	
-    <223>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><226>: Abbrev Number: 0
- <1><227>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <228>   DW_AT_name        : (indirect string, offset: 0x97): ff_condition_effect	
-    <22c>   DW_AT_byte_size   : 12	
-    <22d>   DW_AT_decl_file   : 3	
-    <22e>   DW_AT_decl_line   : 1040	
-    <230>   DW_AT_sibling     : <0x28f>	
- <2><234>: Abbrev Number: 13 (DW_TAG_member)
-    <235>   DW_AT_name        : (indirect string, offset: 0x2ee): right_saturation	
-    <239>   DW_AT_decl_file   : 3	
-    <23a>   DW_AT_decl_line   : 1041	
-    <23c>   DW_AT_type        : <0x108>	
-    <240>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><243>: Abbrev Number: 13 (DW_TAG_member)
-    <244>   DW_AT_name        : (indirect string, offset: 0x2ff): left_saturation	
-    <248>   DW_AT_decl_file   : 3	
-    <249>   DW_AT_decl_line   : 1042	
-    <24b>   DW_AT_type        : <0x108>	
-    <24f>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><252>: Abbrev Number: 13 (DW_TAG_member)
-    <253>   DW_AT_name        : (indirect string, offset: 0x342): right_coeff	
-    <257>   DW_AT_decl_file   : 3	
-    <258>   DW_AT_decl_line   : 1044	
-    <25a>   DW_AT_type        : <0xfd>	
-    <25e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><261>: Abbrev Number: 13 (DW_TAG_member)
-    <262>   DW_AT_name        : (indirect string, offset: 0x0): left_coeff	
-    <266>   DW_AT_decl_file   : 3	
-    <267>   DW_AT_decl_line   : 1045	
-    <269>   DW_AT_type        : <0xfd>	
-    <26d>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><270>: Abbrev Number: 13 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x390): deadband	
-    <275>   DW_AT_decl_file   : 3	
-    <276>   DW_AT_decl_line   : 1047	
-    <278>   DW_AT_type        : <0x108>	
-    <27c>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><27f>: Abbrev Number: 13 (DW_TAG_member)
-    <280>   DW_AT_name        : (indirect string, offset: 0x58): center	
-    <284>   DW_AT_decl_file   : 3	
-    <285>   DW_AT_decl_line   : 1048	
-    <287>   DW_AT_type        : <0xfd>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><28e>: Abbrev Number: 0
- <1><28f>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <290>   DW_AT_name        : (indirect string, offset: 0x68): ff_periodic_effect	
-    <294>   DW_AT_byte_size   : 28	
-    <295>   DW_AT_decl_file   : 3	
-    <296>   DW_AT_decl_line   : 1069	
-    <298>   DW_AT_sibling     : <0x315>	
- <2><29c>: Abbrev Number: 13 (DW_TAG_member)
-    <29d>   DW_AT_name        : (indirect string, offset: 0x2c8): waveform	
-    <2a1>   DW_AT_decl_file   : 3	
-    <2a2>   DW_AT_decl_line   : 1070	
-    <2a4>   DW_AT_type        : <0x108>	
-    <2a8>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2ab>: Abbrev Number: 13 (DW_TAG_member)
-    <2ac>   DW_AT_name        : (indirect string, offset: 0x19a): period	
-    <2b0>   DW_AT_decl_file   : 3	
-    <2b1>   DW_AT_decl_line   : 1071	
-    <2b3>   DW_AT_type        : <0x108>	
-    <2b7>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><2ba>: Abbrev Number: 13 (DW_TAG_member)
-    <2bb>   DW_AT_name        : (indirect string, offset: 0x1b4): magnitude	
-    <2bf>   DW_AT_decl_file   : 3	
-    <2c0>   DW_AT_decl_line   : 1072	
-    <2c2>   DW_AT_type        : <0xfd>	
-    <2c6>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2c9>: Abbrev Number: 13 (DW_TAG_member)
-    <2ca>   DW_AT_name        : (indirect string, offset: 0x18c): offset	
-    <2ce>   DW_AT_decl_file   : 3	
-    <2cf>   DW_AT_decl_line   : 1073	
-    <2d1>   DW_AT_type        : <0xfd>	
-    <2d5>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><2d8>: Abbrev Number: 13 (DW_TAG_member)
-    <2d9>   DW_AT_name        : (indirect string, offset: 0xb6): phase	
-    <2dd>   DW_AT_decl_file   : 3	
-    <2de>   DW_AT_decl_line   : 1074	
-    <2e0>   DW_AT_type        : <0x108>	
-    <2e4>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><2e7>: Abbrev Number: 13 (DW_TAG_member)
-    <2e8>   DW_AT_name        : (indirect string, offset: 0x30f): envelope	
-    <2ec>   DW_AT_decl_file   : 3	
-    <2ed>   DW_AT_decl_line   : 1076	
-    <2ef>   DW_AT_type        : <0x176>	
-    <2f3>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><2f6>: Abbrev Number: 13 (DW_TAG_member)
-    <2f7>   DW_AT_name        : (indirect string, offset: 0xab): custom_len	
-    <2fb>   DW_AT_decl_file   : 3	
-    <2fc>   DW_AT_decl_line   : 1078	
-    <2fe>   DW_AT_type        : <0x113>	
-    <302>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><305>: Abbrev Number: 13 (DW_TAG_member)
-    <306>   DW_AT_name        : (indirect string, offset: 0x31f): custom_data	
-    <30a>   DW_AT_decl_file   : 3	
-    <30b>   DW_AT_decl_line   : 1079	
-    <30d>   DW_AT_type        : <0x315>	
-    <311>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><314>: Abbrev Number: 0
- <1><315>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <316>   DW_AT_byte_size   : 4	
-    <317>   DW_AT_type        : <0xfd>	
- <1><31b>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <31c>   DW_AT_name        : (indirect string, offset: 0x227): ff_rumble_effect	
-    <320>   DW_AT_byte_size   : 4	
-    <321>   DW_AT_decl_file   : 3	
-    <322>   DW_AT_decl_line   : 1090	
-    <324>   DW_AT_sibling     : <0x347>	
- <2><328>: Abbrev Number: 13 (DW_TAG_member)
-    <329>   DW_AT_name        : (indirect string, offset: 0x14e): strong_magnitude	
-    <32d>   DW_AT_decl_file   : 3	
-    <32e>   DW_AT_decl_line   : 1091	
-    <330>   DW_AT_type        : <0x108>	
-    <334>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><337>: Abbrev Number: 13 (DW_TAG_member)
-    <338>   DW_AT_name        : (indirect string, offset: 0x28d): weak_magnitude	
-    <33c>   DW_AT_decl_file   : 3	
-    <33d>   DW_AT_decl_line   : 1092	
-    <33f>   DW_AT_type        : <0x108>	
-    <343>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><346>: Abbrev Number: 0
- <1><347>: Abbrev Number: 14 (DW_TAG_union_type)
-    <348>   DW_AT_byte_size   : 28	
-    <349>   DW_AT_decl_file   : 3	
-    <34a>   DW_AT_decl_line   : 1125	
-    <34c>   DW_AT_sibling     : <0x38d>	
- <2><350>: Abbrev Number: 15 (DW_TAG_member)
-    <351>   DW_AT_name        : (indirect string, offset: 0x284): constant	
-    <355>   DW_AT_decl_file   : 3	
-    <356>   DW_AT_decl_line   : 1126	
-    <358>   DW_AT_type        : <0x1c0>	
- <2><35c>: Abbrev Number: 15 (DW_TAG_member)
-    <35d>   DW_AT_name        : (indirect string, offset: 0x53): ramp	
-    <361>   DW_AT_decl_file   : 3	
-    <362>   DW_AT_decl_line   : 1127	
-    <364>   DW_AT_type        : <0x1ec>	
- <2><368>: Abbrev Number: 15 (DW_TAG_member)
-    <369>   DW_AT_name        : (indirect string, offset: 0x8e): periodic	
-    <36d>   DW_AT_decl_file   : 3	
-    <36e>   DW_AT_decl_line   : 1128	
-    <370>   DW_AT_type        : <0x28f>	
- <2><374>: Abbrev Number: 15 (DW_TAG_member)
-    <375>   DW_AT_name        : (indirect string, offset: 0x269): condition	
-    <379>   DW_AT_decl_file   : 3	
-    <37a>   DW_AT_decl_line   : 1129	
-    <37c>   DW_AT_type        : <0x38d>	
- <2><380>: Abbrev Number: 15 (DW_TAG_member)
-    <381>   DW_AT_name        : (indirect string, offset: 0x10a): rumble	
-    <385>   DW_AT_decl_file   : 3	
-    <386>   DW_AT_decl_line   : 1130	
-    <388>   DW_AT_type        : <0x31b>	
- <2><38c>: Abbrev Number: 0
- <1><38d>: Abbrev Number: 16 (DW_TAG_array_type)
-    <38e>   DW_AT_type        : <0x227>	
-    <392>   DW_AT_sibling     : <0x39d>	
- <2><396>: Abbrev Number: 17 (DW_TAG_subrange_type)
-    <397>   DW_AT_type        : <0x63>	
-    <39b>   DW_AT_upper_bound : 1	
- <2><39c>: Abbrev Number: 0
- <1><39d>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <39e>   DW_AT_name        : (indirect string, offset: 0x242): ff_effect	
-    <3a2>   DW_AT_byte_size   : 44	
-    <3a3>   DW_AT_decl_file   : 3	
-    <3a4>   DW_AT_decl_line   : 1118	
-    <3a6>   DW_AT_sibling     : <0x402>	
- <2><3aa>: Abbrev Number: 13 (DW_TAG_member)
-    <3ab>   DW_AT_name        : (indirect string, offset: 0x222): type	
-    <3af>   DW_AT_decl_file   : 3	
-    <3b0>   DW_AT_decl_line   : 1119	
-    <3b2>   DW_AT_type        : <0x108>	
-    <3b6>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><3b9>: Abbrev Number: 18 (DW_TAG_member)
-    <3ba>   DW_AT_name        : id	
-    <3bd>   DW_AT_decl_file   : 3	
-    <3be>   DW_AT_decl_line   : 1120	
-    <3c0>   DW_AT_type        : <0xfd>	
-    <3c4>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><3c7>: Abbrev Number: 13 (DW_TAG_member)
-    <3c8>   DW_AT_name        : (indirect string, offset: 0xbc): direction	
-    <3cc>   DW_AT_decl_file   : 3	
-    <3cd>   DW_AT_decl_line   : 1121	
-    <3cf>   DW_AT_type        : <0x108>	
-    <3d3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3d6>: Abbrev Number: 13 (DW_TAG_member)
-    <3d7>   DW_AT_name        : (indirect string, offset: 0x29c): trigger	
-    <3db>   DW_AT_decl_file   : 3	
-    <3dc>   DW_AT_decl_line   : 1122	
-    <3de>   DW_AT_type        : <0x14a>	
-    <3e2>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><3e5>: Abbrev Number: 13 (DW_TAG_member)
-    <3e6>   DW_AT_name        : (indirect string, offset: 0x15f): replay	
-    <3ea>   DW_AT_decl_file   : 3	
-    <3eb>   DW_AT_decl_line   : 1123	
-    <3ed>   DW_AT_type        : <0x11e>	
-    <3f1>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><3f4>: Abbrev Number: 18 (DW_TAG_member)
-    <3f5>   DW_AT_name        : u	
-    <3f7>   DW_AT_decl_file   : 3	
-    <3f8>   DW_AT_decl_line   : 1131	
-    <3fa>   DW_AT_type        : <0x347>	
-    <3fe>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><401>: Abbrev Number: 0
- <1><402>: Abbrev Number: 11 (DW_TAG_typedef)
-    <403>   DW_AT_name        : (indirect string, offset: 0x34e): struct_ff_effect	
-    <407>   DW_AT_decl_file   : 4	
-    <408>   DW_AT_decl_line   : 37	
-    <409>   DW_AT_type        : <0x39d>	
- <1><40d>: Abbrev Number: 19 (DW_TAG_variable)
-    <40e>   DW_AT_name        : (indirect string, offset: 0x1fa): current_wordsize	
-    <412>   DW_AT_decl_file   : 5	
-    <413>   DW_AT_decl_line   : 757	
-    <415>   DW_AT_type        : <0x47>	
-    <419>   DW_AT_external    : 1	
-    <41a>   DW_AT_declaration : 1	
- <1><41b>: Abbrev Number: 19 (DW_TAG_variable)
-    <41c>   DW_AT_name        : (indirect string, offset: 0x318): sysent	
-    <420>   DW_AT_decl_file   : 5	
-    <421>   DW_AT_decl_line   : 892	
-    <423>   DW_AT_type        : <0xeb>	
-    <427>   DW_AT_external    : 1	
-    <428>   DW_AT_declaration : 1	
- <1><429>: Abbrev Number: 19 (DW_TAG_variable)
-    <42a>   DW_AT_name        : (indirect string, offset: 0x24c): nsyscalls	
-    <42e>   DW_AT_decl_file   : 5	
-    <42f>   DW_AT_decl_line   : 903	
-    <431>   DW_AT_type        : <0x47>	
-    <435>   DW_AT_external    : 1	
-    <436>   DW_AT_declaration : 1	
- <1><437>: Abbrev Number: 20 (DW_TAG_variable)
-    <438>   DW_AT_name        : (indirect string, offset: 0x17b): mpers_target_var	
-    <43c>   DW_AT_decl_file   : 4	
-    <43d>   DW_AT_decl_line   : 41	
-    <43e>   DW_AT_type        : <0x402>	
-    <442>   DW_AT_external    : 1	
-    <443>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><449>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_ff_effect.d2 b/mpers-m32/struct_ff_effect.d2
deleted file mode 100644
index e988948..0000000
--- a/mpers-m32/struct_ff_effect.d2
+++ /dev/null
@@ -1,549 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ee): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x7b): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x140): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x1da): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x256): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x335): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x20b): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x166): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2b0): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x85): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x27f): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x318): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e8): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x238): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5f): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc6): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2da): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2a4): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2c2): __s16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 22
-DW_AT_type        : <0x24>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2aa): __u16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><113>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11d): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><11e>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x32b): ff_replay
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 974
-DW_AT_sibling     : <0x14a>
-<2><12b>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c8): length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 975
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><13a>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcf): delay
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 976
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><14a>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf2): ff_trigger
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 984
-DW_AT_sibling     : <0x176>
-<2><157>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x193): button
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 985
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><166>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d1): interval
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 986
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><176>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x273): ff_envelope
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1001
-DW_AT_sibling     : <0x1c0>
-<2><183>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x123): attack_length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1002
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><192>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfd): attack_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1003
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><1a1>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x111): fade_length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1004
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1b0>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cf): fade_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1005
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<1><1c0>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1a1): ff_constant_effect
-DW_AT_byte_size   : 10
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1013
-DW_AT_sibling     : <0x1ec>
-<2><1cd>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e8): level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1014
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1dc>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x30f): envelope
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1015
-DW_AT_type        : <0x176>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><1ec>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x131): ff_ramp_effect
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1024
-DW_AT_sibling     : <0x227>
-<2><1f9>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16f): start_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1025
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><208>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1be): end_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1026
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><217>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x30f): envelope
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1027
-DW_AT_type        : <0x176>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><227>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x97): ff_condition_effect
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1040
-DW_AT_sibling     : <0x28f>
-<2><234>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ee): right_saturation
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1041
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><243>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ff): left_saturation
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1042
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><252>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x342): right_coeff
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1044
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><261>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): left_coeff
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1045
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><270>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x390): deadband
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1047
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><27f>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x58): center
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1048
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<1><28f>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x68): ff_periodic_effect
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1069
-DW_AT_sibling     : <0x315>
-<2><29c>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c8): waveform
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1070
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2ab>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19a): period
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1071
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><2ba>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b4): magnitude
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1072
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><2c9>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18c): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1073
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><2d8>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb6): phase
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1074
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><2e7>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x30f): envelope
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1076
-DW_AT_type        : <0x176>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><2f6>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xab): custom_len
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1078
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><305>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x31f): custom_data
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1079
-DW_AT_type        : <0x315>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><315>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfd>
-<1><31b>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x227): ff_rumble_effect
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1090
-DW_AT_sibling     : <0x347>
-<2><328>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14e): strong_magnitude
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1091
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><337>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28d): weak_magnitude
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1092
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><347>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1125
-DW_AT_sibling     : <0x38d>
-<2><350>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x284): constant
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1126
-DW_AT_type        : <0x1c0>
-<2><35c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x53): ramp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1127
-DW_AT_type        : <0x1ec>
-<2><368>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8e): periodic
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1128
-DW_AT_type        : <0x28f>
-<2><374>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x269): condition
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1129
-DW_AT_type        : <0x38d>
-<2><380>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10a): rumble
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1130
-DW_AT_type        : <0x31b>
-<1><38d>
-Abbrev Number: 16 (DW_TAG_array_type)
-DW_AT_type        : <0x227>
-DW_AT_sibling     : <0x39d>
-<2><396>
-Abbrev Number: 17 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><39d>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x242): ff_effect
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1118
-DW_AT_sibling     : <0x402>
-<2><3aa>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x222): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1119
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><3b9>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1120
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><3c7>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbc): direction
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1121
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3d6>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29c): trigger
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1122
-DW_AT_type        : <0x14a>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><3e5>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15f): replay
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1123
-DW_AT_type        : <0x11e>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><3f4>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : u
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1131
-DW_AT_type        : <0x347>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><402>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x34e): struct_ff_effect
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x39d>
-<1><40d>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1fa): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><41b>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x318): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><429>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x24c): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><437>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17b): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x402>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_flock.c b/mpers-m32/struct_flock.c
index 4859b6e..5aa82c9 100644
--- a/mpers-m32/struct_flock.c
+++ b/mpers-m32/struct_flock.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_flock.d1 b/mpers-m32/struct_flock.d1
deleted file mode 100644
index 28c220a..0000000
--- a/mpers-m32/struct_flock.d1
+++ /dev/null
@@ -1,217 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1c0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xfb): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x9e): mpers-m32/struct_flock.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x163): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1eb): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1c2): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1a7): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xb7): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x3a): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x143): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x87): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1cc): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xc5): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x19e): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x15e): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x4d): __kernel_long_t	
-    <81>   DW_AT_decl_file   : 1	
-    <82>   DW_AT_decl_line   : 14	
-    <83>   DW_AT_type        : <0x55>	
- <1><87>: Abbrev Number: 6 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x17): __kernel_pid_t	
-    <8c>   DW_AT_decl_file   : 1	
-    <8d>   DW_AT_decl_line   : 27	
-    <8e>   DW_AT_type        : <0x2b>	
- <1><92>: Abbrev Number: 6 (DW_TAG_typedef)
-    <93>   DW_AT_name        : (indirect string, offset: 0x1dc): __kernel_off_t	
-    <97>   DW_AT_decl_file   : 1	
-    <98>   DW_AT_decl_line   : 86	
-    <99>   DW_AT_type        : <0x7c>	
- <1><9d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <9e>   DW_AT_name        : (indirect string, offset: 0xd7): sysent	
-    <a2>   DW_AT_byte_size   : 20	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 4	
-    <a5>   DW_AT_sibling     : <0xf0>	
- <2><a9>: Abbrev Number: 8 (DW_TAG_member)
-    <aa>   DW_AT_name        : (indirect string, offset: 0xf5): nargs	
-    <ae>   DW_AT_decl_file   : 2	
-    <af>   DW_AT_decl_line   : 5	
-    <b0>   DW_AT_type        : <0x47>	
-    <b4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b7>: Abbrev Number: 8 (DW_TAG_member)
-    <b8>   DW_AT_name        : (indirect string, offset: 0x7d): sys_flags	
-    <bc>   DW_AT_decl_file   : 2	
-    <bd>   DW_AT_decl_line   : 6	
-    <be>   DW_AT_type        : <0x2b>	
-    <c2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c5>: Abbrev Number: 9 (DW_TAG_member)
-    <c6>   DW_AT_name        : sen	
-    <ca>   DW_AT_decl_file   : 2	
-    <cb>   DW_AT_decl_line   : 7	
-    <cc>   DW_AT_type        : <0x2b>	
-    <d0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d3>: Abbrev Number: 8 (DW_TAG_member)
-    <d4>   DW_AT_name        : (indirect string, offset: 0x1f7): sys_func	
-    <d8>   DW_AT_decl_file   : 2	
-    <d9>   DW_AT_decl_line   : 8	
-    <da>   DW_AT_type        : <0xfb>	
-    <de>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e1>: Abbrev Number: 8 (DW_TAG_member)
-    <e2>   DW_AT_name        : (indirect string, offset: 0x5d): sys_name	
-    <e6>   DW_AT_decl_file   : 2	
-    <e7>   DW_AT_decl_line   : 9	
-    <e8>   DW_AT_type        : <0x71>	
-    <ec>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <f1>   DW_AT_type        : <0x2b>	
-    <f5>   DW_AT_sibling     : <0xfb>	
- <2><f9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><fa>: Abbrev Number: 0
- <1><fb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <fc>   DW_AT_byte_size   : 4	
-    <fd>   DW_AT_type        : <0xf0>	
- <1><101>: Abbrev Number: 6 (DW_TAG_typedef)
-    <102>   DW_AT_name        : (indirect string, offset: 0x150): struct_sysent	
-    <106>   DW_AT_decl_file   : 2	
-    <107>   DW_AT_decl_line   : 10	
-    <108>   DW_AT_type        : <0x9d>	
- <1><10c>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x112>	
- <1><112>: Abbrev Number: 5 (DW_TAG_const_type)
-    <113>   DW_AT_type        : <0x101>	
- <1><117>: Abbrev Number: 2 (DW_TAG_base_type)
-    <118>   DW_AT_byte_size   : 1	
-    <119>   DW_AT_encoding    : 2	(boolean)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x11): _Bool	
- <1><11e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x66): flock	
-    <123>   DW_AT_byte_size   : 16	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 179	
-    <126>   DW_AT_sibling     : <0x171>	
- <2><12a>: Abbrev Number: 8 (DW_TAG_member)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x1d5): l_type	
-    <12f>   DW_AT_decl_file   : 3	
-    <130>   DW_AT_decl_line   : 180	
-    <131>   DW_AT_type        : <0x24>	
-    <135>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><138>: Abbrev Number: 8 (DW_TAG_member)
-    <139>   DW_AT_name        : (indirect string, offset: 0x0): l_whence	
-    <13d>   DW_AT_decl_file   : 3	
-    <13e>   DW_AT_decl_line   : 181	
-    <13f>   DW_AT_type        : <0x24>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><146>: Abbrev Number: 8 (DW_TAG_member)
-    <147>   DW_AT_name        : (indirect string, offset: 0x9): l_start	
-    <14b>   DW_AT_decl_file   : 3	
-    <14c>   DW_AT_decl_line   : 182	
-    <14d>   DW_AT_type        : <0x92>	
-    <151>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><154>: Abbrev Number: 8 (DW_TAG_member)
-    <155>   DW_AT_name        : (indirect string, offset: 0x200): l_len	
-    <159>   DW_AT_decl_file   : 3	
-    <15a>   DW_AT_decl_line   : 183	
-    <15b>   DW_AT_type        : <0x92>	
-    <15f>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><162>: Abbrev Number: 8 (DW_TAG_member)
-    <163>   DW_AT_name        : (indirect string, offset: 0xde): l_pid	
-    <167>   DW_AT_decl_file   : 3	
-    <168>   DW_AT_decl_line   : 184	
-    <169>   DW_AT_type        : <0x87>	
-    <16d>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><170>: Abbrev Number: 0
- <1><171>: Abbrev Number: 6 (DW_TAG_typedef)
-    <172>   DW_AT_name        : (indirect string, offset: 0x26): struct_kernel_flock	
-    <176>   DW_AT_decl_file   : 4	
-    <177>   DW_AT_decl_line   : 34	
-    <178>   DW_AT_type        : <0x11e>	
- <1><17c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <17d>   DW_AT_name        : (indirect string, offset: 0x1b5): struct_flock	
-    <181>   DW_AT_decl_file   : 5	
-    <182>   DW_AT_decl_line   : 32	
-    <183>   DW_AT_type        : <0x171>	
- <1><187>: Abbrev Number: 12 (DW_TAG_variable)
-    <188>   DW_AT_name        : (indirect string, offset: 0xe4): current_wordsize	
-    <18c>   DW_AT_decl_file   : 6	
-    <18d>   DW_AT_decl_line   : 757	
-    <18f>   DW_AT_type        : <0x47>	
-    <193>   DW_AT_external    : 1	
-    <194>   DW_AT_declaration : 1	
- <1><195>: Abbrev Number: 12 (DW_TAG_variable)
-    <196>   DW_AT_name        : (indirect string, offset: 0xd7): sysent	
-    <19a>   DW_AT_decl_file   : 6	
-    <19b>   DW_AT_decl_line   : 892	
-    <19d>   DW_AT_type        : <0x10c>	
-    <1a1>   DW_AT_external    : 1	
-    <1a2>   DW_AT_declaration : 1	
- <1><1a3>: Abbrev Number: 12 (DW_TAG_variable)
-    <1a4>   DW_AT_name        : (indirect string, offset: 0x194): nsyscalls	
-    <1a8>   DW_AT_decl_file   : 6	
-    <1a9>   DW_AT_decl_line   : 903	
-    <1ab>   DW_AT_type        : <0x47>	
-    <1af>   DW_AT_external    : 1	
-    <1b0>   DW_AT_declaration : 1	
- <1><1b1>: Abbrev Number: 13 (DW_TAG_variable)
-    <1b2>   DW_AT_name        : (indirect string, offset: 0x6c): mpers_target_var	
-    <1b6>   DW_AT_decl_file   : 5	
-    <1b7>   DW_AT_decl_line   : 35	
-    <1b8>   DW_AT_type        : <0x17c>	
-    <1bc>   DW_AT_external    : 1	
-    <1bd>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><1c3>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_flock.d2 b/mpers-m32/struct_flock.d2
deleted file mode 100644
index c08b053..0000000
--- a/mpers-m32/struct_flock.d2
+++ /dev/null
@@ -1,241 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1eb): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c2): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a7): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xb7): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x3a): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x143): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x87): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1cc): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc5): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x19e): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x15e): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x4d): __kernel_long_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x55>
-<1><87>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17): __kernel_pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x2b>
-<1><92>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1dc): __kernel_off_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 86
-DW_AT_type        : <0x7c>
-<1><9d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd7): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf0>
-<2><a9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf5): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7d): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f7): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5d): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfb>
-<2><f9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><fb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf0>
-<1><101>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x150): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x9d>
-<1><10c>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x112>
-<1><112>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x101>
-<1><117>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x11): _Bool
-<1><11e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x66): flock
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 179
-DW_AT_sibling     : <0x171>
-<2><12a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d5): l_type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 180
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><138>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): l_whence
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 181
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><146>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): l_start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 182
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><154>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x200): l_len
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><162>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xde): l_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 184
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><171>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x26): struct_kernel_flock
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x11e>
-<1><17c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b5): struct_flock
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x171>
-<1><187>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe4): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><195>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd7): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10c>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a3>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x194): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1b1>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x6c): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x17c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_flock64.c b/mpers-m32/struct_flock64.c
index 75f6189..3535de1 100644
--- a/mpers-m32/struct_flock64.c
+++ b/mpers-m32/struct_flock64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_flock64.d1 b/mpers-m32/struct_flock64.d1
deleted file mode 100644
index 3eb88fc..0000000
--- a/mpers-m32/struct_flock64.d1
+++ /dev/null
@@ -1,212 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1b5 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xfa): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x11): mpers-m32/struct_flock64.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x162): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e4): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1ca): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1a6): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xae): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x41): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x142): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x97): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1d4): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xbc): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x19d): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x15d): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x32): __kernel_pid_t	
-    <81>   DW_AT_decl_file   : 1	
-    <82>   DW_AT_decl_line   : 27	
-    <83>   DW_AT_type        : <0x2b>	
- <1><87>: Abbrev Number: 6 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x54): __kernel_loff_t	
-    <8c>   DW_AT_decl_file   : 1	
-    <8d>   DW_AT_decl_line   : 87	
-    <8e>   DW_AT_type        : <0x32>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0xce): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0xf4): nargs	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x8d): sys_flags	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 2	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x1f0): sys_func	
-    <cd>   DW_AT_decl_file   : 2	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x73): sys_name	
-    <db>   DW_AT_decl_file   : 2	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x71>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 6 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0x14f): struct_sysent	
-    <fb>   DW_AT_decl_file   : 2	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 5 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x2c): _Bool	
- <1><113>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0xdb): flock64	
-    <118>   DW_AT_byte_size   : 24	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 196	
-    <11b>   DW_AT_sibling     : <0x166>	
- <2><11f>: Abbrev Number: 8 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0x1dd): l_type	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 197	
-    <126>   DW_AT_type        : <0x24>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 8 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x0): l_whence	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 198	
-    <134>   DW_AT_type        : <0x24>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><13b>: Abbrev Number: 8 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x9): l_start	
-    <140>   DW_AT_decl_file   : 3	
-    <141>   DW_AT_decl_line   : 199	
-    <142>   DW_AT_type        : <0x87>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><149>: Abbrev Number: 8 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x1f9): l_len	
-    <14e>   DW_AT_decl_file   : 3	
-    <14f>   DW_AT_decl_line   : 200	
-    <150>   DW_AT_type        : <0x87>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><157>: Abbrev Number: 8 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0xd5): l_pid	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 201	
-    <15e>   DW_AT_type        : <0x7c>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><165>: Abbrev Number: 0
- <1><166>: Abbrev Number: 6 (DW_TAG_typedef)
-    <167>   DW_AT_name        : (indirect string, offset: 0x1b4): struct_kernel_flock64	
-    <16b>   DW_AT_decl_file   : 4	
-    <16c>   DW_AT_decl_line   : 42	
-    <16d>   DW_AT_type        : <0x113>	
- <1><171>: Abbrev Number: 6 (DW_TAG_typedef)
-    <172>   DW_AT_name        : (indirect string, offset: 0x64): struct_flock64	
-    <176>   DW_AT_decl_file   : 5	
-    <177>   DW_AT_decl_line   : 33	
-    <178>   DW_AT_type        : <0x166>	
- <1><17c>: Abbrev Number: 12 (DW_TAG_variable)
-    <17d>   DW_AT_name        : (indirect string, offset: 0xe3): current_wordsize	
-    <181>   DW_AT_decl_file   : 6	
-    <182>   DW_AT_decl_line   : 757	
-    <184>   DW_AT_type        : <0x47>	
-    <188>   DW_AT_external    : 1	
-    <189>   DW_AT_declaration : 1	
- <1><18a>: Abbrev Number: 12 (DW_TAG_variable)
-    <18b>   DW_AT_name        : (indirect string, offset: 0xce): sysent	
-    <18f>   DW_AT_decl_file   : 6	
-    <190>   DW_AT_decl_line   : 892	
-    <192>   DW_AT_type        : <0x101>	
-    <196>   DW_AT_external    : 1	
-    <197>   DW_AT_declaration : 1	
- <1><198>: Abbrev Number: 12 (DW_TAG_variable)
-    <199>   DW_AT_name        : (indirect string, offset: 0x193): nsyscalls	
-    <19d>   DW_AT_decl_file   : 6	
-    <19e>   DW_AT_decl_line   : 903	
-    <1a0>   DW_AT_type        : <0x47>	
-    <1a4>   DW_AT_external    : 1	
-    <1a5>   DW_AT_declaration : 1	
- <1><1a6>: Abbrev Number: 13 (DW_TAG_variable)
-    <1a7>   DW_AT_name        : (indirect string, offset: 0x7c): mpers_target_var	
-    <1ab>   DW_AT_decl_file   : 5	
-    <1ac>   DW_AT_decl_line   : 35	
-    <1ad>   DW_AT_type        : <0x171>	
-    <1b1>   DW_AT_external    : 1	
-    <1b2>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><1b8>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_flock64.d2 b/mpers-m32/struct_flock64.d2
deleted file mode 100644
index 5e6f2a4..0000000
--- a/mpers-m32/struct_flock64.d2
+++ /dev/null
@@ -1,235 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e4): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ca): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a6): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xae): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x41): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x142): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x97): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d4): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbc): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x19d): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x15d): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x32): __kernel_pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x2b>
-<1><87>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x54): __kernel_loff_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 87
-DW_AT_type        : <0x32>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xce): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf4): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8d): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f0): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x73): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x14f): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2c): _Bool
-<1><113>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xdb): flock64
-DW_AT_byte_size   : 24
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 196
-DW_AT_sibling     : <0x166>
-<2><11f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1dd): l_type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 197
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): l_whence
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 198
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><13b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): l_start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 199
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><149>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f9): l_len
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 200
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><157>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd5): l_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 201
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<1><166>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b4): struct_kernel_flock64
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x113>
-<1><171>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x64): struct_flock64
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x166>
-<1><17c>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe3): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18a>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xce): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><198>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x193): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a6>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x7c): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x171>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_hd_geometry.d1 b/mpers-m32/struct_hd_geometry.d1
deleted file mode 100644
index 024c40a..0000000
--- a/mpers-m32/struct_hd_geometry.d1
+++ /dev/null
@@ -1,191 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x18b (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xc1): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x183): mpers-m32/struct_hd_geometry.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x131): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1b5): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1a2): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x175): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x70): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x22): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x111): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x59): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1ac): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x7e): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x16c): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x12c): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x90): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xa8): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x4f): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1c1): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x35): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x11e): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x16): _Bool	
- <1><fd>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x0): hd_geometry	
-    <102>   DW_AT_byte_size   : 8	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 313	
-    <106>   DW_AT_sibling     : <0x147>	
- <2><10a>: Abbrev Number: 13 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x1ca): heads	
-    <10f>   DW_AT_decl_file   : 2	
-    <110>   DW_AT_decl_line   : 314	
-    <112>   DW_AT_type        : <0x39>	
-    <116>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><119>: Abbrev Number: 13 (DW_TAG_member)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x109): sectors	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 315	
-    <121>   DW_AT_type        : <0x39>	
-    <125>   DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
- <2><128>: Abbrev Number: 13 (DW_TAG_member)
-    <129>   DW_AT_name        : (indirect string, offset: 0xc): cylinders	
-    <12d>   DW_AT_decl_file   : 2	
-    <12e>   DW_AT_decl_line   : 316	
-    <130>   DW_AT_type        : <0x40>	
-    <134>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><137>: Abbrev Number: 13 (DW_TAG_member)
-    <138>   DW_AT_name        : (indirect string, offset: 0x1c): start	
-    <13c>   DW_AT_decl_file   : 2	
-    <13d>   DW_AT_decl_line   : 317	
-    <13f>   DW_AT_type        : <0x5c>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><146>: Abbrev Number: 0
- <1><147>: Abbrev Number: 11 (DW_TAG_typedef)
-    <148>   DW_AT_name        : (indirect string, offset: 0xae): struct_hd_geometry	
-    <14c>   DW_AT_decl_file   : 3	
-    <14d>   DW_AT_decl_line   : 34	
-    <14e>   DW_AT_type        : <0xfd>	
- <1><152>: Abbrev Number: 14 (DW_TAG_variable)
-    <153>   DW_AT_name        : (indirect string, offset: 0x97): current_wordsize	
-    <157>   DW_AT_decl_file   : 4	
-    <158>   DW_AT_decl_line   : 757	
-    <15a>   DW_AT_type        : <0x47>	
-    <15e>   DW_AT_external    : 1	
-    <15f>   DW_AT_declaration : 1	
- <1><160>: Abbrev Number: 14 (DW_TAG_variable)
-    <161>   DW_AT_name        : (indirect string, offset: 0x90): sysent	
-    <165>   DW_AT_decl_file   : 4	
-    <166>   DW_AT_decl_line   : 892	
-    <168>   DW_AT_type        : <0xeb>	
-    <16c>   DW_AT_external    : 1	
-    <16d>   DW_AT_declaration : 1	
- <1><16e>: Abbrev Number: 14 (DW_TAG_variable)
-    <16f>   DW_AT_name        : (indirect string, offset: 0x162): nsyscalls	
-    <173>   DW_AT_decl_file   : 4	
-    <174>   DW_AT_decl_line   : 903	
-    <176>   DW_AT_type        : <0x47>	
-    <17a>   DW_AT_external    : 1	
-    <17b>   DW_AT_declaration : 1	
- <1><17c>: Abbrev Number: 15 (DW_TAG_variable)
-    <17d>   DW_AT_name        : (indirect string, offset: 0x3e): mpers_target_var	
-    <181>   DW_AT_decl_file   : 3	
-    <182>   DW_AT_decl_line   : 36	
-    <183>   DW_AT_type        : <0x147>	
-    <187>   DW_AT_external    : 1	
-    <188>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><18e>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_hd_geometry.d2 b/mpers-m32/struct_hd_geometry.d2
deleted file mode 100644
index 11df87d..0000000
--- a/mpers-m32/struct_hd_geometry.d2
+++ /dev/null
@@ -1,210 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b5): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a2): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x175): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x70): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x22): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x111): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x59): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ac): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7e): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x16c): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x12c): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x90): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa8): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4f): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c1): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x35): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11e): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x16): _Bool
-<1><fd>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): hd_geometry
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 313
-DW_AT_sibling     : <0x147>
-<2><10a>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ca): heads
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 314
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><119>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x109): sectors
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 315
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
-<2><128>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc): cylinders
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 316
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><137>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c): start
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 317
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><147>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xae): struct_hd_geometry
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0xfd>
-<1><152>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x97): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><160>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x90): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><16e>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x162): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17c>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x3e): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x147>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_ifconf.c b/mpers-m32/struct_ifconf.c
index ef821f8..10d0006 100644
--- a/mpers-m32/struct_ifconf.c
+++ b/mpers-m32/struct_ifconf.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_ifconf.d1 b/mpers-m32/struct_ifconf.d1
deleted file mode 100644
index 8d3d487..0000000
--- a/mpers-m32/struct_ifconf.d1
+++ /dev/null
@@ -1,383 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x31f (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x118): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x2b0): mpers-m32/struct_ifconf.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1b5): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x278): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x22f): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x212): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xf7): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x2e): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x184): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x8c): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x25e): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xc1): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x209): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0x6f): __caddr_t	
-    <6f>   DW_AT_decl_file   : 2	
-    <70>   DW_AT_decl_line   : 183	
-    <71>   DW_AT_type        : <0x75>	
- <1><75>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <76>   DW_AT_byte_size   : 4	
-    <77>   DW_AT_type        : <0x7b>	
- <1><7b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7c>   DW_AT_byte_size   : 1	
-    <7d>   DW_AT_encoding    : 6	(signed char)
-    <7e>   DW_AT_name        : (indirect string, offset: 0x19f): char	
- <1><82>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <83>   DW_AT_byte_size   : 4	
-    <84>   DW_AT_type        : <0x88>	
- <1><88>: Abbrev Number: 6 (DW_TAG_const_type)
-    <89>   DW_AT_type        : <0x7b>	
- <1><8d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <8e>   DW_AT_name        : (indirect string, offset: 0xd3): sysent	
-    <92>   DW_AT_byte_size   : 20	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 4	
-    <95>   DW_AT_sibling     : <0xe0>	
- <2><99>: Abbrev Number: 8 (DW_TAG_member)
-    <9a>   DW_AT_name        : (indirect string, offset: 0x239): nargs	
-    <9e>   DW_AT_decl_file   : 1	
-    <9f>   DW_AT_decl_line   : 5	
-    <a0>   DW_AT_type        : <0x47>	
-    <a4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a7>: Abbrev Number: 8 (DW_TAG_member)
-    <a8>   DW_AT_name        : (indirect string, offset: 0x82): sys_flags	
-    <ac>   DW_AT_decl_file   : 1	
-    <ad>   DW_AT_decl_line   : 6	
-    <ae>   DW_AT_type        : <0x2b>	
-    <b2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><b5>: Abbrev Number: 9 (DW_TAG_member)
-    <b6>   DW_AT_name        : sen	
-    <ba>   DW_AT_decl_file   : 1	
-    <bb>   DW_AT_decl_line   : 7	
-    <bc>   DW_AT_type        : <0x2b>	
-    <c0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c3>: Abbrev Number: 8 (DW_TAG_member)
-    <c4>   DW_AT_name        : (indirect string, offset: 0x2a7): sys_func	
-    <c8>   DW_AT_decl_file   : 1	
-    <c9>   DW_AT_decl_line   : 8	
-    <ca>   DW_AT_type        : <0xeb>	
-    <ce>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d1>: Abbrev Number: 8 (DW_TAG_member)
-    <d2>   DW_AT_name        : (indirect string, offset: 0x4e): sys_name	
-    <d6>   DW_AT_decl_file   : 1	
-    <d7>   DW_AT_decl_line   : 9	
-    <d8>   DW_AT_type        : <0x82>	
-    <dc>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e1>   DW_AT_type        : <0x2b>	
-    <e5>   DW_AT_sibling     : <0xeb>	
- <2><e9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ea>: Abbrev Number: 0
- <1><eb>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xe0>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x191): struct_sysent	
-    <f6>   DW_AT_decl_file   : 1	
-    <f7>   DW_AT_decl_line   : 10	
-    <f8>   DW_AT_type        : <0x8d>	
- <1><fc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <fd>   DW_AT_byte_size   : 4	
-    <fe>   DW_AT_type        : <0x102>	
- <1><102>: Abbrev Number: 6 (DW_TAG_const_type)
-    <103>   DW_AT_type        : <0xf1>	
- <1><107>: Abbrev Number: 2 (DW_TAG_base_type)
-    <108>   DW_AT_byte_size   : 1	
-    <109>   DW_AT_encoding    : 2	(boolean)
-    <10a>   DW_AT_name        : (indirect string, offset: 0x28): _Bool	
- <1><10e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0xeb): sa_family_t	
-    <113>   DW_AT_decl_file   : 3	
-    <114>   DW_AT_decl_line   : 28	
-    <115>   DW_AT_type        : <0x40>	
- <1><119>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x267): sockaddr	
-    <11e>   DW_AT_byte_size   : 16	
-    <11f>   DW_AT_decl_file   : 4	
-    <120>   DW_AT_decl_line   : 149	
-    <121>   DW_AT_sibling     : <0x142>	
- <2><125>: Abbrev Number: 8 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0x220): sa_family	
-    <12a>   DW_AT_decl_file   : 4	
-    <12b>   DW_AT_decl_line   : 151	
-    <12c>   DW_AT_type        : <0x10e>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><133>: Abbrev Number: 8 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0x270): sa_data	
-    <138>   DW_AT_decl_file   : 4	
-    <139>   DW_AT_decl_line   : 152	
-    <13a>   DW_AT_type        : <0x142>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><141>: Abbrev Number: 0
- <1><142>: Abbrev Number: 12 (DW_TAG_array_type)
-    <143>   DW_AT_type        : <0x7b>	
-    <147>   DW_AT_sibling     : <0x152>	
- <2><14b>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <14c>   DW_AT_type        : <0x63>	
-    <150>   DW_AT_upper_bound : 13	
- <2><151>: Abbrev Number: 0
- <1><152>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <153>   DW_AT_name        : (indirect string, offset: 0x0): ifmap	
-    <157>   DW_AT_byte_size   : 16	
-    <158>   DW_AT_decl_file   : 5	
-    <159>   DW_AT_decl_line   : 111	
-    <15a>   DW_AT_sibling     : <0x1b3>	
- <2><15e>: Abbrev Number: 8 (DW_TAG_member)
-    <15f>   DW_AT_name        : (indirect string, offset: 0x284): mem_start	
-    <163>   DW_AT_decl_file   : 5	
-    <164>   DW_AT_decl_line   : 113	
-    <165>   DW_AT_type        : <0x5c>	
-    <169>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><16c>: Abbrev Number: 8 (DW_TAG_member)
-    <16d>   DW_AT_name        : (indirect string, offset: 0xf): mem_end	
-    <171>   DW_AT_decl_file   : 5	
-    <172>   DW_AT_decl_line   : 114	
-    <173>   DW_AT_type        : <0x5c>	
-    <177>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><17a>: Abbrev Number: 8 (DW_TAG_member)
-    <17b>   DW_AT_name        : (indirect string, offset: 0x171): base_addr	
-    <17f>   DW_AT_decl_file   : 5	
-    <180>   DW_AT_decl_line   : 115	
-    <181>   DW_AT_type        : <0x40>	
-    <185>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><188>: Abbrev Number: 9 (DW_TAG_member)
-    <189>   DW_AT_name        : irq	
-    <18d>   DW_AT_decl_file   : 5	
-    <18e>   DW_AT_decl_line   : 116	
-    <18f>   DW_AT_type        : <0x39>	
-    <193>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><196>: Abbrev Number: 9 (DW_TAG_member)
-    <197>   DW_AT_name        : dma	
-    <19b>   DW_AT_decl_file   : 5	
-    <19c>   DW_AT_decl_line   : 117	
-    <19d>   DW_AT_type        : <0x39>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
- <2><1a4>: Abbrev Number: 8 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x22a): port	
-    <1a9>   DW_AT_decl_file   : 5	
-    <1aa>   DW_AT_decl_line   : 118	
-    <1ab>   DW_AT_type        : <0x39>	
-    <1af>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1b2>: Abbrev Number: 0
- <1><1b3>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1b4>   DW_AT_byte_size   : 16	
-    <1b5>   DW_AT_decl_file   : 5	
-    <1b6>   DW_AT_decl_line   : 130	
-    <1b7>   DW_AT_sibling     : <0x1c7>	
- <2><1bb>: Abbrev Number: 15 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x105): ifrn_name	
-    <1c0>   DW_AT_decl_file   : 5	
-    <1c1>   DW_AT_decl_line   : 132	
-    <1c2>   DW_AT_type        : <0x1c7>	
- <2><1c6>: Abbrev Number: 0
- <1><1c7>: Abbrev Number: 12 (DW_TAG_array_type)
-    <1c8>   DW_AT_type        : <0x7b>	
-    <1cc>   DW_AT_sibling     : <0x1d7>	
- <2><1d0>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <1d1>   DW_AT_type        : <0x63>	
-    <1d5>   DW_AT_upper_bound : 15	
- <2><1d6>: Abbrev Number: 0
- <1><1d7>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1d8>   DW_AT_byte_size   : 16	
-    <1d9>   DW_AT_decl_file   : 5	
-    <1da>   DW_AT_decl_line   : 135	
-    <1db>   DW_AT_sibling     : <0x264>	
- <2><1df>: Abbrev Number: 15 (DW_TAG_member)
-    <1e0>   DW_AT_name        : (indirect string, offset: 0xa3): ifru_addr	
-    <1e4>   DW_AT_decl_file   : 5	
-    <1e5>   DW_AT_decl_line   : 137	
-    <1e6>   DW_AT_type        : <0x119>	
- <2><1ea>: Abbrev Number: 15 (DW_TAG_member)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0x41): ifru_dstaddr	
-    <1ef>   DW_AT_decl_file   : 5	
-    <1f0>   DW_AT_decl_line   : 138	
-    <1f1>   DW_AT_type        : <0x119>	
- <2><1f5>: Abbrev Number: 15 (DW_TAG_member)
-    <1f6>   DW_AT_name        : (indirect string, offset: 0x57): ifru_broadaddr	
-    <1fa>   DW_AT_decl_file   : 5	
-    <1fb>   DW_AT_decl_line   : 139	
-    <1fc>   DW_AT_type        : <0x119>	
- <2><200>: Abbrev Number: 15 (DW_TAG_member)
-    <201>   DW_AT_name        : (indirect string, offset: 0x29a): ifru_netmask	
-    <205>   DW_AT_decl_file   : 5	
-    <206>   DW_AT_decl_line   : 140	
-    <207>   DW_AT_type        : <0x119>	
- <2><20b>: Abbrev Number: 15 (DW_TAG_member)
-    <20c>   DW_AT_name        : (indirect string, offset: 0x28e): ifru_hwaddr	
-    <210>   DW_AT_decl_file   : 5	
-    <211>   DW_AT_decl_line   : 141	
-    <212>   DW_AT_type        : <0x119>	
- <2><216>: Abbrev Number: 15 (DW_TAG_member)
-    <217>   DW_AT_name        : (indirect string, offset: 0xad): ifru_flags	
-    <21b>   DW_AT_decl_file   : 5	
-    <21c>   DW_AT_decl_line   : 142	
-    <21d>   DW_AT_type        : <0x24>	
- <2><221>: Abbrev Number: 15 (DW_TAG_member)
-    <222>   DW_AT_name        : (indirect string, offset: 0x1fd): ifru_ivalue	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 143	
-    <228>   DW_AT_type        : <0x2b>	
- <2><22c>: Abbrev Number: 15 (DW_TAG_member)
-    <22d>   DW_AT_name        : (indirect string, offset: 0xb8): ifru_mtu	
-    <231>   DW_AT_decl_file   : 5	
-    <232>   DW_AT_decl_line   : 144	
-    <233>   DW_AT_type        : <0x2b>	
- <2><237>: Abbrev Number: 15 (DW_TAG_member)
-    <238>   DW_AT_name        : (indirect string, offset: 0x79): ifru_map	
-    <23c>   DW_AT_decl_file   : 5	
-    <23d>   DW_AT_decl_line   : 145	
-    <23e>   DW_AT_type        : <0x152>	
- <2><242>: Abbrev Number: 15 (DW_TAG_member)
-    <243>   DW_AT_name        : (indirect string, offset: 0x23f): ifru_slave	
-    <247>   DW_AT_decl_file   : 5	
-    <248>   DW_AT_decl_line   : 146	
-    <249>   DW_AT_type        : <0x1c7>	
- <2><24d>: Abbrev Number: 15 (DW_TAG_member)
-    <24e>   DW_AT_name        : (indirect string, offset: 0x1f0): ifru_newname	
-    <252>   DW_AT_decl_file   : 5	
-    <253>   DW_AT_decl_line   : 147	
-    <254>   DW_AT_type        : <0x1c7>	
- <2><258>: Abbrev Number: 15 (DW_TAG_member)
-    <259>   DW_AT_name        : (indirect string, offset: 0x160): ifru_data	
-    <25d>   DW_AT_decl_file   : 5	
-    <25e>   DW_AT_decl_line   : 148	
-    <25f>   DW_AT_type        : <0x6a>	
- <2><263>: Abbrev Number: 0
- <1><264>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <265>   DW_AT_name        : (indirect string, offset: 0x24a): ifreq	
-    <269>   DW_AT_byte_size   : 32	
-    <26a>   DW_AT_decl_file   : 5	
-    <26b>   DW_AT_decl_line   : 126	
-    <26c>   DW_AT_sibling     : <0x28d>	
- <2><270>: Abbrev Number: 8 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x17b): ifr_ifrn	
-    <275>   DW_AT_decl_file   : 5	
-    <276>   DW_AT_decl_line   : 133	
-    <277>   DW_AT_type        : <0x1b3>	
-    <27b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><27e>: Abbrev Number: 8 (DW_TAG_member)
-    <27f>   DW_AT_name        : (indirect string, offset: 0x1a4): ifr_ifru	
-    <283>   DW_AT_decl_file   : 5	
-    <284>   DW_AT_decl_line   : 149	
-    <285>   DW_AT_type        : <0x1d7>	
-    <289>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><28c>: Abbrev Number: 0
- <1><28d>: Abbrev Number: 14 (DW_TAG_union_type)
-    <28e>   DW_AT_byte_size   : 4	
-    <28f>   DW_AT_decl_file   : 5	
-    <290>   DW_AT_decl_line   : 179	
-    <291>   DW_AT_sibling     : <0x2ac>	
- <2><295>: Abbrev Number: 15 (DW_TAG_member)
-    <296>   DW_AT_name        : (indirect string, offset: 0x66): ifcu_buf	
-    <29a>   DW_AT_decl_file   : 5	
-    <29b>   DW_AT_decl_line   : 181	
-    <29c>   DW_AT_type        : <0x6a>	
- <2><2a0>: Abbrev Number: 15 (DW_TAG_member)
-    <2a1>   DW_AT_name        : (indirect string, offset: 0x10f): ifcu_req	
-    <2a5>   DW_AT_decl_file   : 5	
-    <2a6>   DW_AT_decl_line   : 182	
-    <2a7>   DW_AT_type        : <0x2ac>	
- <2><2ab>: Abbrev Number: 0
- <1><2ac>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <2ad>   DW_AT_byte_size   : 4	
-    <2ae>   DW_AT_type        : <0x264>	
- <1><2b2>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <2b3>   DW_AT_name        : (indirect string, offset: 0x16a): ifconf	
-    <2b7>   DW_AT_byte_size   : 8	
-    <2b8>   DW_AT_decl_file   : 5	
-    <2b9>   DW_AT_decl_line   : 176	
-    <2ba>   DW_AT_sibling     : <0x2db>	
- <2><2be>: Abbrev Number: 8 (DW_TAG_member)
-    <2bf>   DW_AT_name        : (indirect string, offset: 0x1ad): ifc_len	
-    <2c3>   DW_AT_decl_file   : 5	
-    <2c4>   DW_AT_decl_line   : 178	
-    <2c5>   DW_AT_type        : <0x2b>	
-    <2c9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2cc>: Abbrev Number: 8 (DW_TAG_member)
-    <2cd>   DW_AT_name        : (indirect string, offset: 0x6): ifc_ifcu	
-    <2d1>   DW_AT_decl_file   : 5	
-    <2d2>   DW_AT_decl_line   : 183	
-    <2d3>   DW_AT_type        : <0x28d>	
-    <2d7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2da>: Abbrev Number: 0
- <1><2db>: Abbrev Number: 4 (DW_TAG_typedef)
-    <2dc>   DW_AT_name        : (indirect string, offset: 0x250): struct_ifconf	
-    <2e0>   DW_AT_decl_file   : 6	
-    <2e1>   DW_AT_decl_line   : 39	
-    <2e2>   DW_AT_type        : <0x2b2>	
- <1><2e6>: Abbrev Number: 16 (DW_TAG_variable)
-    <2e7>   DW_AT_name        : (indirect string, offset: 0xda): current_wordsize	
-    <2eb>   DW_AT_decl_file   : 7	
-    <2ec>   DW_AT_decl_line   : 757	
-    <2ee>   DW_AT_type        : <0x47>	
-    <2f2>   DW_AT_external    : 1	
-    <2f3>   DW_AT_declaration : 1	
- <1><2f4>: Abbrev Number: 16 (DW_TAG_variable)
-    <2f5>   DW_AT_name        : (indirect string, offset: 0xd3): sysent	
-    <2f9>   DW_AT_decl_file   : 7	
-    <2fa>   DW_AT_decl_line   : 892	
-    <2fc>   DW_AT_type        : <0xfc>	
-    <300>   DW_AT_external    : 1	
-    <301>   DW_AT_declaration : 1	
- <1><302>: Abbrev Number: 16 (DW_TAG_variable)
-    <303>   DW_AT_name        : (indirect string, offset: 0x1e6): nsyscalls	
-    <307>   DW_AT_decl_file   : 7	
-    <308>   DW_AT_decl_line   : 903	
-    <30a>   DW_AT_type        : <0x47>	
-    <30e>   DW_AT_external    : 1	
-    <30f>   DW_AT_declaration : 1	
- <1><310>: Abbrev Number: 17 (DW_TAG_variable)
-    <311>   DW_AT_name        : (indirect string, offset: 0x17): mpers_target_var	
-    <315>   DW_AT_decl_file   : 6	
-    <316>   DW_AT_decl_line   : 42	
-    <317>   DW_AT_type        : <0x2db>	
-    <31b>   DW_AT_external    : 1	
-    <31c>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><322>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_ifconf.d2 b/mpers-m32/struct_ifconf.d2
deleted file mode 100644
index a099f7f..0000000
--- a/mpers-m32/struct_ifconf.d2
+++ /dev/null
@@ -1,431 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x278): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x22f): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x212): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xf7): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2e): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x184): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8c): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x25e): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc1): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x209): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6f): __caddr_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x75>
-<1><75>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7b>
-<1><7b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x19f): char
-<1><82>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x88>
-<1><88>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x7b>
-<1><8d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd3): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe0>
-<2><99>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x239): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x82): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><b5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2a7): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xeb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4e): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x82>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xeb>
-<2><e9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><eb>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe0>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x191): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x8d>
-<1><fc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x102>
-<1><102>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf1>
-<1><107>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x28): _Bool
-<1><10e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xeb): sa_family_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x40>
-<1><119>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x267): sockaddr
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 149
-DW_AT_sibling     : <0x142>
-<2><125>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): sa_family
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 151
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><133>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x270): sa_data
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 152
-DW_AT_type        : <0x142>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><142>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x152>
-<2><14b>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 13
-<1><152>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): ifmap
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 111
-DW_AT_sibling     : <0x1b3>
-<2><15e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x284): mem_start
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 113
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><16c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf): mem_end
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 114
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><17a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x171): base_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 115
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><188>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : irq
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 116
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><196>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : dma
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 117
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
-<2><1a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22a): port
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 118
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1b3>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 130
-DW_AT_sibling     : <0x1c7>
-<2><1bb>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x105): ifrn_name
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 132
-DW_AT_type        : <0x1c7>
-<1><1c7>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x1d7>
-<2><1d0>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><1d7>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 135
-DW_AT_sibling     : <0x264>
-<2><1df>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa3): ifru_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 137
-DW_AT_type        : <0x119>
-<2><1ea>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x41): ifru_dstaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 138
-DW_AT_type        : <0x119>
-<2><1f5>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x57): ifru_broadaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x119>
-<2><200>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29a): ifru_netmask
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 140
-DW_AT_type        : <0x119>
-<2><20b>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28e): ifru_hwaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x119>
-<2><216>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xad): ifru_flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 142
-DW_AT_type        : <0x24>
-<2><221>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fd): ifru_ivalue
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 143
-DW_AT_type        : <0x2b>
-<2><22c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb8): ifru_mtu
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<2><237>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x79): ifru_map
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 145
-DW_AT_type        : <0x152>
-<2><242>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23f): ifru_slave
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 146
-DW_AT_type        : <0x1c7>
-<2><24d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f0): ifru_newname
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 147
-DW_AT_type        : <0x1c7>
-<2><258>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x160): ifru_data
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 148
-DW_AT_type        : <0x6a>
-<1><264>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x24a): ifreq
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 126
-DW_AT_sibling     : <0x28d>
-<2><270>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17b): ifr_ifrn
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x1b3>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><27e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a4): ifr_ifru
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 149
-DW_AT_type        : <0x1d7>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><28d>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 179
-DW_AT_sibling     : <0x2ac>
-<2><295>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x66): ifcu_buf
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 181
-DW_AT_type        : <0x6a>
-<2><2a0>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10f): ifcu_req
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 182
-DW_AT_type        : <0x2ac>
-<1><2ac>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x264>
-<1><2b2>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x16a): ifconf
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 176
-DW_AT_sibling     : <0x2db>
-<2><2be>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ad): ifc_len
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 178
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2cc>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): ifc_ifcu
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x28d>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><2db>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x250): struct_ifconf
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x2b2>
-<1><2e6>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xda): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2f4>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd3): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xfc>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><302>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1e6): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><310>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x2db>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_ifreq.c b/mpers-m32/struct_ifreq.c
index 691cb13..31f73ea 100644
--- a/mpers-m32/struct_ifreq.c
+++ b/mpers-m32/struct_ifreq.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_ifreq.d1 b/mpers-m32/struct_ifreq.d1
deleted file mode 100644
index 3c8135b..0000000
--- a/mpers-m32/struct_ifreq.d1
+++ /dev/null
@@ -1,345 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2d1 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xfb): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x27c): mpers-m32/struct_ifreq.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x189): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x24d): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x203): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1e6): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe3): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x25): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x160): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x6b): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x233): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xa0): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1dd): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0x4e): __caddr_t	
-    <6f>   DW_AT_decl_file   : 2	
-    <70>   DW_AT_decl_line   : 183	
-    <71>   DW_AT_type        : <0x75>	
- <1><75>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <76>   DW_AT_byte_size   : 4	
-    <77>   DW_AT_type        : <0x7b>	
- <1><7b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7c>   DW_AT_byte_size   : 1	
-    <7d>   DW_AT_encoding    : 6	(signed char)
-    <7e>   DW_AT_name        : (indirect string, offset: 0x17b): char	
- <1><82>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <83>   DW_AT_byte_size   : 4	
-    <84>   DW_AT_type        : <0x88>	
- <1><88>: Abbrev Number: 6 (DW_TAG_const_type)
-    <89>   DW_AT_type        : <0x7b>	
- <1><8d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <8e>   DW_AT_name        : (indirect string, offset: 0xbf): sysent	
-    <92>   DW_AT_byte_size   : 20	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 4	
-    <95>   DW_AT_sibling     : <0xe0>	
- <2><99>: Abbrev Number: 8 (DW_TAG_member)
-    <9a>   DW_AT_name        : (indirect string, offset: 0x20d): nargs	
-    <9e>   DW_AT_decl_file   : 1	
-    <9f>   DW_AT_decl_line   : 5	
-    <a0>   DW_AT_type        : <0x47>	
-    <a4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a7>: Abbrev Number: 8 (DW_TAG_member)
-    <a8>   DW_AT_name        : (indirect string, offset: 0x61): sys_flags	
-    <ac>   DW_AT_decl_file   : 1	
-    <ad>   DW_AT_decl_line   : 6	
-    <ae>   DW_AT_type        : <0x2b>	
-    <b2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><b5>: Abbrev Number: 9 (DW_TAG_member)
-    <b6>   DW_AT_name        : sen	
-    <ba>   DW_AT_decl_file   : 1	
-    <bb>   DW_AT_decl_line   : 7	
-    <bc>   DW_AT_type        : <0x2b>	
-    <c0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c3>: Abbrev Number: 8 (DW_TAG_member)
-    <c4>   DW_AT_name        : (indirect string, offset: 0x295): sys_func	
-    <c8>   DW_AT_decl_file   : 1	
-    <c9>   DW_AT_decl_line   : 8	
-    <ca>   DW_AT_type        : <0xeb>	
-    <ce>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d1>: Abbrev Number: 8 (DW_TAG_member)
-    <d2>   DW_AT_name        : (indirect string, offset: 0x45): sys_name	
-    <d6>   DW_AT_decl_file   : 1	
-    <d7>   DW_AT_decl_line   : 9	
-    <d8>   DW_AT_type        : <0x82>	
-    <dc>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e1>   DW_AT_type        : <0x2b>	
-    <e5>   DW_AT_sibling     : <0xeb>	
- <2><e9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ea>: Abbrev Number: 0
- <1><eb>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xe0>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x16d): struct_sysent	
-    <f6>   DW_AT_decl_file   : 1	
-    <f7>   DW_AT_decl_line   : 10	
-    <f8>   DW_AT_type        : <0x8d>	
- <1><fc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <fd>   DW_AT_byte_size   : 4	
-    <fe>   DW_AT_type        : <0x102>	
- <1><102>: Abbrev Number: 6 (DW_TAG_const_type)
-    <103>   DW_AT_type        : <0xf1>	
- <1><107>: Abbrev Number: 2 (DW_TAG_base_type)
-    <108>   DW_AT_byte_size   : 1	
-    <109>   DW_AT_encoding    : 2	(boolean)
-    <10a>   DW_AT_name        : (indirect string, offset: 0x1f): _Bool	
- <1><10e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0xd7): sa_family_t	
-    <113>   DW_AT_decl_file   : 3	
-    <114>   DW_AT_decl_line   : 28	
-    <115>   DW_AT_type        : <0x40>	
- <1><119>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x23c): sockaddr	
-    <11e>   DW_AT_byte_size   : 16	
-    <11f>   DW_AT_decl_file   : 4	
-    <120>   DW_AT_decl_line   : 149	
-    <121>   DW_AT_sibling     : <0x142>	
- <2><125>: Abbrev Number: 8 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0x1f4): sa_family	
-    <12a>   DW_AT_decl_file   : 4	
-    <12b>   DW_AT_decl_line   : 151	
-    <12c>   DW_AT_type        : <0x10e>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><133>: Abbrev Number: 8 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0x245): sa_data	
-    <138>   DW_AT_decl_file   : 4	
-    <139>   DW_AT_decl_line   : 152	
-    <13a>   DW_AT_type        : <0x142>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><141>: Abbrev Number: 0
- <1><142>: Abbrev Number: 12 (DW_TAG_array_type)
-    <143>   DW_AT_type        : <0x7b>	
-    <147>   DW_AT_sibling     : <0x152>	
- <2><14b>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <14c>   DW_AT_type        : <0x63>	
-    <150>   DW_AT_upper_bound : 13	
- <2><151>: Abbrev Number: 0
- <1><152>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <153>   DW_AT_name        : (indirect string, offset: 0x0): ifmap	
-    <157>   DW_AT_byte_size   : 16	
-    <158>   DW_AT_decl_file   : 5	
-    <159>   DW_AT_decl_line   : 111	
-    <15a>   DW_AT_sibling     : <0x1b3>	
- <2><15e>: Abbrev Number: 8 (DW_TAG_member)
-    <15f>   DW_AT_name        : (indirect string, offset: 0x259): mem_start	
-    <163>   DW_AT_decl_file   : 5	
-    <164>   DW_AT_decl_line   : 113	
-    <165>   DW_AT_type        : <0x5c>	
-    <169>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><16c>: Abbrev Number: 8 (DW_TAG_member)
-    <16d>   DW_AT_name        : (indirect string, offset: 0x6): mem_end	
-    <171>   DW_AT_decl_file   : 5	
-    <172>   DW_AT_decl_line   : 114	
-    <173>   DW_AT_type        : <0x5c>	
-    <177>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><17a>: Abbrev Number: 8 (DW_TAG_member)
-    <17b>   DW_AT_name        : (indirect string, offset: 0x14d): base_addr	
-    <17f>   DW_AT_decl_file   : 5	
-    <180>   DW_AT_decl_line   : 115	
-    <181>   DW_AT_type        : <0x40>	
-    <185>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><188>: Abbrev Number: 9 (DW_TAG_member)
-    <189>   DW_AT_name        : irq	
-    <18d>   DW_AT_decl_file   : 5	
-    <18e>   DW_AT_decl_line   : 116	
-    <18f>   DW_AT_type        : <0x39>	
-    <193>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><196>: Abbrev Number: 9 (DW_TAG_member)
-    <197>   DW_AT_name        : dma	
-    <19b>   DW_AT_decl_file   : 5	
-    <19c>   DW_AT_decl_line   : 117	
-    <19d>   DW_AT_type        : <0x39>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
- <2><1a4>: Abbrev Number: 8 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x1fe): port	
-    <1a9>   DW_AT_decl_file   : 5	
-    <1aa>   DW_AT_decl_line   : 118	
-    <1ab>   DW_AT_type        : <0x39>	
-    <1af>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1b2>: Abbrev Number: 0
- <1><1b3>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1b4>   DW_AT_byte_size   : 16	
-    <1b5>   DW_AT_decl_file   : 5	
-    <1b6>   DW_AT_decl_line   : 130	
-    <1b7>   DW_AT_sibling     : <0x1c7>	
- <2><1bb>: Abbrev Number: 15 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0xf1): ifrn_name	
-    <1c0>   DW_AT_decl_file   : 5	
-    <1c1>   DW_AT_decl_line   : 132	
-    <1c2>   DW_AT_type        : <0x1c7>	
- <2><1c6>: Abbrev Number: 0
- <1><1c7>: Abbrev Number: 12 (DW_TAG_array_type)
-    <1c8>   DW_AT_type        : <0x7b>	
-    <1cc>   DW_AT_sibling     : <0x1d7>	
- <2><1d0>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <1d1>   DW_AT_type        : <0x63>	
-    <1d5>   DW_AT_upper_bound : 15	
- <2><1d6>: Abbrev Number: 0
- <1><1d7>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1d8>   DW_AT_byte_size   : 16	
-    <1d9>   DW_AT_decl_file   : 5	
-    <1da>   DW_AT_decl_line   : 135	
-    <1db>   DW_AT_sibling     : <0x264>	
- <2><1df>: Abbrev Number: 15 (DW_TAG_member)
-    <1e0>   DW_AT_name        : (indirect string, offset: 0x82): ifru_addr	
-    <1e4>   DW_AT_decl_file   : 5	
-    <1e5>   DW_AT_decl_line   : 137	
-    <1e6>   DW_AT_type        : <0x119>	
- <2><1ea>: Abbrev Number: 15 (DW_TAG_member)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0x38): ifru_dstaddr	
-    <1ef>   DW_AT_decl_file   : 5	
-    <1f0>   DW_AT_decl_line   : 138	
-    <1f1>   DW_AT_type        : <0x119>	
- <2><1f5>: Abbrev Number: 15 (DW_TAG_member)
-    <1f6>   DW_AT_name        : (indirect string, offset: 0x224): ifru_broadaddr	
-    <1fa>   DW_AT_decl_file   : 5	
-    <1fb>   DW_AT_decl_line   : 139	
-    <1fc>   DW_AT_type        : <0x119>	
- <2><200>: Abbrev Number: 15 (DW_TAG_member)
-    <201>   DW_AT_name        : (indirect string, offset: 0x26f): ifru_netmask	
-    <205>   DW_AT_decl_file   : 5	
-    <206>   DW_AT_decl_line   : 140	
-    <207>   DW_AT_type        : <0x119>	
- <2><20b>: Abbrev Number: 15 (DW_TAG_member)
-    <20c>   DW_AT_name        : (indirect string, offset: 0x263): ifru_hwaddr	
-    <210>   DW_AT_decl_file   : 5	
-    <211>   DW_AT_decl_line   : 141	
-    <212>   DW_AT_type        : <0x119>	
- <2><216>: Abbrev Number: 15 (DW_TAG_member)
-    <217>   DW_AT_name        : (indirect string, offset: 0x8c): ifru_flags	
-    <21b>   DW_AT_decl_file   : 5	
-    <21c>   DW_AT_decl_line   : 142	
-    <21d>   DW_AT_type        : <0x24>	
- <2><221>: Abbrev Number: 15 (DW_TAG_member)
-    <222>   DW_AT_name        : (indirect string, offset: 0x1d1): ifru_ivalue	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 143	
-    <228>   DW_AT_type        : <0x2b>	
- <2><22c>: Abbrev Number: 15 (DW_TAG_member)
-    <22d>   DW_AT_name        : (indirect string, offset: 0x97): ifru_mtu	
-    <231>   DW_AT_decl_file   : 5	
-    <232>   DW_AT_decl_line   : 144	
-    <233>   DW_AT_type        : <0x2b>	
- <2><237>: Abbrev Number: 15 (DW_TAG_member)
-    <238>   DW_AT_name        : (indirect string, offset: 0x58): ifru_map	
-    <23c>   DW_AT_decl_file   : 5	
-    <23d>   DW_AT_decl_line   : 145	
-    <23e>   DW_AT_type        : <0x152>	
- <2><242>: Abbrev Number: 15 (DW_TAG_member)
-    <243>   DW_AT_name        : (indirect string, offset: 0x213): ifru_slave	
-    <247>   DW_AT_decl_file   : 5	
-    <248>   DW_AT_decl_line   : 146	
-    <249>   DW_AT_type        : <0x1c7>	
- <2><24d>: Abbrev Number: 15 (DW_TAG_member)
-    <24e>   DW_AT_name        : (indirect string, offset: 0x1c4): ifru_newname	
-    <252>   DW_AT_decl_file   : 5	
-    <253>   DW_AT_decl_line   : 147	
-    <254>   DW_AT_type        : <0x1c7>	
- <2><258>: Abbrev Number: 15 (DW_TAG_member)
-    <259>   DW_AT_name        : (indirect string, offset: 0x143): ifru_data	
-    <25d>   DW_AT_decl_file   : 5	
-    <25e>   DW_AT_decl_line   : 148	
-    <25f>   DW_AT_type        : <0x6a>	
- <2><263>: Abbrev Number: 0
- <1><264>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <265>   DW_AT_name        : (indirect string, offset: 0x21e): ifreq	
-    <269>   DW_AT_byte_size   : 32	
-    <26a>   DW_AT_decl_file   : 5	
-    <26b>   DW_AT_decl_line   : 126	
-    <26c>   DW_AT_sibling     : <0x28d>	
- <2><270>: Abbrev Number: 8 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x157): ifr_ifrn	
-    <275>   DW_AT_decl_file   : 5	
-    <276>   DW_AT_decl_line   : 133	
-    <277>   DW_AT_type        : <0x1b3>	
-    <27b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><27e>: Abbrev Number: 8 (DW_TAG_member)
-    <27f>   DW_AT_name        : (indirect string, offset: 0x180): ifr_ifru	
-    <283>   DW_AT_decl_file   : 5	
-    <284>   DW_AT_decl_line   : 149	
-    <285>   DW_AT_type        : <0x1d7>	
-    <289>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><28c>: Abbrev Number: 0
- <1><28d>: Abbrev Number: 4 (DW_TAG_typedef)
-    <28e>   DW_AT_name        : (indirect string, offset: 0xb2): struct_ifreq	
-    <292>   DW_AT_decl_file   : 6	
-    <293>   DW_AT_decl_line   : 40	
-    <294>   DW_AT_type        : <0x264>	
- <1><298>: Abbrev Number: 16 (DW_TAG_variable)
-    <299>   DW_AT_name        : (indirect string, offset: 0xc6): current_wordsize	
-    <29d>   DW_AT_decl_file   : 7	
-    <29e>   DW_AT_decl_line   : 757	
-    <2a0>   DW_AT_type        : <0x47>	
-    <2a4>   DW_AT_external    : 1	
-    <2a5>   DW_AT_declaration : 1	
- <1><2a6>: Abbrev Number: 16 (DW_TAG_variable)
-    <2a7>   DW_AT_name        : (indirect string, offset: 0xbf): sysent	
-    <2ab>   DW_AT_decl_file   : 7	
-    <2ac>   DW_AT_decl_line   : 892	
-    <2ae>   DW_AT_type        : <0xfc>	
-    <2b2>   DW_AT_external    : 1	
-    <2b3>   DW_AT_declaration : 1	
- <1><2b4>: Abbrev Number: 16 (DW_TAG_variable)
-    <2b5>   DW_AT_name        : (indirect string, offset: 0x1ba): nsyscalls	
-    <2b9>   DW_AT_decl_file   : 7	
-    <2ba>   DW_AT_decl_line   : 903	
-    <2bc>   DW_AT_type        : <0x47>	
-    <2c0>   DW_AT_external    : 1	
-    <2c1>   DW_AT_declaration : 1	
- <1><2c2>: Abbrev Number: 17 (DW_TAG_variable)
-    <2c3>   DW_AT_name        : (indirect string, offset: 0xe): mpers_target_var	
-    <2c7>   DW_AT_decl_file   : 6	
-    <2c8>   DW_AT_decl_line   : 42	
-    <2c9>   DW_AT_type        : <0x28d>	
-    <2cd>   DW_AT_external    : 1	
-    <2ce>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><2d4>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_ifreq.d2 b/mpers-m32/struct_ifreq.d2
deleted file mode 100644
index e8e6901..0000000
--- a/mpers-m32/struct_ifreq.d2
+++ /dev/null
@@ -1,388 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x24d): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x203): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e6): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe3): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x25): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x160): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6b): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x233): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa0): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1dd): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x4e): __caddr_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x75>
-<1><75>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7b>
-<1><7b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x17b): char
-<1><82>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x88>
-<1><88>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x7b>
-<1><8d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xbf): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe0>
-<2><99>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20d): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x61): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><b5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x295): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xeb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x45): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x82>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xeb>
-<2><e9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><eb>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe0>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x16d): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x8d>
-<1><fc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x102>
-<1><102>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf1>
-<1><107>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1f): _Bool
-<1><10e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xd7): sa_family_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x40>
-<1><119>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x23c): sockaddr
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 149
-DW_AT_sibling     : <0x142>
-<2><125>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f4): sa_family
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 151
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><133>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x245): sa_data
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 152
-DW_AT_type        : <0x142>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><142>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x152>
-<2><14b>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 13
-<1><152>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): ifmap
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 111
-DW_AT_sibling     : <0x1b3>
-<2><15e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x259): mem_start
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 113
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><16c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): mem_end
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 114
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><17a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14d): base_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 115
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><188>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : irq
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 116
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><196>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : dma
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 117
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
-<2><1a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fe): port
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 118
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1b3>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 130
-DW_AT_sibling     : <0x1c7>
-<2><1bb>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf1): ifrn_name
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 132
-DW_AT_type        : <0x1c7>
-<1><1c7>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x1d7>
-<2><1d0>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><1d7>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 135
-DW_AT_sibling     : <0x264>
-<2><1df>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x82): ifru_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 137
-DW_AT_type        : <0x119>
-<2><1ea>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x38): ifru_dstaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 138
-DW_AT_type        : <0x119>
-<2><1f5>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x224): ifru_broadaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x119>
-<2><200>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26f): ifru_netmask
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 140
-DW_AT_type        : <0x119>
-<2><20b>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x263): ifru_hwaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x119>
-<2><216>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8c): ifru_flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 142
-DW_AT_type        : <0x24>
-<2><221>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d1): ifru_ivalue
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 143
-DW_AT_type        : <0x2b>
-<2><22c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x97): ifru_mtu
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<2><237>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x58): ifru_map
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 145
-DW_AT_type        : <0x152>
-<2><242>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x213): ifru_slave
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 146
-DW_AT_type        : <0x1c7>
-<2><24d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c4): ifru_newname
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 147
-DW_AT_type        : <0x1c7>
-<2><258>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x143): ifru_data
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 148
-DW_AT_type        : <0x6a>
-<1><264>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x21e): ifreq
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 126
-DW_AT_sibling     : <0x28d>
-<2><270>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x157): ifr_ifrn
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x1b3>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><27e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x180): ifr_ifru
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 149
-DW_AT_type        : <0x1d7>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><28d>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xb2): struct_ifreq
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x264>
-<1><298>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc6): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2a6>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xbf): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xfc>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2b4>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1ba): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2c2>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x28d>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_loop_info.c b/mpers-m32/struct_loop_info.c
index 25d76e1..a7116a1 100644
--- a/mpers-m32/struct_loop_info.c
+++ b/mpers-m32/struct_loop_info.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012 The Chromium OS Authors.
+ * Copyright (c) 2012-2017 The strace developers.
  * Written by Mike Frysinger <vapier@gentoo.org>.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_loop_info.d1 b/mpers-m32/struct_loop_info.d1
deleted file mode 100644
index 7213b1d..0000000
--- a/mpers-m32/struct_loop_info.d1
+++ /dev/null
@@ -1,272 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x243 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xf6): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x229): mpers-m32/struct_loop_info.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x18a): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x20b): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1f8): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1ce): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x95): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x23): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x14d): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x76): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x202): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xa3): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1c5): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x168): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_array_type)
-    <72>   DW_AT_type        : <0x6a>	
-    <76>   DW_AT_sibling     : <0x81>	
- <2><7a>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <7b>   DW_AT_type        : <0x63>	
-    <7f>   DW_AT_upper_bound : 3	
- <2><80>: Abbrev Number: 0
- <1><81>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <82>   DW_AT_byte_size   : 4	
-    <83>   DW_AT_type        : <0x87>	
- <1><87>: Abbrev Number: 7 (DW_TAG_const_type)
-    <88>   DW_AT_type        : <0x6a>	
- <1><8c>: Abbrev Number: 8 (DW_TAG_typedef)
-    <8d>   DW_AT_name        : (indirect string, offset: 0xbc): __kernel_old_dev_t	
-    <91>   DW_AT_decl_file   : 2	
-    <92>   DW_AT_decl_line   : 20	
-    <93>   DW_AT_type        : <0x40>	
- <1><97>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <98>   DW_AT_name        : (indirect string, offset: 0xb5): sysent	
-    <9c>   DW_AT_byte_size   : 20	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 4	
-    <9f>   DW_AT_sibling     : <0xea>	
- <2><a3>: Abbrev Number: 10 (DW_TAG_member)
-    <a4>   DW_AT_name        : (indirect string, offset: 0xf0): nargs	
-    <a8>   DW_AT_decl_file   : 1	
-    <a9>   DW_AT_decl_line   : 5	
-    <aa>   DW_AT_type        : <0x47>	
-    <ae>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b1>: Abbrev Number: 10 (DW_TAG_member)
-    <b2>   DW_AT_name        : (indirect string, offset: 0x6c): sys_flags	
-    <b6>   DW_AT_decl_file   : 1	
-    <b7>   DW_AT_decl_line   : 6	
-    <b8>   DW_AT_type        : <0x2b>	
-    <bc>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><bf>: Abbrev Number: 11 (DW_TAG_member)
-    <c0>   DW_AT_name        : sen	
-    <c4>   DW_AT_decl_file   : 1	
-    <c5>   DW_AT_decl_line   : 7	
-    <c6>   DW_AT_type        : <0x2b>	
-    <ca>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><cd>: Abbrev Number: 10 (DW_TAG_member)
-    <ce>   DW_AT_name        : (indirect string, offset: 0x220): sys_func	
-    <d2>   DW_AT_decl_file   : 1	
-    <d3>   DW_AT_decl_line   : 8	
-    <d4>   DW_AT_type        : <0xf5>	
-    <d8>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><db>: Abbrev Number: 10 (DW_TAG_member)
-    <dc>   DW_AT_name        : (indirect string, offset: 0x36): sys_name	
-    <e0>   DW_AT_decl_file   : 1	
-    <e1>   DW_AT_decl_line   : 9	
-    <e2>   DW_AT_type        : <0x81>	
-    <e6>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e9>: Abbrev Number: 0
- <1><ea>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <eb>   DW_AT_type        : <0x2b>	
-    <ef>   DW_AT_sibling     : <0xf5>	
- <2><f3>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><f4>: Abbrev Number: 0
- <1><f5>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <f6>   DW_AT_byte_size   : 4	
-    <f7>   DW_AT_type        : <0xea>	
- <1><fb>: Abbrev Number: 8 (DW_TAG_typedef)
-    <fc>   DW_AT_name        : (indirect string, offset: 0x15a): struct_sysent	
-    <100>   DW_AT_decl_file   : 1	
-    <101>   DW_AT_decl_line   : 10	
-    <102>   DW_AT_type        : <0x97>	
- <1><106>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <107>   DW_AT_byte_size   : 4	
-    <108>   DW_AT_type        : <0x10c>	
- <1><10c>: Abbrev Number: 7 (DW_TAG_const_type)
-    <10d>   DW_AT_type        : <0xfb>	
- <1><111>: Abbrev Number: 2 (DW_TAG_base_type)
-    <112>   DW_AT_byte_size   : 1	
-    <113>   DW_AT_encoding    : 2	(boolean)
-    <114>   DW_AT_name        : (indirect string, offset: 0x14): _Bool	
- <1><118>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <119>   DW_AT_name        : (indirect string, offset: 0xa): loop_info	
-    <11d>   DW_AT_byte_size   : 140	
-    <11e>   DW_AT_decl_file   : 3	
-    <11f>   DW_AT_decl_line   : 30	
-    <120>   DW_AT_sibling     : <0x1cf>	
- <2><124>: Abbrev Number: 10 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x1ee): lo_number	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 31	
-    <12b>   DW_AT_type        : <0x2b>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><132>: Abbrev Number: 10 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x1e4): lo_device	
-    <137>   DW_AT_decl_file   : 3	
-    <138>   DW_AT_decl_line   : 32	
-    <139>   DW_AT_type        : <0x8c>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><140>: Abbrev Number: 10 (DW_TAG_member)
-    <141>   DW_AT_name        : (indirect string, offset: 0x217): lo_inode	
-    <145>   DW_AT_decl_file   : 3	
-    <146>   DW_AT_decl_line   : 33	
-    <147>   DW_AT_type        : <0x5c>	
-    <14b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><14e>: Abbrev Number: 10 (DW_TAG_member)
-    <14f>   DW_AT_name        : (indirect string, offset: 0x3f): lo_rdevice	
-    <153>   DW_AT_decl_file   : 3	
-    <154>   DW_AT_decl_line   : 34	
-    <155>   DW_AT_type        : <0x8c>	
-    <159>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><15c>: Abbrev Number: 10 (DW_TAG_member)
-    <15d>   DW_AT_name        : (indirect string, offset: 0x0): lo_offset	
-    <161>   DW_AT_decl_file   : 3	
-    <162>   DW_AT_decl_line   : 35	
-    <163>   DW_AT_type        : <0x2b>	
-    <167>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><16a>: Abbrev Number: 10 (DW_TAG_member)
-    <16b>   DW_AT_name        : (indirect string, offset: 0xcf): lo_encrypt_type	
-    <16f>   DW_AT_decl_file   : 3	
-    <170>   DW_AT_decl_line   : 36	
-    <171>   DW_AT_type        : <0x2b>	
-    <175>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><178>: Abbrev Number: 10 (DW_TAG_member)
-    <179>   DW_AT_name        : (indirect string, offset: 0x176): lo_encrypt_key_size	
-    <17d>   DW_AT_decl_file   : 3	
-    <17e>   DW_AT_decl_line   : 37	
-    <17f>   DW_AT_type        : <0x2b>	
-    <183>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><186>: Abbrev Number: 10 (DW_TAG_member)
-    <187>   DW_AT_name        : (indirect string, offset: 0x16d): lo_flags	
-    <18b>   DW_AT_decl_file   : 3	
-    <18c>   DW_AT_decl_line   : 38	
-    <18d>   DW_AT_type        : <0x2b>	
-    <191>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><194>: Abbrev Number: 10 (DW_TAG_member)
-    <195>   DW_AT_name        : (indirect string, offset: 0x8d): lo_name	
-    <199>   DW_AT_decl_file   : 3	
-    <19a>   DW_AT_decl_line   : 39	
-    <19b>   DW_AT_type        : <0x1cf>	
-    <19f>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1a2>: Abbrev Number: 10 (DW_TAG_member)
-    <1a3>   DW_AT_name        : (indirect string, offset: 0x13e): lo_encrypt_key	
-    <1a7>   DW_AT_decl_file   : 3	
-    <1a8>   DW_AT_decl_line   : 40	
-    <1a9>   DW_AT_type        : <0x1df>	
-    <1ad>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><1b0>: Abbrev Number: 10 (DW_TAG_member)
-    <1b1>   DW_AT_name        : (indirect string, offset: 0x1dc): lo_init	
-    <1b5>   DW_AT_decl_file   : 3	
-    <1b6>   DW_AT_decl_line   : 41	
-    <1b7>   DW_AT_type        : <0x1ef>	
-    <1bb>   DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
- <2><1bf>: Abbrev Number: 10 (DW_TAG_member)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0x1a): reserved	
-    <1c4>   DW_AT_decl_file   : 3	
-    <1c5>   DW_AT_decl_line   : 42	
-    <1c6>   DW_AT_type        : <0x71>	
-    <1ca>   DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
- <2><1ce>: Abbrev Number: 0
- <1><1cf>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1d0>   DW_AT_type        : <0x6a>	
-    <1d4>   DW_AT_sibling     : <0x1df>	
- <2><1d8>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1d9>   DW_AT_type        : <0x63>	
-    <1dd>   DW_AT_upper_bound : 63	
- <2><1de>: Abbrev Number: 0
- <1><1df>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1e0>   DW_AT_type        : <0x39>	
-    <1e4>   DW_AT_sibling     : <0x1ef>	
- <2><1e8>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1e9>   DW_AT_type        : <0x63>	
-    <1ed>   DW_AT_upper_bound : 31	
- <2><1ee>: Abbrev Number: 0
- <1><1ef>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1f0>   DW_AT_type        : <0x5c>	
-    <1f4>   DW_AT_sibling     : <0x1ff>	
- <2><1f8>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1f9>   DW_AT_type        : <0x63>	
-    <1fd>   DW_AT_upper_bound : 1	
- <2><1fe>: Abbrev Number: 0
- <1><1ff>: Abbrev Number: 8 (DW_TAG_typedef)
-    <200>   DW_AT_name        : (indirect string, offset: 0x4a): struct_loop_info	
-    <204>   DW_AT_decl_file   : 4	
-    <205>   DW_AT_decl_line   : 32	
-    <206>   DW_AT_type        : <0x118>	
- <1><20a>: Abbrev Number: 14 (DW_TAG_variable)
-    <20b>   DW_AT_name        : (indirect string, offset: 0xdf): current_wordsize	
-    <20f>   DW_AT_decl_file   : 5	
-    <210>   DW_AT_decl_line   : 757	
-    <212>   DW_AT_type        : <0x47>	
-    <216>   DW_AT_external    : 1	
-    <217>   DW_AT_declaration : 1	
- <1><218>: Abbrev Number: 14 (DW_TAG_variable)
-    <219>   DW_AT_name        : (indirect string, offset: 0xb5): sysent	
-    <21d>   DW_AT_decl_file   : 5	
-    <21e>   DW_AT_decl_line   : 892	
-    <220>   DW_AT_type        : <0x106>	
-    <224>   DW_AT_external    : 1	
-    <225>   DW_AT_declaration : 1	
- <1><226>: Abbrev Number: 14 (DW_TAG_variable)
-    <227>   DW_AT_name        : (indirect string, offset: 0x1bb): nsyscalls	
-    <22b>   DW_AT_decl_file   : 5	
-    <22c>   DW_AT_decl_line   : 903	
-    <22e>   DW_AT_type        : <0x47>	
-    <232>   DW_AT_external    : 1	
-    <233>   DW_AT_declaration : 1	
- <1><234>: Abbrev Number: 15 (DW_TAG_variable)
-    <235>   DW_AT_name        : (indirect string, offset: 0x5b): mpers_target_var	
-    <239>   DW_AT_decl_file   : 4	
-    <23a>   DW_AT_decl_line   : 35	
-    <23b>   DW_AT_type        : <0x1ff>	
-    <23f>   DW_AT_external    : 1	
-    <240>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><246>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_loop_info.d2 b/mpers-m32/struct_loop_info.d2
deleted file mode 100644
index 00b3dd6..0000000
--- a/mpers-m32/struct_loop_info.d2
+++ /dev/null
@@ -1,304 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x20b): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f8): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ce): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x95): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x23): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14d): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x76): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x202): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa3): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c5): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x168): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x81>
-<2><7a>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><81>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x87>
-<1><87>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><8c>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xbc): __kernel_old_dev_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x40>
-<1><97>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xb5): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xea>
-<2><a3>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf0): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6c): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><bf>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><cd>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf5>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><db>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x36): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x81>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><ea>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf5>
-<2><f3>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><f5>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xea>
-<1><fb>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x15a): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x97>
-<1><106>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x10c>
-<1><10c>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0xfb>
-<1><111>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x14): _Bool
-<1><118>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xa): loop_info
-DW_AT_byte_size   : 140
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0x1cf>
-<2><124>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ee): lo_number
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><132>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e4): lo_device
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x8c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><140>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x217): lo_inode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><14e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3f): lo_rdevice
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x8c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><15c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): lo_offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><16a>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcf): lo_encrypt_type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><178>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x176): lo_encrypt_key_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><186>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16d): lo_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><194>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8d): lo_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x1cf>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1a2>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13e): lo_encrypt_key
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x1df>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><1b0>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1dc): lo_init
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x1ef>
-DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
-<2><1bf>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
-<1><1cf>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x1df>
-<2><1d8>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 63
-<1><1df>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x39>
-DW_AT_sibling     : <0x1ef>
-<2><1e8>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 31
-<1><1ef>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x5c>
-DW_AT_sibling     : <0x1ff>
-<2><1f8>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><1ff>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x4a): struct_loop_info
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x118>
-<1><20a>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xdf): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><218>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xb5): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x106>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><226>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1bb): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><234>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x5b): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x1ff>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_mmsghdr.d1 b/mpers-m32/struct_mmsghdr.d1
deleted file mode 100644
index a469e06..0000000
--- a/mpers-m32/struct_mmsghdr.d1
+++ /dev/null
@@ -1,267 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x22c (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xe4): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1d5): mpers-m32/struct_mmsghdr.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x16c): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x221): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1f0): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1bb): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x94): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x3f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x135): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x7d): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x202): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xa2): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1b2): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x150): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_typedef)
-    <74>   DW_AT_name        : (indirect string, offset: 0x215): __socklen_t	
-    <78>   DW_AT_decl_file   : 1	
-    <79>   DW_AT_decl_line   : 189	
-    <7a>   DW_AT_type        : <0x47>	
- <1><7e>: Abbrev Number: 5 (DW_TAG_typedef)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xf): size_t	
-    <83>   DW_AT_decl_file   : 2	
-    <84>   DW_AT_decl_line   : 212	
-    <85>   DW_AT_type        : <0x47>	
- <1><89>: Abbrev Number: 6 (DW_TAG_typedef)
-    <8a>   DW_AT_name        : (indirect string, offset: 0x20b): socklen_t	
-    <8e>   DW_AT_decl_file   : 3	
-    <8f>   DW_AT_decl_line   : 274	
-    <91>   DW_AT_type        : <0x73>	
- <1><95>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <96>   DW_AT_byte_size   : 4	
-    <97>   DW_AT_type        : <0x9b>	
- <1><9b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <9c>   DW_AT_type        : <0x6c>	
- <1><a0>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a1>   DW_AT_name        : (indirect string, offset: 0xb4): sysent	
-    <a5>   DW_AT_byte_size   : 20	
-    <a6>   DW_AT_decl_file   : 4	
-    <a7>   DW_AT_decl_line   : 4	
-    <a8>   DW_AT_sibling     : <0xf3>	
- <2><ac>: Abbrev Number: 10 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0xd8): nargs	
-    <b1>   DW_AT_decl_file   : 4	
-    <b2>   DW_AT_decl_line   : 5	
-    <b3>   DW_AT_type        : <0x47>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ba>: Abbrev Number: 10 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0x73): sys_flags	
-    <bf>   DW_AT_decl_file   : 4	
-    <c0>   DW_AT_decl_line   : 6	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c8>: Abbrev Number: 11 (DW_TAG_member)
-    <c9>   DW_AT_name        : sen	
-    <cd>   DW_AT_decl_file   : 4	
-    <ce>   DW_AT_decl_line   : 7	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d6>: Abbrev Number: 10 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x22d): sys_func	
-    <db>   DW_AT_decl_file   : 4	
-    <dc>   DW_AT_decl_line   : 8	
-    <dd>   DW_AT_type        : <0xfe>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e4>: Abbrev Number: 10 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0x52): sys_name	
-    <e9>   DW_AT_decl_file   : 4	
-    <ea>   DW_AT_decl_line   : 9	
-    <eb>   DW_AT_type        : <0x95>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><f2>: Abbrev Number: 0
- <1><f3>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <f4>   DW_AT_type        : <0x2b>	
-    <f8>   DW_AT_sibling     : <0xfe>	
- <2><fc>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><fd>: Abbrev Number: 0
- <1><fe>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <ff>   DW_AT_byte_size   : 4	
-    <100>   DW_AT_type        : <0xf3>	
- <1><104>: Abbrev Number: 5 (DW_TAG_typedef)
-    <105>   DW_AT_name        : (indirect string, offset: 0x142): struct_sysent	
-    <109>   DW_AT_decl_file   : 4	
-    <10a>   DW_AT_decl_line   : 10	
-    <10b>   DW_AT_type        : <0xa0>	
- <1><10f>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <110>   DW_AT_byte_size   : 4	
-    <111>   DW_AT_type        : <0x115>	
- <1><115>: Abbrev Number: 8 (DW_TAG_const_type)
-    <116>   DW_AT_type        : <0x104>	
- <1><11a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <11b>   DW_AT_byte_size   : 1	
-    <11c>   DW_AT_encoding    : 2	(boolean)
-    <11d>   DW_AT_name        : (indirect string, offset: 0x27): _Bool	
- <1><121>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <122>   DW_AT_name        : (indirect string, offset: 0xde): iovec	
-    <126>   DW_AT_byte_size   : 8	
-    <127>   DW_AT_decl_file   : 5	
-    <128>   DW_AT_decl_line   : 43	
-    <129>   DW_AT_sibling     : <0x14a>	
- <2><12d>: Abbrev Number: 10 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x12c): iov_base	
-    <132>   DW_AT_decl_file   : 5	
-    <133>   DW_AT_decl_line   : 45	
-    <134>   DW_AT_type        : <0x6a>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><13b>: Abbrev Number: 10 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x1f): iov_len	
-    <140>   DW_AT_decl_file   : 5	
-    <141>   DW_AT_decl_line   : 46	
-    <142>   DW_AT_type        : <0x7e>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><149>: Abbrev Number: 0
- <1><14a>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x5b): msghdr	
-    <14f>   DW_AT_byte_size   : 28	
-    <150>   DW_AT_decl_file   : 6	
-    <151>   DW_AT_decl_line   : 224	
-    <152>   DW_AT_sibling     : <0x1b9>	
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x16): msg_name	
-    <15b>   DW_AT_decl_file   : 6	
-    <15c>   DW_AT_decl_line   : 226	
-    <15d>   DW_AT_type        : <0x6a>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><164>: Abbrev Number: 10 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x1c9): msg_namelen	
-    <169>   DW_AT_decl_file   : 6	
-    <16a>   DW_AT_decl_line   : 227	
-    <16b>   DW_AT_type        : <0x89>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><172>: Abbrev Number: 10 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x155): msg_iov	
-    <177>   DW_AT_decl_file   : 6	
-    <178>   DW_AT_decl_line   : 229	
-    <179>   DW_AT_type        : <0x1b9>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 10 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x1a7): msg_iovlen	
-    <185>   DW_AT_decl_file   : 6	
-    <186>   DW_AT_decl_line   : 230	
-    <187>   DW_AT_type        : <0x7e>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18e>: Abbrev Number: 10 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0xcc): msg_control	
-    <193>   DW_AT_decl_file   : 6	
-    <194>   DW_AT_decl_line   : 232	
-    <195>   DW_AT_type        : <0x6a>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 10 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x0): msg_controllen	
-    <1a1>   DW_AT_decl_file   : 6	
-    <1a2>   DW_AT_decl_line   : 233	
-    <1a3>   DW_AT_type        : <0x7e>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1aa>: Abbrev Number: 10 (DW_TAG_member)
-    <1ab>   DW_AT_name        : (indirect string, offset: 0x35): msg_flags	
-    <1af>   DW_AT_decl_file   : 6	
-    <1b0>   DW_AT_decl_line   : 238	
-    <1b1>   DW_AT_type        : <0x2b>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1b8>: Abbrev Number: 0
- <1><1b9>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <1ba>   DW_AT_byte_size   : 4	
-    <1bb>   DW_AT_type        : <0x121>	
- <1><1bf>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0x1fa): mmsghdr	
-    <1c4>   DW_AT_byte_size   : 32	
-    <1c5>   DW_AT_decl_file   : 7	
-    <1c6>   DW_AT_decl_line   : 101	
-    <1c7>   DW_AT_sibling     : <0x1e8>	
- <2><1cb>: Abbrev Number: 10 (DW_TAG_member)
-    <1cc>   DW_AT_name        : (indirect string, offset: 0x2d): msg_hdr	
-    <1d0>   DW_AT_decl_file   : 7	
-    <1d1>   DW_AT_decl_line   : 103	
-    <1d2>   DW_AT_type        : <0x14a>	
-    <1d6>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1d9>: Abbrev Number: 10 (DW_TAG_member)
-    <1da>   DW_AT_name        : (indirect string, offset: 0x236): msg_len	
-    <1de>   DW_AT_decl_file   : 7	
-    <1df>   DW_AT_decl_line   : 104	
-    <1e0>   DW_AT_type        : <0x47>	
-    <1e4>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1e7>: Abbrev Number: 0
- <1><1e8>: Abbrev Number: 5 (DW_TAG_typedef)
-    <1e9>   DW_AT_name        : (indirect string, offset: 0x15d): struct_mmsghdr	
-    <1ed>   DW_AT_decl_file   : 8	
-    <1ee>   DW_AT_decl_line   : 32	
-    <1ef>   DW_AT_type        : <0x1bf>	
- <1><1f3>: Abbrev Number: 14 (DW_TAG_variable)
-    <1f4>   DW_AT_name        : (indirect string, offset: 0xbb): current_wordsize	
-    <1f8>   DW_AT_decl_file   : 9	
-    <1f9>   DW_AT_decl_line   : 757	
-    <1fb>   DW_AT_type        : <0x47>	
-    <1ff>   DW_AT_external    : 1	
-    <200>   DW_AT_declaration : 1	
- <1><201>: Abbrev Number: 14 (DW_TAG_variable)
-    <202>   DW_AT_name        : (indirect string, offset: 0xb4): sysent	
-    <206>   DW_AT_decl_file   : 9	
-    <207>   DW_AT_decl_line   : 892	
-    <209>   DW_AT_type        : <0x10f>	
-    <20d>   DW_AT_external    : 1	
-    <20e>   DW_AT_declaration : 1	
- <1><20f>: Abbrev Number: 14 (DW_TAG_variable)
-    <210>   DW_AT_name        : (indirect string, offset: 0x19d): nsyscalls	
-    <214>   DW_AT_decl_file   : 9	
-    <215>   DW_AT_decl_line   : 903	
-    <217>   DW_AT_type        : <0x47>	
-    <21b>   DW_AT_external    : 1	
-    <21c>   DW_AT_declaration : 1	
- <1><21d>: Abbrev Number: 15 (DW_TAG_variable)
-    <21e>   DW_AT_name        : (indirect string, offset: 0x62): mpers_target_var	
-    <222>   DW_AT_decl_file   : 8	
-    <223>   DW_AT_decl_line   : 34	
-    <224>   DW_AT_type        : <0x1e8>	
-    <228>   DW_AT_external    : 1	
-    <229>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><22f>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_mmsghdr.d2 b/mpers-m32/struct_mmsghdr.d2
deleted file mode 100644
index a082b70..0000000
--- a/mpers-m32/struct_mmsghdr.d2
+++ /dev/null
@@ -1,298 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x221): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f0): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1bb): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x94): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x3f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x135): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7d): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x202): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa2): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1b2): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x150): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x215): __socklen_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 189
-DW_AT_type        : <0x47>
-<1><7e>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><89>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x20b): socklen_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_type        : <0x73>
-<1><95>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x9b>
-<1><9b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><a0>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xb4): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf3>
-<2><ac>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd8): nargs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ba>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x73): sys_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c8>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22d): sys_func
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfe>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e4>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x52): sys_name
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x95>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f3>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfe>
-<2><fc>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><fe>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><104>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x142): struct_sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xa0>
-<1><10f>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x115>
-<1><115>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x104>
-<1><11a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x27): _Bool
-<1><121>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xde): iovec
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 43
-DW_AT_sibling     : <0x14a>
-<2><12d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12c): iov_base
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><13b>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): iov_len
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><14a>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x5b): msghdr
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 224
-DW_AT_sibling     : <0x1b9>
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16): msg_name
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 226
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><164>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c9): msg_namelen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 227
-DW_AT_type        : <0x89>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><172>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x155): msg_iov
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 229
-DW_AT_type        : <0x1b9>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a7): msg_iovlen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 230
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><18e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcc): msg_control
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 232
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): msg_controllen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 233
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1aa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x35): msg_flags
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 238
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><1b9>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x121>
-<1><1bf>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1fa): mmsghdr
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 101
-DW_AT_sibling     : <0x1e8>
-<2><1cb>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d): msg_hdr
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 103
-DW_AT_type        : <0x14a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1d9>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x236): msg_len
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 104
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><1e8>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x15d): struct_mmsghdr
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x1bf>
-<1><1f3>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xbb): current_wordsize
-DW_AT_decl_file   : 9
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><201>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xb4): sysent
-DW_AT_decl_file   : 9
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10f>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><20f>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x19d): nsyscalls
-DW_AT_decl_file   : 9
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><21d>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x62): mpers_target_var
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1e8>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_msghdr.d1 b/mpers-m32/struct_msghdr.d1
deleted file mode 100644
index b3a88be..0000000
--- a/mpers-m32/struct_msghdr.d1
+++ /dev/null
@@ -1,248 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x203 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x104): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x2d): mpers-m32/struct_msghdr.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x17d): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x20f): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1e6): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1cc): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa6): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x51): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x155): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x8f): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1f0): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb4): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1c3): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x170): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_typedef)
-    <74>   DW_AT_name        : (indirect string, offset: 0x203): __socklen_t	
-    <78>   DW_AT_decl_file   : 1	
-    <79>   DW_AT_decl_line   : 189	
-    <7a>   DW_AT_type        : <0x47>	
- <1><7e>: Abbrev Number: 5 (DW_TAG_typedef)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xf): size_t	
-    <83>   DW_AT_decl_file   : 2	
-    <84>   DW_AT_decl_line   : 212	
-    <85>   DW_AT_type        : <0x47>	
- <1><89>: Abbrev Number: 6 (DW_TAG_typedef)
-    <8a>   DW_AT_name        : (indirect string, offset: 0x1f9): socklen_t	
-    <8e>   DW_AT_decl_file   : 3	
-    <8f>   DW_AT_decl_line   : 274	
-    <91>   DW_AT_type        : <0x73>	
- <1><95>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <96>   DW_AT_byte_size   : 4	
-    <97>   DW_AT_type        : <0x9b>	
- <1><9b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <9c>   DW_AT_type        : <0x6c>	
- <1><a0>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a1>   DW_AT_name        : (indirect string, offset: 0xc6): sysent	
-    <a5>   DW_AT_byte_size   : 20	
-    <a6>   DW_AT_decl_file   : 4	
-    <a7>   DW_AT_decl_line   : 4	
-    <a8>   DW_AT_sibling     : <0xf3>	
- <2><ac>: Abbrev Number: 10 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0xf8): nargs	
-    <b1>   DW_AT_decl_file   : 4	
-    <b2>   DW_AT_decl_line   : 5	
-    <b3>   DW_AT_type        : <0x47>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ba>: Abbrev Number: 10 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0x85): sys_flags	
-    <bf>   DW_AT_decl_file   : 4	
-    <c0>   DW_AT_decl_line   : 6	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c8>: Abbrev Number: 11 (DW_TAG_member)
-    <c9>   DW_AT_name        : sen	
-    <cd>   DW_AT_decl_file   : 4	
-    <ce>   DW_AT_decl_line   : 7	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d6>: Abbrev Number: 10 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x21b): sys_func	
-    <db>   DW_AT_decl_file   : 4	
-    <dc>   DW_AT_decl_line   : 8	
-    <dd>   DW_AT_type        : <0xfe>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e4>: Abbrev Number: 10 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0x64): sys_name	
-    <e9>   DW_AT_decl_file   : 4	
-    <ea>   DW_AT_decl_line   : 9	
-    <eb>   DW_AT_type        : <0x95>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><f2>: Abbrev Number: 0
- <1><f3>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <f4>   DW_AT_type        : <0x2b>	
-    <f8>   DW_AT_sibling     : <0xfe>	
- <2><fc>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><fd>: Abbrev Number: 0
- <1><fe>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <ff>   DW_AT_byte_size   : 4	
-    <100>   DW_AT_type        : <0xf3>	
- <1><104>: Abbrev Number: 5 (DW_TAG_typedef)
-    <105>   DW_AT_name        : (indirect string, offset: 0x162): struct_sysent	
-    <109>   DW_AT_decl_file   : 4	
-    <10a>   DW_AT_decl_line   : 10	
-    <10b>   DW_AT_type        : <0xa0>	
- <1><10f>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <110>   DW_AT_byte_size   : 4	
-    <111>   DW_AT_type        : <0x115>	
- <1><115>: Abbrev Number: 8 (DW_TAG_const_type)
-    <116>   DW_AT_type        : <0x104>	
- <1><11a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <11b>   DW_AT_byte_size   : 1	
-    <11c>   DW_AT_encoding    : 2	(boolean)
-    <11d>   DW_AT_name        : (indirect string, offset: 0x1f): _Bool	
- <1><121>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <122>   DW_AT_name        : (indirect string, offset: 0xfe): iovec	
-    <126>   DW_AT_byte_size   : 8	
-    <127>   DW_AT_decl_file   : 5	
-    <128>   DW_AT_decl_line   : 43	
-    <129>   DW_AT_sibling     : <0x14a>	
- <2><12d>: Abbrev Number: 10 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x14c): iov_base	
-    <132>   DW_AT_decl_file   : 5	
-    <133>   DW_AT_decl_line   : 45	
-    <134>   DW_AT_type        : <0x6a>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><13b>: Abbrev Number: 10 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x25): iov_len	
-    <140>   DW_AT_decl_file   : 5	
-    <141>   DW_AT_decl_line   : 46	
-    <142>   DW_AT_type        : <0x7e>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><149>: Abbrev Number: 0
- <1><14a>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x6d): msghdr	
-    <14f>   DW_AT_byte_size   : 28	
-    <150>   DW_AT_decl_file   : 6	
-    <151>   DW_AT_decl_line   : 224	
-    <152>   DW_AT_sibling     : <0x1b9>	
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x16): msg_name	
-    <15b>   DW_AT_decl_file   : 6	
-    <15c>   DW_AT_decl_line   : 226	
-    <15d>   DW_AT_type        : <0x6a>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><164>: Abbrev Number: 10 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x1da): msg_namelen	
-    <169>   DW_AT_decl_file   : 6	
-    <16a>   DW_AT_decl_line   : 227	
-    <16b>   DW_AT_type        : <0x89>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><172>: Abbrev Number: 10 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x175): msg_iov	
-    <177>   DW_AT_decl_file   : 6	
-    <178>   DW_AT_decl_line   : 229	
-    <179>   DW_AT_type        : <0x1b9>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 10 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x1b8): msg_iovlen	
-    <185>   DW_AT_decl_file   : 6	
-    <186>   DW_AT_decl_line   : 230	
-    <187>   DW_AT_type        : <0x7e>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18e>: Abbrev Number: 10 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0xde): msg_control	
-    <193>   DW_AT_decl_file   : 6	
-    <194>   DW_AT_decl_line   : 232	
-    <195>   DW_AT_type        : <0x6a>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 10 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x0): msg_controllen	
-    <1a1>   DW_AT_decl_file   : 6	
-    <1a2>   DW_AT_decl_line   : 233	
-    <1a3>   DW_AT_type        : <0x7e>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1aa>: Abbrev Number: 10 (DW_TAG_member)
-    <1ab>   DW_AT_name        : (indirect string, offset: 0x47): msg_flags	
-    <1af>   DW_AT_decl_file   : 6	
-    <1b0>   DW_AT_decl_line   : 238	
-    <1b1>   DW_AT_type        : <0x2b>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1b8>: Abbrev Number: 0
- <1><1b9>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <1ba>   DW_AT_byte_size   : 4	
-    <1bb>   DW_AT_type        : <0x121>	
- <1><1bf>: Abbrev Number: 5 (DW_TAG_typedef)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0xea): struct_msghdr	
-    <1c4>   DW_AT_decl_file   : 7	
-    <1c5>   DW_AT_decl_line   : 32	
-    <1c6>   DW_AT_type        : <0x14a>	
- <1><1ca>: Abbrev Number: 14 (DW_TAG_variable)
-    <1cb>   DW_AT_name        : (indirect string, offset: 0xcd): current_wordsize	
-    <1cf>   DW_AT_decl_file   : 8	
-    <1d0>   DW_AT_decl_line   : 757	
-    <1d2>   DW_AT_type        : <0x47>	
-    <1d6>   DW_AT_external    : 1	
-    <1d7>   DW_AT_declaration : 1	
- <1><1d8>: Abbrev Number: 14 (DW_TAG_variable)
-    <1d9>   DW_AT_name        : (indirect string, offset: 0xc6): sysent	
-    <1dd>   DW_AT_decl_file   : 8	
-    <1de>   DW_AT_decl_line   : 892	
-    <1e0>   DW_AT_type        : <0x10f>	
-    <1e4>   DW_AT_external    : 1	
-    <1e5>   DW_AT_declaration : 1	
- <1><1e6>: Abbrev Number: 14 (DW_TAG_variable)
-    <1e7>   DW_AT_name        : (indirect string, offset: 0x1ae): nsyscalls	
-    <1eb>   DW_AT_decl_file   : 8	
-    <1ec>   DW_AT_decl_line   : 903	
-    <1ee>   DW_AT_type        : <0x47>	
-    <1f2>   DW_AT_external    : 1	
-    <1f3>   DW_AT_declaration : 1	
- <1><1f4>: Abbrev Number: 15 (DW_TAG_variable)
-    <1f5>   DW_AT_name        : (indirect string, offset: 0x74): mpers_target_var	
-    <1f9>   DW_AT_decl_file   : 7	
-    <1fa>   DW_AT_decl_line   : 34	
-    <1fb>   DW_AT_type        : <0x1bf>	
-    <1ff>   DW_AT_external    : 1	
-    <200>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><206>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_msghdr.d2 b/mpers-m32/struct_msghdr.d2
deleted file mode 100644
index 3f8f984..0000000
--- a/mpers-m32/struct_msghdr.d2
+++ /dev/null
@@ -1,277 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x20f): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e6): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1cc): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa6): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x51): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x155): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8f): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f0): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb4): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c3): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x170): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x203): __socklen_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 189
-DW_AT_type        : <0x47>
-<1><7e>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><89>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1f9): socklen_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_type        : <0x73>
-<1><95>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x9b>
-<1><9b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><a0>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc6): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf3>
-<2><ac>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf8): nargs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ba>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x85): sys_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c8>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21b): sys_func
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfe>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e4>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x64): sys_name
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x95>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f3>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfe>
-<2><fc>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><fe>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><104>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x162): struct_sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xa0>
-<1><10f>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x115>
-<1><115>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x104>
-<1><11a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1f): _Bool
-<1><121>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xfe): iovec
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 43
-DW_AT_sibling     : <0x14a>
-<2><12d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14c): iov_base
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><13b>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25): iov_len
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><14a>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x6d): msghdr
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 224
-DW_AT_sibling     : <0x1b9>
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16): msg_name
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 226
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><164>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1da): msg_namelen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 227
-DW_AT_type        : <0x89>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><172>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x175): msg_iov
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 229
-DW_AT_type        : <0x1b9>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b8): msg_iovlen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 230
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><18e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xde): msg_control
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 232
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): msg_controllen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 233
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1aa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x47): msg_flags
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 238
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><1b9>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x121>
-<1><1bf>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xea): struct_msghdr
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x14a>
-<1><1ca>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xcd): current_wordsize
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1d8>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc6): sysent
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10f>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1e6>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1ae): nsyscalls
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1f4>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x74): mpers_target_var
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1bf>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_mtd_oob_buf.c b/mpers-m32/struct_mtd_oob_buf.c
index f781ae5..48fc9ab 100644
--- a/mpers-m32/struct_mtd_oob_buf.c
+++ b/mpers-m32/struct_mtd_oob_buf.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012 Mike Frysinger <vapier@gentoo.org>
+ * Copyright (c) 2012-2017 The strace developers.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
diff --git a/mpers-m32/struct_mtd_oob_buf.d1 b/mpers-m32/struct_mtd_oob_buf.d1
deleted file mode 100644
index 012c136..0000000
--- a/mpers-m32/struct_mtd_oob_buf.d1
+++ /dev/null
@@ -1,193 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x189 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xab): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xf3): mpers-m32/struct_mtd_oob_buf.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x132): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1a9): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x190): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x176): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x73): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x12): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x112): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x5c): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1a0): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x81): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x16d): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x12d): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x93): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x19a): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x52): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1b5): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x25): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x11f): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x6): __u32	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 26	
-    <104>   DW_AT_type        : <0x47>	
- <1><108>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <109>   DW_AT_name        : (indirect string, offset: 0x184): mtd_oob_buf	
-    <10d>   DW_AT_byte_size   : 12	
-    <10e>   DW_AT_decl_file   : 3	
-    <10f>   DW_AT_decl_line   : 35	
-    <110>   DW_AT_sibling     : <0x13f>	
- <2><114>: Abbrev Number: 7 (DW_TAG_member)
-    <115>   DW_AT_name        : (indirect string, offset: 0xc): start	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 36	
-    <11b>   DW_AT_type        : <0xfd>	
-    <11f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><122>: Abbrev Number: 7 (DW_TAG_member)
-    <123>   DW_AT_name        : (indirect string, offset: 0x1be): length	
-    <127>   DW_AT_decl_file   : 3	
-    <128>   DW_AT_decl_line   : 37	
-    <129>   DW_AT_type        : <0xfd>	
-    <12d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><130>: Abbrev Number: 8 (DW_TAG_member)
-    <131>   DW_AT_name        : ptr	
-    <135>   DW_AT_decl_file   : 3	
-    <136>   DW_AT_decl_line   : 38	
-    <137>   DW_AT_type        : <0x13f>	
-    <13b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13e>: Abbrev Number: 0
- <1><13f>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <140>   DW_AT_byte_size   : 4	
-    <141>   DW_AT_type        : <0x39>	
- <1><145>: Abbrev Number: 11 (DW_TAG_typedef)
-    <146>   DW_AT_name        : (indirect string, offset: 0x2e): struct_mtd_oob_buf	
-    <14a>   DW_AT_decl_file   : 4	
-    <14b>   DW_AT_decl_line   : 40	
-    <14c>   DW_AT_type        : <0x108>	
- <1><150>: Abbrev Number: 12 (DW_TAG_variable)
-    <151>   DW_AT_name        : (indirect string, offset: 0x9a): current_wordsize	
-    <155>   DW_AT_decl_file   : 5	
-    <156>   DW_AT_decl_line   : 757	
-    <158>   DW_AT_type        : <0x47>	
-    <15c>   DW_AT_external    : 1	
-    <15d>   DW_AT_declaration : 1	
- <1><15e>: Abbrev Number: 12 (DW_TAG_variable)
-    <15f>   DW_AT_name        : (indirect string, offset: 0x93): sysent	
-    <163>   DW_AT_decl_file   : 5	
-    <164>   DW_AT_decl_line   : 892	
-    <166>   DW_AT_type        : <0xeb>	
-    <16a>   DW_AT_external    : 1	
-    <16b>   DW_AT_declaration : 1	
- <1><16c>: Abbrev Number: 12 (DW_TAG_variable)
-    <16d>   DW_AT_name        : (indirect string, offset: 0x163): nsyscalls	
-    <171>   DW_AT_decl_file   : 5	
-    <172>   DW_AT_decl_line   : 903	
-    <174>   DW_AT_type        : <0x47>	
-    <178>   DW_AT_external    : 1	
-    <179>   DW_AT_declaration : 1	
- <1><17a>: Abbrev Number: 13 (DW_TAG_variable)
-    <17b>   DW_AT_name        : (indirect string, offset: 0x41): mpers_target_var	
-    <17f>   DW_AT_decl_file   : 4	
-    <180>   DW_AT_decl_line   : 42	
-    <181>   DW_AT_type        : <0x145>	
-    <185>   DW_AT_external    : 1	
-    <186>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><18c>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_mtd_oob_buf.d2 b/mpers-m32/struct_mtd_oob_buf.d2
deleted file mode 100644
index 45c4194..0000000
--- a/mpers-m32/struct_mtd_oob_buf.d2
+++ /dev/null
@@ -1,213 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a9): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x190): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x176): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x73): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x112): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5c): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a0): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x81): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x16d): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x12d): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x93): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19a): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x52): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b5): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11f): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><108>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x184): mtd_oob_buf
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_sibling     : <0x13f>
-<2><114>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><122>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1be): length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><130>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : ptr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x13f>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><13f>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x39>
-<1><145>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2e): struct_mtd_oob_buf
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x108>
-<1><150>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9a): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><15e>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x93): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><16c>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x163): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17a>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x41): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x145>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_rt_sigframe.c b/mpers-m32/struct_rt_sigframe.c
new file mode 100644
index 0000000..e5a0b48
--- /dev/null
+++ b/mpers-m32/struct_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "defs.h"
+
+
+#include "rt_sigframe.h"
+
+struct_rt_sigframe mpers_target_var;
diff --git a/mpers-m32/struct_rt_sigframe.h b/mpers-m32/struct_rt_sigframe.h
new file mode 100644
index 0000000..5b21882
--- /dev/null
+++ b/mpers-m32/struct_rt_sigframe.h
@@ -0,0 +1,91 @@
+#include <inttypes.h>
+typedef uint32_t mpers_ptr_t;
+typedef
+struct {
+uint32_t pretcode;
+int32_t sig;
+uint32_t pinfo;
+uint32_t puc;
+struct {
+int32_t si_signo;
+int32_t si_errno;
+int32_t si_code;
+union {
+int32_t _pad[29];
+struct {
+int32_t si_pid;
+uint32_t si_uid;
+} ATTRIBUTE_PACKED _kill;
+struct {
+int32_t si_tid;
+int32_t si_overrun;
+union {
+int32_t sival_int;
+mpers_ptr_t sival_ptr;
+} si_sigval;
+} ATTRIBUTE_PACKED _timer;
+struct {
+int32_t si_pid;
+uint32_t si_uid;
+union {
+int32_t sival_int;
+mpers_ptr_t sival_ptr;
+} si_sigval;
+} ATTRIBUTE_PACKED _rt;
+struct {
+int32_t si_pid;
+uint32_t si_uid;
+int32_t si_status;
+int32_t si_utime;
+int32_t si_stime;
+} ATTRIBUTE_PACKED _sigchld;
+struct {
+mpers_ptr_t si_addr;
+int16_t si_addr_lsb;
+unsigned char mpers_end_filler_1[2];
+} ATTRIBUTE_PACKED _sigfault;
+struct {
+int32_t si_band;
+int32_t si_fd;
+} ATTRIBUTE_PACKED _sigpoll;
+struct {
+mpers_ptr_t _call_addr;
+int32_t _syscall;
+uint32_t _arch;
+} ATTRIBUTE_PACKED _sigsys;
+} _sifields;
+} ATTRIBUTE_PACKED info;
+struct {
+uint32_t uc_flags;
+mpers_ptr_t uc_link;
+struct {
+mpers_ptr_t ss_sp;
+int32_t ss_flags;
+uint32_t ss_size;
+} ATTRIBUTE_PACKED uc_stack;
+struct {
+int32_t gregs[19];
+mpers_ptr_t fpregs;
+uint32_t oldmask;
+uint32_t cr2;
+} ATTRIBUTE_PACKED uc_mcontext;
+struct {
+uint32_t __val[32];
+} ATTRIBUTE_PACKED uc_sigmask;
+struct {
+uint32_t cw;
+uint32_t sw;
+uint32_t tag;
+uint32_t ipoff;
+uint32_t cssel;
+uint32_t dataoff;
+uint32_t datasel;
+struct {
+uint16_t significand[4];
+uint16_t exponent;
+} ATTRIBUTE_PACKED _st[8];
+uint32_t status;
+} ATTRIBUTE_PACKED __fpregs_mem;
+} ATTRIBUTE_PACKED uc;
+} ATTRIBUTE_PACKED m32_struct_rt_sigframe;
+#define MPERS_m32_struct_rt_sigframe m32_struct_rt_sigframe
diff --git a/mpers-m32/struct_rtc_pll_info.d1 b/mpers-m32/struct_rtc_pll_info.d1
deleted file mode 100644
index 1266d06..0000000
--- a/mpers-m32/struct_rtc_pll_info.d1
+++ /dev/null
@@ -1,209 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1b0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xc7): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x141): mpers-m32/struct_rtc_pll_info.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x161): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e5): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1bb): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1ad): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x80): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x26): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x121): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x69): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1d2): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x8e): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x19c): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x13c): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xa0): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xb8): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x5f): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1f1): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x45): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x12e): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x20): _Bool	
- <1><fd>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x1c5): rtc_pll_info	
-    <102>   DW_AT_byte_size   : 28	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 55	
-    <105>   DW_AT_sibling     : <0x16c>	
- <2><109>: Abbrev Number: 7 (DW_TAG_member)
-    <10a>   DW_AT_name        : (indirect string, offset: 0xbe): pll_ctrl	
-    <10e>   DW_AT_decl_file   : 2	
-    <10f>   DW_AT_decl_line   : 56	
-    <110>   DW_AT_type        : <0x2b>	
-    <114>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><117>: Abbrev Number: 7 (DW_TAG_member)
-    <118>   DW_AT_name        : (indirect string, offset: 0x117): pll_value	
-    <11c>   DW_AT_decl_file   : 2	
-    <11d>   DW_AT_decl_line   : 57	
-    <11e>   DW_AT_type        : <0x2b>	
-    <122>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><125>: Abbrev Number: 7 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0x10f): pll_max	
-    <12a>   DW_AT_decl_file   : 2	
-    <12b>   DW_AT_decl_line   : 58	
-    <12c>   DW_AT_type        : <0x2b>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><133>: Abbrev Number: 7 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0x1a5): pll_min	
-    <138>   DW_AT_decl_file   : 2	
-    <139>   DW_AT_decl_line   : 59	
-    <13a>   DW_AT_type        : <0x2b>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><141>: Abbrev Number: 7 (DW_TAG_member)
-    <142>   DW_AT_name        : (indirect string, offset: 0x39): pll_posmult	
-    <146>   DW_AT_decl_file   : 2	
-    <147>   DW_AT_decl_line   : 60	
-    <148>   DW_AT_type        : <0x2b>	
-    <14c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><14f>: Abbrev Number: 7 (DW_TAG_member)
-    <150>   DW_AT_name        : (indirect string, offset: 0x0): pll_negmult	
-    <154>   DW_AT_decl_file   : 2	
-    <155>   DW_AT_decl_line   : 61	
-    <156>   DW_AT_type        : <0x2b>	
-    <15a>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><15d>: Abbrev Number: 7 (DW_TAG_member)
-    <15e>   DW_AT_name        : (indirect string, offset: 0x1db): pll_clock	
-    <162>   DW_AT_decl_file   : 2	
-    <163>   DW_AT_decl_line   : 62	
-    <164>   DW_AT_type        : <0x55>	
-    <168>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><16b>: Abbrev Number: 0
- <1><16c>: Abbrev Number: 11 (DW_TAG_typedef)
-    <16d>   DW_AT_name        : (indirect string, offset: 0xc): struct_rtc_pll_info	
-    <171>   DW_AT_decl_file   : 3	
-    <172>   DW_AT_decl_line   : 35	
-    <173>   DW_AT_type        : <0xfd>	
- <1><177>: Abbrev Number: 12 (DW_TAG_variable)
-    <178>   DW_AT_name        : (indirect string, offset: 0xa7): current_wordsize	
-    <17c>   DW_AT_decl_file   : 4	
-    <17d>   DW_AT_decl_line   : 757	
-    <17f>   DW_AT_type        : <0x47>	
-    <183>   DW_AT_external    : 1	
-    <184>   DW_AT_declaration : 1	
- <1><185>: Abbrev Number: 12 (DW_TAG_variable)
-    <186>   DW_AT_name        : (indirect string, offset: 0xa0): sysent	
-    <18a>   DW_AT_decl_file   : 4	
-    <18b>   DW_AT_decl_line   : 892	
-    <18d>   DW_AT_type        : <0xeb>	
-    <191>   DW_AT_external    : 1	
-    <192>   DW_AT_declaration : 1	
- <1><193>: Abbrev Number: 12 (DW_TAG_variable)
-    <194>   DW_AT_name        : (indirect string, offset: 0x192): nsyscalls	
-    <198>   DW_AT_decl_file   : 4	
-    <199>   DW_AT_decl_line   : 903	
-    <19b>   DW_AT_type        : <0x47>	
-    <19f>   DW_AT_external    : 1	
-    <1a0>   DW_AT_declaration : 1	
- <1><1a1>: Abbrev Number: 13 (DW_TAG_variable)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x4e): mpers_target_var	
-    <1a6>   DW_AT_decl_file   : 3	
-    <1a7>   DW_AT_decl_line   : 37	
-    <1a8>   DW_AT_type        : <0x16c>	
-    <1ac>   DW_AT_external    : 1	
-    <1ad>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><1b3>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_rtc_pll_info.d2 b/mpers-m32/struct_rtc_pll_info.d2
deleted file mode 100644
index 0b5079b..0000000
--- a/mpers-m32/struct_rtc_pll_info.d2
+++ /dev/null
@@ -1,231 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e5): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1bb): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ad): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x80): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x26): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x121): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x69): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d2): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8e): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x19c): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x13c): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xa0): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb8): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5f): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f1): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x45): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x12e): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x20): _Bool
-<1><fd>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1c5): rtc_pll_info
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 55
-DW_AT_sibling     : <0x16c>
-<2><109>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbe): pll_ctrl
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><117>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x117): pll_value
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><125>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10f): pll_max
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><133>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a5): pll_min
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><141>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x39): pll_posmult
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 60
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><14f>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): pll_negmult
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><15d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1db): pll_clock
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 62
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><16c>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xc): struct_rtc_pll_info
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xfd>
-<1><177>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa7): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><185>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa0): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><193>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x192): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a1>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x4e): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x16c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_sg_io_hdr.d1 b/mpers-m32/struct_sg_io_hdr.d1
deleted file mode 100644
index 2703ada..0000000
--- a/mpers-m32/struct_sg_io_hdr.d1
+++ /dev/null
@@ -1,304 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x28a (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xea): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x14b): mpers-m32/struct_sg_io_hdr.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x181): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x7b): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x20b): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1d9): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x87): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x1d): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x30): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x25c): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x232): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xab): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1c6): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x17c): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xbd): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x215): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x71): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x253): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x49): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x16e): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x6): _Bool	
- <1><ff>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <100>   DW_AT_name        : (indirect string, offset: 0x95): sg_io_hdr	
-    <104>   DW_AT_byte_size   : 64	
-    <105>   DW_AT_decl_file   : 2	
-    <106>   DW_AT_decl_line   : 44	
-    <107>   DW_AT_sibling     : <0x240>	
- <2><10b>: Abbrev Number: 8 (DW_TAG_member)
-    <10c>   DW_AT_name        : (indirect string, offset: 0x1e7): interface_id	
-    <110>   DW_AT_decl_file   : 2	
-    <111>   DW_AT_decl_line   : 46	
-    <112>   DW_AT_type        : <0x2b>	
-    <116>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><119>: Abbrev Number: 8 (DW_TAG_member)
-    <11a>   DW_AT_name        : (indirect string, offset: 0xc4): dxfer_direction	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 47	
-    <120>   DW_AT_type        : <0x2b>	
-    <124>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><127>: Abbrev Number: 8 (DW_TAG_member)
-    <128>   DW_AT_name        : (indirect string, offset: 0x143): cmd_len	
-    <12c>   DW_AT_decl_file   : 2	
-    <12d>   DW_AT_decl_line   : 48	
-    <12e>   DW_AT_type        : <0x39>	
-    <132>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><135>: Abbrev Number: 8 (DW_TAG_member)
-    <136>   DW_AT_name        : (indirect string, offset: 0x1bc): mx_sb_len	
-    <13a>   DW_AT_decl_file   : 2	
-    <13b>   DW_AT_decl_line   : 49	
-    <13c>   DW_AT_type        : <0x39>	
-    <140>   DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
- <2><143>: Abbrev Number: 8 (DW_TAG_member)
-    <144>   DW_AT_name        : (indirect string, offset: 0x9f): iovec_count	
-    <148>   DW_AT_decl_file   : 2	
-    <149>   DW_AT_decl_line   : 50	
-    <14a>   DW_AT_type        : <0x40>	
-    <14e>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><151>: Abbrev Number: 8 (DW_TAG_member)
-    <152>   DW_AT_name        : (indirect string, offset: 0x1cf): dxfer_len	
-    <156>   DW_AT_decl_file   : 2	
-    <157>   DW_AT_decl_line   : 51	
-    <158>   DW_AT_type        : <0x47>	
-    <15c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><15f>: Abbrev Number: 8 (DW_TAG_member)
-    <160>   DW_AT_name        : (indirect string, offset: 0x204): dxferp	
-    <164>   DW_AT_decl_file   : 2	
-    <165>   DW_AT_decl_line   : 52	
-    <166>   DW_AT_type        : <0x6a>	
-    <16a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><16d>: Abbrev Number: 8 (DW_TAG_member)
-    <16e>   DW_AT_name        : (indirect string, offset: 0x3d): cmdp	
-    <172>   DW_AT_decl_file   : 2	
-    <173>   DW_AT_decl_line   : 54	
-    <174>   DW_AT_type        : <0x240>	
-    <178>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><17b>: Abbrev Number: 9 (DW_TAG_member)
-    <17c>   DW_AT_name        : sbp	
-    <180>   DW_AT_decl_file   : 2	
-    <181>   DW_AT_decl_line   : 55	
-    <182>   DW_AT_type        : <0x240>	
-    <186>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><189>: Abbrev Number: 8 (DW_TAG_member)
-    <18a>   DW_AT_name        : (indirect string, offset: 0xc): timeout	
-    <18e>   DW_AT_decl_file   : 2	
-    <18f>   DW_AT_decl_line   : 56	
-    <190>   DW_AT_type        : <0x47>	
-    <194>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><197>: Abbrev Number: 8 (DW_TAG_member)
-    <198>   DW_AT_name        : (indirect string, offset: 0x168): flags	
-    <19c>   DW_AT_decl_file   : 2	
-    <19d>   DW_AT_decl_line   : 57	
-    <19e>   DW_AT_type        : <0x47>	
-    <1a2>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1a5>: Abbrev Number: 8 (DW_TAG_member)
-    <1a6>   DW_AT_name        : (indirect string, offset: 0x1f4): pack_id	
-    <1aa>   DW_AT_decl_file   : 2	
-    <1ab>   DW_AT_decl_line   : 58	
-    <1ac>   DW_AT_type        : <0x2b>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1b3>: Abbrev Number: 8 (DW_TAG_member)
-    <1b4>   DW_AT_name        : (indirect string, offset: 0x1fc): usr_ptr	
-    <1b8>   DW_AT_decl_file   : 2	
-    <1b9>   DW_AT_decl_line   : 59	
-    <1ba>   DW_AT_type        : <0x6a>	
-    <1be>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1c1>: Abbrev Number: 8 (DW_TAG_member)
-    <1c2>   DW_AT_name        : (indirect string, offset: 0x42): status	
-    <1c6>   DW_AT_decl_file   : 2	
-    <1c7>   DW_AT_decl_line   : 60	
-    <1c8>   DW_AT_type        : <0x39>	
-    <1cc>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1cf>: Abbrev Number: 8 (DW_TAG_member)
-    <1d0>   DW_AT_name        : (indirect string, offset: 0x245): masked_status	
-    <1d4>   DW_AT_decl_file   : 2	
-    <1d5>   DW_AT_decl_line   : 61	
-    <1d6>   DW_AT_type        : <0x39>	
-    <1da>   DW_AT_data_member_location: 2 byte block: 23 2d 	(DW_OP_plus_uconst: 45)
- <2><1dd>: Abbrev Number: 8 (DW_TAG_member)
-    <1de>   DW_AT_name        : (indirect string, offset: 0x227): msg_status	
-    <1e2>   DW_AT_decl_file   : 2	
-    <1e3>   DW_AT_decl_line   : 62	
-    <1e4>   DW_AT_type        : <0x39>	
-    <1e8>   DW_AT_data_member_location: 2 byte block: 23 2e 	(DW_OP_plus_uconst: 46)
- <2><1eb>: Abbrev Number: 8 (DW_TAG_member)
-    <1ec>   DW_AT_name        : (indirect string, offset: 0x23b): sb_len_wr	
-    <1f0>   DW_AT_decl_file   : 2	
-    <1f1>   DW_AT_decl_line   : 63	
-    <1f2>   DW_AT_type        : <0x39>	
-    <1f6>   DW_AT_data_member_location: 2 byte block: 23 2f 	(DW_OP_plus_uconst: 47)
- <2><1f9>: Abbrev Number: 8 (DW_TAG_member)
-    <1fa>   DW_AT_name        : (indirect string, offset: 0x21b): host_status	
-    <1fe>   DW_AT_decl_file   : 2	
-    <1ff>   DW_AT_decl_line   : 64	
-    <200>   DW_AT_type        : <0x40>	
-    <204>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><207>: Abbrev Number: 8 (DW_TAG_member)
-    <208>   DW_AT_name        : (indirect string, offset: 0x52): driver_status	
-    <20c>   DW_AT_decl_file   : 2	
-    <20d>   DW_AT_decl_line   : 65	
-    <20e>   DW_AT_type        : <0x40>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 32 	(DW_OP_plus_uconst: 50)
- <2><215>: Abbrev Number: 8 (DW_TAG_member)
-    <216>   DW_AT_name        : (indirect string, offset: 0x0): resid	
-    <21a>   DW_AT_decl_file   : 2	
-    <21b>   DW_AT_decl_line   : 66	
-    <21c>   DW_AT_type        : <0x2b>	
-    <220>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><223>: Abbrev Number: 8 (DW_TAG_member)
-    <224>   DW_AT_name        : (indirect string, offset: 0x14): duration	
-    <228>   DW_AT_decl_file   : 2	
-    <229>   DW_AT_decl_line   : 67	
-    <22a>   DW_AT_type        : <0x47>	
-    <22e>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><231>: Abbrev Number: 8 (DW_TAG_member)
-    <232>   DW_AT_name        : (indirect string, offset: 0xe5): info	
-    <236>   DW_AT_decl_file   : 2	
-    <237>   DW_AT_decl_line   : 68	
-    <238>   DW_AT_type        : <0x47>	
-    <23c>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><23f>: Abbrev Number: 0
- <1><240>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <241>   DW_AT_byte_size   : 4	
-    <242>   DW_AT_type        : <0x39>	
- <1><246>: Abbrev Number: 12 (DW_TAG_typedef)
-    <247>   DW_AT_name        : (indirect string, offset: 0x132): struct_sg_io_hdr	
-    <24b>   DW_AT_decl_file   : 3	
-    <24c>   DW_AT_decl_line   : 37	
-    <24d>   DW_AT_type        : <0xff>	
- <1><251>: Abbrev Number: 13 (DW_TAG_variable)
-    <252>   DW_AT_name        : (indirect string, offset: 0xd4): current_wordsize	
-    <256>   DW_AT_decl_file   : 4	
-    <257>   DW_AT_decl_line   : 757	
-    <259>   DW_AT_type        : <0x47>	
-    <25d>   DW_AT_external    : 1	
-    <25e>   DW_AT_declaration : 1	
- <1><25f>: Abbrev Number: 13 (DW_TAG_variable)
-    <260>   DW_AT_name        : (indirect string, offset: 0xbd): sysent	
-    <264>   DW_AT_decl_file   : 4	
-    <265>   DW_AT_decl_line   : 892	
-    <267>   DW_AT_type        : <0xed>	
-    <26b>   DW_AT_external    : 1	
-    <26c>   DW_AT_declaration : 1	
- <1><26d>: Abbrev Number: 13 (DW_TAG_variable)
-    <26e>   DW_AT_name        : (indirect string, offset: 0x1b2): nsyscalls	
-    <272>   DW_AT_decl_file   : 4	
-    <273>   DW_AT_decl_line   : 903	
-    <275>   DW_AT_type        : <0x47>	
-    <279>   DW_AT_external    : 1	
-    <27a>   DW_AT_declaration : 1	
- <1><27b>: Abbrev Number: 14 (DW_TAG_variable)
-    <27c>   DW_AT_name        : (indirect string, offset: 0x60): mpers_target_var	
-    <280>   DW_AT_decl_file   : 3	
-    <281>   DW_AT_decl_line   : 41	
-    <282>   DW_AT_type        : <0x246>	
-    <286>   DW_AT_external    : 1	
-    <287>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><28d>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_sg_io_hdr.d2 b/mpers-m32/struct_sg_io_hdr.d2
deleted file mode 100644
index 79115fa..0000000
--- a/mpers-m32/struct_sg_io_hdr.d2
+++ /dev/null
@@ -1,343 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x7b): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x20b): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d9): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x87): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x30): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x25c): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x232): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xab): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c6): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x17c): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xbd): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x215): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x71): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x253): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x49): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x16e): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x6): _Bool
-<1><ff>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x95): sg_io_hdr
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 44
-DW_AT_sibling     : <0x240>
-<2><10b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e7): interface_id
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><119>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc4): dxfer_direction
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><127>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x143): cmd_len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><135>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bc): mx_sb_len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
-<2><143>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9f): iovec_count
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><151>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cf): dxfer_len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><15f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x204): dxferp
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><16d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3d): cmdp
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x240>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><17b>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sbp
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x240>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><189>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc): timeout
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><197>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x168): flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1a5>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f4): pack_id
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1b3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fc): usr_ptr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1c1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x42): status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 60
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1cf>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x245): masked_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2d 	(DW_OP_plus_uconst: 45)
-<2><1dd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x227): msg_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 62
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2e 	(DW_OP_plus_uconst: 46)
-<2><1eb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23b): sb_len_wr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 63
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2f 	(DW_OP_plus_uconst: 47)
-<2><1f9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21b): host_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><207>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x52): driver_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 65
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 32 	(DW_OP_plus_uconst: 50)
-<2><215>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): resid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 66
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><223>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14): duration
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 67
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><231>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe5): info
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 68
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<1><240>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x39>
-<1><246>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x132): struct_sg_io_hdr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0xff>
-<1><251>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd4): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><25f>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xbd): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><26d>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b2): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><27b>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x60): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x246>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_sg_req_info.d1 b/mpers-m32/struct_sg_req_info.d1
deleted file mode 100644
index 93e39c5..0000000
--- a/mpers-m32/struct_sg_req_info.d1
+++ /dev/null
@@ -1,217 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1c0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xe3): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x48): mpers-m32/struct_sg_req_info.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x14b): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e2): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1c0): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x196): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x99): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0xf): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x12b): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x82): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1d1): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb3): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x18d): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x146): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xc5): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0xdd): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x78): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x1ee): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x3f): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x138): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><ff>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <100>   DW_AT_name        : (indirect string, offset: 0x1b4): sg_req_info	
-    <104>   DW_AT_byte_size   : 20	
-    <105>   DW_AT_decl_file   : 2	
-    <106>   DW_AT_decl_line   : 120	
-    <107>   DW_AT_sibling     : <0x17c>	
- <2><10b>: Abbrev Number: 8 (DW_TAG_member)
-    <10c>   DW_AT_name        : (indirect string, offset: 0x22): req_state	
-    <110>   DW_AT_decl_file   : 2	
-    <111>   DW_AT_decl_line   : 121	
-    <112>   DW_AT_type        : <0x6c>	
-    <116>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><119>: Abbrev Number: 8 (DW_TAG_member)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x1ca): orphan	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 122	
-    <120>   DW_AT_type        : <0x6c>	
-    <124>   DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
- <2><127>: Abbrev Number: 8 (DW_TAG_member)
-    <128>   DW_AT_name        : (indirect string, offset: 0xa7): sg_io_owned	
-    <12c>   DW_AT_decl_file   : 2	
-    <12d>   DW_AT_decl_line   : 123	
-    <12e>   DW_AT_type        : <0x6c>	
-    <132>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><135>: Abbrev Number: 8 (DW_TAG_member)
-    <136>   DW_AT_name        : (indirect string, offset: 0x1da): problem	
-    <13a>   DW_AT_decl_file   : 2	
-    <13b>   DW_AT_decl_line   : 124	
-    <13c>   DW_AT_type        : <0x6c>	
-    <140>   DW_AT_data_member_location: 2 byte block: 23 3 	(DW_OP_plus_uconst: 3)
- <2><143>: Abbrev Number: 8 (DW_TAG_member)
-    <144>   DW_AT_name        : (indirect string, offset: 0x1a4): pack_id	
-    <148>   DW_AT_decl_file   : 2	
-    <149>   DW_AT_decl_line   : 125	
-    <14a>   DW_AT_type        : <0x2b>	
-    <14e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><151>: Abbrev Number: 8 (DW_TAG_member)
-    <152>   DW_AT_name        : (indirect string, offset: 0x1ac): usr_ptr	
-    <156>   DW_AT_decl_file   : 2	
-    <157>   DW_AT_decl_line   : 126	
-    <158>   DW_AT_type        : <0x6a>	
-    <15c>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><15f>: Abbrev Number: 8 (DW_TAG_member)
-    <160>   DW_AT_name        : (indirect string, offset: 0x6): duration	
-    <164>   DW_AT_decl_file   : 2	
-    <165>   DW_AT_decl_line   : 127	
-    <166>   DW_AT_type        : <0x47>	
-    <16a>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><16d>: Abbrev Number: 8 (DW_TAG_member)
-    <16e>   DW_AT_name        : (indirect string, offset: 0x186): unused	
-    <172>   DW_AT_decl_file   : 2	
-    <173>   DW_AT_decl_line   : 129	
-    <174>   DW_AT_type        : <0x2b>	
-    <178>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><17b>: Abbrev Number: 0
- <1><17c>: Abbrev Number: 12 (DW_TAG_typedef)
-    <17d>   DW_AT_name        : (indirect string, offset: 0x2c): struct_sg_req_info	
-    <181>   DW_AT_decl_file   : 3	
-    <182>   DW_AT_decl_line   : 37	
-    <183>   DW_AT_type        : <0xff>	
- <1><187>: Abbrev Number: 13 (DW_TAG_variable)
-    <188>   DW_AT_name        : (indirect string, offset: 0xcc): current_wordsize	
-    <18c>   DW_AT_decl_file   : 4	
-    <18d>   DW_AT_decl_line   : 757	
-    <18f>   DW_AT_type        : <0x47>	
-    <193>   DW_AT_external    : 1	
-    <194>   DW_AT_declaration : 1	
- <1><195>: Abbrev Number: 13 (DW_TAG_variable)
-    <196>   DW_AT_name        : (indirect string, offset: 0xc5): sysent	
-    <19a>   DW_AT_decl_file   : 4	
-    <19b>   DW_AT_decl_line   : 892	
-    <19d>   DW_AT_type        : <0xed>	
-    <1a1>   DW_AT_external    : 1	
-    <1a2>   DW_AT_declaration : 1	
- <1><1a3>: Abbrev Number: 13 (DW_TAG_variable)
-    <1a4>   DW_AT_name        : (indirect string, offset: 0x17c): nsyscalls	
-    <1a8>   DW_AT_decl_file   : 4	
-    <1a9>   DW_AT_decl_line   : 903	
-    <1ab>   DW_AT_type        : <0x47>	
-    <1af>   DW_AT_external    : 1	
-    <1b0>   DW_AT_declaration : 1	
- <1><1b1>: Abbrev Number: 14 (DW_TAG_variable)
-    <1b2>   DW_AT_name        : (indirect string, offset: 0x67): mpers_target_var	
-    <1b6>   DW_AT_decl_file   : 3	
-    <1b7>   DW_AT_decl_line   : 41	
-    <1b8>   DW_AT_type        : <0x17c>	
-    <1bc>   DW_AT_external    : 1	
-    <1bd>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><1c3>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_sg_req_info.d2 b/mpers-m32/struct_sg_req_info.d2
deleted file mode 100644
index f9e7702..0000000
--- a/mpers-m32/struct_sg_req_info.d2
+++ /dev/null
@@ -1,241 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e2): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c0): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x196): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x99): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12b): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x82): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d1): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb3): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x18d): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x146): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc5): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xdd): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x78): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ee): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3f): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x138): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><ff>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1b4): sg_req_info
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 120
-DW_AT_sibling     : <0x17c>
-<2><10b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22): req_state
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 121
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><119>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ca): orphan
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 122
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
-<2><127>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa7): sg_io_owned
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 123
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><135>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1da): problem
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 124
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 3 	(DW_OP_plus_uconst: 3)
-<2><143>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a4): pack_id
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><151>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ac): usr_ptr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><15f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): duration
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 127
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><16d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x186): unused
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 129
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><17c>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2c): struct_sg_req_info
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0xff>
-<1><187>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xcc): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><195>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc5): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a3>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17c): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1b1>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x67): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x17c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_sigevent.d1 b/mpers-m32/struct_sigevent.d1
deleted file mode 100644
index 46ec7ae..0000000
--- a/mpers-m32/struct_sigevent.d1
+++ /dev/null
@@ -1,240 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1e5 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xd3): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x27): mpers-m32/struct_sigevent.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x14d): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1da): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x19b): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x8e): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x14): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x12d): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x67): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1c4): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x11b): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x192): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x148): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xa9): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xc1): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x5d): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1e6): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x43): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x13a): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0xe): _Bool	
- <1><fd>: Abbrev Number: 12 (DW_TAG_union_type)
-    <fe>   DW_AT_byte_size   : 4	
-    <ff>   DW_AT_decl_file   : 2	
-    <100>   DW_AT_decl_line   : 32	
-    <101>   DW_AT_sibling     : <0x11c>	
- <2><105>: Abbrev Number: 13 (DW_TAG_member)
-    <106>   DW_AT_name        : (indirect string, offset: 0x1a5): sival_int	
-    <10a>   DW_AT_decl_file   : 2	
-    <10b>   DW_AT_decl_line   : 33	
-    <10c>   DW_AT_type        : <0x2b>	
- <2><110>: Abbrev Number: 13 (DW_TAG_member)
-    <111>   DW_AT_name        : (indirect string, offset: 0x1f8): sival_ptr	
-    <115>   DW_AT_decl_file   : 2	
-    <116>   DW_AT_decl_line   : 34	
-    <117>   DW_AT_type        : <0x5c>	
- <2><11b>: Abbrev Number: 0
- <1><11c>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <11d>   DW_AT_byte_size   : 8	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 40	
-    <120>   DW_AT_sibling     : <0x141>	
- <2><124>: Abbrev Number: 7 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x1ef): function	
-    <129>   DW_AT_decl_file   : 2	
-    <12a>   DW_AT_decl_line   : 41	
-    <12b>   DW_AT_type        : <0x5c>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><132>: Abbrev Number: 7 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x188): attribute	
-    <137>   DW_AT_decl_file   : 2	
-    <138>   DW_AT_decl_line   : 42	
-    <139>   DW_AT_type        : <0x5c>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><140>: Abbrev Number: 0
- <1><141>: Abbrev Number: 12 (DW_TAG_union_type)
-    <142>   DW_AT_byte_size   : 8	
-    <143>   DW_AT_decl_file   : 2	
-    <144>   DW_AT_decl_line   : 38	
-    <145>   DW_AT_sibling     : <0x160>	
- <2><149>: Abbrev Number: 15 (DW_TAG_member)
-    <14a>   DW_AT_name        : tid	
-    <14e>   DW_AT_decl_file   : 2	
-    <14f>   DW_AT_decl_line   : 39	
-    <150>   DW_AT_type        : <0x2b>	
- <2><154>: Abbrev Number: 13 (DW_TAG_member)
-    <155>   DW_AT_name        : (indirect string, offset: 0x1cd): sigev_thread	
-    <159>   DW_AT_decl_file   : 2	
-    <15a>   DW_AT_decl_line   : 43	
-    <15b>   DW_AT_type        : <0x11c>	
- <2><15f>: Abbrev Number: 0
- <1><160>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <161>   DW_AT_byte_size   : 20	
-    <162>   DW_AT_decl_file   : 2	
-    <163>   DW_AT_decl_line   : 31	
-    <164>   DW_AT_sibling     : <0x1a1>	
- <2><168>: Abbrev Number: 7 (DW_TAG_member)
-    <169>   DW_AT_name        : (indirect string, offset: 0x1af): sigev_value	
-    <16d>   DW_AT_decl_file   : 2	
-    <16e>   DW_AT_decl_line   : 35	
-    <16f>   DW_AT_type        : <0xfd>	
-    <173>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><176>: Abbrev Number: 7 (DW_TAG_member)
-    <177>   DW_AT_name        : (indirect string, offset: 0xc7): sigev_signo	
-    <17b>   DW_AT_decl_file   : 2	
-    <17c>   DW_AT_decl_line   : 36	
-    <17d>   DW_AT_type        : <0x2b>	
-    <181>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><184>: Abbrev Number: 7 (DW_TAG_member)
-    <185>   DW_AT_name        : (indirect string, offset: 0x9c): sigev_notify	
-    <189>   DW_AT_decl_file   : 2	
-    <18a>   DW_AT_decl_line   : 37	
-    <18b>   DW_AT_type        : <0x2b>	
-    <18f>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><192>: Abbrev Number: 7 (DW_TAG_member)
-    <193>   DW_AT_name        : (indirect string, offset: 0x1bb): sigev_un	
-    <197>   DW_AT_decl_file   : 2	
-    <198>   DW_AT_decl_line   : 44	
-    <199>   DW_AT_type        : <0x141>	
-    <19d>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1a0>: Abbrev Number: 0
- <1><1a1>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x7e): struct_sigevent	
-    <1a6>   DW_AT_decl_file   : 2	
-    <1a7>   DW_AT_decl_line   : 45	
-    <1a8>   DW_AT_type        : <0x160>	
- <1><1ac>: Abbrev Number: 16 (DW_TAG_variable)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0xb0): current_wordsize	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 757	
-    <1b4>   DW_AT_type        : <0x47>	
-    <1b8>   DW_AT_external    : 1	
-    <1b9>   DW_AT_declaration : 1	
- <1><1ba>: Abbrev Number: 16 (DW_TAG_variable)
-    <1bb>   DW_AT_name        : (indirect string, offset: 0xa9): sysent	
-    <1bf>   DW_AT_decl_file   : 3	
-    <1c0>   DW_AT_decl_line   : 892	
-    <1c2>   DW_AT_type        : <0xeb>	
-    <1c6>   DW_AT_external    : 1	
-    <1c7>   DW_AT_declaration : 1	
- <1><1c8>: Abbrev Number: 16 (DW_TAG_variable)
-    <1c9>   DW_AT_name        : (indirect string, offset: 0x17e): nsyscalls	
-    <1cd>   DW_AT_decl_file   : 3	
-    <1ce>   DW_AT_decl_line   : 903	
-    <1d0>   DW_AT_type        : <0x47>	
-    <1d4>   DW_AT_external    : 1	
-    <1d5>   DW_AT_declaration : 1	
- <1><1d6>: Abbrev Number: 17 (DW_TAG_variable)
-    <1d7>   DW_AT_name        : (indirect string, offset: 0x4c): mpers_target_var	
-    <1db>   DW_AT_decl_file   : 4	
-    <1dc>   DW_AT_decl_line   : 32	
-    <1dd>   DW_AT_type        : <0x1a1>	
-    <1e1>   DW_AT_external    : 1	
-    <1e2>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><1e8>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_sigevent.d2 b/mpers-m32/struct_sigevent.d2
deleted file mode 100644
index 4b92f86..0000000
--- a/mpers-m32/struct_sigevent.d2
+++ /dev/null
@@ -1,265 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1da): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19b): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x8e): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12d): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x67): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c4): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x11b): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x192): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x148): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xa9): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc1): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5d): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e6): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x43): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x13a): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xe): _Bool
-<1><fd>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_sibling     : <0x11c>
-<2><105>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a5): sival_int
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x2b>
-<2><110>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f8): sival_ptr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x5c>
-<1><11c>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 40
-DW_AT_sibling     : <0x141>
-<2><124>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ef): function
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><132>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x188): attribute
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><141>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 38
-DW_AT_sibling     : <0x160>
-<2><149>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : tid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x2b>
-<2><154>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cd): sigev_thread
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x11c>
-<1><160>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 31
-DW_AT_sibling     : <0x1a1>
-<2><168>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1af): sigev_value
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><176>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc7): sigev_signo
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><184>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9c): sigev_notify
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><192>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bb): sigev_un
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x141>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1a1>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x7e): struct_sigevent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x160>
-<1><1ac>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xb0): current_wordsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1ba>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa9): sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1c8>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17e): nsyscalls
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1d6>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x4c): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x1a1>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_stat.c b/mpers-m32/struct_stat.c
index 80d1412..e10cfd9 100644
--- a/mpers-m32/struct_stat.c
+++ b/mpers-m32/struct_stat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_stat.d1 b/mpers-m32/struct_stat.d1
deleted file mode 100644
index fd56e7a..0000000
--- a/mpers-m32/struct_stat.d1
+++ /dev/null
@@ -1,275 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x24a (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x10f): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1c): mpers-m32/struct_stat.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x18e): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x233): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x212): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1f0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xb5): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x4f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x160): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x9e): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x22a): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xcd): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1d0): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x17b): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xe7): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xff): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x105): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x23f): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x6a): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x16d): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x34): _Bool	
- <1><fd>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x17): stat	
-    <102>   DW_AT_byte_size   : 64	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 7	
-    <105>   DW_AT_sibling     : <0x206>	
- <2><109>: Abbrev Number: 7 (DW_TAG_member)
-    <10a>   DW_AT_name        : (indirect string, offset: 0x21c): st_dev	
-    <10e>   DW_AT_decl_file   : 2	
-    <10f>   DW_AT_decl_line   : 8	
-    <110>   DW_AT_type        : <0x5c>	
-    <114>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><117>: Abbrev Number: 7 (DW_TAG_member)
-    <118>   DW_AT_name        : (indirect string, offset: 0x73): st_ino	
-    <11c>   DW_AT_decl_file   : 2	
-    <11d>   DW_AT_decl_line   : 9	
-    <11e>   DW_AT_type        : <0x5c>	
-    <122>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><125>: Abbrev Number: 7 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0xdf): st_mode	
-    <12a>   DW_AT_decl_file   : 2	
-    <12b>   DW_AT_decl_line   : 10	
-    <12c>   DW_AT_type        : <0x40>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><133>: Abbrev Number: 7 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0x46): st_nlink	
-    <138>   DW_AT_decl_file   : 2	
-    <139>   DW_AT_decl_line   : 11	
-    <13a>   DW_AT_type        : <0x40>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><141>: Abbrev Number: 7 (DW_TAG_member)
-    <142>   DW_AT_name        : (indirect string, offset: 0x1c9): st_uid	
-    <146>   DW_AT_decl_file   : 2	
-    <147>   DW_AT_decl_line   : 12	
-    <148>   DW_AT_type        : <0x40>	
-    <14c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><14f>: Abbrev Number: 7 (DW_TAG_member)
-    <150>   DW_AT_name        : (indirect string, offset: 0x223): st_gid	
-    <154>   DW_AT_decl_file   : 2	
-    <155>   DW_AT_decl_line   : 13	
-    <156>   DW_AT_type        : <0x40>	
-    <15a>   DW_AT_data_member_location: 2 byte block: 23 e 	(DW_OP_plus_uconst: 14)
- <2><15d>: Abbrev Number: 7 (DW_TAG_member)
-    <15e>   DW_AT_name        : (indirect string, offset: 0x96): st_rdev	
-    <162>   DW_AT_decl_file   : 2	
-    <163>   DW_AT_decl_line   : 14	
-    <164>   DW_AT_type        : <0x5c>	
-    <168>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><16b>: Abbrev Number: 7 (DW_TAG_member)
-    <16c>   DW_AT_name        : (indirect string, offset: 0x62): st_size	
-    <170>   DW_AT_decl_file   : 2	
-    <171>   DW_AT_decl_line   : 15	
-    <172>   DW_AT_type        : <0x5c>	
-    <176>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><179>: Abbrev Number: 7 (DW_TAG_member)
-    <17a>   DW_AT_name        : (indirect string, offset: 0x7a): st_blksize	
-    <17e>   DW_AT_decl_file   : 2	
-    <17f>   DW_AT_decl_line   : 16	
-    <180>   DW_AT_type        : <0x5c>	
-    <184>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><187>: Abbrev Number: 7 (DW_TAG_member)
-    <188>   DW_AT_name        : (indirect string, offset: 0xc3): st_blocks	
-    <18c>   DW_AT_decl_file   : 2	
-    <18d>   DW_AT_decl_line   : 17	
-    <18e>   DW_AT_type        : <0x5c>	
-    <192>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><195>: Abbrev Number: 7 (DW_TAG_member)
-    <196>   DW_AT_name        : (indirect string, offset: 0x1d9): st_atime	
-    <19a>   DW_AT_decl_file   : 2	
-    <19b>   DW_AT_decl_line   : 18	
-    <19c>   DW_AT_type        : <0x5c>	
-    <1a0>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1a3>: Abbrev Number: 7 (DW_TAG_member)
-    <1a4>   DW_AT_name        : (indirect string, offset: 0x1e2): st_atime_nsec	
-    <1a8>   DW_AT_decl_file   : 2	
-    <1a9>   DW_AT_decl_line   : 19	
-    <1aa>   DW_AT_type        : <0x5c>	
-    <1ae>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1b1>: Abbrev Number: 7 (DW_TAG_member)
-    <1b2>   DW_AT_name        : (indirect string, offset: 0x0): st_mtime	
-    <1b6>   DW_AT_decl_file   : 2	
-    <1b7>   DW_AT_decl_line   : 20	
-    <1b8>   DW_AT_type        : <0x5c>	
-    <1bc>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1bf>: Abbrev Number: 7 (DW_TAG_member)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0x180): st_mtime_nsec	
-    <1c4>   DW_AT_decl_file   : 2	
-    <1c5>   DW_AT_decl_line   : 21	
-    <1c6>   DW_AT_type        : <0x5c>	
-    <1ca>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1cd>: Abbrev Number: 7 (DW_TAG_member)
-    <1ce>   DW_AT_name        : (indirect string, offset: 0x157): st_ctime	
-    <1d2>   DW_AT_decl_file   : 2	
-    <1d3>   DW_AT_decl_line   : 22	
-    <1d4>   DW_AT_type        : <0x5c>	
-    <1d8>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1db>: Abbrev Number: 7 (DW_TAG_member)
-    <1dc>   DW_AT_name        : (indirect string, offset: 0x9): st_ctime_nsec	
-    <1e0>   DW_AT_decl_file   : 2	
-    <1e1>   DW_AT_decl_line   : 23	
-    <1e2>   DW_AT_type        : <0x5c>	
-    <1e6>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><1e9>: Abbrev Number: 7 (DW_TAG_member)
-    <1ea>   DW_AT_name        : (indirect string, offset: 0x1fe): __unused4	
-    <1ee>   DW_AT_decl_file   : 2	
-    <1ef>   DW_AT_decl_line   : 24	
-    <1f0>   DW_AT_type        : <0x5c>	
-    <1f4>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1f7>: Abbrev Number: 7 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0x208): __unused5	
-    <1fc>   DW_AT_decl_file   : 2	
-    <1fd>   DW_AT_decl_line   : 25	
-    <1fe>   DW_AT_type        : <0x5c>	
-    <202>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><205>: Abbrev Number: 0
- <1><206>: Abbrev Number: 11 (DW_TAG_typedef)
-    <207>   DW_AT_name        : (indirect string, offset: 0x3a): struct_stat	
-    <20b>   DW_AT_decl_file   : 3	
-    <20c>   DW_AT_decl_line   : 59	
-    <20d>   DW_AT_type        : <0xfd>	
- <1><211>: Abbrev Number: 12 (DW_TAG_variable)
-    <212>   DW_AT_name        : (indirect string, offset: 0xee): current_wordsize	
-    <216>   DW_AT_decl_file   : 4	
-    <217>   DW_AT_decl_line   : 757	
-    <219>   DW_AT_type        : <0x47>	
-    <21d>   DW_AT_external    : 1	
-    <21e>   DW_AT_declaration : 1	
- <1><21f>: Abbrev Number: 12 (DW_TAG_variable)
-    <220>   DW_AT_name        : (indirect string, offset: 0xe7): sysent	
-    <224>   DW_AT_decl_file   : 4	
-    <225>   DW_AT_decl_line   : 892	
-    <227>   DW_AT_type        : <0xeb>	
-    <22b>   DW_AT_external    : 1	
-    <22c>   DW_AT_declaration : 1	
- <1><22d>: Abbrev Number: 12 (DW_TAG_variable)
-    <22e>   DW_AT_name        : (indirect string, offset: 0x1bf): nsyscalls	
-    <232>   DW_AT_decl_file   : 4	
-    <233>   DW_AT_decl_line   : 903	
-    <235>   DW_AT_type        : <0x47>	
-    <239>   DW_AT_external    : 1	
-    <23a>   DW_AT_declaration : 1	
- <1><23b>: Abbrev Number: 13 (DW_TAG_variable)
-    <23c>   DW_AT_name        : (indirect string, offset: 0x85): mpers_target_var	
-    <240>   DW_AT_decl_file   : 3	
-    <241>   DW_AT_decl_line   : 61	
-    <242>   DW_AT_type        : <0x206>	
-    <246>   DW_AT_external    : 1	
-    <247>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><24d>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_stat.d2 b/mpers-m32/struct_stat.d2
deleted file mode 100644
index 0914b73..0000000
--- a/mpers-m32/struct_stat.d2
+++ /dev/null
@@ -1,308 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x233): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x212): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xb5): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x4f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x160): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x9e): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x22a): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xcd): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d0): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x17b): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe7): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xff): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x105): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23f): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6a): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x16d): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x34): _Bool
-<1><fd>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x17): stat
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_sibling     : <0x206>
-<2><109>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21c): st_dev
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><117>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x73): st_ino
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><125>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xdf): st_mode
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><133>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x46): st_nlink
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 11
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><141>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c9): st_uid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 12
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><14f>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x223): st_gid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 13
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 e 	(DW_OP_plus_uconst: 14)
-<2><15d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x96): st_rdev
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><16b>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x62): st_size
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 15
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><179>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7a): st_blksize
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 16
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><187>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc3): st_blocks
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 17
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><195>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d9): st_atime
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 18
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1a3>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e2): st_atime_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 19
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1b1>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): st_mtime
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1bf>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x180): st_mtime_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 21
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1cd>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x157): st_ctime
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 22
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1db>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): st_ctime_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><1e9>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fe): __unused4
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 24
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1f7>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x208): __unused5
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<1><206>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x3a): struct_stat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 59
-DW_AT_type        : <0xfd>
-<1><211>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xee): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><21f>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe7): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><22d>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1bf): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><23b>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x85): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x206>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_stat64.c b/mpers-m32/struct_stat64.c
index cfececc..0f0480b 100644
--- a/mpers-m32/struct_stat64.c
+++ b/mpers-m32/struct_stat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_stat64.d1 b/mpers-m32/struct_stat64.d1
deleted file mode 100644
index 731b8ca..0000000
--- a/mpers-m32/struct_stat64.d1
+++ /dev/null
@@ -1,288 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x268 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xff): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x20b): mpers-m32/struct_stat64.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x17e): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x23c): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1e5): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1d7): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x9e): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x38): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x150): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x87): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x22c): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb6): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1c0): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x16b): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xd0): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xe8): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xf5): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x248): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x53): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x15d): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x29): _Bool	
- <1><fd>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0xee): stat64	
-    <102>   DW_AT_byte_size   : 96	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 39	
-    <105>   DW_AT_sibling     : <0x214>	
- <2><109>: Abbrev Number: 7 (DW_TAG_member)
-    <10a>   DW_AT_name        : (indirect string, offset: 0x1fd): st_dev	
-    <10e>   DW_AT_decl_file   : 2	
-    <10f>   DW_AT_decl_line   : 40	
-    <110>   DW_AT_type        : <0x4e>	
-    <114>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><117>: Abbrev Number: 7 (DW_TAG_member)
-    <118>   DW_AT_name        : (indirect string, offset: 0x225): __pad0	
-    <11c>   DW_AT_decl_file   : 2	
-    <11d>   DW_AT_decl_line   : 41	
-    <11e>   DW_AT_type        : <0x214>	
-    <122>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><125>: Abbrev Number: 7 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0x17): __st_ino	
-    <12a>   DW_AT_decl_file   : 2	
-    <12b>   DW_AT_decl_line   : 43	
-    <12c>   DW_AT_type        : <0x5c>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><133>: Abbrev Number: 7 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0xc8): st_mode	
-    <138>   DW_AT_decl_file   : 2	
-    <139>   DW_AT_decl_line   : 45	
-    <13a>   DW_AT_type        : <0x47>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><141>: Abbrev Number: 7 (DW_TAG_member)
-    <142>   DW_AT_name        : (indirect string, offset: 0x2f): st_nlink	
-    <146>   DW_AT_decl_file   : 2	
-    <147>   DW_AT_decl_line   : 46	
-    <148>   DW_AT_type        : <0x47>	
-    <14c>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><14f>: Abbrev Number: 7 (DW_TAG_member)
-    <150>   DW_AT_name        : (indirect string, offset: 0x1b9): st_uid	
-    <154>   DW_AT_decl_file   : 2	
-    <155>   DW_AT_decl_line   : 48	
-    <156>   DW_AT_type        : <0x5c>	
-    <15a>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><15d>: Abbrev Number: 7 (DW_TAG_member)
-    <15e>   DW_AT_name        : (indirect string, offset: 0x204): st_gid	
-    <162>   DW_AT_decl_file   : 2	
-    <163>   DW_AT_decl_line   : 49	
-    <164>   DW_AT_type        : <0x5c>	
-    <168>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><16b>: Abbrev Number: 7 (DW_TAG_member)
-    <16c>   DW_AT_name        : (indirect string, offset: 0x7f): st_rdev	
-    <170>   DW_AT_decl_file   : 2	
-    <171>   DW_AT_decl_line   : 51	
-    <172>   DW_AT_type        : <0x4e>	
-    <176>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><179>: Abbrev Number: 7 (DW_TAG_member)
-    <17a>   DW_AT_name        : (indirect string, offset: 0x235): __pad3	
-    <17e>   DW_AT_decl_file   : 2	
-    <17f>   DW_AT_decl_line   : 52	
-    <180>   DW_AT_type        : <0x214>	
-    <184>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><187>: Abbrev Number: 7 (DW_TAG_member)
-    <188>   DW_AT_name        : (indirect string, offset: 0x4b): st_size	
-    <18c>   DW_AT_decl_file   : 2	
-    <18d>   DW_AT_decl_line   : 54	
-    <18e>   DW_AT_type        : <0x32>	
-    <192>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><195>: Abbrev Number: 7 (DW_TAG_member)
-    <196>   DW_AT_name        : (indirect string, offset: 0x63): st_blksize	
-    <19a>   DW_AT_decl_file   : 2	
-    <19b>   DW_AT_decl_line   : 55	
-    <19c>   DW_AT_type        : <0x5c>	
-    <1a0>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><1a3>: Abbrev Number: 7 (DW_TAG_member)
-    <1a4>   DW_AT_name        : (indirect string, offset: 0xac): st_blocks	
-    <1a8>   DW_AT_decl_file   : 2	
-    <1a9>   DW_AT_decl_line   : 58	
-    <1aa>   DW_AT_type        : <0x4e>	
-    <1ae>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1b1>: Abbrev Number: 7 (DW_TAG_member)
-    <1b2>   DW_AT_name        : (indirect string, offset: 0x20): st_atime	
-    <1b6>   DW_AT_decl_file   : 2	
-    <1b7>   DW_AT_decl_line   : 60	
-    <1b8>   DW_AT_type        : <0x5c>	
-    <1bc>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1bf>: Abbrev Number: 7 (DW_TAG_member)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0x1c9): st_atime_nsec	
-    <1c4>   DW_AT_decl_file   : 2	
-    <1c5>   DW_AT_decl_line   : 61	
-    <1c6>   DW_AT_type        : <0x5c>	
-    <1ca>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><1cd>: Abbrev Number: 7 (DW_TAG_member)
-    <1ce>   DW_AT_name        : (indirect string, offset: 0x0): st_mtime	
-    <1d2>   DW_AT_decl_file   : 2	
-    <1d3>   DW_AT_decl_line   : 63	
-    <1d4>   DW_AT_type        : <0x5c>	
-    <1d8>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1db>: Abbrev Number: 7 (DW_TAG_member)
-    <1dc>   DW_AT_name        : (indirect string, offset: 0x170): st_mtime_nsec	
-    <1e0>   DW_AT_decl_file   : 2	
-    <1e1>   DW_AT_decl_line   : 64	
-    <1e2>   DW_AT_type        : <0x47>	
-    <1e6>   DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
- <2><1e9>: Abbrev Number: 7 (DW_TAG_member)
-    <1ea>   DW_AT_name        : (indirect string, offset: 0x147): st_ctime	
-    <1ee>   DW_AT_decl_file   : 2	
-    <1ef>   DW_AT_decl_line   : 66	
-    <1f0>   DW_AT_type        : <0x5c>	
-    <1f4>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><1f7>: Abbrev Number: 7 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0x9): st_ctime_nsec	
-    <1fc>   DW_AT_decl_file   : 2	
-    <1fd>   DW_AT_decl_line   : 67	
-    <1fe>   DW_AT_type        : <0x5c>	
-    <202>   DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
- <2><205>: Abbrev Number: 7 (DW_TAG_member)
-    <206>   DW_AT_name        : (indirect string, offset: 0x5c): st_ino	
-    <20a>   DW_AT_decl_file   : 2	
-    <20b>   DW_AT_decl_line   : 69	
-    <20c>   DW_AT_type        : <0x4e>	
-    <210>   DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
- <2><213>: Abbrev Number: 0
- <1><214>: Abbrev Number: 12 (DW_TAG_array_type)
-    <215>   DW_AT_type        : <0x39>	
-    <219>   DW_AT_sibling     : <0x224>	
- <2><21d>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <21e>   DW_AT_type        : <0x63>	
-    <222>   DW_AT_upper_bound : 3	
- <2><223>: Abbrev Number: 0
- <1><224>: Abbrev Number: 11 (DW_TAG_typedef)
-    <225>   DW_AT_name        : (indirect string, offset: 0x1ef): struct_stat64	
-    <229>   DW_AT_decl_file   : 3	
-    <22a>   DW_AT_decl_line   : 57	
-    <22b>   DW_AT_type        : <0xfd>	
- <1><22f>: Abbrev Number: 14 (DW_TAG_variable)
-    <230>   DW_AT_name        : (indirect string, offset: 0xd7): current_wordsize	
-    <234>   DW_AT_decl_file   : 4	
-    <235>   DW_AT_decl_line   : 757	
-    <237>   DW_AT_type        : <0x47>	
-    <23b>   DW_AT_external    : 1	
-    <23c>   DW_AT_declaration : 1	
- <1><23d>: Abbrev Number: 14 (DW_TAG_variable)
-    <23e>   DW_AT_name        : (indirect string, offset: 0xd0): sysent	
-    <242>   DW_AT_decl_file   : 4	
-    <243>   DW_AT_decl_line   : 892	
-    <245>   DW_AT_type        : <0xeb>	
-    <249>   DW_AT_external    : 1	
-    <24a>   DW_AT_declaration : 1	
- <1><24b>: Abbrev Number: 14 (DW_TAG_variable)
-    <24c>   DW_AT_name        : (indirect string, offset: 0x1af): nsyscalls	
-    <250>   DW_AT_decl_file   : 4	
-    <251>   DW_AT_decl_line   : 903	
-    <253>   DW_AT_type        : <0x47>	
-    <257>   DW_AT_external    : 1	
-    <258>   DW_AT_declaration : 1	
- <1><259>: Abbrev Number: 15 (DW_TAG_variable)
-    <25a>   DW_AT_name        : (indirect string, offset: 0x6e): mpers_target_var	
-    <25e>   DW_AT_decl_file   : 3	
-    <25f>   DW_AT_decl_line   : 59	
-    <260>   DW_AT_type        : <0x224>	
-    <264>   DW_AT_external    : 1	
-    <265>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><26b>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_stat64.d2 b/mpers-m32/struct_stat64.d2
deleted file mode 100644
index 5bef117..0000000
--- a/mpers-m32/struct_stat64.d2
+++ /dev/null
@@ -1,323 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x23c): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e5): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d7): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x9e): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x38): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x150): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x87): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x22c): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb6): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c0): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x16b): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd0): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe8): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf5): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x248): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x53): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x15d): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x29): _Bool
-<1><fd>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xee): stat64
-DW_AT_byte_size   : 96
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 39
-DW_AT_sibling     : <0x214>
-<2><109>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fd): st_dev
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x4e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><117>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x225): __pad0
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x214>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><125>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17): __st_ino
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><133>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc8): st_mode
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><141>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2f): st_nlink
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><14f>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b9): st_uid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><15d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x204): st_gid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><16b>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7f): st_rdev
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x4e>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><179>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x235): __pad3
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x214>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><187>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4b): st_size
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x32>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><195>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x63): st_blksize
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><1a3>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xac): st_blocks
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x4e>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1b1>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20): st_atime
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 60
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><1bf>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c9): st_atime_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<2><1cd>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): st_mtime
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 63
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><1db>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x170): st_mtime_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
-<2><1e9>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x147): st_ctime
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 66
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<2><1f7>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): st_ctime_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 67
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
-<2><205>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5c): st_ino
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 69
-DW_AT_type        : <0x4e>
-DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
-<1><214>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x39>
-DW_AT_sibling     : <0x224>
-<2><21d>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><224>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1ef): struct_stat64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 57
-DW_AT_type        : <0xfd>
-<1><22f>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd7): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><23d>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd0): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><24b>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1af): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><259>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x6e): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x224>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_statfs.d1 b/mpers-m32/struct_statfs.d1
deleted file mode 100644
index 88d9869..0000000
--- a/mpers-m32/struct_statfs.d1
+++ /dev/null
@@ -1,275 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x243 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x106): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1e4): mpers-m32/struct_statfs.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x188): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x207): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1da): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1cc): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x9e): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x2b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x157): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x80): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1fe): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb6): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_array_type)
-    <64>   DW_AT_type        : <0x2b>	
-    <68>   DW_AT_sibling     : <0x73>	
- <2><6c>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <6d>   DW_AT_type        : <0x73>	
-    <71>   DW_AT_upper_bound : 1	
- <2><72>: Abbrev Number: 0
- <1><73>: Abbrev Number: 2 (DW_TAG_base_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_encoding    : 7	(unsigned)
-    <76>   DW_AT_name        : (indirect string, offset: 0x1c3): sizetype	
- <1><7a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7b>   DW_AT_byte_size   : 1	
-    <7c>   DW_AT_encoding    : 6	(signed char)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x172): char	
- <1><81>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <82>   DW_AT_byte_size   : 4	
-    <83>   DW_AT_type        : <0x87>	
- <1><87>: Abbrev Number: 7 (DW_TAG_const_type)
-    <88>   DW_AT_type        : <0x7a>	
- <1><8c>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <8d>   DW_AT_byte_size   : 8	
-    <8e>   DW_AT_decl_file   : 2	
-    <8f>   DW_AT_decl_line   : 78	
-    <90>   DW_AT_sibling     : <0xa3>	
- <2><94>: Abbrev Number: 9 (DW_TAG_member)
-    <95>   DW_AT_name        : val	
-    <99>   DW_AT_decl_file   : 2	
-    <9a>   DW_AT_decl_line   : 79	
-    <9b>   DW_AT_type        : <0x63>	
-    <9f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a2>: Abbrev Number: 0
- <1><a3>: Abbrev Number: 10 (DW_TAG_typedef)
-    <a4>   DW_AT_name        : (indirect string, offset: 0xdf): __kernel_fsid_t	
-    <a8>   DW_AT_decl_file   : 2	
-    <a9>   DW_AT_decl_line   : 80	
-    <aa>   DW_AT_type        : <0x8c>	
- <1><ae>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <af>   DW_AT_name        : (indirect string, offset: 0xd0): sysent	
-    <b3>   DW_AT_byte_size   : 20	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 4	
-    <b6>   DW_AT_sibling     : <0x101>	
- <2><ba>: Abbrev Number: 12 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0x100): nargs	
-    <bf>   DW_AT_decl_file   : 1	
-    <c0>   DW_AT_decl_line   : 5	
-    <c1>   DW_AT_type        : <0x47>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c8>: Abbrev Number: 12 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x76): sys_flags	
-    <cd>   DW_AT_decl_file   : 1	
-    <ce>   DW_AT_decl_line   : 6	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d6>: Abbrev Number: 9 (DW_TAG_member)
-    <d7>   DW_AT_name        : sen	
-    <db>   DW_AT_decl_file   : 1	
-    <dc>   DW_AT_decl_line   : 7	
-    <dd>   DW_AT_type        : <0x2b>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><e4>: Abbrev Number: 12 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0x213): sys_func	
-    <e9>   DW_AT_decl_file   : 1	
-    <ea>   DW_AT_decl_line   : 8	
-    <eb>   DW_AT_type        : <0x10c>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><f2>: Abbrev Number: 12 (DW_TAG_member)
-    <f3>   DW_AT_name        : (indirect string, offset: 0x3e): sys_name	
-    <f7>   DW_AT_decl_file   : 1	
-    <f8>   DW_AT_decl_line   : 9	
-    <f9>   DW_AT_type        : <0x81>	
-    <fd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><100>: Abbrev Number: 0
- <1><101>: Abbrev Number: 13 (DW_TAG_subroutine_type)
-    <102>   DW_AT_type        : <0x2b>	
-    <106>   DW_AT_sibling     : <0x10c>	
- <2><10a>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
- <2><10b>: Abbrev Number: 0
- <1><10c>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x101>	
- <1><112>: Abbrev Number: 10 (DW_TAG_typedef)
-    <113>   DW_AT_name        : (indirect string, offset: 0x164): struct_sysent	
-    <117>   DW_AT_decl_file   : 1	
-    <118>   DW_AT_decl_line   : 10	
-    <119>   DW_AT_type        : <0xae>	
- <1><11d>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <11e>   DW_AT_byte_size   : 4	
-    <11f>   DW_AT_type        : <0x123>	
- <1><123>: Abbrev Number: 7 (DW_TAG_const_type)
-    <124>   DW_AT_type        : <0x112>	
- <1><128>: Abbrev Number: 2 (DW_TAG_base_type)
-    <129>   DW_AT_byte_size   : 1	
-    <12a>   DW_AT_encoding    : 2	(boolean)
-    <12b>   DW_AT_name        : (indirect string, offset: 0xf): _Bool	
- <1><12f>: Abbrev Number: 10 (DW_TAG_typedef)
-    <130>   DW_AT_name        : (indirect string, offset: 0x15): __u32	
-    <134>   DW_AT_decl_file   : 3	
-    <135>   DW_AT_decl_line   : 26	
-    <136>   DW_AT_type        : <0x47>	
- <1><13a>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x97): statfs	
-    <13f>   DW_AT_byte_size   : 64	
-    <140>   DW_AT_decl_file   : 4	
-    <141>   DW_AT_decl_line   : 22	
-    <142>   DW_AT_sibling     : <0x1ef>	
- <2><146>: Abbrev Number: 12 (DW_TAG_member)
-    <147>   DW_AT_name        : (indirect string, offset: 0x0): f_type	
-    <14b>   DW_AT_decl_file   : 4	
-    <14c>   DW_AT_decl_line   : 23	
-    <14d>   DW_AT_type        : <0x12f>	
-    <151>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><154>: Abbrev Number: 12 (DW_TAG_member)
-    <155>   DW_AT_name        : (indirect string, offset: 0x1b): f_bsize	
-    <159>   DW_AT_decl_file   : 4	
-    <15a>   DW_AT_decl_line   : 24	
-    <15b>   DW_AT_type        : <0x12f>	
-    <15f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><162>: Abbrev Number: 12 (DW_TAG_member)
-    <163>   DW_AT_name        : (indirect string, offset: 0x5c): f_blocks	
-    <167>   DW_AT_decl_file   : 4	
-    <168>   DW_AT_decl_line   : 25	
-    <169>   DW_AT_type        : <0x12f>	
-    <16d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><170>: Abbrev Number: 12 (DW_TAG_member)
-    <171>   DW_AT_name        : (indirect string, offset: 0xd7): f_bfree	
-    <175>   DW_AT_decl_file   : 4	
-    <176>   DW_AT_decl_line   : 26	
-    <177>   DW_AT_type        : <0x12f>	
-    <17b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><17e>: Abbrev Number: 12 (DW_TAG_member)
-    <17f>   DW_AT_name        : (indirect string, offset: 0x14e): f_bavail	
-    <183>   DW_AT_decl_file   : 4	
-    <184>   DW_AT_decl_line   : 27	
-    <185>   DW_AT_type        : <0x12f>	
-    <189>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><18c>: Abbrev Number: 12 (DW_TAG_member)
-    <18d>   DW_AT_name        : (indirect string, offset: 0x7): f_files	
-    <191>   DW_AT_decl_file   : 4	
-    <192>   DW_AT_decl_line   : 28	
-    <193>   DW_AT_type        : <0x12f>	
-    <197>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><19a>: Abbrev Number: 12 (DW_TAG_member)
-    <19b>   DW_AT_name        : (indirect string, offset: 0xc8): f_ffree	
-    <19f>   DW_AT_decl_file   : 4	
-    <1a0>   DW_AT_decl_line   : 29	
-    <1a1>   DW_AT_type        : <0x12f>	
-    <1a5>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1a8>: Abbrev Number: 12 (DW_TAG_member)
-    <1a9>   DW_AT_name        : (indirect string, offset: 0x55): f_fsid	
-    <1ad>   DW_AT_decl_file   : 4	
-    <1ae>   DW_AT_decl_line   : 30	
-    <1af>   DW_AT_type        : <0xa3>	
-    <1b3>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1b6>: Abbrev Number: 12 (DW_TAG_member)
-    <1b7>   DW_AT_name        : (indirect string, offset: 0xac): f_namelen	
-    <1bb>   DW_AT_decl_file   : 4	
-    <1bc>   DW_AT_decl_line   : 31	
-    <1bd>   DW_AT_type        : <0x12f>	
-    <1c1>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1c4>: Abbrev Number: 12 (DW_TAG_member)
-    <1c5>   DW_AT_name        : (indirect string, offset: 0x177): f_frsize	
-    <1c9>   DW_AT_decl_file   : 4	
-    <1ca>   DW_AT_decl_line   : 32	
-    <1cb>   DW_AT_type        : <0x12f>	
-    <1cf>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1d2>: Abbrev Number: 12 (DW_TAG_member)
-    <1d3>   DW_AT_name        : (indirect string, offset: 0x23): f_flags	
-    <1d7>   DW_AT_decl_file   : 4	
-    <1d8>   DW_AT_decl_line   : 33	
-    <1d9>   DW_AT_type        : <0x12f>	
-    <1dd>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1e0>: Abbrev Number: 12 (DW_TAG_member)
-    <1e1>   DW_AT_name        : (indirect string, offset: 0x180): f_spare	
-    <1e5>   DW_AT_decl_file   : 4	
-    <1e6>   DW_AT_decl_line   : 34	
-    <1e7>   DW_AT_type        : <0x1ef>	
-    <1eb>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1ee>: Abbrev Number: 0
- <1><1ef>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1f0>   DW_AT_type        : <0x12f>	
-    <1f4>   DW_AT_sibling     : <0x1ff>	
- <2><1f8>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1f9>   DW_AT_type        : <0x73>	
-    <1fd>   DW_AT_upper_bound : 3	
- <2><1fe>: Abbrev Number: 0
- <1><1ff>: Abbrev Number: 10 (DW_TAG_typedef)
-    <200>   DW_AT_name        : (indirect string, offset: 0x47): struct_statfs	
-    <204>   DW_AT_decl_file   : 5	
-    <205>   DW_AT_decl_line   : 33	
-    <206>   DW_AT_type        : <0x13a>	
- <1><20a>: Abbrev Number: 15 (DW_TAG_variable)
-    <20b>   DW_AT_name        : (indirect string, offset: 0xef): current_wordsize	
-    <20f>   DW_AT_decl_file   : 6	
-    <210>   DW_AT_decl_line   : 757	
-    <212>   DW_AT_type        : <0x47>	
-    <216>   DW_AT_external    : 1	
-    <217>   DW_AT_declaration : 1	
- <1><218>: Abbrev Number: 15 (DW_TAG_variable)
-    <219>   DW_AT_name        : (indirect string, offset: 0xd0): sysent	
-    <21d>   DW_AT_decl_file   : 6	
-    <21e>   DW_AT_decl_line   : 892	
-    <220>   DW_AT_type        : <0x11d>	
-    <224>   DW_AT_external    : 1	
-    <225>   DW_AT_declaration : 1	
- <1><226>: Abbrev Number: 15 (DW_TAG_variable)
-    <227>   DW_AT_name        : (indirect string, offset: 0x1b9): nsyscalls	
-    <22b>   DW_AT_decl_file   : 6	
-    <22c>   DW_AT_decl_line   : 903	
-    <22e>   DW_AT_type        : <0x47>	
-    <232>   DW_AT_external    : 1	
-    <233>   DW_AT_declaration : 1	
- <1><234>: Abbrev Number: 16 (DW_TAG_variable)
-    <235>   DW_AT_name        : (indirect string, offset: 0x65): mpers_target_var	
-    <239>   DW_AT_decl_file   : 5	
-    <23a>   DW_AT_decl_line   : 36	
-    <23b>   DW_AT_type        : <0x1ff>	
-    <23f>   DW_AT_external    : 1	
-    <240>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><246>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_statfs.d2 b/mpers-m32/struct_statfs.d2
deleted file mode 100644
index e40cb1b..0000000
--- a/mpers-m32/struct_statfs.d2
+++ /dev/null
@@ -1,307 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x207): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1da): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1cc): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x9e): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x157): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x80): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1fe): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb6): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x73>
-<2><6c>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 1
-<1><73>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c3): sizetype
-<1><7a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x172): char
-<1><81>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x87>
-<1><87>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x7a>
-<1><8c>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 78
-DW_AT_sibling     : <0xa3>
-<2><94>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : val
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 79
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<1><a3>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xdf): __kernel_fsid_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 80
-DW_AT_type        : <0x8c>
-<1><ae>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd0): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x101>
-<2><ba>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x100): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c8>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x76): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><e4>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x213): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x10c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><f2>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3e): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x81>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><101>
-Abbrev Number: 13 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x10c>
-<2><10a>
-Abbrev Number: 14 (DW_TAG_unspecified_parameters)
-<1><10c>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x101>
-<1><112>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x164): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xae>
-<1><11d>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x123>
-<1><123>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x112>
-<1><128>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xf): _Bool
-<1><12f>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x15): __u32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><13a>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x97): statfs
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 22
-DW_AT_sibling     : <0x1ef>
-<2><146>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): f_type
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><154>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b): f_bsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 24
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><162>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5c): f_blocks
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><170>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd7): f_bfree
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><17e>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14e): f_bavail
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><18c>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7): f_files
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><19a>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc8): f_ffree
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1a8>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x55): f_fsid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 30
-DW_AT_type        : <0xa3>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><1b6>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xac): f_namelen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1c4>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x177): f_frsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1d2>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23): f_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1e0>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x180): f_spare
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1ef>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<1><1ef>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x12f>
-DW_AT_sibling     : <0x1ff>
-<2><1f8>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 3
-<1><1ff>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x47): struct_statfs
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x13a>
-<1><20a>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xef): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><218>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd0): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x11d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><226>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b9): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><234>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x65): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x1ff>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_statfs64.d1 b/mpers-m32/struct_statfs64.d1
deleted file mode 100644
index 7c32a68..0000000
--- a/mpers-m32/struct_statfs64.d1
+++ /dev/null
@@ -1,280 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x24e (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x116): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x3e): mpers-m32/struct_statfs64.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x198): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x213): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x200): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1e2): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa5): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x2b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x167): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x8e): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x20a): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xbd): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_array_type)
-    <64>   DW_AT_type        : <0x2b>	
-    <68>   DW_AT_sibling     : <0x73>	
- <2><6c>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <6d>   DW_AT_type        : <0x73>	
-    <71>   DW_AT_upper_bound : 1	
- <2><72>: Abbrev Number: 0
- <1><73>: Abbrev Number: 2 (DW_TAG_base_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_encoding    : 7	(unsigned)
-    <76>   DW_AT_name        : (indirect string, offset: 0x1d9): sizetype	
- <1><7a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7b>   DW_AT_byte_size   : 1	
-    <7c>   DW_AT_encoding    : 6	(signed char)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x182): char	
- <1><81>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <82>   DW_AT_byte_size   : 4	
-    <83>   DW_AT_type        : <0x87>	
- <1><87>: Abbrev Number: 7 (DW_TAG_const_type)
-    <88>   DW_AT_type        : <0x7a>	
- <1><8c>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <8d>   DW_AT_byte_size   : 8	
-    <8e>   DW_AT_decl_file   : 2	
-    <8f>   DW_AT_decl_line   : 78	
-    <90>   DW_AT_sibling     : <0xa3>	
- <2><94>: Abbrev Number: 9 (DW_TAG_member)
-    <95>   DW_AT_name        : val	
-    <99>   DW_AT_decl_file   : 2	
-    <9a>   DW_AT_decl_line   : 79	
-    <9b>   DW_AT_type        : <0x63>	
-    <9f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a2>: Abbrev Number: 0
- <1><a3>: Abbrev Number: 10 (DW_TAG_typedef)
-    <a4>   DW_AT_name        : (indirect string, offset: 0x1f0): __kernel_fsid_t	
-    <a8>   DW_AT_decl_file   : 2	
-    <a9>   DW_AT_decl_line   : 80	
-    <aa>   DW_AT_type        : <0x8c>	
- <1><ae>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <af>   DW_AT_name        : (indirect string, offset: 0xd7): sysent	
-    <b3>   DW_AT_byte_size   : 20	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 4	
-    <b6>   DW_AT_sibling     : <0x101>	
- <2><ba>: Abbrev Number: 12 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0x110): nargs	
-    <bf>   DW_AT_decl_file   : 1	
-    <c0>   DW_AT_decl_line   : 5	
-    <c1>   DW_AT_type        : <0x47>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c8>: Abbrev Number: 12 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x84): sys_flags	
-    <cd>   DW_AT_decl_file   : 1	
-    <ce>   DW_AT_decl_line   : 6	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d6>: Abbrev Number: 9 (DW_TAG_member)
-    <d7>   DW_AT_name        : sen	
-    <db>   DW_AT_decl_file   : 1	
-    <dc>   DW_AT_decl_line   : 7	
-    <dd>   DW_AT_type        : <0x2b>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><e4>: Abbrev Number: 12 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0x21f): sys_func	
-    <e9>   DW_AT_decl_file   : 1	
-    <ea>   DW_AT_decl_line   : 8	
-    <eb>   DW_AT_type        : <0x10c>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><f2>: Abbrev Number: 12 (DW_TAG_member)
-    <f3>   DW_AT_name        : (indirect string, offset: 0x5a): sys_name	
-    <f7>   DW_AT_decl_file   : 1	
-    <f8>   DW_AT_decl_line   : 9	
-    <f9>   DW_AT_type        : <0x81>	
-    <fd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><100>: Abbrev Number: 0
- <1><101>: Abbrev Number: 13 (DW_TAG_subroutine_type)
-    <102>   DW_AT_type        : <0x2b>	
-    <106>   DW_AT_sibling     : <0x10c>	
- <2><10a>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
- <2><10b>: Abbrev Number: 0
- <1><10c>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x101>	
- <1><112>: Abbrev Number: 10 (DW_TAG_typedef)
-    <113>   DW_AT_name        : (indirect string, offset: 0x174): struct_sysent	
-    <117>   DW_AT_decl_file   : 1	
-    <118>   DW_AT_decl_line   : 10	
-    <119>   DW_AT_type        : <0xae>	
- <1><11d>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <11e>   DW_AT_byte_size   : 4	
-    <11f>   DW_AT_type        : <0x123>	
- <1><123>: Abbrev Number: 7 (DW_TAG_const_type)
-    <124>   DW_AT_type        : <0x112>	
- <1><128>: Abbrev Number: 2 (DW_TAG_base_type)
-    <129>   DW_AT_byte_size   : 1	
-    <12a>   DW_AT_encoding    : 2	(boolean)
-    <12b>   DW_AT_name        : (indirect string, offset: 0xf): _Bool	
- <1><12f>: Abbrev Number: 10 (DW_TAG_typedef)
-    <130>   DW_AT_name        : (indirect string, offset: 0x15): __u32	
-    <134>   DW_AT_decl_file   : 3	
-    <135>   DW_AT_decl_line   : 26	
-    <136>   DW_AT_type        : <0x47>	
- <1><13a>: Abbrev Number: 10 (DW_TAG_typedef)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x1d3): __u64	
-    <13f>   DW_AT_decl_file   : 3	
-    <140>   DW_AT_decl_line   : 30	
-    <141>   DW_AT_type        : <0x4e>	
- <1><145>: Abbrev Number: 4 (DW_TAG_array_type)
-    <146>   DW_AT_type        : <0x12f>	
-    <14a>   DW_AT_sibling     : <0x155>	
- <2><14e>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <14f>   DW_AT_type        : <0x73>	
-    <153>   DW_AT_upper_bound : 3	
- <2><154>: Abbrev Number: 0
- <1><155>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <156>   DW_AT_name        : (indirect string, offset: 0xde): statfs64	
-    <15a>   DW_AT_byte_size   : 84	
-    <15b>   DW_AT_decl_file   : 4	
-    <15c>   DW_AT_decl_line   : 45	
-    <15d>   DW_AT_sibling     : <0x20a>	
- <2><161>: Abbrev Number: 12 (DW_TAG_member)
-    <162>   DW_AT_name        : (indirect string, offset: 0x0): f_type	
-    <166>   DW_AT_decl_file   : 4	
-    <167>   DW_AT_decl_line   : 46	
-    <168>   DW_AT_type        : <0x12f>	
-    <16c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><16f>: Abbrev Number: 12 (DW_TAG_member)
-    <170>   DW_AT_name        : (indirect string, offset: 0x1b): f_bsize	
-    <174>   DW_AT_decl_file   : 4	
-    <175>   DW_AT_decl_line   : 47	
-    <176>   DW_AT_type        : <0x12f>	
-    <17a>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><17d>: Abbrev Number: 12 (DW_TAG_member)
-    <17e>   DW_AT_name        : (indirect string, offset: 0x6a): f_blocks	
-    <182>   DW_AT_decl_file   : 4	
-    <183>   DW_AT_decl_line   : 48	
-    <184>   DW_AT_type        : <0x13a>	
-    <188>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><18b>: Abbrev Number: 12 (DW_TAG_member)
-    <18c>   DW_AT_name        : (indirect string, offset: 0xe7): f_bfree	
-    <190>   DW_AT_decl_file   : 4	
-    <191>   DW_AT_decl_line   : 49	
-    <192>   DW_AT_type        : <0x13a>	
-    <196>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><199>: Abbrev Number: 12 (DW_TAG_member)
-    <19a>   DW_AT_name        : (indirect string, offset: 0x15e): f_bavail	
-    <19e>   DW_AT_decl_file   : 4	
-    <19f>   DW_AT_decl_line   : 50	
-    <1a0>   DW_AT_type        : <0x13a>	
-    <1a4>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1a7>: Abbrev Number: 12 (DW_TAG_member)
-    <1a8>   DW_AT_name        : (indirect string, offset: 0x7): f_files	
-    <1ac>   DW_AT_decl_file   : 4	
-    <1ad>   DW_AT_decl_line   : 51	
-    <1ae>   DW_AT_type        : <0x13a>	
-    <1b2>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1b5>: Abbrev Number: 12 (DW_TAG_member)
-    <1b6>   DW_AT_name        : (indirect string, offset: 0xcf): f_ffree	
-    <1ba>   DW_AT_decl_file   : 4	
-    <1bb>   DW_AT_decl_line   : 52	
-    <1bc>   DW_AT_type        : <0x13a>	
-    <1c0>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1c3>: Abbrev Number: 12 (DW_TAG_member)
-    <1c4>   DW_AT_name        : (indirect string, offset: 0x63): f_fsid	
-    <1c8>   DW_AT_decl_file   : 4	
-    <1c9>   DW_AT_decl_line   : 53	
-    <1ca>   DW_AT_type        : <0xa3>	
-    <1ce>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1d1>: Abbrev Number: 12 (DW_TAG_member)
-    <1d2>   DW_AT_name        : (indirect string, offset: 0xb3): f_namelen	
-    <1d6>   DW_AT_decl_file   : 4	
-    <1d7>   DW_AT_decl_line   : 54	
-    <1d8>   DW_AT_type        : <0x12f>	
-    <1dc>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1df>: Abbrev Number: 12 (DW_TAG_member)
-    <1e0>   DW_AT_name        : (indirect string, offset: 0x187): f_frsize	
-    <1e4>   DW_AT_decl_file   : 4	
-    <1e5>   DW_AT_decl_line   : 55	
-    <1e6>   DW_AT_type        : <0x12f>	
-    <1ea>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><1ed>: Abbrev Number: 12 (DW_TAG_member)
-    <1ee>   DW_AT_name        : (indirect string, offset: 0x23): f_flags	
-    <1f2>   DW_AT_decl_file   : 4	
-    <1f3>   DW_AT_decl_line   : 56	
-    <1f4>   DW_AT_type        : <0x12f>	
-    <1f8>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1fb>: Abbrev Number: 12 (DW_TAG_member)
-    <1fc>   DW_AT_name        : (indirect string, offset: 0x190): f_spare	
-    <200>   DW_AT_decl_file   : 4	
-    <201>   DW_AT_decl_line   : 57	
-    <202>   DW_AT_type        : <0x145>	
-    <206>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><209>: Abbrev Number: 0
- <1><20a>: Abbrev Number: 10 (DW_TAG_typedef)
-    <20b>   DW_AT_name        : (indirect string, offset: 0xef): struct_statfs64	
-    <20f>   DW_AT_decl_file   : 5	
-    <210>   DW_AT_decl_line   : 34	
-    <211>   DW_AT_type        : <0x155>	
- <1><215>: Abbrev Number: 15 (DW_TAG_variable)
-    <216>   DW_AT_name        : (indirect string, offset: 0xff): current_wordsize	
-    <21a>   DW_AT_decl_file   : 6	
-    <21b>   DW_AT_decl_line   : 757	
-    <21d>   DW_AT_type        : <0x47>	
-    <221>   DW_AT_external    : 1	
-    <222>   DW_AT_declaration : 1	
- <1><223>: Abbrev Number: 15 (DW_TAG_variable)
-    <224>   DW_AT_name        : (indirect string, offset: 0xd7): sysent	
-    <228>   DW_AT_decl_file   : 6	
-    <229>   DW_AT_decl_line   : 892	
-    <22b>   DW_AT_type        : <0x11d>	
-    <22f>   DW_AT_external    : 1	
-    <230>   DW_AT_declaration : 1	
- <1><231>: Abbrev Number: 15 (DW_TAG_variable)
-    <232>   DW_AT_name        : (indirect string, offset: 0x1c9): nsyscalls	
-    <236>   DW_AT_decl_file   : 6	
-    <237>   DW_AT_decl_line   : 903	
-    <239>   DW_AT_type        : <0x47>	
-    <23d>   DW_AT_external    : 1	
-    <23e>   DW_AT_declaration : 1	
- <1><23f>: Abbrev Number: 16 (DW_TAG_variable)
-    <240>   DW_AT_name        : (indirect string, offset: 0x73): mpers_target_var	
-    <244>   DW_AT_decl_file   : 5	
-    <245>   DW_AT_decl_line   : 36	
-    <246>   DW_AT_type        : <0x20a>	
-    <24a>   DW_AT_external    : 1	
-    <24b>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><251>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_statfs64.d2 b/mpers-m32/struct_statfs64.d2
deleted file mode 100644
index a477d15..0000000
--- a/mpers-m32/struct_statfs64.d2
+++ /dev/null
@@ -1,313 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x213): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x200): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e2): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa5): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x167): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8e): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x20a): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbd): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x73>
-<2><6c>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 1
-<1><73>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d9): sizetype
-<1><7a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x182): char
-<1><81>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x87>
-<1><87>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x7a>
-<1><8c>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 78
-DW_AT_sibling     : <0xa3>
-<2><94>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : val
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 79
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<1><a3>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1f0): __kernel_fsid_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 80
-DW_AT_type        : <0x8c>
-<1><ae>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd7): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x101>
-<2><ba>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x110): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c8>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x84): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><e4>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21f): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x10c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><f2>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5a): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x81>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><101>
-Abbrev Number: 13 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x10c>
-<2><10a>
-Abbrev Number: 14 (DW_TAG_unspecified_parameters)
-<1><10c>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x101>
-<1><112>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x174): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xae>
-<1><11d>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x123>
-<1><123>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x112>
-<1><128>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xf): _Bool
-<1><12f>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x15): __u32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><13a>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d3): __u64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><145>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x12f>
-DW_AT_sibling     : <0x155>
-<2><14e>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 3
-<1><155>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xde): statfs64
-DW_AT_byte_size   : 84
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 45
-DW_AT_sibling     : <0x20a>
-<2><161>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): f_type
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><16f>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b): f_bsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><17d>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6a): f_blocks
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x13a>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><18b>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe7): f_bfree
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x13a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><199>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15e): f_bavail
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x13a>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1a7>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7): f_files
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x13a>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1b5>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcf): f_ffree
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x13a>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1c3>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x63): f_fsid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 53
-DW_AT_type        : <0xa3>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1d1>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb3): f_namelen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1df>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x187): f_frsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><1ed>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23): f_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><1fb>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x190): f_spare
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x145>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<1><20a>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xef): struct_statfs64
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x155>
-<1><215>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xff): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><223>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd7): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x11d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><231>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1c9): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><23f>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x73): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x20a>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_timex.c b/mpers-m32/struct_timex.c
index d66cba4..bf8298f 100644
--- a/mpers-m32/struct_timex.c
+++ b/mpers-m32/struct_timex.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/struct_timex.d1 b/mpers-m32/struct_timex.d1
deleted file mode 100644
index d3df456..0000000
--- a/mpers-m32/struct_timex.d1
+++ /dev/null
@@ -1,321 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2b0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x10e): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x0): mpers-m32/struct_timex.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1a2): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x23e): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x21e): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1f5): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xc3): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x50): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x16a): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x9e): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x22f): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xd1): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1e5): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0xfa): __time_t	
-    <6f>   DW_AT_decl_file   : 1	
-    <70>   DW_AT_decl_line   : 139	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x18c): __suseconds_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 141	
-    <7c>   DW_AT_type        : <0x55>	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0x253): __syscall_slong_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 175	
-    <87>   DW_AT_type        : <0x55>	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x187): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0x162): timeval	
-    <97>   DW_AT_byte_size   : 8	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 30	
-    <9a>   DW_AT_sibling     : <0xbb>	
- <2><9e>: Abbrev Number: 6 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x1ee): tv_sec	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 32	
-    <a5>   DW_AT_type        : <0x6a>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 6 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x19a): tv_usec	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 33	
-    <b3>   DW_AT_type        : <0x75>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 0
- <1><bb>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <bc>   DW_AT_byte_size   : 4	
-    <bd>   DW_AT_type        : <0xc1>	
- <1><c1>: Abbrev Number: 8 (DW_TAG_const_type)
-    <c2>   DW_AT_type        : <0x8b>	
- <1><c6>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <c7>   DW_AT_name        : (indirect string, offset: 0xe3): timex	
-    <cb>   DW_AT_byte_size   : 128	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 25	
-    <ce>   DW_AT_sibling     : <0x1eb>	
- <2><d2>: Abbrev Number: 6 (DW_TAG_member)
-    <d3>   DW_AT_name        : (indirect string, offset: 0x238): modes	
-    <d7>   DW_AT_decl_file   : 3	
-    <d8>   DW_AT_decl_line   : 27	
-    <d9>   DW_AT_type        : <0x47>	
-    <dd>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><e0>: Abbrev Number: 6 (DW_TAG_member)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x217): offset	
-    <e5>   DW_AT_decl_file   : 3	
-    <e6>   DW_AT_decl_line   : 28	
-    <e7>   DW_AT_type        : <0x80>	
-    <eb>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ee>: Abbrev Number: 6 (DW_TAG_member)
-    <ef>   DW_AT_name        : (indirect string, offset: 0x156): freq	
-    <f3>   DW_AT_decl_file   : 3	
-    <f4>   DW_AT_decl_line   : 29	
-    <f5>   DW_AT_type        : <0x80>	
-    <f9>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><fc>: Abbrev Number: 6 (DW_TAG_member)
-    <fd>   DW_AT_name        : (indirect string, offset: 0x7a): maxerror	
-    <101>   DW_AT_decl_file   : 3	
-    <102>   DW_AT_decl_line   : 30	
-    <103>   DW_AT_type        : <0x80>	
-    <107>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><10a>: Abbrev Number: 6 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x2c): esterror	
-    <10f>   DW_AT_decl_file   : 3	
-    <110>   DW_AT_decl_line   : 31	
-    <111>   DW_AT_type        : <0x80>	
-    <115>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><118>: Abbrev Number: 6 (DW_TAG_member)
-    <119>   DW_AT_name        : (indirect string, offset: 0x6a): status	
-    <11d>   DW_AT_decl_file   : 3	
-    <11e>   DW_AT_decl_line   : 32	
-    <11f>   DW_AT_type        : <0x2b>	
-    <123>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><126>: Abbrev Number: 6 (DW_TAG_member)
-    <127>   DW_AT_name        : (indirect string, offset: 0x177): constant	
-    <12b>   DW_AT_decl_file   : 3	
-    <12c>   DW_AT_decl_line   : 33	
-    <12d>   DW_AT_type        : <0x80>	
-    <131>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><134>: Abbrev Number: 6 (DW_TAG_member)
-    <135>   DW_AT_name        : (indirect string, offset: 0x203): precision	
-    <139>   DW_AT_decl_file   : 3	
-    <13a>   DW_AT_decl_line   : 34	
-    <13b>   DW_AT_type        : <0x80>	
-    <13f>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><142>: Abbrev Number: 6 (DW_TAG_member)
-    <143>   DW_AT_name        : (indirect string, offset: 0x20d): tolerance	
-    <147>   DW_AT_decl_file   : 3	
-    <148>   DW_AT_decl_line   : 35	
-    <149>   DW_AT_type        : <0x80>	
-    <14d>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><150>: Abbrev Number: 6 (DW_TAG_member)
-    <151>   DW_AT_name        : (indirect string, offset: 0x265): time	
-    <155>   DW_AT_decl_file   : 3	
-    <156>   DW_AT_decl_line   : 36	
-    <157>   DW_AT_type        : <0x92>	
-    <15b>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><15e>: Abbrev Number: 6 (DW_TAG_member)
-    <15f>   DW_AT_name        : (indirect string, offset: 0x103): tick	
-    <163>   DW_AT_decl_file   : 3	
-    <164>   DW_AT_decl_line   : 37	
-    <165>   DW_AT_type        : <0x80>	
-    <169>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><16c>: Abbrev Number: 6 (DW_TAG_member)
-    <16d>   DW_AT_name        : (indirect string, offset: 0x1dd): ppsfreq	
-    <171>   DW_AT_decl_file   : 3	
-    <172>   DW_AT_decl_line   : 38	
-    <173>   DW_AT_type        : <0x80>	
-    <177>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><17a>: Abbrev Number: 6 (DW_TAG_member)
-    <17b>   DW_AT_name        : (indirect string, offset: 0xbc): jitter	
-    <17f>   DW_AT_decl_file   : 3	
-    <180>   DW_AT_decl_line   : 39	
-    <181>   DW_AT_type        : <0x80>	
-    <185>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><188>: Abbrev Number: 6 (DW_TAG_member)
-    <189>   DW_AT_name        : (indirect string, offset: 0x26): shift	
-    <18d>   DW_AT_decl_file   : 3	
-    <18e>   DW_AT_decl_line   : 40	
-    <18f>   DW_AT_type        : <0x2b>	
-    <193>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><196>: Abbrev Number: 6 (DW_TAG_member)
-    <197>   DW_AT_name        : (indirect string, offset: 0x180): stabil	
-    <19b>   DW_AT_decl_file   : 3	
-    <19c>   DW_AT_decl_line   : 41	
-    <19d>   DW_AT_type        : <0x80>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><1a4>: Abbrev Number: 6 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x63): jitcnt	
-    <1a9>   DW_AT_decl_file   : 3	
-    <1aa>   DW_AT_decl_line   : 42	
-    <1ab>   DW_AT_type        : <0x80>	
-    <1af>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1b2>: Abbrev Number: 6 (DW_TAG_member)
-    <1b3>   DW_AT_name        : (indirect string, offset: 0xb5): calcnt	
-    <1b7>   DW_AT_decl_file   : 3	
-    <1b8>   DW_AT_decl_line   : 43	
-    <1b9>   DW_AT_type        : <0x80>	
-    <1bd>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><1c0>: Abbrev Number: 6 (DW_TAG_member)
-    <1c1>   DW_AT_name        : (indirect string, offset: 0x3b): errcnt	
-    <1c5>   DW_AT_decl_file   : 3	
-    <1c6>   DW_AT_decl_line   : 44	
-    <1c7>   DW_AT_type        : <0x80>	
-    <1cb>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1ce>: Abbrev Number: 6 (DW_TAG_member)
-    <1cf>   DW_AT_name        : (indirect string, offset: 0x228): stbcnt	
-    <1d3>   DW_AT_decl_file   : 3	
-    <1d4>   DW_AT_decl_line   : 45	
-    <1d5>   DW_AT_type        : <0x80>	
-    <1d9>   DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
- <2><1dc>: Abbrev Number: 9 (DW_TAG_member)
-    <1dd>   DW_AT_name        : tai	
-    <1e1>   DW_AT_decl_file   : 3	
-    <1e2>   DW_AT_decl_line   : 47	
-    <1e3>   DW_AT_type        : <0x2b>	
-    <1e7>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><1ea>: Abbrev Number: 0
- <1><1eb>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <1ec>   DW_AT_name        : (indirect string, offset: 0x15b): sysent	
-    <1f0>   DW_AT_byte_size   : 20	
-    <1f1>   DW_AT_decl_file   : 4	
-    <1f2>   DW_AT_decl_line   : 4	
-    <1f3>   DW_AT_sibling     : <0x23e>	
- <2><1f7>: Abbrev Number: 6 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0x108): nargs	
-    <1fc>   DW_AT_decl_file   : 4	
-    <1fd>   DW_AT_decl_line   : 5	
-    <1fe>   DW_AT_type        : <0x47>	
-    <202>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><205>: Abbrev Number: 6 (DW_TAG_member)
-    <206>   DW_AT_name        : (indirect string, offset: 0x94): sys_flags	
-    <20a>   DW_AT_decl_file   : 4	
-    <20b>   DW_AT_decl_line   : 6	
-    <20c>   DW_AT_type        : <0x2b>	
-    <210>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><213>: Abbrev Number: 9 (DW_TAG_member)
-    <214>   DW_AT_name        : sen	
-    <218>   DW_AT_decl_file   : 4	
-    <219>   DW_AT_decl_line   : 7	
-    <21a>   DW_AT_type        : <0x2b>	
-    <21e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><221>: Abbrev Number: 6 (DW_TAG_member)
-    <222>   DW_AT_name        : (indirect string, offset: 0x24a): sys_func	
-    <226>   DW_AT_decl_file   : 4	
-    <227>   DW_AT_decl_line   : 8	
-    <228>   DW_AT_type        : <0x249>	
-    <22c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><22f>: Abbrev Number: 6 (DW_TAG_member)
-    <230>   DW_AT_name        : (indirect string, offset: 0x71): sys_name	
-    <234>   DW_AT_decl_file   : 4	
-    <235>   DW_AT_decl_line   : 9	
-    <236>   DW_AT_type        : <0xbb>	
-    <23a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><23d>: Abbrev Number: 0
- <1><23e>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <23f>   DW_AT_type        : <0x2b>	
-    <243>   DW_AT_sibling     : <0x249>	
- <2><247>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><248>: Abbrev Number: 0
- <1><249>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <24a>   DW_AT_byte_size   : 4	
-    <24b>   DW_AT_type        : <0x23e>	
- <1><24f>: Abbrev Number: 4 (DW_TAG_typedef)
-    <250>   DW_AT_name        : (indirect string, offset: 0x42): struct_sysent	
-    <254>   DW_AT_decl_file   : 4	
-    <255>   DW_AT_decl_line   : 10	
-    <256>   DW_AT_type        : <0x1eb>	
- <1><25a>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <25b>   DW_AT_byte_size   : 4	
-    <25c>   DW_AT_type        : <0x260>	
- <1><260>: Abbrev Number: 8 (DW_TAG_const_type)
-    <261>   DW_AT_type        : <0x24f>	
- <1><265>: Abbrev Number: 2 (DW_TAG_base_type)
-    <266>   DW_AT_byte_size   : 1	
-    <267>   DW_AT_encoding    : 2	(boolean)
-    <268>   DW_AT_name        : (indirect string, offset: 0x35): _Bool	
- <1><26c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <26d>   DW_AT_name        : (indirect string, offset: 0x19): struct_timex	
-    <271>   DW_AT_decl_file   : 5	
-    <272>   DW_AT_decl_line   : 35	
-    <273>   DW_AT_type        : <0xc6>	
- <1><277>: Abbrev Number: 12 (DW_TAG_variable)
-    <278>   DW_AT_name        : (indirect string, offset: 0xe9): current_wordsize	
-    <27c>   DW_AT_decl_file   : 6	
-    <27d>   DW_AT_decl_line   : 757	
-    <27f>   DW_AT_type        : <0x47>	
-    <283>   DW_AT_external    : 1	
-    <284>   DW_AT_declaration : 1	
- <1><285>: Abbrev Number: 12 (DW_TAG_variable)
-    <286>   DW_AT_name        : (indirect string, offset: 0x15b): sysent	
-    <28a>   DW_AT_decl_file   : 6	
-    <28b>   DW_AT_decl_line   : 892	
-    <28d>   DW_AT_type        : <0x25a>	
-    <291>   DW_AT_external    : 1	
-    <292>   DW_AT_declaration : 1	
- <1><293>: Abbrev Number: 12 (DW_TAG_variable)
-    <294>   DW_AT_name        : (indirect string, offset: 0x1d3): nsyscalls	
-    <298>   DW_AT_decl_file   : 6	
-    <299>   DW_AT_decl_line   : 903	
-    <29b>   DW_AT_type        : <0x47>	
-    <29f>   DW_AT_external    : 1	
-    <2a0>   DW_AT_declaration : 1	
- <1><2a1>: Abbrev Number: 13 (DW_TAG_variable)
-    <2a2>   DW_AT_name        : (indirect string, offset: 0x83): mpers_target_var	
-    <2a6>   DW_AT_decl_file   : 5	
-    <2a7>   DW_AT_decl_line   : 37	
-    <2a8>   DW_AT_type        : <0x26c>	
-    <2ac>   DW_AT_external    : 1	
-    <2ad>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><2b3>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_timex.d2 b/mpers-m32/struct_timex.d2
deleted file mode 100644
index cad7010..0000000
--- a/mpers-m32/struct_timex.d2
+++ /dev/null
@@ -1,361 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x23e): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x21e): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f5): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xc3): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x50): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x16a): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x9e): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x22f): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd1): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1e5): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xfa): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x18c): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x55>
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x253): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x55>
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x187): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x162): timeval
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xbb>
-<2><9e>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ee): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19a): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><bb>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xc1>
-<1><c1>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><c6>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe3): timex
-DW_AT_byte_size   : 128
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 25
-DW_AT_sibling     : <0x1eb>
-<2><d2>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x238): modes
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><e0>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x217): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ee>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x156): freq
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><fc>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7a): maxerror
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><10a>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c): esterror
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><118>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6a): status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><126>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x177): constant
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><134>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x203): precision
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><142>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20d): tolerance
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><150>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x265): time
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><15e>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x103): tick
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><16c>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1dd): ppsfreq
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><17a>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbc): jitter
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><188>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26): shift
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><196>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x180): stabil
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><1a4>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x63): jitcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><1b2>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb5): calcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<2><1c0>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3b): errcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><1ce>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x228): stbcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
-<2><1dc>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : tai
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<1><1eb>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x15b): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x23e>
-<2><1f7>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x108): nargs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><205>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x94): sys_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><213>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><221>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x24a): sys_func
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x249>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><22f>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x71): sys_name
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xbb>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><23e>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x249>
-<2><247>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><249>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x23e>
-<1><24f>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x42): struct_sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x1eb>
-<1><25a>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x260>
-<1><260>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x24f>
-<1><265>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x35): _Bool
-<1><26c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x19): struct_timex
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xc6>
-<1><277>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe9): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><285>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x15b): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x25a>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><293>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1d3): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2a1>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x83): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x26c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_ustat.d1 b/mpers-m32/struct_ustat.d1
deleted file mode 100644
index 5d6ae48..0000000
--- a/mpers-m32/struct_ustat.d1
+++ /dev/null
@@ -1,208 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1ac (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xa4): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x173): mpers-m32/struct_ustat.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x121): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1a7): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x194): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x165): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x54): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x14): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0xec): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x1bc): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x19e): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x6c): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x6): __ino_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 127	
-    <6a>   DW_AT_type        : <0x5c>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x15c): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x62): __daddr_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 143	
-    <7c>   DW_AT_type        : <0x2b>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x10f): char	
- <1><87>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <88>   DW_AT_byte_size   : 4	
-    <89>   DW_AT_type        : <0x8d>	
- <1><8d>: Abbrev Number: 6 (DW_TAG_const_type)
-    <8e>   DW_AT_type        : <0x80>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0x7e): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x9e): nargs	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x41): sys_flags	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 2	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x1b3): sys_func	
-    <cd>   DW_AT_decl_file   : 2	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x27): sys_name	
-    <db>   DW_AT_decl_file   : 2	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x87>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0xf9): struct_sysent	
-    <fb>   DW_AT_decl_file   : 2	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 6 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0xe): _Bool	
- <1><113>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x0): ustat	
-    <118>   DW_AT_byte_size   : 20	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 24	
-    <11b>   DW_AT_sibling     : <0x158>	
- <2><11f>: Abbrev Number: 8 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0x18c): f_tfree	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 26	
-    <126>   DW_AT_type        : <0x75>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 8 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x4b): f_tinode	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 27	
-    <134>   DW_AT_type        : <0x63>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><13b>: Abbrev Number: 8 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x85): f_fname	
-    <140>   DW_AT_decl_file   : 3	
-    <141>   DW_AT_decl_line   : 28	
-    <142>   DW_AT_type        : <0x158>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><149>: Abbrev Number: 8 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x107): f_fpack	
-    <14e>   DW_AT_decl_file   : 3	
-    <14f>   DW_AT_decl_line   : 29	
-    <150>   DW_AT_type        : <0x158>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 e 	(DW_OP_plus_uconst: 14)
- <2><157>: Abbrev Number: 0
- <1><158>: Abbrev Number: 12 (DW_TAG_array_type)
-    <159>   DW_AT_type        : <0x80>	
-    <15d>   DW_AT_sibling     : <0x168>	
- <2><161>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <162>   DW_AT_type        : <0x6e>	
-    <166>   DW_AT_upper_bound : 5	
- <2><167>: Abbrev Number: 0
- <1><168>: Abbrev Number: 4 (DW_TAG_typedef)
-    <169>   DW_AT_name        : (indirect string, offset: 0x114): struct_ustat	
-    <16d>   DW_AT_decl_file   : 4	
-    <16e>   DW_AT_decl_line   : 31	
-    <16f>   DW_AT_type        : <0x113>	
- <1><173>: Abbrev Number: 14 (DW_TAG_variable)
-    <174>   DW_AT_name        : (indirect string, offset: 0x8d): current_wordsize	
-    <178>   DW_AT_decl_file   : 5	
-    <179>   DW_AT_decl_line   : 757	
-    <17b>   DW_AT_type        : <0x47>	
-    <17f>   DW_AT_external    : 1	
-    <180>   DW_AT_declaration : 1	
- <1><181>: Abbrev Number: 14 (DW_TAG_variable)
-    <182>   DW_AT_name        : (indirect string, offset: 0x7e): sysent	
-    <186>   DW_AT_decl_file   : 5	
-    <187>   DW_AT_decl_line   : 892	
-    <189>   DW_AT_type        : <0x101>	
-    <18d>   DW_AT_external    : 1	
-    <18e>   DW_AT_declaration : 1	
- <1><18f>: Abbrev Number: 14 (DW_TAG_variable)
-    <190>   DW_AT_name        : (indirect string, offset: 0x152): nsyscalls	
-    <194>   DW_AT_decl_file   : 5	
-    <195>   DW_AT_decl_line   : 903	
-    <197>   DW_AT_type        : <0x47>	
-    <19b>   DW_AT_external    : 1	
-    <19c>   DW_AT_declaration : 1	
- <1><19d>: Abbrev Number: 15 (DW_TAG_variable)
-    <19e>   DW_AT_name        : (indirect string, offset: 0x30): mpers_target_var	
-    <1a2>   DW_AT_decl_file   : 4	
-    <1a3>   DW_AT_decl_line   : 34	
-    <1a4>   DW_AT_type        : <0x168>	
-    <1a8>   DW_AT_external    : 1	
-    <1a9>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><1af>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_ustat.d2 b/mpers-m32/struct_ustat.d2
deleted file mode 100644
index ca88767..0000000
--- a/mpers-m32/struct_ustat.d2
+++ /dev/null
@@ -1,230 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a7): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x194): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x165): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x54): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xec): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1bc): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19e): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6c): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6): __ino_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 127
-DW_AT_type        : <0x5c>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x15c): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x62): __daddr_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 143
-DW_AT_type        : <0x2b>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x10f): char
-<1><87>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x8d>
-<1><8d>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x7e): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9e): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x41): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b3): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x27): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf9): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xe): _Bool
-<1><113>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): ustat
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 24
-DW_AT_sibling     : <0x158>
-<2><11f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18c): f_tfree
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4b): f_tinode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><13b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x85): f_fname
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x158>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><149>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x107): f_fpack
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x158>
-DW_AT_data_member_location: 2 byte block: 23 e 	(DW_OP_plus_uconst: 14)
-<1><158>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x80>
-DW_AT_sibling     : <0x168>
-<2><161>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x6e>
-DW_AT_upper_bound : 5
-<1><168>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x114): struct_ustat
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x113>
-<1><173>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x8d): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><181>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x7e): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18f>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x152): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><19d>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x30): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x168>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_v4l2_buffer.c b/mpers-m32/struct_v4l2_buffer.c
index d2d5cf1..dd68e07 100644
--- a/mpers-m32/struct_v4l2_buffer.c
+++ b/mpers-m32/struct_v4l2_buffer.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_buffer.d1 b/mpers-m32/struct_v4l2_buffer.d1
deleted file mode 100644
index 68f6441..0000000
--- a/mpers-m32/struct_v4l2_buffer.d1
+++ /dev/null
@@ -1,455 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x3ea (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x1b): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x92): mpers-m32/struct_v4l2_buffer.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x2e3): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x197): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x7f): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x104): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x170): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x20d): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1bf): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x112): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x129): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x25c): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x89): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0x26e): __time_t	
-    <6f>   DW_AT_decl_file   : 1	
-    <70>   DW_AT_decl_line   : 139	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x2cc): __suseconds_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 141	
-    <7c>   DW_AT_type        : <0x55>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x22e): char	
- <1><87>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <88>   DW_AT_name        : (indirect string, offset: 0x277): timeval	
-    <8c>   DW_AT_byte_size   : 8	
-    <8d>   DW_AT_decl_file   : 2	
-    <8e>   DW_AT_decl_line   : 30	
-    <8f>   DW_AT_sibling     : <0xb0>	
- <2><93>: Abbrev Number: 6 (DW_TAG_member)
-    <94>   DW_AT_name        : (indirect string, offset: 0x169): tv_sec	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 32	
-    <9a>   DW_AT_type        : <0x6a>	
-    <9e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a1>: Abbrev Number: 6 (DW_TAG_member)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x29e): tv_usec	
-    <a6>   DW_AT_decl_file   : 2	
-    <a7>   DW_AT_decl_line   : 33	
-    <a8>   DW_AT_type        : <0x75>	
-    <ac>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><af>: Abbrev Number: 0
- <1><b0>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <b1>   DW_AT_byte_size   : 4	
-    <b2>   DW_AT_type        : <0xb6>	
- <1><b6>: Abbrev Number: 8 (DW_TAG_const_type)
-    <b7>   DW_AT_type        : <0x80>	
- <1><bb>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <bc>   DW_AT_name        : (indirect string, offset: 0x2bf): sysent	
-    <c0>   DW_AT_byte_size   : 20	
-    <c1>   DW_AT_decl_file   : 3	
-    <c2>   DW_AT_decl_line   : 4	
-    <c3>   DW_AT_sibling     : <0x10e>	
- <2><c7>: Abbrev Number: 6 (DW_TAG_member)
-    <c8>   DW_AT_name        : (indirect string, offset: 0x191): nargs	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 5	
-    <ce>   DW_AT_type        : <0x47>	
-    <d2>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><d5>: Abbrev Number: 6 (DW_TAG_member)
-    <d6>   DW_AT_name        : (indirect string, offset: 0xe0): sys_flags	
-    <da>   DW_AT_decl_file   : 3	
-    <db>   DW_AT_decl_line   : 6	
-    <dc>   DW_AT_type        : <0x2b>	
-    <e0>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><e3>: Abbrev Number: 9 (DW_TAG_member)
-    <e4>   DW_AT_name        : sen	
-    <e8>   DW_AT_decl_file   : 3	
-    <e9>   DW_AT_decl_line   : 7	
-    <ea>   DW_AT_type        : <0x2b>	
-    <ee>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><f1>: Abbrev Number: 6 (DW_TAG_member)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x76): sys_func	
-    <f6>   DW_AT_decl_file   : 3	
-    <f7>   DW_AT_decl_line   : 8	
-    <f8>   DW_AT_type        : <0x119>	
-    <fc>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><ff>: Abbrev Number: 6 (DW_TAG_member)
-    <100>   DW_AT_name        : (indirect string, offset: 0xd7): sys_name	
-    <104>   DW_AT_decl_file   : 3	
-    <105>   DW_AT_decl_line   : 9	
-    <106>   DW_AT_type        : <0xb0>	
-    <10a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><10d>: Abbrev Number: 0
- <1><10e>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <10f>   DW_AT_type        : <0x2b>	
-    <113>   DW_AT_sibling     : <0x119>	
- <2><117>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><118>: Abbrev Number: 0
- <1><119>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <11a>   DW_AT_byte_size   : 4	
-    <11b>   DW_AT_type        : <0x10e>	
- <1><11f>: Abbrev Number: 4 (DW_TAG_typedef)
-    <120>   DW_AT_name        : (indirect string, offset: 0x290): struct_sysent	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 10	
-    <126>   DW_AT_type        : <0xbb>	
- <1><12a>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <12b>   DW_AT_byte_size   : 4	
-    <12c>   DW_AT_type        : <0x130>	
- <1><130>: Abbrev Number: 8 (DW_TAG_const_type)
-    <131>   DW_AT_type        : <0x11f>	
- <1><135>: Abbrev Number: 2 (DW_TAG_base_type)
-    <136>   DW_AT_byte_size   : 1	
-    <137>   DW_AT_encoding    : 2	(boolean)
-    <138>   DW_AT_name        : (indirect string, offset: 0x23d): _Bool	
- <1><13c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <13d>   DW_AT_name        : (indirect string, offset: 0x257): __u8	
-    <141>   DW_AT_decl_file   : 4	
-    <142>   DW_AT_decl_line   : 20	
-    <143>   DW_AT_type        : <0x39>	
- <1><147>: Abbrev Number: 4 (DW_TAG_typedef)
-    <148>   DW_AT_name        : (indirect string, offset: 0x27f): __s32	
-    <14c>   DW_AT_decl_file   : 4	
-    <14d>   DW_AT_decl_line   : 25	
-    <14e>   DW_AT_type        : <0x2b>	
- <1><152>: Abbrev Number: 4 (DW_TAG_typedef)
-    <153>   DW_AT_name        : (indirect string, offset: 0xf0): __u32	
-    <157>   DW_AT_decl_file   : 4	
-    <158>   DW_AT_decl_line   : 26	
-    <159>   DW_AT_type        : <0x47>	
- <1><15d>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <15e>   DW_AT_name        : (indirect string, offset: 0x2ae): v4l2_preemphasis	
-    <162>   DW_AT_byte_size   : 4	
-    <163>   DW_AT_decl_file   : 8	
-    <164>   DW_AT_decl_line   : 763	
-    <166>   DW_AT_sibling     : <0x17d>	
- <2><16a>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <16b>   DW_AT_name        : (indirect string, offset: 0xbd): V4L2_PREEMPHASIS_DISABLED	
-    <16f>   DW_AT_const_value : 0	
- <2><170>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <171>   DW_AT_name        : (indirect string, offset: 0x1e3): V4L2_PREEMPHASIS_50_uS	
-    <175>   DW_AT_const_value : 1	
- <2><176>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <177>   DW_AT_name        : (indirect string, offset: 0x1cc): V4L2_PREEMPHASIS_75_uS	
-    <17b>   DW_AT_const_value : 2	
- <2><17c>: Abbrev Number: 0
- <1><17d>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <17e>   DW_AT_name        : (indirect string, offset: 0x143): v4l2_timecode	
-    <182>   DW_AT_byte_size   : 16	
-    <183>   DW_AT_decl_file   : 5	
-    <184>   DW_AT_decl_line   : 519	
-    <186>   DW_AT_sibling     : <0x1f4>	
- <2><18a>: Abbrev Number: 15 (DW_TAG_member)
-    <18b>   DW_AT_name        : (indirect string, offset: 0x1b2): type	
-    <18f>   DW_AT_decl_file   : 5	
-    <190>   DW_AT_decl_line   : 520	
-    <192>   DW_AT_type        : <0x152>	
-    <196>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><199>: Abbrev Number: 15 (DW_TAG_member)
-    <19a>   DW_AT_name        : (indirect string, offset: 0x1a3): flags	
-    <19e>   DW_AT_decl_file   : 5	
-    <19f>   DW_AT_decl_line   : 521	
-    <1a1>   DW_AT_type        : <0x152>	
-    <1a5>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1a8>: Abbrev Number: 15 (DW_TAG_member)
-    <1a9>   DW_AT_name        : (indirect string, offset: 0x63): frames	
-    <1ad>   DW_AT_decl_file   : 5	
-    <1ae>   DW_AT_decl_line   : 522	
-    <1b0>   DW_AT_type        : <0x13c>	
-    <1b4>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1b7>: Abbrev Number: 15 (DW_TAG_member)
-    <1b8>   DW_AT_name        : (indirect string, offset: 0x220): seconds	
-    <1bc>   DW_AT_decl_file   : 5	
-    <1bd>   DW_AT_decl_line   : 523	
-    <1bf>   DW_AT_type        : <0x13c>	
-    <1c3>   DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
- <2><1c6>: Abbrev Number: 15 (DW_TAG_member)
-    <1c7>   DW_AT_name        : (indirect string, offset: 0x2a6): minutes	
-    <1cb>   DW_AT_decl_file   : 5	
-    <1cc>   DW_AT_decl_line   : 524	
-    <1ce>   DW_AT_type        : <0x13c>	
-    <1d2>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><1d5>: Abbrev Number: 15 (DW_TAG_member)
-    <1d6>   DW_AT_name        : (indirect string, offset: 0x228): hours	
-    <1da>   DW_AT_decl_file   : 5	
-    <1db>   DW_AT_decl_line   : 525	
-    <1dd>   DW_AT_type        : <0x13c>	
-    <1e1>   DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
- <2><1e4>: Abbrev Number: 15 (DW_TAG_member)
-    <1e5>   DW_AT_name        : (indirect string, offset: 0x24e): userbits	
-    <1e9>   DW_AT_decl_file   : 5	
-    <1ea>   DW_AT_decl_line   : 526	
-    <1ec>   DW_AT_type        : <0x1f4>	
-    <1f0>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1f3>: Abbrev Number: 0
- <1><1f4>: Abbrev Number: 16 (DW_TAG_array_type)
-    <1f5>   DW_AT_type        : <0x13c>	
-    <1f9>   DW_AT_sibling     : <0x204>	
- <2><1fd>: Abbrev Number: 17 (DW_TAG_subrange_type)
-    <1fe>   DW_AT_type        : <0x63>	
-    <202>   DW_AT_upper_bound : 3	
- <2><203>: Abbrev Number: 0
- <1><204>: Abbrev Number: 18 (DW_TAG_union_type)
-    <205>   DW_AT_byte_size   : 4	
-    <206>   DW_AT_decl_file   : 5	
-    <207>   DW_AT_decl_line   : 606	
-    <209>   DW_AT_sibling     : <0x231>	
- <2><20d>: Abbrev Number: 19 (DW_TAG_member)
-    <20e>   DW_AT_name        : (indirect string, offset: 0x243): mem_offset	
-    <212>   DW_AT_decl_file   : 5	
-    <213>   DW_AT_decl_line   : 607	
-    <215>   DW_AT_type        : <0x152>	
- <2><219>: Abbrev Number: 19 (DW_TAG_member)
-    <21a>   DW_AT_name        : (indirect string, offset: 0x1b7): userptr	
-    <21e>   DW_AT_decl_file   : 5	
-    <21f>   DW_AT_decl_line   : 608	
-    <221>   DW_AT_type        : <0x5c>	
- <2><225>: Abbrev Number: 20 (DW_TAG_member)
-    <226>   DW_AT_name        : fd	
-    <229>   DW_AT_decl_file   : 5	
-    <22a>   DW_AT_decl_line   : 609	
-    <22c>   DW_AT_type        : <0x147>	
- <2><230>: Abbrev Number: 0
- <1><231>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <232>   DW_AT_name        : (indirect string, offset: 0x285): v4l2_plane	
-    <236>   DW_AT_byte_size   : 60	
-    <237>   DW_AT_decl_file   : 5	
-    <238>   DW_AT_decl_line   : 603	
-    <23a>   DW_AT_sibling     : <0x288>	
- <2><23e>: Abbrev Number: 15 (DW_TAG_member)
-    <23f>   DW_AT_name        : (indirect string, offset: 0x233): bytesused	
-    <243>   DW_AT_decl_file   : 5	
-    <244>   DW_AT_decl_line   : 604	
-    <246>   DW_AT_type        : <0x152>	
-    <24a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><24d>: Abbrev Number: 15 (DW_TAG_member)
-    <24e>   DW_AT_name        : (indirect string, offset: 0x162): length	
-    <252>   DW_AT_decl_file   : 5	
-    <253>   DW_AT_decl_line   : 605	
-    <255>   DW_AT_type        : <0x152>	
-    <259>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><25c>: Abbrev Number: 21 (DW_TAG_member)
-    <25d>   DW_AT_name        : m	
-    <25f>   DW_AT_decl_file   : 5	
-    <260>   DW_AT_decl_line   : 610	
-    <262>   DW_AT_type        : <0x204>	
-    <266>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><269>: Abbrev Number: 15 (DW_TAG_member)
-    <26a>   DW_AT_name        : (indirect string, offset: 0x6a): data_offset	
-    <26e>   DW_AT_decl_file   : 5	
-    <26f>   DW_AT_decl_line   : 611	
-    <271>   DW_AT_type        : <0x152>	
-    <275>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><278>: Abbrev Number: 15 (DW_TAG_member)
-    <279>   DW_AT_name        : (indirect string, offset: 0x2da): reserved	
-    <27d>   DW_AT_decl_file   : 5	
-    <27e>   DW_AT_decl_line   : 612	
-    <280>   DW_AT_type        : <0x288>	
-    <284>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><287>: Abbrev Number: 0
- <1><288>: Abbrev Number: 16 (DW_TAG_array_type)
-    <289>   DW_AT_type        : <0x152>	
-    <28d>   DW_AT_sibling     : <0x298>	
- <2><291>: Abbrev Number: 17 (DW_TAG_subrange_type)
-    <292>   DW_AT_type        : <0x63>	
-    <296>   DW_AT_upper_bound : 10	
- <2><297>: Abbrev Number: 0
- <1><298>: Abbrev Number: 18 (DW_TAG_union_type)
-    <299>   DW_AT_byte_size   : 4	
-    <29a>   DW_AT_decl_file   : 5	
-    <29b>   DW_AT_decl_line   : 658	
-    <29d>   DW_AT_sibling     : <0x2d1>	
- <2><2a1>: Abbrev Number: 19 (DW_TAG_member)
-    <2a2>   DW_AT_name        : (indirect string, offset: 0x13c): offset	
-    <2a6>   DW_AT_decl_file   : 5	
-    <2a7>   DW_AT_decl_line   : 659	
-    <2a9>   DW_AT_type        : <0x152>	
- <2><2ad>: Abbrev Number: 19 (DW_TAG_member)
-    <2ae>   DW_AT_name        : (indirect string, offset: 0x1b7): userptr	
-    <2b2>   DW_AT_decl_file   : 5	
-    <2b3>   DW_AT_decl_line   : 660	
-    <2b5>   DW_AT_type        : <0x5c>	
- <2><2b9>: Abbrev Number: 19 (DW_TAG_member)
-    <2ba>   DW_AT_name        : (indirect string, offset: 0xf6): planes	
-    <2be>   DW_AT_decl_file   : 5	
-    <2bf>   DW_AT_decl_line   : 661	
-    <2c1>   DW_AT_type        : <0x2d1>	
- <2><2c5>: Abbrev Number: 20 (DW_TAG_member)
-    <2c6>   DW_AT_name        : fd	
-    <2c9>   DW_AT_decl_file   : 5	
-    <2ca>   DW_AT_decl_line   : 662	
-    <2cc>   DW_AT_type        : <0x147>	
- <2><2d0>: Abbrev Number: 0
- <1><2d1>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <2d2>   DW_AT_byte_size   : 4	
-    <2d3>   DW_AT_type        : <0x231>	
- <1><2d7>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <2d8>   DW_AT_name        : (indirect string, offset: 0xb1): v4l2_buffer	
-    <2dc>   DW_AT_byte_size   : 68	
-    <2dd>   DW_AT_decl_file   : 5	
-    <2de>   DW_AT_decl_line   : 646	
-    <2e0>   DW_AT_sibling     : <0x3a6>	
- <2><2e4>: Abbrev Number: 15 (DW_TAG_member)
-    <2e5>   DW_AT_name        : (indirect string, offset: 0xea): index	
-    <2e9>   DW_AT_decl_file   : 5	
-    <2ea>   DW_AT_decl_line   : 647	
-    <2ec>   DW_AT_type        : <0x152>	
-    <2f0>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2f3>: Abbrev Number: 15 (DW_TAG_member)
-    <2f4>   DW_AT_name        : (indirect string, offset: 0x1b2): type	
-    <2f8>   DW_AT_decl_file   : 5	
-    <2f9>   DW_AT_decl_line   : 648	
-    <2fb>   DW_AT_type        : <0x152>	
-    <2ff>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><302>: Abbrev Number: 15 (DW_TAG_member)
-    <303>   DW_AT_name        : (indirect string, offset: 0x233): bytesused	
-    <307>   DW_AT_decl_file   : 5	
-    <308>   DW_AT_decl_line   : 649	
-    <30a>   DW_AT_type        : <0x152>	
-    <30e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><311>: Abbrev Number: 15 (DW_TAG_member)
-    <312>   DW_AT_name        : (indirect string, offset: 0x1a3): flags	
-    <316>   DW_AT_decl_file   : 5	
-    <317>   DW_AT_decl_line   : 650	
-    <319>   DW_AT_type        : <0x152>	
-    <31d>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><320>: Abbrev Number: 15 (DW_TAG_member)
-    <321>   DW_AT_name        : (indirect string, offset: 0x2c6): field	
-    <325>   DW_AT_decl_file   : 5	
-    <326>   DW_AT_decl_line   : 651	
-    <328>   DW_AT_type        : <0x152>	
-    <32c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><32f>: Abbrev Number: 15 (DW_TAG_member)
-    <330>   DW_AT_name        : (indirect string, offset: 0x11): timestamp	
-    <334>   DW_AT_decl_file   : 5	
-    <335>   DW_AT_decl_line   : 652	
-    <337>   DW_AT_type        : <0x87>	
-    <33b>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><33e>: Abbrev Number: 15 (DW_TAG_member)
-    <33f>   DW_AT_name        : (indirect string, offset: 0x1fa): timecode	
-    <343>   DW_AT_decl_file   : 5	
-    <344>   DW_AT_decl_line   : 653	
-    <346>   DW_AT_type        : <0x17d>	
-    <34a>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><34d>: Abbrev Number: 15 (DW_TAG_member)
-    <34e>   DW_AT_name        : (indirect string, offset: 0x1a9): sequence	
-    <352>   DW_AT_decl_file   : 5	
-    <353>   DW_AT_decl_line   : 654	
-    <355>   DW_AT_type        : <0x152>	
-    <359>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><35c>: Abbrev Number: 15 (DW_TAG_member)
-    <35d>   DW_AT_name        : (indirect string, offset: 0xfd): memory	
-    <361>   DW_AT_decl_file   : 5	
-    <362>   DW_AT_decl_line   : 657	
-    <364>   DW_AT_type        : <0x152>	
-    <368>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><36b>: Abbrev Number: 21 (DW_TAG_member)
-    <36c>   DW_AT_name        : m	
-    <36e>   DW_AT_decl_file   : 5	
-    <36f>   DW_AT_decl_line   : 663	
-    <371>   DW_AT_type        : <0x298>	
-    <375>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><378>: Abbrev Number: 15 (DW_TAG_member)
-    <379>   DW_AT_name        : (indirect string, offset: 0x162): length	
-    <37d>   DW_AT_decl_file   : 5	
-    <37e>   DW_AT_decl_line   : 664	
-    <380>   DW_AT_type        : <0x152>	
-    <384>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><387>: Abbrev Number: 15 (DW_TAG_member)
-    <388>   DW_AT_name        : (indirect string, offset: 0x132): reserved2	
-    <38c>   DW_AT_decl_file   : 5	
-    <38d>   DW_AT_decl_line   : 665	
-    <38f>   DW_AT_type        : <0x152>	
-    <393>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><396>: Abbrev Number: 15 (DW_TAG_member)
-    <397>   DW_AT_name        : (indirect string, offset: 0x2da): reserved	
-    <39b>   DW_AT_decl_file   : 5	
-    <39c>   DW_AT_decl_line   : 666	
-    <39e>   DW_AT_type        : <0x152>	
-    <3a2>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><3a5>: Abbrev Number: 0
- <1><3a6>: Abbrev Number: 4 (DW_TAG_typedef)
-    <3a7>   DW_AT_name        : (indirect string, offset: 0x17e): struct_v4l2_buffer	
-    <3ab>   DW_AT_decl_file   : 6	
-    <3ac>   DW_AT_decl_line   : 38	
-    <3ad>   DW_AT_type        : <0x2d7>	
- <1><3b1>: Abbrev Number: 22 (DW_TAG_variable)
-    <3b2>   DW_AT_name        : (indirect string, offset: 0x151): current_wordsize	
-    <3b6>   DW_AT_decl_file   : 7	
-    <3b7>   DW_AT_decl_line   : 757	
-    <3b9>   DW_AT_type        : <0x47>	
-    <3bd>   DW_AT_external    : 1	
-    <3be>   DW_AT_declaration : 1	
- <1><3bf>: Abbrev Number: 22 (DW_TAG_variable)
-    <3c0>   DW_AT_name        : (indirect string, offset: 0x2bf): sysent	
-    <3c4>   DW_AT_decl_file   : 7	
-    <3c5>   DW_AT_decl_line   : 892	
-    <3c7>   DW_AT_type        : <0x12a>	
-    <3cb>   DW_AT_external    : 1	
-    <3cc>   DW_AT_declaration : 1	
- <1><3cd>: Abbrev Number: 22 (DW_TAG_variable)
-    <3ce>   DW_AT_name        : (indirect string, offset: 0x203): nsyscalls	
-    <3d2>   DW_AT_decl_file   : 7	
-    <3d3>   DW_AT_decl_line   : 903	
-    <3d5>   DW_AT_type        : <0x47>	
-    <3d9>   DW_AT_external    : 1	
-    <3da>   DW_AT_declaration : 1	
- <1><3db>: Abbrev Number: 23 (DW_TAG_variable)
-    <3dc>   DW_AT_name        : (indirect string, offset: 0x0): mpers_target_var	
-    <3e0>   DW_AT_decl_file   : 6	
-    <3e1>   DW_AT_decl_line   : 47	
-    <3e2>   DW_AT_type        : <0x3a6>	
-    <3e6>   DW_AT_external    : 1	
-    <3e7>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><3ed>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_buffer.d2 b/mpers-m32/struct_v4l2_buffer.d2
deleted file mode 100644
index 0587f48..0000000
--- a/mpers-m32/struct_v4l2_buffer.d2
+++ /dev/null
@@ -1,515 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x197): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x7f): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x104): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x170): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x20d): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1bf): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x112): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x129): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x25c): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x89): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x26e): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2cc): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x55>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x22e): char
-<1><87>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x277): timeval
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xb0>
-<2><93>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x169): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a1>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29e): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><b0>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xb6>
-<1><b6>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><bb>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2bf): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x10e>
-<2><c7>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x191): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><d5>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe0): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><e3>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><f1>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x76): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x119>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><ff>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd7): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xb0>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><10e>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x119>
-<2><117>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><119>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x10e>
-<1><11f>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x290): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xbb>
-<1><12a>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x130>
-<1><130>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x11f>
-<1><135>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x23d): _Bool
-<1><13c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x257): __u8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><147>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x27f): __s32
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><152>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf0): __u32
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><15d>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x2ae): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x17d>
-<2><16a>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xbd): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><170>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1e3): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><176>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1cc): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><17d>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x143): v4l2_timecode
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 519
-DW_AT_sibling     : <0x1f4>
-<2><18a>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b2): type
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 520
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><199>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a3): flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 521
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1a8>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x63): frames
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 522
-DW_AT_type        : <0x13c>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1b7>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): seconds
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 523
-DW_AT_type        : <0x13c>
-DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
-<2><1c6>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2a6): minutes
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 524
-DW_AT_type        : <0x13c>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><1d5>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x228): hours
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 525
-DW_AT_type        : <0x13c>
-DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
-<2><1e4>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x24e): userbits
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 526
-DW_AT_type        : <0x1f4>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1f4>
-Abbrev Number: 16 (DW_TAG_array_type)
-DW_AT_type        : <0x13c>
-DW_AT_sibling     : <0x204>
-<2><1fd>
-Abbrev Number: 17 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><204>
-Abbrev Number: 18 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 606
-DW_AT_sibling     : <0x231>
-<2><20d>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x243): mem_offset
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 607
-DW_AT_type        : <0x152>
-<2><219>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b7): userptr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 608
-DW_AT_type        : <0x5c>
-<2><225>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : fd
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 609
-DW_AT_type        : <0x147>
-<1><231>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x285): v4l2_plane
-DW_AT_byte_size   : 60
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 603
-DW_AT_sibling     : <0x288>
-<2><23e>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x233): bytesused
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 604
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><24d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x162): length
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 605
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><25c>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : m
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 610
-DW_AT_type        : <0x204>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><269>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6a): data_offset
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 611
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><278>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2da): reserved
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 612
-DW_AT_type        : <0x288>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><288>
-Abbrev Number: 16 (DW_TAG_array_type)
-DW_AT_type        : <0x152>
-DW_AT_sibling     : <0x298>
-<2><291>
-Abbrev Number: 17 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 10
-<1><298>
-Abbrev Number: 18 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 658
-DW_AT_sibling     : <0x2d1>
-<2><2a1>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13c): offset
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 659
-DW_AT_type        : <0x152>
-<2><2ad>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b7): userptr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 660
-DW_AT_type        : <0x5c>
-<2><2b9>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf6): planes
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 661
-DW_AT_type        : <0x2d1>
-<2><2c5>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : fd
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 662
-DW_AT_type        : <0x147>
-<1><2d1>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x231>
-<1><2d7>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xb1): v4l2_buffer
-DW_AT_byte_size   : 68
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 646
-DW_AT_sibling     : <0x3a6>
-<2><2e4>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xea): index
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 647
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2f3>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b2): type
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 648
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><302>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x233): bytesused
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 649
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><311>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a3): flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 650
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><320>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c6): field
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 651
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><32f>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11): timestamp
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 652
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><33e>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fa): timecode
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 653
-DW_AT_type        : <0x17d>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><34d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a9): sequence
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 654
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><35c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfd): memory
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 657
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><36b>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : m
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 663
-DW_AT_type        : <0x298>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><378>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x162): length
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 664
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><387>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x132): reserved2
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 665
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><396>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2da): reserved
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 666
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<1><3a6>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17e): struct_v4l2_buffer
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x2d7>
-<1><3b1>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x151): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3bf>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x2bf): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x12a>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3cd>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x203): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3db>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x0): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x3a6>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_v4l2_clip.c b/mpers-m32/struct_v4l2_clip.c
new file mode 100644
index 0000000..cd89a04
--- /dev/null
+++ b/mpers-m32/struct_v4l2_clip.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+
+
+#include <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_clip mpers_target_var;
diff --git a/mpers-m32/struct_v4l2_clip.h b/mpers-m32/struct_v4l2_clip.h
new file mode 100644
index 0000000..4c7ab36
--- /dev/null
+++ b/mpers-m32/struct_v4l2_clip.h
@@ -0,0 +1,13 @@
+#include <inttypes.h>
+typedef uint32_t mpers_ptr_t;
+typedef
+struct {
+struct {
+int32_t left;
+int32_t top;
+int32_t width;
+int32_t height;
+} ATTRIBUTE_PACKED c;
+mpers_ptr_t next;
+} ATTRIBUTE_PACKED m32_struct_v4l2_clip;
+#define MPERS_m32_struct_v4l2_clip m32_struct_v4l2_clip
diff --git a/mpers-m32/struct_v4l2_create_buffers.c b/mpers-m32/struct_v4l2_create_buffers.c
index 7ecdafd..0fc1469 100644
--- a/mpers-m32/struct_v4l2_create_buffers.c
+++ b/mpers-m32/struct_v4l2_create_buffers.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_create_buffers.d1 b/mpers-m32/struct_v4l2_create_buffers.d1
deleted file mode 100644
index 3930530..0000000
--- a/mpers-m32/struct_v4l2_create_buffers.d1
+++ /dev/null
@@ -1,672 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x5f0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x16): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x2b2): mpers-m32/struct_v4l2_create_buffers.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x3cd): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1f2): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x76): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x3b1): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x1b0): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x28c): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x227): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x204): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x13b): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x30b): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x80): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x2ad): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0x377): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x31d): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0xb7): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x68): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x9d): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x32f): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x2de): _Bool	
- <1><ff>: Abbrev Number: 12 (DW_TAG_typedef)
-    <100>   DW_AT_name        : (indirect string, offset: 0x306): __u8	
-    <104>   DW_AT_decl_file   : 2	
-    <105>   DW_AT_decl_line   : 20	
-    <106>   DW_AT_type        : <0x39>	
- <1><10a>: Abbrev Number: 12 (DW_TAG_typedef)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x300): __u16	
-    <10f>   DW_AT_decl_file   : 2	
-    <110>   DW_AT_decl_line   : 23	
-    <111>   DW_AT_type        : <0x40>	
- <1><115>: Abbrev Number: 12 (DW_TAG_typedef)
-    <116>   DW_AT_name        : (indirect string, offset: 0x323): __s32	
-    <11a>   DW_AT_decl_file   : 2	
-    <11b>   DW_AT_decl_line   : 25	
-    <11c>   DW_AT_type        : <0x2b>	
- <1><120>: Abbrev Number: 12 (DW_TAG_typedef)
-    <121>   DW_AT_name        : (indirect string, offset: 0xf7): __u32	
-    <125>   DW_AT_decl_file   : 2	
-    <126>   DW_AT_decl_line   : 26	
-    <127>   DW_AT_type        : <0x47>	
- <1><12b>: Abbrev Number: 13 (DW_TAG_enumeration_type)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x358): v4l2_preemphasis	
-    <130>   DW_AT_byte_size   : 4	
-    <131>   DW_AT_decl_file   : 6	
-    <132>   DW_AT_decl_line   : 763	
-    <134>   DW_AT_sibling     : <0x14b>	
- <2><138>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <139>   DW_AT_name        : (indirect string, offset: 0x262): V4L2_PREEMPHASIS_DISABLED	
-    <13d>   DW_AT_const_value : 0	
- <2><13e>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <13f>   DW_AT_name        : (indirect string, offset: 0x23f): V4L2_PREEMPHASIS_50_uS	
-    <143>   DW_AT_const_value : 1	
- <2><144>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <145>   DW_AT_name        : (indirect string, offset: 0xd1): V4L2_PREEMPHASIS_75_uS	
-    <149>   DW_AT_const_value : 2	
- <2><14a>: Abbrev Number: 0
- <1><14b>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <14c>   DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect	
-    <150>   DW_AT_byte_size   : 16	
-    <151>   DW_AT_decl_file   : 3	
-    <152>   DW_AT_decl_line   : 205	
-    <153>   DW_AT_sibling     : <0x190>	
- <2><157>: Abbrev Number: 8 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x2d9): left	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 206	
-    <15e>   DW_AT_type        : <0x115>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><165>: Abbrev Number: 9 (DW_TAG_member)
-    <166>   DW_AT_name        : top	
-    <16a>   DW_AT_decl_file   : 3	
-    <16b>   DW_AT_decl_line   : 207	
-    <16c>   DW_AT_type        : <0x115>	
-    <170>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><173>: Abbrev Number: 8 (DW_TAG_member)
-    <174>   DW_AT_name        : (indirect string, offset: 0x11a): width	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 208	
-    <17a>   DW_AT_type        : <0x115>	
-    <17e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><181>: Abbrev Number: 8 (DW_TAG_member)
-    <182>   DW_AT_name        : (indirect string, offset: 0x220): height	
-    <186>   DW_AT_decl_file   : 3	
-    <187>   DW_AT_decl_line   : 209	
-    <188>   DW_AT_type        : <0x115>	
-    <18c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18f>: Abbrev Number: 0
- <1><190>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <191>   DW_AT_name        : (indirect string, offset: 0x2f0): v4l2_pix_format	
-    <195>   DW_AT_byte_size   : 32	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 274	
-    <199>   DW_AT_sibling     : <0x216>	
- <2><19d>: Abbrev Number: 16 (DW_TAG_member)
-    <19e>   DW_AT_name        : (indirect string, offset: 0x11a): width	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 275	
-    <1a5>   DW_AT_type        : <0x120>	
-    <1a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1ac>: Abbrev Number: 16 (DW_TAG_member)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0x220): height	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 276	
-    <1b4>   DW_AT_type        : <0x120>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1bb>: Abbrev Number: 16 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x89): pixelformat	
-    <1c0>   DW_AT_decl_file   : 3	
-    <1c1>   DW_AT_decl_line   : 277	
-    <1c3>   DW_AT_type        : <0x120>	
-    <1c7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ca>: Abbrev Number: 16 (DW_TAG_member)
-    <1cb>   DW_AT_name        : (indirect string, offset: 0x37e): field	
-    <1cf>   DW_AT_decl_file   : 3	
-    <1d0>   DW_AT_decl_line   : 278	
-    <1d2>   DW_AT_type        : <0x120>	
-    <1d6>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1d9>: Abbrev Number: 16 (DW_TAG_member)
-    <1da>   DW_AT_name        : (indirect string, offset: 0x12e): bytesperline	
-    <1de>   DW_AT_decl_file   : 3	
-    <1df>   DW_AT_decl_line   : 279	
-    <1e1>   DW_AT_type        : <0x120>	
-    <1e5>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1e8>: Abbrev Number: 16 (DW_TAG_member)
-    <1e9>   DW_AT_name        : (indirect string, offset: 0x5e): sizeimage	
-    <1ed>   DW_AT_decl_file   : 3	
-    <1ee>   DW_AT_decl_line   : 280	
-    <1f0>   DW_AT_type        : <0x120>	
-    <1f4>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1f7>: Abbrev Number: 16 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0x16d): colorspace	
-    <1fc>   DW_AT_decl_file   : 3	
-    <1fd>   DW_AT_decl_line   : 281	
-    <1ff>   DW_AT_type        : <0x120>	
-    <203>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><206>: Abbrev Number: 16 (DW_TAG_member)
-    <207>   DW_AT_name        : (indirect string, offset: 0x0): priv	
-    <20b>   DW_AT_decl_file   : 3	
-    <20c>   DW_AT_decl_line   : 282	
-    <20e>   DW_AT_type        : <0x120>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><215>: Abbrev Number: 0
- <1><216>: Abbrev Number: 17 (DW_TAG_array_type)
-    <217>   DW_AT_type        : <0x120>	
-    <21b>   DW_AT_sibling     : <0x226>	
- <2><21f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <220>   DW_AT_type        : <0x63>	
-    <224>   DW_AT_upper_bound : 1	
- <2><225>: Abbrev Number: 0
- <1><226>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <227>   DW_AT_name        : (indirect string, offset: 0x384): v4l2_clip	
-    <22b>   DW_AT_byte_size   : 20	
-    <22c>   DW_AT_decl_file   : 3	
-    <22d>   DW_AT_decl_line   : 745	
-    <22f>   DW_AT_sibling     : <0x250>	
- <2><233>: Abbrev Number: 19 (DW_TAG_member)
-    <234>   DW_AT_name        : c	
-    <236>   DW_AT_decl_file   : 3	
-    <237>   DW_AT_decl_line   : 746	
-    <239>   DW_AT_type        : <0x14b>	
-    <23d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><240>: Abbrev Number: 16 (DW_TAG_member)
-    <241>   DW_AT_name        : (indirect string, offset: 0x71): next	
-    <245>   DW_AT_decl_file   : 3	
-    <246>   DW_AT_decl_line   : 747	
-    <248>   DW_AT_type        : <0x250>	
-    <24c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><24f>: Abbrev Number: 0
- <1><250>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <251>   DW_AT_byte_size   : 4	
-    <252>   DW_AT_type        : <0x226>	
- <1><256>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <257>   DW_AT_name        : (indirect string, offset: 0x10e): v4l2_window	
-    <25b>   DW_AT_byte_size   : 40	
-    <25c>   DW_AT_decl_file   : 3	
-    <25d>   DW_AT_decl_line   : 750	
-    <25f>   DW_AT_sibling     : <0x2cb>	
- <2><263>: Abbrev Number: 19 (DW_TAG_member)
-    <264>   DW_AT_name        : w	
-    <266>   DW_AT_decl_file   : 3	
-    <267>   DW_AT_decl_line   : 751	
-    <269>   DW_AT_type        : <0x14b>	
-    <26d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><270>: Abbrev Number: 16 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x37e): field	
-    <275>   DW_AT_decl_file   : 3	
-    <276>   DW_AT_decl_line   : 752	
-    <278>   DW_AT_type        : <0x120>	
-    <27c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><27f>: Abbrev Number: 16 (DW_TAG_member)
-    <280>   DW_AT_name        : (indirect string, offset: 0x398): chromakey	
-    <284>   DW_AT_decl_file   : 3	
-    <285>   DW_AT_decl_line   : 753	
-    <287>   DW_AT_type        : <0x120>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><28e>: Abbrev Number: 16 (DW_TAG_member)
-    <28f>   DW_AT_name        : (indirect string, offset: 0x3ab): clips	
-    <293>   DW_AT_decl_file   : 3	
-    <294>   DW_AT_decl_line   : 754	
-    <296>   DW_AT_type        : <0x250>	
-    <29a>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><29d>: Abbrev Number: 16 (DW_TAG_member)
-    <29e>   DW_AT_name        : (indirect string, offset: 0x104): clipcount	
-    <2a2>   DW_AT_decl_file   : 3	
-    <2a3>   DW_AT_decl_line   : 755	
-    <2a5>   DW_AT_type        : <0x120>	
-    <2a9>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><2ac>: Abbrev Number: 16 (DW_TAG_member)
-    <2ad>   DW_AT_name        : (indirect string, offset: 0xfd): bitmap	
-    <2b1>   DW_AT_decl_file   : 3	
-    <2b2>   DW_AT_decl_line   : 756	
-    <2b4>   DW_AT_type        : <0x6a>	
-    <2b8>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><2bb>: Abbrev Number: 16 (DW_TAG_member)
-    <2bc>   DW_AT_name        : (indirect string, offset: 0x178): global_alpha	
-    <2c0>   DW_AT_decl_file   : 3	
-    <2c1>   DW_AT_decl_line   : 757	
-    <2c3>   DW_AT_type        : <0xff>	
-    <2c7>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><2ca>: Abbrev Number: 0
- <1><2cb>: Abbrev Number: 17 (DW_TAG_array_type)
-    <2cc>   DW_AT_type        : <0x120>	
-    <2d0>   DW_AT_sibling     : <0x2db>	
- <2><2d4>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <2d5>   DW_AT_type        : <0x63>	
-    <2d9>   DW_AT_upper_bound : 7	
- <2><2da>: Abbrev Number: 0
- <1><2db>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <2dc>   DW_AT_name        : (indirect string, offset: 0xc1): v4l2_vbi_format	
-    <2e0>   DW_AT_byte_size   : 44	
-    <2e1>   DW_AT_decl_file   : 3	
-    <2e2>   DW_AT_decl_line   : 1541	
-    <2e4>   DW_AT_sibling     : <0x361>	
- <2><2e8>: Abbrev Number: 16 (DW_TAG_member)
-    <2e9>   DW_AT_name        : (indirect string, offset: 0x29f): sampling_rate	
-    <2ed>   DW_AT_decl_file   : 3	
-    <2ee>   DW_AT_decl_line   : 1542	
-    <2f0>   DW_AT_type        : <0x120>	
-    <2f4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2f7>: Abbrev Number: 16 (DW_TAG_member)
-    <2f8>   DW_AT_name        : (indirect string, offset: 0x155): offset	
-    <2fc>   DW_AT_decl_file   : 3	
-    <2fd>   DW_AT_decl_line   : 1543	
-    <2ff>   DW_AT_type        : <0x120>	
-    <303>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><306>: Abbrev Number: 16 (DW_TAG_member)
-    <307>   DW_AT_name        : (indirect string, offset: 0xa6): samples_per_line	
-    <30b>   DW_AT_decl_file   : 3	
-    <30c>   DW_AT_decl_line   : 1544	
-    <30e>   DW_AT_type        : <0x120>	
-    <312>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><315>: Abbrev Number: 16 (DW_TAG_member)
-    <316>   DW_AT_name        : (indirect string, offset: 0x3bf): sample_format	
-    <31a>   DW_AT_decl_file   : 3	
-    <31b>   DW_AT_decl_line   : 1545	
-    <31d>   DW_AT_type        : <0x120>	
-    <321>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><324>: Abbrev Number: 16 (DW_TAG_member)
-    <325>   DW_AT_name        : (indirect string, offset: 0x286): start	
-    <329>   DW_AT_decl_file   : 3	
-    <32a>   DW_AT_decl_line   : 1546	
-    <32c>   DW_AT_type        : <0x361>	
-    <330>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><333>: Abbrev Number: 16 (DW_TAG_member)
-    <334>   DW_AT_name        : (indirect string, offset: 0x329): count	
-    <338>   DW_AT_decl_file   : 3	
-    <339>   DW_AT_decl_line   : 1547	
-    <33b>   DW_AT_type        : <0x216>	
-    <33f>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><342>: Abbrev Number: 16 (DW_TAG_member)
-    <343>   DW_AT_name        : (indirect string, offset: 0x1fe): flags	
-    <347>   DW_AT_decl_file   : 3	
-    <348>   DW_AT_decl_line   : 1548	
-    <34a>   DW_AT_type        : <0x120>	
-    <34e>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><351>: Abbrev Number: 16 (DW_TAG_member)
-    <352>   DW_AT_name        : (indirect string, offset: 0x3a2): reserved	
-    <356>   DW_AT_decl_file   : 3	
-    <357>   DW_AT_decl_line   : 1549	
-    <359>   DW_AT_type        : <0x216>	
-    <35d>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><360>: Abbrev Number: 0
- <1><361>: Abbrev Number: 17 (DW_TAG_array_type)
-    <362>   DW_AT_type        : <0x115>	
-    <366>   DW_AT_sibling     : <0x371>	
- <2><36a>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <36b>   DW_AT_type        : <0x63>	
-    <36f>   DW_AT_upper_bound : 1	
- <2><370>: Abbrev Number: 0
- <1><371>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <372>   DW_AT_name        : (indirect string, offset: 0x1d4): v4l2_sliced_vbi_format	
-    <376>   DW_AT_byte_size   : 112	
-    <377>   DW_AT_decl_file   : 3	
-    <378>   DW_AT_decl_line   : 1563	
-    <37a>   DW_AT_sibling     : <0x3bb>	
- <2><37e>: Abbrev Number: 16 (DW_TAG_member)
-    <37f>   DW_AT_name        : (indirect string, offset: 0x2e4): service_set	
-    <383>   DW_AT_decl_file   : 3	
-    <384>   DW_AT_decl_line   : 1564	
-    <386>   DW_AT_type        : <0x10a>	
-    <38a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><38d>: Abbrev Number: 16 (DW_TAG_member)
-    <38e>   DW_AT_name        : (indirect string, offset: 0x369): service_lines	
-    <392>   DW_AT_decl_file   : 3	
-    <393>   DW_AT_decl_line   : 1569	
-    <395>   DW_AT_type        : <0x3bb>	
-    <399>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><39c>: Abbrev Number: 16 (DW_TAG_member)
-    <39d>   DW_AT_name        : (indirect string, offset: 0x95): io_size	
-    <3a1>   DW_AT_decl_file   : 3	
-    <3a2>   DW_AT_decl_line   : 1570	
-    <3a4>   DW_AT_type        : <0x120>	
-    <3a8>   DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
- <2><3ab>: Abbrev Number: 16 (DW_TAG_member)
-    <3ac>   DW_AT_name        : (indirect string, offset: 0x3a2): reserved	
-    <3b0>   DW_AT_decl_file   : 3	
-    <3b1>   DW_AT_decl_line   : 1571	
-    <3b3>   DW_AT_type        : <0x216>	
-    <3b7>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><3ba>: Abbrev Number: 0
- <1><3bb>: Abbrev Number: 17 (DW_TAG_array_type)
-    <3bc>   DW_AT_type        : <0x10a>	
-    <3c0>   DW_AT_sibling     : <0x3d1>	
- <2><3c4>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3c5>   DW_AT_type        : <0x63>	
-    <3c9>   DW_AT_upper_bound : 1	
- <2><3ca>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3cb>   DW_AT_type        : <0x63>	
-    <3cf>   DW_AT_upper_bound : 23	
- <2><3d0>: Abbrev Number: 0
- <1><3d1>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <3d2>   DW_AT_name        : (indirect string, offset: 0x1be): v4l2_plane_pix_format	
-    <3d6>   DW_AT_byte_size   : 20	
-    <3d7>   DW_AT_decl_file   : 3	
-    <3d8>   DW_AT_decl_line   : 1664	
-    <3da>   DW_AT_sibling     : <0x40c>	
- <2><3de>: Abbrev Number: 16 (DW_TAG_member)
-    <3df>   DW_AT_name        : (indirect string, offset: 0x5e): sizeimage	
-    <3e3>   DW_AT_decl_file   : 3	
-    <3e4>   DW_AT_decl_line   : 1665	
-    <3e6>   DW_AT_type        : <0x120>	
-    <3ea>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><3ed>: Abbrev Number: 16 (DW_TAG_member)
-    <3ee>   DW_AT_name        : (indirect string, offset: 0x12e): bytesperline	
-    <3f2>   DW_AT_decl_file   : 3	
-    <3f3>   DW_AT_decl_line   : 1666	
-    <3f5>   DW_AT_type        : <0x10a>	
-    <3f9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3fc>: Abbrev Number: 16 (DW_TAG_member)
-    <3fd>   DW_AT_name        : (indirect string, offset: 0x3a2): reserved	
-    <401>   DW_AT_decl_file   : 3	
-    <402>   DW_AT_decl_line   : 1667	
-    <404>   DW_AT_type        : <0x40c>	
-    <408>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><40b>: Abbrev Number: 0
- <1><40c>: Abbrev Number: 17 (DW_TAG_array_type)
-    <40d>   DW_AT_type        : <0x10a>	
-    <411>   DW_AT_sibling     : <0x41c>	
- <2><415>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <416>   DW_AT_type        : <0x63>	
-    <41a>   DW_AT_upper_bound : 6	
- <2><41b>: Abbrev Number: 0
- <1><41c>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <41d>   DW_AT_name        : (indirect string, offset: 0x199): v4l2_pix_format_mplane	
-    <421>   DW_AT_byte_size   : 192	
-    <422>   DW_AT_decl_file   : 3	
-    <423>   DW_AT_decl_line   : 1680	
-    <425>   DW_AT_sibling     : <0x4a4>	
- <2><429>: Abbrev Number: 16 (DW_TAG_member)
-    <42a>   DW_AT_name        : (indirect string, offset: 0x11a): width	
-    <42e>   DW_AT_decl_file   : 3	
-    <42f>   DW_AT_decl_line   : 1681	
-    <431>   DW_AT_type        : <0x120>	
-    <435>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><438>: Abbrev Number: 16 (DW_TAG_member)
-    <439>   DW_AT_name        : (indirect string, offset: 0x220): height	
-    <43d>   DW_AT_decl_file   : 3	
-    <43e>   DW_AT_decl_line   : 1682	
-    <440>   DW_AT_type        : <0x120>	
-    <444>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><447>: Abbrev Number: 16 (DW_TAG_member)
-    <448>   DW_AT_name        : (indirect string, offset: 0x89): pixelformat	
-    <44c>   DW_AT_decl_file   : 3	
-    <44d>   DW_AT_decl_line   : 1683	
-    <44f>   DW_AT_type        : <0x120>	
-    <453>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><456>: Abbrev Number: 16 (DW_TAG_member)
-    <457>   DW_AT_name        : (indirect string, offset: 0x37e): field	
-    <45b>   DW_AT_decl_file   : 3	
-    <45c>   DW_AT_decl_line   : 1684	
-    <45e>   DW_AT_type        : <0x120>	
-    <462>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><465>: Abbrev Number: 16 (DW_TAG_member)
-    <466>   DW_AT_name        : (indirect string, offset: 0x16d): colorspace	
-    <46a>   DW_AT_decl_file   : 3	
-    <46b>   DW_AT_decl_line   : 1685	
-    <46d>   DW_AT_type        : <0x120>	
-    <471>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><474>: Abbrev Number: 16 (DW_TAG_member)
-    <475>   DW_AT_name        : (indirect string, offset: 0x38e): plane_fmt	
-    <479>   DW_AT_decl_file   : 3	
-    <47a>   DW_AT_decl_line   : 1687	
-    <47c>   DW_AT_type        : <0x4a4>	
-    <480>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><483>: Abbrev Number: 16 (DW_TAG_member)
-    <484>   DW_AT_name        : (indirect string, offset: 0x234): num_planes	
-    <488>   DW_AT_decl_file   : 3	
-    <489>   DW_AT_decl_line   : 1688	
-    <48b>   DW_AT_type        : <0xff>	
-    <48f>   DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
- <2><493>: Abbrev Number: 16 (DW_TAG_member)
-    <494>   DW_AT_name        : (indirect string, offset: 0x3a2): reserved	
-    <498>   DW_AT_decl_file   : 3	
-    <499>   DW_AT_decl_line   : 1689	
-    <49b>   DW_AT_type        : <0x4b4>	
-    <49f>   DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
- <2><4a3>: Abbrev Number: 0
- <1><4a4>: Abbrev Number: 17 (DW_TAG_array_type)
-    <4a5>   DW_AT_type        : <0x3d1>	
-    <4a9>   DW_AT_sibling     : <0x4b4>	
- <2><4ad>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <4ae>   DW_AT_type        : <0x63>	
-    <4b2>   DW_AT_upper_bound : 7	
- <2><4b3>: Abbrev Number: 0
- <1><4b4>: Abbrev Number: 17 (DW_TAG_array_type)
-    <4b5>   DW_AT_type        : <0xff>	
-    <4b9>   DW_AT_sibling     : <0x4c4>	
- <2><4bd>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <4be>   DW_AT_type        : <0x63>	
-    <4c2>   DW_AT_upper_bound : 10	
- <2><4c3>: Abbrev Number: 0
- <1><4c4>: Abbrev Number: 20 (DW_TAG_union_type)
-    <4c5>   DW_AT_byte_size   : 200	
-    <4c6>   DW_AT_decl_file   : 3	
-    <4c7>   DW_AT_decl_line   : 1704	
-    <4c9>   DW_AT_sibling     : <0x516>	
- <2><4cd>: Abbrev Number: 21 (DW_TAG_member)
-    <4ce>   DW_AT_name        : pix	
-    <4d2>   DW_AT_decl_file   : 3	
-    <4d3>   DW_AT_decl_line   : 1705	
-    <4d5>   DW_AT_type        : <0x190>	
- <2><4d9>: Abbrev Number: 22 (DW_TAG_member)
-    <4da>   DW_AT_name        : (indirect string, offset: 0x5): pix_mp	
-    <4de>   DW_AT_decl_file   : 3	
-    <4df>   DW_AT_decl_line   : 1706	
-    <4e1>   DW_AT_type        : <0x41c>	
- <2><4e5>: Abbrev Number: 21 (DW_TAG_member)
-    <4e6>   DW_AT_name        : win	
-    <4ea>   DW_AT_decl_file   : 3	
-    <4eb>   DW_AT_decl_line   : 1707	
-    <4ed>   DW_AT_type        : <0x256>	
- <2><4f1>: Abbrev Number: 21 (DW_TAG_member)
-    <4f2>   DW_AT_name        : vbi	
-    <4f6>   DW_AT_decl_file   : 3	
-    <4f7>   DW_AT_decl_line   : 1708	
-    <4f9>   DW_AT_type        : <0x2db>	
- <2><4fd>: Abbrev Number: 22 (DW_TAG_member)
-    <4fe>   DW_AT_name        : (indirect string, offset: 0x1eb): sliced	
-    <502>   DW_AT_decl_file   : 3	
-    <503>   DW_AT_decl_line   : 1709	
-    <505>   DW_AT_type        : <0x371>	
- <2><509>: Abbrev Number: 22 (DW_TAG_member)
-    <50a>   DW_AT_name        : (indirect string, offset: 0xee): raw_data	
-    <50e>   DW_AT_decl_file   : 3	
-    <50f>   DW_AT_decl_line   : 1710	
-    <511>   DW_AT_type        : <0x516>	
- <2><515>: Abbrev Number: 0
- <1><516>: Abbrev Number: 17 (DW_TAG_array_type)
-    <517>   DW_AT_type        : <0xff>	
-    <51b>   DW_AT_sibling     : <0x526>	
- <2><51f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <520>   DW_AT_type        : <0x63>	
-    <524>   DW_AT_upper_bound : 199	
- <2><525>: Abbrev Number: 0
- <1><526>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <527>   DW_AT_name        : (indirect string, offset: 0x256): v4l2_format	
-    <52b>   DW_AT_byte_size   : 204	
-    <52c>   DW_AT_decl_file   : 3	
-    <52d>   DW_AT_decl_line   : 1702	
-    <52f>   DW_AT_sibling     : <0x552>	
- <2><533>: Abbrev Number: 16 (DW_TAG_member)
-    <534>   DW_AT_name        : (indirect string, offset: 0x21b): type	
-    <538>   DW_AT_decl_file   : 3	
-    <539>   DW_AT_decl_line   : 1703	
-    <53b>   DW_AT_type        : <0x120>	
-    <53f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><542>: Abbrev Number: 19 (DW_TAG_member)
-    <543>   DW_AT_name        : fmt	
-    <547>   DW_AT_decl_file   : 3	
-    <548>   DW_AT_decl_line   : 1711	
-    <54a>   DW_AT_type        : <0x4c4>	
-    <54e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><551>: Abbrev Number: 0
- <1><552>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <553>   DW_AT_name        : (indirect string, offset: 0x185): v4l2_create_buffers	
-    <557>   DW_AT_byte_size   : 248	
-    <558>   DW_AT_decl_file   : 3	
-    <559>   DW_AT_decl_line   : 1843	
-    <55b>   DW_AT_sibling     : <0x5ac>	
- <2><55f>: Abbrev Number: 16 (DW_TAG_member)
-    <560>   DW_AT_name        : (indirect string, offset: 0xe8): index	
-    <564>   DW_AT_decl_file   : 3	
-    <565>   DW_AT_decl_line   : 1844	
-    <567>   DW_AT_type        : <0x120>	
-    <56b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><56e>: Abbrev Number: 16 (DW_TAG_member)
-    <56f>   DW_AT_name        : (indirect string, offset: 0x329): count	
-    <573>   DW_AT_decl_file   : 3	
-    <574>   DW_AT_decl_line   : 1845	
-    <576>   DW_AT_type        : <0x120>	
-    <57a>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><57d>: Abbrev Number: 16 (DW_TAG_member)
-    <57e>   DW_AT_name        : (indirect string, offset: 0x120): memory	
-    <582>   DW_AT_decl_file   : 3	
-    <583>   DW_AT_decl_line   : 1846	
-    <585>   DW_AT_type        : <0x120>	
-    <589>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><58c>: Abbrev Number: 16 (DW_TAG_member)
-    <58d>   DW_AT_name        : (indirect string, offset: 0x127): format	
-    <591>   DW_AT_decl_file   : 3	
-    <592>   DW_AT_decl_line   : 1847	
-    <594>   DW_AT_type        : <0x526>	
-    <598>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><59b>: Abbrev Number: 16 (DW_TAG_member)
-    <59c>   DW_AT_name        : (indirect string, offset: 0x3a2): reserved	
-    <5a0>   DW_AT_decl_file   : 3	
-    <5a1>   DW_AT_decl_line   : 1848	
-    <5a3>   DW_AT_type        : <0x2cb>	
-    <5a7>   DW_AT_data_member_location: 3 byte block: 23 d8 1 	(DW_OP_plus_uconst: 216)
- <2><5ab>: Abbrev Number: 0
- <1><5ac>: Abbrev Number: 12 (DW_TAG_typedef)
-    <5ad>   DW_AT_name        : (indirect string, offset: 0x33d): struct_v4l2_create_buffers	
-    <5b1>   DW_AT_decl_file   : 4	
-    <5b2>   DW_AT_decl_line   : 39	
-    <5b3>   DW_AT_type        : <0x552>	
- <1><5b7>: Abbrev Number: 23 (DW_TAG_variable)
-    <5b8>   DW_AT_name        : (indirect string, offset: 0x15c): current_wordsize	
-    <5bc>   DW_AT_decl_file   : 5	
-    <5bd>   DW_AT_decl_line   : 757	
-    <5bf>   DW_AT_type        : <0x47>	
-    <5c3>   DW_AT_external    : 1	
-    <5c4>   DW_AT_declaration : 1	
- <1><5c5>: Abbrev Number: 23 (DW_TAG_variable)
-    <5c6>   DW_AT_name        : (indirect string, offset: 0x377): sysent	
-    <5ca>   DW_AT_decl_file   : 5	
-    <5cb>   DW_AT_decl_line   : 892	
-    <5cd>   DW_AT_type        : <0xed>	
-    <5d1>   DW_AT_external    : 1	
-    <5d2>   DW_AT_declaration : 1	
- <1><5d3>: Abbrev Number: 23 (DW_TAG_variable)
-    <5d4>   DW_AT_name        : (indirect string, offset: 0x27c): nsyscalls	
-    <5d8>   DW_AT_decl_file   : 5	
-    <5d9>   DW_AT_decl_line   : 903	
-    <5db>   DW_AT_type        : <0x47>	
-    <5df>   DW_AT_external    : 1	
-    <5e0>   DW_AT_declaration : 1	
- <1><5e1>: Abbrev Number: 24 (DW_TAG_variable)
-    <5e2>   DW_AT_name        : (indirect string, offset: 0x144): mpers_target_var	
-    <5e6>   DW_AT_decl_file   : 4	
-    <5e7>   DW_AT_decl_line   : 47	
-    <5e8>   DW_AT_type        : <0x5ac>	
-    <5ec>   DW_AT_external    : 1	
-    <5ed>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><5f3>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_create_buffers.d2 b/mpers-m32/struct_v4l2_create_buffers.d2
deleted file mode 100644
index 4c4f105..0000000
--- a/mpers-m32/struct_v4l2_create_buffers.d2
+++ /dev/null
@@ -1,762 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1f2): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x76): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x3b1): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x1b0): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x28c): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x227): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x204): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x13b): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x30b): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x80): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x2ad): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x377): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x31d): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb7): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x68): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9d): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x32f): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2de): _Bool
-<1><ff>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x306): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><10a>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x300): __u16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><115>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x323): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><120>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf7): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><12b>
-Abbrev Number: 13 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x358): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x14b>
-<2><138>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x262): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><13e>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x23f): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><144>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xd1): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><14b>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 205
-DW_AT_sibling     : <0x190>
-<2><157>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d9): left
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 206
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><165>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : top
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 207
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><173>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11a): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 208
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><181>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 209
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><190>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2f0): v4l2_pix_format
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_sibling     : <0x216>
-<2><19d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11a): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 275
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 276
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x89): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 277
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ca>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x37e): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 278
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><1d9>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12e): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 279
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1e8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5e): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 280
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1f7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16d): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 281
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><206>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): priv
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 282
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><216>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x120>
-DW_AT_sibling     : <0x226>
-<2><21f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><226>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x384): v4l2_clip
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 745
-DW_AT_sibling     : <0x250>
-<2><233>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : c
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 746
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><240>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x71): next
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 747
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><250>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x226>
-<1><256>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x10e): v4l2_window
-DW_AT_byte_size   : 40
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 750
-DW_AT_sibling     : <0x2cb>
-<2><263>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : w
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 751
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><270>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x37e): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 752
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><27f>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x398): chromakey
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 753
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><28e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3ab): clips
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 754
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><29d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x104): clipcount
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 755
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><2ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfd): bitmap
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 756
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><2bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x178): global_alpha
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><2cb>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x120>
-DW_AT_sibling     : <0x2db>
-<2><2d4>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 7
-<1><2db>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc1): v4l2_vbi_format
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1541
-DW_AT_sibling     : <0x361>
-<2><2e8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29f): sampling_rate
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1542
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2f7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x155): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1543
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><306>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa6): samples_per_line
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1544
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><315>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3bf): sample_format
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1545
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><324>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x286): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1546
-DW_AT_type        : <0x361>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><333>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x329): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1547
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><342>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fe): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1548
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><351>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a2): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1549
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><361>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x115>
-DW_AT_sibling     : <0x371>
-<2><36a>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><371>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1d4): v4l2_sliced_vbi_format
-DW_AT_byte_size   : 112
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1563
-DW_AT_sibling     : <0x3bb>
-<2><37e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e4): service_set
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1564
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><38d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x369): service_lines
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1569
-DW_AT_type        : <0x3bb>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><39c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x95): io_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1570
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
-<2><3ab>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a2): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1571
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<1><3bb>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x3d1>
-<2><3c4>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<2><3ca>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 23
-<1><3d1>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1be): v4l2_plane_pix_format
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1664
-DW_AT_sibling     : <0x40c>
-<2><3de>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5e): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1665
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><3ed>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12e): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1666
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3fc>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a2): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1667
-DW_AT_type        : <0x40c>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<1><40c>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x41c>
-<2><415>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 6
-<1><41c>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x199): v4l2_pix_format_mplane
-DW_AT_byte_size   : 192
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1680
-DW_AT_sibling     : <0x4a4>
-<2><429>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11a): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1681
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><438>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1682
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><447>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x89): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1683
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><456>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x37e): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1684
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><465>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16d): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1685
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><474>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x38e): plane_fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1687
-DW_AT_type        : <0x4a4>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><483>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x234): num_planes
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1688
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
-<2><493>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a2): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1689
-DW_AT_type        : <0x4b4>
-DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
-<1><4a4>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x3d1>
-DW_AT_sibling     : <0x4b4>
-<2><4ad>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 7
-<1><4b4>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x4c4>
-<2><4bd>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 10
-<1><4c4>
-Abbrev Number: 20 (DW_TAG_union_type)
-DW_AT_byte_size   : 200
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1704
-DW_AT_sibling     : <0x516>
-<2><4cd>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : pix
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1705
-DW_AT_type        : <0x190>
-<2><4d9>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5): pix_mp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1706
-DW_AT_type        : <0x41c>
-<2><4e5>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : win
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1707
-DW_AT_type        : <0x256>
-<2><4f1>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : vbi
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1708
-DW_AT_type        : <0x2db>
-<2><4fd>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1eb): sliced
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1709
-DW_AT_type        : <0x371>
-<2><509>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xee): raw_data
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1710
-DW_AT_type        : <0x516>
-<1><516>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x526>
-<2><51f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 199
-<1><526>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x256): v4l2_format
-DW_AT_byte_size   : 204
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1702
-DW_AT_sibling     : <0x552>
-<2><533>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21b): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1703
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><542>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1711
-DW_AT_type        : <0x4c4>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><552>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x185): v4l2_create_buffers
-DW_AT_byte_size   : 248
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1843
-DW_AT_sibling     : <0x5ac>
-<2><55f>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe8): index
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1844
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><56e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x329): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1845
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><57d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x120): memory
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1846
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><58c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x127): format
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1847
-DW_AT_type        : <0x526>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><59b>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a2): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1848
-DW_AT_type        : <0x2cb>
-DW_AT_data_member_location: 3 byte block: 23 d8 1 	(DW_OP_plus_uconst: 216)
-<1><5ac>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x33d): struct_v4l2_create_buffers
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x552>
-<1><5b7>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x15c): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><5c5>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x377): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><5d3>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x27c): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><5e1>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x144): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x5ac>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_v4l2_create_buffers.h b/mpers-m32/struct_v4l2_create_buffers.h
index f85f054..2d5380f 100644
--- a/mpers-m32/struct_v4l2_create_buffers.h
+++ b/mpers-m32/struct_v4l2_create_buffers.h
@@ -59,8 +59,8 @@
 } ATTRIBUTE_PACKED vbi;
 struct {
 uint16_t service_set;
-uint16_t service_lines[24];
-unsigned char mpers_filler_2[50];
+uint16_t service_lines[2][24];
+unsigned char mpers_filler_2[2];
 uint32_t io_size;
 uint32_t reserved[2];
 } ATTRIBUTE_PACKED sliced;
diff --git a/mpers-m32/struct_v4l2_ext_control.c b/mpers-m32/struct_v4l2_ext_control.c
index d5365dd..2696feb 100644
--- a/mpers-m32/struct_v4l2_ext_control.c
+++ b/mpers-m32/struct_v4l2_ext_control.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_ext_control.d1 b/mpers-m32/struct_v4l2_ext_control.d1
deleted file mode 100644
index f9867f0..0000000
--- a/mpers-m32/struct_v4l2_ext_control.d1
+++ /dev/null
@@ -1,250 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x208 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x13b): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x82): mpers-m32/struct_v4l2_ext_control.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1cb): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x230): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x62): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x20f): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe0): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x4f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x194): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xc1): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x227): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xee): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x206): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
-    <6c>   DW_AT_type        : <0x70>	
- <1><70>: Abbrev Number: 2 (DW_TAG_base_type)
-    <71>   DW_AT_byte_size   : 1	
-    <72>   DW_AT_encoding    : 6	(signed char)
-    <73>   DW_AT_name        : (indirect string, offset: 0x1c6): char	
- <1><77>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <78>   DW_AT_byte_size   : 4	
-    <79>   DW_AT_type        : <0x7d>	
- <1><7d>: Abbrev Number: 5 (DW_TAG_const_type)
-    <7e>   DW_AT_type        : <0x70>	
- <1><82>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <83>   DW_AT_name        : (indirect string, offset: 0x100): sysent	
-    <87>   DW_AT_byte_size   : 20	
-    <88>   DW_AT_decl_file   : 1	
-    <89>   DW_AT_decl_line   : 4	
-    <8a>   DW_AT_sibling     : <0xd5>	
- <2><8e>: Abbrev Number: 7 (DW_TAG_member)
-    <8f>   DW_AT_name        : (indirect string, offset: 0x135): nargs	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 5	
-    <95>   DW_AT_type        : <0x47>	
-    <99>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><9c>: Abbrev Number: 7 (DW_TAG_member)
-    <9d>   DW_AT_name        : (indirect string, offset: 0xb7): sys_flags	
-    <a1>   DW_AT_decl_file   : 1	
-    <a2>   DW_AT_decl_line   : 6	
-    <a3>   DW_AT_type        : <0x2b>	
-    <a7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><aa>: Abbrev Number: 8 (DW_TAG_member)
-    <ab>   DW_AT_name        : sen	
-    <af>   DW_AT_decl_file   : 1	
-    <b0>   DW_AT_decl_line   : 7	
-    <b1>   DW_AT_type        : <0x2b>	
-    <b5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b8>: Abbrev Number: 7 (DW_TAG_member)
-    <b9>   DW_AT_name        : (indirect string, offset: 0x241): sys_func	
-    <bd>   DW_AT_decl_file   : 1	
-    <be>   DW_AT_decl_line   : 8	
-    <bf>   DW_AT_type        : <0xe0>	
-    <c3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c6>: Abbrev Number: 7 (DW_TAG_member)
-    <c7>   DW_AT_name        : (indirect string, offset: 0x72): sys_name	
-    <cb>   DW_AT_decl_file   : 1	
-    <cc>   DW_AT_decl_line   : 9	
-    <cd>   DW_AT_type        : <0x77>	
-    <d1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d4>: Abbrev Number: 0
- <1><d5>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d6>   DW_AT_type        : <0x2b>	
-    <da>   DW_AT_sibling     : <0xe0>	
- <2><de>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <e1>   DW_AT_byte_size   : 4	
-    <e2>   DW_AT_type        : <0xd5>	
- <1><e6>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e7>   DW_AT_name        : (indirect string, offset: 0x1b8): struct_sysent	
-    <eb>   DW_AT_decl_file   : 1	
-    <ec>   DW_AT_decl_line   : 10	
-    <ed>   DW_AT_type        : <0x82>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <f2>   DW_AT_byte_size   : 4	
-    <f3>   DW_AT_type        : <0xf7>	
- <1><f7>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f8>   DW_AT_type        : <0xe6>	
- <1><fc>: Abbrev Number: 2 (DW_TAG_base_type)
-    <fd>   DW_AT_byte_size   : 1	
-    <fe>   DW_AT_encoding    : 2	(boolean)
-    <ff>   DW_AT_name        : (indirect string, offset: 0x6c): _Bool	
- <1><103>: Abbrev Number: 11 (DW_TAG_typedef)
-    <104>   DW_AT_name        : (indirect string, offset: 0x107): __s32	
-    <108>   DW_AT_decl_file   : 2	
-    <109>   DW_AT_decl_line   : 25	
-    <10a>   DW_AT_type        : <0x2b>	
- <1><10e>: Abbrev Number: 11 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x32): __u32	
-    <113>   DW_AT_decl_file   : 2	
-    <114>   DW_AT_decl_line   : 26	
-    <115>   DW_AT_type        : <0x47>	
- <1><119>: Abbrev Number: 11 (DW_TAG_typedef)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x24a): __s64	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 29	
-    <120>   DW_AT_type        : <0x32>	
- <1><124>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <125>   DW_AT_name        : (indirect string, offset: 0x183): v4l2_preemphasis	
-    <129>   DW_AT_byte_size   : 4	
-    <12a>   DW_AT_decl_file   : 6	
-    <12b>   DW_AT_decl_line   : 763	
-    <12d>   DW_AT_sibling     : <0x144>	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED	
-    <136>   DW_AT_const_value : 0	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0x1a1): V4L2_PREEMPHASIS_50_uS	
-    <13c>   DW_AT_const_value : 1	
- <2><13d>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <13e>   DW_AT_name        : (indirect string, offset: 0x11e): V4L2_PREEMPHASIS_75_uS	
-    <142>   DW_AT_const_value : 2	
- <2><143>: Abbrev Number: 0
- <1><144>: Abbrev Number: 14 (DW_TAG_union_type)
-    <145>   DW_AT_byte_size   : 8	
-    <146>   DW_AT_decl_file   : 3	
-    <147>   DW_AT_decl_line   : 1225	
-    <149>   DW_AT_sibling     : <0x172>	
- <2><14d>: Abbrev Number: 15 (DW_TAG_member)
-    <14e>   DW_AT_name        : (indirect string, offset: 0x38): value	
-    <152>   DW_AT_decl_file   : 3	
-    <153>   DW_AT_decl_line   : 1226	
-    <155>   DW_AT_type        : <0x103>	
- <2><159>: Abbrev Number: 15 (DW_TAG_member)
-    <15a>   DW_AT_name        : (indirect string, offset: 0xd8): value64	
-    <15e>   DW_AT_decl_file   : 3	
-    <15f>   DW_AT_decl_line   : 1227	
-    <161>   DW_AT_type        : <0x119>	
- <2><165>: Abbrev Number: 15 (DW_TAG_member)
-    <166>   DW_AT_name        : (indirect string, offset: 0x7b): string	
-    <16a>   DW_AT_decl_file   : 3	
-    <16b>   DW_AT_decl_line   : 1228	
-    <16d>   DW_AT_type        : <0x6a>	
- <2><171>: Abbrev Number: 0
- <1><172>: Abbrev Number: 16 (DW_TAG_structure_type)
-    <173>   DW_AT_name        : (indirect string, offset: 0x3e): v4l2_ext_control	
-    <177>   DW_AT_byte_size   : 20	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 1221	
-    <17b>   DW_AT_sibling     : <0x1b4>	
- <2><17f>: Abbrev Number: 17 (DW_TAG_member)
-    <180>   DW_AT_name        : id	
-    <183>   DW_AT_decl_file   : 3	
-    <184>   DW_AT_decl_line   : 1222	
-    <186>   DW_AT_type        : <0x10e>	
-    <18a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><18d>: Abbrev Number: 18 (DW_TAG_member)
-    <18e>   DW_AT_name        : (indirect string, offset: 0x23c): size	
-    <192>   DW_AT_decl_file   : 3	
-    <193>   DW_AT_decl_line   : 1223	
-    <195>   DW_AT_type        : <0x10e>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><19c>: Abbrev Number: 18 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x21d): reserved2	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 1224	
-    <1a4>   DW_AT_type        : <0x1b4>	
-    <1a8>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ab>: Abbrev Number: 19 (DW_TAG_member)
-    <1ac>   DW_AT_type        : <0x144>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1b3>: Abbrev Number: 0
- <1><1b4>: Abbrev Number: 20 (DW_TAG_array_type)
-    <1b5>   DW_AT_type        : <0x10e>	
-    <1b9>   DW_AT_sibling     : <0x1c4>	
- <2><1bd>: Abbrev Number: 21 (DW_TAG_subrange_type)
-    <1be>   DW_AT_type        : <0x63>	
-    <1c2>   DW_AT_upper_bound : 0	
- <2><1c3>: Abbrev Number: 0
- <1><1c4>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1c5>   DW_AT_name        : (indirect string, offset: 0x1a): struct_v4l2_ext_control	
-    <1c9>   DW_AT_decl_file   : 4	
-    <1ca>   DW_AT_decl_line   : 40	
-    <1cb>   DW_AT_type        : <0x172>	
- <1><1cf>: Abbrev Number: 22 (DW_TAG_variable)
-    <1d0>   DW_AT_name        : (indirect string, offset: 0x10d): current_wordsize	
-    <1d4>   DW_AT_decl_file   : 5	
-    <1d5>   DW_AT_decl_line   : 757	
-    <1d7>   DW_AT_type        : <0x47>	
-    <1db>   DW_AT_external    : 1	
-    <1dc>   DW_AT_declaration : 1	
- <1><1dd>: Abbrev Number: 22 (DW_TAG_variable)
-    <1de>   DW_AT_name        : (indirect string, offset: 0x100): sysent	
-    <1e2>   DW_AT_decl_file   : 5	
-    <1e3>   DW_AT_decl_line   : 892	
-    <1e5>   DW_AT_type        : <0xf1>	
-    <1e9>   DW_AT_external    : 1	
-    <1ea>   DW_AT_declaration : 1	
- <1><1eb>: Abbrev Number: 22 (DW_TAG_variable)
-    <1ec>   DW_AT_name        : (indirect string, offset: 0x1fc): nsyscalls	
-    <1f0>   DW_AT_decl_file   : 5	
-    <1f1>   DW_AT_decl_line   : 903	
-    <1f3>   DW_AT_type        : <0x47>	
-    <1f7>   DW_AT_external    : 1	
-    <1f8>   DW_AT_declaration : 1	
- <1><1f9>: Abbrev Number: 23 (DW_TAG_variable)
-    <1fa>   DW_AT_name        : (indirect string, offset: 0xa6): mpers_target_var	
-    <1fe>   DW_AT_decl_file   : 4	
-    <1ff>   DW_AT_decl_line   : 47	
-    <200>   DW_AT_type        : <0x1c4>	
-    <204>   DW_AT_external    : 1	
-    <205>   DW_AT_location    : 5 byte block: 3 1 0 0 0 	(DW_OP_addr: 1)
- <1><20b>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_ext_control.d2 b/mpers-m32/struct_v4l2_ext_control.d2
deleted file mode 100644
index 7ad2394..0000000
--- a/mpers-m32/struct_v4l2_ext_control.d2
+++ /dev/null
@@ -1,280 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x230): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x62): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x20f): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe0): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x4f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x194): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc1): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x227): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xee): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x206): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x70>
-<1><70>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1c6): char
-<1><77>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7d>
-<1><7d>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x70>
-<1><82>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x100): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd5>
-<2><8e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x135): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><9c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb7): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b8>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x241): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c6>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x72): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x77>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d5>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe0>
-<2><de>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><e0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd5>
-<1><e6>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b8): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x82>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf7>
-<1><f7>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe6>
-<1><fc>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x6c): _Bool
-<1><103>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x107): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><10e>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x32): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><119>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x24a): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><124>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x183): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x144>
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1a1): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><13d>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x11e): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><144>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1225
-DW_AT_sibling     : <0x172>
-<2><14d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x38): value
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1226
-DW_AT_type        : <0x103>
-<2><159>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd8): value64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1227
-DW_AT_type        : <0x119>
-<2><165>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7b): string
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1228
-DW_AT_type        : <0x6a>
-<1><172>
-Abbrev Number: 16 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x3e): v4l2_ext_control
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1221
-DW_AT_sibling     : <0x1b4>
-<2><17f>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1222
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><18d>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23c): size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1223
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><19c>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21d): reserved2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1224
-DW_AT_type        : <0x1b4>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ab>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_type        : <0x144>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1b4>
-Abbrev Number: 20 (DW_TAG_array_type)
-DW_AT_type        : <0x10e>
-DW_AT_sibling     : <0x1c4>
-<2><1bd>
-Abbrev Number: 21 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 0
-<1><1c4>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1a): struct_v4l2_ext_control
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x172>
-<1><1cf>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x10d): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1dd>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x100): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf1>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1eb>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1fc): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1f9>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa6): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1c4>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 1 0 0 0 	(DW_OP_addr: 1)
diff --git a/mpers-m32/struct_v4l2_ext_controls.c b/mpers-m32/struct_v4l2_ext_controls.c
index 626f230..d89399e 100644
--- a/mpers-m32/struct_v4l2_ext_controls.c
+++ b/mpers-m32/struct_v4l2_ext_controls.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_ext_controls.d1 b/mpers-m32/struct_v4l2_ext_controls.d1
deleted file mode 100644
index 3cc4f90..0000000
--- a/mpers-m32/struct_v4l2_ext_controls.d1
+++ /dev/null
@@ -1,297 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x277 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x142): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1d7): mpers-m32/struct_v4l2_ext_controls.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x201): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x271): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x56): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x245): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xc5): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x43): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1a5): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x94): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x25d): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xd3): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x23c): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
-    <6c>   DW_AT_type        : <0x70>	
- <1><70>: Abbrev Number: 2 (DW_TAG_base_type)
-    <71>   DW_AT_byte_size   : 1	
-    <72>   DW_AT_encoding    : 6	(signed char)
-    <73>   DW_AT_name        : (indirect string, offset: 0x1fc): char	
- <1><77>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <78>   DW_AT_byte_size   : 4	
-    <79>   DW_AT_type        : <0x7d>	
- <1><7d>: Abbrev Number: 5 (DW_TAG_const_type)
-    <7e>   DW_AT_type        : <0x70>	
- <1><82>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <83>   DW_AT_name        : (indirect string, offset: 0xe5): sysent	
-    <87>   DW_AT_byte_size   : 20	
-    <88>   DW_AT_decl_file   : 1	
-    <89>   DW_AT_decl_line   : 4	
-    <8a>   DW_AT_sibling     : <0xd5>	
- <2><8e>: Abbrev Number: 7 (DW_TAG_member)
-    <8f>   DW_AT_name        : (indirect string, offset: 0x13c): nargs	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 5	
-    <95>   DW_AT_type        : <0x47>	
-    <99>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><9c>: Abbrev Number: 7 (DW_TAG_member)
-    <9d>   DW_AT_name        : (indirect string, offset: 0x8a): sys_flags	
-    <a1>   DW_AT_decl_file   : 1	
-    <a2>   DW_AT_decl_line   : 6	
-    <a3>   DW_AT_type        : <0x2b>	
-    <a7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><aa>: Abbrev Number: 8 (DW_TAG_member)
-    <ab>   DW_AT_name        : sen	
-    <af>   DW_AT_decl_file   : 1	
-    <b0>   DW_AT_decl_line   : 7	
-    <b1>   DW_AT_type        : <0x2b>	
-    <b5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b8>: Abbrev Number: 7 (DW_TAG_member)
-    <b9>   DW_AT_name        : (indirect string, offset: 0x282): sys_func	
-    <bd>   DW_AT_decl_file   : 1	
-    <be>   DW_AT_decl_line   : 8	
-    <bf>   DW_AT_type        : <0xe0>	
-    <c3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c6>: Abbrev Number: 7 (DW_TAG_member)
-    <c7>   DW_AT_name        : (indirect string, offset: 0x69): sys_name	
-    <cb>   DW_AT_decl_file   : 1	
-    <cc>   DW_AT_decl_line   : 9	
-    <cd>   DW_AT_type        : <0x77>	
-    <d1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d4>: Abbrev Number: 0
- <1><d5>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d6>   DW_AT_type        : <0x2b>	
-    <da>   DW_AT_sibling     : <0xe0>	
- <2><de>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <e1>   DW_AT_byte_size   : 4	
-    <e2>   DW_AT_type        : <0xd5>	
- <1><e6>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e7>   DW_AT_name        : (indirect string, offset: 0x1c9): struct_sysent	
-    <eb>   DW_AT_decl_file   : 1	
-    <ec>   DW_AT_decl_line   : 10	
-    <ed>   DW_AT_type        : <0x82>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <f2>   DW_AT_byte_size   : 4	
-    <f3>   DW_AT_type        : <0xf7>	
- <1><f7>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f8>   DW_AT_type        : <0xe6>	
- <1><fc>: Abbrev Number: 2 (DW_TAG_base_type)
-    <fd>   DW_AT_byte_size   : 1	
-    <fe>   DW_AT_encoding    : 2	(boolean)
-    <ff>   DW_AT_name        : (indirect string, offset: 0x1a): _Bool	
- <1><103>: Abbrev Number: 11 (DW_TAG_typedef)
-    <104>   DW_AT_name        : (indirect string, offset: 0x105): __s32	
-    <108>   DW_AT_decl_file   : 2	
-    <109>   DW_AT_decl_line   : 25	
-    <10a>   DW_AT_type        : <0x2b>	
- <1><10e>: Abbrev Number: 11 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x20): __u32	
-    <113>   DW_AT_decl_file   : 2	
-    <114>   DW_AT_decl_line   : 26	
-    <115>   DW_AT_type        : <0x47>	
- <1><119>: Abbrev Number: 11 (DW_TAG_typedef)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x28b): __s64	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 29	
-    <120>   DW_AT_type        : <0x32>	
- <1><124>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <125>   DW_AT_name        : (indirect string, offset: 0x18a): v4l2_preemphasis	
-    <129>   DW_AT_byte_size   : 4	
-    <12a>   DW_AT_decl_file   : 6	
-    <12b>   DW_AT_decl_line   : 763	
-    <12d>   DW_AT_sibling     : <0x144>	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED	
-    <136>   DW_AT_const_value : 0	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0x1b2): V4L2_PREEMPHASIS_50_uS	
-    <13c>   DW_AT_const_value : 1	
- <2><13d>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <13e>   DW_AT_name        : (indirect string, offset: 0x11c): V4L2_PREEMPHASIS_75_uS	
-    <142>   DW_AT_const_value : 2	
- <2><143>: Abbrev Number: 0
- <1><144>: Abbrev Number: 14 (DW_TAG_array_type)
-    <145>   DW_AT_type        : <0x10e>	
-    <149>   DW_AT_sibling     : <0x154>	
- <2><14d>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <14e>   DW_AT_type        : <0x63>	
-    <152>   DW_AT_upper_bound : 1	
- <2><153>: Abbrev Number: 0
- <1><154>: Abbrev Number: 16 (DW_TAG_union_type)
-    <155>   DW_AT_byte_size   : 8	
-    <156>   DW_AT_decl_file   : 3	
-    <157>   DW_AT_decl_line   : 1225	
-    <159>   DW_AT_sibling     : <0x182>	
- <2><15d>: Abbrev Number: 17 (DW_TAG_member)
-    <15e>   DW_AT_name        : (indirect string, offset: 0x26): value	
-    <162>   DW_AT_decl_file   : 3	
-    <163>   DW_AT_decl_line   : 1226	
-    <165>   DW_AT_type        : <0x103>	
- <2><169>: Abbrev Number: 17 (DW_TAG_member)
-    <16a>   DW_AT_name        : (indirect string, offset: 0xbd): value64	
-    <16e>   DW_AT_decl_file   : 3	
-    <16f>   DW_AT_decl_line   : 1227	
-    <171>   DW_AT_type        : <0x119>	
- <2><175>: Abbrev Number: 17 (DW_TAG_member)
-    <176>   DW_AT_name        : (indirect string, offset: 0x72): string	
-    <17a>   DW_AT_decl_file   : 3	
-    <17b>   DW_AT_decl_line   : 1228	
-    <17d>   DW_AT_type        : <0x6a>	
- <2><181>: Abbrev Number: 0
- <1><182>: Abbrev Number: 18 (DW_TAG_structure_type)
-    <183>   DW_AT_name        : (indirect string, offset: 0x32): v4l2_ext_control	
-    <187>   DW_AT_byte_size   : 20	
-    <188>   DW_AT_decl_file   : 3	
-    <189>   DW_AT_decl_line   : 1221	
-    <18b>   DW_AT_sibling     : <0x1c4>	
- <2><18f>: Abbrev Number: 19 (DW_TAG_member)
-    <190>   DW_AT_name        : id	
-    <193>   DW_AT_decl_file   : 3	
-    <194>   DW_AT_decl_line   : 1222	
-    <196>   DW_AT_type        : <0x10e>	
-    <19a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><19d>: Abbrev Number: 20 (DW_TAG_member)
-    <19e>   DW_AT_name        : (indirect string, offset: 0x27d): size	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 1223	
-    <1a5>   DW_AT_type        : <0x10e>	
-    <1a9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1ac>: Abbrev Number: 20 (DW_TAG_member)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0x253): reserved2	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 1224	
-    <1b4>   DW_AT_type        : <0x1c4>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1bb>: Abbrev Number: 21 (DW_TAG_member)
-    <1bc>   DW_AT_type        : <0x154>	
-    <1c0>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1c3>: Abbrev Number: 0
- <1><1c4>: Abbrev Number: 14 (DW_TAG_array_type)
-    <1c5>   DW_AT_type        : <0x10e>	
-    <1c9>   DW_AT_sibling     : <0x1d4>	
- <2><1cd>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <1ce>   DW_AT_type        : <0x63>	
-    <1d2>   DW_AT_upper_bound : 0	
- <2><1d3>: Abbrev Number: 0
- <1><1d4>: Abbrev Number: 18 (DW_TAG_structure_type)
-    <1d5>   DW_AT_name        : (indirect string, offset: 0xab): v4l2_ext_controls	
-    <1d9>   DW_AT_byte_size   : 24	
-    <1da>   DW_AT_decl_file   : 3	
-    <1db>   DW_AT_decl_line   : 1232	
-    <1dd>   DW_AT_sibling     : <0x22d>	
- <2><1e1>: Abbrev Number: 20 (DW_TAG_member)
-    <1e2>   DW_AT_name        : (indirect string, offset: 0x266): ctrl_class	
-    <1e6>   DW_AT_decl_file   : 3	
-    <1e7>   DW_AT_decl_line   : 1233	
-    <1e9>   DW_AT_type        : <0x10e>	
-    <1ed>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1f0>: Abbrev Number: 20 (DW_TAG_member)
-    <1f1>   DW_AT_name        : (indirect string, offset: 0x2c): count	
-    <1f5>   DW_AT_decl_file   : 3	
-    <1f6>   DW_AT_decl_line   : 1234	
-    <1f8>   DW_AT_type        : <0x10e>	
-    <1fc>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1ff>: Abbrev Number: 20 (DW_TAG_member)
-    <200>   DW_AT_name        : (indirect string, offset: 0x19b): error_idx	
-    <204>   DW_AT_decl_file   : 3	
-    <205>   DW_AT_decl_line   : 1235	
-    <207>   DW_AT_type        : <0x10e>	
-    <20b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><20e>: Abbrev Number: 20 (DW_TAG_member)
-    <20f>   DW_AT_name        : (indirect string, offset: 0x133): reserved	
-    <213>   DW_AT_decl_file   : 3	
-    <214>   DW_AT_decl_line   : 1236	
-    <216>   DW_AT_type        : <0x144>	
-    <21a>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><21d>: Abbrev Number: 20 (DW_TAG_member)
-    <21e>   DW_AT_name        : (indirect string, offset: 0x60): controls	
-    <222>   DW_AT_decl_file   : 3	
-    <223>   DW_AT_decl_line   : 1237	
-    <225>   DW_AT_type        : <0x22d>	
-    <229>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><22c>: Abbrev Number: 0
- <1><22d>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <22e>   DW_AT_byte_size   : 4	
-    <22f>   DW_AT_type        : <0x182>	
- <1><233>: Abbrev Number: 11 (DW_TAG_typedef)
-    <234>   DW_AT_name        : (indirect string, offset: 0xec): struct_v4l2_ext_controls	
-    <238>   DW_AT_decl_file   : 4	
-    <239>   DW_AT_decl_line   : 41	
-    <23a>   DW_AT_type        : <0x1d4>	
- <1><23e>: Abbrev Number: 22 (DW_TAG_variable)
-    <23f>   DW_AT_name        : (indirect string, offset: 0x10b): current_wordsize	
-    <243>   DW_AT_decl_file   : 5	
-    <244>   DW_AT_decl_line   : 757	
-    <246>   DW_AT_type        : <0x47>	
-    <24a>   DW_AT_external    : 1	
-    <24b>   DW_AT_declaration : 1	
- <1><24c>: Abbrev Number: 22 (DW_TAG_variable)
-    <24d>   DW_AT_name        : (indirect string, offset: 0xe5): sysent	
-    <251>   DW_AT_decl_file   : 5	
-    <252>   DW_AT_decl_line   : 892	
-    <254>   DW_AT_type        : <0xf1>	
-    <258>   DW_AT_external    : 1	
-    <259>   DW_AT_declaration : 1	
- <1><25a>: Abbrev Number: 22 (DW_TAG_variable)
-    <25b>   DW_AT_name        : (indirect string, offset: 0x232): nsyscalls	
-    <25f>   DW_AT_decl_file   : 5	
-    <260>   DW_AT_decl_line   : 903	
-    <262>   DW_AT_type        : <0x47>	
-    <266>   DW_AT_external    : 1	
-    <267>   DW_AT_declaration : 1	
- <1><268>: Abbrev Number: 23 (DW_TAG_variable)
-    <269>   DW_AT_name        : (indirect string, offset: 0x79): mpers_target_var	
-    <26d>   DW_AT_decl_file   : 4	
-    <26e>   DW_AT_decl_line   : 47	
-    <26f>   DW_AT_type        : <0x233>	
-    <273>   DW_AT_external    : 1	
-    <274>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><27a>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_ext_controls.d2 b/mpers-m32/struct_v4l2_ext_controls.d2
deleted file mode 100644
index 5870f8d..0000000
--- a/mpers-m32/struct_v4l2_ext_controls.d2
+++ /dev/null
@@ -1,334 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x271): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x56): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x245): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xc5): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x43): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1a5): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x94): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x25d): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd3): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x23c): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x70>
-<1><70>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1fc): char
-<1><77>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7d>
-<1><7d>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x70>
-<1><82>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe5): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd5>
-<2><8e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13c): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><9c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8a): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b8>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x282): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c6>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x69): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x77>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d5>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe0>
-<2><de>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><e0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd5>
-<1><e6>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c9): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x82>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf7>
-<1><f7>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe6>
-<1><fc>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1a): _Bool
-<1><103>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x105): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><10e>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x20): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><119>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x28b): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><124>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x18a): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x144>
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1b2): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><13d>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x11c): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><144>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x10e>
-DW_AT_sibling     : <0x154>
-<2><14d>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><154>
-Abbrev Number: 16 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1225
-DW_AT_sibling     : <0x182>
-<2><15d>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26): value
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1226
-DW_AT_type        : <0x103>
-<2><169>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbd): value64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1227
-DW_AT_type        : <0x119>
-<2><175>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x72): string
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1228
-DW_AT_type        : <0x6a>
-<1><182>
-Abbrev Number: 18 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x32): v4l2_ext_control
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1221
-DW_AT_sibling     : <0x1c4>
-<2><18f>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1222
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><19d>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x27d): size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1223
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1ac>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x253): reserved2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1224
-DW_AT_type        : <0x1c4>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1bb>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_type        : <0x154>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1c4>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x10e>
-DW_AT_sibling     : <0x1d4>
-<2><1cd>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 0
-<1><1d4>
-Abbrev Number: 18 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xab): v4l2_ext_controls
-DW_AT_byte_size   : 24
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1232
-DW_AT_sibling     : <0x22d>
-<2><1e1>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x266): ctrl_class
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1233
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1f0>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1234
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1ff>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19b): error_idx
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1235
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><20e>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x133): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1236
-DW_AT_type        : <0x144>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><21d>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x60): controls
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1237
-DW_AT_type        : <0x22d>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<1><22d>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x182>
-<1><233>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xec): struct_v4l2_ext_controls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x1d4>
-<1><23e>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x10b): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><24c>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe5): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf1>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><25a>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x232): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><268>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x79): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x233>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/struct_v4l2_format.c b/mpers-m32/struct_v4l2_format.c
index fd7973f..8791f9d 100644
--- a/mpers-m32/struct_v4l2_format.c
+++ b/mpers-m32/struct_v4l2_format.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_format.d1 b/mpers-m32/struct_v4l2_format.d1
deleted file mode 100644
index fc530af..0000000
--- a/mpers-m32/struct_v4l2_format.d1
+++ /dev/null
@@ -1,628 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x586 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x16): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x136): mpers-m32/struct_v4l2_format.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x395): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1f8): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x71): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x128): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x1b6): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x292): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x22d): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x20a): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x155): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x2fd): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x7b): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x2c6): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0x34e): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x30f): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0xbf): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x68): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0xa5): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x321): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x2d0): _Bool	
- <1><ff>: Abbrev Number: 12 (DW_TAG_typedef)
-    <100>   DW_AT_name        : (indirect string, offset: 0x2f8): __u8	
-    <104>   DW_AT_decl_file   : 2	
-    <105>   DW_AT_decl_line   : 20	
-    <106>   DW_AT_type        : <0x39>	
- <1><10a>: Abbrev Number: 12 (DW_TAG_typedef)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x2f2): __u16	
-    <10f>   DW_AT_decl_file   : 2	
-    <110>   DW_AT_decl_line   : 23	
-    <111>   DW_AT_type        : <0x40>	
- <1><115>: Abbrev Number: 12 (DW_TAG_typedef)
-    <116>   DW_AT_name        : (indirect string, offset: 0x315): __s32	
-    <11a>   DW_AT_decl_file   : 2	
-    <11b>   DW_AT_decl_line   : 25	
-    <11c>   DW_AT_type        : <0x2b>	
- <1><120>: Abbrev Number: 12 (DW_TAG_typedef)
-    <121>   DW_AT_name        : (indirect string, offset: 0xff): __u32	
-    <125>   DW_AT_decl_file   : 2	
-    <126>   DW_AT_decl_line   : 26	
-    <127>   DW_AT_type        : <0x47>	
- <1><12b>: Abbrev Number: 13 (DW_TAG_enumeration_type)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x32f): v4l2_preemphasis	
-    <130>   DW_AT_byte_size   : 4	
-    <131>   DW_AT_decl_file   : 6	
-    <132>   DW_AT_decl_line   : 763	
-    <134>   DW_AT_sibling     : <0x14b>	
- <2><138>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <139>   DW_AT_name        : (indirect string, offset: 0x268): V4L2_PREEMPHASIS_DISABLED	
-    <13d>   DW_AT_const_value : 0	
- <2><13e>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <13f>   DW_AT_name        : (indirect string, offset: 0x245): V4L2_PREEMPHASIS_50_uS	
-    <143>   DW_AT_const_value : 1	
- <2><144>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <145>   DW_AT_name        : (indirect string, offset: 0xd9): V4L2_PREEMPHASIS_75_uS	
-    <149>   DW_AT_const_value : 2	
- <2><14a>: Abbrev Number: 0
- <1><14b>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <14c>   DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect	
-    <150>   DW_AT_byte_size   : 16	
-    <151>   DW_AT_decl_file   : 3	
-    <152>   DW_AT_decl_line   : 205	
-    <153>   DW_AT_sibling     : <0x190>	
- <2><157>: Abbrev Number: 8 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x2cb): left	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 206	
-    <15e>   DW_AT_type        : <0x115>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><165>: Abbrev Number: 9 (DW_TAG_member)
-    <166>   DW_AT_name        : top	
-    <16a>   DW_AT_decl_file   : 3	
-    <16b>   DW_AT_decl_line   : 207	
-    <16c>   DW_AT_type        : <0x115>	
-    <170>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><173>: Abbrev Number: 8 (DW_TAG_member)
-    <174>   DW_AT_name        : (indirect string, offset: 0x122): width	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 208	
-    <17a>   DW_AT_type        : <0x115>	
-    <17e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><181>: Abbrev Number: 8 (DW_TAG_member)
-    <182>   DW_AT_name        : (indirect string, offset: 0x226): height	
-    <186>   DW_AT_decl_file   : 3	
-    <187>   DW_AT_decl_line   : 209	
-    <188>   DW_AT_type        : <0x115>	
-    <18c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18f>: Abbrev Number: 0
- <1><190>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <191>   DW_AT_name        : (indirect string, offset: 0x2e2): v4l2_pix_format	
-    <195>   DW_AT_byte_size   : 32	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 274	
-    <199>   DW_AT_sibling     : <0x216>	
- <2><19d>: Abbrev Number: 16 (DW_TAG_member)
-    <19e>   DW_AT_name        : (indirect string, offset: 0x122): width	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 275	
-    <1a5>   DW_AT_type        : <0x120>	
-    <1a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1ac>: Abbrev Number: 16 (DW_TAG_member)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0x226): height	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 276	
-    <1b4>   DW_AT_type        : <0x120>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1bb>: Abbrev Number: 16 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x84): pixelformat	
-    <1c0>   DW_AT_decl_file   : 3	
-    <1c1>   DW_AT_decl_line   : 277	
-    <1c3>   DW_AT_type        : <0x120>	
-    <1c7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ca>: Abbrev Number: 16 (DW_TAG_member)
-    <1cb>   DW_AT_name        : (indirect string, offset: 0xf0): field	
-    <1cf>   DW_AT_decl_file   : 3	
-    <1d0>   DW_AT_decl_line   : 278	
-    <1d2>   DW_AT_type        : <0x120>	
-    <1d6>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1d9>: Abbrev Number: 16 (DW_TAG_member)
-    <1da>   DW_AT_name        : (indirect string, offset: 0x90): bytesperline	
-    <1de>   DW_AT_decl_file   : 3	
-    <1df>   DW_AT_decl_line   : 279	
-    <1e1>   DW_AT_type        : <0x120>	
-    <1e5>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1e8>: Abbrev Number: 16 (DW_TAG_member)
-    <1e9>   DW_AT_name        : (indirect string, offset: 0x5e): sizeimage	
-    <1ed>   DW_AT_decl_file   : 3	
-    <1ee>   DW_AT_decl_line   : 280	
-    <1f0>   DW_AT_type        : <0x120>	
-    <1f4>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1f7>: Abbrev Number: 16 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0x187): colorspace	
-    <1fc>   DW_AT_decl_file   : 3	
-    <1fd>   DW_AT_decl_line   : 281	
-    <1ff>   DW_AT_type        : <0x120>	
-    <203>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><206>: Abbrev Number: 16 (DW_TAG_member)
-    <207>   DW_AT_name        : (indirect string, offset: 0x0): priv	
-    <20b>   DW_AT_decl_file   : 3	
-    <20c>   DW_AT_decl_line   : 282	
-    <20e>   DW_AT_type        : <0x120>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><215>: Abbrev Number: 0
- <1><216>: Abbrev Number: 17 (DW_TAG_array_type)
-    <217>   DW_AT_type        : <0x120>	
-    <21b>   DW_AT_sibling     : <0x226>	
- <2><21f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <220>   DW_AT_type        : <0x63>	
-    <224>   DW_AT_upper_bound : 1	
- <2><225>: Abbrev Number: 0
- <1><226>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <227>   DW_AT_name        : (indirect string, offset: 0x355): v4l2_clip	
-    <22b>   DW_AT_byte_size   : 20	
-    <22c>   DW_AT_decl_file   : 3	
-    <22d>   DW_AT_decl_line   : 745	
-    <22f>   DW_AT_sibling     : <0x250>	
- <2><233>: Abbrev Number: 19 (DW_TAG_member)
-    <234>   DW_AT_name        : c	
-    <236>   DW_AT_decl_file   : 3	
-    <237>   DW_AT_decl_line   : 746	
-    <239>   DW_AT_type        : <0x14b>	
-    <23d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><240>: Abbrev Number: 16 (DW_TAG_member)
-    <241>   DW_AT_name        : (indirect string, offset: 0x382): next	
-    <245>   DW_AT_decl_file   : 3	
-    <246>   DW_AT_decl_line   : 747	
-    <248>   DW_AT_type        : <0x250>	
-    <24c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><24f>: Abbrev Number: 0
- <1><250>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <251>   DW_AT_byte_size   : 4	
-    <252>   DW_AT_type        : <0x226>	
- <1><256>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <257>   DW_AT_name        : (indirect string, offset: 0x116): v4l2_window	
-    <25b>   DW_AT_byte_size   : 40	
-    <25c>   DW_AT_decl_file   : 3	
-    <25d>   DW_AT_decl_line   : 750	
-    <25f>   DW_AT_sibling     : <0x2cb>	
- <2><263>: Abbrev Number: 19 (DW_TAG_member)
-    <264>   DW_AT_name        : w	
-    <266>   DW_AT_decl_file   : 3	
-    <267>   DW_AT_decl_line   : 751	
-    <269>   DW_AT_type        : <0x14b>	
-    <26d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><270>: Abbrev Number: 16 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0xf0): field	
-    <275>   DW_AT_decl_file   : 3	
-    <276>   DW_AT_decl_line   : 752	
-    <278>   DW_AT_type        : <0x120>	
-    <27c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><27f>: Abbrev Number: 16 (DW_TAG_member)
-    <280>   DW_AT_name        : (indirect string, offset: 0x369): chromakey	
-    <284>   DW_AT_decl_file   : 3	
-    <285>   DW_AT_decl_line   : 753	
-    <287>   DW_AT_type        : <0x120>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><28e>: Abbrev Number: 16 (DW_TAG_member)
-    <28f>   DW_AT_name        : (indirect string, offset: 0x37c): clips	
-    <293>   DW_AT_decl_file   : 3	
-    <294>   DW_AT_decl_line   : 754	
-    <296>   DW_AT_type        : <0x250>	
-    <29a>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><29d>: Abbrev Number: 16 (DW_TAG_member)
-    <29e>   DW_AT_name        : (indirect string, offset: 0x10c): clipcount	
-    <2a2>   DW_AT_decl_file   : 3	
-    <2a3>   DW_AT_decl_line   : 755	
-    <2a5>   DW_AT_type        : <0x120>	
-    <2a9>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><2ac>: Abbrev Number: 16 (DW_TAG_member)
-    <2ad>   DW_AT_name        : (indirect string, offset: 0x105): bitmap	
-    <2b1>   DW_AT_decl_file   : 3	
-    <2b2>   DW_AT_decl_line   : 756	
-    <2b4>   DW_AT_type        : <0x6a>	
-    <2b8>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><2bb>: Abbrev Number: 16 (DW_TAG_member)
-    <2bc>   DW_AT_name        : (indirect string, offset: 0x192): global_alpha	
-    <2c0>   DW_AT_decl_file   : 3	
-    <2c1>   DW_AT_decl_line   : 757	
-    <2c3>   DW_AT_type        : <0xff>	
-    <2c7>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><2ca>: Abbrev Number: 0
- <1><2cb>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <2cc>   DW_AT_name        : (indirect string, offset: 0xc9): v4l2_vbi_format	
-    <2d0>   DW_AT_byte_size   : 44	
-    <2d1>   DW_AT_decl_file   : 3	
-    <2d2>   DW_AT_decl_line   : 1541	
-    <2d4>   DW_AT_sibling     : <0x351>	
- <2><2d8>: Abbrev Number: 16 (DW_TAG_member)
-    <2d9>   DW_AT_name        : (indirect string, offset: 0x2b8): sampling_rate	
-    <2dd>   DW_AT_decl_file   : 3	
-    <2de>   DW_AT_decl_line   : 1542	
-    <2e0>   DW_AT_type        : <0x120>	
-    <2e4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2e7>: Abbrev Number: 16 (DW_TAG_member)
-    <2e8>   DW_AT_name        : (indirect string, offset: 0x16f): offset	
-    <2ec>   DW_AT_decl_file   : 3	
-    <2ed>   DW_AT_decl_line   : 1543	
-    <2ef>   DW_AT_type        : <0x120>	
-    <2f3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2f6>: Abbrev Number: 16 (DW_TAG_member)
-    <2f7>   DW_AT_name        : (indirect string, offset: 0xae): samples_per_line	
-    <2fb>   DW_AT_decl_file   : 3	
-    <2fc>   DW_AT_decl_line   : 1544	
-    <2fe>   DW_AT_type        : <0x120>	
-    <302>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><305>: Abbrev Number: 16 (DW_TAG_member)
-    <306>   DW_AT_name        : (indirect string, offset: 0x387): sample_format	
-    <30a>   DW_AT_decl_file   : 3	
-    <30b>   DW_AT_decl_line   : 1545	
-    <30d>   DW_AT_type        : <0x120>	
-    <311>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><314>: Abbrev Number: 16 (DW_TAG_member)
-    <315>   DW_AT_name        : (indirect string, offset: 0x28c): start	
-    <319>   DW_AT_decl_file   : 3	
-    <31a>   DW_AT_decl_line   : 1546	
-    <31c>   DW_AT_type        : <0x351>	
-    <320>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><323>: Abbrev Number: 16 (DW_TAG_member)
-    <324>   DW_AT_name        : (indirect string, offset: 0x31b): count	
-    <328>   DW_AT_decl_file   : 3	
-    <329>   DW_AT_decl_line   : 1547	
-    <32b>   DW_AT_type        : <0x216>	
-    <32f>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><332>: Abbrev Number: 16 (DW_TAG_member)
-    <333>   DW_AT_name        : (indirect string, offset: 0x204): flags	
-    <337>   DW_AT_decl_file   : 3	
-    <338>   DW_AT_decl_line   : 1548	
-    <33a>   DW_AT_type        : <0x120>	
-    <33e>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><341>: Abbrev Number: 16 (DW_TAG_member)
-    <342>   DW_AT_name        : (indirect string, offset: 0x373): reserved	
-    <346>   DW_AT_decl_file   : 3	
-    <347>   DW_AT_decl_line   : 1549	
-    <349>   DW_AT_type        : <0x216>	
-    <34d>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><350>: Abbrev Number: 0
- <1><351>: Abbrev Number: 17 (DW_TAG_array_type)
-    <352>   DW_AT_type        : <0x115>	
-    <356>   DW_AT_sibling     : <0x361>	
- <2><35a>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <35b>   DW_AT_type        : <0x63>	
-    <35f>   DW_AT_upper_bound : 1	
- <2><360>: Abbrev Number: 0
- <1><361>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <362>   DW_AT_name        : (indirect string, offset: 0x1da): v4l2_sliced_vbi_format	
-    <366>   DW_AT_byte_size   : 112	
-    <367>   DW_AT_decl_file   : 3	
-    <368>   DW_AT_decl_line   : 1563	
-    <36a>   DW_AT_sibling     : <0x3ab>	
- <2><36e>: Abbrev Number: 16 (DW_TAG_member)
-    <36f>   DW_AT_name        : (indirect string, offset: 0x2d6): service_set	
-    <373>   DW_AT_decl_file   : 3	
-    <374>   DW_AT_decl_line   : 1564	
-    <376>   DW_AT_type        : <0x10a>	
-    <37a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><37d>: Abbrev Number: 16 (DW_TAG_member)
-    <37e>   DW_AT_name        : (indirect string, offset: 0x340): service_lines	
-    <382>   DW_AT_decl_file   : 3	
-    <383>   DW_AT_decl_line   : 1569	
-    <385>   DW_AT_type        : <0x3ab>	
-    <389>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><38c>: Abbrev Number: 16 (DW_TAG_member)
-    <38d>   DW_AT_name        : (indirect string, offset: 0x9d): io_size	
-    <391>   DW_AT_decl_file   : 3	
-    <392>   DW_AT_decl_line   : 1570	
-    <394>   DW_AT_type        : <0x120>	
-    <398>   DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
- <2><39b>: Abbrev Number: 16 (DW_TAG_member)
-    <39c>   DW_AT_name        : (indirect string, offset: 0x373): reserved	
-    <3a0>   DW_AT_decl_file   : 3	
-    <3a1>   DW_AT_decl_line   : 1571	
-    <3a3>   DW_AT_type        : <0x216>	
-    <3a7>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><3aa>: Abbrev Number: 0
- <1><3ab>: Abbrev Number: 17 (DW_TAG_array_type)
-    <3ac>   DW_AT_type        : <0x10a>	
-    <3b0>   DW_AT_sibling     : <0x3c1>	
- <2><3b4>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3b5>   DW_AT_type        : <0x63>	
-    <3b9>   DW_AT_upper_bound : 1	
- <2><3ba>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3bb>   DW_AT_type        : <0x63>	
-    <3bf>   DW_AT_upper_bound : 23	
- <2><3c0>: Abbrev Number: 0
- <1><3c1>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <3c2>   DW_AT_name        : (indirect string, offset: 0x1c4): v4l2_plane_pix_format	
-    <3c6>   DW_AT_byte_size   : 20	
-    <3c7>   DW_AT_decl_file   : 3	
-    <3c8>   DW_AT_decl_line   : 1664	
-    <3ca>   DW_AT_sibling     : <0x3fc>	
- <2><3ce>: Abbrev Number: 16 (DW_TAG_member)
-    <3cf>   DW_AT_name        : (indirect string, offset: 0x5e): sizeimage	
-    <3d3>   DW_AT_decl_file   : 3	
-    <3d4>   DW_AT_decl_line   : 1665	
-    <3d6>   DW_AT_type        : <0x120>	
-    <3da>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><3dd>: Abbrev Number: 16 (DW_TAG_member)
-    <3de>   DW_AT_name        : (indirect string, offset: 0x90): bytesperline	
-    <3e2>   DW_AT_decl_file   : 3	
-    <3e3>   DW_AT_decl_line   : 1666	
-    <3e5>   DW_AT_type        : <0x10a>	
-    <3e9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3ec>: Abbrev Number: 16 (DW_TAG_member)
-    <3ed>   DW_AT_name        : (indirect string, offset: 0x373): reserved	
-    <3f1>   DW_AT_decl_file   : 3	
-    <3f2>   DW_AT_decl_line   : 1667	
-    <3f4>   DW_AT_type        : <0x3fc>	
-    <3f8>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><3fb>: Abbrev Number: 0
- <1><3fc>: Abbrev Number: 17 (DW_TAG_array_type)
-    <3fd>   DW_AT_type        : <0x10a>	
-    <401>   DW_AT_sibling     : <0x40c>	
- <2><405>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <406>   DW_AT_type        : <0x63>	
-    <40a>   DW_AT_upper_bound : 6	
- <2><40b>: Abbrev Number: 0
- <1><40c>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <40d>   DW_AT_name        : (indirect string, offset: 0x19f): v4l2_pix_format_mplane	
-    <411>   DW_AT_byte_size   : 192	
-    <412>   DW_AT_decl_file   : 3	
-    <413>   DW_AT_decl_line   : 1680	
-    <415>   DW_AT_sibling     : <0x494>	
- <2><419>: Abbrev Number: 16 (DW_TAG_member)
-    <41a>   DW_AT_name        : (indirect string, offset: 0x122): width	
-    <41e>   DW_AT_decl_file   : 3	
-    <41f>   DW_AT_decl_line   : 1681	
-    <421>   DW_AT_type        : <0x120>	
-    <425>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><428>: Abbrev Number: 16 (DW_TAG_member)
-    <429>   DW_AT_name        : (indirect string, offset: 0x226): height	
-    <42d>   DW_AT_decl_file   : 3	
-    <42e>   DW_AT_decl_line   : 1682	
-    <430>   DW_AT_type        : <0x120>	
-    <434>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><437>: Abbrev Number: 16 (DW_TAG_member)
-    <438>   DW_AT_name        : (indirect string, offset: 0x84): pixelformat	
-    <43c>   DW_AT_decl_file   : 3	
-    <43d>   DW_AT_decl_line   : 1683	
-    <43f>   DW_AT_type        : <0x120>	
-    <443>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><446>: Abbrev Number: 16 (DW_TAG_member)
-    <447>   DW_AT_name        : (indirect string, offset: 0xf0): field	
-    <44b>   DW_AT_decl_file   : 3	
-    <44c>   DW_AT_decl_line   : 1684	
-    <44e>   DW_AT_type        : <0x120>	
-    <452>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><455>: Abbrev Number: 16 (DW_TAG_member)
-    <456>   DW_AT_name        : (indirect string, offset: 0x187): colorspace	
-    <45a>   DW_AT_decl_file   : 3	
-    <45b>   DW_AT_decl_line   : 1685	
-    <45d>   DW_AT_type        : <0x120>	
-    <461>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><464>: Abbrev Number: 16 (DW_TAG_member)
-    <465>   DW_AT_name        : (indirect string, offset: 0x35f): plane_fmt	
-    <469>   DW_AT_decl_file   : 3	
-    <46a>   DW_AT_decl_line   : 1687	
-    <46c>   DW_AT_type        : <0x494>	
-    <470>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><473>: Abbrev Number: 16 (DW_TAG_member)
-    <474>   DW_AT_name        : (indirect string, offset: 0x23a): num_planes	
-    <478>   DW_AT_decl_file   : 3	
-    <479>   DW_AT_decl_line   : 1688	
-    <47b>   DW_AT_type        : <0xff>	
-    <47f>   DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
- <2><483>: Abbrev Number: 16 (DW_TAG_member)
-    <484>   DW_AT_name        : (indirect string, offset: 0x373): reserved	
-    <488>   DW_AT_decl_file   : 3	
-    <489>   DW_AT_decl_line   : 1689	
-    <48b>   DW_AT_type        : <0x4a4>	
-    <48f>   DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
- <2><493>: Abbrev Number: 0
- <1><494>: Abbrev Number: 17 (DW_TAG_array_type)
-    <495>   DW_AT_type        : <0x3c1>	
-    <499>   DW_AT_sibling     : <0x4a4>	
- <2><49d>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <49e>   DW_AT_type        : <0x63>	
-    <4a2>   DW_AT_upper_bound : 7	
- <2><4a3>: Abbrev Number: 0
- <1><4a4>: Abbrev Number: 17 (DW_TAG_array_type)
-    <4a5>   DW_AT_type        : <0xff>	
-    <4a9>   DW_AT_sibling     : <0x4b4>	
- <2><4ad>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <4ae>   DW_AT_type        : <0x63>	
-    <4b2>   DW_AT_upper_bound : 10	
- <2><4b3>: Abbrev Number: 0
- <1><4b4>: Abbrev Number: 20 (DW_TAG_union_type)
-    <4b5>   DW_AT_byte_size   : 200	
-    <4b6>   DW_AT_decl_file   : 3	
-    <4b7>   DW_AT_decl_line   : 1704	
-    <4b9>   DW_AT_sibling     : <0x506>	
- <2><4bd>: Abbrev Number: 21 (DW_TAG_member)
-    <4be>   DW_AT_name        : pix	
-    <4c2>   DW_AT_decl_file   : 3	
-    <4c3>   DW_AT_decl_line   : 1705	
-    <4c5>   DW_AT_type        : <0x190>	
- <2><4c9>: Abbrev Number: 22 (DW_TAG_member)
-    <4ca>   DW_AT_name        : (indirect string, offset: 0x5): pix_mp	
-    <4ce>   DW_AT_decl_file   : 3	
-    <4cf>   DW_AT_decl_line   : 1706	
-    <4d1>   DW_AT_type        : <0x40c>	
- <2><4d5>: Abbrev Number: 21 (DW_TAG_member)
-    <4d6>   DW_AT_name        : win	
-    <4da>   DW_AT_decl_file   : 3	
-    <4db>   DW_AT_decl_line   : 1707	
-    <4dd>   DW_AT_type        : <0x256>	
- <2><4e1>: Abbrev Number: 21 (DW_TAG_member)
-    <4e2>   DW_AT_name        : vbi	
-    <4e6>   DW_AT_decl_file   : 3	
-    <4e7>   DW_AT_decl_line   : 1708	
-    <4e9>   DW_AT_type        : <0x2cb>	
- <2><4ed>: Abbrev Number: 22 (DW_TAG_member)
-    <4ee>   DW_AT_name        : (indirect string, offset: 0x1f1): sliced	
-    <4f2>   DW_AT_decl_file   : 3	
-    <4f3>   DW_AT_decl_line   : 1709	
-    <4f5>   DW_AT_type        : <0x361>	
- <2><4f9>: Abbrev Number: 22 (DW_TAG_member)
-    <4fa>   DW_AT_name        : (indirect string, offset: 0xf6): raw_data	
-    <4fe>   DW_AT_decl_file   : 3	
-    <4ff>   DW_AT_decl_line   : 1710	
-    <501>   DW_AT_type        : <0x506>	
- <2><505>: Abbrev Number: 0
- <1><506>: Abbrev Number: 17 (DW_TAG_array_type)
-    <507>   DW_AT_type        : <0xff>	
-    <50b>   DW_AT_sibling     : <0x516>	
- <2><50f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <510>   DW_AT_type        : <0x63>	
-    <514>   DW_AT_upper_bound : 199	
- <2><515>: Abbrev Number: 0
- <1><516>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <517>   DW_AT_name        : (indirect string, offset: 0x25c): v4l2_format	
-    <51b>   DW_AT_byte_size   : 204	
-    <51c>   DW_AT_decl_file   : 3	
-    <51d>   DW_AT_decl_line   : 1702	
-    <51f>   DW_AT_sibling     : <0x542>	
- <2><523>: Abbrev Number: 16 (DW_TAG_member)
-    <524>   DW_AT_name        : (indirect string, offset: 0x221): type	
-    <528>   DW_AT_decl_file   : 3	
-    <529>   DW_AT_decl_line   : 1703	
-    <52b>   DW_AT_type        : <0x120>	
-    <52f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><532>: Abbrev Number: 19 (DW_TAG_member)
-    <533>   DW_AT_name        : fmt	
-    <537>   DW_AT_decl_file   : 3	
-    <538>   DW_AT_decl_line   : 1711	
-    <53a>   DW_AT_type        : <0x4b4>	
-    <53e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><541>: Abbrev Number: 0
- <1><542>: Abbrev Number: 12 (DW_TAG_typedef)
-    <543>   DW_AT_name        : (indirect string, offset: 0x2a5): struct_v4l2_format	
-    <547>   DW_AT_decl_file   : 4	
-    <548>   DW_AT_decl_line   : 42	
-    <549>   DW_AT_type        : <0x516>	
- <1><54d>: Abbrev Number: 23 (DW_TAG_variable)
-    <54e>   DW_AT_name        : (indirect string, offset: 0x176): current_wordsize	
-    <552>   DW_AT_decl_file   : 5	
-    <553>   DW_AT_decl_line   : 757	
-    <555>   DW_AT_type        : <0x47>	
-    <559>   DW_AT_external    : 1	
-    <55a>   DW_AT_declaration : 1	
- <1><55b>: Abbrev Number: 23 (DW_TAG_variable)
-    <55c>   DW_AT_name        : (indirect string, offset: 0x34e): sysent	
-    <560>   DW_AT_decl_file   : 5	
-    <561>   DW_AT_decl_line   : 892	
-    <563>   DW_AT_type        : <0xed>	
-    <567>   DW_AT_external    : 1	
-    <568>   DW_AT_declaration : 1	
- <1><569>: Abbrev Number: 23 (DW_TAG_variable)
-    <56a>   DW_AT_name        : (indirect string, offset: 0x282): nsyscalls	
-    <56e>   DW_AT_decl_file   : 5	
-    <56f>   DW_AT_decl_line   : 903	
-    <571>   DW_AT_type        : <0x47>	
-    <575>   DW_AT_external    : 1	
-    <576>   DW_AT_declaration : 1	
- <1><577>: Abbrev Number: 24 (DW_TAG_variable)
-    <578>   DW_AT_name        : (indirect string, offset: 0x15e): mpers_target_var	
-    <57c>   DW_AT_decl_file   : 4	
-    <57d>   DW_AT_decl_line   : 47	
-    <57e>   DW_AT_type        : <0x542>	
-    <582>   DW_AT_external    : 1	
-    <583>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><589>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_format.d2 b/mpers-m32/struct_v4l2_format.d2
deleted file mode 100644
index 7da0e0e..0000000
--- a/mpers-m32/struct_v4l2_format.d2
+++ /dev/null
@@ -1,712 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1f8): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x71): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x128): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x1b6): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x292): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x22d): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x20a): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x155): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2fd): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7b): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x2c6): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x34e): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x30f): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbf): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x68): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa5): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x321): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2d0): _Bool
-<1><ff>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2f8): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><10a>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2f2): __u16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><115>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x315): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><120>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xff): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><12b>
-Abbrev Number: 13 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x32f): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x14b>
-<2><138>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x268): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><13e>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x245): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><144>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xd9): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><14b>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 205
-DW_AT_sibling     : <0x190>
-<2><157>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2cb): left
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 206
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><165>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : top
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 207
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><173>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x122): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 208
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><181>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x226): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 209
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><190>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2e2): v4l2_pix_format
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_sibling     : <0x216>
-<2><19d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x122): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 275
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x226): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 276
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x84): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 277
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ca>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf0): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 278
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><1d9>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x90): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 279
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1e8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5e): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 280
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1f7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x187): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 281
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><206>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): priv
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 282
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><216>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x120>
-DW_AT_sibling     : <0x226>
-<2><21f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><226>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x355): v4l2_clip
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 745
-DW_AT_sibling     : <0x250>
-<2><233>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : c
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 746
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><240>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x382): next
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 747
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><250>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x226>
-<1><256>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x116): v4l2_window
-DW_AT_byte_size   : 40
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 750
-DW_AT_sibling     : <0x2cb>
-<2><263>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : w
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 751
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><270>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf0): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 752
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><27f>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x369): chromakey
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 753
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><28e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x37c): clips
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 754
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><29d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10c): clipcount
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 755
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><2ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x105): bitmap
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 756
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><2bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x192): global_alpha
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><2cb>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc9): v4l2_vbi_format
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1541
-DW_AT_sibling     : <0x351>
-<2><2d8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2b8): sampling_rate
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1542
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2e7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16f): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1543
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><2f6>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xae): samples_per_line
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1544
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><305>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x387): sample_format
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1545
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><314>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28c): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1546
-DW_AT_type        : <0x351>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><323>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x31b): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1547
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><332>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x204): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1548
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><341>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x373): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1549
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><351>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x115>
-DW_AT_sibling     : <0x361>
-<2><35a>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><361>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1da): v4l2_sliced_vbi_format
-DW_AT_byte_size   : 112
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1563
-DW_AT_sibling     : <0x3ab>
-<2><36e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d6): service_set
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1564
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><37d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x340): service_lines
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1569
-DW_AT_type        : <0x3ab>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><38c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9d): io_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1570
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
-<2><39b>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x373): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1571
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<1><3ab>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x3c1>
-<2><3b4>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<2><3ba>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 23
-<1><3c1>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1c4): v4l2_plane_pix_format
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1664
-DW_AT_sibling     : <0x3fc>
-<2><3ce>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5e): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1665
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><3dd>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x90): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1666
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3ec>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x373): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1667
-DW_AT_type        : <0x3fc>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<1><3fc>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x40c>
-<2><405>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 6
-<1><40c>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x19f): v4l2_pix_format_mplane
-DW_AT_byte_size   : 192
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1680
-DW_AT_sibling     : <0x494>
-<2><419>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x122): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1681
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><428>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x226): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1682
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><437>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x84): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1683
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><446>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf0): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1684
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><455>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x187): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1685
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><464>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x35f): plane_fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1687
-DW_AT_type        : <0x494>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><473>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23a): num_planes
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1688
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
-<2><483>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x373): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1689
-DW_AT_type        : <0x4a4>
-DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
-<1><494>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x3c1>
-DW_AT_sibling     : <0x4a4>
-<2><49d>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 7
-<1><4a4>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x4b4>
-<2><4ad>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 10
-<1><4b4>
-Abbrev Number: 20 (DW_TAG_union_type)
-DW_AT_byte_size   : 200
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1704
-DW_AT_sibling     : <0x506>
-<2><4bd>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : pix
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1705
-DW_AT_type        : <0x190>
-<2><4c9>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5): pix_mp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1706
-DW_AT_type        : <0x40c>
-<2><4d5>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : win
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1707
-DW_AT_type        : <0x256>
-<2><4e1>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : vbi
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1708
-DW_AT_type        : <0x2cb>
-<2><4ed>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f1): sliced
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1709
-DW_AT_type        : <0x361>
-<2><4f9>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf6): raw_data
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1710
-DW_AT_type        : <0x506>
-<1><506>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x516>
-<2><50f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 199
-<1><516>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x25c): v4l2_format
-DW_AT_byte_size   : 204
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1702
-DW_AT_sibling     : <0x542>
-<2><523>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x221): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1703
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><532>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1711
-DW_AT_type        : <0x4b4>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><542>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2a5): struct_v4l2_format
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x516>
-<1><54d>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x176): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><55b>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x34e): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><569>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x282): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><577>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x15e): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x542>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_v4l2_format.h b/mpers-m32/struct_v4l2_format.h
index 303e626..bb62d39 100644
--- a/mpers-m32/struct_v4l2_format.h
+++ b/mpers-m32/struct_v4l2_format.h
@@ -55,8 +55,8 @@
 } ATTRIBUTE_PACKED vbi;
 struct {
 uint16_t service_set;
-uint16_t service_lines[24];
-unsigned char mpers_filler_2[50];
+uint16_t service_lines[2][24];
+unsigned char mpers_filler_2[2];
 uint32_t io_size;
 uint32_t reserved[2];
 } ATTRIBUTE_PACKED sliced;
diff --git a/mpers-m32/struct_v4l2_framebuffer.c b/mpers-m32/struct_v4l2_framebuffer.c
index c6f7e3e..4884034 100644
--- a/mpers-m32/struct_v4l2_framebuffer.c
+++ b/mpers-m32/struct_v4l2_framebuffer.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_framebuffer.d1 b/mpers-m32/struct_v4l2_framebuffer.d1
deleted file mode 100644
index c1fd329..0000000
--- a/mpers-m32/struct_v4l2_framebuffer.d1
+++ /dev/null
@@ -1,269 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x23e (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x11d): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x229): mpers-m32/struct_v4l2_framebuffer.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1c3): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x277): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x25e): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x21b): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xbf): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5e): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x17b): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xa8): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x26e): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xcd): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x212): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x1b3): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xdf): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x117): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x208): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x283): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x77): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x18e): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x71): _Bool	
- <1><ff>: Abbrev Number: 12 (DW_TAG_typedef)
-    <100>   DW_AT_name        : (indirect string, offset: 0x48): __u32	
-    <104>   DW_AT_decl_file   : 2	
-    <105>   DW_AT_decl_line   : 26	
-    <106>   DW_AT_type        : <0x47>	
- <1><10a>: Abbrev Number: 13 (DW_TAG_enumeration_type)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x165): v4l2_preemphasis	
-    <10f>   DW_AT_byte_size   : 4	
-    <110>   DW_AT_decl_file   : 6	
-    <111>   DW_AT_decl_line   : 763	
-    <113>   DW_AT_sibling     : <0x12a>	
- <2><117>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <118>   DW_AT_name        : (indirect string, offset: 0x18): V4L2_PREEMPHASIS_DISABLED	
-    <11c>   DW_AT_const_value : 0	
- <2><11d>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <11e>   DW_AT_name        : (indirect string, offset: 0x91): V4L2_PREEMPHASIS_50_uS	
-    <122>   DW_AT_const_value : 1	
- <2><123>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <124>   DW_AT_name        : (indirect string, offset: 0x19c): V4L2_PREEMPHASIS_75_uS	
-    <128>   DW_AT_const_value : 2	
- <2><129>: Abbrev Number: 0
- <1><12a>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x4e): v4l2_pix_format	
-    <12f>   DW_AT_byte_size   : 32	
-    <130>   DW_AT_decl_file   : 3	
-    <131>   DW_AT_decl_line   : 274	
-    <133>   DW_AT_sibling     : <0x1b0>	
- <2><137>: Abbrev Number: 16 (DW_TAG_member)
-    <138>   DW_AT_name        : (indirect string, offset: 0x258): width	
-    <13c>   DW_AT_decl_file   : 3	
-    <13d>   DW_AT_decl_line   : 275	
-    <13f>   DW_AT_type        : <0xff>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><146>: Abbrev Number: 16 (DW_TAG_member)
-    <147>   DW_AT_name        : (indirect string, offset: 0xe6): height	
-    <14b>   DW_AT_decl_file   : 3	
-    <14c>   DW_AT_decl_line   : 276	
-    <14e>   DW_AT_type        : <0xff>	
-    <152>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><155>: Abbrev Number: 16 (DW_TAG_member)
-    <156>   DW_AT_name        : (indirect string, offset: 0xfe): pixelformat	
-    <15a>   DW_AT_decl_file   : 3	
-    <15b>   DW_AT_decl_line   : 277	
-    <15d>   DW_AT_type        : <0xff>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><164>: Abbrev Number: 16 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x268): field	
-    <169>   DW_AT_decl_file   : 3	
-    <16a>   DW_AT_decl_line   : 278	
-    <16c>   DW_AT_type        : <0xff>	
-    <170>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><173>: Abbrev Number: 16 (DW_TAG_member)
-    <174>   DW_AT_name        : (indirect string, offset: 0x10a): bytesperline	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 279	
-    <17b>   DW_AT_type        : <0xff>	
-    <17f>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><182>: Abbrev Number: 16 (DW_TAG_member)
-    <183>   DW_AT_name        : (indirect string, offset: 0x1fe): sizeimage	
-    <187>   DW_AT_decl_file   : 3	
-    <188>   DW_AT_decl_line   : 280	
-    <18a>   DW_AT_type        : <0xff>	
-    <18e>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><191>: Abbrev Number: 16 (DW_TAG_member)
-    <192>   DW_AT_name        : (indirect string, offset: 0x1b8): colorspace	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 281	
-    <199>   DW_AT_type        : <0xff>	
-    <19d>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1a0>: Abbrev Number: 16 (DW_TAG_member)
-    <1a1>   DW_AT_name        : (indirect string, offset: 0x43): priv	
-    <1a5>   DW_AT_decl_file   : 3	
-    <1a6>   DW_AT_decl_line   : 282	
-    <1a8>   DW_AT_type        : <0xff>	
-    <1ac>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1af>: Abbrev Number: 0
- <1><1b0>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <1b1>   DW_AT_name        : (indirect string, offset: 0x32): v4l2_framebuffer	
-    <1b5>   DW_AT_byte_size   : 44	
-    <1b6>   DW_AT_decl_file   : 3	
-    <1b7>   DW_AT_decl_line   : 719	
-    <1b9>   DW_AT_sibling     : <0x1fa>	
- <2><1bd>: Abbrev Number: 16 (DW_TAG_member)
-    <1be>   DW_AT_name        : (indirect string, offset: 0x24d): capability	
-    <1c2>   DW_AT_decl_file   : 3	
-    <1c3>   DW_AT_decl_line   : 720	
-    <1c5>   DW_AT_type        : <0xff>	
-    <1c9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1cc>: Abbrev Number: 16 (DW_TAG_member)
-    <1cd>   DW_AT_name        : (indirect string, offset: 0x188): flags	
-    <1d1>   DW_AT_decl_file   : 3	
-    <1d2>   DW_AT_decl_line   : 721	
-    <1d4>   DW_AT_type        : <0xff>	
-    <1d8>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1db>: Abbrev Number: 16 (DW_TAG_member)
-    <1dc>   DW_AT_name        : (indirect string, offset: 0x176): base	
-    <1e0>   DW_AT_decl_file   : 3	
-    <1e1>   DW_AT_decl_line   : 724	
-    <1e3>   DW_AT_type        : <0x6a>	
-    <1e7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ea>: Abbrev Number: 17 (DW_TAG_member)
-    <1eb>   DW_AT_name        : fmt	
-    <1ef>   DW_AT_decl_file   : 3	
-    <1f0>   DW_AT_decl_line   : 725	
-    <1f2>   DW_AT_type        : <0x12a>	
-    <1f6>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1f9>: Abbrev Number: 0
- <1><1fa>: Abbrev Number: 12 (DW_TAG_typedef)
-    <1fb>   DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_framebuffer	
-    <1ff>   DW_AT_decl_file   : 4	
-    <200>   DW_AT_decl_line   : 43	
-    <201>   DW_AT_type        : <0x1b0>	
- <1><205>: Abbrev Number: 18 (DW_TAG_variable)
-    <206>   DW_AT_name        : (indirect string, offset: 0xed): current_wordsize	
-    <20a>   DW_AT_decl_file   : 5	
-    <20b>   DW_AT_decl_line   : 757	
-    <20d>   DW_AT_type        : <0x47>	
-    <211>   DW_AT_external    : 1	
-    <212>   DW_AT_declaration : 1	
- <1><213>: Abbrev Number: 18 (DW_TAG_variable)
-    <214>   DW_AT_name        : (indirect string, offset: 0xdf): sysent	
-    <218>   DW_AT_decl_file   : 5	
-    <219>   DW_AT_decl_line   : 892	
-    <21b>   DW_AT_type        : <0xed>	
-    <21f>   DW_AT_external    : 1	
-    <220>   DW_AT_declaration : 1	
- <1><221>: Abbrev Number: 18 (DW_TAG_variable)
-    <222>   DW_AT_name        : (indirect string, offset: 0x1f4): nsyscalls	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 903	
-    <229>   DW_AT_type        : <0x47>	
-    <22d>   DW_AT_external    : 1	
-    <22e>   DW_AT_declaration : 1	
- <1><22f>: Abbrev Number: 19 (DW_TAG_variable)
-    <230>   DW_AT_name        : (indirect string, offset: 0x80): mpers_target_var	
-    <234>   DW_AT_decl_file   : 4	
-    <235>   DW_AT_decl_line   : 47	
-    <236>   DW_AT_type        : <0x1fa>	
-    <23a>   DW_AT_external    : 1	
-    <23b>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><241>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_framebuffer.d2 b/mpers-m32/struct_v4l2_framebuffer.d2
deleted file mode 100644
index 905a179..0000000
--- a/mpers-m32/struct_v4l2_framebuffer.d2
+++ /dev/null
@@ -1,301 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x277): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x25e): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x21b): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xbf): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5e): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x17b): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa8): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x26e): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xcd): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x212): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b3): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xdf): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x117): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x208): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x283): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x77): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x18e): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x71): _Bool
-<1><ff>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x48): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><10a>
-Abbrev Number: 13 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x165): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x12a>
-<2><117>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x18): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><11d>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x91): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><123>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x19c): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><12a>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x4e): v4l2_pix_format
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_sibling     : <0x1b0>
-<2><137>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x258): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 275
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><146>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe6): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 276
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><155>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfe): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 277
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><164>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x268): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 278
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><173>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10a): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 279
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><182>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fe): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 280
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><191>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b8): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 281
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1a0>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x43): priv
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 282
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><1b0>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x32): v4l2_framebuffer
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 719
-DW_AT_sibling     : <0x1fa>
-<2><1bd>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x24d): capability
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 720
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1cc>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x188): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 721
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1db>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x176): base
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 724
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ea>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 725
-DW_AT_type        : <0x12a>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1fa>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_framebuffer
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x1b0>
-<1><205>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xed): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><213>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xdf): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><221>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1f4): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><22f>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x80): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1fa>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_v4l2_input.c b/mpers-m32/struct_v4l2_input.c
index fe0ffcd..850ef00 100644
--- a/mpers-m32/struct_v4l2_input.c
+++ b/mpers-m32/struct_v4l2_input.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_input.d1 b/mpers-m32/struct_v4l2_input.d1
deleted file mode 100644
index e276cb1..0000000
--- a/mpers-m32/struct_v4l2_input.d1
+++ /dev/null
@@ -1,271 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x243 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x108): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x41): mpers-m32/struct_v4l2_input.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x198): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x230): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x205): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1e2): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa7): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x23c): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x161): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x90): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x227): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb5): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1d9): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x193): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xc7): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x102): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x86): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x24f): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x66): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x185): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x2c): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x1f0): __u8	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 20	
-    <104>   DW_AT_type        : <0x39>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x32): __u32	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 26	
-    <10f>   DW_AT_type        : <0x47>	
- <1><113>: Abbrev Number: 11 (DW_TAG_typedef)
-    <114>   DW_AT_name        : (indirect string, offset: 0x1d3): __u64	
-    <118>   DW_AT_decl_file   : 2	
-    <119>   DW_AT_decl_line   : 30	
-    <11a>   DW_AT_type        : <0x4e>	
- <1><11e>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x150): v4l2_preemphasis	
-    <123>   DW_AT_byte_size   : 4	
-    <124>   DW_AT_decl_file   : 6	
-    <125>   DW_AT_decl_line   : 763	
-    <127>   DW_AT_sibling     : <0x13e>	
- <2><12b>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x12): V4L2_PREEMPHASIS_DISABLED	
-    <130>   DW_AT_const_value : 0	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x16e): V4L2_PREEMPHASIS_50_uS	
-    <136>   DW_AT_const_value : 1	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0xdf): V4L2_PREEMPHASIS_75_uS	
-    <13c>   DW_AT_const_value : 2	
- <2><13d>: Abbrev Number: 0
- <1><13e>: Abbrev Number: 14 (DW_TAG_array_type)
-    <13f>   DW_AT_type        : <0xfd>	
-    <143>   DW_AT_sibling     : <0x14e>	
- <2><147>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <148>   DW_AT_type        : <0x63>	
-    <14c>   DW_AT_upper_bound : 31	
- <2><14d>: Abbrev Number: 0
- <1><14e>: Abbrev Number: 14 (DW_TAG_array_type)
-    <14f>   DW_AT_type        : <0x108>	
-    <153>   DW_AT_sibling     : <0x15e>	
- <2><157>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <158>   DW_AT_type        : <0x63>	
-    <15c>   DW_AT_upper_bound : 2	
- <2><15d>: Abbrev Number: 0
- <1><15e>: Abbrev Number: 16 (DW_TAG_typedef)
-    <15f>   DW_AT_name        : (indirect string, offset: 0xf6): v4l2_std_id	
-    <163>   DW_AT_decl_file   : 3	
-    <164>   DW_AT_decl_line   : 826	
-    <166>   DW_AT_type        : <0x113>	
- <1><16a>: Abbrev Number: 17 (DW_TAG_structure_type)
-    <16b>   DW_AT_name        : (indirect string, offset: 0x20f): v4l2_input	
-    <16f>   DW_AT_byte_size   : 76	
-    <170>   DW_AT_decl_file   : 3	
-    <171>   DW_AT_decl_line   : 1145	
-    <173>   DW_AT_sibling     : <0x1ff>	
- <2><177>: Abbrev Number: 18 (DW_TAG_member)
-    <178>   DW_AT_name        : (indirect string, offset: 0x1fa): index	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 1146	
-    <17f>   DW_AT_type        : <0x108>	
-    <183>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><186>: Abbrev Number: 18 (DW_TAG_member)
-    <187>   DW_AT_name        : (indirect string, offset: 0x1f5): name	
-    <18b>   DW_AT_decl_file   : 3	
-    <18c>   DW_AT_decl_line   : 1147	
-    <18e>   DW_AT_type        : <0x13e>	
-    <192>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><195>: Abbrev Number: 18 (DW_TAG_member)
-    <196>   DW_AT_name        : (indirect string, offset: 0x200): type	
-    <19a>   DW_AT_decl_file   : 3	
-    <19b>   DW_AT_decl_line   : 1148	
-    <19d>   DW_AT_type        : <0x108>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1a4>: Abbrev Number: 18 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x258): audioset	
-    <1a9>   DW_AT_decl_file   : 3	
-    <1aa>   DW_AT_decl_line   : 1149	
-    <1ac>   DW_AT_type        : <0x108>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1b3>: Abbrev Number: 18 (DW_TAG_member)
-    <1b4>   DW_AT_name        : (indirect string, offset: 0x6f): tuner	
-    <1b8>   DW_AT_decl_file   : 3	
-    <1b9>   DW_AT_decl_line   : 1150	
-    <1bb>   DW_AT_type        : <0x108>	
-    <1bf>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1c2>: Abbrev Number: 19 (DW_TAG_member)
-    <1c3>   DW_AT_name        : std	
-    <1c7>   DW_AT_decl_file   : 3	
-    <1c8>   DW_AT_decl_line   : 1151	
-    <1ca>   DW_AT_type        : <0x15e>	
-    <1ce>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1d1>: Abbrev Number: 18 (DW_TAG_member)
-    <1d2>   DW_AT_name        : (indirect string, offset: 0x5f): status	
-    <1d6>   DW_AT_decl_file   : 3	
-    <1d7>   DW_AT_decl_line   : 1152	
-    <1d9>   DW_AT_type        : <0x108>	
-    <1dd>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1e0>: Abbrev Number: 18 (DW_TAG_member)
-    <1e1>   DW_AT_name        : (indirect string, offset: 0x21a): capabilities	
-    <1e5>   DW_AT_decl_file   : 3	
-    <1e6>   DW_AT_decl_line   : 1153	
-    <1e8>   DW_AT_type        : <0x108>	
-    <1ec>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><1ef>: Abbrev Number: 18 (DW_TAG_member)
-    <1f0>   DW_AT_name        : (indirect string, offset: 0x38): reserved	
-    <1f4>   DW_AT_decl_file   : 3	
-    <1f5>   DW_AT_decl_line   : 1154	
-    <1f7>   DW_AT_type        : <0x14e>	
-    <1fb>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1fe>: Abbrev Number: 0
- <1><1ff>: Abbrev Number: 11 (DW_TAG_typedef)
-    <200>   DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_input	
-    <204>   DW_AT_decl_file   : 4	
-    <205>   DW_AT_decl_line   : 44	
-    <206>   DW_AT_type        : <0x16a>	
- <1><20a>: Abbrev Number: 20 (DW_TAG_variable)
-    <20b>   DW_AT_name        : (indirect string, offset: 0xce): current_wordsize	
-    <20f>   DW_AT_decl_file   : 5	
-    <210>   DW_AT_decl_line   : 757	
-    <212>   DW_AT_type        : <0x47>	
-    <216>   DW_AT_external    : 1	
-    <217>   DW_AT_declaration : 1	
- <1><218>: Abbrev Number: 20 (DW_TAG_variable)
-    <219>   DW_AT_name        : (indirect string, offset: 0xc7): sysent	
-    <21d>   DW_AT_decl_file   : 5	
-    <21e>   DW_AT_decl_line   : 892	
-    <220>   DW_AT_type        : <0xeb>	
-    <224>   DW_AT_external    : 1	
-    <225>   DW_AT_declaration : 1	
- <1><226>: Abbrev Number: 20 (DW_TAG_variable)
-    <227>   DW_AT_name        : (indirect string, offset: 0x1c9): nsyscalls	
-    <22b>   DW_AT_decl_file   : 5	
-    <22c>   DW_AT_decl_line   : 903	
-    <22e>   DW_AT_type        : <0x47>	
-    <232>   DW_AT_external    : 1	
-    <233>   DW_AT_declaration : 1	
- <1><234>: Abbrev Number: 21 (DW_TAG_variable)
-    <235>   DW_AT_name        : (indirect string, offset: 0x75): mpers_target_var	
-    <239>   DW_AT_decl_file   : 4	
-    <23a>   DW_AT_decl_line   : 47	
-    <23b>   DW_AT_type        : <0x1ff>	
-    <23f>   DW_AT_external    : 1	
-    <240>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><246>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_input.d2 b/mpers-m32/struct_v4l2_input.d2
deleted file mode 100644
index b4d121d..0000000
--- a/mpers-m32/struct_v4l2_input.d2
+++ /dev/null
@@ -1,304 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x230): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x205): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e2): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa7): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x23c): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x161): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x90): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x227): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb5): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d9): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x193): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc7): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x102): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x86): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x24f): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x66): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x185): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2c): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1f0): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x32): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><113>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d3): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><11e>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x150): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x13e>
-<2><12b>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x12): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x16e): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xdf): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><13e>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0xfd>
-DW_AT_sibling     : <0x14e>
-<2><147>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 31
-<1><14e>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x15e>
-<2><157>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 2
-<1><15e>
-Abbrev Number: 16 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf6): v4l2_std_id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 826
-DW_AT_type        : <0x113>
-<1><16a>
-Abbrev Number: 17 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x20f): v4l2_input
-DW_AT_byte_size   : 76
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1145
-DW_AT_sibling     : <0x1ff>
-<2><177>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fa): index
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1146
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><186>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f5): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1147
-DW_AT_type        : <0x13e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><195>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x200): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1148
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1a4>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x258): audioset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1149
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1b3>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6f): tuner
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1150
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1c2>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : std
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1151
-DW_AT_type        : <0x15e>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1d1>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5f): status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1152
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1e0>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21a): capabilities
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1153
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><1ef>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x38): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1154
-DW_AT_type        : <0x14e>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<1><1ff>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_input
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x16a>
-<1><20a>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xce): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><218>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc7): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><226>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1c9): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><234>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x75): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1ff>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/struct_v4l2_standard.c b/mpers-m32/struct_v4l2_standard.c
index 3e4dbc4..49d08d6 100644
--- a/mpers-m32/struct_v4l2_standard.c
+++ b/mpers-m32/struct_v4l2_standard.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-m32/struct_v4l2_standard.d1 b/mpers-m32/struct_v4l2_standard.d1
deleted file mode 100644
index 7dbc1da..0000000
--- a/mpers-m32/struct_v4l2_standard.d1
+++ /dev/null
@@ -1,272 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x23e (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x137): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x3d): mpers-m32/struct_v4l2_standard.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1c7): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x24d): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x71): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x21c): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd6): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5e): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x190): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x244): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xe4): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x213): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x1c2): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xf6): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x131): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xb5): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x265): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x90): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x1b4): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x28): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x22a): __u8	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 20	
-    <104>   DW_AT_type        : <0x39>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x2e): __u32	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 26	
-    <10f>   DW_AT_type        : <0x47>	
- <1><113>: Abbrev Number: 11 (DW_TAG_typedef)
-    <114>   DW_AT_name        : (indirect string, offset: 0x20d): __u64	
-    <118>   DW_AT_decl_file   : 2	
-    <119>   DW_AT_decl_line   : 30	
-    <11a>   DW_AT_type        : <0x4e>	
- <1><11e>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x17f): v4l2_preemphasis	
-    <123>   DW_AT_byte_size   : 4	
-    <124>   DW_AT_decl_file   : 6	
-    <125>   DW_AT_decl_line   : 763	
-    <127>   DW_AT_sibling     : <0x13e>	
- <2><12b>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <12c>   DW_AT_name        : (indirect string, offset: 0xe): V4L2_PREEMPHASIS_DISABLED	
-    <130>   DW_AT_const_value : 0	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x19d): V4L2_PREEMPHASIS_50_uS	
-    <136>   DW_AT_const_value : 1	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0x10e): V4L2_PREEMPHASIS_75_uS	
-    <13c>   DW_AT_const_value : 2	
- <2><13d>: Abbrev Number: 0
- <1><13e>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <13f>   DW_AT_name        : (indirect string, offset: 0x99): v4l2_fract	
-    <143>   DW_AT_byte_size   : 8	
-    <144>   DW_AT_decl_file   : 3	
-    <145>   DW_AT_decl_line   : 212	
-    <146>   DW_AT_sibling     : <0x167>	
- <2><14a>: Abbrev Number: 7 (DW_TAG_member)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x23a): numerator	
-    <14f>   DW_AT_decl_file   : 3	
-    <150>   DW_AT_decl_line   : 213	
-    <151>   DW_AT_type        : <0x108>	
-    <155>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><158>: Abbrev Number: 7 (DW_TAG_member)
-    <159>   DW_AT_name        : (indirect string, offset: 0x26e): denominator	
-    <15d>   DW_AT_decl_file   : 3	
-    <15e>   DW_AT_decl_line   : 214	
-    <15f>   DW_AT_type        : <0x108>	
-    <163>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><166>: Abbrev Number: 0
- <1><167>: Abbrev Number: 14 (DW_TAG_array_type)
-    <168>   DW_AT_type        : <0x108>	
-    <16c>   DW_AT_sibling     : <0x177>	
- <2><170>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <171>   DW_AT_type        : <0x63>	
-    <175>   DW_AT_upper_bound : 3	
- <2><176>: Abbrev Number: 0
- <1><177>: Abbrev Number: 16 (DW_TAG_typedef)
-    <178>   DW_AT_name        : (indirect string, offset: 0x125): v4l2_std_id	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 826	
-    <17f>   DW_AT_type        : <0x113>	
- <1><183>: Abbrev Number: 17 (DW_TAG_structure_type)
-    <184>   DW_AT_name        : (indirect string, offset: 0x0): v4l2_standard	
-    <188>   DW_AT_byte_size   : 64	
-    <189>   DW_AT_decl_file   : 3	
-    <18a>   DW_AT_decl_line   : 954	
-    <18c>   DW_AT_sibling     : <0x1ea>	
- <2><190>: Abbrev Number: 18 (DW_TAG_member)
-    <191>   DW_AT_name        : (indirect string, offset: 0x234): index	
-    <195>   DW_AT_decl_file   : 3	
-    <196>   DW_AT_decl_line   : 955	
-    <198>   DW_AT_type        : <0x108>	
-    <19c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><19f>: Abbrev Number: 19 (DW_TAG_member)
-    <1a0>   DW_AT_name        : id	
-    <1a3>   DW_AT_decl_file   : 3	
-    <1a4>   DW_AT_decl_line   : 956	
-    <1a6>   DW_AT_type        : <0x177>	
-    <1aa>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1ad>: Abbrev Number: 18 (DW_TAG_member)
-    <1ae>   DW_AT_name        : (indirect string, offset: 0x22f): name	
-    <1b2>   DW_AT_decl_file   : 3	
-    <1b3>   DW_AT_decl_line   : 957	
-    <1b5>   DW_AT_type        : <0x1ea>	
-    <1b9>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1bc>: Abbrev Number: 18 (DW_TAG_member)
-    <1bd>   DW_AT_name        : (indirect string, offset: 0x259): frameperiod	
-    <1c1>   DW_AT_decl_file   : 3	
-    <1c2>   DW_AT_decl_line   : 958	
-    <1c4>   DW_AT_type        : <0x13e>	
-    <1c8>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1cb>: Abbrev Number: 18 (DW_TAG_member)
-    <1cc>   DW_AT_name        : (indirect string, offset: 0x1f8): framelines	
-    <1d0>   DW_AT_decl_file   : 3	
-    <1d1>   DW_AT_decl_line   : 959	
-    <1d3>   DW_AT_type        : <0x108>	
-    <1d7>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1da>: Abbrev Number: 18 (DW_TAG_member)
-    <1db>   DW_AT_name        : (indirect string, offset: 0x34): reserved	
-    <1df>   DW_AT_decl_file   : 3	
-    <1e0>   DW_AT_decl_line   : 960	
-    <1e2>   DW_AT_type        : <0x167>	
-    <1e6>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1e9>: Abbrev Number: 0
- <1><1ea>: Abbrev Number: 14 (DW_TAG_array_type)
-    <1eb>   DW_AT_type        : <0xfd>	
-    <1ef>   DW_AT_sibling     : <0x1fa>	
- <2><1f3>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <1f4>   DW_AT_type        : <0x63>	
-    <1f8>   DW_AT_upper_bound : 23	
- <2><1f9>: Abbrev Number: 0
- <1><1fa>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1fb>   DW_AT_name        : (indirect string, offset: 0x7b): struct_v4l2_standard	
-    <1ff>   DW_AT_decl_file   : 4	
-    <200>   DW_AT_decl_line   : 45	
-    <201>   DW_AT_type        : <0x183>	
- <1><205>: Abbrev Number: 20 (DW_TAG_variable)
-    <206>   DW_AT_name        : (indirect string, offset: 0xfd): current_wordsize	
-    <20a>   DW_AT_decl_file   : 5	
-    <20b>   DW_AT_decl_line   : 757	
-    <20d>   DW_AT_type        : <0x47>	
-    <211>   DW_AT_external    : 1	
-    <212>   DW_AT_declaration : 1	
- <1><213>: Abbrev Number: 20 (DW_TAG_variable)
-    <214>   DW_AT_name        : (indirect string, offset: 0xf6): sysent	
-    <218>   DW_AT_decl_file   : 5	
-    <219>   DW_AT_decl_line   : 892	
-    <21b>   DW_AT_type        : <0xeb>	
-    <21f>   DW_AT_external    : 1	
-    <220>   DW_AT_declaration : 1	
- <1><221>: Abbrev Number: 20 (DW_TAG_variable)
-    <222>   DW_AT_name        : (indirect string, offset: 0x203): nsyscalls	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 903	
-    <229>   DW_AT_type        : <0x47>	
-    <22d>   DW_AT_external    : 1	
-    <22e>   DW_AT_declaration : 1	
- <1><22f>: Abbrev Number: 21 (DW_TAG_variable)
-    <230>   DW_AT_name        : (indirect string, offset: 0xa4): mpers_target_var	
-    <234>   DW_AT_decl_file   : 4	
-    <235>   DW_AT_decl_line   : 47	
-    <236>   DW_AT_type        : <0x1fa>	
-    <23a>   DW_AT_external    : 1	
-    <23b>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><241>: Abbrev Number: 0
-
diff --git a/mpers-m32/struct_v4l2_standard.d2 b/mpers-m32/struct_v4l2_standard.d2
deleted file mode 100644
index 7952169..0000000
--- a/mpers-m32/struct_v4l2_standard.d2
+++ /dev/null
@@ -1,304 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x24d): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x71): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x21c): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd6): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5e): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x190): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x244): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe4): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x213): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1c2): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf6): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x131): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb5): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x265): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x90): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b4): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x28): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x22a): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2e): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><113>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x20d): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><11e>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x17f): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x13e>
-<2><12b>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xe): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x19d): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x10e): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><13e>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x99): v4l2_fract
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 212
-DW_AT_sibling     : <0x167>
-<2><14a>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23a): numerator
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 213
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><158>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26e): denominator
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 214
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><167>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x177>
-<2><170>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><177>
-Abbrev Number: 16 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x125): v4l2_std_id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 826
-DW_AT_type        : <0x113>
-<1><183>
-Abbrev Number: 17 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): v4l2_standard
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 954
-DW_AT_sibling     : <0x1ea>
-<2><190>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x234): index
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 955
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><19f>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 956
-DW_AT_type        : <0x177>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1ad>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22f): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 957
-DW_AT_type        : <0x1ea>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><1bc>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x259): frameperiod
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 958
-DW_AT_type        : <0x13e>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1cb>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f8): framelines
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 959
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1da>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x34): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 960
-DW_AT_type        : <0x167>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<1><1ea>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0xfd>
-DW_AT_sibling     : <0x1fa>
-<2><1f3>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 23
-<1><1fa>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x7b): struct_v4l2_standard
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x183>
-<1><205>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xfd): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><213>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf6): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><221>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x203): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><22f>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa4): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1fa>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/sysinfo_t.c b/mpers-m32/sysinfo_t.c
index 6e656cf..c34a80f 100644
--- a/mpers-m32/sysinfo_t.c
+++ b/mpers-m32/sysinfo_t.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2012 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/sysinfo_t.d1 b/mpers-m32/sysinfo_t.d1
deleted file mode 100644
index a873cdc..0000000
--- a/mpers-m32/sysinfo_t.d1
+++ /dev/null
@@ -1,285 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x25d (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xf3): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xb8): mpers-m32/sysinfo_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1f6): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ea): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1cf): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1ae): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x98): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x30): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x13b): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x81): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1e1): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xa6): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x193): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x156): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_array_type)
-    <72>   DW_AT_type        : <0x6a>	
-    <76>   DW_AT_sibling     : <0x81>	
- <2><7a>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <7b>   DW_AT_type        : <0x63>	
-    <7f>   DW_AT_upper_bound : 7	
- <2><80>: Abbrev Number: 0
- <1><81>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <82>   DW_AT_byte_size   : 4	
-    <83>   DW_AT_type        : <0x87>	
- <1><87>: Abbrev Number: 7 (DW_TAG_const_type)
-    <88>   DW_AT_type        : <0x6a>	
- <1><8c>: Abbrev Number: 8 (DW_TAG_typedef)
-    <8d>   DW_AT_name        : (indirect string, offset: 0x43): __kernel_long_t	
-    <91>   DW_AT_decl_file   : 1	
-    <92>   DW_AT_decl_line   : 14	
-    <93>   DW_AT_type        : <0x55>	
- <1><97>: Abbrev Number: 8 (DW_TAG_typedef)
-    <98>   DW_AT_name        : (indirect string, offset: 0x178): __kernel_ulong_t	
-    <9c>   DW_AT_decl_file   : 1	
-    <9d>   DW_AT_decl_line   : 15	
-    <9e>   DW_AT_type        : <0x5c>	
- <1><a2>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a3>   DW_AT_name        : (indirect string, offset: 0xce): sysent	
-    <a7>   DW_AT_byte_size   : 20	
-    <a8>   DW_AT_decl_file   : 2	
-    <a9>   DW_AT_decl_line   : 4	
-    <aa>   DW_AT_sibling     : <0xf5>	
- <2><ae>: Abbrev Number: 10 (DW_TAG_member)
-    <af>   DW_AT_name        : (indirect string, offset: 0xed): nargs	
-    <b3>   DW_AT_decl_file   : 2	
-    <b4>   DW_AT_decl_line   : 5	
-    <b5>   DW_AT_type        : <0x47>	
-    <b9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><bc>: Abbrev Number: 10 (DW_TAG_member)
-    <bd>   DW_AT_name        : (indirect string, offset: 0x77): sys_flags	
-    <c1>   DW_AT_decl_file   : 2	
-    <c2>   DW_AT_decl_line   : 6	
-    <c3>   DW_AT_type        : <0x2b>	
-    <c7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ca>: Abbrev Number: 11 (DW_TAG_member)
-    <cb>   DW_AT_name        : sen	
-    <cf>   DW_AT_decl_file   : 2	
-    <d0>   DW_AT_decl_line   : 7	
-    <d1>   DW_AT_type        : <0x2b>	
-    <d5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d8>: Abbrev Number: 10 (DW_TAG_member)
-    <d9>   DW_AT_name        : (indirect string, offset: 0x227): sys_func	
-    <dd>   DW_AT_decl_file   : 2	
-    <de>   DW_AT_decl_line   : 8	
-    <df>   DW_AT_type        : <0x100>	
-    <e3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e6>: Abbrev Number: 10 (DW_TAG_member)
-    <e7>   DW_AT_name        : (indirect string, offset: 0x53): sys_name	
-    <eb>   DW_AT_decl_file   : 2	
-    <ec>   DW_AT_decl_line   : 9	
-    <ed>   DW_AT_type        : <0x81>	
-    <f1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><f4>: Abbrev Number: 0
- <1><f5>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <f6>   DW_AT_type        : <0x2b>	
-    <fa>   DW_AT_sibling     : <0x100>	
- <2><fe>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><ff>: Abbrev Number: 0
- <1><100>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <101>   DW_AT_byte_size   : 4	
-    <102>   DW_AT_type        : <0xf5>	
- <1><106>: Abbrev Number: 8 (DW_TAG_typedef)
-    <107>   DW_AT_name        : (indirect string, offset: 0x148): struct_sysent	
-    <10b>   DW_AT_decl_file   : 2	
-    <10c>   DW_AT_decl_line   : 10	
-    <10d>   DW_AT_type        : <0xa2>	
- <1><111>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <112>   DW_AT_byte_size   : 4	
-    <113>   DW_AT_type        : <0x117>	
- <1><117>: Abbrev Number: 7 (DW_TAG_const_type)
-    <118>   DW_AT_type        : <0x106>	
- <1><11c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <11d>   DW_AT_byte_size   : 1	
-    <11e>   DW_AT_encoding    : 2	(boolean)
-    <11f>   DW_AT_name        : (indirect string, offset: 0xc): _Bool	
- <1><123>: Abbrev Number: 8 (DW_TAG_typedef)
-    <124>   DW_AT_name        : (indirect string, offset: 0x6): __u16	
-    <128>   DW_AT_decl_file   : 3	
-    <129>   DW_AT_decl_line   : 23	
-    <12a>   DW_AT_type        : <0x40>	
- <1><12e>: Abbrev Number: 8 (DW_TAG_typedef)
-    <12f>   DW_AT_name        : (indirect string, offset: 0x12): __u32	
-    <133>   DW_AT_decl_file   : 3	
-    <134>   DW_AT_decl_line   : 26	
-    <135>   DW_AT_type        : <0x47>	
- <1><139>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <13a>   DW_AT_name        : (indirect string, offset: 0x19c): sysinfo	
-    <13e>   DW_AT_byte_size   : 64	
-    <13f>   DW_AT_decl_file   : 4	
-    <140>   DW_AT_decl_line   : 7	
-    <141>   DW_AT_sibling     : <0x209>	
- <2><145>: Abbrev Number: 10 (DW_TAG_member)
-    <146>   DW_AT_name        : (indirect string, offset: 0xe6): uptime	
-    <14a>   DW_AT_decl_file   : 4	
-    <14b>   DW_AT_decl_line   : 8	
-    <14c>   DW_AT_type        : <0x8c>	
-    <150>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><153>: Abbrev Number: 10 (DW_TAG_member)
-    <154>   DW_AT_name        : (indirect string, offset: 0x18): loads	
-    <158>   DW_AT_decl_file   : 4	
-    <159>   DW_AT_decl_line   : 9	
-    <15a>   DW_AT_type        : <0x209>	
-    <15e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><161>: Abbrev Number: 10 (DW_TAG_member)
-    <162>   DW_AT_name        : (indirect string, offset: 0x27): totalram	
-    <166>   DW_AT_decl_file   : 4	
-    <167>   DW_AT_decl_line   : 10	
-    <168>   DW_AT_type        : <0x97>	
-    <16c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><16f>: Abbrev Number: 10 (DW_TAG_member)
-    <170>   DW_AT_name        : (indirect string, offset: 0x1d9): freeram	
-    <174>   DW_AT_decl_file   : 4	
-    <175>   DW_AT_decl_line   : 11	
-    <176>   DW_AT_type        : <0x97>	
-    <17a>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><17d>: Abbrev Number: 10 (DW_TAG_member)
-    <17e>   DW_AT_name        : (indirect string, offset: 0x15b): sharedram	
-    <182>   DW_AT_decl_file   : 4	
-    <183>   DW_AT_decl_line   : 12	
-    <184>   DW_AT_type        : <0x97>	
-    <188>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><18b>: Abbrev Number: 10 (DW_TAG_member)
-    <18c>   DW_AT_name        : (indirect string, offset: 0x5c): bufferram	
-    <190>   DW_AT_decl_file   : 4	
-    <191>   DW_AT_decl_line   : 13	
-    <192>   DW_AT_type        : <0x97>	
-    <196>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><199>: Abbrev Number: 10 (DW_TAG_member)
-    <19a>   DW_AT_name        : (indirect string, offset: 0x1a4): totalswap	
-    <19e>   DW_AT_decl_file   : 4	
-    <19f>   DW_AT_decl_line   : 14	
-    <1a0>   DW_AT_type        : <0x97>	
-    <1a4>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1a7>: Abbrev Number: 10 (DW_TAG_member)
-    <1a8>   DW_AT_name        : (indirect string, offset: 0x16f): freeswap	
-    <1ac>   DW_AT_decl_file   : 4	
-    <1ad>   DW_AT_decl_line   : 15	
-    <1ae>   DW_AT_type        : <0x97>	
-    <1b2>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1b5>: Abbrev Number: 10 (DW_TAG_member)
-    <1b6>   DW_AT_name        : (indirect string, offset: 0x0): procs	
-    <1ba>   DW_AT_decl_file   : 4	
-    <1bb>   DW_AT_decl_line   : 16	
-    <1bc>   DW_AT_type        : <0x123>	
-    <1c0>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1c3>: Abbrev Number: 11 (DW_TAG_member)
-    <1c4>   DW_AT_name        : pad	
-    <1c8>   DW_AT_decl_file   : 4	
-    <1c9>   DW_AT_decl_line   : 17	
-    <1ca>   DW_AT_type        : <0x123>	
-    <1ce>   DW_AT_data_member_location: 2 byte block: 23 2a 	(DW_OP_plus_uconst: 42)
- <2><1d1>: Abbrev Number: 10 (DW_TAG_member)
-    <1d2>   DW_AT_name        : (indirect string, offset: 0x165): totalhigh	
-    <1d6>   DW_AT_decl_file   : 4	
-    <1d7>   DW_AT_decl_line   : 18	
-    <1d8>   DW_AT_type        : <0x97>	
-    <1dc>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1df>: Abbrev Number: 10 (DW_TAG_member)
-    <1e0>   DW_AT_name        : (indirect string, offset: 0x1e): freehigh	
-    <1e4>   DW_AT_decl_file   : 4	
-    <1e5>   DW_AT_decl_line   : 19	
-    <1e6>   DW_AT_type        : <0x97>	
-    <1ea>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1ed>: Abbrev Number: 10 (DW_TAG_member)
-    <1ee>   DW_AT_name        : (indirect string, offset: 0x1bc): mem_unit	
-    <1f2>   DW_AT_decl_file   : 4	
-    <1f3>   DW_AT_decl_line   : 20	
-    <1f4>   DW_AT_type        : <0x12e>	
-    <1f8>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><1fb>: Abbrev Number: 11 (DW_TAG_member)
-    <1fc>   DW_AT_name        : _f	
-    <1ff>   DW_AT_decl_file   : 4	
-    <200>   DW_AT_decl_line   : 21	
-    <201>   DW_AT_type        : <0x71>	
-    <205>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><208>: Abbrev Number: 0
- <1><209>: Abbrev Number: 4 (DW_TAG_array_type)
-    <20a>   DW_AT_type        : <0x97>	
-    <20e>   DW_AT_sibling     : <0x219>	
- <2><212>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <213>   DW_AT_type        : <0x63>	
-    <217>   DW_AT_upper_bound : 2	
- <2><218>: Abbrev Number: 0
- <1><219>: Abbrev Number: 8 (DW_TAG_typedef)
-    <21a>   DW_AT_name        : (indirect string, offset: 0x1c5): sysinfo_t	
-    <21e>   DW_AT_decl_file   : 5	
-    <21f>   DW_AT_decl_line   : 37	
-    <220>   DW_AT_type        : <0x139>	
- <1><224>: Abbrev Number: 14 (DW_TAG_variable)
-    <225>   DW_AT_name        : (indirect string, offset: 0xd5): current_wordsize	
-    <229>   DW_AT_decl_file   : 6	
-    <22a>   DW_AT_decl_line   : 757	
-    <22c>   DW_AT_type        : <0x47>	
-    <230>   DW_AT_external    : 1	
-    <231>   DW_AT_declaration : 1	
- <1><232>: Abbrev Number: 14 (DW_TAG_variable)
-    <233>   DW_AT_name        : (indirect string, offset: 0xce): sysent	
-    <237>   DW_AT_decl_file   : 6	
-    <238>   DW_AT_decl_line   : 892	
-    <23a>   DW_AT_type        : <0x111>	
-    <23e>   DW_AT_external    : 1	
-    <23f>   DW_AT_declaration : 1	
- <1><240>: Abbrev Number: 14 (DW_TAG_variable)
-    <241>   DW_AT_name        : (indirect string, offset: 0x189): nsyscalls	
-    <245>   DW_AT_decl_file   : 6	
-    <246>   DW_AT_decl_line   : 903	
-    <248>   DW_AT_type        : <0x47>	
-    <24c>   DW_AT_external    : 1	
-    <24d>   DW_AT_declaration : 1	
- <1><24e>: Abbrev Number: 15 (DW_TAG_variable)
-    <24f>   DW_AT_name        : (indirect string, offset: 0x66): mpers_target_var	
-    <253>   DW_AT_decl_file   : 5	
-    <254>   DW_AT_decl_line   : 38	
-    <255>   DW_AT_type        : <0x219>	
-    <259>   DW_AT_external    : 1	
-    <25a>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><260>: Abbrev Number: 0
-
diff --git a/mpers-m32/sysinfo_t.d2 b/mpers-m32/sysinfo_t.d2
deleted file mode 100644
index a3c16b3..0000000
--- a/mpers-m32/sysinfo_t.d2
+++ /dev/null
@@ -1,320 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ea): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1cf): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ae): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x98): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x30): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x13b): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x81): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e1): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa6): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x193): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x156): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x81>
-<2><7a>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 7
-<1><81>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x87>
-<1><87>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><8c>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x43): __kernel_long_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x55>
-<1><97>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x178): __kernel_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 15
-DW_AT_type        : <0x5c>
-<1><a2>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xce): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf5>
-<2><ae>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xed): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><bc>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x77): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ca>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d8>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x227): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x100>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x53): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x81>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f5>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x100>
-<2><fe>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><100>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf5>
-<1><106>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x148): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xa2>
-<1><111>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x117>
-<1><117>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x106>
-<1><11c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xc): _Bool
-<1><123>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6): __u16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><12e>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x12): __u32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><139>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x19c): sysinfo
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_sibling     : <0x209>
-<2><145>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe6): uptime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x8c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><153>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18): loads
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x209>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><161>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x27): totalram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><16f>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d9): freeram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 11
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><17d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15b): sharedram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 12
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><18b>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5c): bufferram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 13
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><199>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a4): totalswap
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1a7>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16f): freeswap
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 15
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1b5>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): procs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 16
-DW_AT_type        : <0x123>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1c3>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : pad
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 17
-DW_AT_type        : <0x123>
-DW_AT_data_member_location: 2 byte block: 23 2a 	(DW_OP_plus_uconst: 42)
-<2><1d1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x165): totalhigh
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 18
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1df>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e): freehigh
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 19
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1ed>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bc): mem_unit
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x12e>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><1fb>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : _f
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 21
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<1><209>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x97>
-DW_AT_sibling     : <0x219>
-<2><212>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 2
-<1><219>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c5): sysinfo_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x139>
-<1><224>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd5): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><232>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xce): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x111>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><240>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x189): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><24e>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x66): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x219>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-m32/time_t.c b/mpers-m32/time_t.c
index f2a0e40..834d93d 100644
--- a/mpers-m32/time_t.c
+++ b/mpers-m32/time_t.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/time_t.d1 b/mpers-m32/time_t.d1
deleted file mode 100644
index 41aef14..0000000
--- a/mpers-m32/time_t.d1
+++ /dev/null
@@ -1,165 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x14c (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x14f): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x32): mpers-m32/time_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x7f): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x123): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x138): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0xec): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xb5): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x110): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x142): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x68): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0xca): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x56): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x12f): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0xfa): __time_t	
-    <6f>   DW_AT_decl_file   : 1	
-    <70>   DW_AT_decl_line   : 139	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 2 (DW_TAG_base_type)
-    <76>   DW_AT_byte_size   : 1	
-    <77>   DW_AT_encoding    : 6	(signed char)
-    <78>   DW_AT_name        : (indirect string, offset: 0xb0): char	
- <1><7c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xc3): time_t	
-    <81>   DW_AT_decl_file   : 2	
-    <82>   DW_AT_decl_line   : 75	
-    <83>   DW_AT_type        : <0x6a>	
- <1><87>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <88>   DW_AT_byte_size   : 4	
-    <89>   DW_AT_type        : <0x8d>	
- <1><8d>: Abbrev Number: 6 (DW_TAG_const_type)
-    <8e>   DW_AT_type        : <0x75>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0x103): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 3	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x10a): nargs	
-    <a3>   DW_AT_decl_file   : 3	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0xdc): sys_flags	
-    <b1>   DW_AT_decl_file   : 3	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 3	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0xd3): sys_func	
-    <cd>   DW_AT_decl_file   : 3	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x11): sys_name	
-    <db>   DW_AT_decl_file   : 3	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x87>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0x1a): struct_sysent	
-    <fb>   DW_AT_decl_file   : 3	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 6 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0xe6): _Bool	
- <1><113>: Abbrev Number: 12 (DW_TAG_variable)
-    <114>   DW_AT_name        : (indirect string, offset: 0x0): current_wordsize	
-    <118>   DW_AT_decl_file   : 4	
-    <119>   DW_AT_decl_line   : 757	
-    <11b>   DW_AT_type        : <0x47>	
-    <11f>   DW_AT_external    : 1	
-    <120>   DW_AT_declaration : 1	
- <1><121>: Abbrev Number: 12 (DW_TAG_variable)
-    <122>   DW_AT_name        : (indirect string, offset: 0x103): sysent	
-    <126>   DW_AT_decl_file   : 4	
-    <127>   DW_AT_decl_line   : 892	
-    <129>   DW_AT_type        : <0x101>	
-    <12d>   DW_AT_external    : 1	
-    <12e>   DW_AT_declaration : 1	
- <1><12f>: Abbrev Number: 12 (DW_TAG_variable)
-    <130>   DW_AT_name        : (indirect string, offset: 0x28): nsyscalls	
-    <134>   DW_AT_decl_file   : 4	
-    <135>   DW_AT_decl_line   : 903	
-    <137>   DW_AT_type        : <0x47>	
-    <13b>   DW_AT_external    : 1	
-    <13c>   DW_AT_declaration : 1	
- <1><13d>: Abbrev Number: 13 (DW_TAG_variable)
-    <13e>   DW_AT_name        : (indirect string, offset: 0x45): mpers_target_var	
-    <142>   DW_AT_decl_file   : 5	
-    <143>   DW_AT_decl_line   : 31	
-    <144>   DW_AT_type        : <0x7c>	
-    <148>   DW_AT_external    : 1	
-    <149>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><14f>: Abbrev Number: 0
-
diff --git a/mpers-m32/time_t.d2 b/mpers-m32/time_t.d2
deleted file mode 100644
index 476aa5e..0000000
--- a/mpers-m32/time_t.d2
+++ /dev/null
@@ -1,181 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x123): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x138): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xec): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xb5): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x110): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x142): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x68): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xca): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x56): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12f): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xfa): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0xb0): char
-<1><7c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xc3): time_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 75
-DW_AT_type        : <0x6a>
-<1><87>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x8d>
-<1><8d>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x75>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x103): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10a): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xdc): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd3): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1a): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xe6): _Bool
-<1><113>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x0): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><121>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x103): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><12f>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x28): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><13d>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x45): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x7c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/timespec_t.c b/mpers-m32/timespec_t.c
index c5171fd..ac6ccab 100644
--- a/mpers-m32/timespec_t.c
+++ b/mpers-m32/timespec_t.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/timespec_t.d1 b/mpers-m32/timespec_t.d1
deleted file mode 100644
index 96885df..0000000
--- a/mpers-m32/timespec_t.d1
+++ /dev/null
@@ -1,189 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x180 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xb0): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x0): mpers-m32/timespec_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x118): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x18f): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x17c): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x163): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x69): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x19b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0xf8): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x52): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x186): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x77): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x153): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0xa1): __time_t	
-    <6f>   DW_AT_decl_file   : 1	
-    <70>   DW_AT_decl_line   : 139	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x1b7): __syscall_slong_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 175	
-    <7c>   DW_AT_type        : <0x55>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x113): char	
- <1><87>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <88>   DW_AT_name        : (indirect string, offset: 0x3f): timespec	
-    <8c>   DW_AT_byte_size   : 8	
-    <8d>   DW_AT_decl_file   : 2	
-    <8e>   DW_AT_decl_line   : 120	
-    <8f>   DW_AT_sibling     : <0xb0>	
- <2><93>: Abbrev Number: 6 (DW_TAG_member)
-    <94>   DW_AT_name        : (indirect string, offset: 0x15c): tv_sec	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 122	
-    <9a>   DW_AT_type        : <0x6a>	
-    <9e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a1>: Abbrev Number: 6 (DW_TAG_member)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x2e): tv_nsec	
-    <a6>   DW_AT_decl_file   : 2	
-    <a7>   DW_AT_decl_line   : 123	
-    <a8>   DW_AT_type        : <0x75>	
-    <ac>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><af>: Abbrev Number: 0
- <1><b0>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <b1>   DW_AT_byte_size   : 4	
-    <b2>   DW_AT_type        : <0xb6>	
- <1><b6>: Abbrev Number: 8 (DW_TAG_const_type)
-    <b7>   DW_AT_type        : <0x80>	
- <1><bb>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <bc>   DW_AT_name        : (indirect string, offset: 0x89): sysent	
-    <c0>   DW_AT_byte_size   : 20	
-    <c1>   DW_AT_decl_file   : 3	
-    <c2>   DW_AT_decl_line   : 4	
-    <c3>   DW_AT_sibling     : <0x10e>	
- <2><c7>: Abbrev Number: 6 (DW_TAG_member)
-    <c8>   DW_AT_name        : (indirect string, offset: 0xaa): nargs	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 5	
-    <ce>   DW_AT_type        : <0x47>	
-    <d2>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><d5>: Abbrev Number: 6 (DW_TAG_member)
-    <d6>   DW_AT_name        : (indirect string, offset: 0x48): sys_flags	
-    <da>   DW_AT_decl_file   : 3	
-    <db>   DW_AT_decl_line   : 6	
-    <dc>   DW_AT_type        : <0x2b>	
-    <e0>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><e3>: Abbrev Number: 9 (DW_TAG_member)
-    <e4>   DW_AT_name        : sen	
-    <e8>   DW_AT_decl_file   : 3	
-    <e9>   DW_AT_decl_line   : 7	
-    <ea>   DW_AT_type        : <0x2b>	
-    <ee>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><f1>: Abbrev Number: 6 (DW_TAG_member)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x1ae): sys_func	
-    <f6>   DW_AT_decl_file   : 3	
-    <f7>   DW_AT_decl_line   : 8	
-    <f8>   DW_AT_type        : <0x119>	
-    <fc>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><ff>: Abbrev Number: 6 (DW_TAG_member)
-    <100>   DW_AT_name        : (indirect string, offset: 0x36): sys_name	
-    <104>   DW_AT_decl_file   : 3	
-    <105>   DW_AT_decl_line   : 9	
-    <106>   DW_AT_type        : <0xb0>	
-    <10a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><10d>: Abbrev Number: 0
- <1><10e>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <10f>   DW_AT_type        : <0x2b>	
-    <113>   DW_AT_sibling     : <0x119>	
- <2><117>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><118>: Abbrev Number: 0
- <1><119>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <11a>   DW_AT_byte_size   : 4	
-    <11b>   DW_AT_type        : <0x10e>	
- <1><11f>: Abbrev Number: 4 (DW_TAG_typedef)
-    <120>   DW_AT_name        : (indirect string, offset: 0x105): struct_sysent	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 10	
-    <126>   DW_AT_type        : <0xbb>	
- <1><12a>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <12b>   DW_AT_byte_size   : 4	
-    <12c>   DW_AT_type        : <0x130>	
- <1><130>: Abbrev Number: 8 (DW_TAG_const_type)
-    <131>   DW_AT_type        : <0x11f>	
- <1><135>: Abbrev Number: 2 (DW_TAG_base_type)
-    <136>   DW_AT_byte_size   : 1	
-    <137>   DW_AT_encoding    : 2	(boolean)
-    <138>   DW_AT_name        : (indirect string, offset: 0x28): _Bool	
- <1><13c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <13d>   DW_AT_name        : (indirect string, offset: 0x171): timespec_t	
-    <141>   DW_AT_decl_file   : 4	
-    <142>   DW_AT_decl_line   : 31	
-    <143>   DW_AT_type        : <0x87>	
- <1><147>: Abbrev Number: 12 (DW_TAG_variable)
-    <148>   DW_AT_name        : (indirect string, offset: 0x90): current_wordsize	
-    <14c>   DW_AT_decl_file   : 5	
-    <14d>   DW_AT_decl_line   : 757	
-    <14f>   DW_AT_type        : <0x47>	
-    <153>   DW_AT_external    : 1	
-    <154>   DW_AT_declaration : 1	
- <1><155>: Abbrev Number: 12 (DW_TAG_variable)
-    <156>   DW_AT_name        : (indirect string, offset: 0x89): sysent	
-    <15a>   DW_AT_decl_file   : 5	
-    <15b>   DW_AT_decl_line   : 892	
-    <15d>   DW_AT_type        : <0x12a>	
-    <161>   DW_AT_external    : 1	
-    <162>   DW_AT_declaration : 1	
- <1><163>: Abbrev Number: 12 (DW_TAG_variable)
-    <164>   DW_AT_name        : (indirect string, offset: 0x149): nsyscalls	
-    <168>   DW_AT_decl_file   : 5	
-    <169>   DW_AT_decl_line   : 903	
-    <16b>   DW_AT_type        : <0x47>	
-    <16f>   DW_AT_external    : 1	
-    <170>   DW_AT_declaration : 1	
- <1><171>: Abbrev Number: 13 (DW_TAG_variable)
-    <172>   DW_AT_name        : (indirect string, offset: 0x17): mpers_target_var	
-    <176>   DW_AT_decl_file   : 4	
-    <177>   DW_AT_decl_line   : 33	
-    <178>   DW_AT_type        : <0x13c>	
-    <17c>   DW_AT_external    : 1	
-    <17d>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><183>: Abbrev Number: 0
-
diff --git a/mpers-m32/timespec_t.d2 b/mpers-m32/timespec_t.d2
deleted file mode 100644
index 6e0b859..0000000
--- a/mpers-m32/timespec_t.d2
+++ /dev/null
@@ -1,208 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x18f): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x17c): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x163): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x69): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x19b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf8): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x52): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x186): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x77): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x153): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xa1): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b7): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x55>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x113): char
-<1><87>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x3f): timespec
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 120
-DW_AT_sibling     : <0xb0>
-<2><93>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15c): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 122
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a1>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e): tv_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 123
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><b0>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xb6>
-<1><b6>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><bb>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x89): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x10e>
-<2><c7>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xaa): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><d5>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x48): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><e3>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><f1>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ae): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x119>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><ff>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x36): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xb0>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><10e>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x119>
-<2><117>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><119>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x10e>
-<1><11f>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x105): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xbb>
-<1><12a>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x130>
-<1><130>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x11f>
-<1><135>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x28): _Bool
-<1><13c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x171): timespec_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x87>
-<1><147>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x90): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><155>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x89): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x12a>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><163>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x149): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><171>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x13c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/timeval_t.c b/mpers-m32/timeval_t.c
index 5d867b5..36574eb 100644
--- a/mpers-m32/timeval_t.c
+++ b/mpers-m32/timeval_t.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/timeval_t.d1 b/mpers-m32/timeval_t.d1
deleted file mode 100644
index 3472dfb..0000000
--- a/mpers-m32/timeval_t.d1
+++ /dev/null
@@ -1,189 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x180 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xbb): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x6): mpers-m32/timeval_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x141): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ad): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x19a): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x18c): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x74): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x1c): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x10b): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x5d): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1a4): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x82): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x17c): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0xac): __time_t	
-    <6f>   DW_AT_decl_file   : 1	
-    <70>   DW_AT_decl_line   : 139	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x12b): __suseconds_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 141	
-    <7c>   DW_AT_type        : <0x55>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x126): char	
- <1><87>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <88>   DW_AT_name        : (indirect string, offset: 0x103): timeval	
-    <8c>   DW_AT_byte_size   : 8	
-    <8d>   DW_AT_decl_file   : 2	
-    <8e>   DW_AT_decl_line   : 30	
-    <8f>   DW_AT_sibling     : <0xb0>	
- <2><93>: Abbrev Number: 6 (DW_TAG_member)
-    <94>   DW_AT_name        : (indirect string, offset: 0x185): tv_sec	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 32	
-    <9a>   DW_AT_type        : <0x6a>	
-    <9e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a1>: Abbrev Number: 6 (DW_TAG_member)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x139): tv_usec	
-    <a6>   DW_AT_decl_file   : 2	
-    <a7>   DW_AT_decl_line   : 33	
-    <a8>   DW_AT_type        : <0x75>	
-    <ac>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><af>: Abbrev Number: 0
- <1><b0>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <b1>   DW_AT_byte_size   : 4	
-    <b2>   DW_AT_type        : <0xb6>	
- <1><b6>: Abbrev Number: 8 (DW_TAG_const_type)
-    <b7>   DW_AT_type        : <0x80>	
- <1><bb>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <bc>   DW_AT_name        : (indirect string, offset: 0x94): sysent	
-    <c0>   DW_AT_byte_size   : 20	
-    <c1>   DW_AT_decl_file   : 3	
-    <c2>   DW_AT_decl_line   : 4	
-    <c3>   DW_AT_sibling     : <0x10e>	
- <2><c7>: Abbrev Number: 6 (DW_TAG_member)
-    <c8>   DW_AT_name        : (indirect string, offset: 0xb5): nargs	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 5	
-    <ce>   DW_AT_type        : <0x47>	
-    <d2>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><d5>: Abbrev Number: 6 (DW_TAG_member)
-    <d6>   DW_AT_name        : (indirect string, offset: 0x53): sys_flags	
-    <da>   DW_AT_decl_file   : 3	
-    <db>   DW_AT_decl_line   : 6	
-    <dc>   DW_AT_type        : <0x2b>	
-    <e0>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><e3>: Abbrev Number: 9 (DW_TAG_member)
-    <e4>   DW_AT_name        : sen	
-    <e8>   DW_AT_decl_file   : 3	
-    <e9>   DW_AT_decl_line   : 7	
-    <ea>   DW_AT_type        : <0x2b>	
-    <ee>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><f1>: Abbrev Number: 6 (DW_TAG_member)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x1b9): sys_func	
-    <f6>   DW_AT_decl_file   : 3	
-    <f7>   DW_AT_decl_line   : 8	
-    <f8>   DW_AT_type        : <0x119>	
-    <fc>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><ff>: Abbrev Number: 6 (DW_TAG_member)
-    <100>   DW_AT_name        : (indirect string, offset: 0x39): sys_name	
-    <104>   DW_AT_decl_file   : 3	
-    <105>   DW_AT_decl_line   : 9	
-    <106>   DW_AT_type        : <0xb0>	
-    <10a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><10d>: Abbrev Number: 0
- <1><10e>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <10f>   DW_AT_type        : <0x2b>	
-    <113>   DW_AT_sibling     : <0x119>	
- <2><117>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><118>: Abbrev Number: 0
- <1><119>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <11a>   DW_AT_byte_size   : 4	
-    <11b>   DW_AT_type        : <0x10e>	
- <1><11f>: Abbrev Number: 4 (DW_TAG_typedef)
-    <120>   DW_AT_name        : (indirect string, offset: 0x118): struct_sysent	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 10	
-    <126>   DW_AT_type        : <0xbb>	
- <1><12a>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <12b>   DW_AT_byte_size   : 4	
-    <12c>   DW_AT_type        : <0x130>	
- <1><130>: Abbrev Number: 8 (DW_TAG_const_type)
-    <131>   DW_AT_type        : <0x11f>	
- <1><135>: Abbrev Number: 2 (DW_TAG_base_type)
-    <136>   DW_AT_byte_size   : 1	
-    <137>   DW_AT_encoding    : 2	(boolean)
-    <138>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><13c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <13d>   DW_AT_name        : (indirect string, offset: 0x2f): timeval_t	
-    <141>   DW_AT_decl_file   : 4	
-    <142>   DW_AT_decl_line   : 31	
-    <143>   DW_AT_type        : <0x87>	
- <1><147>: Abbrev Number: 12 (DW_TAG_variable)
-    <148>   DW_AT_name        : (indirect string, offset: 0x9b): current_wordsize	
-    <14c>   DW_AT_decl_file   : 5	
-    <14d>   DW_AT_decl_line   : 757	
-    <14f>   DW_AT_type        : <0x47>	
-    <153>   DW_AT_external    : 1	
-    <154>   DW_AT_declaration : 1	
- <1><155>: Abbrev Number: 12 (DW_TAG_variable)
-    <156>   DW_AT_name        : (indirect string, offset: 0x94): sysent	
-    <15a>   DW_AT_decl_file   : 5	
-    <15b>   DW_AT_decl_line   : 892	
-    <15d>   DW_AT_type        : <0x12a>	
-    <161>   DW_AT_external    : 1	
-    <162>   DW_AT_declaration : 1	
- <1><163>: Abbrev Number: 12 (DW_TAG_variable)
-    <164>   DW_AT_name        : (indirect string, offset: 0x172): nsyscalls	
-    <168>   DW_AT_decl_file   : 5	
-    <169>   DW_AT_decl_line   : 903	
-    <16b>   DW_AT_type        : <0x47>	
-    <16f>   DW_AT_external    : 1	
-    <170>   DW_AT_declaration : 1	
- <1><171>: Abbrev Number: 13 (DW_TAG_variable)
-    <172>   DW_AT_name        : (indirect string, offset: 0x42): mpers_target_var	
-    <176>   DW_AT_decl_file   : 4	
-    <177>   DW_AT_decl_line   : 33	
-    <178>   DW_AT_type        : <0x13c>	
-    <17c>   DW_AT_external    : 1	
-    <17d>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><183>: Abbrev Number: 0
-
diff --git a/mpers-m32/timeval_t.d2 b/mpers-m32/timeval_t.d2
deleted file mode 100644
index 5f2ac0e..0000000
--- a/mpers-m32/timeval_t.d2
+++ /dev/null
@@ -1,208 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ad): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19a): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18c): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x74): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x10b): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5d): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a4): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x82): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x17c): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xac): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x12b): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x55>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x126): char
-<1><87>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x103): timeval
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xb0>
-<2><93>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x185): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a1>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x139): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><b0>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xb6>
-<1><b6>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><bb>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x94): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x10e>
-<2><c7>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb5): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><d5>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x53): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><e3>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><f1>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b9): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x119>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><ff>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x39): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xb0>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><10e>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x119>
-<2><117>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><119>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x10e>
-<1><11f>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x118): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xbb>
-<1><12a>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x130>
-<1><130>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x11f>
-<1><135>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><13c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2f): timeval_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x87>
-<1><147>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9b): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><155>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x94): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x12a>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><163>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x172): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><171>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x42): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x13c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/tms_t.c b/mpers-m32/tms_t.c
index 7af2d32..b11758c 100644
--- a/mpers-m32/tms_t.c
+++ b/mpers-m32/tms_t.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-m32/tms_t.d1 b/mpers-m32/tms_t.d1
deleted file mode 100644
index 10dfe81..0000000
--- a/mpers-m32/tms_t.d1
+++ /dev/null
@@ -1,201 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x19c (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xd1): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x27): mpers-m32/tms_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x139): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1b3): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x195): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x17d): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x88): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x39): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x119): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x71): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x19f): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x96): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x174): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0x18b): __clock_t	
-    <6f>   DW_AT_decl_file   : 1	
-    <70>   DW_AT_decl_line   : 135	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 2 (DW_TAG_base_type)
-    <76>   DW_AT_byte_size   : 1	
-    <77>   DW_AT_encoding    : 6	(signed char)
-    <78>   DW_AT_name        : (indirect string, offset: 0x134): char	
- <1><7c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x5f): clock_t	
-    <81>   DW_AT_decl_file   : 2	
-    <82>   DW_AT_decl_line   : 59	
-    <83>   DW_AT_type        : <0x6a>	
- <1><87>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <88>   DW_AT_byte_size   : 4	
-    <89>   DW_AT_type        : <0x8d>	
- <1><8d>: Abbrev Number: 6 (DW_TAG_const_type)
-    <8e>   DW_AT_type        : <0x75>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0xa8): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 3	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0xcb): nargs	
-    <a3>   DW_AT_decl_file   : 3	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x67): sys_flags	
-    <b1>   DW_AT_decl_file   : 3	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 3	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x1bf): sys_func	
-    <cd>   DW_AT_decl_file   : 3	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x56): sys_name	
-    <db>   DW_AT_decl_file   : 3	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x87>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0x126): struct_sysent	
-    <fb>   DW_AT_decl_file   : 3	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 6 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x1b): _Bool	
- <1><113>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : tms	
-    <118>   DW_AT_byte_size   : 16	
-    <119>   DW_AT_decl_file   : 4	
-    <11a>   DW_AT_decl_line   : 34	
-    <11b>   DW_AT_sibling     : <0x158>	
- <2><11f>: Abbrev Number: 8 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0x11): tms_utime	
-    <124>   DW_AT_decl_file   : 4	
-    <125>   DW_AT_decl_line   : 36	
-    <126>   DW_AT_type        : <0x7c>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 8 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x4c): tms_stime	
-    <132>   DW_AT_decl_file   : 4	
-    <133>   DW_AT_decl_line   : 37	
-    <134>   DW_AT_type        : <0x7c>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><13b>: Abbrev Number: 8 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0xaf): tms_cutime	
-    <140>   DW_AT_decl_file   : 4	
-    <141>   DW_AT_decl_line   : 39	
-    <142>   DW_AT_type        : <0x7c>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><149>: Abbrev Number: 8 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x1a8): tms_cstime	
-    <14e>   DW_AT_decl_file   : 4	
-    <14f>   DW_AT_decl_line   : 40	
-    <150>   DW_AT_type        : <0x7c>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><157>: Abbrev Number: 0
- <1><158>: Abbrev Number: 4 (DW_TAG_typedef)
-    <159>   DW_AT_name        : (indirect string, offset: 0x21): tms_t	
-    <15d>   DW_AT_decl_file   : 5	
-    <15e>   DW_AT_decl_line   : 36	
-    <15f>   DW_AT_type        : <0x113>	
- <1><163>: Abbrev Number: 13 (DW_TAG_variable)
-    <164>   DW_AT_name        : (indirect string, offset: 0xba): current_wordsize	
-    <168>   DW_AT_decl_file   : 6	
-    <169>   DW_AT_decl_line   : 757	
-    <16b>   DW_AT_type        : <0x47>	
-    <16f>   DW_AT_external    : 1	
-    <170>   DW_AT_declaration : 1	
- <1><171>: Abbrev Number: 13 (DW_TAG_variable)
-    <172>   DW_AT_name        : (indirect string, offset: 0xa8): sysent	
-    <176>   DW_AT_decl_file   : 6	
-    <177>   DW_AT_decl_line   : 892	
-    <179>   DW_AT_type        : <0x101>	
-    <17d>   DW_AT_external    : 1	
-    <17e>   DW_AT_declaration : 1	
- <1><17f>: Abbrev Number: 13 (DW_TAG_variable)
-    <180>   DW_AT_name        : (indirect string, offset: 0x16a): nsyscalls	
-    <184>   DW_AT_decl_file   : 6	
-    <185>   DW_AT_decl_line   : 903	
-    <187>   DW_AT_type        : <0x47>	
-    <18b>   DW_AT_external    : 1	
-    <18c>   DW_AT_declaration : 1	
- <1><18d>: Abbrev Number: 14 (DW_TAG_variable)
-    <18e>   DW_AT_name        : (indirect string, offset: 0x0): mpers_target_var	
-    <192>   DW_AT_decl_file   : 5	
-    <193>   DW_AT_decl_line   : 37	
-    <194>   DW_AT_type        : <0x158>	
-    <198>   DW_AT_external    : 1	
-    <199>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><19f>: Abbrev Number: 0
-
diff --git a/mpers-m32/tms_t.d2 b/mpers-m32/tms_t.d2
deleted file mode 100644
index 96c62f8..0000000
--- a/mpers-m32/tms_t.d2
+++ /dev/null
@@ -1,222 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b3): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x195): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x17d): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x88): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x39): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x119): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x71): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19f): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x96): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x174): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x18b): __clock_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 135
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x134): char
-<1><7c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x5f): clock_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x6a>
-<1><87>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x8d>
-<1><8d>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x75>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xa8): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcb): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x67): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bf): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x56): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x126): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1b): _Bool
-<1><113>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : tms
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_sibling     : <0x158>
-<2><11f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11): tms_utime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4c): tms_stime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><13b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xaf): tms_cutime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><149>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a8): tms_cstime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><158>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x21): tms_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x113>
-<1><163>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xba): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><171>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa8): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17f>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x16a): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18d>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x0): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x158>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-m32/utimbuf_t.d1 b/mpers-m32/utimbuf_t.d1
deleted file mode 100644
index 3bcf6aa..0000000
--- a/mpers-m32/utimbuf_t.d1
+++ /dev/null
@@ -1,184 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x175 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xca): GNU C 4.8.4 -m32 -mtune=generic -march=i686 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x94): mpers-m32/utimbuf_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x13a): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x19f): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x18c): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x17e): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x66): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x10): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x11a): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x4f): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x196): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x7b): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x175): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0xbb): __time_t	
-    <6f>   DW_AT_decl_file   : 2	
-    <70>   DW_AT_decl_line   : 139	
-    <71>   DW_AT_type        : <0x55>	
- <1><75>: Abbrev Number: 2 (DW_TAG_base_type)
-    <76>   DW_AT_byte_size   : 1	
-    <77>   DW_AT_encoding    : 6	(signed char)
-    <78>   DW_AT_name        : (indirect string, offset: 0x135): char	
- <1><7c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <7d>   DW_AT_byte_size   : 4	
-    <7e>   DW_AT_type        : <0x82>	
- <1><82>: Abbrev Number: 6 (DW_TAG_const_type)
-    <83>   DW_AT_type        : <0x75>	
- <1><87>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <88>   DW_AT_name        : (indirect string, offset: 0x8d): sysent	
-    <8c>   DW_AT_byte_size   : 20	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 4	
-    <8f>   DW_AT_sibling     : <0xda>	
- <2><93>: Abbrev Number: 8 (DW_TAG_member)
-    <94>   DW_AT_name        : (indirect string, offset: 0xc4): nargs	
-    <98>   DW_AT_decl_file   : 1	
-    <99>   DW_AT_decl_line   : 5	
-    <9a>   DW_AT_type        : <0x47>	
-    <9e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a1>: Abbrev Number: 8 (DW_TAG_member)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x45): sys_flags	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 6	
-    <a8>   DW_AT_type        : <0x2b>	
-    <ac>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><af>: Abbrev Number: 9 (DW_TAG_member)
-    <b0>   DW_AT_name        : sen	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 7	
-    <b6>   DW_AT_type        : <0x2b>	
-    <ba>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><bd>: Abbrev Number: 8 (DW_TAG_member)
-    <be>   DW_AT_name        : (indirect string, offset: 0x1ab): sys_func	
-    <c2>   DW_AT_decl_file   : 1	
-    <c3>   DW_AT_decl_line   : 8	
-    <c4>   DW_AT_type        : <0xe5>	
-    <c8>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><cb>: Abbrev Number: 8 (DW_TAG_member)
-    <cc>   DW_AT_name        : (indirect string, offset: 0x23): sys_name	
-    <d0>   DW_AT_decl_file   : 1	
-    <d1>   DW_AT_decl_line   : 9	
-    <d2>   DW_AT_type        : <0x7c>	
-    <d6>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <db>   DW_AT_type        : <0x2b>	
-    <df>   DW_AT_sibling     : <0xe5>	
- <2><e3>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <e6>   DW_AT_byte_size   : 4	
-    <e7>   DW_AT_type        : <0xda>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_typedef)
-    <ec>   DW_AT_name        : (indirect string, offset: 0x127): struct_sysent	
-    <f0>   DW_AT_decl_file   : 1	
-    <f1>   DW_AT_decl_line   : 10	
-    <f2>   DW_AT_type        : <0x87>	
- <1><f6>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f7>   DW_AT_byte_size   : 4	
-    <f8>   DW_AT_type        : <0xfc>	
- <1><fc>: Abbrev Number: 6 (DW_TAG_const_type)
-    <fd>   DW_AT_type        : <0xeb>	
- <1><101>: Abbrev Number: 2 (DW_TAG_base_type)
-    <102>   DW_AT_byte_size   : 1	
-    <103>   DW_AT_encoding    : 2	(boolean)
-    <104>   DW_AT_name        : (indirect string, offset: 0xa): _Bool	
- <1><108>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <109>   DW_AT_name        : (indirect string, offset: 0x2c): utimbuf	
-    <10d>   DW_AT_byte_size   : 8	
-    <10e>   DW_AT_decl_file   : 3	
-    <10f>   DW_AT_decl_line   : 37	
-    <110>   DW_AT_sibling     : <0x131>	
- <2><114>: Abbrev Number: 8 (DW_TAG_member)
-    <115>   DW_AT_name        : (indirect string, offset: 0x74): actime	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 39	
-    <11b>   DW_AT_type        : <0x6a>	
-    <11f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><122>: Abbrev Number: 8 (DW_TAG_member)
-    <123>   DW_AT_name        : (indirect string, offset: 0x112): modtime	
-    <127>   DW_AT_decl_file   : 3	
-    <128>   DW_AT_decl_line   : 40	
-    <129>   DW_AT_type        : <0x6a>	
-    <12d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><130>: Abbrev Number: 0
- <1><131>: Abbrev Number: 4 (DW_TAG_typedef)
-    <132>   DW_AT_name        : (indirect string, offset: 0x0): utimbuf_t	
-    <136>   DW_AT_decl_file   : 4	
-    <137>   DW_AT_decl_line   : 6	
-    <138>   DW_AT_type        : <0x108>	
- <1><13c>: Abbrev Number: 12 (DW_TAG_variable)
-    <13d>   DW_AT_name        : (indirect string, offset: 0xaa): current_wordsize	
-    <141>   DW_AT_decl_file   : 5	
-    <142>   DW_AT_decl_line   : 757	
-    <144>   DW_AT_type        : <0x47>	
-    <148>   DW_AT_external    : 1	
-    <149>   DW_AT_declaration : 1	
- <1><14a>: Abbrev Number: 12 (DW_TAG_variable)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x8d): sysent	
-    <14f>   DW_AT_decl_file   : 5	
-    <150>   DW_AT_decl_line   : 892	
-    <152>   DW_AT_type        : <0xf6>	
-    <156>   DW_AT_external    : 1	
-    <157>   DW_AT_declaration : 1	
- <1><158>: Abbrev Number: 12 (DW_TAG_variable)
-    <159>   DW_AT_name        : (indirect string, offset: 0x16b): nsyscalls	
-    <15d>   DW_AT_decl_file   : 5	
-    <15e>   DW_AT_decl_line   : 903	
-    <160>   DW_AT_type        : <0x47>	
-    <164>   DW_AT_external    : 1	
-    <165>   DW_AT_declaration : 1	
- <1><166>: Abbrev Number: 13 (DW_TAG_variable)
-    <167>   DW_AT_name        : (indirect string, offset: 0x34): mpers_target_var	
-    <16b>   DW_AT_decl_file   : 4	
-    <16c>   DW_AT_decl_line   : 8	
-    <16d>   DW_AT_type        : <0x131>	
-    <171>   DW_AT_external    : 1	
-    <172>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><178>: Abbrev Number: 0
-
diff --git a/mpers-m32/utimbuf_t.d2 b/mpers-m32/utimbuf_t.d2
deleted file mode 100644
index e3ee7ad..0000000
--- a/mpers-m32/utimbuf_t.d2
+++ /dev/null
@@ -1,202 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x19f): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18c): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x17e): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x66): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x10): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x11a): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x4f): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x196): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7b): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x175): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xbb): __time_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x55>
-<1><75>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x135): char
-<1><7c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x82>
-<1><82>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x75>
-<1><87>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x8d): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xda>
-<2><93>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc4): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x45): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><af>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><bd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ab): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe5>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><cb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><da>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe5>
-<2><e3>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><e5>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xda>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x127): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x87>
-<1><f6>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfc>
-<1><fc>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xeb>
-<1><101>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xa): _Bool
-<1><108>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2c): utimbuf
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_sibling     : <0x131>
-<2><114>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x74): actime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><122>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x112): modtime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><131>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): utimbuf_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x108>
-<1><13c>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xaa): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><14a>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x8d): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf6>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><158>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x16b): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><166>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x34): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x131>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-mx32/kernel_dirent.c b/mpers-mx32/kernel_dirent.c
index 77ca7e6..9ad17aa 100644
--- a/mpers-mx32/kernel_dirent.c
+++ b/mpers-mx32/kernel_dirent.c
@@ -4,6 +4,7 @@
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/kernel_dirent.d1 b/mpers-mx32/kernel_dirent.d1
deleted file mode 100644
index 9b7a8bb..0000000
--- a/mpers-mx32/kernel_dirent.d1
+++ /dev/null
@@ -1,207 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1a8 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x6): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x19e): mpers-mx32/kernel_dirent.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0xed): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1b9): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x17c): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x168): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x9e): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x51): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x124): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x7e): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x195): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xac): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x15f): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x13f): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_array_type)
-    <7d>   DW_AT_type        : <0x6a>	
-    <81>   DW_AT_sibling     : <0x8c>	
- <2><85>: Abbrev Number: 7 (DW_TAG_subrange_type)
-    <86>   DW_AT_type        : <0x63>	
-    <8a>   DW_AT_upper_bound : 0	
- <2><8b>: Abbrev Number: 0
- <1><8c>: Abbrev Number: 8 (DW_TAG_typedef)
-    <8d>   DW_AT_name        : (indirect string, offset: 0x144): __kernel_ulong_t	
-    <91>   DW_AT_decl_file   : 1	
-    <92>   DW_AT_decl_line   : 14	
-    <93>   DW_AT_type        : <0x4e>	
- <1><97>: Abbrev Number: 8 (DW_TAG_typedef)
-    <98>   DW_AT_name        : (indirect string, offset: 0x186): kernel_ulong_t	
-    <9c>   DW_AT_decl_file   : 2	
-    <9d>   DW_AT_decl_line   : 36	
-    <9e>   DW_AT_type        : <0x8c>	
- <1><a2>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a3>   DW_AT_byte_size   : 24	
-    <a4>   DW_AT_decl_file   : 2	
-    <a5>   DW_AT_decl_line   : 50	
-    <a6>   DW_AT_sibling     : <0xe3>	
- <2><aa>: Abbrev Number: 10 (DW_TAG_member)
-    <ab>   DW_AT_name        : (indirect string, offset: 0x176): d_ino	
-    <af>   DW_AT_decl_file   : 2	
-    <b0>   DW_AT_decl_line   : 51	
-    <b1>   DW_AT_type        : <0x97>	
-    <b5>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b8>: Abbrev Number: 10 (DW_TAG_member)
-    <b9>   DW_AT_name        : (indirect string, offset: 0x11e): d_off	
-    <bd>   DW_AT_decl_file   : 2	
-    <be>   DW_AT_decl_line   : 52	
-    <bf>   DW_AT_type        : <0x97>	
-    <c3>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c6>: Abbrev Number: 10 (DW_TAG_member)
-    <c7>   DW_AT_name        : (indirect string, offset: 0x95): d_reclen	
-    <cb>   DW_AT_decl_file   : 2	
-    <cc>   DW_AT_decl_line   : 53	
-    <cd>   DW_AT_type        : <0x40>	
-    <d1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d4>: Abbrev Number: 10 (DW_TAG_member)
-    <d5>   DW_AT_name        : (indirect string, offset: 0x6d): d_name	
-    <d9>   DW_AT_decl_file   : 2	
-    <da>   DW_AT_decl_line   : 54	
-    <db>   DW_AT_type        : <0x7c>	
-    <df>   DW_AT_data_member_location: 2 byte block: 23 12 	(DW_OP_plus_uconst: 18)
- <2><e2>: Abbrev Number: 0
- <1><e3>: Abbrev Number: 8 (DW_TAG_typedef)
-    <e4>   DW_AT_name        : (indirect string, offset: 0x1c5): kernel_dirent	
-    <e8>   DW_AT_decl_file   : 2	
-    <e9>   DW_AT_decl_line   : 55	
-    <ea>   DW_AT_type        : <0xa2>	
- <1><ee>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <ef>   DW_AT_name        : (indirect string, offset: 0xbe): sysent	
-    <f3>   DW_AT_byte_size   : 20	
-    <f4>   DW_AT_decl_file   : 3	
-    <f5>   DW_AT_decl_line   : 4	
-    <f6>   DW_AT_sibling     : <0x141>	
- <2><fa>: Abbrev Number: 10 (DW_TAG_member)
-    <fb>   DW_AT_name        : (indirect string, offset: 0xd6): nargs	
-    <ff>   DW_AT_decl_file   : 3	
-    <100>   DW_AT_decl_line   : 5	
-    <101>   DW_AT_type        : <0x47>	
-    <105>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><108>: Abbrev Number: 10 (DW_TAG_member)
-    <109>   DW_AT_name        : (indirect string, offset: 0x74): sys_flags	
-    <10d>   DW_AT_decl_file   : 3	
-    <10e>   DW_AT_decl_line   : 6	
-    <10f>   DW_AT_type        : <0x2b>	
-    <113>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><116>: Abbrev Number: 12 (DW_TAG_member)
-    <117>   DW_AT_name        : sen	
-    <11b>   DW_AT_decl_file   : 3	
-    <11c>   DW_AT_decl_line   : 7	
-    <11d>   DW_AT_type        : <0x2b>	
-    <121>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><124>: Abbrev Number: 10 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x1d3): sys_func	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 8	
-    <12b>   DW_AT_type        : <0x14c>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><132>: Abbrev Number: 10 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x64): sys_name	
-    <137>   DW_AT_decl_file   : 3	
-    <138>   DW_AT_decl_line   : 9	
-    <139>   DW_AT_type        : <0x71>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><140>: Abbrev Number: 0
- <1><141>: Abbrev Number: 13 (DW_TAG_subroutine_type)
-    <142>   DW_AT_type        : <0x2b>	
-    <146>   DW_AT_sibling     : <0x14c>	
- <2><14a>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
- <2><14b>: Abbrev Number: 0
- <1><14c>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <14d>   DW_AT_byte_size   : 4	
-    <14e>   DW_AT_type        : <0x141>	
- <1><152>: Abbrev Number: 8 (DW_TAG_typedef)
-    <153>   DW_AT_name        : (indirect string, offset: 0x131): struct_sysent	
-    <157>   DW_AT_decl_file   : 3	
-    <158>   DW_AT_decl_line   : 10	
-    <159>   DW_AT_type        : <0xee>	
- <1><15d>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <15e>   DW_AT_byte_size   : 4	
-    <15f>   DW_AT_type        : <0x163>	
- <1><163>: Abbrev Number: 5 (DW_TAG_const_type)
-    <164>   DW_AT_type        : <0x152>	
- <1><168>: Abbrev Number: 2 (DW_TAG_base_type)
-    <169>   DW_AT_byte_size   : 1	
-    <16a>   DW_AT_encoding    : 2	(boolean)
-    <16b>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><16f>: Abbrev Number: 15 (DW_TAG_variable)
-    <170>   DW_AT_name        : (indirect string, offset: 0xc5): current_wordsize	
-    <174>   DW_AT_decl_file   : 4	
-    <175>   DW_AT_decl_line   : 757	
-    <177>   DW_AT_type        : <0x47>	
-    <17b>   DW_AT_external    : 1	
-    <17c>   DW_AT_declaration : 1	
- <1><17d>: Abbrev Number: 15 (DW_TAG_variable)
-    <17e>   DW_AT_name        : (indirect string, offset: 0xbe): sysent	
-    <182>   DW_AT_decl_file   : 4	
-    <183>   DW_AT_decl_line   : 892	
-    <185>   DW_AT_type        : <0x15d>	
-    <189>   DW_AT_external    : 1	
-    <18a>   DW_AT_declaration : 1	
- <1><18b>: Abbrev Number: 15 (DW_TAG_variable)
-    <18c>   DW_AT_name        : (indirect string, offset: 0x155): nsyscalls	
-    <190>   DW_AT_decl_file   : 4	
-    <191>   DW_AT_decl_line   : 903	
-    <193>   DW_AT_type        : <0x47>	
-    <197>   DW_AT_external    : 1	
-    <198>   DW_AT_declaration : 1	
- <1><199>: Abbrev Number: 16 (DW_TAG_variable)
-    <19a>   DW_AT_name        : (indirect string, offset: 0xdc): mpers_target_var	
-    <19e>   DW_AT_decl_file   : 5	
-    <19f>   DW_AT_decl_line   : 35	
-    <1a0>   DW_AT_type        : <0xe3>	
-    <1a4>   DW_AT_external    : 1	
-    <1a5>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><1ab>: Abbrev Number: 0
-
diff --git a/mpers-mx32/kernel_dirent.d2 b/mpers-mx32/kernel_dirent.d2
deleted file mode 100644
index d246d2e..0000000
--- a/mpers-mx32/kernel_dirent.d2
+++ /dev/null
@@ -1,229 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b9): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x17c): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x168): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x9e): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x51): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x124): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7e): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x195): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xac): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x15f): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x13f): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x8c>
-<2><85>
-Abbrev Number: 7 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 0
-<1><8c>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x144): __kernel_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x4e>
-<1><97>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x186): kernel_ulong_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x8c>
-<1><a2>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_byte_size   : 24
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 50
-DW_AT_sibling     : <0xe3>
-<2><aa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x176): d_ino
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b8>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11e): d_off
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x97>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x95): d_reclen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><d4>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6d): d_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 12 	(DW_OP_plus_uconst: 18)
-<1><e3>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c5): kernel_dirent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 55
-DW_AT_type        : <0xa2>
-<1><ee>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xbe): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x141>
-<2><fa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd6): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><108>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x74): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><116>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><124>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d3): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x14c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><132>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x64): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><141>
-Abbrev Number: 13 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x14c>
-<2><14a>
-Abbrev Number: 14 (DW_TAG_unspecified_parameters)
-<1><14c>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x141>
-<1><152>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x131): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xee>
-<1><15d>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x163>
-<1><163>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x152>
-<1><168>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><16f>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc5): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17d>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xbe): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x15d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18b>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x155): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><199>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xdc): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xe3>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/mq_attr_t.c b/mpers-mx32/mq_attr_t.c
index 2c31495..9f0ec7a 100644
--- a/mpers-mx32/mq_attr_t.c
+++ b/mpers-mx32/mq_attr_t.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/mq_attr_t.d1 b/mpers-mx32/mq_attr_t.d1
deleted file mode 100644
index f0bf8d6..0000000
--- a/mpers-mx32/mq_attr_t.d1
+++ /dev/null
@@ -1,214 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1ba (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x16): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xb4): mpers-mx32/mq_attr_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x19e): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x192): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x175): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x15f): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xcb): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x61): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x123): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x9d): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x17f): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xd9): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x11a): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x156): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x1d8): __syscall_slong_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 175	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x13e): char	
- <1><87>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <88>   DW_AT_byte_size   : 4	
-    <89>   DW_AT_type        : <0x8d>	
- <1><8d>: Abbrev Number: 6 (DW_TAG_const_type)
-    <8e>   DW_AT_type        : <0x80>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0xeb): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x103): nargs	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x93): sys_flags	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 2	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x1cf): sys_func	
-    <cd>   DW_AT_decl_file   : 2	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x7f): sys_name	
-    <db>   DW_AT_decl_file   : 2	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x87>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0x130): struct_sysent	
-    <fb>   DW_AT_decl_file   : 2	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 6 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x6): _Bool	
- <1><113>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x16d): mq_attr	
-    <118>   DW_AT_byte_size   : 64	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 26	
-    <11b>   DW_AT_sibling     : <0x166>	
- <2><11f>: Abbrev Number: 8 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0x143): mq_flags	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 28	
-    <126>   DW_AT_type        : <0x75>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 8 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x188): mq_maxmsg	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 29	
-    <134>   DW_AT_type        : <0x75>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13b>: Abbrev Number: 8 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x74): mq_msgsize	
-    <140>   DW_AT_decl_file   : 3	
-    <141>   DW_AT_decl_line   : 30	
-    <142>   DW_AT_type        : <0x75>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><149>: Abbrev Number: 8 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x88): mq_curmsgs	
-    <14e>   DW_AT_decl_file   : 3	
-    <14f>   DW_AT_decl_line   : 31	
-    <150>   DW_AT_type        : <0x75>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><157>: Abbrev Number: 8 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x0): __pad	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 32	
-    <15e>   DW_AT_type        : <0x166>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><165>: Abbrev Number: 0
- <1><166>: Abbrev Number: 12 (DW_TAG_array_type)
-    <167>   DW_AT_type        : <0x75>	
-    <16b>   DW_AT_sibling     : <0x176>	
- <2><16f>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <170>   DW_AT_type        : <0x6e>	
-    <174>   DW_AT_upper_bound : 3	
- <2><175>: Abbrev Number: 0
- <1><176>: Abbrev Number: 4 (DW_TAG_typedef)
-    <177>   DW_AT_name        : (indirect string, offset: 0xc): mq_attr_t	
-    <17b>   DW_AT_decl_file   : 4	
-    <17c>   DW_AT_decl_line   : 34	
-    <17d>   DW_AT_type        : <0x113>	
- <1><181>: Abbrev Number: 14 (DW_TAG_variable)
-    <182>   DW_AT_name        : (indirect string, offset: 0xf2): current_wordsize	
-    <186>   DW_AT_decl_file   : 5	
-    <187>   DW_AT_decl_line   : 757	
-    <189>   DW_AT_type        : <0x47>	
-    <18d>   DW_AT_external    : 1	
-    <18e>   DW_AT_declaration : 1	
- <1><18f>: Abbrev Number: 14 (DW_TAG_variable)
-    <190>   DW_AT_name        : (indirect string, offset: 0xeb): sysent	
-    <194>   DW_AT_decl_file   : 5	
-    <195>   DW_AT_decl_line   : 892	
-    <197>   DW_AT_type        : <0x101>	
-    <19b>   DW_AT_external    : 1	
-    <19c>   DW_AT_declaration : 1	
- <1><19d>: Abbrev Number: 14 (DW_TAG_variable)
-    <19e>   DW_AT_name        : (indirect string, offset: 0x14c): nsyscalls	
-    <1a2>   DW_AT_decl_file   : 5	
-    <1a3>   DW_AT_decl_line   : 903	
-    <1a5>   DW_AT_type        : <0x47>	
-    <1a9>   DW_AT_external    : 1	
-    <1aa>   DW_AT_declaration : 1	
- <1><1ab>: Abbrev Number: 15 (DW_TAG_variable)
-    <1ac>   DW_AT_name        : (indirect string, offset: 0x109): mpers_target_var	
-    <1b0>   DW_AT_decl_file   : 4	
-    <1b1>   DW_AT_decl_line   : 42	
-    <1b2>   DW_AT_type        : <0x176>	
-    <1b6>   DW_AT_external    : 1	
-    <1b7>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1bd>: Abbrev Number: 0
-
diff --git a/mpers-mx32/mq_attr_t.d2 b/mpers-mx32/mq_attr_t.d2
deleted file mode 100644
index c233bb7..0000000
--- a/mpers-mx32/mq_attr_t.d2
+++ /dev/null
@@ -1,237 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x192): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x175): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x15f): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xcb): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x61): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x123): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x9d): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x17f): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd9): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11a): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x156): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d8): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x13e): char
-<1><87>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x8d>
-<1><8d>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xeb): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x103): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x93): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cf): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7f): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x130): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x6): _Bool
-<1><113>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x16d): mq_attr
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_sibling     : <0x166>
-<2><11f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x143): mq_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x188): mq_maxmsg
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><13b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x74): mq_msgsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><149>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x88): mq_curmsgs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><157>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): __pad
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x166>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<1><166>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x75>
-DW_AT_sibling     : <0x176>
-<2><16f>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x6e>
-DW_AT_upper_bound : 3
-<1><176>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xc): mq_attr_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x113>
-<1><181>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf2): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18f>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xeb): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><19d>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x14c): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1ab>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x109): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x176>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/msgbuf_t.c b/mpers-mx32/msgbuf_t.c
index 4b0d5a9..a345637 100644
--- a/mpers-mx32/msgbuf_t.c
+++ b/mpers-mx32/msgbuf_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/msgbuf_t.d1 b/mpers-mx32/msgbuf_t.d1
deleted file mode 100644
index 7788462..0000000
--- a/mpers-mx32/msgbuf_t.d1
+++ /dev/null
@@ -1,196 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x190 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xd): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x181): mpers-mx32/msgbuf_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x113): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x197): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x16e): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x157): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x95): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x58): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0xf3): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x7e): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x178): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xa9): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0xea): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x14e): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x1b2): __syscall_slong_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 175	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x10e): char	
- <1><87>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <88>   DW_AT_byte_size   : 4	
-    <89>   DW_AT_type        : <0x8d>	
- <1><8d>: Abbrev Number: 6 (DW_TAG_const_type)
-    <8e>   DW_AT_type        : <0x80>	
- <1><92>: Abbrev Number: 7 (DW_TAG_array_type)
-    <93>   DW_AT_type        : <0x80>	
-    <97>   DW_AT_sibling     : <0xa2>	
- <2><9b>: Abbrev Number: 8 (DW_TAG_subrange_type)
-    <9c>   DW_AT_type        : <0x6e>	
-    <a0>   DW_AT_upper_bound : 0	
- <2><a1>: Abbrev Number: 0
- <1><a2>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a3>   DW_AT_name        : (indirect string, offset: 0xbb): sysent	
-    <a7>   DW_AT_byte_size   : 20	
-    <a8>   DW_AT_decl_file   : 2	
-    <a9>   DW_AT_decl_line   : 4	
-    <aa>   DW_AT_sibling     : <0xf5>	
- <2><ae>: Abbrev Number: 10 (DW_TAG_member)
-    <af>   DW_AT_name        : (indirect string, offset: 0xd3): nargs	
-    <b3>   DW_AT_decl_file   : 2	
-    <b4>   DW_AT_decl_line   : 5	
-    <b5>   DW_AT_type        : <0x47>	
-    <b9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><bc>: Abbrev Number: 10 (DW_TAG_member)
-    <bd>   DW_AT_name        : (indirect string, offset: 0x74): sys_flags	
-    <c1>   DW_AT_decl_file   : 2	
-    <c2>   DW_AT_decl_line   : 6	
-    <c3>   DW_AT_type        : <0x2b>	
-    <c7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ca>: Abbrev Number: 11 (DW_TAG_member)
-    <cb>   DW_AT_name        : sen	
-    <cf>   DW_AT_decl_file   : 2	
-    <d0>   DW_AT_decl_line   : 7	
-    <d1>   DW_AT_type        : <0x2b>	
-    <d5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d8>: Abbrev Number: 10 (DW_TAG_member)
-    <d9>   DW_AT_name        : (indirect string, offset: 0x1a9): sys_func	
-    <dd>   DW_AT_decl_file   : 2	
-    <de>   DW_AT_decl_line   : 8	
-    <df>   DW_AT_type        : <0x100>	
-    <e3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e6>: Abbrev Number: 10 (DW_TAG_member)
-    <e7>   DW_AT_name        : (indirect string, offset: 0x6b): sys_name	
-    <eb>   DW_AT_decl_file   : 2	
-    <ec>   DW_AT_decl_line   : 9	
-    <ed>   DW_AT_type        : <0x87>	
-    <f1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><f4>: Abbrev Number: 0
- <1><f5>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <f6>   DW_AT_type        : <0x2b>	
-    <fa>   DW_AT_sibling     : <0x100>	
- <2><fe>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><ff>: Abbrev Number: 0
- <1><100>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <101>   DW_AT_byte_size   : 4	
-    <102>   DW_AT_type        : <0xf5>	
- <1><106>: Abbrev Number: 4 (DW_TAG_typedef)
-    <107>   DW_AT_name        : (indirect string, offset: 0x100): struct_sysent	
-    <10b>   DW_AT_decl_file   : 2	
-    <10c>   DW_AT_decl_line   : 10	
-    <10d>   DW_AT_type        : <0xa2>	
- <1><111>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <112>   DW_AT_byte_size   : 4	
-    <113>   DW_AT_type        : <0x117>	
- <1><117>: Abbrev Number: 6 (DW_TAG_const_type)
-    <118>   DW_AT_type        : <0x106>	
- <1><11c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <11d>   DW_AT_byte_size   : 1	
-    <11e>   DW_AT_encoding    : 2	(boolean)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x7): _Bool	
- <1><123>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <124>   DW_AT_name        : (indirect string, offset: 0x0): msgbuf	
-    <128>   DW_AT_byte_size   : 16	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 51	
-    <12b>   DW_AT_sibling     : <0x14c>	
- <2><12f>: Abbrev Number: 10 (DW_TAG_member)
-    <130>   DW_AT_name        : (indirect string, offset: 0x1a3): mtype	
-    <134>   DW_AT_decl_file   : 3	
-    <135>   DW_AT_decl_line   : 53	
-    <136>   DW_AT_type        : <0x75>	
-    <13a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><13d>: Abbrev Number: 10 (DW_TAG_member)
-    <13e>   DW_AT_name        : (indirect string, offset: 0xa3): mtext	
-    <142>   DW_AT_decl_file   : 3	
-    <143>   DW_AT_decl_line   : 54	
-    <144>   DW_AT_type        : <0x92>	
-    <148>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><14b>: Abbrev Number: 0
- <1><14c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <14d>   DW_AT_name        : (indirect string, offset: 0x165): msgbuf_t	
-    <151>   DW_AT_decl_file   : 4	
-    <152>   DW_AT_decl_line   : 37	
-    <153>   DW_AT_type        : <0x123>	
- <1><157>: Abbrev Number: 14 (DW_TAG_variable)
-    <158>   DW_AT_name        : (indirect string, offset: 0xc2): current_wordsize	
-    <15c>   DW_AT_decl_file   : 5	
-    <15d>   DW_AT_decl_line   : 757	
-    <15f>   DW_AT_type        : <0x47>	
-    <163>   DW_AT_external    : 1	
-    <164>   DW_AT_declaration : 1	
- <1><165>: Abbrev Number: 14 (DW_TAG_variable)
-    <166>   DW_AT_name        : (indirect string, offset: 0xbb): sysent	
-    <16a>   DW_AT_decl_file   : 5	
-    <16b>   DW_AT_decl_line   : 892	
-    <16d>   DW_AT_type        : <0x111>	
-    <171>   DW_AT_external    : 1	
-    <172>   DW_AT_declaration : 1	
- <1><173>: Abbrev Number: 14 (DW_TAG_variable)
-    <174>   DW_AT_name        : (indirect string, offset: 0x144): nsyscalls	
-    <178>   DW_AT_decl_file   : 5	
-    <179>   DW_AT_decl_line   : 903	
-    <17b>   DW_AT_type        : <0x47>	
-    <17f>   DW_AT_external    : 1	
-    <180>   DW_AT_declaration : 1	
- <1><181>: Abbrev Number: 15 (DW_TAG_variable)
-    <182>   DW_AT_name        : (indirect string, offset: 0xd9): mpers_target_var	
-    <186>   DW_AT_decl_file   : 4	
-    <187>   DW_AT_decl_line   : 38	
-    <188>   DW_AT_type        : <0x14c>	
-    <18c>   DW_AT_external    : 1	
-    <18d>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><193>: Abbrev Number: 0
-
diff --git a/mpers-mx32/msgbuf_t.d2 b/mpers-mx32/msgbuf_t.d2
deleted file mode 100644
index 7db9689..0000000
--- a/mpers-mx32/msgbuf_t.d2
+++ /dev/null
@@ -1,216 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x197): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x16e): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x157): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x95): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x58): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf3): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7e): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x178): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa9): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xea): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14e): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b2): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x10e): char
-<1><87>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x8d>
-<1><8d>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><92>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0x80>
-DW_AT_sibling     : <0xa2>
-<2><9b>
-Abbrev Number: 8 (DW_TAG_subrange_type)
-DW_AT_type        : <0x6e>
-DW_AT_upper_bound : 0
-<1><a2>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xbb): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf5>
-<2><ae>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd3): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><bc>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x74): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ca>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d8>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a9): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x100>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6b): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f5>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x100>
-<2><fe>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><100>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf5>
-<1><106>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x100): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xa2>
-<1><111>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x117>
-<1><117>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x106>
-<1><11c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x7): _Bool
-<1><123>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): msgbuf
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_sibling     : <0x14c>
-<2><12f>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a3): mtype
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><13d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa3): mtext
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><14c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x165): msgbuf_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x123>
-<1><157>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc2): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><165>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xbb): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x111>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><173>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x144): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><181>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd9): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x14c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/msqid_ds_t.c b/mpers-mx32/msqid_ds_t.c
index 8e70ecb..2e2b96e 100644
--- a/mpers-mx32/msqid_ds_t.c
+++ b/mpers-mx32/msqid_ds_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/msqid_ds_t.d1 b/mpers-mx32/msqid_ds_t.d1
deleted file mode 100644
index 12ea43a..0000000
--- a/mpers-mx32/msqid_ds_t.d1
+++ /dev/null
@@ -1,356 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2fd (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x2f): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x200): mpers-mx32/msqid_ds_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x28b): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x27f): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x21e): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1f2): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd9): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x7a): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x188): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xc2): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x26e): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xf0): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x161): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x2bc): __u_quad_t	
-    <73>   DW_AT_decl_file   : 1	
-    <74>   DW_AT_decl_line   : 56	
-    <75>   DW_AT_type        : <0x4e>	
- <1><79>: Abbrev Number: 4 (DW_TAG_typedef)
-    <7a>   DW_AT_name        : (indirect string, offset: 0x27): __uid_t	
-    <7e>   DW_AT_decl_file   : 1	
-    <7f>   DW_AT_decl_line   : 125	
-    <80>   DW_AT_type        : <0x47>	
- <1><84>: Abbrev Number: 4 (DW_TAG_typedef)
-    <85>   DW_AT_name        : (indirect string, offset: 0x1d6): __gid_t	
-    <89>   DW_AT_decl_file   : 1	
-    <8a>   DW_AT_decl_line   : 126	
-    <8b>   DW_AT_type        : <0x47>	
- <1><8f>: Abbrev Number: 4 (DW_TAG_typedef)
-    <90>   DW_AT_name        : (indirect string, offset: 0x277): __pid_t	
-    <94>   DW_AT_decl_file   : 1	
-    <95>   DW_AT_decl_line   : 133	
-    <96>   DW_AT_type        : <0x2b>	
- <1><9a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <9b>   DW_AT_byte_size   : 4	
-    <9c>   DW_AT_encoding    : 7	(unsigned)
-    <9d>   DW_AT_name        : (indirect string, offset: 0x1de): sizetype	
- <1><a1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x12e): __time_t	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 139	
-    <a8>   DW_AT_type        : <0x63>	
- <1><ac>: Abbrev Number: 4 (DW_TAG_typedef)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x1b7): __key_t	
-    <b1>   DW_AT_decl_file   : 1	
-    <b2>   DW_AT_decl_line   : 144	
-    <b3>   DW_AT_type        : <0x2b>	
- <1><b7>: Abbrev Number: 4 (DW_TAG_typedef)
-    <b8>   DW_AT_name        : (indirect string, offset: 0x8d): __syscall_ulong_t	
-    <bc>   DW_AT_decl_file   : 1	
-    <bd>   DW_AT_decl_line   : 177	
-    <be>   DW_AT_type        : <0x6e>	
- <1><c2>: Abbrev Number: 2 (DW_TAG_base_type)
-    <c3>   DW_AT_byte_size   : 1	
-    <c4>   DW_AT_encoding    : 6	(signed char)
-    <c5>   DW_AT_name        : (indirect string, offset: 0x1ad): char	
- <1><c9>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ca>   DW_AT_byte_size   : 4	
-    <cb>   DW_AT_type        : <0xcf>	
- <1><cf>: Abbrev Number: 6 (DW_TAG_const_type)
-    <d0>   DW_AT_type        : <0xc2>	
- <1><d4>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <d5>   DW_AT_name        : (indirect string, offset: 0x107): sysent	
-    <d9>   DW_AT_byte_size   : 20	
-    <da>   DW_AT_decl_file   : 2	
-    <db>   DW_AT_decl_line   : 4	
-    <dc>   DW_AT_sibling     : <0x127>	
- <2><e0>: Abbrev Number: 8 (DW_TAG_member)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x148): nargs	
-    <e5>   DW_AT_decl_file   : 2	
-    <e6>   DW_AT_decl_line   : 5	
-    <e7>   DW_AT_type        : <0x47>	
-    <eb>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ee>: Abbrev Number: 8 (DW_TAG_member)
-    <ef>   DW_AT_name        : (indirect string, offset: 0xb8): sys_flags	
-    <f3>   DW_AT_decl_file   : 2	
-    <f4>   DW_AT_decl_line   : 6	
-    <f5>   DW_AT_type        : <0x2b>	
-    <f9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><fc>: Abbrev Number: 9 (DW_TAG_member)
-    <fd>   DW_AT_name        : sen	
-    <101>   DW_AT_decl_file   : 2	
-    <102>   DW_AT_decl_line   : 7	
-    <103>   DW_AT_type        : <0x2b>	
-    <107>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><10a>: Abbrev Number: 8 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0xe7): sys_func	
-    <10f>   DW_AT_decl_file   : 2	
-    <110>   DW_AT_decl_line   : 8	
-    <111>   DW_AT_type        : <0x132>	
-    <115>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><118>: Abbrev Number: 8 (DW_TAG_member)
-    <119>   DW_AT_name        : (indirect string, offset: 0xa9): sys_name	
-    <11d>   DW_AT_decl_file   : 2	
-    <11e>   DW_AT_decl_line   : 9	
-    <11f>   DW_AT_type        : <0xc9>	
-    <123>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><126>: Abbrev Number: 0
- <1><127>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <128>   DW_AT_type        : <0x2b>	
-    <12c>   DW_AT_sibling     : <0x132>	
- <2><130>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><131>: Abbrev Number: 0
- <1><132>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <133>   DW_AT_byte_size   : 4	
-    <134>   DW_AT_type        : <0x127>	
- <1><138>: Abbrev Number: 4 (DW_TAG_typedef)
-    <139>   DW_AT_name        : (indirect string, offset: 0x19f): struct_sysent	
-    <13d>   DW_AT_decl_file   : 2	
-    <13e>   DW_AT_decl_line   : 10	
-    <13f>   DW_AT_type        : <0xd4>	
- <1><143>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <144>   DW_AT_byte_size   : 4	
-    <145>   DW_AT_type        : <0x149>	
- <1><149>: Abbrev Number: 6 (DW_TAG_const_type)
-    <14a>   DW_AT_type        : <0x138>	
- <1><14e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <14f>   DW_AT_byte_size   : 1	
-    <150>   DW_AT_encoding    : 2	(boolean)
-    <151>   DW_AT_name        : (indirect string, offset: 0x1a): _Bool	
- <1><155>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <156>   DW_AT_name        : (indirect string, offset: 0x23a): ipc_perm	
-    <15a>   DW_AT_byte_size   : 48	
-    <15b>   DW_AT_decl_file   : 3	
-    <15c>   DW_AT_decl_line   : 42	
-    <15d>   DW_AT_sibling     : <0x1fc>	
- <2><161>: Abbrev Number: 8 (DW_TAG_member)
-    <162>   DW_AT_name        : (indirect string, offset: 0x218): __key	
-    <166>   DW_AT_decl_file   : 3	
-    <167>   DW_AT_decl_line   : 44	
-    <168>   DW_AT_type        : <0xac>	
-    <16c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><16f>: Abbrev Number: 9 (DW_TAG_member)
-    <170>   DW_AT_name        : uid	
-    <174>   DW_AT_decl_file   : 3	
-    <175>   DW_AT_decl_line   : 45	
-    <176>   DW_AT_type        : <0x79>	
-    <17a>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><17d>: Abbrev Number: 9 (DW_TAG_member)
-    <17e>   DW_AT_name        : gid	
-    <182>   DW_AT_decl_file   : 3	
-    <183>   DW_AT_decl_line   : 46	
-    <184>   DW_AT_type        : <0x84>	
-    <188>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><18b>: Abbrev Number: 8 (DW_TAG_member)
-    <18c>   DW_AT_name        : (indirect string, offset: 0x10e): cuid	
-    <190>   DW_AT_decl_file   : 3	
-    <191>   DW_AT_decl_line   : 47	
-    <192>   DW_AT_type        : <0x79>	
-    <196>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><199>: Abbrev Number: 8 (DW_TAG_member)
-    <19a>   DW_AT_name        : (indirect string, offset: 0x102): cgid	
-    <19e>   DW_AT_decl_file   : 3	
-    <19f>   DW_AT_decl_line   : 48	
-    <1a0>   DW_AT_type        : <0x84>	
-    <1a4>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1a7>: Abbrev Number: 8 (DW_TAG_member)
-    <1a8>   DW_AT_name        : (indirect string, offset: 0x1b2): mode	
-    <1ac>   DW_AT_decl_file   : 3	
-    <1ad>   DW_AT_decl_line   : 49	
-    <1ae>   DW_AT_type        : <0x40>	
-    <1b2>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1b5>: Abbrev Number: 8 (DW_TAG_member)
-    <1b6>   DW_AT_name        : (indirect string, offset: 0x267): __pad1	
-    <1ba>   DW_AT_decl_file   : 3	
-    <1bb>   DW_AT_decl_line   : 50	
-    <1bc>   DW_AT_type        : <0x40>	
-    <1c0>   DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
- <2><1c3>: Abbrev Number: 8 (DW_TAG_member)
-    <1c4>   DW_AT_name        : (indirect string, offset: 0xb2): __seq	
-    <1c8>   DW_AT_decl_file   : 3	
-    <1c9>   DW_AT_decl_line   : 51	
-    <1ca>   DW_AT_type        : <0x40>	
-    <1ce>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1d1>: Abbrev Number: 8 (DW_TAG_member)
-    <1d2>   DW_AT_name        : (indirect string, offset: 0x20): __pad2	
-    <1d6>   DW_AT_decl_file   : 3	
-    <1d7>   DW_AT_decl_line   : 52	
-    <1d8>   DW_AT_type        : <0x40>	
-    <1dc>   DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
- <2><1df>: Abbrev Number: 8 (DW_TAG_member)
-    <1e0>   DW_AT_name        : (indirect string, offset: 0x113): __glibc_reserved1	
-    <1e4>   DW_AT_decl_file   : 3	
-    <1e5>   DW_AT_decl_line   : 53	
-    <1e6>   DW_AT_type        : <0xb7>	
-    <1ea>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1ed>: Abbrev Number: 8 (DW_TAG_member)
-    <1ee>   DW_AT_name        : (indirect string, offset: 0x228): __glibc_reserved2	
-    <1f2>   DW_AT_decl_file   : 3	
-    <1f3>   DW_AT_decl_line   : 54	
-    <1f4>   DW_AT_type        : <0xb7>	
-    <1f8>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1fb>: Abbrev Number: 0
- <1><1fc>: Abbrev Number: 4 (DW_TAG_typedef)
-    <1fd>   DW_AT_name        : (indirect string, offset: 0x175): msgqnum_t	
-    <201>   DW_AT_decl_file   : 4	
-    <202>   DW_AT_decl_line   : 32	
-    <203>   DW_AT_type        : <0xb7>	
- <1><207>: Abbrev Number: 4 (DW_TAG_typedef)
-    <208>   DW_AT_name        : (indirect string, offset: 0x17f): msglen_t	
-    <20c>   DW_AT_decl_file   : 4	
-    <20d>   DW_AT_decl_line   : 33	
-    <20e>   DW_AT_type        : <0xb7>	
- <1><212>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <213>   DW_AT_name        : (indirect string, offset: 0x0): msqid_ds	
-    <217>   DW_AT_byte_size   : 120	
-    <218>   DW_AT_decl_file   : 4	
-    <219>   DW_AT_decl_line   : 37	
-    <21a>   DW_AT_sibling     : <0x2b9>	
- <2><21e>: Abbrev Number: 8 (DW_TAG_member)
-    <21f>   DW_AT_name        : (indirect string, offset: 0x125): msg_perm	
-    <223>   DW_AT_decl_file   : 4	
-    <224>   DW_AT_decl_line   : 39	
-    <225>   DW_AT_type        : <0x155>	
-    <229>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><22c>: Abbrev Number: 8 (DW_TAG_member)
-    <22d>   DW_AT_name        : (indirect string, offset: 0x2c7): msg_stime	
-    <231>   DW_AT_decl_file   : 4	
-    <232>   DW_AT_decl_line   : 40	
-    <233>   DW_AT_type        : <0xa1>	
-    <237>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><23a>: Abbrev Number: 8 (DW_TAG_member)
-    <23b>   DW_AT_name        : (indirect string, offset: 0x195): msg_rtime	
-    <23f>   DW_AT_decl_file   : 4	
-    <240>   DW_AT_decl_line   : 44	
-    <241>   DW_AT_type        : <0xa1>	
-    <245>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><248>: Abbrev Number: 8 (DW_TAG_member)
-    <249>   DW_AT_name        : (indirect string, offset: 0x14e): msg_ctime	
-    <24d>   DW_AT_decl_file   : 4	
-    <24e>   DW_AT_decl_line   : 48	
-    <24f>   DW_AT_type        : <0xa1>	
-    <253>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><256>: Abbrev Number: 8 (DW_TAG_member)
-    <257>   DW_AT_name        : (indirect string, offset: 0x1bf): __msg_cbytes	
-    <25b>   DW_AT_decl_file   : 4	
-    <25c>   DW_AT_decl_line   : 52	
-    <25d>   DW_AT_type        : <0xb7>	
-    <261>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><264>: Abbrev Number: 8 (DW_TAG_member)
-    <265>   DW_AT_name        : (indirect string, offset: 0x158): msg_qnum	
-    <269>   DW_AT_decl_file   : 4	
-    <26a>   DW_AT_decl_line   : 53	
-    <26b>   DW_AT_type        : <0x1fc>	
-    <26f>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><272>: Abbrev Number: 8 (DW_TAG_member)
-    <273>   DW_AT_name        : (indirect string, offset: 0x16a): msg_qbytes	
-    <277>   DW_AT_decl_file   : 4	
-    <278>   DW_AT_decl_line   : 54	
-    <279>   DW_AT_type        : <0x207>	
-    <27d>   DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
- <2><280>: Abbrev Number: 8 (DW_TAG_member)
-    <281>   DW_AT_name        : (indirect string, offset: 0x9f): msg_lspid	
-    <285>   DW_AT_decl_file   : 4	
-    <286>   DW_AT_decl_line   : 55	
-    <287>   DW_AT_type        : <0x8f>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><28e>: Abbrev Number: 8 (DW_TAG_member)
-    <28f>   DW_AT_name        : (indirect string, offset: 0x2d1): msg_lrpid	
-    <293>   DW_AT_decl_file   : 4	
-    <294>   DW_AT_decl_line   : 56	
-    <295>   DW_AT_type        : <0x8f>	
-    <299>   DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
- <2><29c>: Abbrev Number: 8 (DW_TAG_member)
-    <29d>   DW_AT_name        : (indirect string, offset: 0x243): __glibc_reserved4	
-    <2a1>   DW_AT_decl_file   : 4	
-    <2a2>   DW_AT_decl_line   : 57	
-    <2a3>   DW_AT_type        : <0xb7>	
-    <2a7>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><2aa>: Abbrev Number: 8 (DW_TAG_member)
-    <2ab>   DW_AT_name        : (indirect string, offset: 0x255): __glibc_reserved5	
-    <2af>   DW_AT_decl_file   : 4	
-    <2b0>   DW_AT_decl_line   : 58	
-    <2b1>   DW_AT_type        : <0xb7>	
-    <2b5>   DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
- <2><2b8>: Abbrev Number: 0
- <1><2b9>: Abbrev Number: 4 (DW_TAG_typedef)
-    <2ba>   DW_AT_name        : (indirect string, offset: 0x1e7): msqid_ds_t	
-    <2be>   DW_AT_decl_file   : 5	
-    <2bf>   DW_AT_decl_line   : 41	
-    <2c0>   DW_AT_type        : <0x212>	
- <1><2c4>: Abbrev Number: 12 (DW_TAG_variable)
-    <2c5>   DW_AT_name        : (indirect string, offset: 0x137): current_wordsize	
-    <2c9>   DW_AT_decl_file   : 6	
-    <2ca>   DW_AT_decl_line   : 757	
-    <2cc>   DW_AT_type        : <0x47>	
-    <2d0>   DW_AT_external    : 1	
-    <2d1>   DW_AT_declaration : 1	
- <1><2d2>: Abbrev Number: 12 (DW_TAG_variable)
-    <2d3>   DW_AT_name        : (indirect string, offset: 0x107): sysent	
-    <2d7>   DW_AT_decl_file   : 6	
-    <2d8>   DW_AT_decl_line   : 892	
-    <2da>   DW_AT_type        : <0x143>	
-    <2de>   DW_AT_external    : 1	
-    <2df>   DW_AT_declaration : 1	
- <1><2e0>: Abbrev Number: 12 (DW_TAG_variable)
-    <2e1>   DW_AT_name        : (indirect string, offset: 0x1cc): nsyscalls	
-    <2e5>   DW_AT_decl_file   : 6	
-    <2e6>   DW_AT_decl_line   : 903	
-    <2e8>   DW_AT_type        : <0x47>	
-    <2ec>   DW_AT_external    : 1	
-    <2ed>   DW_AT_declaration : 1	
- <1><2ee>: Abbrev Number: 13 (DW_TAG_variable)
-    <2ef>   DW_AT_name        : (indirect string, offset: 0x9): mpers_target_var	
-    <2f3>   DW_AT_decl_file   : 5	
-    <2f4>   DW_AT_decl_line   : 48	
-    <2f5>   DW_AT_type        : <0x2b9>	
-    <2f9>   DW_AT_external    : 1	
-    <2fa>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><300>: Abbrev Number: 0
-
diff --git a/mpers-mx32/msqid_ds_t.d2 b/mpers-mx32/msqid_ds_t.d2
deleted file mode 100644
index 1855344..0000000
--- a/mpers-mx32/msqid_ds_t.d2
+++ /dev/null
@@ -1,403 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x27f): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x21e): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f2): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd9): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7a): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x188): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc2): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x26e): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf0): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x161): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2bc): __u_quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x4e>
-<1><79>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x27): __uid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-<1><84>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d6): __gid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x47>
-<1><8f>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x277): __pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x2b>
-<1><9a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1de): sizetype
-<1><a1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x12e): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><ac>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b7): __key_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<1><b7>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x8d): __syscall_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 177
-DW_AT_type        : <0x6e>
-<1><c2>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ad): char
-<1><c9>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><cf>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xc2>
-<1><d4>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x107): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x127>
-<2><e0>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x148): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ee>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb8): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><fc>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><10a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe7): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x132>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><118>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa9): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xc9>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><127>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x132>
-<2><130>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><132>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x127>
-<1><138>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x19f): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xd4>
-<1><143>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x149>
-<1><149>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x138>
-<1><14e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1a): _Bool
-<1><155>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x23a): ipc_perm
-DW_AT_byte_size   : 48
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 42
-DW_AT_sibling     : <0x1fc>
-<2><161>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x218): __key
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_type        : <0xac>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><16f>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><17d>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : gid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x84>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><18b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10e): cuid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><199>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x102): cgid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x84>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1a7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b2): mode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1b5>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x267): __pad1
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
-<2><1c3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb2): __seq
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1d1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20): __pad2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
-<2><1df>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x113): __glibc_reserved1
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1ed>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x228): __glibc_reserved2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<1><1fc>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x175): msgqnum_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0xb7>
-<1><207>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17f): msglen_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0xb7>
-<1><212>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): msqid_ds
-DW_AT_byte_size   : 120
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_sibling     : <0x2b9>
-<2><21e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x125): msg_perm
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x155>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><22c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c7): msg_stime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><23a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x195): msg_rtime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 44
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><248>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14e): msg_ctime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 48
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><256>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bf): __msg_cbytes
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 52
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><264>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x158): msg_qnum
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x1fc>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<2><272>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16a): msg_qbytes
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x207>
-DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
-<2><280>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9f): msg_lspid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x8f>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><28e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d1): msg_lrpid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x8f>
-DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
-<2><29c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x243): __glibc_reserved4
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 57
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<2><2aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x255): __glibc_reserved5
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 58
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
-<1><2b9>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1e7): msqid_ds_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x212>
-<1><2c4>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x137): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2d2>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x107): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x143>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2e0>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1cc): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2ee>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x2b9>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/rusage_t.c b/mpers-mx32/rusage_t.c
index f69a7ee..cf3c244 100644
--- a/mpers-mx32/rusage_t.c
+++ b/mpers-mx32/rusage_t.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/rusage_t.d1 b/mpers-mx32/rusage_t.d1
deleted file mode 100644
index cc73bf7..0000000
--- a/mpers-mx32/rusage_t.d1
+++ /dev/null
@@ -1,484 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x3ef (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xc3): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x16d): mpers-mx32/rusage_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x33f): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1a8): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x5e): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x129): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x194): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x204): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1e3): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x1c5): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x137): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x288): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x0): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x78): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x2bc): __time_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 139	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0x327): __suseconds_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 141	
-    <87>   DW_AT_type        : <0x63>	
- <1><8b>: Abbrev Number: 4 (DW_TAG_typedef)
-    <8c>   DW_AT_name        : (indirect string, offset: 0x9e): __syscall_slong_t	
-    <90>   DW_AT_decl_file   : 1	
-    <91>   DW_AT_decl_line   : 175	
-    <92>   DW_AT_type        : <0x63>	
- <1><96>: Abbrev Number: 2 (DW_TAG_base_type)
-    <97>   DW_AT_byte_size   : 1	
-    <98>   DW_AT_encoding    : 6	(signed char)
-    <99>   DW_AT_name        : (indirect string, offset: 0x230): char	
- <1><9d>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <9e>   DW_AT_name        : (indirect string, offset: 0x2c5): timeval	
-    <a2>   DW_AT_byte_size   : 16	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 30	
-    <a5>   DW_AT_sibling     : <0xc6>	
- <2><a9>: Abbrev Number: 6 (DW_TAG_member)
-    <aa>   DW_AT_name        : (indirect string, offset: 0x3e): tv_sec	
-    <ae>   DW_AT_decl_file   : 2	
-    <af>   DW_AT_decl_line   : 32	
-    <b0>   DW_AT_type        : <0x75>	
-    <b4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b7>: Abbrev Number: 6 (DW_TAG_member)
-    <b8>   DW_AT_name        : (indirect string, offset: 0x2eb): tv_usec	
-    <bc>   DW_AT_decl_file   : 2	
-    <bd>   DW_AT_decl_line   : 33	
-    <be>   DW_AT_type        : <0x80>	
-    <c2>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c5>: Abbrev Number: 0
- <1><c6>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <c7>   DW_AT_byte_size   : 4	
-    <c8>   DW_AT_type        : <0xcc>	
- <1><cc>: Abbrev Number: 8 (DW_TAG_const_type)
-    <cd>   DW_AT_type        : <0x96>	
- <1><d1>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <d2>   DW_AT_name        : (indirect string, offset: 0x317): sysent	
-    <d6>   DW_AT_byte_size   : 20	
-    <d7>   DW_AT_decl_file   : 3	
-    <d8>   DW_AT_decl_line   : 4	
-    <d9>   DW_AT_sibling     : <0x124>	
- <2><dd>: Abbrev Number: 6 (DW_TAG_member)
-    <de>   DW_AT_name        : (indirect string, offset: 0x1a2): nargs	
-    <e2>   DW_AT_decl_file   : 3	
-    <e3>   DW_AT_decl_line   : 5	
-    <e4>   DW_AT_type        : <0x47>	
-    <e8>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><eb>: Abbrev Number: 6 (DW_TAG_member)
-    <ec>   DW_AT_name        : (indirect string, offset: 0x1f0): sys_flags	
-    <f0>   DW_AT_decl_file   : 3	
-    <f1>   DW_AT_decl_line   : 6	
-    <f2>   DW_AT_type        : <0x2b>	
-    <f6>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><f9>: Abbrev Number: 9 (DW_TAG_member)
-    <fa>   DW_AT_name        : sen	
-    <fe>   DW_AT_decl_file   : 3	
-    <ff>   DW_AT_decl_line   : 7	
-    <100>   DW_AT_type        : <0x2b>	
-    <104>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><107>: Abbrev Number: 6 (DW_TAG_member)
-    <108>   DW_AT_name        : (indirect string, offset: 0x9): sys_func	
-    <10c>   DW_AT_decl_file   : 3	
-    <10d>   DW_AT_decl_line   : 8	
-    <10e>   DW_AT_type        : <0x12f>	
-    <112>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><115>: Abbrev Number: 6 (DW_TAG_member)
-    <116>   DW_AT_name        : (indirect string, offset: 0x95): sys_name	
-    <11a>   DW_AT_decl_file   : 3	
-    <11b>   DW_AT_decl_line   : 9	
-    <11c>   DW_AT_type        : <0xc6>	
-    <120>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><123>: Abbrev Number: 0
- <1><124>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <125>   DW_AT_type        : <0x2b>	
-    <129>   DW_AT_sibling     : <0x12f>	
- <2><12d>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><12e>: Abbrev Number: 0
- <1><12f>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <130>   DW_AT_byte_size   : 4	
-    <131>   DW_AT_type        : <0x124>	
- <1><135>: Abbrev Number: 4 (DW_TAG_typedef)
-    <136>   DW_AT_name        : (indirect string, offset: 0x2dd): struct_sysent	
-    <13a>   DW_AT_decl_file   : 3	
-    <13b>   DW_AT_decl_line   : 10	
-    <13c>   DW_AT_type        : <0xd1>	
- <1><140>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <141>   DW_AT_byte_size   : 4	
-    <142>   DW_AT_type        : <0x146>	
- <1><146>: Abbrev Number: 8 (DW_TAG_const_type)
-    <147>   DW_AT_type        : <0x135>	
- <1><14b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <14c>   DW_AT_byte_size   : 1	
-    <14d>   DW_AT_encoding    : 2	(boolean)
-    <14e>   DW_AT_name        : (indirect string, offset: 0x235): _Bool	
- <1><152>: Abbrev Number: 12 (DW_TAG_union_type)
-    <153>   DW_AT_byte_size   : 8	
-    <154>   DW_AT_decl_file   : 4	
-    <155>   DW_AT_decl_line   : 194	
-    <156>   DW_AT_sibling     : <0x171>	
- <2><15a>: Abbrev Number: 13 (DW_TAG_member)
-    <15b>   DW_AT_name        : (indirect string, offset: 0x10e): ru_maxrss	
-    <15f>   DW_AT_decl_file   : 4	
-    <160>   DW_AT_decl_line   : 196	
-    <161>   DW_AT_type        : <0x55>	
- <2><165>: Abbrev Number: 13 (DW_TAG_member)
-    <166>   DW_AT_name        : (indirect string, offset: 0x151): __ru_maxrss_word	
-    <16a>   DW_AT_decl_file   : 4	
-    <16b>   DW_AT_decl_line   : 197	
-    <16c>   DW_AT_type        : <0x8b>	
- <2><170>: Abbrev Number: 0
- <1><171>: Abbrev Number: 12 (DW_TAG_union_type)
-    <172>   DW_AT_byte_size   : 8	
-    <173>   DW_AT_decl_file   : 4	
-    <174>   DW_AT_decl_line   : 202	
-    <175>   DW_AT_sibling     : <0x190>	
- <2><179>: Abbrev Number: 13 (DW_TAG_member)
-    <17a>   DW_AT_name        : (indirect string, offset: 0x35): ru_ixrss	
-    <17e>   DW_AT_decl_file   : 4	
-    <17f>   DW_AT_decl_line   : 204	
-    <180>   DW_AT_type        : <0x55>	
- <2><184>: Abbrev Number: 13 (DW_TAG_member)
-    <185>   DW_AT_name        : (indirect string, offset: 0x2cd): __ru_ixrss_word	
-    <189>   DW_AT_decl_file   : 4	
-    <18a>   DW_AT_decl_line   : 205	
-    <18b>   DW_AT_type        : <0x8b>	
- <2><18f>: Abbrev Number: 0
- <1><190>: Abbrev Number: 12 (DW_TAG_union_type)
-    <191>   DW_AT_byte_size   : 8	
-    <192>   DW_AT_decl_file   : 4	
-    <193>   DW_AT_decl_line   : 208	
-    <194>   DW_AT_sibling     : <0x1af>	
- <2><198>: Abbrev Number: 13 (DW_TAG_member)
-    <199>   DW_AT_name        : (indirect string, offset: 0x55): ru_idrss	
-    <19d>   DW_AT_decl_file   : 4	
-    <19e>   DW_AT_decl_line   : 210	
-    <19f>   DW_AT_type        : <0x55>	
- <2><1a3>: Abbrev Number: 13 (DW_TAG_member)
-    <1a4>   DW_AT_name        : (indirect string, offset: 0x45): __ru_idrss_word	
-    <1a8>   DW_AT_decl_file   : 4	
-    <1a9>   DW_AT_decl_line   : 211	
-    <1aa>   DW_AT_type        : <0x8b>	
- <2><1ae>: Abbrev Number: 0
- <1><1af>: Abbrev Number: 12 (DW_TAG_union_type)
-    <1b0>   DW_AT_byte_size   : 8	
-    <1b1>   DW_AT_decl_file   : 4	
-    <1b2>   DW_AT_decl_line   : 214	
-    <1b3>   DW_AT_sibling     : <0x1ce>	
- <2><1b7>: Abbrev Number: 13 (DW_TAG_member)
-    <1b8>   DW_AT_name        : (indirect string, offset: 0xba): ru_isrss	
-    <1bc>   DW_AT_decl_file   : 4	
-    <1bd>   DW_AT_decl_line   : 216	
-    <1be>   DW_AT_type        : <0x55>	
- <2><1c2>: Abbrev Number: 13 (DW_TAG_member)
-    <1c3>   DW_AT_name        : (indirect string, offset: 0x220): __ru_isrss_word	
-    <1c7>   DW_AT_decl_file   : 4	
-    <1c8>   DW_AT_decl_line   : 217	
-    <1c9>   DW_AT_type        : <0x8b>	
- <2><1cd>: Abbrev Number: 0
- <1><1ce>: Abbrev Number: 12 (DW_TAG_union_type)
-    <1cf>   DW_AT_byte_size   : 8	
-    <1d0>   DW_AT_decl_file   : 4	
-    <1d1>   DW_AT_decl_line   : 221	
-    <1d2>   DW_AT_sibling     : <0x1ed>	
- <2><1d6>: Abbrev Number: 13 (DW_TAG_member)
-    <1d7>   DW_AT_name        : (indirect string, offset: 0x12): ru_minflt	
-    <1db>   DW_AT_decl_file   : 4	
-    <1dc>   DW_AT_decl_line   : 223	
-    <1dd>   DW_AT_type        : <0x55>	
- <2><1e1>: Abbrev Number: 13 (DW_TAG_member)
-    <1e2>   DW_AT_name        : (indirect string, offset: 0x118): __ru_minflt_word	
-    <1e6>   DW_AT_decl_file   : 4	
-    <1e7>   DW_AT_decl_line   : 224	
-    <1e8>   DW_AT_type        : <0x8b>	
- <2><1ec>: Abbrev Number: 0
- <1><1ed>: Abbrev Number: 12 (DW_TAG_union_type)
-    <1ee>   DW_AT_byte_size   : 8	
-    <1ef>   DW_AT_decl_file   : 4	
-    <1f0>   DW_AT_decl_line   : 227	
-    <1f1>   DW_AT_sibling     : <0x20c>	
- <2><1f5>: Abbrev Number: 13 (DW_TAG_member)
-    <1f6>   DW_AT_name        : (indirect string, offset: 0xb0): ru_majflt	
-    <1fa>   DW_AT_decl_file   : 4	
-    <1fb>   DW_AT_decl_line   : 229	
-    <1fc>   DW_AT_type        : <0x55>	
- <2><200>: Abbrev Number: 13 (DW_TAG_member)
-    <201>   DW_AT_name        : (indirect string, offset: 0x183): __ru_majflt_word	
-    <205>   DW_AT_decl_file   : 4	
-    <206>   DW_AT_decl_line   : 230	
-    <207>   DW_AT_type        : <0x8b>	
- <2><20b>: Abbrev Number: 0
- <1><20c>: Abbrev Number: 12 (DW_TAG_union_type)
-    <20d>   DW_AT_byte_size   : 8	
-    <20e>   DW_AT_decl_file   : 4	
-    <20f>   DW_AT_decl_line   : 233	
-    <210>   DW_AT_sibling     : <0x22b>	
- <2><214>: Abbrev Number: 13 (DW_TAG_member)
-    <215>   DW_AT_name        : (indirect string, offset: 0x81): ru_nswap	
-    <219>   DW_AT_decl_file   : 4	
-    <21a>   DW_AT_decl_line   : 235	
-    <21b>   DW_AT_type        : <0x55>	
- <2><21f>: Abbrev Number: 13 (DW_TAG_member)
-    <220>   DW_AT_name        : (indirect string, offset: 0x68): __ru_nswap_word	
-    <224>   DW_AT_decl_file   : 4	
-    <225>   DW_AT_decl_line   : 236	
-    <226>   DW_AT_type        : <0x8b>	
- <2><22a>: Abbrev Number: 0
- <1><22b>: Abbrev Number: 12 (DW_TAG_union_type)
-    <22c>   DW_AT_byte_size   : 8	
-    <22d>   DW_AT_decl_file   : 4	
-    <22e>   DW_AT_decl_line   : 240	
-    <22f>   DW_AT_sibling     : <0x24a>	
- <2><233>: Abbrev Number: 13 (DW_TAG_member)
-    <234>   DW_AT_name        : (indirect string, offset: 0x162): ru_inblock	
-    <238>   DW_AT_decl_file   : 4	
-    <239>   DW_AT_decl_line   : 242	
-    <23a>   DW_AT_type        : <0x55>	
- <2><23e>: Abbrev Number: 13 (DW_TAG_member)
-    <23f>   DW_AT_name        : (indirect string, offset: 0x251): __ru_inblock_word	
-    <243>   DW_AT_decl_file   : 4	
-    <244>   DW_AT_decl_line   : 243	
-    <245>   DW_AT_type        : <0x8b>	
- <2><249>: Abbrev Number: 0
- <1><24a>: Abbrev Number: 12 (DW_TAG_union_type)
-    <24b>   DW_AT_byte_size   : 8	
-    <24c>   DW_AT_decl_file   : 4	
-    <24d>   DW_AT_decl_line   : 246	
-    <24e>   DW_AT_sibling     : <0x269>	
- <2><252>: Abbrev Number: 13 (DW_TAG_member)
-    <253>   DW_AT_name        : (indirect string, offset: 0x8a): ru_oublock	
-    <257>   DW_AT_decl_file   : 4	
-    <258>   DW_AT_decl_line   : 248	
-    <259>   DW_AT_type        : <0x55>	
- <2><25d>: Abbrev Number: 13 (DW_TAG_member)
-    <25e>   DW_AT_name        : (indirect string, offset: 0x276): __ru_oublock_word	
-    <262>   DW_AT_decl_file   : 4	
-    <263>   DW_AT_decl_line   : 249	
-    <264>   DW_AT_type        : <0x8b>	
- <2><268>: Abbrev Number: 0
- <1><269>: Abbrev Number: 12 (DW_TAG_union_type)
-    <26a>   DW_AT_byte_size   : 8	
-    <26b>   DW_AT_decl_file   : 4	
-    <26c>   DW_AT_decl_line   : 252	
-    <26d>   DW_AT_sibling     : <0x288>	
- <2><271>: Abbrev Number: 13 (DW_TAG_member)
-    <272>   DW_AT_name        : (indirect string, offset: 0x23b): ru_msgsnd	
-    <276>   DW_AT_decl_file   : 4	
-    <277>   DW_AT_decl_line   : 254	
-    <278>   DW_AT_type        : <0x55>	
- <2><27c>: Abbrev Number: 13 (DW_TAG_member)
-    <27d>   DW_AT_name        : (indirect string, offset: 0x29a): __ru_msgsnd_word	
-    <281>   DW_AT_decl_file   : 4	
-    <282>   DW_AT_decl_line   : 255	
-    <283>   DW_AT_type        : <0x8b>	
- <2><287>: Abbrev Number: 0
- <1><288>: Abbrev Number: 14 (DW_TAG_union_type)
-    <289>   DW_AT_byte_size   : 8	
-    <28a>   DW_AT_decl_file   : 4	
-    <28b>   DW_AT_decl_line   : 258	
-    <28d>   DW_AT_sibling     : <0x2aa>	
- <2><291>: Abbrev Number: 15 (DW_TAG_member)
-    <292>   DW_AT_name        : (indirect string, offset: 0x335): ru_msgrcv	
-    <296>   DW_AT_decl_file   : 4	
-    <297>   DW_AT_decl_line   : 260	
-    <299>   DW_AT_type        : <0x55>	
- <2><29d>: Abbrev Number: 15 (DW_TAG_member)
-    <29e>   DW_AT_name        : (indirect string, offset: 0x2f3): __ru_msgrcv_word	
-    <2a2>   DW_AT_decl_file   : 4	
-    <2a3>   DW_AT_decl_line   : 261	
-    <2a5>   DW_AT_type        : <0x8b>	
- <2><2a9>: Abbrev Number: 0
- <1><2aa>: Abbrev Number: 14 (DW_TAG_union_type)
-    <2ab>   DW_AT_byte_size   : 8	
-    <2ac>   DW_AT_decl_file   : 4	
-    <2ad>   DW_AT_decl_line   : 264	
-    <2af>   DW_AT_sibling     : <0x2cc>	
- <2><2b3>: Abbrev Number: 15 (DW_TAG_member)
-    <2b4>   DW_AT_name        : (indirect string, offset: 0x245): ru_nsignals	
-    <2b8>   DW_AT_decl_file   : 4	
-    <2b9>   DW_AT_decl_line   : 266	
-    <2bb>   DW_AT_type        : <0x55>	
- <2><2bf>: Abbrev Number: 15 (DW_TAG_member)
-    <2c0>   DW_AT_name        : (indirect string, offset: 0x263): __ru_nsignals_word	
-    <2c4>   DW_AT_decl_file   : 4	
-    <2c5>   DW_AT_decl_line   : 267	
-    <2c7>   DW_AT_type        : <0x8b>	
- <2><2cb>: Abbrev Number: 0
- <1><2cc>: Abbrev Number: 14 (DW_TAG_union_type)
-    <2cd>   DW_AT_byte_size   : 8	
-    <2ce>   DW_AT_decl_file   : 4	
-    <2cf>   DW_AT_decl_line   : 272	
-    <2d1>   DW_AT_sibling     : <0x2ee>	
- <2><2d5>: Abbrev Number: 15 (DW_TAG_member)
-    <2d6>   DW_AT_name        : (indirect string, offset: 0x1c): ru_nvcsw	
-    <2da>   DW_AT_decl_file   : 4	
-    <2db>   DW_AT_decl_line   : 274	
-    <2dd>   DW_AT_type        : <0x55>	
- <2><2e1>: Abbrev Number: 15 (DW_TAG_member)
-    <2e2>   DW_AT_name        : (indirect string, offset: 0x25): __ru_nvcsw_word	
-    <2e6>   DW_AT_decl_file   : 4	
-    <2e7>   DW_AT_decl_line   : 275	
-    <2e9>   DW_AT_type        : <0x8b>	
- <2><2ed>: Abbrev Number: 0
- <1><2ee>: Abbrev Number: 14 (DW_TAG_union_type)
-    <2ef>   DW_AT_byte_size   : 8	
-    <2f0>   DW_AT_decl_file   : 4	
-    <2f1>   DW_AT_decl_line   : 279	
-    <2f3>   DW_AT_sibling     : <0x310>	
- <2><2f7>: Abbrev Number: 15 (DW_TAG_member)
-    <2f8>   DW_AT_name        : (indirect string, offset: 0x304): ru_nivcsw	
-    <2fc>   DW_AT_decl_file   : 4	
-    <2fd>   DW_AT_decl_line   : 281	
-    <2ff>   DW_AT_type        : <0x55>	
- <2><303>: Abbrev Number: 15 (DW_TAG_member)
-    <304>   DW_AT_name        : (indirect string, offset: 0x2ab): __ru_nivcsw_word	
-    <308>   DW_AT_decl_file   : 4	
-    <309>   DW_AT_decl_line   : 282	
-    <30b>   DW_AT_type        : <0x8b>	
- <2><30f>: Abbrev Number: 0
- <1><310>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <311>   DW_AT_name        : (indirect string, offset: 0x1dc): rusage	
-    <315>   DW_AT_byte_size   : 144	
-    <316>   DW_AT_decl_file   : 4	
-    <317>   DW_AT_decl_line   : 187	
-    <318>   DW_AT_sibling     : <0x3ab>	
- <2><31c>: Abbrev Number: 6 (DW_TAG_member)
-    <31d>   DW_AT_name        : (indirect string, offset: 0x217): ru_utime	
-    <321>   DW_AT_decl_file   : 4	
-    <322>   DW_AT_decl_line   : 190	
-    <323>   DW_AT_type        : <0x9d>	
-    <327>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><32a>: Abbrev Number: 6 (DW_TAG_member)
-    <32b>   DW_AT_name        : (indirect string, offset: 0x31e): ru_stime	
-    <32f>   DW_AT_decl_file   : 4	
-    <330>   DW_AT_decl_line   : 192	
-    <331>   DW_AT_type        : <0x9d>	
-    <335>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><338>: Abbrev Number: 16 (DW_TAG_member)
-    <339>   DW_AT_type        : <0x152>	
-    <33d>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><340>: Abbrev Number: 16 (DW_TAG_member)
-    <341>   DW_AT_type        : <0x171>	
-    <345>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><348>: Abbrev Number: 16 (DW_TAG_member)
-    <349>   DW_AT_type        : <0x190>	
-    <34d>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><350>: Abbrev Number: 16 (DW_TAG_member)
-    <351>   DW_AT_type        : <0x1af>	
-    <355>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><358>: Abbrev Number: 16 (DW_TAG_member)
-    <359>   DW_AT_type        : <0x1ce>	
-    <35d>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><360>: Abbrev Number: 16 (DW_TAG_member)
-    <361>   DW_AT_type        : <0x1ed>	
-    <365>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><368>: Abbrev Number: 16 (DW_TAG_member)
-    <369>   DW_AT_type        : <0x20c>	
-    <36d>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><370>: Abbrev Number: 16 (DW_TAG_member)
-    <371>   DW_AT_type        : <0x22b>	
-    <375>   DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
- <2><378>: Abbrev Number: 16 (DW_TAG_member)
-    <379>   DW_AT_type        : <0x24a>	
-    <37d>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><380>: Abbrev Number: 16 (DW_TAG_member)
-    <381>   DW_AT_type        : <0x269>	
-    <385>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><388>: Abbrev Number: 16 (DW_TAG_member)
-    <389>   DW_AT_type        : <0x288>	
-    <38d>   DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
- <2><390>: Abbrev Number: 16 (DW_TAG_member)
-    <391>   DW_AT_type        : <0x2aa>	
-    <395>   DW_AT_data_member_location: 2 byte block: 23 78 	(DW_OP_plus_uconst: 120)
- <2><398>: Abbrev Number: 16 (DW_TAG_member)
-    <399>   DW_AT_type        : <0x2cc>	
-    <39d>   DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
- <2><3a1>: Abbrev Number: 16 (DW_TAG_member)
-    <3a2>   DW_AT_type        : <0x2ee>	
-    <3a6>   DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
- <2><3aa>: Abbrev Number: 0
- <1><3ab>: Abbrev Number: 4 (DW_TAG_typedef)
-    <3ac>   DW_AT_name        : (indirect string, offset: 0x30e): rusage_t	
-    <3b0>   DW_AT_decl_file   : 5	
-    <3b1>   DW_AT_decl_line   : 35	
-    <3b2>   DW_AT_type        : <0x310>	
- <1><3b6>: Abbrev Number: 17 (DW_TAG_variable)
-    <3b7>   DW_AT_name        : (indirect string, offset: 0x1b4): current_wordsize	
-    <3bb>   DW_AT_decl_file   : 6	
-    <3bc>   DW_AT_decl_line   : 757	
-    <3be>   DW_AT_type        : <0x47>	
-    <3c2>   DW_AT_external    : 1	
-    <3c3>   DW_AT_declaration : 1	
- <1><3c4>: Abbrev Number: 17 (DW_TAG_variable)
-    <3c5>   DW_AT_name        : (indirect string, offset: 0x317): sysent	
-    <3c9>   DW_AT_decl_file   : 6	
-    <3ca>   DW_AT_decl_line   : 892	
-    <3cc>   DW_AT_type        : <0x140>	
-    <3d0>   DW_AT_external    : 1	
-    <3d1>   DW_AT_declaration : 1	
- <1><3d2>: Abbrev Number: 17 (DW_TAG_variable)
-    <3d3>   DW_AT_name        : (indirect string, offset: 0x1fa): nsyscalls	
-    <3d7>   DW_AT_decl_file   : 6	
-    <3d8>   DW_AT_decl_line   : 903	
-    <3da>   DW_AT_type        : <0x47>	
-    <3de>   DW_AT_external    : 1	
-    <3df>   DW_AT_declaration : 1	
- <1><3e0>: Abbrev Number: 18 (DW_TAG_variable)
-    <3e1>   DW_AT_name        : (indirect string, offset: 0x140): mpers_target_var	
-    <3e5>   DW_AT_decl_file   : 5	
-    <3e6>   DW_AT_decl_line   : 37	
-    <3e7>   DW_AT_type        : <0x3ab>	
-    <3eb>   DW_AT_external    : 1	
-    <3ec>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><3f2>: Abbrev Number: 0
-
diff --git a/mpers-mx32/rusage_t.d2 b/mpers-mx32/rusage_t.d2
deleted file mode 100644
index 801e892..0000000
--- a/mpers-mx32/rusage_t.d2
+++ /dev/null
@@ -1,549 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a8): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x5e): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x129): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x194): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x204): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1e3): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c5): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x137): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x288): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x78): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2bc): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x327): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x63>
-<1><8b>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x9e): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x63>
-<1><96>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x230): char
-<1><9d>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2c5): timeval
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xc6>
-<2><a9>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3e): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b7>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2eb): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><c6>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcc>
-<1><cc>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x96>
-<1><d1>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x317): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x124>
-<2><dd>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a2): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><eb>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f0): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><f9>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><107>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><115>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x95): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xc6>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><124>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x12f>
-<2><12d>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><12f>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x124>
-<1><135>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2dd): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xd1>
-<1><140>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x146>
-<1><146>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x135>
-<1><14b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x235): _Bool
-<1><152>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 194
-DW_AT_sibling     : <0x171>
-<2><15a>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10e): ru_maxrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 196
-DW_AT_type        : <0x55>
-<2><165>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x151): __ru_maxrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 197
-DW_AT_type        : <0x8b>
-<1><171>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 202
-DW_AT_sibling     : <0x190>
-<2><179>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x35): ru_ixrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 204
-DW_AT_type        : <0x55>
-<2><184>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2cd): __ru_ixrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 205
-DW_AT_type        : <0x8b>
-<1><190>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 208
-DW_AT_sibling     : <0x1af>
-<2><198>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x55): ru_idrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 210
-DW_AT_type        : <0x55>
-<2><1a3>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x45): __ru_idrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 211
-DW_AT_type        : <0x8b>
-<1><1af>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 214
-DW_AT_sibling     : <0x1ce>
-<2><1b7>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xba): ru_isrss
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 216
-DW_AT_type        : <0x55>
-<2><1c2>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): __ru_isrss_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 217
-DW_AT_type        : <0x8b>
-<1><1ce>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 221
-DW_AT_sibling     : <0x1ed>
-<2><1d6>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12): ru_minflt
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 223
-DW_AT_type        : <0x55>
-<2><1e1>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x118): __ru_minflt_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 224
-DW_AT_type        : <0x8b>
-<1><1ed>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 227
-DW_AT_sibling     : <0x20c>
-<2><1f5>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb0): ru_majflt
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 229
-DW_AT_type        : <0x55>
-<2><200>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x183): __ru_majflt_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 230
-DW_AT_type        : <0x8b>
-<1><20c>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 233
-DW_AT_sibling     : <0x22b>
-<2><214>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x81): ru_nswap
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 235
-DW_AT_type        : <0x55>
-<2><21f>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x68): __ru_nswap_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 236
-DW_AT_type        : <0x8b>
-<1><22b>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 240
-DW_AT_sibling     : <0x24a>
-<2><233>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x162): ru_inblock
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 242
-DW_AT_type        : <0x55>
-<2><23e>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x251): __ru_inblock_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 243
-DW_AT_type        : <0x8b>
-<1><24a>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 246
-DW_AT_sibling     : <0x269>
-<2><252>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8a): ru_oublock
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 248
-DW_AT_type        : <0x55>
-<2><25d>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x276): __ru_oublock_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 249
-DW_AT_type        : <0x8b>
-<1><269>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 252
-DW_AT_sibling     : <0x288>
-<2><271>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23b): ru_msgsnd
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 254
-DW_AT_type        : <0x55>
-<2><27c>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29a): __ru_msgsnd_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 255
-DW_AT_type        : <0x8b>
-<1><288>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 258
-DW_AT_sibling     : <0x2aa>
-<2><291>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x335): ru_msgrcv
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 260
-DW_AT_type        : <0x55>
-<2><29d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2f3): __ru_msgrcv_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 261
-DW_AT_type        : <0x8b>
-<1><2aa>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 264
-DW_AT_sibling     : <0x2cc>
-<2><2b3>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x245): ru_nsignals
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 266
-DW_AT_type        : <0x55>
-<2><2bf>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x263): __ru_nsignals_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 267
-DW_AT_type        : <0x8b>
-<1><2cc>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 272
-DW_AT_sibling     : <0x2ee>
-<2><2d5>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c): ru_nvcsw
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 274
-DW_AT_type        : <0x55>
-<2><2e1>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25): __ru_nvcsw_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 275
-DW_AT_type        : <0x8b>
-<1><2ee>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 279
-DW_AT_sibling     : <0x310>
-<2><2f7>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x304): ru_nivcsw
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 281
-DW_AT_type        : <0x55>
-<2><303>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ab): __ru_nivcsw_word
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 282
-DW_AT_type        : <0x8b>
-<1><310>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1dc): rusage
-DW_AT_byte_size   : 144
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 187
-DW_AT_sibling     : <0x3ab>
-<2><31c>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x217): ru_utime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 190
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><32a>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x31e): ru_stime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 192
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><338>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x152>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><340>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x171>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><348>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x190>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><350>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1af>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><358>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1ce>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><360>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1ed>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><368>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x20c>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<2><370>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x22b>
-DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
-<2><378>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x24a>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><380>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x269>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<2><388>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x288>
-DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
-<2><390>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x2aa>
-DW_AT_data_member_location: 2 byte block: 23 78 	(DW_OP_plus_uconst: 120)
-<2><398>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x2cc>
-DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
-<2><3a1>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x2ee>
-DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
-<1><3ab>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x30e): rusage_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x310>
-<1><3b6>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b4): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3c4>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x317): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x140>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3d2>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1fa): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3e0>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x140): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x3ab>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/sample.c b/mpers-mx32/sample.c
index 4c65608..1eedf1c 100644
--- a/mpers-mx32/sample.c
+++ b/mpers-mx32/sample.c
@@ -16,7 +16,7 @@
 		long long sll __attribute__((__aligned__(8)));
 		unsigned long long ull;
 		unsigned long ul;
-		long asl[3];
+		long asl[3][5][7];
 		char f;
 		/* unsigned char mpers_end_filler_4[7]; */
 	} s;
@@ -28,11 +28,11 @@
 		unsigned long ul;
 		int si;
 		unsigned ui;
-		short ss;
-		unsigned short us;
+		short ss[7][9];
+		unsigned short us[4];
 		char sc;
 		unsigned char uc;
-	} u[3];
+	} u[3][2];
 	short f[0];
 } sample_struct;
 #include MPERS_DEFS
diff --git a/mpers-mx32/sample.expected b/mpers-mx32/sample.expected
index 557ab69..3e6c2a5 100644
--- a/mpers-mx32/sample.expected
+++ b/mpers-mx32/sample.expected
@@ -17,7 +17,7 @@
 int64_t sll;
 uint64_t ull;
 uint32_t ul;
-int32_t asl[3];
+int32_t asl[3][5][7];
 char f;
 unsigned char mpers_end_filler_4[7];
 } ATTRIBUTE_PACKED s;
@@ -29,11 +29,11 @@
 uint32_t ul;
 int32_t si;
 uint32_t ui;
-int16_t ss;
-uint16_t us;
+int16_t ss[7][9];
+uint16_t us[4];
 char sc;
 unsigned char uc;
-} u[3];
+} u[3][2];
 int16_t f[0];
 } ATTRIBUTE_PACKED mx32_sample_struct;
 #define MPERS_mx32_sample_struct mx32_sample_struct
diff --git a/mpers-mx32/sample_struct.c b/mpers-mx32/sample_struct.c
index 6ebddcc..b9f6d05 100644
--- a/mpers-mx32/sample_struct.c
+++ b/mpers-mx32/sample_struct.c
@@ -15,7 +15,7 @@
 		long long sll __attribute__((__aligned__(8)));
 		unsigned long long ull;
 		unsigned long ul;
-		long asl[3];
+		long asl[3][5][7];
 		char f;
 		/* unsigned char mpers_end_filler_4[7]; */
 	} s;
@@ -27,11 +27,11 @@
 		unsigned long ul;
 		int si;
 		unsigned ui;
-		short ss;
-		unsigned short us;
+		short ss[7][9];
+		unsigned short us[4];
 		char sc;
 		unsigned char uc;
-	} u[3];
+	} u[3][2];
 	short f[0];
 } sample_struct;
 sample_struct mpers_target_var;
diff --git a/mpers-mx32/sample_struct.d1 b/mpers-mx32/sample_struct.d1
deleted file mode 100644
index 0b8ee9a..0000000
--- a/mpers-mx32/sample_struct.d1
+++ /dev/null
@@ -1,262 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x20d (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x1b): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x10f): mpers-mx32/sample_struct.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x77): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_structure_type)
-    <1e>   DW_AT_byte_size   : 72	
-    <1f>   DW_AT_decl_file   : 1	
-    <20>   DW_AT_decl_line   : 3	
-    <21>   DW_AT_sibling     : <0xd0>	
- <2><25>: Abbrev Number: 3 (DW_TAG_member)
-    <26>   DW_AT_name        : p	
-    <28>   DW_AT_decl_file   : 1	
-    <29>   DW_AT_decl_line   : 4	
-    <2a>   DW_AT_type        : <0xd0>	
-    <2e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><31>: Abbrev Number: 3 (DW_TAG_member)
-    <32>   DW_AT_name        : sc	
-    <35>   DW_AT_decl_file   : 1	
-    <36>   DW_AT_decl_line   : 5	
-    <37>   DW_AT_type        : <0xd2>	
-    <3b>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3e>: Abbrev Number: 3 (DW_TAG_member)
-    <3f>   DW_AT_name        : ss	
-    <42>   DW_AT_decl_file   : 1	
-    <43>   DW_AT_decl_line   : 7	
-    <44>   DW_AT_type        : <0xd9>	
-    <48>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><4b>: Abbrev Number: 3 (DW_TAG_member)
-    <4c>   DW_AT_name        : uc	
-    <4f>   DW_AT_decl_file   : 1	
-    <50>   DW_AT_decl_line   : 8	
-    <51>   DW_AT_type        : <0xe0>	
-    <55>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><58>: Abbrev Number: 3 (DW_TAG_member)
-    <59>   DW_AT_name        : si	
-    <5c>   DW_AT_decl_file   : 1	
-    <5d>   DW_AT_decl_line   : 10	
-    <5e>   DW_AT_type        : <0xe7>	
-    <62>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><65>: Abbrev Number: 3 (DW_TAG_member)
-    <66>   DW_AT_name        : ui	
-    <69>   DW_AT_decl_file   : 1	
-    <6a>   DW_AT_decl_line   : 11	
-    <6b>   DW_AT_type        : <0xee>	
-    <6f>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><72>: Abbrev Number: 3 (DW_TAG_member)
-    <73>   DW_AT_name        : sl	
-    <76>   DW_AT_decl_file   : 1	
-    <77>   DW_AT_decl_line   : 12	
-    <78>   DW_AT_type        : <0xf5>	
-    <7c>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><7f>: Abbrev Number: 3 (DW_TAG_member)
-    <80>   DW_AT_name        : us	
-    <83>   DW_AT_decl_file   : 1	
-    <84>   DW_AT_decl_line   : 13	
-    <85>   DW_AT_type        : <0xfc>	
-    <89>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><8c>: Abbrev Number: 3 (DW_TAG_member)
-    <8d>   DW_AT_name        : sll	
-    <91>   DW_AT_decl_file   : 1	
-    <92>   DW_AT_decl_line   : 15	
-    <93>   DW_AT_type        : <0x103>	
-    <97>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><9a>: Abbrev Number: 3 (DW_TAG_member)
-    <9b>   DW_AT_name        : ull	
-    <9f>   DW_AT_decl_file   : 1	
-    <a0>   DW_AT_decl_line   : 16	
-    <a1>   DW_AT_type        : <0x10a>	
-    <a5>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><a8>: Abbrev Number: 3 (DW_TAG_member)
-    <a9>   DW_AT_name        : ul	
-    <ac>   DW_AT_decl_file   : 1	
-    <ad>   DW_AT_decl_line   : 17	
-    <ae>   DW_AT_type        : <0x111>	
-    <b2>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><b5>: Abbrev Number: 3 (DW_TAG_member)
-    <b6>   DW_AT_name        : asl	
-    <ba>   DW_AT_decl_file   : 1	
-    <bb>   DW_AT_decl_line   : 18	
-    <bc>   DW_AT_type        : <0x118>	
-    <c0>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><c3>: Abbrev Number: 3 (DW_TAG_member)
-    <c4>   DW_AT_name        : f	
-    <c6>   DW_AT_decl_file   : 1	
-    <c7>   DW_AT_decl_line   : 19	
-    <c8>   DW_AT_type        : <0xd2>	
-    <cc>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><cf>: Abbrev Number: 0
- <1><d0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <d1>   DW_AT_byte_size   : 4	
- <1><d2>: Abbrev Number: 5 (DW_TAG_base_type)
-    <d3>   DW_AT_byte_size   : 1	
-    <d4>   DW_AT_encoding    : 6	(signed char)
-    <d5>   DW_AT_name        : (indirect string, offset: 0xb6): char	
- <1><d9>: Abbrev Number: 5 (DW_TAG_base_type)
-    <da>   DW_AT_byte_size   : 2	
-    <db>   DW_AT_encoding    : 5	(signed)
-    <dc>   DW_AT_name        : (indirect string, offset: 0x105): short int	
- <1><e0>: Abbrev Number: 5 (DW_TAG_base_type)
-    <e1>   DW_AT_byte_size   : 1	
-    <e2>   DW_AT_encoding    : 8	(unsigned char)
-    <e3>   DW_AT_name        : (indirect string, offset: 0xa8): unsigned char	
- <1><e7>: Abbrev Number: 6 (DW_TAG_base_type)
-    <e8>   DW_AT_byte_size   : 4	
-    <e9>   DW_AT_encoding    : 5	(signed)
-    <ea>   DW_AT_name        : int	
- <1><ee>: Abbrev Number: 5 (DW_TAG_base_type)
-    <ef>   DW_AT_byte_size   : 4	
-    <f0>   DW_AT_encoding    : 7	(unsigned)
-    <f1>   DW_AT_name        : (indirect string, offset: 0xe): unsigned int	
- <1><f5>: Abbrev Number: 5 (DW_TAG_base_type)
-    <f6>   DW_AT_byte_size   : 4	
-    <f7>   DW_AT_encoding    : 5	(signed)
-    <f8>   DW_AT_name        : (indirect string, offset: 0xbb): long int	
- <1><fc>: Abbrev Number: 5 (DW_TAG_base_type)
-    <fd>   DW_AT_byte_size   : 2	
-    <fe>   DW_AT_encoding    : 7	(unsigned)
-    <ff>   DW_AT_name        : (indirect string, offset: 0xe9): short unsigned int	
- <1><103>: Abbrev Number: 5 (DW_TAG_base_type)
-    <104>   DW_AT_byte_size   : 8	
-    <105>   DW_AT_encoding    : 5	(signed)
-    <106>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><10a>: Abbrev Number: 5 (DW_TAG_base_type)
-    <10b>   DW_AT_byte_size   : 8	
-    <10c>   DW_AT_encoding    : 7	(unsigned)
-    <10d>   DW_AT_name        : (indirect string, offset: 0xc4): long long unsigned int	
- <1><111>: Abbrev Number: 5 (DW_TAG_base_type)
-    <112>   DW_AT_byte_size   : 4	
-    <113>   DW_AT_encoding    : 7	(unsigned)
-    <114>   DW_AT_name        : (indirect string, offset: 0x12a): long unsigned int	
- <1><118>: Abbrev Number: 7 (DW_TAG_array_type)
-    <119>   DW_AT_type        : <0xf5>	
-    <11d>   DW_AT_sibling     : <0x128>	
- <2><121>: Abbrev Number: 8 (DW_TAG_subrange_type)
-    <122>   DW_AT_type        : <0x128>	
-    <126>   DW_AT_upper_bound : 2	
- <2><127>: Abbrev Number: 0
- <1><128>: Abbrev Number: 5 (DW_TAG_base_type)
-    <129>   DW_AT_byte_size   : 4	
-    <12a>   DW_AT_encoding    : 7	(unsigned)
-    <12b>   DW_AT_name        : (indirect string, offset: 0xfc): sizetype	
- <1><12f>: Abbrev Number: 9 (DW_TAG_union_type)
-    <130>   DW_AT_byte_size   : 8	
-    <131>   DW_AT_decl_file   : 1	
-    <132>   DW_AT_decl_line   : 22	
-    <133>   DW_AT_sibling     : <0x1a7>	
- <2><137>: Abbrev Number: 10 (DW_TAG_member)
-    <138>   DW_AT_name        : sll	
-    <13c>   DW_AT_decl_file   : 1	
-    <13d>   DW_AT_decl_line   : 23	
-    <13e>   DW_AT_type        : <0x103>	
- <2><142>: Abbrev Number: 10 (DW_TAG_member)
-    <143>   DW_AT_name        : ull	
-    <147>   DW_AT_decl_file   : 1	
-    <148>   DW_AT_decl_line   : 24	
-    <149>   DW_AT_type        : <0x10a>	
- <2><14d>: Abbrev Number: 10 (DW_TAG_member)
-    <14e>   DW_AT_name        : p	
-    <150>   DW_AT_decl_file   : 1	
-    <151>   DW_AT_decl_line   : 25	
-    <152>   DW_AT_type        : <0xd0>	
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : sl	
-    <15a>   DW_AT_decl_file   : 1	
-    <15b>   DW_AT_decl_line   : 26	
-    <15c>   DW_AT_type        : <0xf5>	
- <2><160>: Abbrev Number: 10 (DW_TAG_member)
-    <161>   DW_AT_name        : ul	
-    <164>   DW_AT_decl_file   : 1	
-    <165>   DW_AT_decl_line   : 27	
-    <166>   DW_AT_type        : <0x111>	
- <2><16a>: Abbrev Number: 10 (DW_TAG_member)
-    <16b>   DW_AT_name        : si	
-    <16e>   DW_AT_decl_file   : 1	
-    <16f>   DW_AT_decl_line   : 28	
-    <170>   DW_AT_type        : <0xe7>	
- <2><174>: Abbrev Number: 10 (DW_TAG_member)
-    <175>   DW_AT_name        : ui	
-    <178>   DW_AT_decl_file   : 1	
-    <179>   DW_AT_decl_line   : 29	
-    <17a>   DW_AT_type        : <0xee>	
- <2><17e>: Abbrev Number: 10 (DW_TAG_member)
-    <17f>   DW_AT_name        : ss	
-    <182>   DW_AT_decl_file   : 1	
-    <183>   DW_AT_decl_line   : 30	
-    <184>   DW_AT_type        : <0xd9>	
- <2><188>: Abbrev Number: 10 (DW_TAG_member)
-    <189>   DW_AT_name        : us	
-    <18c>   DW_AT_decl_file   : 1	
-    <18d>   DW_AT_decl_line   : 31	
-    <18e>   DW_AT_type        : <0xfc>	
- <2><192>: Abbrev Number: 10 (DW_TAG_member)
-    <193>   DW_AT_name        : sc	
-    <196>   DW_AT_decl_file   : 1	
-    <197>   DW_AT_decl_line   : 32	
-    <198>   DW_AT_type        : <0xd2>	
- <2><19c>: Abbrev Number: 10 (DW_TAG_member)
-    <19d>   DW_AT_name        : uc	
-    <1a0>   DW_AT_decl_file   : 1	
-    <1a1>   DW_AT_decl_line   : 33	
-    <1a2>   DW_AT_type        : <0xe0>	
- <2><1a6>: Abbrev Number: 0
- <1><1a7>: Abbrev Number: 2 (DW_TAG_structure_type)
-    <1a8>   DW_AT_byte_size   : 96	
-    <1a9>   DW_AT_decl_file   : 1	
-    <1aa>   DW_AT_decl_line   : 2	
-    <1ab>   DW_AT_sibling     : <0x1d4>	
- <2><1af>: Abbrev Number: 3 (DW_TAG_member)
-    <1b0>   DW_AT_name        : s	
-    <1b2>   DW_AT_decl_file   : 1	
-    <1b3>   DW_AT_decl_line   : 21	
-    <1b4>   DW_AT_type        : <0x1d>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1bb>: Abbrev Number: 3 (DW_TAG_member)
-    <1bc>   DW_AT_name        : u	
-    <1be>   DW_AT_decl_file   : 1	
-    <1bf>   DW_AT_decl_line   : 34	
-    <1c0>   DW_AT_type        : <0x1d4>	
-    <1c4>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1c7>: Abbrev Number: 3 (DW_TAG_member)
-    <1c8>   DW_AT_name        : f	
-    <1ca>   DW_AT_decl_file   : 1	
-    <1cb>   DW_AT_decl_line   : 35	
-    <1cc>   DW_AT_type        : <0x1e4>	
-    <1d0>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><1d3>: Abbrev Number: 0
- <1><1d4>: Abbrev Number: 7 (DW_TAG_array_type)
-    <1d5>   DW_AT_type        : <0x12f>	
-    <1d9>   DW_AT_sibling     : <0x1e4>	
- <2><1dd>: Abbrev Number: 8 (DW_TAG_subrange_type)
-    <1de>   DW_AT_type        : <0x128>	
-    <1e2>   DW_AT_upper_bound : 2	
- <2><1e3>: Abbrev Number: 0
- <1><1e4>: Abbrev Number: 7 (DW_TAG_array_type)
-    <1e5>   DW_AT_type        : <0xd9>	
-    <1e9>   DW_AT_sibling     : <0x1f3>	
- <2><1ed>: Abbrev Number: 11 (DW_TAG_subrange_type)
-    <1ee>   DW_AT_type        : <0x128>	
- <2><1f2>: Abbrev Number: 0
- <1><1f3>: Abbrev Number: 12 (DW_TAG_typedef)
-    <1f4>   DW_AT_name        : (indirect string, offset: 0xdb): sample_struct	
-    <1f8>   DW_AT_decl_file   : 1	
-    <1f9>   DW_AT_decl_line   : 36	
-    <1fa>   DW_AT_type        : <0x1a7>	
- <1><1fe>: Abbrev Number: 13 (DW_TAG_variable)
-    <1ff>   DW_AT_name        : (indirect string, offset: 0x66): mpers_target_var	
-    <203>   DW_AT_decl_file   : 1	
-    <204>   DW_AT_decl_line   : 37	
-    <205>   DW_AT_type        : <0x1f3>	
-    <209>   DW_AT_external    : 1	
-    <20a>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><210>: Abbrev Number: 0
-
diff --git a/mpers-mx32/sample_struct.d2 b/mpers-mx32/sample_struct.d2
deleted file mode 100644
index 336bee5..0000000
--- a/mpers-mx32/sample_struct.d2
+++ /dev/null
@@ -1,291 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_structure_type)
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 3
-DW_AT_sibling     : <0xd0>
-<2><25>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : p
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_type        : <0xd0>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><31>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : sc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0xd2>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3e>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ss
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0xd9>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><4b>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : uc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe0>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><58>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : si
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xe7>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><65>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ui
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 11
-DW_AT_type        : <0xee>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><72>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : sl
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 12
-DW_AT_type        : <0xf5>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><7f>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : us
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 13
-DW_AT_type        : <0xfc>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><8c>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : sll
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 15
-DW_AT_type        : <0x103>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><9a>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ull
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 16
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><a8>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : ul
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 17
-DW_AT_type        : <0x111>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><b5>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : asl
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 18
-DW_AT_type        : <0x118>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><c3>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : f
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 19
-DW_AT_type        : <0xd2>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<1><d0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><d2>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0xb6): char
-<1><d9>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x105): short int
-<1><e0>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa8): unsigned char
-<1><e7>
-Abbrev Number: 6 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><ee>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe): unsigned int
-<1><f5>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xbb): long int
-<1><fc>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe9): short unsigned int
-<1><103>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><10a>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc4): long long unsigned int
-<1><111>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12a): long unsigned int
-<1><118>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0xf5>
-DW_AT_sibling     : <0x128>
-<2><121>
-Abbrev Number: 8 (DW_TAG_subrange_type)
-DW_AT_type        : <0x128>
-DW_AT_upper_bound : 2
-<1><128>
-Abbrev Number: 5 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xfc): sizetype
-<1><12f>
-Abbrev Number: 9 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 22
-DW_AT_sibling     : <0x1a7>
-<2><137>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sll
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x103>
-<2><142>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ull
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 24
-DW_AT_type        : <0x10a>
-<2><14d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : p
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 25
-DW_AT_type        : <0xd0>
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sl
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 26
-DW_AT_type        : <0xf5>
-<2><160>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ul
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x111>
-<2><16a>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : si
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 28
-DW_AT_type        : <0xe7>
-<2><174>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ui
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 29
-DW_AT_type        : <0xee>
-<2><17e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : ss
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 30
-DW_AT_type        : <0xd9>
-<2><188>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : us
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 31
-DW_AT_type        : <0xfc>
-<2><192>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 32
-DW_AT_type        : <0xd2>
-<2><19c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : uc
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 33
-DW_AT_type        : <0xe0>
-<1><1a7>
-Abbrev Number: 2 (DW_TAG_structure_type)
-DW_AT_byte_size   : 96
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 2
-DW_AT_sibling     : <0x1d4>
-<2><1af>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : s
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 21
-DW_AT_type        : <0x1d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1bb>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : u
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1d4>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><1c7>
-Abbrev Number: 3 (DW_TAG_member)
-DW_AT_name        : f
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x1e4>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<1><1d4>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0x12f>
-DW_AT_sibling     : <0x1e4>
-<2><1dd>
-Abbrev Number: 8 (DW_TAG_subrange_type)
-DW_AT_type        : <0x128>
-DW_AT_upper_bound : 2
-<1><1e4>
-Abbrev Number: 7 (DW_TAG_array_type)
-DW_AT_type        : <0xd9>
-DW_AT_sibling     : <0x1f3>
-<2><1ed>
-Abbrev Number: 11 (DW_TAG_subrange_type)
-DW_AT_type        : <0x128>
-<1><1f3>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xdb): sample_struct
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x1a7>
-<1><1fe>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x66): mpers_target_var
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x1f3>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/sample_struct.h b/mpers-mx32/sample_struct.h
index 557ab69..3e6c2a5 100644
--- a/mpers-mx32/sample_struct.h
+++ b/mpers-mx32/sample_struct.h
@@ -17,7 +17,7 @@
 int64_t sll;
 uint64_t ull;
 uint32_t ul;
-int32_t asl[3];
+int32_t asl[3][5][7];
 char f;
 unsigned char mpers_end_filler_4[7];
 } ATTRIBUTE_PACKED s;
@@ -29,11 +29,11 @@
 uint32_t ul;
 int32_t si;
 uint32_t ui;
-int16_t ss;
-uint16_t us;
+int16_t ss[7][9];
+uint16_t us[4];
 char sc;
 unsigned char uc;
-} u[3];
+} u[3][2];
 int16_t f[0];
 } ATTRIBUTE_PACKED mx32_sample_struct;
 #define MPERS_mx32_sample_struct mx32_sample_struct
diff --git a/mpers-mx32/seccomp_fprog_t.c b/mpers-mx32/seccomp_fprog_t.c
index 7f2f131..f26c70c 100644
--- a/mpers-mx32/seccomp_fprog_t.c
+++ b/mpers-mx32/seccomp_fprog_t.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/seccomp_fprog_t.d1 b/mpers-mx32/seccomp_fprog_t.d1
deleted file mode 100644
index db1cefc..0000000
--- a/mpers-mx32/seccomp_fprog_t.d1
+++ /dev/null
@@ -1,179 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x16a (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x40): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x138): mpers-mx32/seccomp_fprog_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0xba): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x18d): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1a2): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x155): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x109): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x17a): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1ac): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xeb): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x11c): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xa2): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x199): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x117): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x163): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x9c): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x12e): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x125): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x1f): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x11): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0xb4): _Bool	
- <1><fd>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x28): seccomp_fprog	
-    <102>   DW_AT_byte_size   : 8	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 4	
-    <105>   DW_AT_sibling     : <0x126>	
- <2><109>: Abbrev Number: 8 (DW_TAG_member)
-    <10a>   DW_AT_name        : len	
-    <10e>   DW_AT_decl_file   : 2	
-    <10f>   DW_AT_decl_line   : 5	
-    <110>   DW_AT_type        : <0x40>	
-    <114>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><117>: Abbrev Number: 7 (DW_TAG_member)
-    <118>   DW_AT_name        : (indirect string, offset: 0x102): filter	
-    <11c>   DW_AT_decl_file   : 2	
-    <11d>   DW_AT_decl_line   : 6	
-    <11e>   DW_AT_type        : <0x5c>	
-    <122>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><125>: Abbrev Number: 0
- <1><126>: Abbrev Number: 11 (DW_TAG_typedef)
-    <127>   DW_AT_name        : (indirect string, offset: 0x16a): seccomp_fprog_t	
-    <12b>   DW_AT_decl_file   : 3	
-    <12c>   DW_AT_decl_line   : 32	
-    <12d>   DW_AT_type        : <0xfd>	
- <1><131>: Abbrev Number: 12 (DW_TAG_variable)
-    <132>   DW_AT_name        : (indirect string, offset: 0x0): current_wordsize	
-    <136>   DW_AT_decl_file   : 4	
-    <137>   DW_AT_decl_line   : 757	
-    <139>   DW_AT_type        : <0x47>	
-    <13d>   DW_AT_external    : 1	
-    <13e>   DW_AT_declaration : 1	
- <1><13f>: Abbrev Number: 12 (DW_TAG_variable)
-    <140>   DW_AT_name        : (indirect string, offset: 0x163): sysent	
-    <144>   DW_AT_decl_file   : 4	
-    <145>   DW_AT_decl_line   : 892	
-    <147>   DW_AT_type        : <0xeb>	
-    <14b>   DW_AT_external    : 1	
-    <14c>   DW_AT_declaration : 1	
- <1><14d>: Abbrev Number: 12 (DW_TAG_variable)
-    <14e>   DW_AT_name        : (indirect string, offset: 0x36): nsyscalls	
-    <152>   DW_AT_decl_file   : 4	
-    <153>   DW_AT_decl_line   : 903	
-    <155>   DW_AT_type        : <0x47>	
-    <159>   DW_AT_external    : 1	
-    <15a>   DW_AT_declaration : 1	
- <1><15b>: Abbrev Number: 13 (DW_TAG_variable)
-    <15c>   DW_AT_name        : (indirect string, offset: 0x8b): mpers_target_var	
-    <160>   DW_AT_decl_file   : 3	
-    <161>   DW_AT_decl_line   : 34	
-    <162>   DW_AT_type        : <0x126>	
-    <166>   DW_AT_external    : 1	
-    <167>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><16d>: Abbrev Number: 0
-
diff --git a/mpers-mx32/seccomp_fprog_t.d2 b/mpers-mx32/seccomp_fprog_t.d2
deleted file mode 100644
index c6b3cc3..0000000
--- a/mpers-mx32/seccomp_fprog_t.d2
+++ /dev/null
@@ -1,196 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x18d): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a2): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x155): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x109): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x17a): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1ac): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xeb): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x11c): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa2): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x199): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x117): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x163): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9c): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12e): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x125): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xb4): _Bool
-<1><fd>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x28): seccomp_fprog
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x126>
-<2><109>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><117>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x102): filter
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><126>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x16a): seccomp_fprog_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0xfd>
-<1><131>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x0): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><13f>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x163): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><14d>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x36): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><15b>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x8b): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x126>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-mx32/shmid_ds_t.c b/mpers-mx32/shmid_ds_t.c
index 0d77b84..af4a7d2 100644
--- a/mpers-mx32/shmid_ds_t.c
+++ b/mpers-mx32/shmid_ds_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/shmid_ds_t.d1 b/mpers-mx32/shmid_ds_t.d1
deleted file mode 100644
index 30a4171..0000000
--- a/mpers-mx32/shmid_ds_t.d1
+++ /dev/null
@@ -1,350 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2ef (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x30): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xde): mpers-mx32/shmid_ds_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1b5): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x298): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x22b): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x201): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd0): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x7b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x188): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xb9): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x287): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xff): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x179): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x2bf): __u_quad_t	
-    <73>   DW_AT_decl_file   : 1	
-    <74>   DW_AT_decl_line   : 56	
-    <75>   DW_AT_type        : <0x4e>	
- <1><79>: Abbrev Number: 4 (DW_TAG_typedef)
-    <7a>   DW_AT_name        : (indirect string, offset: 0x28): __uid_t	
-    <7e>   DW_AT_decl_file   : 1	
-    <7f>   DW_AT_decl_line   : 125	
-    <80>   DW_AT_type        : <0x47>	
- <1><84>: Abbrev Number: 4 (DW_TAG_typedef)
-    <85>   DW_AT_name        : (indirect string, offset: 0x1f0): __gid_t	
-    <89>   DW_AT_decl_file   : 1	
-    <8a>   DW_AT_decl_line   : 126	
-    <8b>   DW_AT_type        : <0x47>	
- <1><8f>: Abbrev Number: 4 (DW_TAG_typedef)
-    <90>   DW_AT_name        : (indirect string, offset: 0x290): __pid_t	
-    <94>   DW_AT_decl_file   : 1	
-    <95>   DW_AT_decl_line   : 133	
-    <96>   DW_AT_type        : <0x2b>	
- <1><9a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <9b>   DW_AT_byte_size   : 4	
-    <9c>   DW_AT_encoding    : 7	(unsigned)
-    <9d>   DW_AT_name        : (indirect string, offset: 0x1f8): sizetype	
- <1><a1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <a2>   DW_AT_name        : (indirect string, offset: 0x150): __time_t	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 139	
-    <a8>   DW_AT_type        : <0x63>	
- <1><ac>: Abbrev Number: 4 (DW_TAG_typedef)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x1ad): __key_t	
-    <b1>   DW_AT_decl_file   : 1	
-    <b2>   DW_AT_decl_line   : 144	
-    <b3>   DW_AT_type        : <0x2b>	
- <1><b7>: Abbrev Number: 4 (DW_TAG_typedef)
-    <b8>   DW_AT_name        : (indirect string, offset: 0x8e): __syscall_ulong_t	
-    <bc>   DW_AT_decl_file   : 1	
-    <bd>   DW_AT_decl_line   : 177	
-    <be>   DW_AT_type        : <0x6e>	
- <1><c2>: Abbrev Number: 2 (DW_TAG_base_type)
-    <c3>   DW_AT_byte_size   : 1	
-    <c4>   DW_AT_encoding    : 6	(signed char)
-    <c5>   DW_AT_name        : (indirect string, offset: 0x1a3): char	
- <1><c9>: Abbrev Number: 4 (DW_TAG_typedef)
-    <ca>   DW_AT_name        : (indirect string, offset: 0x0): size_t	
-    <ce>   DW_AT_decl_file   : 2	
-    <cf>   DW_AT_decl_line   : 212	
-    <d0>   DW_AT_type        : <0x47>	
- <1><d4>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <d5>   DW_AT_byte_size   : 4	
-    <d6>   DW_AT_type        : <0xda>	
- <1><da>: Abbrev Number: 6 (DW_TAG_const_type)
-    <db>   DW_AT_type        : <0xc2>	
- <1><df>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <e0>   DW_AT_name        : (indirect string, offset: 0x116): sysent	
-    <e4>   DW_AT_byte_size   : 20	
-    <e5>   DW_AT_decl_file   : 3	
-    <e6>   DW_AT_decl_line   : 4	
-    <e7>   DW_AT_sibling     : <0x132>	
- <2><eb>: Abbrev Number: 8 (DW_TAG_member)
-    <ec>   DW_AT_name        : (indirect string, offset: 0x159): nargs	
-    <f0>   DW_AT_decl_file   : 3	
-    <f1>   DW_AT_decl_line   : 5	
-    <f2>   DW_AT_type        : <0x47>	
-    <f6>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><f9>: Abbrev Number: 8 (DW_TAG_member)
-    <fa>   DW_AT_name        : (indirect string, offset: 0xaf): sys_flags	
-    <fe>   DW_AT_decl_file   : 3	
-    <ff>   DW_AT_decl_line   : 6	
-    <100>   DW_AT_type        : <0x2b>	
-    <104>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><107>: Abbrev Number: 9 (DW_TAG_member)
-    <108>   DW_AT_name        : sen	
-    <10c>   DW_AT_decl_file   : 3	
-    <10d>   DW_AT_decl_line   : 7	
-    <10e>   DW_AT_type        : <0x2b>	
-    <112>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><115>: Abbrev Number: 8 (DW_TAG_member)
-    <116>   DW_AT_name        : (indirect string, offset: 0xf6): sys_func	
-    <11a>   DW_AT_decl_file   : 3	
-    <11b>   DW_AT_decl_line   : 8	
-    <11c>   DW_AT_type        : <0x13d>	
-    <120>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><123>: Abbrev Number: 8 (DW_TAG_member)
-    <124>   DW_AT_name        : (indirect string, offset: 0xa0): sys_name	
-    <128>   DW_AT_decl_file   : 3	
-    <129>   DW_AT_decl_line   : 9	
-    <12a>   DW_AT_type        : <0xd4>	
-    <12e>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><131>: Abbrev Number: 0
- <1><132>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <133>   DW_AT_type        : <0x2b>	
-    <137>   DW_AT_sibling     : <0x13d>	
- <2><13b>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><13c>: Abbrev Number: 0
- <1><13d>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <13e>   DW_AT_byte_size   : 4	
-    <13f>   DW_AT_type        : <0x132>	
- <1><143>: Abbrev Number: 4 (DW_TAG_typedef)
-    <144>   DW_AT_name        : (indirect string, offset: 0x195): struct_sysent	
-    <148>   DW_AT_decl_file   : 3	
-    <149>   DW_AT_decl_line   : 10	
-    <14a>   DW_AT_type        : <0xdf>	
- <1><14e>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <14f>   DW_AT_byte_size   : 4	
-    <150>   DW_AT_type        : <0x154>	
- <1><154>: Abbrev Number: 6 (DW_TAG_const_type)
-    <155>   DW_AT_type        : <0x143>	
- <1><159>: Abbrev Number: 2 (DW_TAG_base_type)
-    <15a>   DW_AT_byte_size   : 1	
-    <15b>   DW_AT_encoding    : 2	(boolean)
-    <15c>   DW_AT_name        : (indirect string, offset: 0x1b): _Bool	
- <1><160>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <161>   DW_AT_name        : (indirect string, offset: 0x247): ipc_perm	
-    <165>   DW_AT_byte_size   : 48	
-    <166>   DW_AT_decl_file   : 4	
-    <167>   DW_AT_decl_line   : 42	
-    <168>   DW_AT_sibling     : <0x207>	
- <2><16c>: Abbrev Number: 8 (DW_TAG_member)
-    <16d>   DW_AT_name        : (indirect string, offset: 0x182): __key	
-    <171>   DW_AT_decl_file   : 4	
-    <172>   DW_AT_decl_line   : 44	
-    <173>   DW_AT_type        : <0xac>	
-    <177>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><17a>: Abbrev Number: 9 (DW_TAG_member)
-    <17b>   DW_AT_name        : uid	
-    <17f>   DW_AT_decl_file   : 4	
-    <180>   DW_AT_decl_line   : 45	
-    <181>   DW_AT_type        : <0x79>	
-    <185>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><188>: Abbrev Number: 9 (DW_TAG_member)
-    <189>   DW_AT_name        : gid	
-    <18d>   DW_AT_decl_file   : 4	
-    <18e>   DW_AT_decl_line   : 46	
-    <18f>   DW_AT_type        : <0x84>	
-    <193>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><196>: Abbrev Number: 8 (DW_TAG_member)
-    <197>   DW_AT_name        : (indirect string, offset: 0x128): cuid	
-    <19b>   DW_AT_decl_file   : 4	
-    <19c>   DW_AT_decl_line   : 47	
-    <19d>   DW_AT_type        : <0x79>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1a4>: Abbrev Number: 8 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x111): cgid	
-    <1a9>   DW_AT_decl_file   : 4	
-    <1aa>   DW_AT_decl_line   : 48	
-    <1ab>   DW_AT_type        : <0x84>	
-    <1af>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1b2>: Abbrev Number: 8 (DW_TAG_member)
-    <1b3>   DW_AT_name        : (indirect string, offset: 0x1a8): mode	
-    <1b7>   DW_AT_decl_file   : 4	
-    <1b8>   DW_AT_decl_line   : 49	
-    <1b9>   DW_AT_type        : <0x40>	
-    <1bd>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1c0>: Abbrev Number: 8 (DW_TAG_member)
-    <1c1>   DW_AT_name        : (indirect string, offset: 0x280): __pad1	
-    <1c5>   DW_AT_decl_file   : 4	
-    <1c6>   DW_AT_decl_line   : 50	
-    <1c7>   DW_AT_type        : <0x40>	
-    <1cb>   DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
- <2><1ce>: Abbrev Number: 8 (DW_TAG_member)
-    <1cf>   DW_AT_name        : (indirect string, offset: 0xa9): __seq	
-    <1d3>   DW_AT_decl_file   : 4	
-    <1d4>   DW_AT_decl_line   : 51	
-    <1d5>   DW_AT_type        : <0x40>	
-    <1d9>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1dc>: Abbrev Number: 8 (DW_TAG_member)
-    <1dd>   DW_AT_name        : (indirect string, offset: 0x21): __pad2	
-    <1e1>   DW_AT_decl_file   : 4	
-    <1e2>   DW_AT_decl_line   : 52	
-    <1e3>   DW_AT_type        : <0x40>	
-    <1e7>   DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
- <2><1ea>: Abbrev Number: 8 (DW_TAG_member)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0x12d): __glibc_reserved1	
-    <1ef>   DW_AT_decl_file   : 4	
-    <1f0>   DW_AT_decl_line   : 53	
-    <1f1>   DW_AT_type        : <0xb7>	
-    <1f5>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1f8>: Abbrev Number: 8 (DW_TAG_member)
-    <1f9>   DW_AT_name        : (indirect string, offset: 0x235): __glibc_reserved2	
-    <1fd>   DW_AT_decl_file   : 4	
-    <1fe>   DW_AT_decl_line   : 54	
-    <1ff>   DW_AT_type        : <0xb7>	
-    <203>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><206>: Abbrev Number: 0
- <1><207>: Abbrev Number: 4 (DW_TAG_typedef)
-    <208>   DW_AT_name        : (indirect string, offset: 0x2a4): shmatt_t	
-    <20c>   DW_AT_decl_file   : 5	
-    <20d>   DW_AT_decl_line   : 46	
-    <20e>   DW_AT_type        : <0xb7>	
- <1><212>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <213>   DW_AT_name        : (indirect string, offset: 0x26c): shmid_ds	
-    <217>   DW_AT_byte_size   : 112	
-    <218>   DW_AT_decl_file   : 5	
-    <219>   DW_AT_decl_line   : 49	
-    <21a>   DW_AT_sibling     : <0x2ab>	
- <2><21e>: Abbrev Number: 8 (DW_TAG_member)
-    <21f>   DW_AT_name        : (indirect string, offset: 0x20f): shm_perm	
-    <223>   DW_AT_decl_file   : 5	
-    <224>   DW_AT_decl_line   : 51	
-    <225>   DW_AT_type        : <0x160>	
-    <229>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><22c>: Abbrev Number: 8 (DW_TAG_member)
-    <22d>   DW_AT_name        : (indirect string, offset: 0x7): shm_segsz	
-    <231>   DW_AT_decl_file   : 5	
-    <232>   DW_AT_decl_line   : 52	
-    <233>   DW_AT_type        : <0xc9>	
-    <237>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><23a>: Abbrev Number: 8 (DW_TAG_member)
-    <23b>   DW_AT_name        : (indirect string, offset: 0x218): shm_atime	
-    <23f>   DW_AT_decl_file   : 5	
-    <240>   DW_AT_decl_line   : 53	
-    <241>   DW_AT_type        : <0xa1>	
-    <245>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><248>: Abbrev Number: 8 (DW_TAG_member)
-    <249>   DW_AT_name        : (indirect string, offset: 0x11): shm_dtime	
-    <24d>   DW_AT_decl_file   : 5	
-    <24e>   DW_AT_decl_line   : 57	
-    <24f>   DW_AT_type        : <0xa1>	
-    <253>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><256>: Abbrev Number: 8 (DW_TAG_member)
-    <257>   DW_AT_name        : (indirect string, offset: 0x250): shm_ctime	
-    <25b>   DW_AT_decl_file   : 5	
-    <25c>   DW_AT_decl_line   : 61	
-    <25d>   DW_AT_type        : <0xa1>	
-    <261>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><264>: Abbrev Number: 8 (DW_TAG_member)
-    <265>   DW_AT_name        : (indirect string, offset: 0x222): shm_cpid	
-    <269>   DW_AT_decl_file   : 5	
-    <26a>   DW_AT_decl_line   : 65	
-    <26b>   DW_AT_type        : <0x8f>	
-    <26f>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><272>: Abbrev Number: 8 (DW_TAG_member)
-    <273>   DW_AT_name        : (indirect string, offset: 0x170): shm_lpid	
-    <277>   DW_AT_decl_file   : 5	
-    <278>   DW_AT_decl_line   : 66	
-    <279>   DW_AT_type        : <0x8f>	
-    <27d>   DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
- <2><280>: Abbrev Number: 8 (DW_TAG_member)
-    <281>   DW_AT_name        : (indirect string, offset: 0x275): shm_nattch	
-    <285>   DW_AT_decl_file   : 5	
-    <286>   DW_AT_decl_line   : 67	
-    <287>   DW_AT_type        : <0x207>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
- <2><28e>: Abbrev Number: 8 (DW_TAG_member)
-    <28f>   DW_AT_name        : (indirect string, offset: 0x2ad): __glibc_reserved4	
-    <293>   DW_AT_decl_file   : 5	
-    <294>   DW_AT_decl_line   : 68	
-    <295>   DW_AT_type        : <0xb7>	
-    <299>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><29c>: Abbrev Number: 8 (DW_TAG_member)
-    <29d>   DW_AT_name        : (indirect string, offset: 0x25a): __glibc_reserved5	
-    <2a1>   DW_AT_decl_file   : 5	
-    <2a2>   DW_AT_decl_line   : 69	
-    <2a3>   DW_AT_type        : <0xb7>	
-    <2a7>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><2aa>: Abbrev Number: 0
- <1><2ab>: Abbrev Number: 4 (DW_TAG_typedef)
-    <2ac>   DW_AT_name        : (indirect string, offset: 0x11d): shmid_ds_t	
-    <2b0>   DW_AT_decl_file   : 6	
-    <2b1>   DW_AT_decl_line   : 41	
-    <2b2>   DW_AT_type        : <0x212>	
- <1><2b6>: Abbrev Number: 12 (DW_TAG_variable)
-    <2b7>   DW_AT_name        : (indirect string, offset: 0x13f): current_wordsize	
-    <2bb>   DW_AT_decl_file   : 7	
-    <2bc>   DW_AT_decl_line   : 757	
-    <2be>   DW_AT_type        : <0x47>	
-    <2c2>   DW_AT_external    : 1	
-    <2c3>   DW_AT_declaration : 1	
- <1><2c4>: Abbrev Number: 12 (DW_TAG_variable)
-    <2c5>   DW_AT_name        : (indirect string, offset: 0x116): sysent	
-    <2c9>   DW_AT_decl_file   : 7	
-    <2ca>   DW_AT_decl_line   : 892	
-    <2cc>   DW_AT_type        : <0x14e>	
-    <2d0>   DW_AT_external    : 1	
-    <2d1>   DW_AT_declaration : 1	
- <1><2d2>: Abbrev Number: 12 (DW_TAG_variable)
-    <2d3>   DW_AT_name        : (indirect string, offset: 0x1e6): nsyscalls	
-    <2d7>   DW_AT_decl_file   : 7	
-    <2d8>   DW_AT_decl_line   : 903	
-    <2da>   DW_AT_type        : <0x47>	
-    <2de>   DW_AT_external    : 1	
-    <2df>   DW_AT_declaration : 1	
- <1><2e0>: Abbrev Number: 13 (DW_TAG_variable)
-    <2e1>   DW_AT_name        : (indirect string, offset: 0x15f): mpers_target_var	
-    <2e5>   DW_AT_decl_file   : 6	
-    <2e6>   DW_AT_decl_line   : 48	
-    <2e7>   DW_AT_type        : <0x2ab>	
-    <2eb>   DW_AT_external    : 1	
-    <2ec>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><2f2>: Abbrev Number: 0
-
diff --git a/mpers-mx32/shmid_ds_t.d2 b/mpers-mx32/shmid_ds_t.d2
deleted file mode 100644
index e9f7feb..0000000
--- a/mpers-mx32/shmid_ds_t.d2
+++ /dev/null
@@ -1,396 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x298): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x22b): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x201): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd0): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x188): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb9): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x287): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xff): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x179): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2bf): __u_quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x4e>
-<1><79>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x28): __uid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-<1><84>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1f0): __gid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x47>
-<1><8f>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x290): __pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x2b>
-<1><9a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1f8): sizetype
-<1><a1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x150): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><ac>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1ad): __key_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<1><b7>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x8e): __syscall_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 177
-DW_AT_type        : <0x6e>
-<1><c2>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a3): char
-<1><c9>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><d4>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xda>
-<1><da>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xc2>
-<1><df>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x116): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x132>
-<2><eb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x159): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><f9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xaf): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><107>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><115>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf6): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x13d>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><123>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa0): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xd4>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><132>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x13d>
-<2><13b>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><13d>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x132>
-<1><143>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x195): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xdf>
-<1><14e>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x154>
-<1><154>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x143>
-<1><159>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1b): _Bool
-<1><160>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x247): ipc_perm
-DW_AT_byte_size   : 48
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_sibling     : <0x207>
-<2><16c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x182): __key
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 44
-DW_AT_type        : <0xac>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><17a>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : uid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><188>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : gid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x84>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><196>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x128): cuid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><1a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x111): cgid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x84>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1b2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a8): mode
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1c0>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x280): __pad1
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
-<2><1ce>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa9): __seq
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1dc>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21): __pad2
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 1a 	(DW_OP_plus_uconst: 26)
-<2><1ea>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12d): __glibc_reserved1
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 53
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1f8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x235): __glibc_reserved2
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 54
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<1><207>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2a4): shmatt_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 46
-DW_AT_type        : <0xb7>
-<1><212>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x26c): shmid_ds
-DW_AT_byte_size   : 112
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 49
-DW_AT_sibling     : <0x2ab>
-<2><21e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20f): shm_perm
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x160>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><22c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7): shm_segsz
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 52
-DW_AT_type        : <0xc9>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><23a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x218): shm_atime
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 53
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><248>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11): shm_dtime
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 57
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><256>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x250): shm_ctime
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 61
-DW_AT_type        : <0xa1>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><264>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x222): shm_cpid
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 65
-DW_AT_type        : <0x8f>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<2><272>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x170): shm_lpid
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 66
-DW_AT_type        : <0x8f>
-DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
-<2><280>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x275): shm_nattch
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 67
-DW_AT_type        : <0x207>
-DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
-<2><28e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ad): __glibc_reserved4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 68
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><29c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25a): __glibc_reserved5
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 69
-DW_AT_type        : <0xb7>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<1><2ab>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11d): shmid_ds_t
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x212>
-<1><2b6>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x13f): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2c4>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x116): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x14e>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2d2>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1e6): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2e0>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x15f): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x2ab>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/siginfo_t.c b/mpers-mx32/siginfo_t.c
index b00fa38..fbd003c 100644
--- a/mpers-mx32/siginfo_t.c
+++ b/mpers-mx32/siginfo_t.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2013 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2011-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/siginfo_t.d1 b/mpers-mx32/siginfo_t.d1
deleted file mode 100644
index fb8eed3..0000000
--- a/mpers-mx32/siginfo_t.d1
+++ /dev/null
@@ -1,454 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x3b1 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x3b): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x151): mpers-mx32/siginfo_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x261): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x24d): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x21a): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0xd9): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe7): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x86): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0xa4): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x2a4): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x23c): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x106): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x18c): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x33): __uid_t	
-    <73>   DW_AT_decl_file   : 1	
-    <74>   DW_AT_decl_line   : 125	
-    <75>   DW_AT_type        : <0x47>	
- <1><79>: Abbrev Number: 4 (DW_TAG_typedef)
-    <7a>   DW_AT_name        : (indirect string, offset: 0x245): __pid_t	
-    <7e>   DW_AT_decl_file   : 1	
-    <7f>   DW_AT_decl_line   : 133	
-    <80>   DW_AT_type        : <0x2b>	
- <1><84>: Abbrev Number: 2 (DW_TAG_base_type)
-    <85>   DW_AT_byte_size   : 4	
-    <86>   DW_AT_encoding    : 7	(unsigned)
-    <87>   DW_AT_name        : (indirect string, offset: 0x1dd): sizetype	
- <1><8b>: Abbrev Number: 4 (DW_TAG_typedef)
-    <8c>   DW_AT_name        : (indirect string, offset: 0x206): __clock_t	
-    <90>   DW_AT_decl_file   : 1	
-    <91>   DW_AT_decl_line   : 135	
-    <92>   DW_AT_type        : <0x63>	
- <1><96>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <97>   DW_AT_byte_size   : 4	
- <1><98>: Abbrev Number: 2 (DW_TAG_base_type)
-    <99>   DW_AT_byte_size   : 1	
-    <9a>   DW_AT_encoding    : 6	(signed char)
-    <9b>   DW_AT_name        : (indirect string, offset: 0x1b6): char	
- <1><9f>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <a0>   DW_AT_byte_size   : 4	
-    <a1>   DW_AT_type        : <0xa5>	
- <1><a5>: Abbrev Number: 7 (DW_TAG_const_type)
-    <a6>   DW_AT_type        : <0x98>	
- <1><aa>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <ab>   DW_AT_name        : (indirect string, offset: 0x118): sysent	
-    <af>   DW_AT_byte_size   : 20	
-    <b0>   DW_AT_decl_file   : 2	
-    <b1>   DW_AT_decl_line   : 4	
-    <b2>   DW_AT_sibling     : <0xfd>	
- <2><b6>: Abbrev Number: 9 (DW_TAG_member)
-    <b7>   DW_AT_name        : (indirect string, offset: 0x224): nargs	
-    <bb>   DW_AT_decl_file   : 2	
-    <bc>   DW_AT_decl_line   : 5	
-    <bd>   DW_AT_type        : <0x47>	
-    <c1>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c4>: Abbrev Number: 9 (DW_TAG_member)
-    <c5>   DW_AT_name        : (indirect string, offset: 0xcf): sys_flags	
-    <c9>   DW_AT_decl_file   : 2	
-    <ca>   DW_AT_decl_line   : 6	
-    <cb>   DW_AT_type        : <0x2b>	
-    <cf>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d2>: Abbrev Number: 10 (DW_TAG_member)
-    <d3>   DW_AT_name        : sen	
-    <d7>   DW_AT_decl_file   : 2	
-    <d8>   DW_AT_decl_line   : 7	
-    <d9>   DW_AT_type        : <0x2b>	
-    <dd>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><e0>: Abbrev Number: 9 (DW_TAG_member)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x29b): sys_func	
-    <e5>   DW_AT_decl_file   : 2	
-    <e6>   DW_AT_decl_line   : 8	
-    <e7>   DW_AT_type        : <0x108>	
-    <eb>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><ee>: Abbrev Number: 9 (DW_TAG_member)
-    <ef>   DW_AT_name        : (indirect string, offset: 0xb9): sys_name	
-    <f3>   DW_AT_decl_file   : 2	
-    <f4>   DW_AT_decl_line   : 9	
-    <f5>   DW_AT_type        : <0x9f>	
-    <f9>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><fc>: Abbrev Number: 0
- <1><fd>: Abbrev Number: 11 (DW_TAG_subroutine_type)
-    <fe>   DW_AT_type        : <0x2b>	
-    <102>   DW_AT_sibling     : <0x108>	
- <2><106>: Abbrev Number: 12 (DW_TAG_unspecified_parameters)
- <2><107>: Abbrev Number: 0
- <1><108>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <109>   DW_AT_byte_size   : 4	
-    <10a>   DW_AT_type        : <0xfd>	
- <1><10e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x19e): struct_sysent	
-    <113>   DW_AT_decl_file   : 2	
-    <114>   DW_AT_decl_line   : 10	
-    <115>   DW_AT_type        : <0xaa>	
- <1><119>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <11a>   DW_AT_byte_size   : 4	
-    <11b>   DW_AT_type        : <0x11f>	
- <1><11f>: Abbrev Number: 7 (DW_TAG_const_type)
-    <120>   DW_AT_type        : <0x10e>	
- <1><124>: Abbrev Number: 2 (DW_TAG_base_type)
-    <125>   DW_AT_byte_size   : 1	
-    <126>   DW_AT_encoding    : 2	(boolean)
-    <127>   DW_AT_name        : (indirect string, offset: 0x26): _Bool	
- <1><12b>: Abbrev Number: 13 (DW_TAG_union_type)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x1ff): sigval	
-    <130>   DW_AT_byte_size   : 4	
-    <131>   DW_AT_decl_file   : 3	
-    <132>   DW_AT_decl_line   : 32	
-    <133>   DW_AT_sibling     : <0x14e>	
- <2><137>: Abbrev Number: 14 (DW_TAG_member)
-    <138>   DW_AT_name        : (indirect string, offset: 0xf5): sival_int	
-    <13c>   DW_AT_decl_file   : 3	
-    <13d>   DW_AT_decl_line   : 34	
-    <13e>   DW_AT_type        : <0x2b>	
- <2><142>: Abbrev Number: 14 (DW_TAG_member)
-    <143>   DW_AT_name        : (indirect string, offset: 0x2c3): sival_ptr	
-    <147>   DW_AT_decl_file   : 3	
-    <148>   DW_AT_decl_line   : 35	
-    <149>   DW_AT_type        : <0x96>	
- <2><14d>: Abbrev Number: 0
- <1><14e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <14f>   DW_AT_name        : (indirect string, offset: 0x168): sigval_t	
-    <153>   DW_AT_decl_file   : 3	
-    <154>   DW_AT_decl_line   : 36	
-    <155>   DW_AT_type        : <0x12b>	
- <1><159>: Abbrev Number: 4 (DW_TAG_typedef)
-    <15a>   DW_AT_name        : (indirect string, offset: 0x1cb): __sigchld_clock_t	
-    <15e>   DW_AT_decl_file   : 3	
-    <15f>   DW_AT_decl_line   : 55	
-    <160>   DW_AT_type        : <0x8b>	
- <1><164>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <165>   DW_AT_byte_size   : 8	
-    <166>   DW_AT_decl_file   : 3	
-    <167>   DW_AT_decl_line   : 74	
-    <168>   DW_AT_sibling     : <0x189>	
- <2><16c>: Abbrev Number: 9 (DW_TAG_member)
-    <16d>   DW_AT_name        : (indirect string, offset: 0xc8): si_pid	
-    <171>   DW_AT_decl_file   : 3	
-    <172>   DW_AT_decl_line   : 76	
-    <173>   DW_AT_type        : <0x79>	
-    <177>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><17a>: Abbrev Number: 9 (DW_TAG_member)
-    <17b>   DW_AT_name        : (indirect string, offset: 0xff): si_uid	
-    <17f>   DW_AT_decl_file   : 3	
-    <180>   DW_AT_decl_line   : 77	
-    <181>   DW_AT_type        : <0x6e>	
-    <185>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><188>: Abbrev Number: 0
- <1><189>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <18a>   DW_AT_byte_size   : 12	
-    <18b>   DW_AT_decl_file   : 3	
-    <18c>   DW_AT_decl_line   : 81	
-    <18d>   DW_AT_sibling     : <0x1bc>	
- <2><191>: Abbrev Number: 9 (DW_TAG_member)
-    <192>   DW_AT_name        : (indirect string, offset: 0x2c): si_tid	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 83	
-    <198>   DW_AT_type        : <0x2b>	
-    <19c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><19f>: Abbrev Number: 9 (DW_TAG_member)
-    <1a0>   DW_AT_name        : (indirect string, offset: 0x99): si_overrun	
-    <1a4>   DW_AT_decl_file   : 3	
-    <1a5>   DW_AT_decl_line   : 84	
-    <1a6>   DW_AT_type        : <0x2b>	
-    <1aa>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1ad>: Abbrev Number: 9 (DW_TAG_member)
-    <1ae>   DW_AT_name        : (indirect string, offset: 0x1ac): si_sigval	
-    <1b2>   DW_AT_decl_file   : 3	
-    <1b3>   DW_AT_decl_line   : 85	
-    <1b4>   DW_AT_type        : <0x14e>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1bb>: Abbrev Number: 0
- <1><1bc>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <1bd>   DW_AT_byte_size   : 12	
-    <1be>   DW_AT_decl_file   : 3	
-    <1bf>   DW_AT_decl_line   : 89	
-    <1c0>   DW_AT_sibling     : <0x1ef>	
- <2><1c4>: Abbrev Number: 9 (DW_TAG_member)
-    <1c5>   DW_AT_name        : (indirect string, offset: 0xc8): si_pid	
-    <1c9>   DW_AT_decl_file   : 3	
-    <1ca>   DW_AT_decl_line   : 91	
-    <1cb>   DW_AT_type        : <0x79>	
-    <1cf>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1d2>: Abbrev Number: 9 (DW_TAG_member)
-    <1d3>   DW_AT_name        : (indirect string, offset: 0xff): si_uid	
-    <1d7>   DW_AT_decl_file   : 3	
-    <1d8>   DW_AT_decl_line   : 92	
-    <1d9>   DW_AT_type        : <0x6e>	
-    <1dd>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1e0>: Abbrev Number: 9 (DW_TAG_member)
-    <1e1>   DW_AT_name        : (indirect string, offset: 0x1ac): si_sigval	
-    <1e5>   DW_AT_decl_file   : 3	
-    <1e6>   DW_AT_decl_line   : 93	
-    <1e7>   DW_AT_type        : <0x14e>	
-    <1eb>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ee>: Abbrev Number: 0
- <1><1ef>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <1f0>   DW_AT_byte_size   : 28	
-    <1f1>   DW_AT_decl_file   : 3	
-    <1f2>   DW_AT_decl_line   : 97	
-    <1f3>   DW_AT_sibling     : <0x23e>	
- <2><1f7>: Abbrev Number: 9 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0xc8): si_pid	
-    <1fc>   DW_AT_decl_file   : 3	
-    <1fd>   DW_AT_decl_line   : 99	
-    <1fe>   DW_AT_type        : <0x79>	
-    <202>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><205>: Abbrev Number: 9 (DW_TAG_member)
-    <206>   DW_AT_name        : (indirect string, offset: 0xff): si_uid	
-    <20a>   DW_AT_decl_file   : 3	
-    <20b>   DW_AT_decl_line   : 100	
-    <20c>   DW_AT_type        : <0x6e>	
-    <210>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><213>: Abbrev Number: 9 (DW_TAG_member)
-    <214>   DW_AT_name        : (indirect string, offset: 0x1ed): si_status	
-    <218>   DW_AT_decl_file   : 3	
-    <219>   DW_AT_decl_line   : 101	
-    <21a>   DW_AT_type        : <0x2b>	
-    <21e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><221>: Abbrev Number: 9 (DW_TAG_member)
-    <222>   DW_AT_name        : (indirect string, offset: 0x233): si_utime	
-    <226>   DW_AT_decl_file   : 3	
-    <227>   DW_AT_decl_line   : 102	
-    <228>   DW_AT_type        : <0x159>	
-    <22c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><22f>: Abbrev Number: 9 (DW_TAG_member)
-    <230>   DW_AT_name        : (indirect string, offset: 0x13f): si_stime	
-    <234>   DW_AT_decl_file   : 3	
-    <235>   DW_AT_decl_line   : 103	
-    <236>   DW_AT_type        : <0x159>	
-    <23a>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><23d>: Abbrev Number: 0
- <1><23e>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <23f>   DW_AT_byte_size   : 8	
-    <240>   DW_AT_decl_file   : 3	
-    <241>   DW_AT_decl_line   : 107	
-    <242>   DW_AT_sibling     : <0x263>	
- <2><246>: Abbrev Number: 9 (DW_TAG_member)
-    <247>   DW_AT_name        : (indirect string, offset: 0xb1): si_addr	
-    <24b>   DW_AT_decl_file   : 3	
-    <24c>   DW_AT_decl_line   : 109	
-    <24d>   DW_AT_type        : <0x96>	
-    <251>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><254>: Abbrev Number: 9 (DW_TAG_member)
-    <255>   DW_AT_name        : (indirect string, offset: 0xf): si_addr_lsb	
-    <259>   DW_AT_decl_file   : 3	
-    <25a>   DW_AT_decl_line   : 110	
-    <25b>   DW_AT_type        : <0x24>	
-    <25f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><262>: Abbrev Number: 0
- <1><263>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <264>   DW_AT_byte_size   : 8	
-    <265>   DW_AT_decl_file   : 3	
-    <266>   DW_AT_decl_line   : 114	
-    <267>   DW_AT_sibling     : <0x288>	
- <2><26b>: Abbrev Number: 9 (DW_TAG_member)
-    <26c>   DW_AT_name        : (indirect string, offset: 0x259): si_band	
-    <270>   DW_AT_decl_file   : 3	
-    <271>   DW_AT_decl_line   : 116	
-    <272>   DW_AT_type        : <0x55>	
-    <276>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><279>: Abbrev Number: 9 (DW_TAG_member)
-    <27a>   DW_AT_name        : (indirect string, offset: 0x1bb): si_fd	
-    <27e>   DW_AT_decl_file   : 3	
-    <27f>   DW_AT_decl_line   : 117	
-    <280>   DW_AT_type        : <0x2b>	
-    <284>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><287>: Abbrev Number: 0
- <1><288>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <289>   DW_AT_byte_size   : 12	
-    <28a>   DW_AT_decl_file   : 3	
-    <28b>   DW_AT_decl_line   : 121	
-    <28c>   DW_AT_sibling     : <0x2bb>	
- <2><290>: Abbrev Number: 9 (DW_TAG_member)
-    <291>   DW_AT_name        : (indirect string, offset: 0x1b): _call_addr	
-    <295>   DW_AT_decl_file   : 3	
-    <296>   DW_AT_decl_line   : 123	
-    <297>   DW_AT_type        : <0x96>	
-    <29b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><29e>: Abbrev Number: 9 (DW_TAG_member)
-    <29f>   DW_AT_name        : (indirect string, offset: 0x148): _syscall	
-    <2a3>   DW_AT_decl_file   : 3	
-    <2a4>   DW_AT_decl_line   : 124	
-    <2a5>   DW_AT_type        : <0x2b>	
-    <2a9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2ac>: Abbrev Number: 9 (DW_TAG_member)
-    <2ad>   DW_AT_name        : (indirect string, offset: 0xc2): _arch	
-    <2b1>   DW_AT_decl_file   : 3	
-    <2b2>   DW_AT_decl_line   : 125	
-    <2b3>   DW_AT_type        : <0x47>	
-    <2b7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><2ba>: Abbrev Number: 0
- <1><2bb>: Abbrev Number: 16 (DW_TAG_union_type)
-    <2bc>   DW_AT_byte_size   : 116	
-    <2bd>   DW_AT_decl_file   : 3	
-    <2be>   DW_AT_decl_line   : 69	
-    <2bf>   DW_AT_sibling     : <0x31c>	
- <2><2c3>: Abbrev Number: 14 (DW_TAG_member)
-    <2c4>   DW_AT_name        : (indirect string, offset: 0x129): _pad	
-    <2c8>   DW_AT_decl_file   : 3	
-    <2c9>   DW_AT_decl_line   : 71	
-    <2ca>   DW_AT_type        : <0x31c>	
- <2><2ce>: Abbrev Number: 14 (DW_TAG_member)
-    <2cf>   DW_AT_name        : (indirect string, offset: 0x9): _kill	
-    <2d3>   DW_AT_decl_file   : 3	
-    <2d4>   DW_AT_decl_line   : 78	
-    <2d5>   DW_AT_type        : <0x164>	
- <2><2d9>: Abbrev Number: 14 (DW_TAG_member)
-    <2da>   DW_AT_name        : (indirect string, offset: 0x1e6): _timer	
-    <2de>   DW_AT_decl_file   : 3	
-    <2df>   DW_AT_decl_line   : 86	
-    <2e0>   DW_AT_type        : <0x189>	
- <2><2e4>: Abbrev Number: 17 (DW_TAG_member)
-    <2e5>   DW_AT_name        : _rt	
-    <2e9>   DW_AT_decl_file   : 3	
-    <2ea>   DW_AT_decl_line   : 94	
-    <2eb>   DW_AT_type        : <0x1bc>	
- <2><2ef>: Abbrev Number: 14 (DW_TAG_member)
-    <2f0>   DW_AT_name        : (indirect string, offset: 0x22a): _sigchld	
-    <2f4>   DW_AT_decl_file   : 3	
-    <2f5>   DW_AT_decl_line   : 104	
-    <2f6>   DW_AT_type        : <0x1ef>	
- <2><2fa>: Abbrev Number: 14 (DW_TAG_member)
-    <2fb>   DW_AT_name        : (indirect string, offset: 0x1c1): _sigfault	
-    <2ff>   DW_AT_decl_file   : 3	
-    <300>   DW_AT_decl_line   : 111	
-    <301>   DW_AT_type        : <0x23e>	
- <2><305>: Abbrev Number: 14 (DW_TAG_member)
-    <306>   DW_AT_name        : (indirect string, offset: 0x292): _sigpoll	
-    <30a>   DW_AT_decl_file   : 3	
-    <30b>   DW_AT_decl_line   : 118	
-    <30c>   DW_AT_type        : <0x263>	
- <2><310>: Abbrev Number: 14 (DW_TAG_member)
-    <311>   DW_AT_name        : (indirect string, offset: 0x2bb): _sigsys	
-    <315>   DW_AT_decl_file   : 3	
-    <316>   DW_AT_decl_line   : 126	
-    <317>   DW_AT_type        : <0x288>	
- <2><31b>: Abbrev Number: 0
- <1><31c>: Abbrev Number: 18 (DW_TAG_array_type)
-    <31d>   DW_AT_type        : <0x2b>	
-    <321>   DW_AT_sibling     : <0x32c>	
- <2><325>: Abbrev Number: 19 (DW_TAG_subrange_type)
-    <326>   DW_AT_type        : <0x84>	
-    <32a>   DW_AT_upper_bound : 28	
- <2><32b>: Abbrev Number: 0
- <1><32c>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <32d>   DW_AT_byte_size   : 128	
-    <32e>   DW_AT_decl_file   : 3	
-    <32f>   DW_AT_decl_line   : 62	
-    <330>   DW_AT_sibling     : <0x36d>	
- <2><334>: Abbrev Number: 9 (DW_TAG_member)
-    <335>   DW_AT_name        : (indirect string, offset: 0x0): si_signo	
-    <339>   DW_AT_decl_file   : 3	
-    <33a>   DW_AT_decl_line   : 64	
-    <33b>   DW_AT_type        : <0x2b>	
-    <33f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><342>: Abbrev Number: 9 (DW_TAG_member)
-    <343>   DW_AT_name        : (indirect string, offset: 0x195): si_errno	
-    <347>   DW_AT_decl_file   : 3	
-    <348>   DW_AT_decl_line   : 65	
-    <349>   DW_AT_type        : <0x2b>	
-    <34d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><350>: Abbrev Number: 9 (DW_TAG_member)
-    <351>   DW_AT_name        : (indirect string, offset: 0x1f7): si_code	
-    <355>   DW_AT_decl_file   : 3	
-    <356>   DW_AT_decl_line   : 67	
-    <357>   DW_AT_type        : <0x2b>	
-    <35b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><35e>: Abbrev Number: 9 (DW_TAG_member)
-    <35f>   DW_AT_name        : (indirect string, offset: 0x171): _sifields	
-    <363>   DW_AT_decl_file   : 3	
-    <364>   DW_AT_decl_line   : 127	
-    <365>   DW_AT_type        : <0x2bb>	
-    <369>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><36c>: Abbrev Number: 0
- <1><36d>: Abbrev Number: 4 (DW_TAG_typedef)
-    <36e>   DW_AT_name        : (indirect string, offset: 0x210): siginfo_t	
-    <372>   DW_AT_decl_file   : 3	
-    <373>   DW_AT_decl_line   : 128	
-    <374>   DW_AT_type        : <0x32c>	
- <1><378>: Abbrev Number: 20 (DW_TAG_variable)
-    <379>   DW_AT_name        : (indirect string, offset: 0x12e): current_wordsize	
-    <37d>   DW_AT_decl_file   : 4	
-    <37e>   DW_AT_decl_line   : 757	
-    <380>   DW_AT_type        : <0x47>	
-    <384>   DW_AT_external    : 1	
-    <385>   DW_AT_declaration : 1	
- <1><386>: Abbrev Number: 20 (DW_TAG_variable)
-    <387>   DW_AT_name        : (indirect string, offset: 0x118): sysent	
-    <38b>   DW_AT_decl_file   : 4	
-    <38c>   DW_AT_decl_line   : 892	
-    <38e>   DW_AT_type        : <0x119>	
-    <392>   DW_AT_external    : 1	
-    <393>   DW_AT_declaration : 1	
- <1><394>: Abbrev Number: 20 (DW_TAG_variable)
-    <395>   DW_AT_name        : (indirect string, offset: 0x11f): nsyscalls	
-    <399>   DW_AT_decl_file   : 4	
-    <39a>   DW_AT_decl_line   : 903	
-    <39c>   DW_AT_type        : <0x47>	
-    <3a0>   DW_AT_external    : 1	
-    <3a1>   DW_AT_declaration : 1	
- <1><3a2>: Abbrev Number: 21 (DW_TAG_variable)
-    <3a3>   DW_AT_name        : (indirect string, offset: 0x17b): mpers_target_var	
-    <3a7>   DW_AT_decl_file   : 5	
-    <3a8>   DW_AT_decl_line   : 41	
-    <3a9>   DW_AT_type        : <0x36d>	
-    <3ad>   DW_AT_external    : 1	
-    <3ae>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><3b4>: Abbrev Number: 0
-
diff --git a/mpers-mx32/siginfo_t.d2 b/mpers-mx32/siginfo_t.d2
deleted file mode 100644
index 56e1552..0000000
--- a/mpers-mx32/siginfo_t.d2
+++ /dev/null
@@ -1,511 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x24d): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x21a): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xd9): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe7): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x86): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa4): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2a4): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x23c): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x106): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x18c): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x33): __uid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-<1><79>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x245): __pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x2b>
-<1><84>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1dd): sizetype
-<1><8b>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x206): __clock_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 135
-DW_AT_type        : <0x63>
-<1><96>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><98>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b6): char
-<1><9f>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xa5>
-<1><a5>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x98>
-<1><aa>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x118): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xfd>
-<2><b6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x224): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c4>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcf): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d2>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><e0>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29b): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><ee>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb9): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x9f>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><fd>
-Abbrev Number: 11 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x108>
-<2><106>
-Abbrev Number: 12 (DW_TAG_unspecified_parameters)
-<1><108>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfd>
-<1><10e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x19e): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xaa>
-<1><119>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x11f>
-<1><11f>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x10e>
-<1><124>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x26): _Bool
-<1><12b>
-Abbrev Number: 13 (DW_TAG_union_type)
-DW_AT_name        : (indirect string, offset: 0x1ff): sigval
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_sibling     : <0x14e>
-<2><137>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf5): sival_int
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x2b>
-<2><142>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c3): sival_ptr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x96>
-<1><14e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x168): sigval_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x12b>
-<1><159>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1cb): __sigchld_clock_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x8b>
-<1><164>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 74
-DW_AT_sibling     : <0x189>
-<2><16c>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc8): si_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 76
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><17a>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xff): si_uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 77
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><189>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 81
-DW_AT_sibling     : <0x1bc>
-<2><191>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c): si_tid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 83
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><19f>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x99): si_overrun
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 84
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1ad>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ac): si_sigval
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 85
-DW_AT_type        : <0x14e>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><1bc>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 89
-DW_AT_sibling     : <0x1ef>
-<2><1c4>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc8): si_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 91
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1d2>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xff): si_uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 92
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1e0>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ac): si_sigval
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 93
-DW_AT_type        : <0x14e>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><1ef>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 97
-DW_AT_sibling     : <0x23e>
-<2><1f7>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc8): si_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 99
-DW_AT_type        : <0x79>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><205>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xff): si_uid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 100
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><213>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ed): si_status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 101
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><221>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x233): si_utime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 102
-DW_AT_type        : <0x159>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><22f>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13f): si_stime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 103
-DW_AT_type        : <0x159>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<1><23e>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 107
-DW_AT_sibling     : <0x263>
-<2><246>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb1): si_addr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 109
-DW_AT_type        : <0x96>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><254>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf): si_addr_lsb
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 110
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><263>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 114
-DW_AT_sibling     : <0x288>
-<2><26b>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x259): si_band
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 116
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><279>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bb): si_fd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 117
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><288>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 121
-DW_AT_sibling     : <0x2bb>
-<2><290>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b): _call_addr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 123
-DW_AT_type        : <0x96>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><29e>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x148): _syscall
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 124
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><2ac>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc2): _arch
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><2bb>
-Abbrev Number: 16 (DW_TAG_union_type)
-DW_AT_byte_size   : 116
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 69
-DW_AT_sibling     : <0x31c>
-<2><2c3>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x129): _pad
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 71
-DW_AT_type        : <0x31c>
-<2><2ce>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): _kill
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 78
-DW_AT_type        : <0x164>
-<2><2d9>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e6): _timer
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 86
-DW_AT_type        : <0x189>
-<2><2e4>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : _rt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 94
-DW_AT_type        : <0x1bc>
-<2><2ef>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22a): _sigchld
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 104
-DW_AT_type        : <0x1ef>
-<2><2fa>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c1): _sigfault
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 111
-DW_AT_type        : <0x23e>
-<2><305>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x292): _sigpoll
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 118
-DW_AT_type        : <0x263>
-<2><310>
-Abbrev Number: 14 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2bb): _sigsys
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x288>
-<1><31c>
-Abbrev Number: 18 (DW_TAG_array_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x32c>
-<2><325>
-Abbrev Number: 19 (DW_TAG_subrange_type)
-DW_AT_type        : <0x84>
-DW_AT_upper_bound : 28
-<1><32c>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_byte_size   : 128
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 62
-DW_AT_sibling     : <0x36d>
-<2><334>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): si_signo
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><342>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x195): si_errno
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 65
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><350>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f7): si_code
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 67
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><35e>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x171): _sifields
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 127
-DW_AT_type        : <0x2bb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><36d>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x210): siginfo_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 128
-DW_AT_type        : <0x32c>
-<1><378>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12e): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><386>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x118): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x119>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><394>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11f): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3a2>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17b): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x36d>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/stack_t.c b/mpers-mx32/stack_t.c
index 2146a66..a958819 100644
--- a/mpers-mx32/stack_t.c
+++ b/mpers-mx32/stack_t.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/stack_t.d1 b/mpers-mx32/stack_t.d1
deleted file mode 100644
index 6479900..0000000
--- a/mpers-mx32/stack_t.d1
+++ /dev/null
@@ -1,192 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x185 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xd): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x74): mpers-mx32/stack_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x125): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1a9): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x186): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x172): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xaa): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x58): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x105): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x93): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1a0): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xc4): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x169): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x120): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_typedef)
-    <74>   DW_AT_name        : (indirect string, offset: 0x0): size_t	
-    <78>   DW_AT_decl_file   : 2	
-    <79>   DW_AT_decl_line   : 212	
-    <7a>   DW_AT_type        : <0x47>	
- <1><7e>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <7f>   DW_AT_byte_size   : 4	
-    <80>   DW_AT_type        : <0x84>	
- <1><84>: Abbrev Number: 7 (DW_TAG_const_type)
-    <85>   DW_AT_type        : <0x6c>	
- <1><89>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <8a>   DW_AT_name        : (indirect string, offset: 0xd6): sysent	
-    <8e>   DW_AT_byte_size   : 20	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 4	
-    <91>   DW_AT_sibling     : <0xdc>	
- <2><95>: Abbrev Number: 9 (DW_TAG_member)
-    <96>   DW_AT_name        : (indirect string, offset: 0xee): nargs	
-    <9a>   DW_AT_decl_file   : 1	
-    <9b>   DW_AT_decl_line   : 5	
-    <9c>   DW_AT_type        : <0x47>	
-    <a0>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a3>: Abbrev Number: 9 (DW_TAG_member)
-    <a4>   DW_AT_name        : (indirect string, offset: 0x89): sys_flags	
-    <a8>   DW_AT_decl_file   : 1	
-    <a9>   DW_AT_decl_line   : 6	
-    <aa>   DW_AT_type        : <0x2b>	
-    <ae>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><b1>: Abbrev Number: 10 (DW_TAG_member)
-    <b2>   DW_AT_name        : sen	
-    <b6>   DW_AT_decl_file   : 1	
-    <b7>   DW_AT_decl_line   : 7	
-    <b8>   DW_AT_type        : <0x2b>	
-    <bc>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><bf>: Abbrev Number: 9 (DW_TAG_member)
-    <c0>   DW_AT_name        : (indirect string, offset: 0x1b5): sys_func	
-    <c4>   DW_AT_decl_file   : 1	
-    <c5>   DW_AT_decl_line   : 8	
-    <c6>   DW_AT_type        : <0xe7>	
-    <ca>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><cd>: Abbrev Number: 9 (DW_TAG_member)
-    <ce>   DW_AT_name        : (indirect string, offset: 0x6b): sys_name	
-    <d2>   DW_AT_decl_file   : 1	
-    <d3>   DW_AT_decl_line   : 9	
-    <d4>   DW_AT_type        : <0x7e>	
-    <d8>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 11 (DW_TAG_subroutine_type)
-    <dd>   DW_AT_type        : <0x2b>	
-    <e1>   DW_AT_sibling     : <0xe7>	
- <2><e5>: Abbrev Number: 12 (DW_TAG_unspecified_parameters)
- <2><e6>: Abbrev Number: 0
- <1><e7>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <e8>   DW_AT_byte_size   : 4	
-    <e9>   DW_AT_type        : <0xdc>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_typedef)
-    <ee>   DW_AT_name        : (indirect string, offset: 0x112): struct_sysent	
-    <f2>   DW_AT_decl_file   : 1	
-    <f3>   DW_AT_decl_line   : 10	
-    <f4>   DW_AT_type        : <0x89>	
- <1><f8>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <f9>   DW_AT_byte_size   : 4	
-    <fa>   DW_AT_type        : <0xfe>	
- <1><fe>: Abbrev Number: 7 (DW_TAG_const_type)
-    <ff>   DW_AT_type        : <0xed>	
- <1><103>: Abbrev Number: 2 (DW_TAG_base_type)
-    <104>   DW_AT_byte_size   : 1	
-    <105>   DW_AT_encoding    : 2	(boolean)
-    <106>   DW_AT_name        : (indirect string, offset: 0x7): _Bool	
- <1><10a>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <10b>   DW_AT_name        : (indirect string, offset: 0xb8): sigaltstack	
-    <10f>   DW_AT_byte_size   : 12	
-    <110>   DW_AT_decl_file   : 3	
-    <111>   DW_AT_decl_line   : 49	
-    <112>   DW_AT_sibling     : <0x141>	
- <2><116>: Abbrev Number: 9 (DW_TAG_member)
-    <117>   DW_AT_name        : (indirect string, offset: 0x180): ss_sp	
-    <11b>   DW_AT_decl_file   : 3	
-    <11c>   DW_AT_decl_line   : 51	
-    <11d>   DW_AT_type        : <0x6a>	
-    <121>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><124>: Abbrev Number: 9 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x160): ss_flags	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 52	
-    <12b>   DW_AT_type        : <0x2b>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><132>: Abbrev Number: 9 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x190): ss_size	
-    <137>   DW_AT_decl_file   : 3	
-    <138>   DW_AT_decl_line   : 53	
-    <139>   DW_AT_type        : <0x73>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><140>: Abbrev Number: 0
- <1><141>: Abbrev Number: 5 (DW_TAG_typedef)
-    <142>   DW_AT_name        : (indirect string, offset: 0x198): stack_t	
-    <146>   DW_AT_decl_file   : 3	
-    <147>   DW_AT_decl_line   : 54	
-    <148>   DW_AT_type        : <0x10a>	
- <1><14c>: Abbrev Number: 13 (DW_TAG_variable)
-    <14d>   DW_AT_name        : (indirect string, offset: 0xdd): current_wordsize	
-    <151>   DW_AT_decl_file   : 4	
-    <152>   DW_AT_decl_line   : 757	
-    <154>   DW_AT_type        : <0x47>	
-    <158>   DW_AT_external    : 1	
-    <159>   DW_AT_declaration : 1	
- <1><15a>: Abbrev Number: 13 (DW_TAG_variable)
-    <15b>   DW_AT_name        : (indirect string, offset: 0xd6): sysent	
-    <15f>   DW_AT_decl_file   : 4	
-    <160>   DW_AT_decl_line   : 892	
-    <162>   DW_AT_type        : <0xf8>	
-    <166>   DW_AT_external    : 1	
-    <167>   DW_AT_declaration : 1	
- <1><168>: Abbrev Number: 13 (DW_TAG_variable)
-    <169>   DW_AT_name        : (indirect string, offset: 0x156): nsyscalls	
-    <16d>   DW_AT_decl_file   : 4	
-    <16e>   DW_AT_decl_line   : 903	
-    <170>   DW_AT_type        : <0x47>	
-    <174>   DW_AT_external    : 1	
-    <175>   DW_AT_declaration : 1	
- <1><176>: Abbrev Number: 14 (DW_TAG_variable)
-    <177>   DW_AT_name        : (indirect string, offset: 0xf4): mpers_target_var	
-    <17b>   DW_AT_decl_file   : 5	
-    <17c>   DW_AT_decl_line   : 38	
-    <17d>   DW_AT_type        : <0x141>	
-    <181>   DW_AT_external    : 1	
-    <182>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><188>: Abbrev Number: 0
-
diff --git a/mpers-mx32/stack_t.d2 b/mpers-mx32/stack_t.d2
deleted file mode 100644
index 50bf259..0000000
--- a/mpers-mx32/stack_t.d2
+++ /dev/null
@@ -1,212 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a9): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x186): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x172): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xaa): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x58): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x105): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x93): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a0): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc4): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x169): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x120): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><7e>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x84>
-<1><84>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><89>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd6): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xdc>
-<2><95>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xee): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a3>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x89): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><b1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><bf>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b5): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe7>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><cd>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6b): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><dc>
-Abbrev Number: 11 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe7>
-<2><e5>
-Abbrev Number: 12 (DW_TAG_unspecified_parameters)
-<1><e7>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xdc>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x112): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x89>
-<1><f8>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfe>
-<1><fe>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0xed>
-<1><103>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x7): _Bool
-<1><10a>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xb8): sigaltstack
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 49
-DW_AT_sibling     : <0x141>
-<2><116>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x180): ss_sp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><124>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x160): ss_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><132>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x190): ss_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><141>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x198): stack_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x10a>
-<1><14c>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xdd): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><15a>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd6): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf8>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><168>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x156): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><176>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf4): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x141>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-mx32/struct_blk_user_trace_setup.d1 b/mpers-mx32/struct_blk_user_trace_setup.d1
deleted file mode 100644
index 8f08e47..0000000
--- a/mpers-mx32/struct_blk_user_trace_setup.d1
+++ /dev/null
@@ -1,231 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1e1 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x1f): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x12e): mpers-mx32/struct_blk_user_trace_setup.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x15c): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e7): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1bc): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1a0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xbc): unsigned char	
- <1><40>: Abbrev Number: 4 (DW_TAG_typedef)
-    <41>   DW_AT_name        : (indirect string, offset: 0x1cc): uint16_t	
-    <45>   DW_AT_decl_file   : 1	
-    <46>   DW_AT_decl_line   : 49	
-    <47>   DW_AT_type        : <0x4b>	
- <1><4b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4c>   DW_AT_byte_size   : 2	
-    <4d>   DW_AT_encoding    : 7	(unsigned)
-    <4e>   DW_AT_name        : (indirect string, offset: 0x85): short unsigned int	
- <1><52>: Abbrev Number: 4 (DW_TAG_typedef)
-    <53>   DW_AT_name        : (indirect string, offset: 0x1d5): uint32_t	
-    <57>   DW_AT_decl_file   : 1	
-    <58>   DW_AT_decl_line   : 51	
-    <59>   DW_AT_type        : <0x5d>	
- <1><5d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5e>   DW_AT_byte_size   : 4	
-    <5f>   DW_AT_encoding    : 7	(unsigned)
-    <60>   DW_AT_name        : (indirect string, offset: 0x121): unsigned int	
- <1><64>: Abbrev Number: 4 (DW_TAG_typedef)
-    <65>   DW_AT_name        : (indirect string, offset: 0x98): uint64_t	
-    <69>   DW_AT_decl_file   : 1	
-    <6a>   DW_AT_decl_line   : 58	
-    <6b>   DW_AT_type        : <0x6f>	
- <1><6f>: Abbrev Number: 2 (DW_TAG_base_type)
-    <70>   DW_AT_byte_size   : 8	
-    <71>   DW_AT_encoding    : 7	(unsigned)
-    <72>   DW_AT_name        : (indirect string, offset: 0x1fc): long long unsigned int	
- <1><76>: Abbrev Number: 2 (DW_TAG_base_type)
-    <77>   DW_AT_byte_size   : 4	
-    <78>   DW_AT_encoding    : 5	(signed)
-    <79>   DW_AT_name        : (indirect string, offset: 0x1de): long int	
- <1><7d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7e>   DW_AT_byte_size   : 4	
-    <7f>   DW_AT_encoding    : 7	(unsigned)
-    <80>   DW_AT_name        : (indirect string, offset: 0xca): long unsigned int	
- <1><84>: Abbrev Number: 2 (DW_TAG_base_type)
-    <85>   DW_AT_byte_size   : 4	
-    <86>   DW_AT_encoding    : 7	(unsigned)
-    <87>   DW_AT_name        : (indirect string, offset: 0x197): sizetype	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x157): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_array_type)
-    <93>   DW_AT_type        : <0x8b>	
-    <97>   DW_AT_sibling     : <0xa2>	
- <2><9b>: Abbrev Number: 6 (DW_TAG_subrange_type)
-    <9c>   DW_AT_type        : <0x84>	
-    <a0>   DW_AT_upper_bound : 31	
- <2><a1>: Abbrev Number: 0
- <1><a2>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <a3>   DW_AT_byte_size   : 4	
-    <a4>   DW_AT_type        : <0xa8>	
- <1><a8>: Abbrev Number: 8 (DW_TAG_const_type)
-    <a9>   DW_AT_type        : <0x8b>	
- <1><ad>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <ae>   DW_AT_name        : (indirect string, offset: 0xdc): sysent	
-    <b2>   DW_AT_byte_size   : 20	
-    <b3>   DW_AT_decl_file   : 2	
-    <b4>   DW_AT_decl_line   : 4	
-    <b5>   DW_AT_sibling     : <0x100>	
- <2><b9>: Abbrev Number: 10 (DW_TAG_member)
-    <ba>   DW_AT_name        : (indirect string, offset: 0x1c6): nargs	
-    <be>   DW_AT_decl_file   : 2	
-    <bf>   DW_AT_decl_line   : 5	
-    <c0>   DW_AT_type        : <0x5d>	
-    <c4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c7>: Abbrev Number: 10 (DW_TAG_member)
-    <c8>   DW_AT_name        : (indirect string, offset: 0xaa): sys_flags	
-    <cc>   DW_AT_decl_file   : 2	
-    <cd>   DW_AT_decl_line   : 6	
-    <ce>   DW_AT_type        : <0x2b>	
-    <d2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d5>: Abbrev Number: 11 (DW_TAG_member)
-    <d6>   DW_AT_name        : sen	
-    <da>   DW_AT_decl_file   : 2	
-    <db>   DW_AT_decl_line   : 7	
-    <dc>   DW_AT_type        : <0x2b>	
-    <e0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><e3>: Abbrev Number: 10 (DW_TAG_member)
-    <e4>   DW_AT_name        : (indirect string, offset: 0x1f3): sys_func	
-    <e8>   DW_AT_decl_file   : 2	
-    <e9>   DW_AT_decl_line   : 8	
-    <ea>   DW_AT_type        : <0x10b>	
-    <ee>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><f1>: Abbrev Number: 10 (DW_TAG_member)
-    <f2>   DW_AT_name        : (indirect string, offset: 0xa1): sys_name	
-    <f6>   DW_AT_decl_file   : 2	
-    <f7>   DW_AT_decl_line   : 9	
-    <f8>   DW_AT_type        : <0xa2>	
-    <fc>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ff>: Abbrev Number: 0
- <1><100>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <101>   DW_AT_type        : <0x2b>	
-    <105>   DW_AT_sibling     : <0x10b>	
- <2><109>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><10a>: Abbrev Number: 0
- <1><10b>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <10c>   DW_AT_byte_size   : 4	
-    <10d>   DW_AT_type        : <0x100>	
- <1><111>: Abbrev Number: 4 (DW_TAG_typedef)
-    <112>   DW_AT_name        : (indirect string, offset: 0x70): struct_sysent	
-    <116>   DW_AT_decl_file   : 2	
-    <117>   DW_AT_decl_line   : 10	
-    <118>   DW_AT_type        : <0xad>	
- <1><11c>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <11d>   DW_AT_byte_size   : 4	
-    <11e>   DW_AT_type        : <0x122>	
- <1><122>: Abbrev Number: 8 (DW_TAG_const_type)
-    <123>   DW_AT_type        : <0x111>	
- <1><127>: Abbrev Number: 2 (DW_TAG_base_type)
-    <128>   DW_AT_byte_size   : 1	
-    <129>   DW_AT_encoding    : 2	(boolean)
-    <12a>   DW_AT_name        : (indirect string, offset: 0x6a): _Bool	
- <1><12e>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <12f>   DW_AT_name        : (indirect string, offset: 0x0): blk_user_trace_setup	
-    <133>   DW_AT_byte_size   : 72	
-    <134>   DW_AT_decl_file   : 3	
-    <135>   DW_AT_decl_line   : 54	
-    <136>   DW_AT_sibling     : <0x19d>	
- <2><13a>: Abbrev Number: 10 (DW_TAG_member)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x1ae): name	
-    <13f>   DW_AT_decl_file   : 3	
-    <140>   DW_AT_decl_line   : 55	
-    <141>   DW_AT_type        : <0x92>	
-    <145>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><148>: Abbrev Number: 10 (DW_TAG_member)
-    <149>   DW_AT_name        : (indirect string, offset: 0x213): act_mask	
-    <14d>   DW_AT_decl_file   : 3	
-    <14e>   DW_AT_decl_line   : 56	
-    <14f>   DW_AT_type        : <0x40>	
-    <153>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x1b3): buf_size	
-    <15b>   DW_AT_decl_file   : 3	
-    <15c>   DW_AT_decl_line   : 57	
-    <15d>   DW_AT_type        : <0x52>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><164>: Abbrev Number: 10 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x7e): buf_nr	
-    <169>   DW_AT_decl_file   : 3	
-    <16a>   DW_AT_decl_line   : 58	
-    <16b>   DW_AT_type        : <0x52>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><172>: Abbrev Number: 10 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x15): start_lba	
-    <177>   DW_AT_decl_file   : 3	
-    <178>   DW_AT_decl_line   : 59	
-    <179>   DW_AT_type        : <0x64>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><180>: Abbrev Number: 10 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0xb4): end_lba	
-    <185>   DW_AT_decl_file   : 3	
-    <186>   DW_AT_decl_line   : 60	
-    <187>   DW_AT_type        : <0x64>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><18e>: Abbrev Number: 11 (DW_TAG_member)
-    <18f>   DW_AT_name        : pid	
-    <193>   DW_AT_decl_file   : 3	
-    <194>   DW_AT_decl_line   : 61	
-    <195>   DW_AT_type        : <0x52>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><19c>: Abbrev Number: 0
- <1><19d>: Abbrev Number: 4 (DW_TAG_typedef)
-    <19e>   DW_AT_name        : (indirect string, offset: 0xf4): struct_blk_user_trace_setup	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 62	
-    <1a4>   DW_AT_type        : <0x12e>	
- <1><1a8>: Abbrev Number: 14 (DW_TAG_variable)
-    <1a9>   DW_AT_name        : (indirect string, offset: 0xe3): current_wordsize	
-    <1ad>   DW_AT_decl_file   : 4	
-    <1ae>   DW_AT_decl_line   : 757	
-    <1b0>   DW_AT_type        : <0x5d>	
-    <1b4>   DW_AT_external    : 1	
-    <1b5>   DW_AT_declaration : 1	
- <1><1b6>: Abbrev Number: 14 (DW_TAG_variable)
-    <1b7>   DW_AT_name        : (indirect string, offset: 0xdc): sysent	
-    <1bb>   DW_AT_decl_file   : 4	
-    <1bc>   DW_AT_decl_line   : 892	
-    <1be>   DW_AT_type        : <0x11c>	
-    <1c2>   DW_AT_external    : 1	
-    <1c3>   DW_AT_declaration : 1	
- <1><1c4>: Abbrev Number: 14 (DW_TAG_variable)
-    <1c5>   DW_AT_name        : (indirect string, offset: 0x18d): nsyscalls	
-    <1c9>   DW_AT_decl_file   : 4	
-    <1ca>   DW_AT_decl_line   : 903	
-    <1cc>   DW_AT_type        : <0x5d>	
-    <1d0>   DW_AT_external    : 1	
-    <1d1>   DW_AT_declaration : 1	
- <1><1d2>: Abbrev Number: 15 (DW_TAG_variable)
-    <1d3>   DW_AT_name        : (indirect string, offset: 0x110): mpers_target_var	
-    <1d7>   DW_AT_decl_file   : 3	
-    <1d8>   DW_AT_decl_line   : 64	
-    <1d9>   DW_AT_type        : <0x19d>	
-    <1dd>   DW_AT_external    : 1	
-    <1de>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1e4>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_blk_user_trace_setup.d2 b/mpers-mx32/struct_blk_user_trace_setup.d2
deleted file mode 100644
index c426ba2..0000000
--- a/mpers-mx32/struct_blk_user_trace_setup.d2
+++ /dev/null
@@ -1,257 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e7): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1bc): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xbc): unsigned char
-<1><40>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1cc): uint16_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x4b>
-<1><4b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x85): short unsigned int
-<1><52>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d5): uint32_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x5d>
-<1><5d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x121): unsigned int
-<1><64>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x98): uint64_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x6f>
-<1><6f>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1fc): long long unsigned int
-<1><76>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1de): long int
-<1><7d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xca): long unsigned int
-<1><84>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x197): sizetype
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x157): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_array_type)
-DW_AT_type        : <0x8b>
-DW_AT_sibling     : <0xa2>
-<2><9b>
-Abbrev Number: 6 (DW_TAG_subrange_type)
-DW_AT_type        : <0x84>
-DW_AT_upper_bound : 31
-<1><a2>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xa8>
-<1><a8>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><ad>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xdc): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x100>
-<2><b9>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c6): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x5d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c7>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xaa): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d5>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><e3>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f3): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x10b>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><f1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa1): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xa2>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><100>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x10b>
-<2><109>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><10b>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x100>
-<1><111>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x70): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xad>
-<1><11c>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x122>
-<1><122>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x111>
-<1><127>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x6a): _Bool
-<1><12e>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): blk_user_trace_setup
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_sibling     : <0x19d>
-<2><13a>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ae): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><148>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x213): act_mask
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b3): buf_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><164>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7e): buf_nr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><172>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15): start_lba
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x64>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><180>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb4): end_lba
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 60
-DW_AT_type        : <0x64>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><18e>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<1><19d>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf4): struct_blk_user_trace_setup
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 62
-DW_AT_type        : <0x12e>
-<1><1a8>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe3): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x5d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1b6>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xdc): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x11c>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1c4>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x18d): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x5d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1d2>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x110): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x19d>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_blkpg_ioctl_arg.d1 b/mpers-mx32/struct_blkpg_ioctl_arg.d1
deleted file mode 100644
index 5adeb52..0000000
--- a/mpers-mx32/struct_blkpg_ioctl_arg.d1
+++ /dev/null
@@ -1,192 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x183 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xe): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x162): mpers-mx32/struct_blkpg_ioctl_arg.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x127): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1b0): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x19d): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x18f): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x9b): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x59): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x101): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x84): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1a7): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xa9): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x186): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x122): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xbb): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0xd3): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x7a): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x1bc): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x71): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x114): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><ff>: Abbrev Number: 13 (DW_TAG_structure_type)
-    <100>   DW_AT_byte_size   : 16	
-    <101>   DW_AT_decl_file   : 2	
-    <102>   DW_AT_decl_line   : 35	
-    <103>   DW_AT_sibling     : <0x13f>	
- <2><107>: Abbrev Number: 9 (DW_TAG_member)
-    <108>   DW_AT_name        : op	
-    <10b>   DW_AT_decl_file   : 2	
-    <10c>   DW_AT_decl_line   : 36	
-    <10d>   DW_AT_type        : <0x2b>	
-    <111>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><114>: Abbrev Number: 8 (DW_TAG_member)
-    <115>   DW_AT_name        : (indirect string, offset: 0x10e): flags	
-    <119>   DW_AT_decl_file   : 2	
-    <11a>   DW_AT_decl_line   : 37	
-    <11b>   DW_AT_type        : <0x2b>	
-    <11f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><122>: Abbrev Number: 8 (DW_TAG_member)
-    <123>   DW_AT_name        : (indirect string, offset: 0x6): datalen	
-    <127>   DW_AT_decl_file   : 2	
-    <128>   DW_AT_decl_line   : 38	
-    <129>   DW_AT_type        : <0x2b>	
-    <12d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><130>: Abbrev Number: 8 (DW_TAG_member)
-    <131>   DW_AT_name        : (indirect string, offset: 0x6c): data	
-    <135>   DW_AT_decl_file   : 2	
-    <136>   DW_AT_decl_line   : 39	
-    <137>   DW_AT_type        : <0x6a>	
-    <13b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><13e>: Abbrev Number: 0
- <1><13f>: Abbrev Number: 12 (DW_TAG_typedef)
-    <140>   DW_AT_name        : (indirect string, offset: 0xea): struct_blkpg_ioctl_arg	
-    <144>   DW_AT_decl_file   : 2	
-    <145>   DW_AT_decl_line   : 40	
-    <146>   DW_AT_type        : <0xff>	
- <1><14a>: Abbrev Number: 14 (DW_TAG_variable)
-    <14b>   DW_AT_name        : (indirect string, offset: 0xc2): current_wordsize	
-    <14f>   DW_AT_decl_file   : 3	
-    <150>   DW_AT_decl_line   : 757	
-    <152>   DW_AT_type        : <0x47>	
-    <156>   DW_AT_external    : 1	
-    <157>   DW_AT_declaration : 1	
- <1><158>: Abbrev Number: 14 (DW_TAG_variable)
-    <159>   DW_AT_name        : (indirect string, offset: 0xbb): sysent	
-    <15d>   DW_AT_decl_file   : 3	
-    <15e>   DW_AT_decl_line   : 892	
-    <160>   DW_AT_type        : <0xed>	
-    <164>   DW_AT_external    : 1	
-    <165>   DW_AT_declaration : 1	
- <1><166>: Abbrev Number: 14 (DW_TAG_variable)
-    <167>   DW_AT_name        : (indirect string, offset: 0x158): nsyscalls	
-    <16b>   DW_AT_decl_file   : 3	
-    <16c>   DW_AT_decl_line   : 903	
-    <16e>   DW_AT_type        : <0x47>	
-    <172>   DW_AT_external    : 1	
-    <173>   DW_AT_declaration : 1	
- <1><174>: Abbrev Number: 15 (DW_TAG_variable)
-    <175>   DW_AT_name        : (indirect string, offset: 0xd9): mpers_target_var	
-    <179>   DW_AT_decl_file   : 2	
-    <17a>   DW_AT_decl_line   : 64	
-    <17b>   DW_AT_type        : <0x13f>	
-    <17f>   DW_AT_external    : 1	
-    <180>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><186>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_blkpg_ioctl_arg.d2 b/mpers-mx32/struct_blkpg_ioctl_arg.d2
deleted file mode 100644
index bfbc25f..0000000
--- a/mpers-mx32/struct_blkpg_ioctl_arg.d2
+++ /dev/null
@@ -1,212 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b0): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19d): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18f): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x9b): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x59): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x101): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x84): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a7): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa9): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x186): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x122): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xbb): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd3): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7a): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bc): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x71): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x114): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><ff>
-Abbrev Number: 13 (DW_TAG_structure_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 35
-DW_AT_sibling     : <0x13f>
-<2><107>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : op
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><114>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10e): flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><122>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): datalen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><130>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6c): data
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><13f>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xea): struct_blkpg_ioctl_arg
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 40
-DW_AT_type        : <0xff>
-<1><14a>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc2): current_wordsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><158>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xbb): sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><166>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x158): nsyscalls
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><174>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd9): mpers_target_var
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x13f>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/struct_blkpg_partition.d1 b/mpers-mx32/struct_blkpg_partition.d1
deleted file mode 100644
index aaf6cb1..0000000
--- a/mpers-mx32/struct_blkpg_partition.d1
+++ /dev/null
@@ -1,208 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1ab (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x38): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x0): mpers-mx32/struct_blkpg_partition.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x137): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x19c): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x189): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 4 (DW_TAG_typedef)
-    <33>   DW_AT_name        : (indirect string, offset: 0x24): int64_t	
-    <37>   DW_AT_decl_file   : 2	
-    <38>   DW_AT_decl_line   : 43	
-    <39>   DW_AT_type        : <0x3d>	
- <1><3d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3e>   DW_AT_byte_size   : 8	
-    <3f>   DW_AT_encoding    : 5	(signed)
-    <40>   DW_AT_name        : (indirect string, offset: 0x17b): long long int	
- <1><44>: Abbrev Number: 2 (DW_TAG_base_type)
-    <45>   DW_AT_byte_size   : 1	
-    <46>   DW_AT_encoding    : 8	(unsigned char)
-    <47>   DW_AT_name        : (indirect string, offset: 0xc8): unsigned char	
- <1><4b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4c>   DW_AT_byte_size   : 2	
-    <4d>   DW_AT_encoding    : 7	(unsigned)
-    <4e>   DW_AT_name        : (indirect string, offset: 0x83): short unsigned int	
- <1><52>: Abbrev Number: 2 (DW_TAG_base_type)
-    <53>   DW_AT_byte_size   : 4	
-    <54>   DW_AT_encoding    : 7	(unsigned)
-    <55>   DW_AT_name        : (indirect string, offset: 0x117): unsigned int	
- <1><59>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5a>   DW_AT_byte_size   : 8	
-    <5b>   DW_AT_encoding    : 7	(unsigned)
-    <5c>   DW_AT_name        : (indirect string, offset: 0x1b8): long long unsigned int	
- <1><60>: Abbrev Number: 2 (DW_TAG_base_type)
-    <61>   DW_AT_byte_size   : 4	
-    <62>   DW_AT_encoding    : 5	(signed)
-    <63>   DW_AT_name        : (indirect string, offset: 0x193): long int	
- <1><67>: Abbrev Number: 2 (DW_TAG_base_type)
-    <68>   DW_AT_byte_size   : 4	
-    <69>   DW_AT_encoding    : 7	(unsigned)
-    <6a>   DW_AT_name        : (indirect string, offset: 0xd6): long unsigned int	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x172): sizetype	
- <1><75>: Abbrev Number: 2 (DW_TAG_base_type)
-    <76>   DW_AT_byte_size   : 1	
-    <77>   DW_AT_encoding    : 6	(signed char)
-    <78>   DW_AT_name        : (indirect string, offset: 0x132): char	
- <1><7c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <7d>   DW_AT_byte_size   : 4	
-    <7e>   DW_AT_type        : <0x82>	
- <1><82>: Abbrev Number: 6 (DW_TAG_const_type)
-    <83>   DW_AT_type        : <0x75>	
- <1><87>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <88>   DW_AT_name        : (indirect string, offset: 0xe8): sysent	
-    <8c>   DW_AT_byte_size   : 20	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 4	
-    <8f>   DW_AT_sibling     : <0xda>	
- <2><93>: Abbrev Number: 8 (DW_TAG_member)
-    <94>   DW_AT_name        : (indirect string, offset: 0x100): nargs	
-    <98>   DW_AT_decl_file   : 1	
-    <99>   DW_AT_decl_line   : 5	
-    <9a>   DW_AT_type        : <0x52>	
-    <9e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a1>: Abbrev Number: 8 (DW_TAG_member)
-    <a2>   DW_AT_name        : (indirect string, offset: 0xb6): sys_flags	
-    <a6>   DW_AT_decl_file   : 1	
-    <a7>   DW_AT_decl_line   : 6	
-    <a8>   DW_AT_type        : <0x2b>	
-    <ac>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><af>: Abbrev Number: 9 (DW_TAG_member)
-    <b0>   DW_AT_name        : sen	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 7	
-    <b6>   DW_AT_type        : <0x2b>	
-    <ba>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><bd>: Abbrev Number: 8 (DW_TAG_member)
-    <be>   DW_AT_name        : (indirect string, offset: 0x1a8): sys_func	
-    <c2>   DW_AT_decl_file   : 1	
-    <c3>   DW_AT_decl_line   : 8	
-    <c4>   DW_AT_type        : <0xe5>	
-    <c8>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><cb>: Abbrev Number: 8 (DW_TAG_member)
-    <cc>   DW_AT_name        : (indirect string, offset: 0xad): sys_name	
-    <d0>   DW_AT_decl_file   : 1	
-    <d1>   DW_AT_decl_line   : 9	
-    <d2>   DW_AT_type        : <0x7c>	
-    <d6>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <db>   DW_AT_type        : <0x2b>	
-    <df>   DW_AT_sibling     : <0xe5>	
- <2><e3>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <e6>   DW_AT_byte_size   : 4	
-    <e7>   DW_AT_type        : <0xda>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_typedef)
-    <ec>   DW_AT_name        : (indirect string, offset: 0x124): struct_sysent	
-    <f0>   DW_AT_decl_file   : 1	
-    <f1>   DW_AT_decl_line   : 10	
-    <f2>   DW_AT_type        : <0x87>	
- <1><f6>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f7>   DW_AT_byte_size   : 4	
-    <f8>   DW_AT_type        : <0xfc>	
- <1><fc>: Abbrev Number: 6 (DW_TAG_const_type)
-    <fd>   DW_AT_type        : <0xeb>	
- <1><101>: Abbrev Number: 2 (DW_TAG_base_type)
-    <102>   DW_AT_byte_size   : 1	
-    <103>   DW_AT_encoding    : 2	(boolean)
-    <104>   DW_AT_name        : (indirect string, offset: 0x2c): _Bool	
- <1><108>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <109>   DW_AT_byte_size   : 152	
-    <10a>   DW_AT_decl_file   : 3	
-    <10b>   DW_AT_decl_line   : 44	
-    <10c>   DW_AT_sibling     : <0x157>	
- <2><110>: Abbrev Number: 8 (DW_TAG_member)
-    <111>   DW_AT_name        : (indirect string, offset: 0x32): start	
-    <115>   DW_AT_decl_file   : 3	
-    <116>   DW_AT_decl_line   : 45	
-    <117>   DW_AT_type        : <0x32>	
-    <11b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><11e>: Abbrev Number: 8 (DW_TAG_member)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x1b1): length	
-    <123>   DW_AT_decl_file   : 3	
-    <124>   DW_AT_decl_line   : 46	
-    <125>   DW_AT_type        : <0x32>	
-    <129>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><12c>: Abbrev Number: 9 (DW_TAG_member)
-    <12d>   DW_AT_name        : pno	
-    <131>   DW_AT_decl_file   : 3	
-    <132>   DW_AT_decl_line   : 47	
-    <133>   DW_AT_type        : <0x2b>	
-    <137>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><13a>: Abbrev Number: 8 (DW_TAG_member)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x1cf): devname	
-    <13f>   DW_AT_decl_file   : 3	
-    <140>   DW_AT_decl_line   : 48	
-    <141>   DW_AT_type        : <0x157>	
-    <145>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><148>: Abbrev Number: 8 (DW_TAG_member)
-    <149>   DW_AT_name        : (indirect string, offset: 0xc0): volname	
-    <14d>   DW_AT_decl_file   : 3	
-    <14e>   DW_AT_decl_line   : 50	
-    <14f>   DW_AT_type        : <0x157>	
-    <153>   DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
- <2><156>: Abbrev Number: 0
- <1><157>: Abbrev Number: 13 (DW_TAG_array_type)
-    <158>   DW_AT_type        : <0x75>	
-    <15c>   DW_AT_sibling     : <0x167>	
- <2><160>: Abbrev Number: 14 (DW_TAG_subrange_type)
-    <161>   DW_AT_type        : <0x6e>	
-    <165>   DW_AT_upper_bound : 63	
- <2><166>: Abbrev Number: 0
- <1><167>: Abbrev Number: 4 (DW_TAG_typedef)
-    <168>   DW_AT_name        : (indirect string, offset: 0x96): struct_blkpg_partition	
-    <16c>   DW_AT_decl_file   : 3	
-    <16d>   DW_AT_decl_line   : 51	
-    <16e>   DW_AT_type        : <0x108>	
- <1><172>: Abbrev Number: 15 (DW_TAG_variable)
-    <173>   DW_AT_name        : (indirect string, offset: 0xef): current_wordsize	
-    <177>   DW_AT_decl_file   : 4	
-    <178>   DW_AT_decl_line   : 757	
-    <17a>   DW_AT_type        : <0x52>	
-    <17e>   DW_AT_external    : 1	
-    <17f>   DW_AT_declaration : 1	
- <1><180>: Abbrev Number: 15 (DW_TAG_variable)
-    <181>   DW_AT_name        : (indirect string, offset: 0xe8): sysent	
-    <185>   DW_AT_decl_file   : 4	
-    <186>   DW_AT_decl_line   : 892	
-    <188>   DW_AT_type        : <0xf6>	
-    <18c>   DW_AT_external    : 1	
-    <18d>   DW_AT_declaration : 1	
- <1><18e>: Abbrev Number: 15 (DW_TAG_variable)
-    <18f>   DW_AT_name        : (indirect string, offset: 0x168): nsyscalls	
-    <193>   DW_AT_decl_file   : 4	
-    <194>   DW_AT_decl_line   : 903	
-    <196>   DW_AT_type        : <0x52>	
-    <19a>   DW_AT_external    : 1	
-    <19b>   DW_AT_declaration : 1	
- <1><19c>: Abbrev Number: 16 (DW_TAG_variable)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x106): mpers_target_var	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 64	
-    <1a3>   DW_AT_type        : <0x167>	
-    <1a7>   DW_AT_external    : 1	
-    <1a8>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1ae>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_blkpg_partition.d2 b/mpers-mx32/struct_blkpg_partition.d2
deleted file mode 100644
index 2f00af5..0000000
--- a/mpers-mx32/struct_blkpg_partition.d2
+++ /dev/null
@@ -1,230 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x19c): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x189): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x24): int64_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x3d>
-<1><3d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x17b): long long int
-<1><44>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xc8): unsigned char
-<1><4b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x83): short unsigned int
-<1><52>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x117): unsigned int
-<1><59>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1b8): long long unsigned int
-<1><60>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x193): long int
-<1><67>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd6): long unsigned int
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x172): sizetype
-<1><75>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x132): char
-<1><7c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x82>
-<1><82>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x75>
-<1><87>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe8): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xda>
-<2><93>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x100): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x52>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb6): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><af>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><bd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a8): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe5>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><cb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xad): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><da>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe5>
-<2><e3>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><e5>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xda>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x124): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x87>
-<1><f6>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfc>
-<1><fc>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xeb>
-<1><101>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2c): _Bool
-<1><108>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_byte_size   : 152
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_sibling     : <0x157>
-<2><110>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x32): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x32>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><11e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b1): length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x32>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><12c>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : pno
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><13a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cf): devname
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x157>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><148>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc0): volname
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x157>
-DW_AT_data_member_location: 2 byte block: 23 54 	(DW_OP_plus_uconst: 84)
-<1><157>
-Abbrev Number: 13 (DW_TAG_array_type)
-DW_AT_type        : <0x75>
-DW_AT_sibling     : <0x167>
-<2><160>
-Abbrev Number: 14 (DW_TAG_subrange_type)
-DW_AT_type        : <0x6e>
-DW_AT_upper_bound : 63
-<1><167>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x96): struct_blkpg_partition
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x108>
-<1><172>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xef): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x52>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><180>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe8): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf6>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18e>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x168): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x52>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><19c>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x106): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x167>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.c b/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.c
index c907ffb..6caef1a 100644
--- a/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.c
+++ b/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.d1 b/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.d1
deleted file mode 100644
index 600bdc5..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.d1
+++ /dev/null
@@ -1,327 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2b3 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x7f): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x29c): mpers-mx32/struct_btrfs_ioctl_dev_replace_args.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x238): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x366): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x328): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x13f): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x390): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1fb): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x11a): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x338): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x14d): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x293): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x216): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x15f): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x177): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x110): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x3a3): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0xfa): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x208): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x50): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x2e6): __u8	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 20	
-    <104>   DW_AT_type        : <0x39>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x28d): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x341): btrfs_ioctl_dev_replace_start_params	
-    <118>   DW_AT_byte_size   : 2072	
-    <11a>   DW_AT_decl_file   : 3	
-    <11b>   DW_AT_decl_line   : 131	
-    <11c>   DW_AT_sibling     : <0x15a>	
- <2><120>: Abbrev Number: 7 (DW_TAG_member)
-    <121>   DW_AT_name        : (indirect string, offset: 0x70): srcdevid	
-    <125>   DW_AT_decl_file   : 3	
-    <126>   DW_AT_decl_line   : 132	
-    <127>   DW_AT_type        : <0x108>	
-    <12b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12e>: Abbrev Number: 7 (DW_TAG_member)
-    <12f>   DW_AT_name        : (indirect string, offset: 0x372): cont_reading_from_srcdev_mode	
-    <133>   DW_AT_decl_file   : 3	
-    <134>   DW_AT_decl_line   : 133	
-    <135>   DW_AT_type        : <0x108>	
-    <139>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13c>: Abbrev Number: 7 (DW_TAG_member)
-    <13d>   DW_AT_name        : (indirect string, offset: 0xca): srcdev_name	
-    <141>   DW_AT_decl_file   : 3	
-    <142>   DW_AT_decl_line   : 135	
-    <143>   DW_AT_type        : <0x15a>	
-    <147>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><14a>: Abbrev Number: 7 (DW_TAG_member)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x3ac): tgtdev_name	
-    <14f>   DW_AT_decl_file   : 3	
-    <150>   DW_AT_decl_line   : 136	
-    <151>   DW_AT_type        : <0x15a>	
-    <155>   DW_AT_data_member_location: 3 byte block: 23 91 8 	(DW_OP_plus_uconst: 1041)
- <2><159>: Abbrev Number: 0
- <1><15a>: Abbrev Number: 13 (DW_TAG_array_type)
-    <15b>   DW_AT_type        : <0xfd>	
-    <15f>   DW_AT_sibling     : <0x16b>	
- <2><163>: Abbrev Number: 14 (DW_TAG_subrange_type)
-    <164>   DW_AT_type        : <0x63>	
-    <168>   DW_AT_upper_bound : 1024	
- <2><16a>: Abbrev Number: 0
- <1><16b>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <16c>   DW_AT_name        : (indirect string, offset: 0x1ad): btrfs_ioctl_dev_replace_status_params	
-    <170>   DW_AT_byte_size   : 48	
-    <171>   DW_AT_decl_file   : 3	
-    <172>   DW_AT_decl_line   : 144	
-    <173>   DW_AT_sibling     : <0x1cc>	
- <2><177>: Abbrev Number: 7 (DW_TAG_member)
-    <178>   DW_AT_name        : (indirect string, offset: 0x131): replace_state	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 145	
-    <17e>   DW_AT_type        : <0x108>	
-    <182>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><185>: Abbrev Number: 7 (DW_TAG_member)
-    <186>   DW_AT_name        : (indirect string, offset: 0xe): progress_1000	
-    <18a>   DW_AT_decl_file   : 3	
-    <18b>   DW_AT_decl_line   : 146	
-    <18c>   DW_AT_type        : <0x108>	
-    <190>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><193>: Abbrev Number: 7 (DW_TAG_member)
-    <194>   DW_AT_name        : (indirect string, offset: 0x103): time_started	
-    <198>   DW_AT_decl_file   : 3	
-    <199>   DW_AT_decl_line   : 147	
-    <19a>   DW_AT_type        : <0x108>	
-    <19e>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1a1>: Abbrev Number: 7 (DW_TAG_member)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x2eb): time_stopped	
-    <1a6>   DW_AT_decl_file   : 3	
-    <1a7>   DW_AT_decl_line   : 148	
-    <1a8>   DW_AT_type        : <0x108>	
-    <1ac>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1af>: Abbrev Number: 7 (DW_TAG_member)
-    <1b0>   DW_AT_name        : (indirect string, offset: 0x317): num_write_errors	
-    <1b4>   DW_AT_decl_file   : 3	
-    <1b5>   DW_AT_decl_line   : 149	
-    <1b6>   DW_AT_type        : <0x108>	
-    <1ba>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1bd>: Abbrev Number: 7 (DW_TAG_member)
-    <1be>   DW_AT_name        : (indirect string, offset: 0x1dd): num_uncorrectable_read_errors	
-    <1c2>   DW_AT_decl_file   : 3	
-    <1c3>   DW_AT_decl_line   : 150	
-    <1c4>   DW_AT_type        : <0x108>	
-    <1c8>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1cb>: Abbrev Number: 0
- <1><1cc>: Abbrev Number: 15 (DW_TAG_union_type)
-    <1cd>   DW_AT_byte_size   : 2072	
-    <1cf>   DW_AT_decl_file   : 3	
-    <1d0>   DW_AT_decl_line   : 163	
-    <1d1>   DW_AT_sibling     : <0x1ec>	
- <2><1d5>: Abbrev Number: 16 (DW_TAG_member)
-    <1d6>   DW_AT_name        : (indirect string, offset: 0x79): start	
-    <1da>   DW_AT_decl_file   : 3	
-    <1db>   DW_AT_decl_line   : 164	
-    <1dc>   DW_AT_type        : <0x113>	
- <2><1e0>: Abbrev Number: 16 (DW_TAG_member)
-    <1e1>   DW_AT_name        : (indirect string, offset: 0xf3): status	
-    <1e5>   DW_AT_decl_file   : 3	
-    <1e6>   DW_AT_decl_line   : 165	
-    <1e7>   DW_AT_type        : <0x16b>	
- <2><1eb>: Abbrev Number: 0
- <1><1ec>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <1ed>   DW_AT_name        : (indirect string, offset: 0xd6): btrfs_ioctl_dev_replace_args	
-    <1f1>   DW_AT_byte_size   : 2600	
-    <1f3>   DW_AT_decl_file   : 3	
-    <1f4>   DW_AT_decl_line   : 159	
-    <1f5>   DW_AT_sibling     : <0x22d>	
- <2><1f9>: Abbrev Number: 8 (DW_TAG_member)
-    <1fa>   DW_AT_name        : cmd	
-    <1fe>   DW_AT_decl_file   : 3	
-    <1ff>   DW_AT_decl_line   : 160	
-    <200>   DW_AT_type        : <0x108>	
-    <204>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><207>: Abbrev Number: 7 (DW_TAG_member)
-    <208>   DW_AT_name        : (indirect string, offset: 0x231): result	
-    <20c>   DW_AT_decl_file   : 3	
-    <20d>   DW_AT_decl_line   : 161	
-    <20e>   DW_AT_type        : <0x108>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><215>: Abbrev Number: 17 (DW_TAG_member)
-    <216>   DW_AT_type        : <0x1cc>	
-    <21a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><21d>: Abbrev Number: 7 (DW_TAG_member)
-    <21e>   DW_AT_name        : (indirect string, offset: 0x332): spare	
-    <222>   DW_AT_decl_file   : 3	
-    <223>   DW_AT_decl_line   : 168	
-    <224>   DW_AT_type        : <0x22d>	
-    <228>   DW_AT_data_member_location: 3 byte block: 23 a8 10 	(DW_OP_plus_uconst: 2088)
- <2><22c>: Abbrev Number: 0
- <1><22d>: Abbrev Number: 13 (DW_TAG_array_type)
-    <22e>   DW_AT_type        : <0x108>	
-    <232>   DW_AT_sibling     : <0x23d>	
- <2><236>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <237>   DW_AT_type        : <0x63>	
-    <23b>   DW_AT_upper_bound : 63	
- <2><23c>: Abbrev Number: 0
- <1><23d>: Abbrev Number: 19 (DW_TAG_enumeration_type)
-    <23e>   DW_AT_name        : (indirect string, offset: 0x21b): btrfs_dev_stat_values	
-    <242>   DW_AT_byte_size   : 4	
-    <243>   DW_AT_decl_file   : 3	
-    <244>   DW_AT_decl_line   : 369	
-    <246>   DW_AT_sibling     : <0x26f>	
- <2><24a>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <24b>   DW_AT_name        : (indirect string, offset: 0x56): BTRFS_DEV_STAT_WRITE_ERRS	
-    <24f>   DW_AT_const_value : 0	
- <2><250>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <251>   DW_AT_name        : (indirect string, offset: 0x2cd): BTRFS_DEV_STAT_READ_ERRS	
-    <255>   DW_AT_const_value : 1	
- <2><256>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <257>   DW_AT_name        : (indirect string, offset: 0x1c): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <25b>   DW_AT_const_value : 2	
- <2><25c>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <25d>   DW_AT_name        : (indirect string, offset: 0x18e): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <261>   DW_AT_const_value : 3	
- <2><262>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <263>   DW_AT_name        : (indirect string, offset: 0x2f8): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <267>   DW_AT_const_value : 4	
- <2><268>: Abbrev Number: 20 (DW_TAG_enumerator)
-    <269>   DW_AT_name        : (indirect string, offset: 0x36): BTRFS_DEV_STAT_VALUES_MAX	
-    <26d>   DW_AT_const_value : 5	
- <2><26e>: Abbrev Number: 0
- <1><26f>: Abbrev Number: 11 (DW_TAG_typedef)
-    <270>   DW_AT_name        : (indirect string, offset: 0x269): struct_btrfs_ioctl_dev_replace_args	
-    <274>   DW_AT_decl_file   : 4	
-    <275>   DW_AT_decl_line   : 36	
-    <276>   DW_AT_type        : <0x1ec>	
- <1><27a>: Abbrev Number: 21 (DW_TAG_variable)
-    <27b>   DW_AT_name        : (indirect string, offset: 0x166): current_wordsize	
-    <27f>   DW_AT_decl_file   : 5	
-    <280>   DW_AT_decl_line   : 757	
-    <282>   DW_AT_type        : <0x47>	
-    <286>   DW_AT_external    : 1	
-    <287>   DW_AT_declaration : 1	
- <1><288>: Abbrev Number: 21 (DW_TAG_variable)
-    <289>   DW_AT_name        : (indirect string, offset: 0x15f): sysent	
-    <28d>   DW_AT_decl_file   : 5	
-    <28e>   DW_AT_decl_line   : 892	
-    <290>   DW_AT_type        : <0xeb>	
-    <294>   DW_AT_external    : 1	
-    <295>   DW_AT_declaration : 1	
- <1><296>: Abbrev Number: 21 (DW_TAG_variable)
-    <297>   DW_AT_name        : (indirect string, offset: 0x1d3): nsyscalls	
-    <29b>   DW_AT_decl_file   : 5	
-    <29c>   DW_AT_decl_line   : 903	
-    <29e>   DW_AT_type        : <0x47>	
-    <2a2>   DW_AT_external    : 1	
-    <2a3>   DW_AT_declaration : 1	
- <1><2a4>: Abbrev Number: 22 (DW_TAG_variable)
-    <2a5>   DW_AT_name        : (indirect string, offset: 0x17d): mpers_target_var	
-    <2a9>   DW_AT_decl_file   : 4	
-    <2aa>   DW_AT_decl_line   : 46	
-    <2ab>   DW_AT_type        : <0x26f>	
-    <2af>   DW_AT_external    : 1	
-    <2b0>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><2b6>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.d2 b/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.d2
deleted file mode 100644
index 5018cb6..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_dev_replace_args.d2
+++ /dev/null
@@ -1,368 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x366): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x328): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x13f): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x390): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1fb): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x11a): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x338): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x14d): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x293): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x216): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x15f): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x177): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x110): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a3): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfa): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x208): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x50): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2e6): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x28d): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x341): btrfs_ioctl_dev_replace_start_params
-DW_AT_byte_size   : 2072
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 131
-DW_AT_sibling     : <0x15a>
-<2><120>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x70): srcdevid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 132
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x372): cont_reading_from_srcdev_mode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><13c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xca): srcdev_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 135
-DW_AT_type        : <0x15a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><14a>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3ac): tgtdev_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 136
-DW_AT_type        : <0x15a>
-DW_AT_data_member_location: 3 byte block: 23 91 8 	(DW_OP_plus_uconst: 1041)
-<1><15a>
-Abbrev Number: 13 (DW_TAG_array_type)
-DW_AT_type        : <0xfd>
-DW_AT_sibling     : <0x16b>
-<2><163>
-Abbrev Number: 14 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1024
-<1><16b>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1ad): btrfs_ioctl_dev_replace_status_params
-DW_AT_byte_size   : 48
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 144
-DW_AT_sibling     : <0x1cc>
-<2><177>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x131): replace_state
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 145
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><185>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe): progress_1000
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 146
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><193>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x103): time_started
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 147
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1a1>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2eb): time_stopped
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 148
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1af>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x317): num_write_errors
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 149
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1bd>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1dd): num_uncorrectable_read_errors
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 150
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<1><1cc>
-Abbrev Number: 15 (DW_TAG_union_type)
-DW_AT_byte_size   : 2072
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 163
-DW_AT_sibling     : <0x1ec>
-<2><1d5>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x79): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 164
-DW_AT_type        : <0x113>
-<2><1e0>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf3): status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 165
-DW_AT_type        : <0x16b>
-<1><1ec>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd6): btrfs_ioctl_dev_replace_args
-DW_AT_byte_size   : 2600
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 159
-DW_AT_sibling     : <0x22d>
-<2><1f9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : cmd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 160
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><207>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x231): result
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 161
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><215>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_type        : <0x1cc>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><21d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x332): spare
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 168
-DW_AT_type        : <0x22d>
-DW_AT_data_member_location: 3 byte block: 23 a8 10 	(DW_OP_plus_uconst: 2088)
-<1><22d>
-Abbrev Number: 13 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x23d>
-<2><236>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 63
-<1><23d>
-Abbrev Number: 19 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x21b): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x26f>
-<2><24a>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x56): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><250>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2cd): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><256>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1c): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><25c>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x18e): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><262>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2f8): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><268>
-Abbrev Number: 20 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x36): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><26f>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x269): struct_btrfs_ioctl_dev_replace_args
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x1ec>
-<1><27a>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x166): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><288>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x15f): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><296>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1d3): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2a4>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17d): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x26f>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.c b/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.c
index a62dfd3..4f54da8 100644
--- a/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.c
+++ b/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.d1 b/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.d1
deleted file mode 100644
index fcd8846..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.d1
+++ /dev/null
@@ -1,277 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x24c (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x7c): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x292): mpers-mx32/struct_btrfs_ioctl_received_subvol_args.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1f1): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x2e0): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x2c7): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x121): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x2ec): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1be): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x101): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x2d1): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x144): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x232): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x1d6): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x156): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x188): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xf7): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x2ff): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0xcd): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x6e): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x50): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x56): __u32	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 26	
-    <104>   DW_AT_type        : <0x47>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x22c): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x1db): btrfs_dev_stat_values	
-    <118>   DW_AT_byte_size   : 4	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 369	
-    <11c>   DW_AT_sibling     : <0x145>	
- <2><120>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <121>   DW_AT_name        : (indirect string, offset: 0x15d): BTRFS_DEV_STAT_WRITE_ERRS	
-    <125>   DW_AT_const_value : 0	
- <2><126>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <127>   DW_AT_name        : (indirect string, offset: 0x255): BTRFS_DEV_STAT_READ_ERRS	
-    <12b>   DW_AT_const_value : 1	
- <2><12c>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <12d>   DW_AT_name        : (indirect string, offset: 0x23b): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <131>   DW_AT_const_value : 2	
- <2><132>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <133>   DW_AT_name        : (indirect string, offset: 0x19f): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <137>   DW_AT_const_value : 3	
- <2><138>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <139>   DW_AT_name        : (indirect string, offset: 0x273): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <13d>   DW_AT_const_value : 4	
- <2><13e>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <13f>   DW_AT_name        : (indirect string, offset: 0xe): BTRFS_DEV_STAT_VALUES_MAX	
-    <143>   DW_AT_const_value : 5	
- <2><144>: Abbrev Number: 0
- <1><145>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <146>   DW_AT_name        : (indirect string, offset: 0x12f): btrfs_ioctl_timespec	
-    <14a>   DW_AT_byte_size   : 16	
-    <14b>   DW_AT_decl_file   : 3	
-    <14c>   DW_AT_decl_line   : 426	
-    <14e>   DW_AT_sibling     : <0x171>	
- <2><152>: Abbrev Number: 15 (DW_TAG_member)
-    <153>   DW_AT_name        : sec	
-    <157>   DW_AT_decl_file   : 3	
-    <158>   DW_AT_decl_line   : 427	
-    <15a>   DW_AT_type        : <0x108>	
-    <15e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><161>: Abbrev Number: 16 (DW_TAG_member)
-    <162>   DW_AT_name        : (indirect string, offset: 0x26e): nsec	
-    <166>   DW_AT_decl_file   : 3	
-    <167>   DW_AT_decl_line   : 428	
-    <169>   DW_AT_type        : <0xfd>	
-    <16d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><170>: Abbrev Number: 0
- <1><171>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <172>   DW_AT_name        : (indirect string, offset: 0xd6): btrfs_ioctl_received_subvol_args	
-    <176>   DW_AT_byte_size   : 200	
-    <177>   DW_AT_decl_file   : 3	
-    <178>   DW_AT_decl_line   : 431	
-    <17a>   DW_AT_sibling     : <0x1e8>	
- <2><17e>: Abbrev Number: 16 (DW_TAG_member)
-    <17f>   DW_AT_name        : (indirect string, offset: 0x1d1): uuid	
-    <183>   DW_AT_decl_file   : 3	
-    <184>   DW_AT_decl_line   : 432	
-    <186>   DW_AT_type        : <0x1e8>	
-    <18a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><18d>: Abbrev Number: 16 (DW_TAG_member)
-    <18e>   DW_AT_name        : (indirect string, offset: 0x65): stransid	
-    <192>   DW_AT_decl_file   : 3	
-    <193>   DW_AT_decl_line   : 433	
-    <195>   DW_AT_type        : <0x108>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 16 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x118): rtransid	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 434	
-    <1a4>   DW_AT_type        : <0x108>	
-    <1a8>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1ab>: Abbrev Number: 16 (DW_TAG_member)
-    <1ac>   DW_AT_name        : (indirect string, offset: 0xc7): stime	
-    <1b0>   DW_AT_decl_file   : 3	
-    <1b1>   DW_AT_decl_line   : 435	
-    <1b3>   DW_AT_type        : <0x145>	
-    <1b7>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1ba>: Abbrev Number: 16 (DW_TAG_member)
-    <1bb>   DW_AT_name        : (indirect string, offset: 0x2da): rtime	
-    <1bf>   DW_AT_decl_file   : 3	
-    <1c0>   DW_AT_decl_line   : 436	
-    <1c2>   DW_AT_type        : <0x145>	
-    <1c6>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1c9>: Abbrev Number: 16 (DW_TAG_member)
-    <1ca>   DW_AT_name        : (indirect string, offset: 0x1cb): flags	
-    <1ce>   DW_AT_decl_file   : 3	
-    <1cf>   DW_AT_decl_line   : 437	
-    <1d1>   DW_AT_type        : <0x108>	
-    <1d5>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1d8>: Abbrev Number: 16 (DW_TAG_member)
-    <1d9>   DW_AT_name        : (indirect string, offset: 0x5c): reserved	
-    <1dd>   DW_AT_decl_file   : 3	
-    <1de>   DW_AT_decl_line   : 438	
-    <1e0>   DW_AT_type        : <0x1f8>	
-    <1e4>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1e7>: Abbrev Number: 0
- <1><1e8>: Abbrev Number: 17 (DW_TAG_array_type)
-    <1e9>   DW_AT_type        : <0x6a>	
-    <1ed>   DW_AT_sibling     : <0x1f8>	
- <2><1f1>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <1f2>   DW_AT_type        : <0x63>	
-    <1f6>   DW_AT_upper_bound : 15	
- <2><1f7>: Abbrev Number: 0
- <1><1f8>: Abbrev Number: 17 (DW_TAG_array_type)
-    <1f9>   DW_AT_type        : <0x108>	
-    <1fd>   DW_AT_sibling     : <0x208>	
- <2><201>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <202>   DW_AT_type        : <0x63>	
-    <206>   DW_AT_upper_bound : 15	
- <2><207>: Abbrev Number: 0
- <1><208>: Abbrev Number: 11 (DW_TAG_typedef)
-    <209>   DW_AT_name        : (indirect string, offset: 0x28): struct_btrfs_ioctl_received_subvol_args	
-    <20d>   DW_AT_decl_file   : 4	
-    <20e>   DW_AT_decl_line   : 40	
-    <20f>   DW_AT_type        : <0x171>	
- <1><213>: Abbrev Number: 19 (DW_TAG_variable)
-    <214>   DW_AT_name        : (indirect string, offset: 0x177): current_wordsize	
-    <218>   DW_AT_decl_file   : 5	
-    <219>   DW_AT_decl_line   : 757	
-    <21b>   DW_AT_type        : <0x47>	
-    <21f>   DW_AT_external    : 1	
-    <220>   DW_AT_declaration : 1	
- <1><221>: Abbrev Number: 19 (DW_TAG_variable)
-    <222>   DW_AT_name        : (indirect string, offset: 0x156): sysent	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 892	
-    <229>   DW_AT_type        : <0xeb>	
-    <22d>   DW_AT_external    : 1	
-    <22e>   DW_AT_declaration : 1	
- <1><22f>: Abbrev Number: 19 (DW_TAG_variable)
-    <230>   DW_AT_name        : (indirect string, offset: 0x222): nsyscalls	
-    <234>   DW_AT_decl_file   : 5	
-    <235>   DW_AT_decl_line   : 903	
-    <237>   DW_AT_type        : <0x47>	
-    <23b>   DW_AT_external    : 1	
-    <23c>   DW_AT_declaration : 1	
- <1><23d>: Abbrev Number: 20 (DW_TAG_variable)
-    <23e>   DW_AT_name        : (indirect string, offset: 0x18e): mpers_target_var	
-    <242>   DW_AT_decl_file   : 4	
-    <243>   DW_AT_decl_line   : 46	
-    <244>   DW_AT_type        : <0x208>	
-    <248>   DW_AT_external    : 1	
-    <249>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><24f>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.d2 b/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.d2
deleted file mode 100644
index fe6cf7f..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_received_subvol_args.d2
+++ /dev/null
@@ -1,311 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x2e0): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2c7): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x121): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2ec): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1be): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x101): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2d1): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x144): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x232): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1d6): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x156): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x188): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf7): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ff): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcd): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6e): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x50): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x56): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x22c): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x1db): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x145>
-<2><120>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x15d): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><126>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x255): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><12c>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x23b): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><132>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x19f): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><138>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x273): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><13e>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xe): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><145>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x12f): btrfs_ioctl_timespec
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 426
-DW_AT_sibling     : <0x171>
-<2><152>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : sec
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 427
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><161>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26e): nsec
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 428
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><171>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd6): btrfs_ioctl_received_subvol_args
-DW_AT_byte_size   : 200
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 431
-DW_AT_sibling     : <0x1e8>
-<2><17e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d1): uuid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 432
-DW_AT_type        : <0x1e8>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><18d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x65): stransid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 433
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x118): rtransid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 434
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1ab>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc7): stime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 435
-DW_AT_type        : <0x145>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1ba>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2da): rtime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 436
-DW_AT_type        : <0x145>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1c9>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cb): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 437
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><1d8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5c): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 438
-DW_AT_type        : <0x1f8>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<1><1e8>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x1f8>
-<2><1f1>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><1f8>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x208>
-<2><201>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><208>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x28): struct_btrfs_ioctl_received_subvol_args
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x171>
-<1><213>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x177): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><221>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x156): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><22f>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x222): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><23d>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x18e): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x208>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_btrfs_ioctl_send_args.c b/mpers-mx32/struct_btrfs_ioctl_send_args.c
index 6a8a43a..0e1d924 100644
--- a/mpers-mx32/struct_btrfs_ioctl_send_args.c
+++ b/mpers-mx32/struct_btrfs_ioctl_send_args.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_btrfs_ioctl_send_args.d1 b/mpers-mx32/struct_btrfs_ioctl_send_args.d1
deleted file mode 100644
index 6364845..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_send_args.d1
+++ /dev/null
@@ -1,248 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x207 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x4f): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x27b): mpers-mx32/struct_btrfs_ioctl_send_args.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1c3): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x2ae): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x150): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x104): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x112): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x9a): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x179): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x2c3): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x2a5): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x120): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x204): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x19a): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x132): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x14a): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xfa): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x2ba): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0xad): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x18c): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x26): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x2da): __s64	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 29	
-    <104>   DW_AT_type        : <0x32>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x1fe): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 12 (DW_TAG_array_type)
-    <114>   DW_AT_type        : <0x108>	
-    <118>   DW_AT_sibling     : <0x123>	
- <2><11c>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <11d>   DW_AT_type        : <0x63>	
-    <121>   DW_AT_upper_bound : 3	
- <2><122>: Abbrev Number: 0
- <1><123>: Abbrev Number: 14 (DW_TAG_enumeration_type)
-    <124>   DW_AT_name        : (indirect string, offset: 0x19f): btrfs_dev_stat_values	
-    <128>   DW_AT_byte_size   : 4	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 369	
-    <12c>   DW_AT_sibling     : <0x155>	
- <2><130>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <131>   DW_AT_name        : (indirect string, offset: 0x2c): BTRFS_DEV_STAT_WRITE_ERRS	
-    <135>   DW_AT_const_value : 0	
- <2><136>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <137>   DW_AT_name        : (indirect string, offset: 0x227): BTRFS_DEV_STAT_READ_ERRS	
-    <13b>   DW_AT_const_value : 1	
- <2><13c>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <13d>   DW_AT_name        : (indirect string, offset: 0x20d): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <141>   DW_AT_const_value : 2	
- <2><142>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <143>   DW_AT_name        : (indirect string, offset: 0x15a): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <147>   DW_AT_const_value : 3	
- <2><148>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <149>   DW_AT_name        : (indirect string, offset: 0x240): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <14d>   DW_AT_const_value : 4	
- <2><14e>: Abbrev Number: 15 (DW_TAG_enumerator)
-    <14f>   DW_AT_name        : (indirect string, offset: 0xc): BTRFS_DEV_STAT_VALUES_MAX	
-    <153>   DW_AT_const_value : 5	
- <2><154>: Abbrev Number: 0
- <1><155>: Abbrev Number: 16 (DW_TAG_structure_type)
-    <156>   DW_AT_name        : (indirect string, offset: 0xd3): btrfs_ioctl_send_args	
-    <15a>   DW_AT_byte_size   : 72	
-    <15b>   DW_AT_decl_file   : 3	
-    <15c>   DW_AT_decl_line   : 466	
-    <15e>   DW_AT_sibling     : <0x1bd>	
- <2><162>: Abbrev Number: 17 (DW_TAG_member)
-    <163>   DW_AT_name        : (indirect string, offset: 0x273): send_fd	
-    <167>   DW_AT_decl_file   : 3	
-    <168>   DW_AT_decl_line   : 467	
-    <16a>   DW_AT_type        : <0xfd>	
-    <16e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><171>: Abbrev Number: 17 (DW_TAG_member)
-    <172>   DW_AT_name        : (indirect string, offset: 0x25f): clone_sources_count	
-    <176>   DW_AT_decl_file   : 3	
-    <177>   DW_AT_decl_line   : 468	
-    <179>   DW_AT_type        : <0x108>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 17 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x1b5): clone_sources	
-    <185>   DW_AT_decl_file   : 3	
-    <186>   DW_AT_decl_line   : 469	
-    <188>   DW_AT_type        : <0x1bd>	
-    <18c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><18f>: Abbrev Number: 17 (DW_TAG_member)
-    <190>   DW_AT_name        : (indirect string, offset: 0x0): parent_root	
-    <194>   DW_AT_decl_file   : 3	
-    <195>   DW_AT_decl_line   : 470	
-    <197>   DW_AT_type        : <0x108>	
-    <19b>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><19e>: Abbrev Number: 17 (DW_TAG_member)
-    <19f>   DW_AT_name        : (indirect string, offset: 0x186): flags	
-    <1a3>   DW_AT_decl_file   : 3	
-    <1a4>   DW_AT_decl_line   : 471	
-    <1a6>   DW_AT_type        : <0x108>	
-    <1aa>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1ad>: Abbrev Number: 17 (DW_TAG_member)
-    <1ae>   DW_AT_name        : (indirect string, offset: 0x46): reserved	
-    <1b2>   DW_AT_decl_file   : 3	
-    <1b3>   DW_AT_decl_line   : 472	
-    <1b5>   DW_AT_type        : <0x113>	
-    <1b9>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1bc>: Abbrev Number: 0
- <1><1bd>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <1be>   DW_AT_byte_size   : 4	
-    <1bf>   DW_AT_type        : <0x108>	
- <1><1c3>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1c4>   DW_AT_name        : (indirect string, offset: 0xb6): struct_btrfs_ioctl_send_args	
-    <1c8>   DW_AT_decl_file   : 4	
-    <1c9>   DW_AT_decl_line   : 38	
-    <1ca>   DW_AT_type        : <0x155>	
- <1><1ce>: Abbrev Number: 18 (DW_TAG_variable)
-    <1cf>   DW_AT_name        : (indirect string, offset: 0x139): current_wordsize	
-    <1d3>   DW_AT_decl_file   : 5	
-    <1d4>   DW_AT_decl_line   : 757	
-    <1d6>   DW_AT_type        : <0x47>	
-    <1da>   DW_AT_external    : 1	
-    <1db>   DW_AT_declaration : 1	
- <1><1dc>: Abbrev Number: 18 (DW_TAG_variable)
-    <1dd>   DW_AT_name        : (indirect string, offset: 0x132): sysent	
-    <1e1>   DW_AT_decl_file   : 5	
-    <1e2>   DW_AT_decl_line   : 892	
-    <1e4>   DW_AT_type        : <0xeb>	
-    <1e8>   DW_AT_external    : 1	
-    <1e9>   DW_AT_declaration : 1	
- <1><1ea>: Abbrev Number: 18 (DW_TAG_variable)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0x1f4): nsyscalls	
-    <1ef>   DW_AT_decl_file   : 5	
-    <1f0>   DW_AT_decl_line   : 903	
-    <1f2>   DW_AT_type        : <0x47>	
-    <1f6>   DW_AT_external    : 1	
-    <1f7>   DW_AT_declaration : 1	
- <1><1f8>: Abbrev Number: 19 (DW_TAG_variable)
-    <1f9>   DW_AT_name        : (indirect string, offset: 0xe9): mpers_target_var	
-    <1fd>   DW_AT_decl_file   : 4	
-    <1fe>   DW_AT_decl_line   : 46	
-    <1ff>   DW_AT_type        : <0x1c3>	
-    <203>   DW_AT_external    : 1	
-    <204>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><20a>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_btrfs_ioctl_send_args.d2 b/mpers-mx32/struct_btrfs_ioctl_send_args.d2
deleted file mode 100644
index f124cae..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_send_args.d2
+++ /dev/null
@@ -1,279 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x2ae): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x150): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x104): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x112): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x9a): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x179): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2c3): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2a5): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x120): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x204): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x19a): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x132): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14a): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfa): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ba): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xad): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x18c): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x26): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2da): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1fe): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x123>
-<2><11c>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><123>
-Abbrev Number: 14 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x19f): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x155>
-<2><130>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x2c): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><136>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x227): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><13c>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x20d): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><142>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x15a): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><148>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x240): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><14e>
-Abbrev Number: 15 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xc): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><155>
-Abbrev Number: 16 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xd3): btrfs_ioctl_send_args
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 466
-DW_AT_sibling     : <0x1bd>
-<2><162>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x273): send_fd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 467
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><171>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25f): clone_sources_count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 468
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b5): clone_sources
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 469
-DW_AT_type        : <0x1bd>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><18f>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): parent_root
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 470
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><19e>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x186): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 471
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1ad>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x46): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 472
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<1><1bd>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x108>
-<1><1c3>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xb6): struct_btrfs_ioctl_send_args
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x155>
-<1><1ce>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x139): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1dc>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x132): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1ea>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1f4): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1f8>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe9): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x1c3>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.c b/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.c
index 0229a3b..977a309 100644
--- a/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.c
+++ b/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Jeff Mahoney <jeffm@suse.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.d1 b/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.d1
deleted file mode 100644
index 0749928..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.d1
+++ /dev/null
@@ -1,363 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2fe (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x2a3): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xb6): mpers-mx32/struct_btrfs_ioctl_vol_args_v2.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1b9): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x32e): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x287): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa8): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x6b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x17d): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x91): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x306): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xeb): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x209): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x19e): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xfd): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x29d): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x87): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x33f): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x7e): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x190): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x4b): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x348): __s64	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 29	
-    <104>   DW_AT_type        : <0x32>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x203): __u64	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 30	
-    <10f>   DW_AT_type        : <0x4e>	
- <1><113>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x38): btrfs_qgroup_limit	
-    <118>   DW_AT_byte_size   : 40	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 44	
-    <11b>   DW_AT_sibling     : <0x166>	
- <2><11f>: Abbrev Number: 7 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0x18a): flags	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 45	
-    <126>   DW_AT_type        : <0x108>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 7 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0xe2): max_rfer	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 46	
-    <134>   DW_AT_type        : <0x108>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13b>: Abbrev Number: 7 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x165): max_excl	
-    <140>   DW_AT_decl_file   : 3	
-    <141>   DW_AT_decl_line   : 47	
-    <142>   DW_AT_type        : <0x108>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><149>: Abbrev Number: 7 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x27e): rsv_rfer	
-    <14e>   DW_AT_decl_file   : 3	
-    <14f>   DW_AT_decl_line   : 48	
-    <150>   DW_AT_type        : <0x108>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><157>: Abbrev Number: 7 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x104): rsv_excl	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 49	
-    <15e>   DW_AT_type        : <0x108>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><165>: Abbrev Number: 0
- <1><166>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <167>   DW_AT_name        : (indirect string, offset: 0x245): btrfs_qgroup_inherit	
-    <16b>   DW_AT_byte_size   : 72	
-    <16c>   DW_AT_decl_file   : 3	
-    <16d>   DW_AT_decl_line   : 52	
-    <16e>   DW_AT_sibling     : <0x1c7>	
- <2><172>: Abbrev Number: 7 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x18a): flags	
-    <177>   DW_AT_decl_file   : 3	
-    <178>   DW_AT_decl_line   : 53	
-    <179>   DW_AT_type        : <0x108>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><180>: Abbrev Number: 7 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x291): num_qgroups	
-    <185>   DW_AT_decl_file   : 3	
-    <186>   DW_AT_decl_line   : 54	
-    <187>   DW_AT_type        : <0x108>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><18e>: Abbrev Number: 7 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0x11e): num_ref_copies	
-    <193>   DW_AT_decl_file   : 3	
-    <194>   DW_AT_decl_line   : 55	
-    <195>   DW_AT_type        : <0x108>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 7 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0xe): num_excl_copies	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 56	
-    <1a3>   DW_AT_type        : <0x108>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1aa>: Abbrev Number: 8 (DW_TAG_member)
-    <1ab>   DW_AT_name        : lim	
-    <1af>   DW_AT_decl_file   : 3	
-    <1b0>   DW_AT_decl_line   : 57	
-    <1b1>   DW_AT_type        : <0x113>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1b8>: Abbrev Number: 7 (DW_TAG_member)
-    <1b9>   DW_AT_name        : (indirect string, offset: 0x1ea): qgroups	
-    <1bd>   DW_AT_decl_file   : 3	
-    <1be>   DW_AT_decl_line   : 58	
-    <1bf>   DW_AT_type        : <0x1c7>	
-    <1c3>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1c6>: Abbrev Number: 0
- <1><1c7>: Abbrev Number: 12 (DW_TAG_array_type)
-    <1c8>   DW_AT_type        : <0x108>	
-    <1cc>   DW_AT_sibling     : <0x1d6>	
- <2><1d0>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <1d1>   DW_AT_type        : <0x63>	
- <2><1d5>: Abbrev Number: 0
- <1><1d6>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <1d7>   DW_AT_byte_size   : 16	
-    <1d8>   DW_AT_decl_file   : 3	
-    <1d9>   DW_AT_decl_line   : 72	
-    <1da>   DW_AT_sibling     : <0x1fb>	
- <2><1de>: Abbrev Number: 7 (DW_TAG_member)
-    <1df>   DW_AT_name        : (indirect string, offset: 0x33a): size	
-    <1e3>   DW_AT_decl_file   : 3	
-    <1e4>   DW_AT_decl_line   : 73	
-    <1e5>   DW_AT_type        : <0x108>	
-    <1e9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1ec>: Abbrev Number: 7 (DW_TAG_member)
-    <1ed>   DW_AT_name        : (indirect string, offset: 0x16e): qgroup_inherit	
-    <1f1>   DW_AT_decl_file   : 3	
-    <1f2>   DW_AT_decl_line   : 74	
-    <1f3>   DW_AT_type        : <0x1fb>	
-    <1f7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1fa>: Abbrev Number: 0
- <1><1fb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <1fc>   DW_AT_byte_size   : 4	
-    <1fd>   DW_AT_type        : <0x166>	
- <1><201>: Abbrev Number: 15 (DW_TAG_union_type)
-    <202>   DW_AT_byte_size   : 32	
-    <203>   DW_AT_decl_file   : 3	
-    <204>   DW_AT_decl_line   : 71	
-    <205>   DW_AT_sibling     : <0x21a>	
- <2><209>: Abbrev Number: 16 (DW_TAG_member)
-    <20a>   DW_AT_type        : <0x1d6>	
- <2><20e>: Abbrev Number: 17 (DW_TAG_member)
-    <20f>   DW_AT_name        : (indirect string, offset: 0x1fc): unused	
-    <213>   DW_AT_decl_file   : 3	
-    <214>   DW_AT_decl_line   : 76	
-    <215>   DW_AT_type        : <0x21a>	
- <2><219>: Abbrev Number: 0
- <1><21a>: Abbrev Number: 12 (DW_TAG_array_type)
-    <21b>   DW_AT_type        : <0x108>	
-    <21f>   DW_AT_sibling     : <0x22a>	
- <2><223>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <224>   DW_AT_type        : <0x63>	
-    <228>   DW_AT_upper_bound : 3	
- <2><229>: Abbrev Number: 0
- <1><22a>: Abbrev Number: 19 (DW_TAG_structure_type)
-    <22b>   DW_AT_name        : (indirect string, offset: 0x2ee): btrfs_ioctl_vol_args_v2	
-    <22f>   DW_AT_byte_size   : 4096	
-    <231>   DW_AT_decl_file   : 3	
-    <232>   DW_AT_decl_line   : 67	
-    <233>   DW_AT_sibling     : <0x277>	
- <2><237>: Abbrev Number: 8 (DW_TAG_member)
-    <238>   DW_AT_name        : fd	
-    <23b>   DW_AT_decl_file   : 3	
-    <23c>   DW_AT_decl_line   : 68	
-    <23d>   DW_AT_type        : <0xfd>	
-    <241>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><244>: Abbrev Number: 7 (DW_TAG_member)
-    <245>   DW_AT_name        : (indirect string, offset: 0x12d): transid	
-    <249>   DW_AT_decl_file   : 3	
-    <24a>   DW_AT_decl_line   : 69	
-    <24b>   DW_AT_type        : <0x108>	
-    <24f>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><252>: Abbrev Number: 7 (DW_TAG_member)
-    <253>   DW_AT_name        : (indirect string, offset: 0x18a): flags	
-    <257>   DW_AT_decl_file   : 3	
-    <258>   DW_AT_decl_line   : 70	
-    <259>   DW_AT_type        : <0x108>	
-    <25d>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><260>: Abbrev Number: 20 (DW_TAG_member)
-    <261>   DW_AT_type        : <0x201>	
-    <265>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><268>: Abbrev Number: 7 (DW_TAG_member)
-    <269>   DW_AT_name        : (indirect string, offset: 0x25a): name	
-    <26d>   DW_AT_decl_file   : 3	
-    <26e>   DW_AT_decl_line   : 78	
-    <26f>   DW_AT_type        : <0x277>	
-    <273>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><276>: Abbrev Number: 0
- <1><277>: Abbrev Number: 12 (DW_TAG_array_type)
-    <278>   DW_AT_type        : <0x6a>	
-    <27c>   DW_AT_sibling     : <0x288>	
- <2><280>: Abbrev Number: 21 (DW_TAG_subrange_type)
-    <281>   DW_AT_type        : <0x63>	
-    <285>   DW_AT_upper_bound : 4039	
- <2><287>: Abbrev Number: 0
- <1><288>: Abbrev Number: 22 (DW_TAG_enumeration_type)
-    <289>   DW_AT_name        : (indirect string, offset: 0x1a3): btrfs_dev_stat_values	
-    <28d>   DW_AT_byte_size   : 4	
-    <28e>   DW_AT_decl_file   : 3	
-    <28f>   DW_AT_decl_line   : 369	
-    <291>   DW_AT_sibling     : <0x2ba>	
- <2><295>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <296>   DW_AT_name        : (indirect string, offset: 0x51): BTRFS_DEV_STAT_WRITE_ERRS	
-    <29a>   DW_AT_const_value : 0	
- <2><29b>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <29c>   DW_AT_name        : (indirect string, offset: 0x22c): BTRFS_DEV_STAT_READ_ERRS	
-    <2a0>   DW_AT_const_value : 1	
- <2><2a1>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2a2>   DW_AT_name        : (indirect string, offset: 0x212): BTRFS_DEV_STAT_FLUSH_ERRS	
-    <2a6>   DW_AT_const_value : 2	
- <2><2a7>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2a8>   DW_AT_name        : (indirect string, offset: 0x146): BTRFS_DEV_STAT_CORRUPTION_ERRS	
-    <2ac>   DW_AT_const_value : 3	
- <2><2ad>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2ae>   DW_AT_name        : (indirect string, offset: 0x25f): BTRFS_DEV_STAT_GENERATION_ERRS	
-    <2b2>   DW_AT_const_value : 4	
- <2><2b3>: Abbrev Number: 23 (DW_TAG_enumerator)
-    <2b4>   DW_AT_name        : (indirect string, offset: 0x1e): BTRFS_DEV_STAT_VALUES_MAX	
-    <2b8>   DW_AT_const_value : 5	
- <2><2b9>: Abbrev Number: 0
- <1><2ba>: Abbrev Number: 11 (DW_TAG_typedef)
-    <2bb>   DW_AT_name        : (indirect string, offset: 0x30f): struct_btrfs_ioctl_vol_args_v2	
-    <2bf>   DW_AT_decl_file   : 4	
-    <2c0>   DW_AT_decl_line   : 42	
-    <2c1>   DW_AT_type        : <0x22a>	
- <1><2c5>: Abbrev Number: 24 (DW_TAG_variable)
-    <2c6>   DW_AT_name        : (indirect string, offset: 0x10d): current_wordsize	
-    <2ca>   DW_AT_decl_file   : 5	
-    <2cb>   DW_AT_decl_line   : 757	
-    <2cd>   DW_AT_type        : <0x47>	
-    <2d1>   DW_AT_external    : 1	
-    <2d2>   DW_AT_declaration : 1	
- <1><2d3>: Abbrev Number: 24 (DW_TAG_variable)
-    <2d4>   DW_AT_name        : (indirect string, offset: 0xfd): sysent	
-    <2d8>   DW_AT_decl_file   : 5	
-    <2d9>   DW_AT_decl_line   : 892	
-    <2db>   DW_AT_type        : <0xeb>	
-    <2df>   DW_AT_external    : 1	
-    <2e0>   DW_AT_declaration : 1	
- <1><2e1>: Abbrev Number: 24 (DW_TAG_variable)
-    <2e2>   DW_AT_name        : (indirect string, offset: 0x1f2): nsyscalls	
-    <2e6>   DW_AT_decl_file   : 5	
-    <2e7>   DW_AT_decl_line   : 903	
-    <2e9>   DW_AT_type        : <0x47>	
-    <2ed>   DW_AT_external    : 1	
-    <2ee>   DW_AT_declaration : 1	
- <1><2ef>: Abbrev Number: 25 (DW_TAG_variable)
-    <2f0>   DW_AT_name        : (indirect string, offset: 0x135): mpers_target_var	
-    <2f4>   DW_AT_decl_file   : 4	
-    <2f5>   DW_AT_decl_line   : 46	
-    <2f6>   DW_AT_type        : <0x2ba>	
-    <2fa>   DW_AT_external    : 1	
-    <2fb>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><301>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.d2 b/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.d2
deleted file mode 100644
index 1144ada..0000000
--- a/mpers-mx32/struct_btrfs_ioctl_vol_args_v2.d2
+++ /dev/null
@@ -1,410 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x32e): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x287): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa8): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x17d): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x91): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x306): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xeb): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x209): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x19e): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xfd): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29d): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x87): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x33f): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7e): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x190): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x4b): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x348): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x203): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><113>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x38): btrfs_qgroup_limit
-DW_AT_byte_size   : 40
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_sibling     : <0x166>
-<2><11f>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18a): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe2): max_rfer
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><13b>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x165): max_excl
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><149>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x27e): rsv_rfer
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><157>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x104): rsv_excl
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<1><166>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x245): btrfs_qgroup_inherit
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 52
-DW_AT_sibling     : <0x1c7>
-<2><172>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18a): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 53
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><180>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x291): num_qgroups
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><18e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11e): num_ref_copies
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe): num_excl_copies
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : lim
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1b8>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ea): qgroups
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x1c7>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<1><1c7>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x1d6>
-<2><1d0>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-<1><1d6>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 72
-DW_AT_sibling     : <0x1fb>
-<2><1de>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x33a): size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 73
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1ec>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16e): qgroup_inherit
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 74
-DW_AT_type        : <0x1fb>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><1fb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x166>
-<1><201>
-Abbrev Number: 15 (DW_TAG_union_type)
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 71
-DW_AT_sibling     : <0x21a>
-<2><209>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_type        : <0x1d6>
-<2><20e>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fc): unused
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 76
-DW_AT_type        : <0x21a>
-<1><21a>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x22a>
-<2><223>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><22a>
-Abbrev Number: 19 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2ee): btrfs_ioctl_vol_args_v2
-DW_AT_byte_size   : 4096
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 67
-DW_AT_sibling     : <0x277>
-<2><237>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : fd
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 68
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><244>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12d): transid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 69
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><252>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18a): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 70
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><260>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_type        : <0x201>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><268>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25a): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 78
-DW_AT_type        : <0x277>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<1><277>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x288>
-<2><280>
-Abbrev Number: 21 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 4039
-<1><288>
-Abbrev Number: 22 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x1a3): btrfs_dev_stat_values
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 369
-DW_AT_sibling     : <0x2ba>
-<2><295>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x51): BTRFS_DEV_STAT_WRITE_ERRS
-DW_AT_const_value : 0
-<2><29b>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x22c): BTRFS_DEV_STAT_READ_ERRS
-DW_AT_const_value : 1
-<2><2a1>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x212): BTRFS_DEV_STAT_FLUSH_ERRS
-DW_AT_const_value : 2
-<2><2a7>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x146): BTRFS_DEV_STAT_CORRUPTION_ERRS
-DW_AT_const_value : 3
-<2><2ad>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x25f): BTRFS_DEV_STAT_GENERATION_ERRS
-DW_AT_const_value : 4
-<2><2b3>
-Abbrev Number: 23 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1e): BTRFS_DEV_STAT_VALUES_MAX
-DW_AT_const_value : 5
-<1><2ba>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x30f): struct_btrfs_ioctl_vol_args_v2
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x22a>
-<1><2c5>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x10d): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2d3>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xfd): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2e1>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1f2): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2ef>
-Abbrev Number: 25 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x135): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x2ba>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_ff_effect.d1 b/mpers-mx32/struct_ff_effect.d1
deleted file mode 100644
index 73a6ac6..0000000
--- a/mpers-mx32/struct_ff_effect.d1
+++ /dev/null
@@ -1,489 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x446 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x269): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xfa): mpers-mx32/struct_ff_effect.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x363): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1a7): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x33): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0xdb): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x193): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x20f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x339): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x1c4): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x11f): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x2b4): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x3d): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x238): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x31c): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x1a1): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x1f1): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0xb): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x7e): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x2de): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x25d): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x2c6): __s16	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 22	
-    <104>   DW_AT_type        : <0x24>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x263): __u16	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 23	
-    <10f>   DW_AT_type        : <0x40>	
- <1><113>: Abbrev Number: 11 (DW_TAG_typedef)
-    <114>   DW_AT_name        : (indirect string, offset: 0xb8): __u32	
-    <118>   DW_AT_decl_file   : 2	
-    <119>   DW_AT_decl_line   : 26	
-    <11a>   DW_AT_type        : <0x47>	
- <1><11e>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x32f): ff_replay	
-    <123>   DW_AT_byte_size   : 4	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 974	
-    <127>   DW_AT_sibling     : <0x14a>	
- <2><12b>: Abbrev Number: 13 (DW_TAG_member)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x181): length	
-    <130>   DW_AT_decl_file   : 3	
-    <131>   DW_AT_decl_line   : 975	
-    <133>   DW_AT_type        : <0x108>	
-    <137>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><13a>: Abbrev Number: 13 (DW_TAG_member)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x87): delay	
-    <13f>   DW_AT_decl_file   : 3	
-    <140>   DW_AT_decl_line   : 976	
-    <142>   DW_AT_type        : <0x108>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><149>: Abbrev Number: 0
- <1><14a>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x8d): ff_trigger	
-    <14f>   DW_AT_byte_size   : 4	
-    <150>   DW_AT_decl_file   : 3	
-    <151>   DW_AT_decl_line   : 984	
-    <153>   DW_AT_sibling     : <0x176>	
- <2><157>: Abbrev Number: 13 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x14c): button	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 985	
-    <15f>   DW_AT_type        : <0x108>	
-    <163>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><166>: Abbrev Number: 13 (DW_TAG_member)
-    <167>   DW_AT_name        : (indirect string, offset: 0x2d5): interval	
-    <16b>   DW_AT_decl_file   : 3	
-    <16c>   DW_AT_decl_line   : 986	
-    <16e>   DW_AT_type        : <0x108>	
-    <172>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><175>: Abbrev Number: 0
- <1><176>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <177>   DW_AT_name        : (indirect string, offset: 0x22c): ff_envelope	
-    <17b>   DW_AT_byte_size   : 8	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 1001	
-    <17f>   DW_AT_sibling     : <0x1c0>	
- <2><183>: Abbrev Number: 13 (DW_TAG_member)
-    <184>   DW_AT_name        : (indirect string, offset: 0xbe): attack_length	
-    <188>   DW_AT_decl_file   : 3	
-    <189>   DW_AT_decl_line   : 1002	
-    <18b>   DW_AT_type        : <0x108>	
-    <18f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><192>: Abbrev Number: 13 (DW_TAG_member)
-    <193>   DW_AT_name        : (indirect string, offset: 0x98): attack_level	
-    <197>   DW_AT_decl_file   : 3	
-    <198>   DW_AT_decl_line   : 1003	
-    <19a>   DW_AT_type        : <0x108>	
-    <19e>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><1a1>: Abbrev Number: 13 (DW_TAG_member)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0xac): fade_length	
-    <1a6>   DW_AT_decl_file   : 3	
-    <1a7>   DW_AT_decl_line   : 1004	
-    <1a9>   DW_AT_type        : <0x108>	
-    <1ad>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1b0>: Abbrev Number: 13 (DW_TAG_member)
-    <1b1>   DW_AT_name        : (indirect string, offset: 0x188): fade_level	
-    <1b5>   DW_AT_decl_file   : 3	
-    <1b6>   DW_AT_decl_line   : 1005	
-    <1b8>   DW_AT_type        : <0x108>	
-    <1bc>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><1bf>: Abbrev Number: 0
- <1><1c0>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <1c1>   DW_AT_name        : (indirect string, offset: 0x15a): ff_constant_effect	
-    <1c5>   DW_AT_byte_size   : 10	
-    <1c6>   DW_AT_decl_file   : 3	
-    <1c7>   DW_AT_decl_line   : 1013	
-    <1c9>   DW_AT_sibling     : <0x1ec>	
- <2><1cd>: Abbrev Number: 13 (DW_TAG_member)
-    <1ce>   DW_AT_name        : (indirect string, offset: 0x2ec): level	
-    <1d2>   DW_AT_decl_file   : 3	
-    <1d3>   DW_AT_decl_line   : 1014	
-    <1d5>   DW_AT_type        : <0xfd>	
-    <1d9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1dc>: Abbrev Number: 13 (DW_TAG_member)
-    <1dd>   DW_AT_name        : (indirect string, offset: 0x313): envelope	
-    <1e1>   DW_AT_decl_file   : 3	
-    <1e2>   DW_AT_decl_line   : 1015	
-    <1e4>   DW_AT_type        : <0x176>	
-    <1e8>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><1eb>: Abbrev Number: 0
- <1><1ec>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <1ed>   DW_AT_name        : (indirect string, offset: 0xcc): ff_ramp_effect	
-    <1f1>   DW_AT_byte_size   : 12	
-    <1f2>   DW_AT_decl_file   : 3	
-    <1f3>   DW_AT_decl_line   : 1024	
-    <1f5>   DW_AT_sibling     : <0x227>	
- <2><1f9>: Abbrev Number: 13 (DW_TAG_member)
-    <1fa>   DW_AT_name        : (indirect string, offset: 0x128): start_level	
-    <1fe>   DW_AT_decl_file   : 3	
-    <1ff>   DW_AT_decl_line   : 1025	
-    <201>   DW_AT_type        : <0xfd>	
-    <205>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><208>: Abbrev Number: 13 (DW_TAG_member)
-    <209>   DW_AT_name        : (indirect string, offset: 0x177): end_level	
-    <20d>   DW_AT_decl_file   : 3	
-    <20e>   DW_AT_decl_line   : 1026	
-    <210>   DW_AT_type        : <0xfd>	
-    <214>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><217>: Abbrev Number: 13 (DW_TAG_member)
-    <218>   DW_AT_name        : (indirect string, offset: 0x313): envelope	
-    <21c>   DW_AT_decl_file   : 3	
-    <21d>   DW_AT_decl_line   : 1027	
-    <21f>   DW_AT_type        : <0x176>	
-    <223>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><226>: Abbrev Number: 0
- <1><227>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <228>   DW_AT_name        : (indirect string, offset: 0x4f): ff_condition_effect	
-    <22c>   DW_AT_byte_size   : 12	
-    <22d>   DW_AT_decl_file   : 3	
-    <22e>   DW_AT_decl_line   : 1040	
-    <230>   DW_AT_sibling     : <0x28f>	
- <2><234>: Abbrev Number: 13 (DW_TAG_member)
-    <235>   DW_AT_name        : (indirect string, offset: 0x2f2): right_saturation	
-    <239>   DW_AT_decl_file   : 3	
-    <23a>   DW_AT_decl_line   : 1041	
-    <23c>   DW_AT_type        : <0x108>	
-    <240>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><243>: Abbrev Number: 13 (DW_TAG_member)
-    <244>   DW_AT_name        : (indirect string, offset: 0x303): left_saturation	
-    <248>   DW_AT_decl_file   : 3	
-    <249>   DW_AT_decl_line   : 1042	
-    <24b>   DW_AT_type        : <0x108>	
-    <24f>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><252>: Abbrev Number: 13 (DW_TAG_member)
-    <253>   DW_AT_name        : (indirect string, offset: 0x346): right_coeff	
-    <257>   DW_AT_decl_file   : 3	
-    <258>   DW_AT_decl_line   : 1044	
-    <25a>   DW_AT_type        : <0xfd>	
-    <25e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><261>: Abbrev Number: 13 (DW_TAG_member)
-    <262>   DW_AT_name        : (indirect string, offset: 0x0): left_coeff	
-    <266>   DW_AT_decl_file   : 3	
-    <267>   DW_AT_decl_line   : 1045	
-    <269>   DW_AT_type        : <0xfd>	
-    <26d>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><270>: Abbrev Number: 13 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x394): deadband	
-    <275>   DW_AT_decl_file   : 3	
-    <276>   DW_AT_decl_line   : 1047	
-    <278>   DW_AT_type        : <0x108>	
-    <27c>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><27f>: Abbrev Number: 13 (DW_TAG_member)
-    <280>   DW_AT_name        : (indirect string, offset: 0x19): center	
-    <284>   DW_AT_decl_file   : 3	
-    <285>   DW_AT_decl_line   : 1048	
-    <287>   DW_AT_type        : <0xfd>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><28e>: Abbrev Number: 0
- <1><28f>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <290>   DW_AT_name        : (indirect string, offset: 0x20): ff_periodic_effect	
-    <294>   DW_AT_byte_size   : 28	
-    <295>   DW_AT_decl_file   : 3	
-    <296>   DW_AT_decl_line   : 1069	
-    <298>   DW_AT_sibling     : <0x315>	
- <2><29c>: Abbrev Number: 13 (DW_TAG_member)
-    <29d>   DW_AT_name        : (indirect string, offset: 0x2cc): waveform	
-    <2a1>   DW_AT_decl_file   : 3	
-    <2a2>   DW_AT_decl_line   : 1070	
-    <2a4>   DW_AT_type        : <0x108>	
-    <2a8>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2ab>: Abbrev Number: 13 (DW_TAG_member)
-    <2ac>   DW_AT_name        : (indirect string, offset: 0x153): period	
-    <2b0>   DW_AT_decl_file   : 3	
-    <2b1>   DW_AT_decl_line   : 1071	
-    <2b3>   DW_AT_type        : <0x108>	
-    <2b7>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><2ba>: Abbrev Number: 13 (DW_TAG_member)
-    <2bb>   DW_AT_name        : (indirect string, offset: 0x16d): magnitude	
-    <2bf>   DW_AT_decl_file   : 3	
-    <2c0>   DW_AT_decl_line   : 1072	
-    <2c2>   DW_AT_type        : <0xfd>	
-    <2c6>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2c9>: Abbrev Number: 13 (DW_TAG_member)
-    <2ca>   DW_AT_name        : (indirect string, offset: 0x145): offset	
-    <2ce>   DW_AT_decl_file   : 3	
-    <2cf>   DW_AT_decl_line   : 1073	
-    <2d1>   DW_AT_type        : <0xfd>	
-    <2d5>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><2d8>: Abbrev Number: 13 (DW_TAG_member)
-    <2d9>   DW_AT_name        : (indirect string, offset: 0x6e): phase	
-    <2dd>   DW_AT_decl_file   : 3	
-    <2de>   DW_AT_decl_line   : 1074	
-    <2e0>   DW_AT_type        : <0x108>	
-    <2e4>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><2e7>: Abbrev Number: 13 (DW_TAG_member)
-    <2e8>   DW_AT_name        : (indirect string, offset: 0x313): envelope	
-    <2ec>   DW_AT_decl_file   : 3	
-    <2ed>   DW_AT_decl_line   : 1076	
-    <2ef>   DW_AT_type        : <0x176>	
-    <2f3>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><2f6>: Abbrev Number: 13 (DW_TAG_member)
-    <2f7>   DW_AT_name        : (indirect string, offset: 0x63): custom_len	
-    <2fb>   DW_AT_decl_file   : 3	
-    <2fc>   DW_AT_decl_line   : 1078	
-    <2fe>   DW_AT_type        : <0x113>	
-    <302>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><305>: Abbrev Number: 13 (DW_TAG_member)
-    <306>   DW_AT_name        : (indirect string, offset: 0x323): custom_data	
-    <30a>   DW_AT_decl_file   : 3	
-    <30b>   DW_AT_decl_line   : 1079	
-    <30d>   DW_AT_type        : <0x315>	
-    <311>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><314>: Abbrev Number: 0
- <1><315>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <316>   DW_AT_byte_size   : 4	
-    <317>   DW_AT_type        : <0xfd>	
- <1><31b>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <31c>   DW_AT_name        : (indirect string, offset: 0x1e0): ff_rumble_effect	
-    <320>   DW_AT_byte_size   : 4	
-    <321>   DW_AT_decl_file   : 3	
-    <322>   DW_AT_decl_line   : 1090	
-    <324>   DW_AT_sibling     : <0x347>	
- <2><328>: Abbrev Number: 13 (DW_TAG_member)
-    <329>   DW_AT_name        : (indirect string, offset: 0xe9): strong_magnitude	
-    <32d>   DW_AT_decl_file   : 3	
-    <32e>   DW_AT_decl_line   : 1091	
-    <330>   DW_AT_type        : <0x108>	
-    <334>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><337>: Abbrev Number: 13 (DW_TAG_member)
-    <338>   DW_AT_name        : (indirect string, offset: 0x246): weak_magnitude	
-    <33c>   DW_AT_decl_file   : 3	
-    <33d>   DW_AT_decl_line   : 1092	
-    <33f>   DW_AT_type        : <0x108>	
-    <343>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><346>: Abbrev Number: 0
- <1><347>: Abbrev Number: 14 (DW_TAG_union_type)
-    <348>   DW_AT_byte_size   : 28	
-    <349>   DW_AT_decl_file   : 3	
-    <34a>   DW_AT_decl_line   : 1125	
-    <34c>   DW_AT_sibling     : <0x38d>	
- <2><350>: Abbrev Number: 15 (DW_TAG_member)
-    <351>   DW_AT_name        : (indirect string, offset: 0x23d): constant	
-    <355>   DW_AT_decl_file   : 3	
-    <356>   DW_AT_decl_line   : 1126	
-    <358>   DW_AT_type        : <0x1c0>	
- <2><35c>: Abbrev Number: 15 (DW_TAG_member)
-    <35d>   DW_AT_name        : (indirect string, offset: 0x14): ramp	
-    <361>   DW_AT_decl_file   : 3	
-    <362>   DW_AT_decl_line   : 1127	
-    <364>   DW_AT_type        : <0x1ec>	
- <2><368>: Abbrev Number: 15 (DW_TAG_member)
-    <369>   DW_AT_name        : (indirect string, offset: 0x46): periodic	
-    <36d>   DW_AT_decl_file   : 3	
-    <36e>   DW_AT_decl_line   : 1128	
-    <370>   DW_AT_type        : <0x28f>	
- <2><374>: Abbrev Number: 15 (DW_TAG_member)
-    <375>   DW_AT_name        : (indirect string, offset: 0x222): condition	
-    <379>   DW_AT_decl_file   : 3	
-    <37a>   DW_AT_decl_line   : 1129	
-    <37c>   DW_AT_type        : <0x38d>	
- <2><380>: Abbrev Number: 15 (DW_TAG_member)
-    <381>   DW_AT_name        : (indirect string, offset: 0xa5): rumble	
-    <385>   DW_AT_decl_file   : 3	
-    <386>   DW_AT_decl_line   : 1130	
-    <388>   DW_AT_type        : <0x31b>	
- <2><38c>: Abbrev Number: 0
- <1><38d>: Abbrev Number: 16 (DW_TAG_array_type)
-    <38e>   DW_AT_type        : <0x227>	
-    <392>   DW_AT_sibling     : <0x39d>	
- <2><396>: Abbrev Number: 17 (DW_TAG_subrange_type)
-    <397>   DW_AT_type        : <0x63>	
-    <39b>   DW_AT_upper_bound : 1	
- <2><39c>: Abbrev Number: 0
- <1><39d>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <39e>   DW_AT_name        : (indirect string, offset: 0x1fb): ff_effect	
-    <3a2>   DW_AT_byte_size   : 44	
-    <3a3>   DW_AT_decl_file   : 3	
-    <3a4>   DW_AT_decl_line   : 1118	
-    <3a6>   DW_AT_sibling     : <0x402>	
- <2><3aa>: Abbrev Number: 13 (DW_TAG_member)
-    <3ab>   DW_AT_name        : (indirect string, offset: 0x1db): type	
-    <3af>   DW_AT_decl_file   : 3	
-    <3b0>   DW_AT_decl_line   : 1119	
-    <3b2>   DW_AT_type        : <0x108>	
-    <3b6>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><3b9>: Abbrev Number: 18 (DW_TAG_member)
-    <3ba>   DW_AT_name        : id	
-    <3bd>   DW_AT_decl_file   : 3	
-    <3be>   DW_AT_decl_line   : 1120	
-    <3c0>   DW_AT_type        : <0xfd>	
-    <3c4>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><3c7>: Abbrev Number: 13 (DW_TAG_member)
-    <3c8>   DW_AT_name        : (indirect string, offset: 0x74): direction	
-    <3cc>   DW_AT_decl_file   : 3	
-    <3cd>   DW_AT_decl_line   : 1121	
-    <3cf>   DW_AT_type        : <0x108>	
-    <3d3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3d6>: Abbrev Number: 13 (DW_TAG_member)
-    <3d7>   DW_AT_name        : (indirect string, offset: 0x255): trigger	
-    <3db>   DW_AT_decl_file   : 3	
-    <3dc>   DW_AT_decl_line   : 1122	
-    <3de>   DW_AT_type        : <0x14a>	
-    <3e2>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><3e5>: Abbrev Number: 13 (DW_TAG_member)
-    <3e6>   DW_AT_name        : (indirect string, offset: 0x118): replay	
-    <3ea>   DW_AT_decl_file   : 3	
-    <3eb>   DW_AT_decl_line   : 1123	
-    <3ed>   DW_AT_type        : <0x11e>	
-    <3f1>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><3f4>: Abbrev Number: 18 (DW_TAG_member)
-    <3f5>   DW_AT_name        : u	
-    <3f7>   DW_AT_decl_file   : 3	
-    <3f8>   DW_AT_decl_line   : 1131	
-    <3fa>   DW_AT_type        : <0x347>	
-    <3fe>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><401>: Abbrev Number: 0
- <1><402>: Abbrev Number: 11 (DW_TAG_typedef)
-    <403>   DW_AT_name        : (indirect string, offset: 0x352): struct_ff_effect	
-    <407>   DW_AT_decl_file   : 4	
-    <408>   DW_AT_decl_line   : 37	
-    <409>   DW_AT_type        : <0x39d>	
- <1><40d>: Abbrev Number: 19 (DW_TAG_variable)
-    <40e>   DW_AT_name        : (indirect string, offset: 0x1b3): current_wordsize	
-    <412>   DW_AT_decl_file   : 5	
-    <413>   DW_AT_decl_line   : 757	
-    <415>   DW_AT_type        : <0x47>	
-    <419>   DW_AT_external    : 1	
-    <41a>   DW_AT_declaration : 1	
- <1><41b>: Abbrev Number: 19 (DW_TAG_variable)
-    <41c>   DW_AT_name        : (indirect string, offset: 0x31c): sysent	
-    <420>   DW_AT_decl_file   : 5	
-    <421>   DW_AT_decl_line   : 892	
-    <423>   DW_AT_type        : <0xeb>	
-    <427>   DW_AT_external    : 1	
-    <428>   DW_AT_declaration : 1	
- <1><429>: Abbrev Number: 19 (DW_TAG_variable)
-    <42a>   DW_AT_name        : (indirect string, offset: 0x205): nsyscalls	
-    <42e>   DW_AT_decl_file   : 5	
-    <42f>   DW_AT_decl_line   : 903	
-    <431>   DW_AT_type        : <0x47>	
-    <435>   DW_AT_external    : 1	
-    <436>   DW_AT_declaration : 1	
- <1><437>: Abbrev Number: 20 (DW_TAG_variable)
-    <438>   DW_AT_name        : (indirect string, offset: 0x134): mpers_target_var	
-    <43c>   DW_AT_decl_file   : 4	
-    <43d>   DW_AT_decl_line   : 41	
-    <43e>   DW_AT_type        : <0x402>	
-    <442>   DW_AT_external    : 1	
-    <443>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><449>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_ff_effect.d2 b/mpers-mx32/struct_ff_effect.d2
deleted file mode 100644
index 2f7d8a4..0000000
--- a/mpers-mx32/struct_ff_effect.d2
+++ /dev/null
@@ -1,549 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a7): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x33): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xdb): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x193): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x20f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x339): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c4): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x11f): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2b4): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x3d): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x238): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x31c): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a1): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f1): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7e): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2de): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x25d): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2c6): __s16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 22
-DW_AT_type        : <0x24>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x263): __u16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><113>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xb8): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><11e>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x32f): ff_replay
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 974
-DW_AT_sibling     : <0x14a>
-<2><12b>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x181): length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 975
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><13a>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x87): delay
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 976
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><14a>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x8d): ff_trigger
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 984
-DW_AT_sibling     : <0x176>
-<2><157>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14c): button
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 985
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><166>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d5): interval
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 986
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><176>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x22c): ff_envelope
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1001
-DW_AT_sibling     : <0x1c0>
-<2><183>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbe): attack_length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1002
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><192>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x98): attack_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1003
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><1a1>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xac): fade_length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1004
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1b0>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x188): fade_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1005
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<1><1c0>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x15a): ff_constant_effect
-DW_AT_byte_size   : 10
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1013
-DW_AT_sibling     : <0x1ec>
-<2><1cd>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ec): level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1014
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1dc>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x313): envelope
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1015
-DW_AT_type        : <0x176>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><1ec>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xcc): ff_ramp_effect
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1024
-DW_AT_sibling     : <0x227>
-<2><1f9>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x128): start_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1025
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><208>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x177): end_level
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1026
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><217>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x313): envelope
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1027
-DW_AT_type        : <0x176>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><227>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x4f): ff_condition_effect
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1040
-DW_AT_sibling     : <0x28f>
-<2><234>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2f2): right_saturation
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1041
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><243>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x303): left_saturation
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1042
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><252>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x346): right_coeff
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1044
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><261>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): left_coeff
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1045
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><270>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x394): deadband
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1047
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><27f>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19): center
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1048
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<1><28f>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x20): ff_periodic_effect
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1069
-DW_AT_sibling     : <0x315>
-<2><29c>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2cc): waveform
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1070
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2ab>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x153): period
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1071
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><2ba>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16d): magnitude
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1072
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><2c9>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x145): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1073
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><2d8>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6e): phase
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1074
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><2e7>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x313): envelope
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1076
-DW_AT_type        : <0x176>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><2f6>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x63): custom_len
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1078
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><305>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x323): custom_data
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1079
-DW_AT_type        : <0x315>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><315>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfd>
-<1><31b>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1e0): ff_rumble_effect
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1090
-DW_AT_sibling     : <0x347>
-<2><328>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe9): strong_magnitude
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1091
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><337>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x246): weak_magnitude
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1092
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><347>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1125
-DW_AT_sibling     : <0x38d>
-<2><350>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23d): constant
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1126
-DW_AT_type        : <0x1c0>
-<2><35c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14): ramp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1127
-DW_AT_type        : <0x1ec>
-<2><368>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x46): periodic
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1128
-DW_AT_type        : <0x28f>
-<2><374>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x222): condition
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1129
-DW_AT_type        : <0x38d>
-<2><380>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa5): rumble
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1130
-DW_AT_type        : <0x31b>
-<1><38d>
-Abbrev Number: 16 (DW_TAG_array_type)
-DW_AT_type        : <0x227>
-DW_AT_sibling     : <0x39d>
-<2><396>
-Abbrev Number: 17 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><39d>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1fb): ff_effect
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1118
-DW_AT_sibling     : <0x402>
-<2><3aa>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1db): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1119
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><3b9>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1120
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><3c7>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x74): direction
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1121
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3d6>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x255): trigger
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1122
-DW_AT_type        : <0x14a>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<2><3e5>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x118): replay
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1123
-DW_AT_type        : <0x11e>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><3f4>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : u
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1131
-DW_AT_type        : <0x347>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><402>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x352): struct_ff_effect
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x39d>
-<1><40d>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b3): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><41b>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x31c): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><429>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x205): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><437>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x134): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x402>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_flock.c b/mpers-mx32/struct_flock.c
index 4859b6e..5aa82c9 100644
--- a/mpers-mx32/struct_flock.c
+++ b/mpers-mx32/struct_flock.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_flock.d1 b/mpers-mx32/struct_flock.d1
deleted file mode 100644
index f265939..0000000
--- a/mpers-mx32/struct_flock.d1
+++ /dev/null
@@ -1,217 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1c0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x3a): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x148): mpers-mx32/struct_flock.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x162): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ef): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1c6): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1a6): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd8): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x85): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x12d): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xc1): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1d0): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xe6): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x19d): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x1b4): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x98): __kernel_long_t	
-    <81>   DW_AT_decl_file   : 1	
-    <82>   DW_AT_decl_line   : 13	
-    <83>   DW_AT_type        : <0x32>	
- <1><87>: Abbrev Number: 6 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x17): __kernel_pid_t	
-    <8c>   DW_AT_decl_file   : 2	
-    <8d>   DW_AT_decl_line   : 27	
-    <8e>   DW_AT_type        : <0x2b>	
- <1><92>: Abbrev Number: 6 (DW_TAG_typedef)
-    <93>   DW_AT_name        : (indirect string, offset: 0x1e0): __kernel_off_t	
-    <97>   DW_AT_decl_file   : 2	
-    <98>   DW_AT_decl_line   : 86	
-    <99>   DW_AT_type        : <0x7c>	
- <1><9d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <9e>   DW_AT_name        : (indirect string, offset: 0xf8): sysent	
-    <a2>   DW_AT_byte_size   : 20	
-    <a3>   DW_AT_decl_file   : 3	
-    <a4>   DW_AT_decl_line   : 4	
-    <a5>   DW_AT_sibling     : <0xf0>	
- <2><a9>: Abbrev Number: 8 (DW_TAG_member)
-    <aa>   DW_AT_name        : (indirect string, offset: 0x116): nargs	
-    <ae>   DW_AT_decl_file   : 3	
-    <af>   DW_AT_decl_line   : 5	
-    <b0>   DW_AT_type        : <0x47>	
-    <b4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b7>: Abbrev Number: 8 (DW_TAG_member)
-    <b8>   DW_AT_name        : (indirect string, offset: 0xb7): sys_flags	
-    <bc>   DW_AT_decl_file   : 3	
-    <bd>   DW_AT_decl_line   : 6	
-    <be>   DW_AT_type        : <0x2b>	
-    <c2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c5>: Abbrev Number: 9 (DW_TAG_member)
-    <c6>   DW_AT_name        : sen	
-    <ca>   DW_AT_decl_file   : 3	
-    <cb>   DW_AT_decl_line   : 7	
-    <cc>   DW_AT_type        : <0x2b>	
-    <d0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d3>: Abbrev Number: 8 (DW_TAG_member)
-    <d4>   DW_AT_name        : (indirect string, offset: 0x1fb): sys_func	
-    <d8>   DW_AT_decl_file   : 3	
-    <d9>   DW_AT_decl_line   : 8	
-    <da>   DW_AT_type        : <0xfb>	
-    <de>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e1>: Abbrev Number: 8 (DW_TAG_member)
-    <e2>   DW_AT_name        : (indirect string, offset: 0xa8): sys_name	
-    <e6>   DW_AT_decl_file   : 3	
-    <e7>   DW_AT_decl_line   : 9	
-    <e8>   DW_AT_type        : <0x71>	
-    <ec>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <f1>   DW_AT_type        : <0x2b>	
-    <f5>   DW_AT_sibling     : <0xfb>	
- <2><f9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><fa>: Abbrev Number: 0
- <1><fb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <fc>   DW_AT_byte_size   : 4	
-    <fd>   DW_AT_type        : <0xf0>	
- <1><101>: Abbrev Number: 6 (DW_TAG_typedef)
-    <102>   DW_AT_name        : (indirect string, offset: 0x13a): struct_sysent	
-    <106>   DW_AT_decl_file   : 3	
-    <107>   DW_AT_decl_line   : 10	
-    <108>   DW_AT_type        : <0x9d>	
- <1><10c>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x112>	
- <1><112>: Abbrev Number: 5 (DW_TAG_const_type)
-    <113>   DW_AT_type        : <0x101>	
- <1><117>: Abbrev Number: 2 (DW_TAG_base_type)
-    <118>   DW_AT_byte_size   : 1	
-    <119>   DW_AT_encoding    : 2	(boolean)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x11): _Bool	
- <1><11e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0xb1): flock	
-    <123>   DW_AT_byte_size   : 32	
-    <124>   DW_AT_decl_file   : 4	
-    <125>   DW_AT_decl_line   : 179	
-    <126>   DW_AT_sibling     : <0x171>	
- <2><12a>: Abbrev Number: 8 (DW_TAG_member)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x1d9): l_type	
-    <12f>   DW_AT_decl_file   : 4	
-    <130>   DW_AT_decl_line   : 180	
-    <131>   DW_AT_type        : <0x24>	
-    <135>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><138>: Abbrev Number: 8 (DW_TAG_member)
-    <139>   DW_AT_name        : (indirect string, offset: 0x0): l_whence	
-    <13d>   DW_AT_decl_file   : 4	
-    <13e>   DW_AT_decl_line   : 181	
-    <13f>   DW_AT_type        : <0x24>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><146>: Abbrev Number: 8 (DW_TAG_member)
-    <147>   DW_AT_name        : (indirect string, offset: 0x9): l_start	
-    <14b>   DW_AT_decl_file   : 4	
-    <14c>   DW_AT_decl_line   : 182	
-    <14d>   DW_AT_type        : <0x92>	
-    <151>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><154>: Abbrev Number: 8 (DW_TAG_member)
-    <155>   DW_AT_name        : (indirect string, offset: 0x204): l_len	
-    <159>   DW_AT_decl_file   : 4	
-    <15a>   DW_AT_decl_line   : 183	
-    <15b>   DW_AT_type        : <0x92>	
-    <15f>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><162>: Abbrev Number: 8 (DW_TAG_member)
-    <163>   DW_AT_name        : (indirect string, offset: 0xff): l_pid	
-    <167>   DW_AT_decl_file   : 4	
-    <168>   DW_AT_decl_line   : 184	
-    <169>   DW_AT_type        : <0x87>	
-    <16d>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><170>: Abbrev Number: 0
- <1><171>: Abbrev Number: 6 (DW_TAG_typedef)
-    <172>   DW_AT_name        : (indirect string, offset: 0x26): struct_kernel_flock	
-    <176>   DW_AT_decl_file   : 5	
-    <177>   DW_AT_decl_line   : 34	
-    <178>   DW_AT_type        : <0x11e>	
- <1><17c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <17d>   DW_AT_name        : (indirect string, offset: 0x1b9): struct_flock	
-    <181>   DW_AT_decl_file   : 6	
-    <182>   DW_AT_decl_line   : 32	
-    <183>   DW_AT_type        : <0x171>	
- <1><187>: Abbrev Number: 12 (DW_TAG_variable)
-    <188>   DW_AT_name        : (indirect string, offset: 0x105): current_wordsize	
-    <18c>   DW_AT_decl_file   : 7	
-    <18d>   DW_AT_decl_line   : 757	
-    <18f>   DW_AT_type        : <0x47>	
-    <193>   DW_AT_external    : 1	
-    <194>   DW_AT_declaration : 1	
- <1><195>: Abbrev Number: 12 (DW_TAG_variable)
-    <196>   DW_AT_name        : (indirect string, offset: 0xf8): sysent	
-    <19a>   DW_AT_decl_file   : 7	
-    <19b>   DW_AT_decl_line   : 892	
-    <19d>   DW_AT_type        : <0x10c>	
-    <1a1>   DW_AT_external    : 1	
-    <1a2>   DW_AT_declaration : 1	
- <1><1a3>: Abbrev Number: 12 (DW_TAG_variable)
-    <1a4>   DW_AT_name        : (indirect string, offset: 0x193): nsyscalls	
-    <1a8>   DW_AT_decl_file   : 7	
-    <1a9>   DW_AT_decl_line   : 903	
-    <1ab>   DW_AT_type        : <0x47>	
-    <1af>   DW_AT_external    : 1	
-    <1b0>   DW_AT_declaration : 1	
- <1><1b1>: Abbrev Number: 13 (DW_TAG_variable)
-    <1b2>   DW_AT_name        : (indirect string, offset: 0x11c): mpers_target_var	
-    <1b6>   DW_AT_decl_file   : 6	
-    <1b7>   DW_AT_decl_line   : 35	
-    <1b8>   DW_AT_type        : <0x17c>	
-    <1bc>   DW_AT_external    : 1	
-    <1bd>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1c3>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_flock.d2 b/mpers-mx32/struct_flock.d2
deleted file mode 100644
index b72ffaf..0000000
--- a/mpers-mx32/struct_flock.d2
+++ /dev/null
@@ -1,241 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ef): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c6): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a6): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd8): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x85): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12d): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc1): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d0): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe6): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x19d): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b4): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x98): __kernel_long_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 13
-DW_AT_type        : <0x32>
-<1><87>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17): __kernel_pid_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x2b>
-<1><92>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1e0): __kernel_off_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 86
-DW_AT_type        : <0x7c>
-<1><9d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf8): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf0>
-<2><a9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x116): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb7): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fb): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa8): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfb>
-<2><f9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><fb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf0>
-<1><101>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x13a): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x9d>
-<1><10c>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x112>
-<1><112>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x101>
-<1><117>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x11): _Bool
-<1><11e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xb1): flock
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 179
-DW_AT_sibling     : <0x171>
-<2><12a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d9): l_type
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 180
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><138>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): l_whence
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 181
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><146>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): l_start
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 182
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><154>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x204): l_len
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><162>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xff): l_pid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 184
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><171>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x26): struct_kernel_flock
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x11e>
-<1><17c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b9): struct_flock
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x171>
-<1><187>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x105): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><195>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf8): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10c>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a3>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x193): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1b1>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11c): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x17c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_flock64.c b/mpers-mx32/struct_flock64.c
index 75f6189..3535de1 100644
--- a/mpers-mx32/struct_flock64.c
+++ b/mpers-mx32/struct_flock64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_flock64.d1 b/mpers-mx32/struct_flock64.d1
deleted file mode 100644
index c535f7d..0000000
--- a/mpers-mx32/struct_flock64.d1
+++ /dev/null
@@ -1,212 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1b5 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x26): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1b2): mpers-mx32/struct_flock64.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x14a): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e8): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1ce): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x18e): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xcd): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x71): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x12a): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xb6): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1d8): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xdb): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x185): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x145): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x17): __kernel_pid_t	
-    <81>   DW_AT_decl_file   : 1	
-    <82>   DW_AT_decl_line   : 27	
-    <83>   DW_AT_type        : <0x2b>	
- <1><87>: Abbrev Number: 6 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x84): __kernel_loff_t	
-    <8c>   DW_AT_decl_file   : 1	
-    <8d>   DW_AT_decl_line   : 87	
-    <8e>   DW_AT_type        : <0x32>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0xed): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x113): nargs	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0xac): sys_flags	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 2	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x1f4): sys_func	
-    <cd>   DW_AT_decl_file   : 2	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0xa3): sys_name	
-    <db>   DW_AT_decl_file   : 2	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x71>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 6 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0x137): struct_sysent	
-    <fb>   DW_AT_decl_file   : 2	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 5 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x11): _Bool	
- <1><113>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0xfa): flock64	
-    <118>   DW_AT_byte_size   : 32	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 196	
-    <11b>   DW_AT_sibling     : <0x166>	
- <2><11f>: Abbrev Number: 8 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0x1e1): l_type	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 197	
-    <126>   DW_AT_type        : <0x24>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 8 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x0): l_whence	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 198	
-    <134>   DW_AT_type        : <0x24>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><13b>: Abbrev Number: 8 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x9): l_start	
-    <140>   DW_AT_decl_file   : 3	
-    <141>   DW_AT_decl_line   : 199	
-    <142>   DW_AT_type        : <0x87>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><149>: Abbrev Number: 8 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x1fd): l_len	
-    <14e>   DW_AT_decl_file   : 3	
-    <14f>   DW_AT_decl_line   : 200	
-    <150>   DW_AT_type        : <0x87>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><157>: Abbrev Number: 8 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0xf4): l_pid	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 201	
-    <15e>   DW_AT_type        : <0x7c>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><165>: Abbrev Number: 0
- <1><166>: Abbrev Number: 6 (DW_TAG_typedef)
-    <167>   DW_AT_name        : (indirect string, offset: 0x19c): struct_kernel_flock64	
-    <16b>   DW_AT_decl_file   : 4	
-    <16c>   DW_AT_decl_line   : 42	
-    <16d>   DW_AT_type        : <0x113>	
- <1><171>: Abbrev Number: 6 (DW_TAG_typedef)
-    <172>   DW_AT_name        : (indirect string, offset: 0x94): struct_flock64	
-    <176>   DW_AT_decl_file   : 5	
-    <177>   DW_AT_decl_line   : 33	
-    <178>   DW_AT_type        : <0x166>	
- <1><17c>: Abbrev Number: 12 (DW_TAG_variable)
-    <17d>   DW_AT_name        : (indirect string, offset: 0x102): current_wordsize	
-    <181>   DW_AT_decl_file   : 6	
-    <182>   DW_AT_decl_line   : 757	
-    <184>   DW_AT_type        : <0x47>	
-    <188>   DW_AT_external    : 1	
-    <189>   DW_AT_declaration : 1	
- <1><18a>: Abbrev Number: 12 (DW_TAG_variable)
-    <18b>   DW_AT_name        : (indirect string, offset: 0xed): sysent	
-    <18f>   DW_AT_decl_file   : 6	
-    <190>   DW_AT_decl_line   : 892	
-    <192>   DW_AT_type        : <0x101>	
-    <196>   DW_AT_external    : 1	
-    <197>   DW_AT_declaration : 1	
- <1><198>: Abbrev Number: 12 (DW_TAG_variable)
-    <199>   DW_AT_name        : (indirect string, offset: 0x17b): nsyscalls	
-    <19d>   DW_AT_decl_file   : 6	
-    <19e>   DW_AT_decl_line   : 903	
-    <1a0>   DW_AT_type        : <0x47>	
-    <1a4>   DW_AT_external    : 1	
-    <1a5>   DW_AT_declaration : 1	
- <1><1a6>: Abbrev Number: 13 (DW_TAG_variable)
-    <1a7>   DW_AT_name        : (indirect string, offset: 0x119): mpers_target_var	
-    <1ab>   DW_AT_decl_file   : 5	
-    <1ac>   DW_AT_decl_line   : 35	
-    <1ad>   DW_AT_type        : <0x171>	
-    <1b1>   DW_AT_external    : 1	
-    <1b2>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1b8>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_flock64.d2 b/mpers-mx32/struct_flock64.d2
deleted file mode 100644
index 9b1eb39..0000000
--- a/mpers-mx32/struct_flock64.d2
+++ /dev/null
@@ -1,235 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e8): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ce): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18e): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xcd): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x71): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12a): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb6): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d8): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xdb): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x185): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x145): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17): __kernel_pid_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x2b>
-<1><87>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x84): __kernel_loff_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 87
-DW_AT_type        : <0x32>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xed): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x113): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xac): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f4): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa3): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x137): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x11): _Bool
-<1><113>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xfa): flock64
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 196
-DW_AT_sibling     : <0x166>
-<2><11f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e1): l_type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 197
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): l_whence
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 198
-DW_AT_type        : <0x24>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><13b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): l_start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 199
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><149>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fd): l_len
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 200
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><157>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf4): l_pid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 201
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><166>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x19c): struct_kernel_flock64
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x113>
-<1><171>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x94): struct_flock64
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x166>
-<1><17c>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x102): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18a>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xed): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><198>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17b): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a6>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x119): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x171>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_hd_geometry.d1 b/mpers-mx32/struct_hd_geometry.d1
deleted file mode 100644
index 776ac66..0000000
--- a/mpers-mx32/struct_hd_geometry.d1
+++ /dev/null
@@ -1,191 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x18b (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x22): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1ae): mpers-mx32/struct_hd_geometry.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x134): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x199): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x186): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x178): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xaa): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x6d): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x114): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x93): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x190): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb8): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x16f): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x12f): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xca): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xe2): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x89): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1a5): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x80): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x121): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x16): _Bool	
- <1><fd>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x0): hd_geometry	
-    <102>   DW_AT_byte_size   : 8	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 313	
-    <106>   DW_AT_sibling     : <0x147>	
- <2><10a>: Abbrev Number: 13 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x1ce): heads	
-    <10f>   DW_AT_decl_file   : 2	
-    <110>   DW_AT_decl_line   : 314	
-    <112>   DW_AT_type        : <0x39>	
-    <116>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><119>: Abbrev Number: 13 (DW_TAG_member)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x10c): sectors	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 315	
-    <121>   DW_AT_type        : <0x39>	
-    <125>   DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
- <2><128>: Abbrev Number: 13 (DW_TAG_member)
-    <129>   DW_AT_name        : (indirect string, offset: 0xc): cylinders	
-    <12d>   DW_AT_decl_file   : 2	
-    <12e>   DW_AT_decl_line   : 316	
-    <130>   DW_AT_type        : <0x40>	
-    <134>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><137>: Abbrev Number: 13 (DW_TAG_member)
-    <138>   DW_AT_name        : (indirect string, offset: 0x1c): start	
-    <13c>   DW_AT_decl_file   : 2	
-    <13d>   DW_AT_decl_line   : 317	
-    <13f>   DW_AT_type        : <0x5c>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><146>: Abbrev Number: 0
- <1><147>: Abbrev Number: 11 (DW_TAG_typedef)
-    <148>   DW_AT_name        : (indirect string, offset: 0xe8): struct_hd_geometry	
-    <14c>   DW_AT_decl_file   : 3	
-    <14d>   DW_AT_decl_line   : 34	
-    <14e>   DW_AT_type        : <0xfd>	
- <1><152>: Abbrev Number: 14 (DW_TAG_variable)
-    <153>   DW_AT_name        : (indirect string, offset: 0xd1): current_wordsize	
-    <157>   DW_AT_decl_file   : 4	
-    <158>   DW_AT_decl_line   : 757	
-    <15a>   DW_AT_type        : <0x47>	
-    <15e>   DW_AT_external    : 1	
-    <15f>   DW_AT_declaration : 1	
- <1><160>: Abbrev Number: 14 (DW_TAG_variable)
-    <161>   DW_AT_name        : (indirect string, offset: 0xca): sysent	
-    <165>   DW_AT_decl_file   : 4	
-    <166>   DW_AT_decl_line   : 892	
-    <168>   DW_AT_type        : <0xeb>	
-    <16c>   DW_AT_external    : 1	
-    <16d>   DW_AT_declaration : 1	
- <1><16e>: Abbrev Number: 14 (DW_TAG_variable)
-    <16f>   DW_AT_name        : (indirect string, offset: 0x165): nsyscalls	
-    <173>   DW_AT_decl_file   : 4	
-    <174>   DW_AT_decl_line   : 903	
-    <176>   DW_AT_type        : <0x47>	
-    <17a>   DW_AT_external    : 1	
-    <17b>   DW_AT_declaration : 1	
- <1><17c>: Abbrev Number: 15 (DW_TAG_variable)
-    <17d>   DW_AT_name        : (indirect string, offset: 0xfb): mpers_target_var	
-    <181>   DW_AT_decl_file   : 3	
-    <182>   DW_AT_decl_line   : 36	
-    <183>   DW_AT_type        : <0x147>	
-    <187>   DW_AT_external    : 1	
-    <188>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><18e>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_hd_geometry.d2 b/mpers-mx32/struct_hd_geometry.d2
deleted file mode 100644
index 5a7dd91..0000000
--- a/mpers-mx32/struct_hd_geometry.d2
+++ /dev/null
@@ -1,210 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x199): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x186): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x178): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xaa): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6d): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x114): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x93): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x190): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb8): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x16f): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x12f): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xca): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe2): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x89): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a5): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x80): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x121): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x16): _Bool
-<1><fd>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): hd_geometry
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 313
-DW_AT_sibling     : <0x147>
-<2><10a>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ce): heads
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 314
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><119>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10c): sectors
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 315
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
-<2><128>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc): cylinders
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 316
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><137>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c): start
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 317
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><147>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xe8): struct_hd_geometry
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0xfd>
-<1><152>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd1): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><160>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xca): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><16e>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x165): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17c>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xfb): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x147>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-mx32/struct_ifconf.c b/mpers-mx32/struct_ifconf.c
index ef821f8..10d0006 100644
--- a/mpers-mx32/struct_ifconf.c
+++ b/mpers-mx32/struct_ifconf.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_ifconf.d1 b/mpers-mx32/struct_ifconf.d1
deleted file mode 100644
index 258bb92..0000000
--- a/mpers-mx32/struct_ifconf.d1
+++ /dev/null
@@ -1,383 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x31f (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x26): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xbc): mpers-mx32/struct_ifconf.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1d3): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x296): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x24d): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x230): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x14c): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x71): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1a2): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xe1): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x27c): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x116): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x227): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0xb2): __caddr_t	
-    <6f>   DW_AT_decl_file   : 2	
-    <70>   DW_AT_decl_line   : 183	
-    <71>   DW_AT_type        : <0x75>	
- <1><75>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <76>   DW_AT_byte_size   : 4	
-    <77>   DW_AT_type        : <0x7b>	
- <1><7b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7c>   DW_AT_byte_size   : 1	
-    <7d>   DW_AT_encoding    : 6	(signed char)
-    <7e>   DW_AT_name        : (indirect string, offset: 0x1bd): char	
- <1><82>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <83>   DW_AT_byte_size   : 4	
-    <84>   DW_AT_type        : <0x88>	
- <1><88>: Abbrev Number: 6 (DW_TAG_const_type)
-    <89>   DW_AT_type        : <0x7b>	
- <1><8d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x128): sysent	
-    <92>   DW_AT_byte_size   : 20	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 4	
-    <95>   DW_AT_sibling     : <0xe0>	
- <2><99>: Abbrev Number: 8 (DW_TAG_member)
-    <9a>   DW_AT_name        : (indirect string, offset: 0x257): nargs	
-    <9e>   DW_AT_decl_file   : 1	
-    <9f>   DW_AT_decl_line   : 5	
-    <a0>   DW_AT_type        : <0x47>	
-    <a4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a7>: Abbrev Number: 8 (DW_TAG_member)
-    <a8>   DW_AT_name        : (indirect string, offset: 0xd7): sys_flags	
-    <ac>   DW_AT_decl_file   : 1	
-    <ad>   DW_AT_decl_line   : 6	
-    <ae>   DW_AT_type        : <0x2b>	
-    <b2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><b5>: Abbrev Number: 9 (DW_TAG_member)
-    <b6>   DW_AT_name        : sen	
-    <ba>   DW_AT_decl_file   : 1	
-    <bb>   DW_AT_decl_line   : 7	
-    <bc>   DW_AT_type        : <0x2b>	
-    <c0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c3>: Abbrev Number: 8 (DW_TAG_member)
-    <c4>   DW_AT_name        : (indirect string, offset: 0x2c5): sys_func	
-    <c8>   DW_AT_decl_file   : 1	
-    <c9>   DW_AT_decl_line   : 8	
-    <ca>   DW_AT_type        : <0xeb>	
-    <ce>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d1>: Abbrev Number: 8 (DW_TAG_member)
-    <d2>   DW_AT_name        : (indirect string, offset: 0x91): sys_name	
-    <d6>   DW_AT_decl_file   : 1	
-    <d7>   DW_AT_decl_line   : 9	
-    <d8>   DW_AT_type        : <0x82>	
-    <dc>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e1>   DW_AT_type        : <0x2b>	
-    <e5>   DW_AT_sibling     : <0xeb>	
- <2><e9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ea>: Abbrev Number: 0
- <1><eb>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xe0>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x1af): struct_sysent	
-    <f6>   DW_AT_decl_file   : 1	
-    <f7>   DW_AT_decl_line   : 10	
-    <f8>   DW_AT_type        : <0x8d>	
- <1><fc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <fd>   DW_AT_byte_size   : 4	
-    <fe>   DW_AT_type        : <0x102>	
- <1><102>: Abbrev Number: 6 (DW_TAG_const_type)
-    <103>   DW_AT_type        : <0xf1>	
- <1><107>: Abbrev Number: 2 (DW_TAG_base_type)
-    <108>   DW_AT_byte_size   : 1	
-    <109>   DW_AT_encoding    : 2	(boolean)
-    <10a>   DW_AT_name        : (indirect string, offset: 0x20): _Bool	
- <1><10e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x140): sa_family_t	
-    <113>   DW_AT_decl_file   : 3	
-    <114>   DW_AT_decl_line   : 28	
-    <115>   DW_AT_type        : <0x40>	
- <1><119>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x285): sockaddr	
-    <11e>   DW_AT_byte_size   : 16	
-    <11f>   DW_AT_decl_file   : 4	
-    <120>   DW_AT_decl_line   : 149	
-    <121>   DW_AT_sibling     : <0x142>	
- <2><125>: Abbrev Number: 8 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0x23e): sa_family	
-    <12a>   DW_AT_decl_file   : 4	
-    <12b>   DW_AT_decl_line   : 151	
-    <12c>   DW_AT_type        : <0x10e>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><133>: Abbrev Number: 8 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0x28e): sa_data	
-    <138>   DW_AT_decl_file   : 4	
-    <139>   DW_AT_decl_line   : 152	
-    <13a>   DW_AT_type        : <0x142>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><141>: Abbrev Number: 0
- <1><142>: Abbrev Number: 12 (DW_TAG_array_type)
-    <143>   DW_AT_type        : <0x7b>	
-    <147>   DW_AT_sibling     : <0x152>	
- <2><14b>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <14c>   DW_AT_type        : <0x63>	
-    <150>   DW_AT_upper_bound : 13	
- <2><151>: Abbrev Number: 0
- <1><152>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <153>   DW_AT_name        : (indirect string, offset: 0x0): ifmap	
-    <157>   DW_AT_byte_size   : 16	
-    <158>   DW_AT_decl_file   : 5	
-    <159>   DW_AT_decl_line   : 111	
-    <15a>   DW_AT_sibling     : <0x1b3>	
- <2><15e>: Abbrev Number: 8 (DW_TAG_member)
-    <15f>   DW_AT_name        : (indirect string, offset: 0x2a2): mem_start	
-    <163>   DW_AT_decl_file   : 5	
-    <164>   DW_AT_decl_line   : 113	
-    <165>   DW_AT_type        : <0x5c>	
-    <169>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><16c>: Abbrev Number: 8 (DW_TAG_member)
-    <16d>   DW_AT_name        : (indirect string, offset: 0xf): mem_end	
-    <171>   DW_AT_decl_file   : 5	
-    <172>   DW_AT_decl_line   : 114	
-    <173>   DW_AT_type        : <0x5c>	
-    <177>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><17a>: Abbrev Number: 8 (DW_TAG_member)
-    <17b>   DW_AT_name        : (indirect string, offset: 0x18f): base_addr	
-    <17f>   DW_AT_decl_file   : 5	
-    <180>   DW_AT_decl_line   : 115	
-    <181>   DW_AT_type        : <0x40>	
-    <185>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><188>: Abbrev Number: 9 (DW_TAG_member)
-    <189>   DW_AT_name        : irq	
-    <18d>   DW_AT_decl_file   : 5	
-    <18e>   DW_AT_decl_line   : 116	
-    <18f>   DW_AT_type        : <0x39>	
-    <193>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><196>: Abbrev Number: 9 (DW_TAG_member)
-    <197>   DW_AT_name        : dma	
-    <19b>   DW_AT_decl_file   : 5	
-    <19c>   DW_AT_decl_line   : 117	
-    <19d>   DW_AT_type        : <0x39>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
- <2><1a4>: Abbrev Number: 8 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x248): port	
-    <1a9>   DW_AT_decl_file   : 5	
-    <1aa>   DW_AT_decl_line   : 118	
-    <1ab>   DW_AT_type        : <0x39>	
-    <1af>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1b2>: Abbrev Number: 0
- <1><1b3>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1b4>   DW_AT_byte_size   : 16	
-    <1b5>   DW_AT_decl_file   : 5	
-    <1b6>   DW_AT_decl_line   : 130	
-    <1b7>   DW_AT_sibling     : <0x1c7>	
- <2><1bb>: Abbrev Number: 15 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x15a): ifrn_name	
-    <1c0>   DW_AT_decl_file   : 5	
-    <1c1>   DW_AT_decl_line   : 132	
-    <1c2>   DW_AT_type        : <0x1c7>	
- <2><1c6>: Abbrev Number: 0
- <1><1c7>: Abbrev Number: 12 (DW_TAG_array_type)
-    <1c8>   DW_AT_type        : <0x7b>	
-    <1cc>   DW_AT_sibling     : <0x1d7>	
- <2><1d0>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <1d1>   DW_AT_type        : <0x63>	
-    <1d5>   DW_AT_upper_bound : 15	
- <2><1d6>: Abbrev Number: 0
- <1><1d7>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1d8>   DW_AT_byte_size   : 16	
-    <1d9>   DW_AT_decl_file   : 5	
-    <1da>   DW_AT_decl_line   : 135	
-    <1db>   DW_AT_sibling     : <0x264>	
- <2><1df>: Abbrev Number: 15 (DW_TAG_member)
-    <1e0>   DW_AT_name        : (indirect string, offset: 0xf8): ifru_addr	
-    <1e4>   DW_AT_decl_file   : 5	
-    <1e5>   DW_AT_decl_line   : 137	
-    <1e6>   DW_AT_type        : <0x119>	
- <2><1ea>: Abbrev Number: 15 (DW_TAG_member)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0x84): ifru_dstaddr	
-    <1ef>   DW_AT_decl_file   : 5	
-    <1f0>   DW_AT_decl_line   : 138	
-    <1f1>   DW_AT_type        : <0x119>	
- <2><1f5>: Abbrev Number: 15 (DW_TAG_member)
-    <1f6>   DW_AT_name        : (indirect string, offset: 0x9a): ifru_broadaddr	
-    <1fa>   DW_AT_decl_file   : 5	
-    <1fb>   DW_AT_decl_line   : 139	
-    <1fc>   DW_AT_type        : <0x119>	
- <2><200>: Abbrev Number: 15 (DW_TAG_member)
-    <201>   DW_AT_name        : (indirect string, offset: 0x2b8): ifru_netmask	
-    <205>   DW_AT_decl_file   : 5	
-    <206>   DW_AT_decl_line   : 140	
-    <207>   DW_AT_type        : <0x119>	
- <2><20b>: Abbrev Number: 15 (DW_TAG_member)
-    <20c>   DW_AT_name        : (indirect string, offset: 0x2ac): ifru_hwaddr	
-    <210>   DW_AT_decl_file   : 5	
-    <211>   DW_AT_decl_line   : 141	
-    <212>   DW_AT_type        : <0x119>	
- <2><216>: Abbrev Number: 15 (DW_TAG_member)
-    <217>   DW_AT_name        : (indirect string, offset: 0x102): ifru_flags	
-    <21b>   DW_AT_decl_file   : 5	
-    <21c>   DW_AT_decl_line   : 142	
-    <21d>   DW_AT_type        : <0x24>	
- <2><221>: Abbrev Number: 15 (DW_TAG_member)
-    <222>   DW_AT_name        : (indirect string, offset: 0x21b): ifru_ivalue	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 143	
-    <228>   DW_AT_type        : <0x2b>	
- <2><22c>: Abbrev Number: 15 (DW_TAG_member)
-    <22d>   DW_AT_name        : (indirect string, offset: 0x10d): ifru_mtu	
-    <231>   DW_AT_decl_file   : 5	
-    <232>   DW_AT_decl_line   : 144	
-    <233>   DW_AT_type        : <0x2b>	
- <2><237>: Abbrev Number: 15 (DW_TAG_member)
-    <238>   DW_AT_name        : (indirect string, offset: 0x17): ifru_map	
-    <23c>   DW_AT_decl_file   : 5	
-    <23d>   DW_AT_decl_line   : 145	
-    <23e>   DW_AT_type        : <0x152>	
- <2><242>: Abbrev Number: 15 (DW_TAG_member)
-    <243>   DW_AT_name        : (indirect string, offset: 0x25d): ifru_slave	
-    <247>   DW_AT_decl_file   : 5	
-    <248>   DW_AT_decl_line   : 146	
-    <249>   DW_AT_type        : <0x1c7>	
- <2><24d>: Abbrev Number: 15 (DW_TAG_member)
-    <24e>   DW_AT_name        : (indirect string, offset: 0x20e): ifru_newname	
-    <252>   DW_AT_decl_file   : 5	
-    <253>   DW_AT_decl_line   : 147	
-    <254>   DW_AT_type        : <0x1c7>	
- <2><258>: Abbrev Number: 15 (DW_TAG_member)
-    <259>   DW_AT_name        : (indirect string, offset: 0x17e): ifru_data	
-    <25d>   DW_AT_decl_file   : 5	
-    <25e>   DW_AT_decl_line   : 148	
-    <25f>   DW_AT_type        : <0x6a>	
- <2><263>: Abbrev Number: 0
- <1><264>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <265>   DW_AT_name        : (indirect string, offset: 0x268): ifreq	
-    <269>   DW_AT_byte_size   : 32	
-    <26a>   DW_AT_decl_file   : 5	
-    <26b>   DW_AT_decl_line   : 126	
-    <26c>   DW_AT_sibling     : <0x28d>	
- <2><270>: Abbrev Number: 8 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x199): ifr_ifrn	
-    <275>   DW_AT_decl_file   : 5	
-    <276>   DW_AT_decl_line   : 133	
-    <277>   DW_AT_type        : <0x1b3>	
-    <27b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><27e>: Abbrev Number: 8 (DW_TAG_member)
-    <27f>   DW_AT_name        : (indirect string, offset: 0x1c2): ifr_ifru	
-    <283>   DW_AT_decl_file   : 5	
-    <284>   DW_AT_decl_line   : 149	
-    <285>   DW_AT_type        : <0x1d7>	
-    <289>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><28c>: Abbrev Number: 0
- <1><28d>: Abbrev Number: 14 (DW_TAG_union_type)
-    <28e>   DW_AT_byte_size   : 4	
-    <28f>   DW_AT_decl_file   : 5	
-    <290>   DW_AT_decl_line   : 179	
-    <291>   DW_AT_sibling     : <0x2ac>	
- <2><295>: Abbrev Number: 15 (DW_TAG_member)
-    <296>   DW_AT_name        : (indirect string, offset: 0xa9): ifcu_buf	
-    <29a>   DW_AT_decl_file   : 5	
-    <29b>   DW_AT_decl_line   : 181	
-    <29c>   DW_AT_type        : <0x6a>	
- <2><2a0>: Abbrev Number: 15 (DW_TAG_member)
-    <2a1>   DW_AT_name        : (indirect string, offset: 0x164): ifcu_req	
-    <2a5>   DW_AT_decl_file   : 5	
-    <2a6>   DW_AT_decl_line   : 182	
-    <2a7>   DW_AT_type        : <0x2ac>	
- <2><2ab>: Abbrev Number: 0
- <1><2ac>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <2ad>   DW_AT_byte_size   : 4	
-    <2ae>   DW_AT_type        : <0x264>	
- <1><2b2>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <2b3>   DW_AT_name        : (indirect string, offset: 0x188): ifconf	
-    <2b7>   DW_AT_byte_size   : 8	
-    <2b8>   DW_AT_decl_file   : 5	
-    <2b9>   DW_AT_decl_line   : 176	
-    <2ba>   DW_AT_sibling     : <0x2db>	
- <2><2be>: Abbrev Number: 8 (DW_TAG_member)
-    <2bf>   DW_AT_name        : (indirect string, offset: 0x1cb): ifc_len	
-    <2c3>   DW_AT_decl_file   : 5	
-    <2c4>   DW_AT_decl_line   : 178	
-    <2c5>   DW_AT_type        : <0x2b>	
-    <2c9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2cc>: Abbrev Number: 8 (DW_TAG_member)
-    <2cd>   DW_AT_name        : (indirect string, offset: 0x6): ifc_ifcu	
-    <2d1>   DW_AT_decl_file   : 5	
-    <2d2>   DW_AT_decl_line   : 183	
-    <2d3>   DW_AT_type        : <0x28d>	
-    <2d7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2da>: Abbrev Number: 0
- <1><2db>: Abbrev Number: 4 (DW_TAG_typedef)
-    <2dc>   DW_AT_name        : (indirect string, offset: 0x26e): struct_ifconf	
-    <2e0>   DW_AT_decl_file   : 6	
-    <2e1>   DW_AT_decl_line   : 39	
-    <2e2>   DW_AT_type        : <0x2b2>	
- <1><2e6>: Abbrev Number: 16 (DW_TAG_variable)
-    <2e7>   DW_AT_name        : (indirect string, offset: 0x12f): current_wordsize	
-    <2eb>   DW_AT_decl_file   : 7	
-    <2ec>   DW_AT_decl_line   : 757	
-    <2ee>   DW_AT_type        : <0x47>	
-    <2f2>   DW_AT_external    : 1	
-    <2f3>   DW_AT_declaration : 1	
- <1><2f4>: Abbrev Number: 16 (DW_TAG_variable)
-    <2f5>   DW_AT_name        : (indirect string, offset: 0x128): sysent	
-    <2f9>   DW_AT_decl_file   : 7	
-    <2fa>   DW_AT_decl_line   : 892	
-    <2fc>   DW_AT_type        : <0xfc>	
-    <300>   DW_AT_external    : 1	
-    <301>   DW_AT_declaration : 1	
- <1><302>: Abbrev Number: 16 (DW_TAG_variable)
-    <303>   DW_AT_name        : (indirect string, offset: 0x204): nsyscalls	
-    <307>   DW_AT_decl_file   : 7	
-    <308>   DW_AT_decl_line   : 903	
-    <30a>   DW_AT_type        : <0x47>	
-    <30e>   DW_AT_external    : 1	
-    <30f>   DW_AT_declaration : 1	
- <1><310>: Abbrev Number: 17 (DW_TAG_variable)
-    <311>   DW_AT_name        : (indirect string, offset: 0x16d): mpers_target_var	
-    <315>   DW_AT_decl_file   : 6	
-    <316>   DW_AT_decl_line   : 42	
-    <317>   DW_AT_type        : <0x2db>	
-    <31b>   DW_AT_external    : 1	
-    <31c>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><322>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_ifconf.d2 b/mpers-mx32/struct_ifconf.d2
deleted file mode 100644
index 3b67331..0000000
--- a/mpers-mx32/struct_ifconf.d2
+++ /dev/null
@@ -1,431 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x296): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x24d): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x230): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x14c): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x71): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1a2): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe1): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x27c): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x116): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x227): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xb2): __caddr_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x75>
-<1><75>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7b>
-<1><7b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1bd): char
-<1><82>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x88>
-<1><88>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x7b>
-<1><8d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x128): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe0>
-<2><99>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x257): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd7): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><b5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c5): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xeb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x91): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x82>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xeb>
-<2><e9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><eb>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe0>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1af): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x8d>
-<1><fc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x102>
-<1><102>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf1>
-<1><107>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x20): _Bool
-<1><10e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x140): sa_family_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x40>
-<1><119>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x285): sockaddr
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 149
-DW_AT_sibling     : <0x142>
-<2><125>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23e): sa_family
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 151
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><133>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28e): sa_data
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 152
-DW_AT_type        : <0x142>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><142>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x152>
-<2><14b>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 13
-<1><152>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): ifmap
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 111
-DW_AT_sibling     : <0x1b3>
-<2><15e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2a2): mem_start
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 113
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><16c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf): mem_end
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 114
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><17a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18f): base_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 115
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><188>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : irq
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 116
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><196>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : dma
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 117
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
-<2><1a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x248): port
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 118
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1b3>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 130
-DW_AT_sibling     : <0x1c7>
-<2><1bb>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15a): ifrn_name
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 132
-DW_AT_type        : <0x1c7>
-<1><1c7>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x1d7>
-<2><1d0>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><1d7>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 135
-DW_AT_sibling     : <0x264>
-<2><1df>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf8): ifru_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 137
-DW_AT_type        : <0x119>
-<2><1ea>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x84): ifru_dstaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 138
-DW_AT_type        : <0x119>
-<2><1f5>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9a): ifru_broadaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x119>
-<2><200>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2b8): ifru_netmask
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 140
-DW_AT_type        : <0x119>
-<2><20b>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ac): ifru_hwaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x119>
-<2><216>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x102): ifru_flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 142
-DW_AT_type        : <0x24>
-<2><221>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21b): ifru_ivalue
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 143
-DW_AT_type        : <0x2b>
-<2><22c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10d): ifru_mtu
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<2><237>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17): ifru_map
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 145
-DW_AT_type        : <0x152>
-<2><242>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25d): ifru_slave
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 146
-DW_AT_type        : <0x1c7>
-<2><24d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20e): ifru_newname
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 147
-DW_AT_type        : <0x1c7>
-<2><258>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17e): ifru_data
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 148
-DW_AT_type        : <0x6a>
-<1><264>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x268): ifreq
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 126
-DW_AT_sibling     : <0x28d>
-<2><270>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x199): ifr_ifrn
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x1b3>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><27e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c2): ifr_ifru
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 149
-DW_AT_type        : <0x1d7>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><28d>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 179
-DW_AT_sibling     : <0x2ac>
-<2><295>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa9): ifcu_buf
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 181
-DW_AT_type        : <0x6a>
-<2><2a0>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x164): ifcu_req
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 182
-DW_AT_type        : <0x2ac>
-<1><2ac>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x264>
-<1><2b2>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x188): ifconf
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 176
-DW_AT_sibling     : <0x2db>
-<2><2be>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cb): ifc_len
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 178
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2cc>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): ifc_ifcu
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x28d>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><2db>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x26e): struct_ifconf
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x2b2>
-<1><2e6>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12f): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2f4>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x128): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xfc>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><302>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x204): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><310>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x16d): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x2db>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-mx32/struct_ifreq.c b/mpers-mx32/struct_ifreq.c
index 691cb13..31f73ea 100644
--- a/mpers-mx32/struct_ifreq.c
+++ b/mpers-mx32/struct_ifreq.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_ifreq.d1 b/mpers-mx32/struct_ifreq.d1
deleted file mode 100644
index 4c65292..0000000
--- a/mpers-mx32/struct_ifreq.d1
+++ /dev/null
@@ -1,345 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2d1 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x14): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x88): mpers-mx32/struct_ifreq.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1a6): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x26a): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x220): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x203): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x137): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x17d): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x250): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xf4): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1fa): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6b>   DW_AT_name        : (indirect string, offset: 0xa2): __caddr_t	
-    <6f>   DW_AT_decl_file   : 2	
-    <70>   DW_AT_decl_line   : 183	
-    <71>   DW_AT_type        : <0x75>	
- <1><75>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <76>   DW_AT_byte_size   : 4	
-    <77>   DW_AT_type        : <0x7b>	
- <1><7b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7c>   DW_AT_byte_size   : 1	
-    <7d>   DW_AT_encoding    : 6	(signed char)
-    <7e>   DW_AT_name        : (indirect string, offset: 0x198): char	
- <1><82>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <83>   DW_AT_byte_size   : 4	
-    <84>   DW_AT_type        : <0x88>	
- <1><88>: Abbrev Number: 6 (DW_TAG_const_type)
-    <89>   DW_AT_type        : <0x7b>	
- <1><8d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x113): sysent	
-    <92>   DW_AT_byte_size   : 20	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 4	
-    <95>   DW_AT_sibling     : <0xe0>	
- <2><99>: Abbrev Number: 8 (DW_TAG_member)
-    <9a>   DW_AT_name        : (indirect string, offset: 0x22a): nargs	
-    <9e>   DW_AT_decl_file   : 1	
-    <9f>   DW_AT_decl_line   : 5	
-    <a0>   DW_AT_type        : <0x47>	
-    <a4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a7>: Abbrev Number: 8 (DW_TAG_member)
-    <a8>   DW_AT_name        : (indirect string, offset: 0xb5): sys_flags	
-    <ac>   DW_AT_decl_file   : 1	
-    <ad>   DW_AT_decl_line   : 6	
-    <ae>   DW_AT_type        : <0x2b>	
-    <b2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><b5>: Abbrev Number: 9 (DW_TAG_member)
-    <b6>   DW_AT_name        : sen	
-    <ba>   DW_AT_decl_file   : 1	
-    <bb>   DW_AT_decl_line   : 7	
-    <bc>   DW_AT_type        : <0x2b>	
-    <c0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c3>: Abbrev Number: 8 (DW_TAG_member)
-    <c4>   DW_AT_name        : (indirect string, offset: 0x299): sys_func	
-    <c8>   DW_AT_decl_file   : 1	
-    <c9>   DW_AT_decl_line   : 8	
-    <ca>   DW_AT_type        : <0xeb>	
-    <ce>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d1>: Abbrev Number: 8 (DW_TAG_member)
-    <d2>   DW_AT_name        : (indirect string, offset: 0x7f): sys_name	
-    <d6>   DW_AT_decl_file   : 1	
-    <d7>   DW_AT_decl_line   : 9	
-    <d8>   DW_AT_type        : <0x82>	
-    <dc>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e1>   DW_AT_type        : <0x2b>	
-    <e5>   DW_AT_sibling     : <0xeb>	
- <2><e9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ea>: Abbrev Number: 0
- <1><eb>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xe0>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f2>   DW_AT_name        : (indirect string, offset: 0x18a): struct_sysent	
-    <f6>   DW_AT_decl_file   : 1	
-    <f7>   DW_AT_decl_line   : 10	
-    <f8>   DW_AT_type        : <0x8d>	
- <1><fc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <fd>   DW_AT_byte_size   : 4	
-    <fe>   DW_AT_type        : <0x102>	
- <1><102>: Abbrev Number: 6 (DW_TAG_const_type)
-    <103>   DW_AT_type        : <0xf1>	
- <1><107>: Abbrev Number: 2 (DW_TAG_base_type)
-    <108>   DW_AT_byte_size   : 1	
-    <109>   DW_AT_encoding    : 2	(boolean)
-    <10a>   DW_AT_name        : (indirect string, offset: 0xe): _Bool	
- <1><10e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x12b): sa_family_t	
-    <113>   DW_AT_decl_file   : 3	
-    <114>   DW_AT_decl_line   : 28	
-    <115>   DW_AT_type        : <0x40>	
- <1><119>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x259): sockaddr	
-    <11e>   DW_AT_byte_size   : 16	
-    <11f>   DW_AT_decl_file   : 4	
-    <120>   DW_AT_decl_line   : 149	
-    <121>   DW_AT_sibling     : <0x142>	
- <2><125>: Abbrev Number: 8 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0x211): sa_family	
-    <12a>   DW_AT_decl_file   : 4	
-    <12b>   DW_AT_decl_line   : 151	
-    <12c>   DW_AT_type        : <0x10e>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><133>: Abbrev Number: 8 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0x262): sa_data	
-    <138>   DW_AT_decl_file   : 4	
-    <139>   DW_AT_decl_line   : 152	
-    <13a>   DW_AT_type        : <0x142>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><141>: Abbrev Number: 0
- <1><142>: Abbrev Number: 12 (DW_TAG_array_type)
-    <143>   DW_AT_type        : <0x7b>	
-    <147>   DW_AT_sibling     : <0x152>	
- <2><14b>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <14c>   DW_AT_type        : <0x63>	
-    <150>   DW_AT_upper_bound : 13	
- <2><151>: Abbrev Number: 0
- <1><152>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <153>   DW_AT_name        : (indirect string, offset: 0x0): ifmap	
-    <157>   DW_AT_byte_size   : 16	
-    <158>   DW_AT_decl_file   : 5	
-    <159>   DW_AT_decl_line   : 111	
-    <15a>   DW_AT_sibling     : <0x1b3>	
- <2><15e>: Abbrev Number: 8 (DW_TAG_member)
-    <15f>   DW_AT_name        : (indirect string, offset: 0x276): mem_start	
-    <163>   DW_AT_decl_file   : 5	
-    <164>   DW_AT_decl_line   : 113	
-    <165>   DW_AT_type        : <0x5c>	
-    <169>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><16c>: Abbrev Number: 8 (DW_TAG_member)
-    <16d>   DW_AT_name        : (indirect string, offset: 0x6): mem_end	
-    <171>   DW_AT_decl_file   : 5	
-    <172>   DW_AT_decl_line   : 114	
-    <173>   DW_AT_type        : <0x5c>	
-    <177>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><17a>: Abbrev Number: 8 (DW_TAG_member)
-    <17b>   DW_AT_name        : (indirect string, offset: 0x16a): base_addr	
-    <17f>   DW_AT_decl_file   : 5	
-    <180>   DW_AT_decl_line   : 115	
-    <181>   DW_AT_type        : <0x40>	
-    <185>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><188>: Abbrev Number: 9 (DW_TAG_member)
-    <189>   DW_AT_name        : irq	
-    <18d>   DW_AT_decl_file   : 5	
-    <18e>   DW_AT_decl_line   : 116	
-    <18f>   DW_AT_type        : <0x39>	
-    <193>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><196>: Abbrev Number: 9 (DW_TAG_member)
-    <197>   DW_AT_name        : dma	
-    <19b>   DW_AT_decl_file   : 5	
-    <19c>   DW_AT_decl_line   : 117	
-    <19d>   DW_AT_type        : <0x39>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
- <2><1a4>: Abbrev Number: 8 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x21b): port	
-    <1a9>   DW_AT_decl_file   : 5	
-    <1aa>   DW_AT_decl_line   : 118	
-    <1ab>   DW_AT_type        : <0x39>	
-    <1af>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1b2>: Abbrev Number: 0
- <1><1b3>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1b4>   DW_AT_byte_size   : 16	
-    <1b5>   DW_AT_decl_file   : 5	
-    <1b6>   DW_AT_decl_line   : 130	
-    <1b7>   DW_AT_sibling     : <0x1c7>	
- <2><1bb>: Abbrev Number: 15 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x145): ifrn_name	
-    <1c0>   DW_AT_decl_file   : 5	
-    <1c1>   DW_AT_decl_line   : 132	
-    <1c2>   DW_AT_type        : <0x1c7>	
- <2><1c6>: Abbrev Number: 0
- <1><1c7>: Abbrev Number: 12 (DW_TAG_array_type)
-    <1c8>   DW_AT_type        : <0x7b>	
-    <1cc>   DW_AT_sibling     : <0x1d7>	
- <2><1d0>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <1d1>   DW_AT_type        : <0x63>	
-    <1d5>   DW_AT_upper_bound : 15	
- <2><1d6>: Abbrev Number: 0
- <1><1d7>: Abbrev Number: 14 (DW_TAG_union_type)
-    <1d8>   DW_AT_byte_size   : 16	
-    <1d9>   DW_AT_decl_file   : 5	
-    <1da>   DW_AT_decl_line   : 135	
-    <1db>   DW_AT_sibling     : <0x264>	
- <2><1df>: Abbrev Number: 15 (DW_TAG_member)
-    <1e0>   DW_AT_name        : (indirect string, offset: 0xd6): ifru_addr	
-    <1e4>   DW_AT_decl_file   : 5	
-    <1e5>   DW_AT_decl_line   : 137	
-    <1e6>   DW_AT_type        : <0x119>	
- <2><1ea>: Abbrev Number: 15 (DW_TAG_member)
-    <1eb>   DW_AT_name        : (indirect string, offset: 0x72): ifru_dstaddr	
-    <1ef>   DW_AT_decl_file   : 5	
-    <1f0>   DW_AT_decl_line   : 138	
-    <1f1>   DW_AT_type        : <0x119>	
- <2><1f5>: Abbrev Number: 15 (DW_TAG_member)
-    <1f6>   DW_AT_name        : (indirect string, offset: 0x241): ifru_broadaddr	
-    <1fa>   DW_AT_decl_file   : 5	
-    <1fb>   DW_AT_decl_line   : 139	
-    <1fc>   DW_AT_type        : <0x119>	
- <2><200>: Abbrev Number: 15 (DW_TAG_member)
-    <201>   DW_AT_name        : (indirect string, offset: 0x28c): ifru_netmask	
-    <205>   DW_AT_decl_file   : 5	
-    <206>   DW_AT_decl_line   : 140	
-    <207>   DW_AT_type        : <0x119>	
- <2><20b>: Abbrev Number: 15 (DW_TAG_member)
-    <20c>   DW_AT_name        : (indirect string, offset: 0x280): ifru_hwaddr	
-    <210>   DW_AT_decl_file   : 5	
-    <211>   DW_AT_decl_line   : 141	
-    <212>   DW_AT_type        : <0x119>	
- <2><216>: Abbrev Number: 15 (DW_TAG_member)
-    <217>   DW_AT_name        : (indirect string, offset: 0xe0): ifru_flags	
-    <21b>   DW_AT_decl_file   : 5	
-    <21c>   DW_AT_decl_line   : 142	
-    <21d>   DW_AT_type        : <0x24>	
- <2><221>: Abbrev Number: 15 (DW_TAG_member)
-    <222>   DW_AT_name        : (indirect string, offset: 0x1ee): ifru_ivalue	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 143	
-    <228>   DW_AT_type        : <0x2b>	
- <2><22c>: Abbrev Number: 15 (DW_TAG_member)
-    <22d>   DW_AT_name        : (indirect string, offset: 0xeb): ifru_mtu	
-    <231>   DW_AT_decl_file   : 5	
-    <232>   DW_AT_decl_line   : 144	
-    <233>   DW_AT_type        : <0x2b>	
- <2><237>: Abbrev Number: 15 (DW_TAG_member)
-    <238>   DW_AT_name        : (indirect string, offset: 0xac): ifru_map	
-    <23c>   DW_AT_decl_file   : 5	
-    <23d>   DW_AT_decl_line   : 145	
-    <23e>   DW_AT_type        : <0x152>	
- <2><242>: Abbrev Number: 15 (DW_TAG_member)
-    <243>   DW_AT_name        : (indirect string, offset: 0x230): ifru_slave	
-    <247>   DW_AT_decl_file   : 5	
-    <248>   DW_AT_decl_line   : 146	
-    <249>   DW_AT_type        : <0x1c7>	
- <2><24d>: Abbrev Number: 15 (DW_TAG_member)
-    <24e>   DW_AT_name        : (indirect string, offset: 0x1e1): ifru_newname	
-    <252>   DW_AT_decl_file   : 5	
-    <253>   DW_AT_decl_line   : 147	
-    <254>   DW_AT_type        : <0x1c7>	
- <2><258>: Abbrev Number: 15 (DW_TAG_member)
-    <259>   DW_AT_name        : (indirect string, offset: 0x160): ifru_data	
-    <25d>   DW_AT_decl_file   : 5	
-    <25e>   DW_AT_decl_line   : 148	
-    <25f>   DW_AT_type        : <0x6a>	
- <2><263>: Abbrev Number: 0
- <1><264>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <265>   DW_AT_name        : (indirect string, offset: 0x23b): ifreq	
-    <269>   DW_AT_byte_size   : 32	
-    <26a>   DW_AT_decl_file   : 5	
-    <26b>   DW_AT_decl_line   : 126	
-    <26c>   DW_AT_sibling     : <0x28d>	
- <2><270>: Abbrev Number: 8 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x174): ifr_ifrn	
-    <275>   DW_AT_decl_file   : 5	
-    <276>   DW_AT_decl_line   : 133	
-    <277>   DW_AT_type        : <0x1b3>	
-    <27b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><27e>: Abbrev Number: 8 (DW_TAG_member)
-    <27f>   DW_AT_name        : (indirect string, offset: 0x19d): ifr_ifru	
-    <283>   DW_AT_decl_file   : 5	
-    <284>   DW_AT_decl_line   : 149	
-    <285>   DW_AT_type        : <0x1d7>	
-    <289>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><28c>: Abbrev Number: 0
- <1><28d>: Abbrev Number: 4 (DW_TAG_typedef)
-    <28e>   DW_AT_name        : (indirect string, offset: 0x106): struct_ifreq	
-    <292>   DW_AT_decl_file   : 6	
-    <293>   DW_AT_decl_line   : 40	
-    <294>   DW_AT_type        : <0x264>	
- <1><298>: Abbrev Number: 16 (DW_TAG_variable)
-    <299>   DW_AT_name        : (indirect string, offset: 0x11a): current_wordsize	
-    <29d>   DW_AT_decl_file   : 7	
-    <29e>   DW_AT_decl_line   : 757	
-    <2a0>   DW_AT_type        : <0x47>	
-    <2a4>   DW_AT_external    : 1	
-    <2a5>   DW_AT_declaration : 1	
- <1><2a6>: Abbrev Number: 16 (DW_TAG_variable)
-    <2a7>   DW_AT_name        : (indirect string, offset: 0x113): sysent	
-    <2ab>   DW_AT_decl_file   : 7	
-    <2ac>   DW_AT_decl_line   : 892	
-    <2ae>   DW_AT_type        : <0xfc>	
-    <2b2>   DW_AT_external    : 1	
-    <2b3>   DW_AT_declaration : 1	
- <1><2b4>: Abbrev Number: 16 (DW_TAG_variable)
-    <2b5>   DW_AT_name        : (indirect string, offset: 0x1d7): nsyscalls	
-    <2b9>   DW_AT_decl_file   : 7	
-    <2ba>   DW_AT_decl_line   : 903	
-    <2bc>   DW_AT_type        : <0x47>	
-    <2c0>   DW_AT_external    : 1	
-    <2c1>   DW_AT_declaration : 1	
- <1><2c2>: Abbrev Number: 17 (DW_TAG_variable)
-    <2c3>   DW_AT_name        : (indirect string, offset: 0x14f): mpers_target_var	
-    <2c7>   DW_AT_decl_file   : 6	
-    <2c8>   DW_AT_decl_line   : 42	
-    <2c9>   DW_AT_type        : <0x28d>	
-    <2cd>   DW_AT_external    : 1	
-    <2ce>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><2d4>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_ifreq.d2 b/mpers-mx32/struct_ifreq.d2
deleted file mode 100644
index d5e0e55..0000000
--- a/mpers-mx32/struct_ifreq.d2
+++ /dev/null
@@ -1,388 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x26a): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x220): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x203): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x137): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x17d): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x250): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf4): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1fa): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xa2): __caddr_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 183
-DW_AT_type        : <0x75>
-<1><75>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7b>
-<1><7b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x198): char
-<1><82>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x88>
-<1><88>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x7b>
-<1><8d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x113): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe0>
-<2><99>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22a): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><a7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb5): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><b5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x299): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xeb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7f): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x82>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xeb>
-<2><e9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><eb>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe0>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x18a): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x8d>
-<1><fc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x102>
-<1><102>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf1>
-<1><107>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xe): _Bool
-<1><10e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x12b): sa_family_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x40>
-<1><119>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x259): sockaddr
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 149
-DW_AT_sibling     : <0x142>
-<2><125>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x211): sa_family
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 151
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><133>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x262): sa_data
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 152
-DW_AT_type        : <0x142>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<1><142>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x152>
-<2><14b>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 13
-<1><152>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): ifmap
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 111
-DW_AT_sibling     : <0x1b3>
-<2><15e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x276): mem_start
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 113
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><16c>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): mem_end
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 114
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><17a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16a): base_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 115
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><188>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : irq
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 116
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><196>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : dma
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 117
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
-<2><1a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21b): port
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 118
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1b3>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 130
-DW_AT_sibling     : <0x1c7>
-<2><1bb>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x145): ifrn_name
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 132
-DW_AT_type        : <0x1c7>
-<1><1c7>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x7b>
-DW_AT_sibling     : <0x1d7>
-<2><1d0>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 15
-<1><1d7>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 135
-DW_AT_sibling     : <0x264>
-<2><1df>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd6): ifru_addr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 137
-DW_AT_type        : <0x119>
-<2><1ea>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x72): ifru_dstaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 138
-DW_AT_type        : <0x119>
-<2><1f5>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x241): ifru_broadaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x119>
-<2><200>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28c): ifru_netmask
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 140
-DW_AT_type        : <0x119>
-<2><20b>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x280): ifru_hwaddr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x119>
-<2><216>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe0): ifru_flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 142
-DW_AT_type        : <0x24>
-<2><221>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ee): ifru_ivalue
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 143
-DW_AT_type        : <0x2b>
-<2><22c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xeb): ifru_mtu
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 144
-DW_AT_type        : <0x2b>
-<2><237>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xac): ifru_map
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 145
-DW_AT_type        : <0x152>
-<2><242>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x230): ifru_slave
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 146
-DW_AT_type        : <0x1c7>
-<2><24d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e1): ifru_newname
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 147
-DW_AT_type        : <0x1c7>
-<2><258>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x160): ifru_data
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 148
-DW_AT_type        : <0x6a>
-<1><264>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x23b): ifreq
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 126
-DW_AT_sibling     : <0x28d>
-<2><270>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x174): ifr_ifrn
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 133
-DW_AT_type        : <0x1b3>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><27e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19d): ifr_ifru
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 149
-DW_AT_type        : <0x1d7>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><28d>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x106): struct_ifreq
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x264>
-<1><298>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11a): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2a6>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x113): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xfc>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2b4>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1d7): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2c2>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x14f): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x28d>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_loop_info.c b/mpers-mx32/struct_loop_info.c
index 25d76e1..a7116a1 100644
--- a/mpers-mx32/struct_loop_info.c
+++ b/mpers-mx32/struct_loop_info.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012 The Chromium OS Authors.
+ * Copyright (c) 2012-2017 The strace developers.
  * Written by Mike Frysinger <vapier@gentoo.org>.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_loop_info.d1 b/mpers-mx32/struct_loop_info.d1
deleted file mode 100644
index 498ab55..0000000
--- a/mpers-mx32/struct_loop_info.d1
+++ /dev/null
@@ -1,272 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x243 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x23): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1e9): mpers-mx32/struct_loop_info.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x197): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x22c): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x219): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1db): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe0): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x6e): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x164): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xc1): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x223): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xee): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1d2): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x17f): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_array_type)
-    <72>   DW_AT_type        : <0x6a>	
-    <76>   DW_AT_sibling     : <0x81>	
- <2><7a>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <7b>   DW_AT_type        : <0x63>	
-    <7f>   DW_AT_upper_bound : 3	
- <2><80>: Abbrev Number: 0
- <1><81>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <82>   DW_AT_byte_size   : 4	
-    <83>   DW_AT_type        : <0x87>	
- <1><87>: Abbrev Number: 7 (DW_TAG_const_type)
-    <88>   DW_AT_type        : <0x6a>	
- <1><8c>: Abbrev Number: 8 (DW_TAG_typedef)
-    <8d>   DW_AT_name        : (indirect string, offset: 0x107): __kernel_old_dev_t	
-    <91>   DW_AT_decl_file   : 2	
-    <92>   DW_AT_decl_line   : 14	
-    <93>   DW_AT_type        : <0x5c>	
- <1><97>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <98>   DW_AT_name        : (indirect string, offset: 0x100): sysent	
-    <9c>   DW_AT_byte_size   : 20	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 4	
-    <9f>   DW_AT_sibling     : <0xea>	
- <2><a3>: Abbrev Number: 10 (DW_TAG_member)
-    <a4>   DW_AT_name        : (indirect string, offset: 0x13b): nargs	
-    <a8>   DW_AT_decl_file   : 1	
-    <a9>   DW_AT_decl_line   : 5	
-    <aa>   DW_AT_type        : <0x47>	
-    <ae>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b1>: Abbrev Number: 10 (DW_TAG_member)
-    <b2>   DW_AT_name        : (indirect string, offset: 0xb7): sys_flags	
-    <b6>   DW_AT_decl_file   : 1	
-    <b7>   DW_AT_decl_line   : 6	
-    <b8>   DW_AT_type        : <0x2b>	
-    <bc>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><bf>: Abbrev Number: 11 (DW_TAG_member)
-    <c0>   DW_AT_name        : sen	
-    <c4>   DW_AT_decl_file   : 1	
-    <c5>   DW_AT_decl_line   : 7	
-    <c6>   DW_AT_type        : <0x2b>	
-    <ca>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><cd>: Abbrev Number: 10 (DW_TAG_member)
-    <ce>   DW_AT_name        : (indirect string, offset: 0x241): sys_func	
-    <d2>   DW_AT_decl_file   : 1	
-    <d3>   DW_AT_decl_line   : 8	
-    <d4>   DW_AT_type        : <0xf5>	
-    <d8>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><db>: Abbrev Number: 10 (DW_TAG_member)
-    <dc>   DW_AT_name        : (indirect string, offset: 0x81): sys_name	
-    <e0>   DW_AT_decl_file   : 1	
-    <e1>   DW_AT_decl_line   : 9	
-    <e2>   DW_AT_type        : <0x81>	
-    <e6>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e9>: Abbrev Number: 0
- <1><ea>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <eb>   DW_AT_type        : <0x2b>	
-    <ef>   DW_AT_sibling     : <0xf5>	
- <2><f3>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><f4>: Abbrev Number: 0
- <1><f5>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <f6>   DW_AT_byte_size   : 4	
-    <f7>   DW_AT_type        : <0xea>	
- <1><fb>: Abbrev Number: 8 (DW_TAG_typedef)
-    <fc>   DW_AT_name        : (indirect string, offset: 0x171): struct_sysent	
-    <100>   DW_AT_decl_file   : 1	
-    <101>   DW_AT_decl_line   : 10	
-    <102>   DW_AT_type        : <0x97>	
- <1><106>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <107>   DW_AT_byte_size   : 4	
-    <108>   DW_AT_type        : <0x10c>	
- <1><10c>: Abbrev Number: 7 (DW_TAG_const_type)
-    <10d>   DW_AT_type        : <0xfb>	
- <1><111>: Abbrev Number: 2 (DW_TAG_base_type)
-    <112>   DW_AT_byte_size   : 1	
-    <113>   DW_AT_encoding    : 2	(boolean)
-    <114>   DW_AT_name        : (indirect string, offset: 0x14): _Bool	
- <1><118>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <119>   DW_AT_name        : (indirect string, offset: 0xa): loop_info	
-    <11d>   DW_AT_byte_size   : 140	
-    <11e>   DW_AT_decl_file   : 3	
-    <11f>   DW_AT_decl_line   : 30	
-    <120>   DW_AT_sibling     : <0x1cf>	
- <2><124>: Abbrev Number: 10 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x18d): lo_number	
-    <129>   DW_AT_decl_file   : 3	
-    <12a>   DW_AT_decl_line   : 31	
-    <12b>   DW_AT_type        : <0x2b>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><132>: Abbrev Number: 10 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x20f): lo_device	
-    <137>   DW_AT_decl_file   : 3	
-    <138>   DW_AT_decl_line   : 32	
-    <139>   DW_AT_type        : <0x8c>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><140>: Abbrev Number: 10 (DW_TAG_member)
-    <141>   DW_AT_name        : (indirect string, offset: 0x238): lo_inode	
-    <145>   DW_AT_decl_file   : 3	
-    <146>   DW_AT_decl_line   : 33	
-    <147>   DW_AT_type        : <0x5c>	
-    <14b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><14e>: Abbrev Number: 10 (DW_TAG_member)
-    <14f>   DW_AT_name        : (indirect string, offset: 0x8a): lo_rdevice	
-    <153>   DW_AT_decl_file   : 3	
-    <154>   DW_AT_decl_line   : 34	
-    <155>   DW_AT_type        : <0x8c>	
-    <159>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><15c>: Abbrev Number: 10 (DW_TAG_member)
-    <15d>   DW_AT_name        : (indirect string, offset: 0x0): lo_offset	
-    <161>   DW_AT_decl_file   : 3	
-    <162>   DW_AT_decl_line   : 35	
-    <163>   DW_AT_type        : <0x2b>	
-    <167>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><16a>: Abbrev Number: 10 (DW_TAG_member)
-    <16b>   DW_AT_name        : (indirect string, offset: 0x11a): lo_encrypt_type	
-    <16f>   DW_AT_decl_file   : 3	
-    <170>   DW_AT_decl_line   : 36	
-    <171>   DW_AT_type        : <0x2b>	
-    <175>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><178>: Abbrev Number: 10 (DW_TAG_member)
-    <179>   DW_AT_name        : (indirect string, offset: 0x141): lo_encrypt_key_size	
-    <17d>   DW_AT_decl_file   : 3	
-    <17e>   DW_AT_decl_line   : 37	
-    <17f>   DW_AT_type        : <0x2b>	
-    <183>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><186>: Abbrev Number: 10 (DW_TAG_member)
-    <187>   DW_AT_name        : (indirect string, offset: 0x184): lo_flags	
-    <18b>   DW_AT_decl_file   : 3	
-    <18c>   DW_AT_decl_line   : 38	
-    <18d>   DW_AT_type        : <0x2b>	
-    <191>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><194>: Abbrev Number: 10 (DW_TAG_member)
-    <195>   DW_AT_name        : (indirect string, offset: 0xd8): lo_name	
-    <199>   DW_AT_decl_file   : 3	
-    <19a>   DW_AT_decl_line   : 39	
-    <19b>   DW_AT_type        : <0x1cf>	
-    <19f>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1a2>: Abbrev Number: 10 (DW_TAG_member)
-    <1a3>   DW_AT_name        : (indirect string, offset: 0x155): lo_encrypt_key	
-    <1a7>   DW_AT_decl_file   : 3	
-    <1a8>   DW_AT_decl_line   : 40	
-    <1a9>   DW_AT_type        : <0x1df>	
-    <1ad>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><1b0>: Abbrev Number: 10 (DW_TAG_member)
-    <1b1>   DW_AT_name        : (indirect string, offset: 0x207): lo_init	
-    <1b5>   DW_AT_decl_file   : 3	
-    <1b6>   DW_AT_decl_line   : 41	
-    <1b7>   DW_AT_type        : <0x1ef>	
-    <1bb>   DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
- <2><1bf>: Abbrev Number: 10 (DW_TAG_member)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0x1a): reserved	
-    <1c4>   DW_AT_decl_file   : 3	
-    <1c5>   DW_AT_decl_line   : 42	
-    <1c6>   DW_AT_type        : <0x71>	
-    <1ca>   DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
- <2><1ce>: Abbrev Number: 0
- <1><1cf>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1d0>   DW_AT_type        : <0x6a>	
-    <1d4>   DW_AT_sibling     : <0x1df>	
- <2><1d8>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1d9>   DW_AT_type        : <0x63>	
-    <1dd>   DW_AT_upper_bound : 63	
- <2><1de>: Abbrev Number: 0
- <1><1df>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1e0>   DW_AT_type        : <0x39>	
-    <1e4>   DW_AT_sibling     : <0x1ef>	
- <2><1e8>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1e9>   DW_AT_type        : <0x63>	
-    <1ed>   DW_AT_upper_bound : 31	
- <2><1ee>: Abbrev Number: 0
- <1><1ef>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1f0>   DW_AT_type        : <0x5c>	
-    <1f4>   DW_AT_sibling     : <0x1ff>	
- <2><1f8>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1f9>   DW_AT_type        : <0x63>	
-    <1fd>   DW_AT_upper_bound : 1	
- <2><1fe>: Abbrev Number: 0
- <1><1ff>: Abbrev Number: 8 (DW_TAG_typedef)
-    <200>   DW_AT_name        : (indirect string, offset: 0x95): struct_loop_info	
-    <204>   DW_AT_decl_file   : 4	
-    <205>   DW_AT_decl_line   : 32	
-    <206>   DW_AT_type        : <0x118>	
- <1><20a>: Abbrev Number: 14 (DW_TAG_variable)
-    <20b>   DW_AT_name        : (indirect string, offset: 0x12a): current_wordsize	
-    <20f>   DW_AT_decl_file   : 5	
-    <210>   DW_AT_decl_line   : 757	
-    <212>   DW_AT_type        : <0x47>	
-    <216>   DW_AT_external    : 1	
-    <217>   DW_AT_declaration : 1	
- <1><218>: Abbrev Number: 14 (DW_TAG_variable)
-    <219>   DW_AT_name        : (indirect string, offset: 0x100): sysent	
-    <21d>   DW_AT_decl_file   : 5	
-    <21e>   DW_AT_decl_line   : 892	
-    <220>   DW_AT_type        : <0x106>	
-    <224>   DW_AT_external    : 1	
-    <225>   DW_AT_declaration : 1	
- <1><226>: Abbrev Number: 14 (DW_TAG_variable)
-    <227>   DW_AT_name        : (indirect string, offset: 0x1c8): nsyscalls	
-    <22b>   DW_AT_decl_file   : 5	
-    <22c>   DW_AT_decl_line   : 903	
-    <22e>   DW_AT_type        : <0x47>	
-    <232>   DW_AT_external    : 1	
-    <233>   DW_AT_declaration : 1	
- <1><234>: Abbrev Number: 15 (DW_TAG_variable)
-    <235>   DW_AT_name        : (indirect string, offset: 0xa6): mpers_target_var	
-    <239>   DW_AT_decl_file   : 4	
-    <23a>   DW_AT_decl_line   : 35	
-    <23b>   DW_AT_type        : <0x1ff>	
-    <23f>   DW_AT_external    : 1	
-    <240>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><246>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_loop_info.d2 b/mpers-mx32/struct_loop_info.d2
deleted file mode 100644
index 0b6e073..0000000
--- a/mpers-mx32/struct_loop_info.d2
+++ /dev/null
@@ -1,304 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x22c): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x219): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1db): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe0): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6e): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x164): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc1): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x223): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xee): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d2): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x17f): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x81>
-<2><7a>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><81>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x87>
-<1><87>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><8c>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x107): __kernel_old_dev_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x5c>
-<1><97>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x100): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xea>
-<2><a3>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13b): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b1>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb7): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><bf>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><cd>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x241): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf5>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><db>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x81): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x81>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><ea>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf5>
-<2><f3>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><f5>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xea>
-<1><fb>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x171): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x97>
-<1><106>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x10c>
-<1><10c>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0xfb>
-<1><111>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x14): _Bool
-<1><118>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xa): loop_info
-DW_AT_byte_size   : 140
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0x1cf>
-<2><124>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18d): lo_number
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><132>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20f): lo_device
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x8c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><140>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x238): lo_inode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><14e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8a): lo_rdevice
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x8c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><15c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): lo_offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><16a>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11a): lo_encrypt_type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><178>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x141): lo_encrypt_key_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><186>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x184): lo_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><194>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd8): lo_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x1cf>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1a2>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x155): lo_encrypt_key
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x1df>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><1b0>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x207): lo_init
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x1ef>
-DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
-<2><1bf>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
-<1><1cf>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x1df>
-<2><1d8>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 63
-<1><1df>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x39>
-DW_AT_sibling     : <0x1ef>
-<2><1e8>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 31
-<1><1ef>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x5c>
-DW_AT_sibling     : <0x1ff>
-<2><1f8>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><1ff>
-Abbrev Number: 8 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x95): struct_loop_info
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x118>
-<1><20a>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12a): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><218>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x100): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x106>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><226>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1c8): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><234>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xa6): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x1ff>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_mmsghdr.d1 b/mpers-mx32/struct_mmsghdr.d1
deleted file mode 100644
index 5c785e9..0000000
--- a/mpers-mx32/struct_mmsghdr.d1
+++ /dev/null
@@ -1,267 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x22c (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x3f): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x11e): mpers-mx32/struct_mmsghdr.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x18b): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x225): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1f4): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1da): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xce): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x8a): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x154): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xb7): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x206): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xdc): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1d1): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x16f): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_typedef)
-    <74>   DW_AT_name        : (indirect string, offset: 0x219): __socklen_t	
-    <78>   DW_AT_decl_file   : 1	
-    <79>   DW_AT_decl_line   : 189	
-    <7a>   DW_AT_type        : <0x47>	
- <1><7e>: Abbrev Number: 5 (DW_TAG_typedef)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xf): size_t	
-    <83>   DW_AT_decl_file   : 2	
-    <84>   DW_AT_decl_line   : 212	
-    <85>   DW_AT_type        : <0x47>	
- <1><89>: Abbrev Number: 6 (DW_TAG_typedef)
-    <8a>   DW_AT_name        : (indirect string, offset: 0x20f): socklen_t	
-    <8e>   DW_AT_decl_file   : 3	
-    <8f>   DW_AT_decl_line   : 274	
-    <91>   DW_AT_type        : <0x73>	
- <1><95>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <96>   DW_AT_byte_size   : 4	
-    <97>   DW_AT_type        : <0x9b>	
- <1><9b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <9c>   DW_AT_type        : <0x6c>	
- <1><a0>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a1>   DW_AT_name        : (indirect string, offset: 0xee): sysent	
-    <a5>   DW_AT_byte_size   : 20	
-    <a6>   DW_AT_decl_file   : 4	
-    <a7>   DW_AT_decl_line   : 4	
-    <a8>   DW_AT_sibling     : <0xf3>	
- <2><ac>: Abbrev Number: 10 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x112): nargs	
-    <b1>   DW_AT_decl_file   : 4	
-    <b2>   DW_AT_decl_line   : 5	
-    <b3>   DW_AT_type        : <0x47>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ba>: Abbrev Number: 10 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0xad): sys_flags	
-    <bf>   DW_AT_decl_file   : 4	
-    <c0>   DW_AT_decl_line   : 6	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c8>: Abbrev Number: 11 (DW_TAG_member)
-    <c9>   DW_AT_name        : sen	
-    <cd>   DW_AT_decl_file   : 4	
-    <ce>   DW_AT_decl_line   : 7	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d6>: Abbrev Number: 10 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x231): sys_func	
-    <db>   DW_AT_decl_file   : 4	
-    <dc>   DW_AT_decl_line   : 8	
-    <dd>   DW_AT_type        : <0xfe>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e4>: Abbrev Number: 10 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0x9d): sys_name	
-    <e9>   DW_AT_decl_file   : 4	
-    <ea>   DW_AT_decl_line   : 9	
-    <eb>   DW_AT_type        : <0x95>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><f2>: Abbrev Number: 0
- <1><f3>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <f4>   DW_AT_type        : <0x2b>	
-    <f8>   DW_AT_sibling     : <0xfe>	
- <2><fc>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><fd>: Abbrev Number: 0
- <1><fe>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <ff>   DW_AT_byte_size   : 4	
-    <100>   DW_AT_type        : <0xf3>	
- <1><104>: Abbrev Number: 5 (DW_TAG_typedef)
-    <105>   DW_AT_name        : (indirect string, offset: 0x161): struct_sysent	
-    <109>   DW_AT_decl_file   : 4	
-    <10a>   DW_AT_decl_line   : 10	
-    <10b>   DW_AT_type        : <0xa0>	
- <1><10f>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <110>   DW_AT_byte_size   : 4	
-    <111>   DW_AT_type        : <0x115>	
- <1><115>: Abbrev Number: 8 (DW_TAG_const_type)
-    <116>   DW_AT_type        : <0x104>	
- <1><11a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <11b>   DW_AT_byte_size   : 1	
-    <11c>   DW_AT_encoding    : 2	(boolean)
-    <11d>   DW_AT_name        : (indirect string, offset: 0x27): _Bool	
- <1><121>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <122>   DW_AT_name        : (indirect string, offset: 0x118): iovec	
-    <126>   DW_AT_byte_size   : 8	
-    <127>   DW_AT_decl_file   : 5	
-    <128>   DW_AT_decl_line   : 43	
-    <129>   DW_AT_sibling     : <0x14a>	
- <2><12d>: Abbrev Number: 10 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x14b): iov_base	
-    <132>   DW_AT_decl_file   : 5	
-    <133>   DW_AT_decl_line   : 45	
-    <134>   DW_AT_type        : <0x6a>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><13b>: Abbrev Number: 10 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x1f): iov_len	
-    <140>   DW_AT_decl_file   : 5	
-    <141>   DW_AT_decl_line   : 46	
-    <142>   DW_AT_type        : <0x7e>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><149>: Abbrev Number: 0
- <1><14a>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0xa6): msghdr	
-    <14f>   DW_AT_byte_size   : 28	
-    <150>   DW_AT_decl_file   : 6	
-    <151>   DW_AT_decl_line   : 224	
-    <152>   DW_AT_sibling     : <0x1b9>	
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x16): msg_name	
-    <15b>   DW_AT_decl_file   : 6	
-    <15c>   DW_AT_decl_line   : 226	
-    <15d>   DW_AT_type        : <0x6a>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><164>: Abbrev Number: 10 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x1e8): msg_namelen	
-    <169>   DW_AT_decl_file   : 6	
-    <16a>   DW_AT_decl_line   : 227	
-    <16b>   DW_AT_type        : <0x89>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><172>: Abbrev Number: 10 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x174): msg_iov	
-    <177>   DW_AT_decl_file   : 6	
-    <178>   DW_AT_decl_line   : 229	
-    <179>   DW_AT_type        : <0x1b9>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 10 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x1c6): msg_iovlen	
-    <185>   DW_AT_decl_file   : 6	
-    <186>   DW_AT_decl_line   : 230	
-    <187>   DW_AT_type        : <0x7e>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18e>: Abbrev Number: 10 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0x106): msg_control	
-    <193>   DW_AT_decl_file   : 6	
-    <194>   DW_AT_decl_line   : 232	
-    <195>   DW_AT_type        : <0x6a>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 10 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x0): msg_controllen	
-    <1a1>   DW_AT_decl_file   : 6	
-    <1a2>   DW_AT_decl_line   : 233	
-    <1a3>   DW_AT_type        : <0x7e>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1aa>: Abbrev Number: 10 (DW_TAG_member)
-    <1ab>   DW_AT_name        : (indirect string, offset: 0x35): msg_flags	
-    <1af>   DW_AT_decl_file   : 6	
-    <1b0>   DW_AT_decl_line   : 238	
-    <1b1>   DW_AT_type        : <0x2b>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1b8>: Abbrev Number: 0
- <1><1b9>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <1ba>   DW_AT_byte_size   : 4	
-    <1bb>   DW_AT_type        : <0x121>	
- <1><1bf>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0x1fe): mmsghdr	
-    <1c4>   DW_AT_byte_size   : 32	
-    <1c5>   DW_AT_decl_file   : 7	
-    <1c6>   DW_AT_decl_line   : 101	
-    <1c7>   DW_AT_sibling     : <0x1e8>	
- <2><1cb>: Abbrev Number: 10 (DW_TAG_member)
-    <1cc>   DW_AT_name        : (indirect string, offset: 0x2d): msg_hdr	
-    <1d0>   DW_AT_decl_file   : 7	
-    <1d1>   DW_AT_decl_line   : 103	
-    <1d2>   DW_AT_type        : <0x14a>	
-    <1d6>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1d9>: Abbrev Number: 10 (DW_TAG_member)
-    <1da>   DW_AT_name        : (indirect string, offset: 0x23a): msg_len	
-    <1de>   DW_AT_decl_file   : 7	
-    <1df>   DW_AT_decl_line   : 104	
-    <1e0>   DW_AT_type        : <0x47>	
-    <1e4>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1e7>: Abbrev Number: 0
- <1><1e8>: Abbrev Number: 5 (DW_TAG_typedef)
-    <1e9>   DW_AT_name        : (indirect string, offset: 0x17c): struct_mmsghdr	
-    <1ed>   DW_AT_decl_file   : 8	
-    <1ee>   DW_AT_decl_line   : 32	
-    <1ef>   DW_AT_type        : <0x1bf>	
- <1><1f3>: Abbrev Number: 14 (DW_TAG_variable)
-    <1f4>   DW_AT_name        : (indirect string, offset: 0xf5): current_wordsize	
-    <1f8>   DW_AT_decl_file   : 9	
-    <1f9>   DW_AT_decl_line   : 757	
-    <1fb>   DW_AT_type        : <0x47>	
-    <1ff>   DW_AT_external    : 1	
-    <200>   DW_AT_declaration : 1	
- <1><201>: Abbrev Number: 14 (DW_TAG_variable)
-    <202>   DW_AT_name        : (indirect string, offset: 0xee): sysent	
-    <206>   DW_AT_decl_file   : 9	
-    <207>   DW_AT_decl_line   : 892	
-    <209>   DW_AT_type        : <0x10f>	
-    <20d>   DW_AT_external    : 1	
-    <20e>   DW_AT_declaration : 1	
- <1><20f>: Abbrev Number: 14 (DW_TAG_variable)
-    <210>   DW_AT_name        : (indirect string, offset: 0x1bc): nsyscalls	
-    <214>   DW_AT_decl_file   : 9	
-    <215>   DW_AT_decl_line   : 903	
-    <217>   DW_AT_type        : <0x47>	
-    <21b>   DW_AT_external    : 1	
-    <21c>   DW_AT_declaration : 1	
- <1><21d>: Abbrev Number: 15 (DW_TAG_variable)
-    <21e>   DW_AT_name        : (indirect string, offset: 0x13a): mpers_target_var	
-    <222>   DW_AT_decl_file   : 8	
-    <223>   DW_AT_decl_line   : 34	
-    <224>   DW_AT_type        : <0x1e8>	
-    <228>   DW_AT_external    : 1	
-    <229>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><22f>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_mmsghdr.d2 b/mpers-mx32/struct_mmsghdr.d2
deleted file mode 100644
index d5045a9..0000000
--- a/mpers-mx32/struct_mmsghdr.d2
+++ /dev/null
@@ -1,298 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x225): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f4): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1da): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xce): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8a): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x154): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb7): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x206): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xdc): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d1): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x16f): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x219): __socklen_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 189
-DW_AT_type        : <0x47>
-<1><7e>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><89>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x20f): socklen_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_type        : <0x73>
-<1><95>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x9b>
-<1><9b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><a0>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xee): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf3>
-<2><ac>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x112): nargs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ba>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xad): sys_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c8>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x231): sys_func
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfe>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e4>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9d): sys_name
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x95>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f3>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfe>
-<2><fc>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><fe>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><104>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x161): struct_sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xa0>
-<1><10f>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x115>
-<1><115>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x104>
-<1><11a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x27): _Bool
-<1><121>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x118): iovec
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 43
-DW_AT_sibling     : <0x14a>
-<2><12d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14b): iov_base
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><13b>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): iov_len
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><14a>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xa6): msghdr
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 224
-DW_AT_sibling     : <0x1b9>
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16): msg_name
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 226
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><164>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e8): msg_namelen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 227
-DW_AT_type        : <0x89>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><172>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x174): msg_iov
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 229
-DW_AT_type        : <0x1b9>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c6): msg_iovlen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 230
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><18e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x106): msg_control
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 232
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): msg_controllen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 233
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1aa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x35): msg_flags
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 238
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><1b9>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x121>
-<1><1bf>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1fe): mmsghdr
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 101
-DW_AT_sibling     : <0x1e8>
-<2><1cb>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d): msg_hdr
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 103
-DW_AT_type        : <0x14a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1d9>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23a): msg_len
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 104
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><1e8>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17c): struct_mmsghdr
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x1bf>
-<1><1f3>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf5): current_wordsize
-DW_AT_decl_file   : 9
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><201>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xee): sysent
-DW_AT_decl_file   : 9
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10f>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><20f>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1bc): nsyscalls
-DW_AT_decl_file   : 9
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><21d>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x13a): mpers_target_var
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1e8>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_msghdr.d1 b/mpers-mx32/struct_msghdr.d1
deleted file mode 100644
index 8ec48e7..0000000
--- a/mpers-mx32/struct_msghdr.d1
+++ /dev/null
@@ -1,248 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x203 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x37): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x95): mpers-mx32/struct_msghdr.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x181): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x213): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1ea): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1d0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe1): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x82): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x159): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xca): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1f4): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xef): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1c7): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x174): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_typedef)
-    <74>   DW_AT_name        : (indirect string, offset: 0x207): __socklen_t	
-    <78>   DW_AT_decl_file   : 1	
-    <79>   DW_AT_decl_line   : 189	
-    <7a>   DW_AT_type        : <0x47>	
- <1><7e>: Abbrev Number: 5 (DW_TAG_typedef)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xf): size_t	
-    <83>   DW_AT_decl_file   : 2	
-    <84>   DW_AT_decl_line   : 212	
-    <85>   DW_AT_type        : <0x47>	
- <1><89>: Abbrev Number: 6 (DW_TAG_typedef)
-    <8a>   DW_AT_name        : (indirect string, offset: 0x1fd): socklen_t	
-    <8e>   DW_AT_decl_file   : 3	
-    <8f>   DW_AT_decl_line   : 274	
-    <91>   DW_AT_type        : <0x73>	
- <1><95>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <96>   DW_AT_byte_size   : 4	
-    <97>   DW_AT_type        : <0x9b>	
- <1><9b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <9c>   DW_AT_type        : <0x6c>	
- <1><a0>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <a1>   DW_AT_name        : (indirect string, offset: 0x101): sysent	
-    <a5>   DW_AT_byte_size   : 20	
-    <a6>   DW_AT_decl_file   : 4	
-    <a7>   DW_AT_decl_line   : 4	
-    <a8>   DW_AT_sibling     : <0xf3>	
- <2><ac>: Abbrev Number: 10 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x133): nargs	
-    <b1>   DW_AT_decl_file   : 4	
-    <b2>   DW_AT_decl_line   : 5	
-    <b3>   DW_AT_type        : <0x47>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ba>: Abbrev Number: 10 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0xc0): sys_flags	
-    <bf>   DW_AT_decl_file   : 4	
-    <c0>   DW_AT_decl_line   : 6	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c8>: Abbrev Number: 11 (DW_TAG_member)
-    <c9>   DW_AT_name        : sen	
-    <cd>   DW_AT_decl_file   : 4	
-    <ce>   DW_AT_decl_line   : 7	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d6>: Abbrev Number: 10 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x21f): sys_func	
-    <db>   DW_AT_decl_file   : 4	
-    <dc>   DW_AT_decl_line   : 8	
-    <dd>   DW_AT_type        : <0xfe>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e4>: Abbrev Number: 10 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0xb0): sys_name	
-    <e9>   DW_AT_decl_file   : 4	
-    <ea>   DW_AT_decl_line   : 9	
-    <eb>   DW_AT_type        : <0x95>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><f2>: Abbrev Number: 0
- <1><f3>: Abbrev Number: 12 (DW_TAG_subroutine_type)
-    <f4>   DW_AT_type        : <0x2b>	
-    <f8>   DW_AT_sibling     : <0xfe>	
- <2><fc>: Abbrev Number: 13 (DW_TAG_unspecified_parameters)
- <2><fd>: Abbrev Number: 0
- <1><fe>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <ff>   DW_AT_byte_size   : 4	
-    <100>   DW_AT_type        : <0xf3>	
- <1><104>: Abbrev Number: 5 (DW_TAG_typedef)
-    <105>   DW_AT_name        : (indirect string, offset: 0x166): struct_sysent	
-    <109>   DW_AT_decl_file   : 4	
-    <10a>   DW_AT_decl_line   : 10	
-    <10b>   DW_AT_type        : <0xa0>	
- <1><10f>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <110>   DW_AT_byte_size   : 4	
-    <111>   DW_AT_type        : <0x115>	
- <1><115>: Abbrev Number: 8 (DW_TAG_const_type)
-    <116>   DW_AT_type        : <0x104>	
- <1><11a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <11b>   DW_AT_byte_size   : 1	
-    <11c>   DW_AT_encoding    : 2	(boolean)
-    <11d>   DW_AT_name        : (indirect string, offset: 0x1f): _Bool	
- <1><121>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <122>   DW_AT_name        : (indirect string, offset: 0x139): iovec	
-    <126>   DW_AT_byte_size   : 8	
-    <127>   DW_AT_decl_file   : 5	
-    <128>   DW_AT_decl_line   : 43	
-    <129>   DW_AT_sibling     : <0x14a>	
- <2><12d>: Abbrev Number: 10 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x150): iov_base	
-    <132>   DW_AT_decl_file   : 5	
-    <133>   DW_AT_decl_line   : 45	
-    <134>   DW_AT_type        : <0x6a>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><13b>: Abbrev Number: 10 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x25): iov_len	
-    <140>   DW_AT_decl_file   : 5	
-    <141>   DW_AT_decl_line   : 46	
-    <142>   DW_AT_type        : <0x7e>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><149>: Abbrev Number: 0
- <1><14a>: Abbrev Number: 9 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0xb9): msghdr	
-    <14f>   DW_AT_byte_size   : 28	
-    <150>   DW_AT_decl_file   : 6	
-    <151>   DW_AT_decl_line   : 224	
-    <152>   DW_AT_sibling     : <0x1b9>	
- <2><156>: Abbrev Number: 10 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x16): msg_name	
-    <15b>   DW_AT_decl_file   : 6	
-    <15c>   DW_AT_decl_line   : 226	
-    <15d>   DW_AT_type        : <0x6a>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><164>: Abbrev Number: 10 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x1de): msg_namelen	
-    <169>   DW_AT_decl_file   : 6	
-    <16a>   DW_AT_decl_line   : 227	
-    <16b>   DW_AT_type        : <0x89>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><172>: Abbrev Number: 10 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x179): msg_iov	
-    <177>   DW_AT_decl_file   : 6	
-    <178>   DW_AT_decl_line   : 229	
-    <179>   DW_AT_type        : <0x1b9>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 10 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0x1bc): msg_iovlen	
-    <185>   DW_AT_decl_file   : 6	
-    <186>   DW_AT_decl_line   : 230	
-    <187>   DW_AT_type        : <0x7e>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18e>: Abbrev Number: 10 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0x119): msg_control	
-    <193>   DW_AT_decl_file   : 6	
-    <194>   DW_AT_decl_line   : 232	
-    <195>   DW_AT_type        : <0x6a>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><19c>: Abbrev Number: 10 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x0): msg_controllen	
-    <1a1>   DW_AT_decl_file   : 6	
-    <1a2>   DW_AT_decl_line   : 233	
-    <1a3>   DW_AT_type        : <0x7e>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1aa>: Abbrev Number: 10 (DW_TAG_member)
-    <1ab>   DW_AT_name        : (indirect string, offset: 0x2d): msg_flags	
-    <1af>   DW_AT_decl_file   : 6	
-    <1b0>   DW_AT_decl_line   : 238	
-    <1b1>   DW_AT_type        : <0x2b>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1b8>: Abbrev Number: 0
- <1><1b9>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <1ba>   DW_AT_byte_size   : 4	
-    <1bb>   DW_AT_type        : <0x121>	
- <1><1bf>: Abbrev Number: 5 (DW_TAG_typedef)
-    <1c0>   DW_AT_name        : (indirect string, offset: 0x125): struct_msghdr	
-    <1c4>   DW_AT_decl_file   : 7	
-    <1c5>   DW_AT_decl_line   : 32	
-    <1c6>   DW_AT_type        : <0x14a>	
- <1><1ca>: Abbrev Number: 14 (DW_TAG_variable)
-    <1cb>   DW_AT_name        : (indirect string, offset: 0x108): current_wordsize	
-    <1cf>   DW_AT_decl_file   : 8	
-    <1d0>   DW_AT_decl_line   : 757	
-    <1d2>   DW_AT_type        : <0x47>	
-    <1d6>   DW_AT_external    : 1	
-    <1d7>   DW_AT_declaration : 1	
- <1><1d8>: Abbrev Number: 14 (DW_TAG_variable)
-    <1d9>   DW_AT_name        : (indirect string, offset: 0x101): sysent	
-    <1dd>   DW_AT_decl_file   : 8	
-    <1de>   DW_AT_decl_line   : 892	
-    <1e0>   DW_AT_type        : <0x10f>	
-    <1e4>   DW_AT_external    : 1	
-    <1e5>   DW_AT_declaration : 1	
- <1><1e6>: Abbrev Number: 14 (DW_TAG_variable)
-    <1e7>   DW_AT_name        : (indirect string, offset: 0x1b2): nsyscalls	
-    <1eb>   DW_AT_decl_file   : 8	
-    <1ec>   DW_AT_decl_line   : 903	
-    <1ee>   DW_AT_type        : <0x47>	
-    <1f2>   DW_AT_external    : 1	
-    <1f3>   DW_AT_declaration : 1	
- <1><1f4>: Abbrev Number: 15 (DW_TAG_variable)
-    <1f5>   DW_AT_name        : (indirect string, offset: 0x13f): mpers_target_var	
-    <1f9>   DW_AT_decl_file   : 7	
-    <1fa>   DW_AT_decl_line   : 34	
-    <1fb>   DW_AT_type        : <0x1bf>	
-    <1ff>   DW_AT_external    : 1	
-    <200>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><206>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_msghdr.d2 b/mpers-mx32/struct_msghdr.d2
deleted file mode 100644
index eed6168..0000000
--- a/mpers-mx32/struct_msghdr.d2
+++ /dev/null
@@ -1,277 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x213): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ea): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe1): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x82): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x159): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xca): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f4): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xef): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c7): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x174): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x207): __socklen_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 189
-DW_AT_type        : <0x47>
-<1><7e>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xf): size_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 212
-DW_AT_type        : <0x47>
-<1><89>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1fd): socklen_t
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_type        : <0x73>
-<1><95>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x9b>
-<1><9b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><a0>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x101): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf3>
-<2><ac>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x133): nargs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ba>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc0): sys_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c8>
-Abbrev Number: 11 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d6>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21f): sys_func
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfe>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e4>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb0): sys_name
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x95>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f3>
-Abbrev Number: 12 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfe>
-<2><fc>
-Abbrev Number: 13 (DW_TAG_unspecified_parameters)
-<1><fe>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><104>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x166): struct_sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xa0>
-<1><10f>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x115>
-<1><115>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x104>
-<1><11a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1f): _Bool
-<1><121>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x139): iovec
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 43
-DW_AT_sibling     : <0x14a>
-<2><12d>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x150): iov_base
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><13b>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25): iov_len
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><14a>
-Abbrev Number: 9 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xb9): msghdr
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 224
-DW_AT_sibling     : <0x1b9>
-<2><156>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16): msg_name
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 226
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><164>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1de): msg_namelen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 227
-DW_AT_type        : <0x89>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><172>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x179): msg_iov
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 229
-DW_AT_type        : <0x1b9>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bc): msg_iovlen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 230
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><18e>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x119): msg_control
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 232
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><19c>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): msg_controllen
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 233
-DW_AT_type        : <0x7e>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1aa>
-Abbrev Number: 10 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d): msg_flags
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 238
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><1b9>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x121>
-<1><1bf>
-Abbrev Number: 5 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x125): struct_msghdr
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x14a>
-<1><1ca>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x108): current_wordsize
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1d8>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x101): sysent
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10f>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1e6>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b2): nsyscalls
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1f4>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x13f): mpers_target_var
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1bf>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/struct_mtd_oob_buf.c b/mpers-mx32/struct_mtd_oob_buf.c
index f781ae5..48fc9ab 100644
--- a/mpers-mx32/struct_mtd_oob_buf.c
+++ b/mpers-mx32/struct_mtd_oob_buf.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012 Mike Frysinger <vapier@gentoo.org>
+ * Copyright (c) 2012-2017 The strace developers.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
diff --git a/mpers-mx32/struct_mtd_oob_buf.d1 b/mpers-mx32/struct_mtd_oob_buf.d1
deleted file mode 100644
index cd327b9..0000000
--- a/mpers-mx32/struct_mtd_oob_buf.d1
+++ /dev/null
@@ -1,193 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x189 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x12): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x116): mpers-mx32/struct_mtd_oob_buf.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x136): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ad): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x194): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x17a): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xad): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5d): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0xf6): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x96): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1a4): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xbb): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x171): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x111): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xcd): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x19e): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x8c): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1b9): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x70): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x103): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x6): __u32	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 26	
-    <104>   DW_AT_type        : <0x47>	
- <1><108>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <109>   DW_AT_name        : (indirect string, offset: 0x188): mtd_oob_buf	
-    <10d>   DW_AT_byte_size   : 12	
-    <10e>   DW_AT_decl_file   : 3	
-    <10f>   DW_AT_decl_line   : 35	
-    <110>   DW_AT_sibling     : <0x13f>	
- <2><114>: Abbrev Number: 7 (DW_TAG_member)
-    <115>   DW_AT_name        : (indirect string, offset: 0xc): start	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 36	
-    <11b>   DW_AT_type        : <0xfd>	
-    <11f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><122>: Abbrev Number: 7 (DW_TAG_member)
-    <123>   DW_AT_name        : (indirect string, offset: 0x1c2): length	
-    <127>   DW_AT_decl_file   : 3	
-    <128>   DW_AT_decl_line   : 37	
-    <129>   DW_AT_type        : <0xfd>	
-    <12d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><130>: Abbrev Number: 8 (DW_TAG_member)
-    <131>   DW_AT_name        : ptr	
-    <135>   DW_AT_decl_file   : 3	
-    <136>   DW_AT_decl_line   : 38	
-    <137>   DW_AT_type        : <0x13f>	
-    <13b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13e>: Abbrev Number: 0
- <1><13f>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <140>   DW_AT_byte_size   : 4	
-    <141>   DW_AT_type        : <0x39>	
- <1><145>: Abbrev Number: 11 (DW_TAG_typedef)
-    <146>   DW_AT_name        : (indirect string, offset: 0x79): struct_mtd_oob_buf	
-    <14a>   DW_AT_decl_file   : 4	
-    <14b>   DW_AT_decl_line   : 40	
-    <14c>   DW_AT_type        : <0x108>	
- <1><150>: Abbrev Number: 12 (DW_TAG_variable)
-    <151>   DW_AT_name        : (indirect string, offset: 0xd4): current_wordsize	
-    <155>   DW_AT_decl_file   : 5	
-    <156>   DW_AT_decl_line   : 757	
-    <158>   DW_AT_type        : <0x47>	
-    <15c>   DW_AT_external    : 1	
-    <15d>   DW_AT_declaration : 1	
- <1><15e>: Abbrev Number: 12 (DW_TAG_variable)
-    <15f>   DW_AT_name        : (indirect string, offset: 0xcd): sysent	
-    <163>   DW_AT_decl_file   : 5	
-    <164>   DW_AT_decl_line   : 892	
-    <166>   DW_AT_type        : <0xeb>	
-    <16a>   DW_AT_external    : 1	
-    <16b>   DW_AT_declaration : 1	
- <1><16c>: Abbrev Number: 12 (DW_TAG_variable)
-    <16d>   DW_AT_name        : (indirect string, offset: 0x167): nsyscalls	
-    <171>   DW_AT_decl_file   : 5	
-    <172>   DW_AT_decl_line   : 903	
-    <174>   DW_AT_type        : <0x47>	
-    <178>   DW_AT_external    : 1	
-    <179>   DW_AT_declaration : 1	
- <1><17a>: Abbrev Number: 13 (DW_TAG_variable)
-    <17b>   DW_AT_name        : (indirect string, offset: 0xe5): mpers_target_var	
-    <17f>   DW_AT_decl_file   : 4	
-    <180>   DW_AT_decl_line   : 42	
-    <181>   DW_AT_type        : <0x145>	
-    <185>   DW_AT_external    : 1	
-    <186>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
- <1><18c>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_mtd_oob_buf.d2 b/mpers-mx32/struct_mtd_oob_buf.d2
deleted file mode 100644
index 733de15..0000000
--- a/mpers-mx32/struct_mtd_oob_buf.d2
+++ /dev/null
@@ -1,213 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ad): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x194): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x17a): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xad): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5d): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf6): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x96): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a4): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbb): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x171): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x111): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xcd): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19e): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8c): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b9): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x70): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x103): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><108>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x188): mtd_oob_buf
-DW_AT_byte_size   : 12
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_sibling     : <0x13f>
-<2><114>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><122>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c2): length
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><130>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : ptr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x13f>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><13f>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x39>
-<1><145>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x79): struct_mtd_oob_buf
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x108>
-<1><150>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xd4): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><15e>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xcd): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><16c>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x167): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17a>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe5): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x145>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
diff --git a/mpers-mx32/struct_rt_sigframe.c b/mpers-mx32/struct_rt_sigframe.c
new file mode 100644
index 0000000..e5a0b48
--- /dev/null
+++ b/mpers-mx32/struct_rt_sigframe.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "defs.h"
+
+
+#include "rt_sigframe.h"
+
+struct_rt_sigframe mpers_target_var;
diff --git a/mpers-mx32/struct_rt_sigframe.h b/mpers-mx32/struct_rt_sigframe.h
new file mode 100644
index 0000000..5bbd4c4
--- /dev/null
+++ b/mpers-mx32/struct_rt_sigframe.h
@@ -0,0 +1,45 @@
+#include <inttypes.h>
+typedef uint32_t mpers_ptr_t;
+typedef
+struct {
+uint64_t pretcode;
+struct {
+uint32_t uc_flags;
+mpers_ptr_t uc_link;
+struct {
+mpers_ptr_t ss_sp;
+int32_t ss_flags;
+uint32_t ss_size;
+} ATTRIBUTE_PACKED uc_stack;
+unsigned char mpers_filler_1[4];
+struct {
+int64_t gregs[23];
+mpers_ptr_t fpregs;
+unsigned char mpers_filler_2[4];
+uint64_t __reserved1[8];
+} ATTRIBUTE_PACKED uc_mcontext;
+struct {
+uint32_t __val[32];
+} ATTRIBUTE_PACKED uc_sigmask;
+struct {
+uint16_t cwd;
+uint16_t swd;
+uint16_t ftw;
+uint16_t fop;
+uint64_t rip;
+uint64_t rdp;
+uint32_t mxcsr;
+uint32_t mxcr_mask;
+struct {
+uint16_t significand[4];
+uint16_t exponent;
+uint16_t padding[3];
+} ATTRIBUTE_PACKED _st[8];
+struct {
+uint32_t element[4];
+} ATTRIBUTE_PACKED _xmm[16];
+uint32_t padding[24];
+} ATTRIBUTE_PACKED __fpregs_mem;
+} ATTRIBUTE_PACKED uc;
+} ATTRIBUTE_PACKED mx32_struct_rt_sigframe;
+#define MPERS_mx32_struct_rt_sigframe mx32_struct_rt_sigframe
diff --git a/mpers-mx32/struct_rtc_pll_info.d1 b/mpers-mx32/struct_rtc_pll_info.d1
deleted file mode 100644
index 033071f..0000000
--- a/mpers-mx32/struct_rtc_pll_info.d1
+++ /dev/null
@@ -1,209 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1b0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x26): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x127): mpers-mx32/struct_rtc_pll_info.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x165): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e9): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1bf): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1b1): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xc7): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x71): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x84): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xb0): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1d6): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xd5): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1a0): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x156): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xe7): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xff): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xa6): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1f5): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x9d): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x148): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x20): _Bool	
- <1><fd>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x1c9): rtc_pll_info	
-    <102>   DW_AT_byte_size   : 28	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 55	
-    <105>   DW_AT_sibling     : <0x16c>	
- <2><109>: Abbrev Number: 7 (DW_TAG_member)
-    <10a>   DW_AT_name        : (indirect string, offset: 0x105): pll_ctrl	
-    <10e>   DW_AT_decl_file   : 2	
-    <10f>   DW_AT_decl_line   : 56	
-    <110>   DW_AT_type        : <0x2b>	
-    <114>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><117>: Abbrev Number: 7 (DW_TAG_member)
-    <118>   DW_AT_name        : (indirect string, offset: 0x15b): pll_value	
-    <11c>   DW_AT_decl_file   : 2	
-    <11d>   DW_AT_decl_line   : 57	
-    <11e>   DW_AT_type        : <0x2b>	
-    <122>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><125>: Abbrev Number: 7 (DW_TAG_member)
-    <126>   DW_AT_name        : (indirect string, offset: 0x11f): pll_max	
-    <12a>   DW_AT_decl_file   : 2	
-    <12b>   DW_AT_decl_line   : 58	
-    <12c>   DW_AT_type        : <0x2b>	
-    <130>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><133>: Abbrev Number: 7 (DW_TAG_member)
-    <134>   DW_AT_name        : (indirect string, offset: 0x1a9): pll_min	
-    <138>   DW_AT_decl_file   : 2	
-    <139>   DW_AT_decl_line   : 59	
-    <13a>   DW_AT_type        : <0x2b>	
-    <13e>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><141>: Abbrev Number: 7 (DW_TAG_member)
-    <142>   DW_AT_name        : (indirect string, offset: 0x91): pll_posmult	
-    <146>   DW_AT_decl_file   : 2	
-    <147>   DW_AT_decl_line   : 60	
-    <148>   DW_AT_type        : <0x2b>	
-    <14c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><14f>: Abbrev Number: 7 (DW_TAG_member)
-    <150>   DW_AT_name        : (indirect string, offset: 0x0): pll_negmult	
-    <154>   DW_AT_decl_file   : 2	
-    <155>   DW_AT_decl_line   : 61	
-    <156>   DW_AT_type        : <0x2b>	
-    <15a>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><15d>: Abbrev Number: 7 (DW_TAG_member)
-    <15e>   DW_AT_name        : (indirect string, offset: 0x1df): pll_clock	
-    <162>   DW_AT_decl_file   : 2	
-    <163>   DW_AT_decl_line   : 62	
-    <164>   DW_AT_type        : <0x55>	
-    <168>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><16b>: Abbrev Number: 0
- <1><16c>: Abbrev Number: 11 (DW_TAG_typedef)
-    <16d>   DW_AT_name        : (indirect string, offset: 0xc): struct_rtc_pll_info	
-    <171>   DW_AT_decl_file   : 3	
-    <172>   DW_AT_decl_line   : 35	
-    <173>   DW_AT_type        : <0xfd>	
- <1><177>: Abbrev Number: 12 (DW_TAG_variable)
-    <178>   DW_AT_name        : (indirect string, offset: 0xee): current_wordsize	
-    <17c>   DW_AT_decl_file   : 4	
-    <17d>   DW_AT_decl_line   : 757	
-    <17f>   DW_AT_type        : <0x47>	
-    <183>   DW_AT_external    : 1	
-    <184>   DW_AT_declaration : 1	
- <1><185>: Abbrev Number: 12 (DW_TAG_variable)
-    <186>   DW_AT_name        : (indirect string, offset: 0xe7): sysent	
-    <18a>   DW_AT_decl_file   : 4	
-    <18b>   DW_AT_decl_line   : 892	
-    <18d>   DW_AT_type        : <0xeb>	
-    <191>   DW_AT_external    : 1	
-    <192>   DW_AT_declaration : 1	
- <1><193>: Abbrev Number: 12 (DW_TAG_variable)
-    <194>   DW_AT_name        : (indirect string, offset: 0x196): nsyscalls	
-    <198>   DW_AT_decl_file   : 4	
-    <199>   DW_AT_decl_line   : 903	
-    <19b>   DW_AT_type        : <0x47>	
-    <19f>   DW_AT_external    : 1	
-    <1a0>   DW_AT_declaration : 1	
- <1><1a1>: Abbrev Number: 13 (DW_TAG_variable)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x10e): mpers_target_var	
-    <1a6>   DW_AT_decl_file   : 3	
-    <1a7>   DW_AT_decl_line   : 37	
-    <1a8>   DW_AT_type        : <0x16c>	
-    <1ac>   DW_AT_external    : 1	
-    <1ad>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><1b3>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_rtc_pll_info.d2 b/mpers-mx32/struct_rtc_pll_info.d2
deleted file mode 100644
index 64c048b..0000000
--- a/mpers-mx32/struct_rtc_pll_info.d2
+++ /dev/null
@@ -1,231 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e9): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1bf): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1b1): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xc7): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x71): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x84): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb0): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d6): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd5): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1a0): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x156): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe7): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xff): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa6): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f5): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9d): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x148): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x20): _Bool
-<1><fd>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1c9): rtc_pll_info
-DW_AT_byte_size   : 28
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 55
-DW_AT_sibling     : <0x16c>
-<2><109>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x105): pll_ctrl
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><117>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15b): pll_value
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><125>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11f): pll_max
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><133>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a9): pll_min
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><141>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x91): pll_posmult
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 60
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><14f>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): pll_negmult
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><15d>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1df): pll_clock
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 62
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><16c>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xc): struct_rtc_pll_info
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xfd>
-<1><177>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xee): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><185>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe7): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><193>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x196): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a1>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x10e): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x16c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/struct_sg_io_hdr.d1 b/mpers-mx32/struct_sg_io_hdr.d1
deleted file mode 100644
index d7283b1..0000000
--- a/mpers-mx32/struct_sg_io_hdr.d1
+++ /dev/null
@@ -1,304 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x28a (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x1d): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xcc): mpers-mx32/struct_sg_io_hdr.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x185): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0xa8): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x20f): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1dd): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xb4): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x68): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x15f): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x260): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x236): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xf6): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1ca): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x180): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0x108): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x219): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x9e): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x257): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x87): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x172): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x6): _Bool	
- <1><ff>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <100>   DW_AT_name        : (indirect string, offset: 0xc2): sg_io_hdr	
-    <104>   DW_AT_byte_size   : 64	
-    <105>   DW_AT_decl_file   : 2	
-    <106>   DW_AT_decl_line   : 44	
-    <107>   DW_AT_sibling     : <0x240>	
- <2><10b>: Abbrev Number: 8 (DW_TAG_member)
-    <10c>   DW_AT_name        : (indirect string, offset: 0x1eb): interface_id	
-    <110>   DW_AT_decl_file   : 2	
-    <111>   DW_AT_decl_line   : 46	
-    <112>   DW_AT_type        : <0x2b>	
-    <116>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><119>: Abbrev Number: 8 (DW_TAG_member)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x10f): dxfer_direction	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 47	
-    <120>   DW_AT_type        : <0x2b>	
-    <124>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><127>: Abbrev Number: 8 (DW_TAG_member)
-    <128>   DW_AT_name        : (indirect string, offset: 0x157): cmd_len	
-    <12c>   DW_AT_decl_file   : 2	
-    <12d>   DW_AT_decl_line   : 48	
-    <12e>   DW_AT_type        : <0x39>	
-    <132>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><135>: Abbrev Number: 8 (DW_TAG_member)
-    <136>   DW_AT_name        : (indirect string, offset: 0x1c0): mx_sb_len	
-    <13a>   DW_AT_decl_file   : 2	
-    <13b>   DW_AT_decl_line   : 49	
-    <13c>   DW_AT_type        : <0x39>	
-    <140>   DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
- <2><143>: Abbrev Number: 8 (DW_TAG_member)
-    <144>   DW_AT_name        : (indirect string, offset: 0xea): iovec_count	
-    <148>   DW_AT_decl_file   : 2	
-    <149>   DW_AT_decl_line   : 50	
-    <14a>   DW_AT_type        : <0x40>	
-    <14e>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><151>: Abbrev Number: 8 (DW_TAG_member)
-    <152>   DW_AT_name        : (indirect string, offset: 0x1d3): dxfer_len	
-    <156>   DW_AT_decl_file   : 2	
-    <157>   DW_AT_decl_line   : 51	
-    <158>   DW_AT_type        : <0x47>	
-    <15c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><15f>: Abbrev Number: 8 (DW_TAG_member)
-    <160>   DW_AT_name        : (indirect string, offset: 0x208): dxferp	
-    <164>   DW_AT_decl_file   : 2	
-    <165>   DW_AT_decl_line   : 52	
-    <166>   DW_AT_type        : <0x6a>	
-    <16a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><16d>: Abbrev Number: 8 (DW_TAG_member)
-    <16e>   DW_AT_name        : (indirect string, offset: 0x7b): cmdp	
-    <172>   DW_AT_decl_file   : 2	
-    <173>   DW_AT_decl_line   : 54	
-    <174>   DW_AT_type        : <0x240>	
-    <178>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><17b>: Abbrev Number: 9 (DW_TAG_member)
-    <17c>   DW_AT_name        : sbp	
-    <180>   DW_AT_decl_file   : 2	
-    <181>   DW_AT_decl_line   : 55	
-    <182>   DW_AT_type        : <0x240>	
-    <186>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><189>: Abbrev Number: 8 (DW_TAG_member)
-    <18a>   DW_AT_name        : (indirect string, offset: 0xc): timeout	
-    <18e>   DW_AT_decl_file   : 2	
-    <18f>   DW_AT_decl_line   : 56	
-    <190>   DW_AT_type        : <0x47>	
-    <194>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><197>: Abbrev Number: 8 (DW_TAG_member)
-    <198>   DW_AT_name        : (indirect string, offset: 0x16c): flags	
-    <19c>   DW_AT_decl_file   : 2	
-    <19d>   DW_AT_decl_line   : 57	
-    <19e>   DW_AT_type        : <0x47>	
-    <1a2>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1a5>: Abbrev Number: 8 (DW_TAG_member)
-    <1a6>   DW_AT_name        : (indirect string, offset: 0x1f8): pack_id	
-    <1aa>   DW_AT_decl_file   : 2	
-    <1ab>   DW_AT_decl_line   : 58	
-    <1ac>   DW_AT_type        : <0x2b>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1b3>: Abbrev Number: 8 (DW_TAG_member)
-    <1b4>   DW_AT_name        : (indirect string, offset: 0x200): usr_ptr	
-    <1b8>   DW_AT_decl_file   : 2	
-    <1b9>   DW_AT_decl_line   : 59	
-    <1ba>   DW_AT_type        : <0x6a>	
-    <1be>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1c1>: Abbrev Number: 8 (DW_TAG_member)
-    <1c2>   DW_AT_name        : (indirect string, offset: 0x80): status	
-    <1c6>   DW_AT_decl_file   : 2	
-    <1c7>   DW_AT_decl_line   : 60	
-    <1c8>   DW_AT_type        : <0x39>	
-    <1cc>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1cf>: Abbrev Number: 8 (DW_TAG_member)
-    <1d0>   DW_AT_name        : (indirect string, offset: 0x249): masked_status	
-    <1d4>   DW_AT_decl_file   : 2	
-    <1d5>   DW_AT_decl_line   : 61	
-    <1d6>   DW_AT_type        : <0x39>	
-    <1da>   DW_AT_data_member_location: 2 byte block: 23 2d 	(DW_OP_plus_uconst: 45)
- <2><1dd>: Abbrev Number: 8 (DW_TAG_member)
-    <1de>   DW_AT_name        : (indirect string, offset: 0x22b): msg_status	
-    <1e2>   DW_AT_decl_file   : 2	
-    <1e3>   DW_AT_decl_line   : 62	
-    <1e4>   DW_AT_type        : <0x39>	
-    <1e8>   DW_AT_data_member_location: 2 byte block: 23 2e 	(DW_OP_plus_uconst: 46)
- <2><1eb>: Abbrev Number: 8 (DW_TAG_member)
-    <1ec>   DW_AT_name        : (indirect string, offset: 0x23f): sb_len_wr	
-    <1f0>   DW_AT_decl_file   : 2	
-    <1f1>   DW_AT_decl_line   : 63	
-    <1f2>   DW_AT_type        : <0x39>	
-    <1f6>   DW_AT_data_member_location: 2 byte block: 23 2f 	(DW_OP_plus_uconst: 47)
- <2><1f9>: Abbrev Number: 8 (DW_TAG_member)
-    <1fa>   DW_AT_name        : (indirect string, offset: 0x21f): host_status	
-    <1fe>   DW_AT_decl_file   : 2	
-    <1ff>   DW_AT_decl_line   : 64	
-    <200>   DW_AT_type        : <0x40>	
-    <204>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><207>: Abbrev Number: 8 (DW_TAG_member)
-    <208>   DW_AT_name        : (indirect string, offset: 0x90): driver_status	
-    <20c>   DW_AT_decl_file   : 2	
-    <20d>   DW_AT_decl_line   : 65	
-    <20e>   DW_AT_type        : <0x40>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 32 	(DW_OP_plus_uconst: 50)
- <2><215>: Abbrev Number: 8 (DW_TAG_member)
-    <216>   DW_AT_name        : (indirect string, offset: 0x0): resid	
-    <21a>   DW_AT_decl_file   : 2	
-    <21b>   DW_AT_decl_line   : 66	
-    <21c>   DW_AT_type        : <0x2b>	
-    <220>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><223>: Abbrev Number: 8 (DW_TAG_member)
-    <224>   DW_AT_name        : (indirect string, offset: 0x14): duration	
-    <228>   DW_AT_decl_file   : 2	
-    <229>   DW_AT_decl_line   : 67	
-    <22a>   DW_AT_type        : <0x47>	
-    <22e>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><231>: Abbrev Number: 8 (DW_TAG_member)
-    <232>   DW_AT_name        : (indirect string, offset: 0x130): info	
-    <236>   DW_AT_decl_file   : 2	
-    <237>   DW_AT_decl_line   : 68	
-    <238>   DW_AT_type        : <0x47>	
-    <23c>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><23f>: Abbrev Number: 0
- <1><240>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <241>   DW_AT_byte_size   : 4	
-    <242>   DW_AT_type        : <0x39>	
- <1><246>: Abbrev Number: 12 (DW_TAG_typedef)
-    <247>   DW_AT_name        : (indirect string, offset: 0x146): struct_sg_io_hdr	
-    <24b>   DW_AT_decl_file   : 3	
-    <24c>   DW_AT_decl_line   : 37	
-    <24d>   DW_AT_type        : <0xff>	
- <1><251>: Abbrev Number: 13 (DW_TAG_variable)
-    <252>   DW_AT_name        : (indirect string, offset: 0x11f): current_wordsize	
-    <256>   DW_AT_decl_file   : 4	
-    <257>   DW_AT_decl_line   : 757	
-    <259>   DW_AT_type        : <0x47>	
-    <25d>   DW_AT_external    : 1	
-    <25e>   DW_AT_declaration : 1	
- <1><25f>: Abbrev Number: 13 (DW_TAG_variable)
-    <260>   DW_AT_name        : (indirect string, offset: 0x108): sysent	
-    <264>   DW_AT_decl_file   : 4	
-    <265>   DW_AT_decl_line   : 892	
-    <267>   DW_AT_type        : <0xed>	
-    <26b>   DW_AT_external    : 1	
-    <26c>   DW_AT_declaration : 1	
- <1><26d>: Abbrev Number: 13 (DW_TAG_variable)
-    <26e>   DW_AT_name        : (indirect string, offset: 0x1b6): nsyscalls	
-    <272>   DW_AT_decl_file   : 4	
-    <273>   DW_AT_decl_line   : 903	
-    <275>   DW_AT_type        : <0x47>	
-    <279>   DW_AT_external    : 1	
-    <27a>   DW_AT_declaration : 1	
- <1><27b>: Abbrev Number: 14 (DW_TAG_variable)
-    <27c>   DW_AT_name        : (indirect string, offset: 0x135): mpers_target_var	
-    <280>   DW_AT_decl_file   : 3	
-    <281>   DW_AT_decl_line   : 41	
-    <282>   DW_AT_type        : <0x246>	
-    <286>   DW_AT_external    : 1	
-    <287>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><28d>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_sg_io_hdr.d2 b/mpers-mx32/struct_sg_io_hdr.d2
deleted file mode 100644
index b0dc22a..0000000
--- a/mpers-mx32/struct_sg_io_hdr.d2
+++ /dev/null
@@ -1,343 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0xa8): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x20f): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1dd): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xb4): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x68): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x15f): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x260): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x236): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf6): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1ca): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x180): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x108): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x219): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9e): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x257): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x87): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x172): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x6): _Bool
-<1><ff>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc2): sg_io_hdr
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 44
-DW_AT_sibling     : <0x240>
-<2><10b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1eb): interface_id
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><119>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10f): dxfer_direction
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><127>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x157): cmd_len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><135>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c0): mx_sb_len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
-<2><143>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xea): iovec_count
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><151>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d3): dxfer_len
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><15f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x208): dxferp
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><16d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7b): cmdp
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x240>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><17b>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sbp
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x240>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><189>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc): timeout
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><197>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16c): flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1a5>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f8): pack_id
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 58
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1b3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x200): usr_ptr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1c1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x80): status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 60
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1cf>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x249): masked_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2d 	(DW_OP_plus_uconst: 45)
-<2><1dd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22b): msg_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 62
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2e 	(DW_OP_plus_uconst: 46)
-<2><1eb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23f): sb_len_wr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 63
-DW_AT_type        : <0x39>
-DW_AT_data_member_location: 2 byte block: 23 2f 	(DW_OP_plus_uconst: 47)
-<2><1f9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21f): host_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 64
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><207>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x90): driver_status
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 65
-DW_AT_type        : <0x40>
-DW_AT_data_member_location: 2 byte block: 23 32 	(DW_OP_plus_uconst: 50)
-<2><215>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): resid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 66
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<2><223>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14): duration
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 67
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><231>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x130): info
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 68
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<1><240>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x39>
-<1><246>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x146): struct_sg_io_hdr
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0xff>
-<1><251>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11f): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><25f>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x108): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><26d>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b6): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><27b>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x135): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x246>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_sg_req_info.d1 b/mpers-mx32/struct_sg_req_info.d1
deleted file mode 100644
index 64e80e7..0000000
--- a/mpers-mx32/struct_sg_req_info.d1
+++ /dev/null
@@ -1,217 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1c0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0xf): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xf8): mpers-mx32/struct_sg_req_info.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x14f): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1e6): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1c4): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x19a): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xb4): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5a): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x12f): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x9d): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1d5): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xce): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x191): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x14a): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0xe0): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x118): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x93): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x1f2): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x8a): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x13c): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><ff>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <100>   DW_AT_name        : (indirect string, offset: 0x1b8): sg_req_info	
-    <104>   DW_AT_byte_size   : 20	
-    <105>   DW_AT_decl_file   : 2	
-    <106>   DW_AT_decl_line   : 120	
-    <107>   DW_AT_sibling     : <0x17c>	
- <2><10b>: Abbrev Number: 8 (DW_TAG_member)
-    <10c>   DW_AT_name        : (indirect string, offset: 0x6d): req_state	
-    <110>   DW_AT_decl_file   : 2	
-    <111>   DW_AT_decl_line   : 121	
-    <112>   DW_AT_type        : <0x6c>	
-    <116>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><119>: Abbrev Number: 8 (DW_TAG_member)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x1ce): orphan	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 122	
-    <120>   DW_AT_type        : <0x6c>	
-    <124>   DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
- <2><127>: Abbrev Number: 8 (DW_TAG_member)
-    <128>   DW_AT_name        : (indirect string, offset: 0xc2): sg_io_owned	
-    <12c>   DW_AT_decl_file   : 2	
-    <12d>   DW_AT_decl_line   : 123	
-    <12e>   DW_AT_type        : <0x6c>	
-    <132>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><135>: Abbrev Number: 8 (DW_TAG_member)
-    <136>   DW_AT_name        : (indirect string, offset: 0x1de): problem	
-    <13a>   DW_AT_decl_file   : 2	
-    <13b>   DW_AT_decl_line   : 124	
-    <13c>   DW_AT_type        : <0x6c>	
-    <140>   DW_AT_data_member_location: 2 byte block: 23 3 	(DW_OP_plus_uconst: 3)
- <2><143>: Abbrev Number: 8 (DW_TAG_member)
-    <144>   DW_AT_name        : (indirect string, offset: 0x1a8): pack_id	
-    <148>   DW_AT_decl_file   : 2	
-    <149>   DW_AT_decl_line   : 125	
-    <14a>   DW_AT_type        : <0x2b>	
-    <14e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><151>: Abbrev Number: 8 (DW_TAG_member)
-    <152>   DW_AT_name        : (indirect string, offset: 0x1b0): usr_ptr	
-    <156>   DW_AT_decl_file   : 2	
-    <157>   DW_AT_decl_line   : 126	
-    <158>   DW_AT_type        : <0x6a>	
-    <15c>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><15f>: Abbrev Number: 8 (DW_TAG_member)
-    <160>   DW_AT_name        : (indirect string, offset: 0x6): duration	
-    <164>   DW_AT_decl_file   : 2	
-    <165>   DW_AT_decl_line   : 127	
-    <166>   DW_AT_type        : <0x47>	
-    <16a>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><16d>: Abbrev Number: 8 (DW_TAG_member)
-    <16e>   DW_AT_name        : (indirect string, offset: 0x18a): unused	
-    <172>   DW_AT_decl_file   : 2	
-    <173>   DW_AT_decl_line   : 129	
-    <174>   DW_AT_type        : <0x2b>	
-    <178>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><17b>: Abbrev Number: 0
- <1><17c>: Abbrev Number: 12 (DW_TAG_typedef)
-    <17d>   DW_AT_name        : (indirect string, offset: 0x77): struct_sg_req_info	
-    <181>   DW_AT_decl_file   : 3	
-    <182>   DW_AT_decl_line   : 37	
-    <183>   DW_AT_type        : <0xff>	
- <1><187>: Abbrev Number: 13 (DW_TAG_variable)
-    <188>   DW_AT_name        : (indirect string, offset: 0xe7): current_wordsize	
-    <18c>   DW_AT_decl_file   : 4	
-    <18d>   DW_AT_decl_line   : 757	
-    <18f>   DW_AT_type        : <0x47>	
-    <193>   DW_AT_external    : 1	
-    <194>   DW_AT_declaration : 1	
- <1><195>: Abbrev Number: 13 (DW_TAG_variable)
-    <196>   DW_AT_name        : (indirect string, offset: 0xe0): sysent	
-    <19a>   DW_AT_decl_file   : 4	
-    <19b>   DW_AT_decl_line   : 892	
-    <19d>   DW_AT_type        : <0xed>	
-    <1a1>   DW_AT_external    : 1	
-    <1a2>   DW_AT_declaration : 1	
- <1><1a3>: Abbrev Number: 13 (DW_TAG_variable)
-    <1a4>   DW_AT_name        : (indirect string, offset: 0x180): nsyscalls	
-    <1a8>   DW_AT_decl_file   : 4	
-    <1a9>   DW_AT_decl_line   : 903	
-    <1ab>   DW_AT_type        : <0x47>	
-    <1af>   DW_AT_external    : 1	
-    <1b0>   DW_AT_declaration : 1	
- <1><1b1>: Abbrev Number: 14 (DW_TAG_variable)
-    <1b2>   DW_AT_name        : (indirect string, offset: 0x11e): mpers_target_var	
-    <1b6>   DW_AT_decl_file   : 3	
-    <1b7>   DW_AT_decl_line   : 41	
-    <1b8>   DW_AT_type        : <0x17c>	
-    <1bc>   DW_AT_external    : 1	
-    <1bd>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><1c3>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_sg_req_info.d2 b/mpers-mx32/struct_sg_req_info.d2
deleted file mode 100644
index eef79c9..0000000
--- a/mpers-mx32/struct_sg_req_info.d2
+++ /dev/null
@@ -1,241 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1e6): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c4): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19a): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xb4): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5a): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12f): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x9d): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d5): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xce): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x191): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x14a): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe0): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x118): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x93): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f2): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8a): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x13c): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><ff>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x1b8): sg_req_info
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 120
-DW_AT_sibling     : <0x17c>
-<2><10b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6d): req_state
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 121
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><119>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ce): orphan
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 122
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 1 	(DW_OP_plus_uconst: 1)
-<2><127>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc2): sg_io_owned
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 123
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><135>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1de): problem
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 124
-DW_AT_type        : <0x6c>
-DW_AT_data_member_location: 2 byte block: 23 3 	(DW_OP_plus_uconst: 3)
-<2><143>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a8): pack_id
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 125
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><151>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b0): usr_ptr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 126
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><15f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6): duration
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 127
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><16d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18a): unused
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 129
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><17c>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x77): struct_sg_req_info
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0xff>
-<1><187>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe7): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><195>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe0): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a3>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x180): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1b1>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11e): mpers_target_var
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x17c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/struct_sigevent.d1 b/mpers-mx32/struct_sigevent.d1
deleted file mode 100644
index 55d7558..0000000
--- a/mpers-mx32/struct_sigevent.d1
+++ /dev/null
@@ -1,240 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1e5 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x14): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1ab): mpers-mx32/struct_sigevent.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x134): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1de): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x182): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x0): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xac): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x114): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x85): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1c8): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x102): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x179): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x12f): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xc7): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0xdf): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x7b): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x1ea): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x72): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x121): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0xe): _Bool	
- <1><fd>: Abbrev Number: 12 (DW_TAG_union_type)
-    <fe>   DW_AT_byte_size   : 4	
-    <ff>   DW_AT_decl_file   : 2	
-    <100>   DW_AT_decl_line   : 32	
-    <101>   DW_AT_sibling     : <0x11c>	
- <2><105>: Abbrev Number: 13 (DW_TAG_member)
-    <106>   DW_AT_name        : (indirect string, offset: 0x18c): sival_int	
-    <10a>   DW_AT_decl_file   : 2	
-    <10b>   DW_AT_decl_line   : 33	
-    <10c>   DW_AT_type        : <0x2b>	
- <2><110>: Abbrev Number: 13 (DW_TAG_member)
-    <111>   DW_AT_name        : (indirect string, offset: 0x1fc): sival_ptr	
-    <115>   DW_AT_decl_file   : 2	
-    <116>   DW_AT_decl_line   : 34	
-    <117>   DW_AT_type        : <0x5c>	
- <2><11b>: Abbrev Number: 0
- <1><11c>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <11d>   DW_AT_byte_size   : 8	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 40	
-    <120>   DW_AT_sibling     : <0x141>	
- <2><124>: Abbrev Number: 7 (DW_TAG_member)
-    <125>   DW_AT_name        : (indirect string, offset: 0x1f3): function	
-    <129>   DW_AT_decl_file   : 2	
-    <12a>   DW_AT_decl_line   : 41	
-    <12b>   DW_AT_type        : <0x5c>	
-    <12f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><132>: Abbrev Number: 7 (DW_TAG_member)
-    <133>   DW_AT_name        : (indirect string, offset: 0x16f): attribute	
-    <137>   DW_AT_decl_file   : 2	
-    <138>   DW_AT_decl_line   : 42	
-    <139>   DW_AT_type        : <0x5c>	
-    <13d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><140>: Abbrev Number: 0
- <1><141>: Abbrev Number: 12 (DW_TAG_union_type)
-    <142>   DW_AT_byte_size   : 8	
-    <143>   DW_AT_decl_file   : 2	
-    <144>   DW_AT_decl_line   : 38	
-    <145>   DW_AT_sibling     : <0x160>	
- <2><149>: Abbrev Number: 15 (DW_TAG_member)
-    <14a>   DW_AT_name        : tid	
-    <14e>   DW_AT_decl_file   : 2	
-    <14f>   DW_AT_decl_line   : 39	
-    <150>   DW_AT_type        : <0x2b>	
- <2><154>: Abbrev Number: 13 (DW_TAG_member)
-    <155>   DW_AT_name        : (indirect string, offset: 0x1d1): sigev_thread	
-    <159>   DW_AT_decl_file   : 2	
-    <15a>   DW_AT_decl_line   : 43	
-    <15b>   DW_AT_type        : <0x11c>	
- <2><15f>: Abbrev Number: 0
- <1><160>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <161>   DW_AT_byte_size   : 20	
-    <162>   DW_AT_decl_file   : 2	
-    <163>   DW_AT_decl_line   : 31	
-    <164>   DW_AT_sibling     : <0x1a1>	
- <2><168>: Abbrev Number: 7 (DW_TAG_member)
-    <169>   DW_AT_name        : (indirect string, offset: 0x196): sigev_value	
-    <16d>   DW_AT_decl_file   : 2	
-    <16e>   DW_AT_decl_line   : 35	
-    <16f>   DW_AT_type        : <0xfd>	
-    <173>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><176>: Abbrev Number: 7 (DW_TAG_member)
-    <177>   DW_AT_name        : (indirect string, offset: 0xe5): sigev_signo	
-    <17b>   DW_AT_decl_file   : 2	
-    <17c>   DW_AT_decl_line   : 36	
-    <17d>   DW_AT_type        : <0x2b>	
-    <181>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><184>: Abbrev Number: 7 (DW_TAG_member)
-    <185>   DW_AT_name        : (indirect string, offset: 0xba): sigev_notify	
-    <189>   DW_AT_decl_file   : 2	
-    <18a>   DW_AT_decl_line   : 37	
-    <18b>   DW_AT_type        : <0x2b>	
-    <18f>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><192>: Abbrev Number: 7 (DW_TAG_member)
-    <193>   DW_AT_name        : (indirect string, offset: 0x1a2): sigev_un	
-    <197>   DW_AT_decl_file   : 2	
-    <198>   DW_AT_decl_line   : 44	
-    <199>   DW_AT_type        : <0x141>	
-    <19d>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1a0>: Abbrev Number: 0
- <1><1a1>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x9c): struct_sigevent	
-    <1a6>   DW_AT_decl_file   : 2	
-    <1a7>   DW_AT_decl_line   : 45	
-    <1a8>   DW_AT_type        : <0x160>	
- <1><1ac>: Abbrev Number: 16 (DW_TAG_variable)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0xce): current_wordsize	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 757	
-    <1b4>   DW_AT_type        : <0x47>	
-    <1b8>   DW_AT_external    : 1	
-    <1b9>   DW_AT_declaration : 1	
- <1><1ba>: Abbrev Number: 16 (DW_TAG_variable)
-    <1bb>   DW_AT_name        : (indirect string, offset: 0xc7): sysent	
-    <1bf>   DW_AT_decl_file   : 3	
-    <1c0>   DW_AT_decl_line   : 892	
-    <1c2>   DW_AT_type        : <0xeb>	
-    <1c6>   DW_AT_external    : 1	
-    <1c7>   DW_AT_declaration : 1	
- <1><1c8>: Abbrev Number: 16 (DW_TAG_variable)
-    <1c9>   DW_AT_name        : (indirect string, offset: 0x165): nsyscalls	
-    <1cd>   DW_AT_decl_file   : 3	
-    <1ce>   DW_AT_decl_line   : 903	
-    <1d0>   DW_AT_type        : <0x47>	
-    <1d4>   DW_AT_external    : 1	
-    <1d5>   DW_AT_declaration : 1	
- <1><1d6>: Abbrev Number: 17 (DW_TAG_variable)
-    <1d7>   DW_AT_name        : (indirect string, offset: 0xf1): mpers_target_var	
-    <1db>   DW_AT_decl_file   : 4	
-    <1dc>   DW_AT_decl_line   : 32	
-    <1dd>   DW_AT_type        : <0x1a1>	
-    <1e1>   DW_AT_external    : 1	
-    <1e2>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><1e8>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_sigevent.d2 b/mpers-mx32/struct_sigevent.d2
deleted file mode 100644
index 7b9ac48..0000000
--- a/mpers-mx32/struct_sigevent.d2
+++ /dev/null
@@ -1,265 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1de): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x182): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x0): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xac): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x114): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x85): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c8): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x102): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x179): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x12f): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc7): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xdf): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7b): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ea): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x72): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x121): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xe): _Bool
-<1><fd>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_sibling     : <0x11c>
-<2><105>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18c): sival_int
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x2b>
-<2><110>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fc): sival_ptr
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x5c>
-<1><11c>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 40
-DW_AT_sibling     : <0x141>
-<2><124>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f3): function
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><132>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16f): attribute
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x5c>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><141>
-Abbrev Number: 12 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 38
-DW_AT_sibling     : <0x160>
-<2><149>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : tid
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x2b>
-<2><154>
-Abbrev Number: 13 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d1): sigev_thread
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x11c>
-<1><160>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 31
-DW_AT_sibling     : <0x1a1>
-<2><168>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x196): sigev_value
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xfd>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><176>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe5): sigev_signo
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><184>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xba): sigev_notify
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><192>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a2): sigev_un
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x141>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1a1>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x9c): struct_sigevent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x160>
-<1><1ac>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xce): current_wordsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1ba>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc7): sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1c8>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x165): nsyscalls
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1d6>
-Abbrev Number: 17 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf1): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x1a1>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/struct_stat.c b/mpers-mx32/struct_stat.c
index 80d1412..e10cfd9 100644
--- a/mpers-mx32/struct_stat.c
+++ b/mpers-mx32/struct_stat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_stat.d1 b/mpers-mx32/struct_stat.d1
deleted file mode 100644
index 1f7173b..0000000
--- a/mpers-mx32/struct_stat.d1
+++ /dev/null
@@ -1,302 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x286 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x40): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x147): mpers-mx32/struct_stat.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x243): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x237): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1f9): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1eb): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xf7): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x8b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x184): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xd9): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x220): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x10f): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1d4): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x19f): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xa6): __kernel_long_t	
-    <81>   DW_AT_decl_file   : 1	
-    <82>   DW_AT_decl_line   : 13	
-    <83>   DW_AT_type        : <0x32>	
- <1><87>: Abbrev Number: 6 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x1b2): __kernel_ulong_t	
-    <8c>   DW_AT_decl_file   : 1	
-    <8d>   DW_AT_decl_line   : 14	
-    <8e>   DW_AT_type        : <0x4e>	
- <1><92>: Abbrev Number: 6 (DW_TAG_typedef)
-    <93>   DW_AT_name        : (indirect string, offset: 0x229): kernel_long_t	
-    <97>   DW_AT_decl_file   : 2	
-    <98>   DW_AT_decl_line   : 35	
-    <99>   DW_AT_type        : <0x7c>	
- <1><9d>: Abbrev Number: 6 (DW_TAG_typedef)
-    <9e>   DW_AT_name        : (indirect string, offset: 0x211): kernel_ulong_t	
-    <a2>   DW_AT_decl_file   : 2	
-    <a3>   DW_AT_decl_line   : 36	
-    <a4>   DW_AT_type        : <0x87>	
- <1><a8>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <a9>   DW_AT_name        : (indirect string, offset: 0x129): sysent	
-    <ad>   DW_AT_byte_size   : 20	
-    <ae>   DW_AT_decl_file   : 3	
-    <af>   DW_AT_decl_line   : 4	
-    <b0>   DW_AT_sibling     : <0xfb>	
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x141): nargs	
-    <b9>   DW_AT_decl_file   : 3	
-    <ba>   DW_AT_decl_line   : 5	
-    <bb>   DW_AT_type        : <0x47>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x160): sys_flags	
-    <c7>   DW_AT_decl_file   : 3	
-    <c8>   DW_AT_decl_line   : 6	
-    <c9>   DW_AT_type        : <0x2b>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d0>: Abbrev Number: 9 (DW_TAG_member)
-    <d1>   DW_AT_name        : sen	
-    <d5>   DW_AT_decl_file   : 3	
-    <d6>   DW_AT_decl_line   : 7	
-    <d7>   DW_AT_type        : <0x2b>	
-    <db>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><de>: Abbrev Number: 8 (DW_TAG_member)
-    <df>   DW_AT_name        : (indirect string, offset: 0x27b): sys_func	
-    <e3>   DW_AT_decl_file   : 3	
-    <e4>   DW_AT_decl_line   : 8	
-    <e5>   DW_AT_type        : <0x106>	
-    <e9>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><ec>: Abbrev Number: 8 (DW_TAG_member)
-    <ed>   DW_AT_name        : (indirect string, offset: 0xb6): sys_name	
-    <f1>   DW_AT_decl_file   : 3	
-    <f2>   DW_AT_decl_line   : 9	
-    <f3>   DW_AT_type        : <0x71>	
-    <f7>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><fa>: Abbrev Number: 0
- <1><fb>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <fc>   DW_AT_type        : <0x2b>	
-    <100>   DW_AT_sibling     : <0x106>	
- <2><104>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><105>: Abbrev Number: 0
- <1><106>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <107>   DW_AT_byte_size   : 4	
-    <108>   DW_AT_type        : <0xfb>	
- <1><10c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <10d>   DW_AT_name        : (indirect string, offset: 0x191): struct_sysent	
-    <111>   DW_AT_decl_file   : 3	
-    <112>   DW_AT_decl_line   : 10	
-    <113>   DW_AT_type        : <0xa8>	
- <1><117>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <118>   DW_AT_byte_size   : 4	
-    <119>   DW_AT_type        : <0x11d>	
- <1><11d>: Abbrev Number: 5 (DW_TAG_const_type)
-    <11e>   DW_AT_type        : <0x10c>	
- <1><122>: Abbrev Number: 2 (DW_TAG_base_type)
-    <123>   DW_AT_byte_size   : 1	
-    <124>   DW_AT_encoding    : 2	(boolean)
-    <125>   DW_AT_name        : (indirect string, offset: 0x25): _Bool	
- <1><129>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <12a>   DW_AT_name        : (indirect string, offset: 0x17): stat	
-    <12e>   DW_AT_byte_size   : 144	
-    <12f>   DW_AT_decl_file   : 4	
-    <130>   DW_AT_decl_line   : 16	
-    <131>   DW_AT_sibling     : <0x232>	
- <2><135>: Abbrev Number: 8 (DW_TAG_member)
-    <136>   DW_AT_name        : (indirect string, offset: 0x203): st_dev	
-    <13a>   DW_AT_decl_file   : 4	
-    <13b>   DW_AT_decl_line   : 17	
-    <13c>   DW_AT_type        : <0x9d>	
-    <140>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><143>: Abbrev Number: 8 (DW_TAG_member)
-    <144>   DW_AT_name        : (indirect string, offset: 0xbf): st_ino	
-    <148>   DW_AT_decl_file   : 4	
-    <149>   DW_AT_decl_line   : 18	
-    <14a>   DW_AT_type        : <0x9d>	
-    <14e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><151>: Abbrev Number: 8 (DW_TAG_member)
-    <152>   DW_AT_name        : (indirect string, offset: 0x37): st_nlink	
-    <156>   DW_AT_decl_file   : 4	
-    <157>   DW_AT_decl_line   : 19	
-    <158>   DW_AT_type        : <0x9d>	
-    <15c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><15f>: Abbrev Number: 8 (DW_TAG_member)
-    <160>   DW_AT_name        : (indirect string, offset: 0x121): st_mode	
-    <164>   DW_AT_decl_file   : 4	
-    <165>   DW_AT_decl_line   : 20	
-    <166>   DW_AT_type        : <0x47>	
-    <16a>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><16d>: Abbrev Number: 8 (DW_TAG_member)
-    <16e>   DW_AT_name        : (indirect string, offset: 0x1cd): st_uid	
-    <172>   DW_AT_decl_file   : 4	
-    <173>   DW_AT_decl_line   : 21	
-    <174>   DW_AT_type        : <0x47>	
-    <178>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><17b>: Abbrev Number: 8 (DW_TAG_member)
-    <17c>   DW_AT_name        : (indirect string, offset: 0x20a): st_gid	
-    <180>   DW_AT_decl_file   : 4	
-    <181>   DW_AT_decl_line   : 22	
-    <182>   DW_AT_type        : <0x47>	
-    <186>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><189>: Abbrev Number: 8 (DW_TAG_member)
-    <18a>   DW_AT_name        : (indirect string, offset: 0x274): pad0__	
-    <18e>   DW_AT_decl_file   : 4	
-    <18f>   DW_AT_decl_line   : 23	
-    <190>   DW_AT_type        : <0x47>	
-    <194>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><197>: Abbrev Number: 8 (DW_TAG_member)
-    <198>   DW_AT_name        : (indirect string, offset: 0xd1): st_rdev	
-    <19c>   DW_AT_decl_file   : 4	
-    <19d>   DW_AT_decl_line   : 24	
-    <19e>   DW_AT_type        : <0x9d>	
-    <1a2>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1a5>: Abbrev Number: 8 (DW_TAG_member)
-    <1a6>   DW_AT_name        : (indirect string, offset: 0x9e): st_size	
-    <1aa>   DW_AT_decl_file   : 4	
-    <1ab>   DW_AT_decl_line   : 25	
-    <1ac>   DW_AT_type        : <0x92>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1b3>: Abbrev Number: 8 (DW_TAG_member)
-    <1b4>   DW_AT_name        : (indirect string, offset: 0xc6): st_blksize	
-    <1b8>   DW_AT_decl_file   : 4	
-    <1b9>   DW_AT_decl_line   : 26	
-    <1ba>   DW_AT_type        : <0x92>	
-    <1be>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1c1>: Abbrev Number: 8 (DW_TAG_member)
-    <1c2>   DW_AT_name        : (indirect string, offset: 0x105): st_blocks	
-    <1c6>   DW_AT_decl_file   : 4	
-    <1c7>   DW_AT_decl_line   : 27	
-    <1c8>   DW_AT_type        : <0x92>	
-    <1cc>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1cf>: Abbrev Number: 8 (DW_TAG_member)
-    <1d0>   DW_AT_name        : (indirect string, offset: 0x1c): st_atime	
-    <1d4>   DW_AT_decl_file   : 4	
-    <1d5>   DW_AT_decl_line   : 28	
-    <1d6>   DW_AT_type        : <0x9d>	
-    <1da>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1dd>: Abbrev Number: 8 (DW_TAG_member)
-    <1de>   DW_AT_name        : (indirect string, offset: 0x1dd): st_atime_nsec	
-    <1e2>   DW_AT_decl_file   : 4	
-    <1e3>   DW_AT_decl_line   : 29	
-    <1e4>   DW_AT_type        : <0x9d>	
-    <1e8>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><1eb>: Abbrev Number: 8 (DW_TAG_member)
-    <1ec>   DW_AT_name        : (indirect string, offset: 0x0): st_mtime	
-    <1f0>   DW_AT_decl_file   : 4	
-    <1f1>   DW_AT_decl_line   : 30	
-    <1f2>   DW_AT_type        : <0x9d>	
-    <1f6>   DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
- <2><1f9>: Abbrev Number: 8 (DW_TAG_member)
-    <1fa>   DW_AT_name        : (indirect string, offset: 0x1a4): st_mtime_nsec	
-    <1fe>   DW_AT_decl_file   : 4	
-    <1ff>   DW_AT_decl_line   : 31	
-    <200>   DW_AT_type        : <0x9d>	
-    <204>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><207>: Abbrev Number: 8 (DW_TAG_member)
-    <208>   DW_AT_name        : (indirect string, offset: 0x17b): st_ctime	
-    <20c>   DW_AT_decl_file   : 4	
-    <20d>   DW_AT_decl_line   : 32	
-    <20e>   DW_AT_type        : <0x9d>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><215>: Abbrev Number: 8 (DW_TAG_member)
-    <216>   DW_AT_name        : (indirect string, offset: 0x9): st_ctime_nsec	
-    <21a>   DW_AT_decl_file   : 4	
-    <21b>   DW_AT_decl_line   : 33	
-    <21c>   DW_AT_type        : <0x9d>	
-    <220>   DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
- <2><223>: Abbrev Number: 8 (DW_TAG_member)
-    <224>   DW_AT_name        : (indirect string, offset: 0xf0): pad1__	
-    <228>   DW_AT_decl_file   : 4	
-    <229>   DW_AT_decl_line   : 34	
-    <22a>   DW_AT_type        : <0x232>	
-    <22e>   DW_AT_data_member_location: 2 byte block: 23 78 	(DW_OP_plus_uconst: 120)
- <2><231>: Abbrev Number: 0
- <1><232>: Abbrev Number: 12 (DW_TAG_array_type)
-    <233>   DW_AT_type        : <0x92>	
-    <237>   DW_AT_sibling     : <0x242>	
- <2><23b>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <23c>   DW_AT_type        : <0x63>	
-    <240>   DW_AT_upper_bound : 2	
- <2><241>: Abbrev Number: 0
- <1><242>: Abbrev Number: 6 (DW_TAG_typedef)
-    <243>   DW_AT_name        : (indirect string, offset: 0x2b): struct_stat	
-    <247>   DW_AT_decl_file   : 5	
-    <248>   DW_AT_decl_line   : 59	
-    <249>   DW_AT_type        : <0x129>	
- <1><24d>: Abbrev Number: 14 (DW_TAG_variable)
-    <24e>   DW_AT_name        : (indirect string, offset: 0x130): current_wordsize	
-    <252>   DW_AT_decl_file   : 6	
-    <253>   DW_AT_decl_line   : 757	
-    <255>   DW_AT_type        : <0x47>	
-    <259>   DW_AT_external    : 1	
-    <25a>   DW_AT_declaration : 1	
- <1><25b>: Abbrev Number: 14 (DW_TAG_variable)
-    <25c>   DW_AT_name        : (indirect string, offset: 0x129): sysent	
-    <260>   DW_AT_decl_file   : 6	
-    <261>   DW_AT_decl_line   : 892	
-    <263>   DW_AT_type        : <0x117>	
-    <267>   DW_AT_external    : 1	
-    <268>   DW_AT_declaration : 1	
- <1><269>: Abbrev Number: 14 (DW_TAG_variable)
-    <26a>   DW_AT_name        : (indirect string, offset: 0x1c3): nsyscalls	
-    <26e>   DW_AT_decl_file   : 6	
-    <26f>   DW_AT_decl_line   : 903	
-    <271>   DW_AT_type        : <0x47>	
-    <275>   DW_AT_external    : 1	
-    <276>   DW_AT_declaration : 1	
- <1><277>: Abbrev Number: 15 (DW_TAG_variable)
-    <278>   DW_AT_name        : (indirect string, offset: 0x16a): mpers_target_var	
-    <27c>   DW_AT_decl_file   : 5	
-    <27d>   DW_AT_decl_line   : 61	
-    <27e>   DW_AT_type        : <0x242>	
-    <282>   DW_AT_external    : 1	
-    <283>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><289>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_stat.d2 b/mpers-mx32/struct_stat.d2
deleted file mode 100644
index a05036f..0000000
--- a/mpers-mx32/struct_stat.d2
+++ /dev/null
@@ -1,340 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x237): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1f9): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1eb): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xf7): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x184): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd9): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x220): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x10f): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d4): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x19f): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xa6): __kernel_long_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 13
-DW_AT_type        : <0x32>
-<1><87>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b2): __kernel_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x4e>
-<1><92>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x229): kernel_long_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x7c>
-<1><9d>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x211): kernel_ulong_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x87>
-<1><a8>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x129): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xfb>
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x141): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x160): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d0>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><de>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x27b): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x106>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><ec>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb6): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><fb>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x106>
-<2><104>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><106>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xfb>
-<1><10c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x191): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xa8>
-<1><117>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x11d>
-<1><11d>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x10c>
-<1><122>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x25): _Bool
-<1><129>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x17): stat
-DW_AT_byte_size   : 144
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 16
-DW_AT_sibling     : <0x232>
-<2><135>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x203): st_dev
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 17
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><143>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbf): st_ino
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 18
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><151>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x37): st_nlink
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 19
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><15f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x121): st_mode
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><16d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cd): st_uid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 21
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><17b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x20a): st_gid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 22
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><189>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x274): pad0__
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><197>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd1): st_rdev
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 24
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1a5>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9e): st_size
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1b3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc6): st_blksize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1c1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x105): st_blocks
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><1cf>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c): st_atime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><1dd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1dd): st_atime_nsec
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<2><1eb>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): st_mtime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
-<2><1f9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a4): st_mtime_nsec
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><207>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17b): st_ctime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<2><215>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9): st_ctime_nsec
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
-<2><223>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf0): pad1__
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x232>
-DW_AT_data_member_location: 2 byte block: 23 78 	(DW_OP_plus_uconst: 120)
-<1><232>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x92>
-DW_AT_sibling     : <0x242>
-<2><23b>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 2
-<1><242>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2b): struct_stat
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x129>
-<1><24d>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x130): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><25b>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x129): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x117>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><269>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1c3): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><277>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x16a): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 61
-DW_AT_type        : <0x242>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_stat64.c b/mpers-mx32/struct_stat64.c
index cfececc..0f0480b 100644
--- a/mpers-mx32/struct_stat64.c
+++ b/mpers-mx32/struct_stat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_stat64.d1 b/mpers-mx32/struct_stat64.d1
deleted file mode 100644
index 9e12e5f..0000000
--- a/mpers-mx32/struct_stat64.d1
+++ /dev/null
@@ -1,165 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x149 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x28): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x18c): mpers-mx32/struct_stat64.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0xbe): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x152): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x182): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x124): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xef): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x13f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x15e): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xa7): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x102): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x84): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x16b): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0xfd): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x132): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x139): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0x114): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x10b): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x7): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x10): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x11e): _Bool	
- <1><fd>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x0): stat64	
-    <102>   DW_AT_byte_size   : 0	
-    <103>   DW_AT_decl_file   : 2	
-    <104>   DW_AT_decl_line   : 54	
- <1><105>: Abbrev Number: 11 (DW_TAG_typedef)
-    <106>   DW_AT_name        : (indirect string, offset: 0x174): struct_stat64	
-    <10a>   DW_AT_decl_file   : 2	
-    <10b>   DW_AT_decl_line   : 57	
-    <10c>   DW_AT_type        : <0xfd>	
- <1><110>: Abbrev Number: 13 (DW_TAG_variable)
-    <111>   DW_AT_name        : (indirect string, offset: 0x96): current_wordsize	
-    <115>   DW_AT_decl_file   : 3	
-    <116>   DW_AT_decl_line   : 757	
-    <118>   DW_AT_type        : <0x47>	
-    <11c>   DW_AT_external    : 1	
-    <11d>   DW_AT_declaration : 1	
- <1><11e>: Abbrev Number: 13 (DW_TAG_variable)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x132): sysent	
-    <123>   DW_AT_decl_file   : 3	
-    <124>   DW_AT_decl_line   : 892	
-    <126>   DW_AT_type        : <0xeb>	
-    <12a>   DW_AT_external    : 1	
-    <12b>   DW_AT_declaration : 1	
- <1><12c>: Abbrev Number: 13 (DW_TAG_variable)
-    <12d>   DW_AT_name        : (indirect string, offset: 0x1e): nsyscalls	
-    <131>   DW_AT_decl_file   : 3	
-    <132>   DW_AT_decl_line   : 903	
-    <134>   DW_AT_type        : <0x47>	
-    <138>   DW_AT_external    : 1	
-    <139>   DW_AT_declaration : 1	
- <1><13a>: Abbrev Number: 14 (DW_TAG_variable)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x73): mpers_target_var	
-    <13f>   DW_AT_decl_file   : 2	
-    <140>   DW_AT_decl_line   : 59	
-    <141>   DW_AT_type        : <0x105>	
-    <145>   DW_AT_external    : 1	
-    <146>   DW_AT_location    : 5 byte block: 3 1 0 0 0 	(DW_OP_addr: 1)
- <1><14c>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_stat64.d2 b/mpers-mx32/struct_stat64.d2
deleted file mode 100644
index 746114e..0000000
--- a/mpers-mx32/struct_stat64.d2
+++ /dev/null
@@ -1,181 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x152): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x182): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x124): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xef): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x13f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x15e): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa7): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x102): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x84): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x16b): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0xfd): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x132): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x139): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x114): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10b): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x10): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x11e): _Bool
-<1><fd>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): stat64
-DW_AT_byte_size   : 0
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 54
-<1><105>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x174): struct_stat64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 57
-DW_AT_type        : <0xfd>
-<1><110>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x96): current_wordsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><11e>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x132): sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><12c>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1e): nsyscalls
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><13a>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x73): mpers_target_var
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x105>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 1 0 0 0 	(DW_OP_addr: 1)
diff --git a/mpers-mx32/struct_statfs.d1 b/mpers-mx32/struct_statfs.d1
deleted file mode 100644
index 685802a..0000000
--- a/mpers-mx32/struct_statfs.d1
+++ /dev/null
@@ -1,270 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x238 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x25): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1f6): mpers-mx32/struct_statfs.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x185): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ea): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1d7): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1c9): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd2): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x70): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x154): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xb4): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1e1): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xea): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_array_type)
-    <64>   DW_AT_type        : <0x2b>	
-    <68>   DW_AT_sibling     : <0x73>	
- <2><6c>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <6d>   DW_AT_type        : <0x73>	
-    <71>   DW_AT_upper_bound : 1	
- <2><72>: Abbrev Number: 0
- <1><73>: Abbrev Number: 2 (DW_TAG_base_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_encoding    : 7	(unsigned)
-    <76>   DW_AT_name        : (indirect string, offset: 0x1c0): sizetype	
- <1><7a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7b>   DW_AT_byte_size   : 1	
-    <7c>   DW_AT_encoding    : 6	(signed char)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x16f): char	
- <1><81>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <82>   DW_AT_byte_size   : 4	
-    <83>   DW_AT_type        : <0x87>	
- <1><87>: Abbrev Number: 7 (DW_TAG_const_type)
-    <88>   DW_AT_type        : <0x7a>	
- <1><8c>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <8d>   DW_AT_byte_size   : 8	
-    <8e>   DW_AT_decl_file   : 2	
-    <8f>   DW_AT_decl_line   : 78	
-    <90>   DW_AT_sibling     : <0xa3>	
- <2><94>: Abbrev Number: 9 (DW_TAG_member)
-    <95>   DW_AT_name        : val	
-    <99>   DW_AT_decl_file   : 2	
-    <9a>   DW_AT_decl_line   : 79	
-    <9b>   DW_AT_type        : <0x63>	
-    <9f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a2>: Abbrev Number: 0
- <1><a3>: Abbrev Number: 10 (DW_TAG_typedef)
-    <a4>   DW_AT_name        : (indirect string, offset: 0x113): __kernel_fsid_t	
-    <a8>   DW_AT_decl_file   : 2	
-    <a9>   DW_AT_decl_line   : 80	
-    <aa>   DW_AT_type        : <0x8c>	
- <1><ae>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <af>   DW_AT_name        : (indirect string, offset: 0x104): sysent	
-    <b3>   DW_AT_byte_size   : 20	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 4	
-    <b6>   DW_AT_sibling     : <0x101>	
- <2><ba>: Abbrev Number: 12 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0x134): nargs	
-    <bf>   DW_AT_decl_file   : 1	
-    <c0>   DW_AT_decl_line   : 5	
-    <c1>   DW_AT_type        : <0x47>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c8>: Abbrev Number: 12 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0xaa): sys_flags	
-    <cd>   DW_AT_decl_file   : 1	
-    <ce>   DW_AT_decl_line   : 6	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d6>: Abbrev Number: 9 (DW_TAG_member)
-    <d7>   DW_AT_name        : sen	
-    <db>   DW_AT_decl_file   : 1	
-    <dc>   DW_AT_decl_line   : 7	
-    <dd>   DW_AT_type        : <0x2b>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><e4>: Abbrev Number: 12 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0x211): sys_func	
-    <e9>   DW_AT_decl_file   : 1	
-    <ea>   DW_AT_decl_line   : 8	
-    <eb>   DW_AT_type        : <0x10c>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><f2>: Abbrev Number: 12 (DW_TAG_member)
-    <f3>   DW_AT_name        : (indirect string, offset: 0x83): sys_name	
-    <f7>   DW_AT_decl_file   : 1	
-    <f8>   DW_AT_decl_line   : 9	
-    <f9>   DW_AT_type        : <0x81>	
-    <fd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><100>: Abbrev Number: 0
- <1><101>: Abbrev Number: 13 (DW_TAG_subroutine_type)
-    <102>   DW_AT_type        : <0x2b>	
-    <106>   DW_AT_sibling     : <0x10c>	
- <2><10a>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
- <2><10b>: Abbrev Number: 0
- <1><10c>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x101>	
- <1><112>: Abbrev Number: 10 (DW_TAG_typedef)
-    <113>   DW_AT_name        : (indirect string, offset: 0x161): struct_sysent	
-    <117>   DW_AT_decl_file   : 1	
-    <118>   DW_AT_decl_line   : 10	
-    <119>   DW_AT_type        : <0xae>	
- <1><11d>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <11e>   DW_AT_byte_size   : 4	
-    <11f>   DW_AT_type        : <0x123>	
- <1><123>: Abbrev Number: 7 (DW_TAG_const_type)
-    <124>   DW_AT_type        : <0x112>	
- <1><128>: Abbrev Number: 2 (DW_TAG_base_type)
-    <129>   DW_AT_byte_size   : 1	
-    <12a>   DW_AT_encoding    : 2	(boolean)
-    <12b>   DW_AT_name        : (indirect string, offset: 0xf): _Bool	
- <1><12f>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <130>   DW_AT_name        : (indirect string, offset: 0xcb): statfs	
-    <134>   DW_AT_byte_size   : 64	
-    <135>   DW_AT_decl_file   : 3	
-    <136>   DW_AT_decl_line   : 22	
-    <137>   DW_AT_sibling     : <0x1e4>	
- <2><13b>: Abbrev Number: 12 (DW_TAG_member)
-    <13c>   DW_AT_name        : (indirect string, offset: 0x0): f_type	
-    <140>   DW_AT_decl_file   : 3	
-    <141>   DW_AT_decl_line   : 23	
-    <142>   DW_AT_type        : <0x55>	
-    <146>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><149>: Abbrev Number: 12 (DW_TAG_member)
-    <14a>   DW_AT_name        : (indirect string, offset: 0x15): f_bsize	
-    <14e>   DW_AT_decl_file   : 3	
-    <14f>   DW_AT_decl_line   : 24	
-    <150>   DW_AT_type        : <0x55>	
-    <154>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><157>: Abbrev Number: 12 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0xa1): f_blocks	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 25	
-    <15e>   DW_AT_type        : <0x55>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><165>: Abbrev Number: 12 (DW_TAG_member)
-    <166>   DW_AT_name        : (indirect string, offset: 0x10b): f_bfree	
-    <16a>   DW_AT_decl_file   : 3	
-    <16b>   DW_AT_decl_line   : 26	
-    <16c>   DW_AT_type        : <0x55>	
-    <170>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><173>: Abbrev Number: 12 (DW_TAG_member)
-    <174>   DW_AT_name        : (indirect string, offset: 0x14b): f_bavail	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 27	
-    <17a>   DW_AT_type        : <0x55>	
-    <17e>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><181>: Abbrev Number: 12 (DW_TAG_member)
-    <182>   DW_AT_name        : (indirect string, offset: 0x7): f_files	
-    <186>   DW_AT_decl_file   : 3	
-    <187>   DW_AT_decl_line   : 28	
-    <188>   DW_AT_type        : <0x55>	
-    <18c>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><18f>: Abbrev Number: 12 (DW_TAG_member)
-    <190>   DW_AT_name        : (indirect string, offset: 0xfc): f_ffree	
-    <194>   DW_AT_decl_file   : 3	
-    <195>   DW_AT_decl_line   : 29	
-    <196>   DW_AT_type        : <0x55>	
-    <19a>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><19d>: Abbrev Number: 12 (DW_TAG_member)
-    <19e>   DW_AT_name        : (indirect string, offset: 0x9a): f_fsid	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 30	
-    <1a4>   DW_AT_type        : <0xa3>	
-    <1a8>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1ab>: Abbrev Number: 12 (DW_TAG_member)
-    <1ac>   DW_AT_name        : (indirect string, offset: 0xe0): f_namelen	
-    <1b0>   DW_AT_decl_file   : 3	
-    <1b1>   DW_AT_decl_line   : 31	
-    <1b2>   DW_AT_type        : <0x55>	
-    <1b6>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1b9>: Abbrev Number: 12 (DW_TAG_member)
-    <1ba>   DW_AT_name        : (indirect string, offset: 0x174): f_frsize	
-    <1be>   DW_AT_decl_file   : 3	
-    <1bf>   DW_AT_decl_line   : 32	
-    <1c0>   DW_AT_type        : <0x55>	
-    <1c4>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1c7>: Abbrev Number: 12 (DW_TAG_member)
-    <1c8>   DW_AT_name        : (indirect string, offset: 0x1d): f_flags	
-    <1cc>   DW_AT_decl_file   : 3	
-    <1cd>   DW_AT_decl_line   : 33	
-    <1ce>   DW_AT_type        : <0x55>	
-    <1d2>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1d5>: Abbrev Number: 12 (DW_TAG_member)
-    <1d6>   DW_AT_name        : (indirect string, offset: 0x17d): f_spare	
-    <1da>   DW_AT_decl_file   : 3	
-    <1db>   DW_AT_decl_line   : 34	
-    <1dc>   DW_AT_type        : <0x1e4>	
-    <1e0>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1e3>: Abbrev Number: 0
- <1><1e4>: Abbrev Number: 4 (DW_TAG_array_type)
-    <1e5>   DW_AT_type        : <0x55>	
-    <1e9>   DW_AT_sibling     : <0x1f4>	
- <2><1ed>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <1ee>   DW_AT_type        : <0x73>	
-    <1f2>   DW_AT_upper_bound : 3	
- <2><1f3>: Abbrev Number: 0
- <1><1f4>: Abbrev Number: 10 (DW_TAG_typedef)
-    <1f5>   DW_AT_name        : (indirect string, offset: 0x8c): struct_statfs	
-    <1f9>   DW_AT_decl_file   : 4	
-    <1fa>   DW_AT_decl_line   : 33	
-    <1fb>   DW_AT_type        : <0x12f>	
- <1><1ff>: Abbrev Number: 15 (DW_TAG_variable)
-    <200>   DW_AT_name        : (indirect string, offset: 0x123): current_wordsize	
-    <204>   DW_AT_decl_file   : 5	
-    <205>   DW_AT_decl_line   : 757	
-    <207>   DW_AT_type        : <0x47>	
-    <20b>   DW_AT_external    : 1	
-    <20c>   DW_AT_declaration : 1	
- <1><20d>: Abbrev Number: 15 (DW_TAG_variable)
-    <20e>   DW_AT_name        : (indirect string, offset: 0x104): sysent	
-    <212>   DW_AT_decl_file   : 5	
-    <213>   DW_AT_decl_line   : 892	
-    <215>   DW_AT_type        : <0x11d>	
-    <219>   DW_AT_external    : 1	
-    <21a>   DW_AT_declaration : 1	
- <1><21b>: Abbrev Number: 15 (DW_TAG_variable)
-    <21c>   DW_AT_name        : (indirect string, offset: 0x1b6): nsyscalls	
-    <220>   DW_AT_decl_file   : 5	
-    <221>   DW_AT_decl_line   : 903	
-    <223>   DW_AT_type        : <0x47>	
-    <227>   DW_AT_external    : 1	
-    <228>   DW_AT_declaration : 1	
- <1><229>: Abbrev Number: 16 (DW_TAG_variable)
-    <22a>   DW_AT_name        : (indirect string, offset: 0x13a): mpers_target_var	
-    <22e>   DW_AT_decl_file   : 4	
-    <22f>   DW_AT_decl_line   : 36	
-    <230>   DW_AT_type        : <0x1f4>	
-    <234>   DW_AT_external    : 1	
-    <235>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><23b>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_statfs.d2 b/mpers-mx32/struct_statfs.d2
deleted file mode 100644
index a8c4b68..0000000
--- a/mpers-mx32/struct_statfs.d2
+++ /dev/null
@@ -1,301 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ea): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d7): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c9): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd2): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x70): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x154): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb4): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e1): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xea): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x73>
-<2><6c>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 1
-<1><73>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c0): sizetype
-<1><7a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x16f): char
-<1><81>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x87>
-<1><87>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x7a>
-<1><8c>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 78
-DW_AT_sibling     : <0xa3>
-<2><94>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : val
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 79
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<1><a3>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x113): __kernel_fsid_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 80
-DW_AT_type        : <0x8c>
-<1><ae>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x104): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x101>
-<2><ba>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x134): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c8>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xaa): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><e4>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x211): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x10c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><f2>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x83): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x81>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><101>
-Abbrev Number: 13 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x10c>
-<2><10a>
-Abbrev Number: 14 (DW_TAG_unspecified_parameters)
-<1><10c>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x101>
-<1><112>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x161): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xae>
-<1><11d>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x123>
-<1><123>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x112>
-<1><128>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xf): _Bool
-<1><12f>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xcb): statfs
-DW_AT_byte_size   : 64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 22
-DW_AT_sibling     : <0x1e4>
-<2><13b>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): f_type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><149>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15): f_bsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 24
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><157>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa1): f_blocks
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><165>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10b): f_bfree
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><173>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14b): f_bavail
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><181>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7): f_files
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><18f>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfc): f_ffree
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><19d>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9a): f_fsid
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_type        : <0xa3>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><1ab>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe0): f_namelen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1b9>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x174): f_frsize
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1c7>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d): f_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1d5>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x17d): f_spare
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x1e4>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<1><1e4>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x55>
-DW_AT_sibling     : <0x1f4>
-<2><1ed>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 3
-<1><1f4>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x8c): struct_statfs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x12f>
-<1><1ff>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x123): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><20d>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x104): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x11d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><21b>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1b6): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><229>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x13a): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x1f4>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_statfs64.d1 b/mpers-mx32/struct_statfs64.d1
deleted file mode 100644
index b593c98..0000000
--- a/mpers-mx32/struct_statfs64.d1
+++ /dev/null
@@ -1,275 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x243 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x25): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1eb): mpers-mx32/struct_statfs64.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x179): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x211): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1e1): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1c3): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xbd): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x70): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x148): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xa6): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x208): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xd5): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_array_type)
-    <64>   DW_AT_type        : <0x2b>	
-    <68>   DW_AT_sibling     : <0x73>	
- <2><6c>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <6d>   DW_AT_type        : <0x73>	
-    <71>   DW_AT_upper_bound : 1	
- <2><72>: Abbrev Number: 0
- <1><73>: Abbrev Number: 2 (DW_TAG_base_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_encoding    : 7	(unsigned)
-    <76>   DW_AT_name        : (indirect string, offset: 0x1ba): sizetype	
- <1><7a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7b>   DW_AT_byte_size   : 1	
-    <7c>   DW_AT_encoding    : 6	(signed char)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x163): char	
- <1><81>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <82>   DW_AT_byte_size   : 4	
-    <83>   DW_AT_type        : <0x87>	
- <1><87>: Abbrev Number: 7 (DW_TAG_const_type)
-    <88>   DW_AT_type        : <0x7a>	
- <1><8c>: Abbrev Number: 8 (DW_TAG_structure_type)
-    <8d>   DW_AT_byte_size   : 8	
-    <8e>   DW_AT_decl_file   : 2	
-    <8f>   DW_AT_decl_line   : 78	
-    <90>   DW_AT_sibling     : <0xa3>	
- <2><94>: Abbrev Number: 9 (DW_TAG_member)
-    <95>   DW_AT_name        : val	
-    <99>   DW_AT_decl_file   : 2	
-    <9a>   DW_AT_decl_line   : 79	
-    <9b>   DW_AT_type        : <0x63>	
-    <9f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><a2>: Abbrev Number: 0
- <1><a3>: Abbrev Number: 10 (DW_TAG_typedef)
-    <a4>   DW_AT_name        : (indirect string, offset: 0x1d1): __kernel_fsid_t	
-    <a8>   DW_AT_decl_file   : 2	
-    <a9>   DW_AT_decl_line   : 80	
-    <aa>   DW_AT_type        : <0x8c>	
- <1><ae>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <af>   DW_AT_name        : (indirect string, offset: 0xef): sysent	
-    <b3>   DW_AT_byte_size   : 20	
-    <b4>   DW_AT_decl_file   : 1	
-    <b5>   DW_AT_decl_line   : 4	
-    <b6>   DW_AT_sibling     : <0x101>	
- <2><ba>: Abbrev Number: 12 (DW_TAG_member)
-    <bb>   DW_AT_name        : (indirect string, offset: 0x128): nargs	
-    <bf>   DW_AT_decl_file   : 1	
-    <c0>   DW_AT_decl_line   : 5	
-    <c1>   DW_AT_type        : <0x47>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><c8>: Abbrev Number: 12 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x9c): sys_flags	
-    <cd>   DW_AT_decl_file   : 1	
-    <ce>   DW_AT_decl_line   : 6	
-    <cf>   DW_AT_type        : <0x2b>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><d6>: Abbrev Number: 9 (DW_TAG_member)
-    <d7>   DW_AT_name        : sen	
-    <db>   DW_AT_decl_file   : 1	
-    <dc>   DW_AT_decl_line   : 7	
-    <dd>   DW_AT_type        : <0x2b>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><e4>: Abbrev Number: 12 (DW_TAG_member)
-    <e5>   DW_AT_name        : (indirect string, offset: 0x21d): sys_func	
-    <e9>   DW_AT_decl_file   : 1	
-    <ea>   DW_AT_decl_line   : 8	
-    <eb>   DW_AT_type        : <0x10c>	
-    <ef>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><f2>: Abbrev Number: 12 (DW_TAG_member)
-    <f3>   DW_AT_name        : (indirect string, offset: 0x83): sys_name	
-    <f7>   DW_AT_decl_file   : 1	
-    <f8>   DW_AT_decl_line   : 9	
-    <f9>   DW_AT_type        : <0x81>	
-    <fd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><100>: Abbrev Number: 0
- <1><101>: Abbrev Number: 13 (DW_TAG_subroutine_type)
-    <102>   DW_AT_type        : <0x2b>	
-    <106>   DW_AT_sibling     : <0x10c>	
- <2><10a>: Abbrev Number: 14 (DW_TAG_unspecified_parameters)
- <2><10b>: Abbrev Number: 0
- <1><10c>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x101>	
- <1><112>: Abbrev Number: 10 (DW_TAG_typedef)
-    <113>   DW_AT_name        : (indirect string, offset: 0x155): struct_sysent	
-    <117>   DW_AT_decl_file   : 1	
-    <118>   DW_AT_decl_line   : 10	
-    <119>   DW_AT_type        : <0xae>	
- <1><11d>: Abbrev Number: 6 (DW_TAG_pointer_type)
-    <11e>   DW_AT_byte_size   : 4	
-    <11f>   DW_AT_type        : <0x123>	
- <1><123>: Abbrev Number: 7 (DW_TAG_const_type)
-    <124>   DW_AT_type        : <0x112>	
- <1><128>: Abbrev Number: 2 (DW_TAG_base_type)
-    <129>   DW_AT_byte_size   : 1	
-    <12a>   DW_AT_encoding    : 2	(boolean)
-    <12b>   DW_AT_name        : (indirect string, offset: 0xf): _Bool	
- <1><12f>: Abbrev Number: 10 (DW_TAG_typedef)
-    <130>   DW_AT_name        : (indirect string, offset: 0x1b4): __u64	
-    <134>   DW_AT_decl_file   : 3	
-    <135>   DW_AT_decl_line   : 30	
-    <136>   DW_AT_type        : <0x4e>	
- <1><13a>: Abbrev Number: 4 (DW_TAG_array_type)
-    <13b>   DW_AT_type        : <0x55>	
-    <13f>   DW_AT_sibling     : <0x14a>	
- <2><143>: Abbrev Number: 5 (DW_TAG_subrange_type)
-    <144>   DW_AT_type        : <0x73>	
-    <148>   DW_AT_upper_bound : 3	
- <2><149>: Abbrev Number: 0
- <1><14a>: Abbrev Number: 11 (DW_TAG_structure_type)
-    <14b>   DW_AT_name        : (indirect string, offset: 0xf6): statfs64	
-    <14f>   DW_AT_byte_size   : 88	
-    <150>   DW_AT_decl_file   : 4	
-    <151>   DW_AT_decl_line   : 45	
-    <152>   DW_AT_sibling     : <0x1ff>	
- <2><156>: Abbrev Number: 12 (DW_TAG_member)
-    <157>   DW_AT_name        : (indirect string, offset: 0x0): f_type	
-    <15b>   DW_AT_decl_file   : 4	
-    <15c>   DW_AT_decl_line   : 46	
-    <15d>   DW_AT_type        : <0x55>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><164>: Abbrev Number: 12 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x15): f_bsize	
-    <169>   DW_AT_decl_file   : 4	
-    <16a>   DW_AT_decl_line   : 47	
-    <16b>   DW_AT_type        : <0x55>	
-    <16f>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><172>: Abbrev Number: 12 (DW_TAG_member)
-    <173>   DW_AT_name        : (indirect string, offset: 0x93): f_blocks	
-    <177>   DW_AT_decl_file   : 4	
-    <178>   DW_AT_decl_line   : 48	
-    <179>   DW_AT_type        : <0x12f>	
-    <17d>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><180>: Abbrev Number: 12 (DW_TAG_member)
-    <181>   DW_AT_name        : (indirect string, offset: 0xff): f_bfree	
-    <185>   DW_AT_decl_file   : 4	
-    <186>   DW_AT_decl_line   : 49	
-    <187>   DW_AT_type        : <0x12f>	
-    <18b>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><18e>: Abbrev Number: 12 (DW_TAG_member)
-    <18f>   DW_AT_name        : (indirect string, offset: 0x13f): f_bavail	
-    <193>   DW_AT_decl_file   : 4	
-    <194>   DW_AT_decl_line   : 50	
-    <195>   DW_AT_type        : <0x12f>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><19c>: Abbrev Number: 12 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x7): f_files	
-    <1a1>   DW_AT_decl_file   : 4	
-    <1a2>   DW_AT_decl_line   : 51	
-    <1a3>   DW_AT_type        : <0x12f>	
-    <1a7>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><1aa>: Abbrev Number: 12 (DW_TAG_member)
-    <1ab>   DW_AT_name        : (indirect string, offset: 0xe7): f_ffree	
-    <1af>   DW_AT_decl_file   : 4	
-    <1b0>   DW_AT_decl_line   : 52	
-    <1b1>   DW_AT_type        : <0x12f>	
-    <1b5>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1b8>: Abbrev Number: 12 (DW_TAG_member)
-    <1b9>   DW_AT_name        : (indirect string, offset: 0x8c): f_fsid	
-    <1bd>   DW_AT_decl_file   : 4	
-    <1be>   DW_AT_decl_line   : 53	
-    <1bf>   DW_AT_type        : <0xa3>	
-    <1c3>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1c6>: Abbrev Number: 12 (DW_TAG_member)
-    <1c7>   DW_AT_name        : (indirect string, offset: 0xcb): f_namelen	
-    <1cb>   DW_AT_decl_file   : 4	
-    <1cc>   DW_AT_decl_line   : 54	
-    <1cd>   DW_AT_type        : <0x55>	
-    <1d1>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1d4>: Abbrev Number: 12 (DW_TAG_member)
-    <1d5>   DW_AT_name        : (indirect string, offset: 0x168): f_frsize	
-    <1d9>   DW_AT_decl_file   : 4	
-    <1da>   DW_AT_decl_line   : 55	
-    <1db>   DW_AT_type        : <0x55>	
-    <1df>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><1e2>: Abbrev Number: 12 (DW_TAG_member)
-    <1e3>   DW_AT_name        : (indirect string, offset: 0x1d): f_flags	
-    <1e7>   DW_AT_decl_file   : 4	
-    <1e8>   DW_AT_decl_line   : 56	
-    <1e9>   DW_AT_type        : <0x55>	
-    <1ed>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1f0>: Abbrev Number: 12 (DW_TAG_member)
-    <1f1>   DW_AT_name        : (indirect string, offset: 0x171): f_spare	
-    <1f5>   DW_AT_decl_file   : 4	
-    <1f6>   DW_AT_decl_line   : 57	
-    <1f7>   DW_AT_type        : <0x13a>	
-    <1fb>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><1fe>: Abbrev Number: 0
- <1><1ff>: Abbrev Number: 10 (DW_TAG_typedef)
-    <200>   DW_AT_name        : (indirect string, offset: 0x107): struct_statfs64	
-    <204>   DW_AT_decl_file   : 5	
-    <205>   DW_AT_decl_line   : 34	
-    <206>   DW_AT_type        : <0x14a>	
- <1><20a>: Abbrev Number: 15 (DW_TAG_variable)
-    <20b>   DW_AT_name        : (indirect string, offset: 0x117): current_wordsize	
-    <20f>   DW_AT_decl_file   : 6	
-    <210>   DW_AT_decl_line   : 757	
-    <212>   DW_AT_type        : <0x47>	
-    <216>   DW_AT_external    : 1	
-    <217>   DW_AT_declaration : 1	
- <1><218>: Abbrev Number: 15 (DW_TAG_variable)
-    <219>   DW_AT_name        : (indirect string, offset: 0xef): sysent	
-    <21d>   DW_AT_decl_file   : 6	
-    <21e>   DW_AT_decl_line   : 892	
-    <220>   DW_AT_type        : <0x11d>	
-    <224>   DW_AT_external    : 1	
-    <225>   DW_AT_declaration : 1	
- <1><226>: Abbrev Number: 15 (DW_TAG_variable)
-    <227>   DW_AT_name        : (indirect string, offset: 0x1aa): nsyscalls	
-    <22b>   DW_AT_decl_file   : 6	
-    <22c>   DW_AT_decl_line   : 903	
-    <22e>   DW_AT_type        : <0x47>	
-    <232>   DW_AT_external    : 1	
-    <233>   DW_AT_declaration : 1	
- <1><234>: Abbrev Number: 16 (DW_TAG_variable)
-    <235>   DW_AT_name        : (indirect string, offset: 0x12e): mpers_target_var	
-    <239>   DW_AT_decl_file   : 5	
-    <23a>   DW_AT_decl_line   : 36	
-    <23b>   DW_AT_type        : <0x1ff>	
-    <23f>   DW_AT_external    : 1	
-    <240>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><246>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_statfs64.d2 b/mpers-mx32/struct_statfs64.d2
deleted file mode 100644
index 7ceffe0..0000000
--- a/mpers-mx32/struct_statfs64.d2
+++ /dev/null
@@ -1,307 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x211): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e1): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1c3): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xbd): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x70): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x148): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa6): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x208): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd5): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x73>
-<2><6c>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 1
-<1><73>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1ba): sizetype
-<1><7a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x163): char
-<1><81>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x87>
-<1><87>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x7a>
-<1><8c>
-Abbrev Number: 8 (DW_TAG_structure_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 78
-DW_AT_sibling     : <0xa3>
-<2><94>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : val
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 79
-DW_AT_type        : <0x63>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<1><a3>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1d1): __kernel_fsid_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 80
-DW_AT_type        : <0x8c>
-<1><ae>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xef): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x101>
-<2><ba>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x128): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><c8>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9c): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><d6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><e4>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21d): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x10c>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><f2>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x83): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x81>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><101>
-Abbrev Number: 13 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x10c>
-<2><10a>
-Abbrev Number: 14 (DW_TAG_unspecified_parameters)
-<1><10c>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x101>
-<1><112>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x155): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xae>
-<1><11d>
-Abbrev Number: 6 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x123>
-<1><123>
-Abbrev Number: 7 (DW_TAG_const_type)
-DW_AT_type        : <0x112>
-<1><128>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xf): _Bool
-<1><12f>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b4): __u64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><13a>
-Abbrev Number: 4 (DW_TAG_array_type)
-DW_AT_type        : <0x55>
-DW_AT_sibling     : <0x14a>
-<2><143>
-Abbrev Number: 5 (DW_TAG_subrange_type)
-DW_AT_type        : <0x73>
-DW_AT_upper_bound : 3
-<1><14a>
-Abbrev Number: 11 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf6): statfs64
-DW_AT_byte_size   : 88
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 45
-DW_AT_sibling     : <0x1ff>
-<2><156>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): f_type
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 46
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><164>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15): f_bsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><172>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x93): f_blocks
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 48
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><180>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xff): f_bfree
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 49
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><18e>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13f): f_bavail
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 50
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><19c>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7): f_files
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 51
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><1aa>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe7): f_ffree
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 52
-DW_AT_type        : <0x12f>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1b8>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8c): f_fsid
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 53
-DW_AT_type        : <0xa3>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1c6>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xcb): f_namelen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 54
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1d4>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x168): f_frsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><1e2>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d): f_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x55>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><1f0>
-Abbrev Number: 12 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x171): f_spare
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 57
-DW_AT_type        : <0x13a>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<1><1ff>
-Abbrev Number: 10 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x107): struct_statfs64
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x14a>
-<1><20a>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x117): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><218>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xef): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x11d>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><226>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1aa): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><234>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12e): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x1ff>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_timex.c b/mpers-mx32/struct_timex.c
index d66cba4..bf8298f 100644
--- a/mpers-mx32/struct_timex.c
+++ b/mpers-mx32/struct_timex.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/struct_timex.d1 b/mpers-mx32/struct_timex.d1
deleted file mode 100644
index e32023a..0000000
--- a/mpers-mx32/struct_timex.d1
+++ /dev/null
@@ -1,326 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x2c0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x37): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x20a): mpers-mx32/struct_timex.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x195): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x24b): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x22b): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1e8): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xe4): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x82): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x15d): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x23c): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xf2): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x14c): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x1d8): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x11b): __time_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 139	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0x17f): __suseconds_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 141	
-    <87>   DW_AT_type        : <0x63>	
- <1><8b>: Abbrev Number: 4 (DW_TAG_typedef)
-    <8c>   DW_AT_name        : (indirect string, offset: 0x260): __syscall_slong_t	
-    <90>   DW_AT_decl_file   : 1	
-    <91>   DW_AT_decl_line   : 175	
-    <92>   DW_AT_type        : <0x63>	
- <1><96>: Abbrev Number: 2 (DW_TAG_base_type)
-    <97>   DW_AT_byte_size   : 1	
-    <98>   DW_AT_encoding    : 6	(signed char)
-    <99>   DW_AT_name        : (indirect string, offset: 0x17a): char	
- <1><9d>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <9e>   DW_AT_name        : (indirect string, offset: 0x155): timeval	
-    <a2>   DW_AT_byte_size   : 16	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 30	
-    <a5>   DW_AT_sibling     : <0xc6>	
- <2><a9>: Abbrev Number: 6 (DW_TAG_member)
-    <aa>   DW_AT_name        : (indirect string, offset: 0x1e1): tv_sec	
-    <ae>   DW_AT_decl_file   : 2	
-    <af>   DW_AT_decl_line   : 32	
-    <b0>   DW_AT_type        : <0x75>	
-    <b4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b7>: Abbrev Number: 6 (DW_TAG_member)
-    <b8>   DW_AT_name        : (indirect string, offset: 0x18d): tv_usec	
-    <bc>   DW_AT_decl_file   : 2	
-    <bd>   DW_AT_decl_line   : 33	
-    <be>   DW_AT_type        : <0x80>	
-    <c2>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c5>: Abbrev Number: 0
- <1><c6>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <c7>   DW_AT_byte_size   : 4	
-    <c8>   DW_AT_type        : <0xcc>	
- <1><cc>: Abbrev Number: 8 (DW_TAG_const_type)
-    <cd>   DW_AT_type        : <0x96>	
- <1><d1>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <d2>   DW_AT_name        : (indirect string, offset: 0x104): timex	
-    <d6>   DW_AT_byte_size   : 208	
-    <d7>   DW_AT_decl_file   : 3	
-    <d8>   DW_AT_decl_line   : 25	
-    <d9>   DW_AT_sibling     : <0x1fb>	
- <2><dd>: Abbrev Number: 6 (DW_TAG_member)
-    <de>   DW_AT_name        : (indirect string, offset: 0x245): modes	
-    <e2>   DW_AT_decl_file   : 3	
-    <e3>   DW_AT_decl_line   : 27	
-    <e4>   DW_AT_type        : <0x47>	
-    <e8>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><eb>: Abbrev Number: 6 (DW_TAG_member)
-    <ec>   DW_AT_name        : (indirect string, offset: 0x224): offset	
-    <f0>   DW_AT_decl_file   : 3	
-    <f1>   DW_AT_decl_line   : 28	
-    <f2>   DW_AT_type        : <0x8b>	
-    <f6>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><f9>: Abbrev Number: 6 (DW_TAG_member)
-    <fa>   DW_AT_name        : (indirect string, offset: 0x140): freq	
-    <fe>   DW_AT_decl_file   : 3	
-    <ff>   DW_AT_decl_line   : 29	
-    <100>   DW_AT_type        : <0x8b>	
-    <104>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><107>: Abbrev Number: 6 (DW_TAG_member)
-    <108>   DW_AT_name        : (indirect string, offset: 0xac): maxerror	
-    <10c>   DW_AT_decl_file   : 3	
-    <10d>   DW_AT_decl_line   : 30	
-    <10e>   DW_AT_type        : <0x8b>	
-    <112>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><115>: Abbrev Number: 6 (DW_TAG_member)
-    <116>   DW_AT_name        : (indirect string, offset: 0x13): esterror	
-    <11a>   DW_AT_decl_file   : 3	
-    <11b>   DW_AT_decl_line   : 31	
-    <11c>   DW_AT_type        : <0x8b>	
-    <120>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><123>: Abbrev Number: 6 (DW_TAG_member)
-    <124>   DW_AT_name        : (indirect string, offset: 0x9c): status	
-    <128>   DW_AT_decl_file   : 3	
-    <129>   DW_AT_decl_line   : 32	
-    <12a>   DW_AT_type        : <0x2b>	
-    <12e>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><131>: Abbrev Number: 6 (DW_TAG_member)
-    <132>   DW_AT_name        : (indirect string, offset: 0x16a): constant	
-    <136>   DW_AT_decl_file   : 3	
-    <137>   DW_AT_decl_line   : 33	
-    <138>   DW_AT_type        : <0x8b>	
-    <13c>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><13f>: Abbrev Number: 6 (DW_TAG_member)
-    <140>   DW_AT_name        : (indirect string, offset: 0x1f6): precision	
-    <144>   DW_AT_decl_file   : 3	
-    <145>   DW_AT_decl_line   : 34	
-    <146>   DW_AT_type        : <0x8b>	
-    <14a>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><14d>: Abbrev Number: 6 (DW_TAG_member)
-    <14e>   DW_AT_name        : (indirect string, offset: 0x200): tolerance	
-    <152>   DW_AT_decl_file   : 3	
-    <153>   DW_AT_decl_line   : 35	
-    <154>   DW_AT_type        : <0x8b>	
-    <158>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><15b>: Abbrev Number: 6 (DW_TAG_member)
-    <15c>   DW_AT_name        : (indirect string, offset: 0x272): time	
-    <160>   DW_AT_decl_file   : 3	
-    <161>   DW_AT_decl_line   : 36	
-    <162>   DW_AT_type        : <0x9d>	
-    <166>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><169>: Abbrev Number: 6 (DW_TAG_member)
-    <16a>   DW_AT_name        : (indirect string, offset: 0x124): tick	
-    <16e>   DW_AT_decl_file   : 3	
-    <16f>   DW_AT_decl_line   : 37	
-    <170>   DW_AT_type        : <0x8b>	
-    <174>   DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
- <2><177>: Abbrev Number: 6 (DW_TAG_member)
-    <178>   DW_AT_name        : (indirect string, offset: 0x1d0): ppsfreq	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 38	
-    <17e>   DW_AT_type        : <0x8b>	
-    <182>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><185>: Abbrev Number: 6 (DW_TAG_member)
-    <186>   DW_AT_name        : (indirect string, offset: 0xdd): jitter	
-    <18a>   DW_AT_decl_file   : 3	
-    <18b>   DW_AT_decl_line   : 39	
-    <18c>   DW_AT_type        : <0x8b>	
-    <190>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><193>: Abbrev Number: 6 (DW_TAG_member)
-    <194>   DW_AT_name        : (indirect string, offset: 0xd): shift	
-    <198>   DW_AT_decl_file   : 3	
-    <199>   DW_AT_decl_line   : 40	
-    <19a>   DW_AT_type        : <0x2b>	
-    <19e>   DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
- <2><1a1>: Abbrev Number: 6 (DW_TAG_member)
-    <1a2>   DW_AT_name        : (indirect string, offset: 0x173): stabil	
-    <1a6>   DW_AT_decl_file   : 3	
-    <1a7>   DW_AT_decl_line   : 41	
-    <1a8>   DW_AT_type        : <0x8b>	
-    <1ac>   DW_AT_data_member_location: 2 byte block: 23 78 	(DW_OP_plus_uconst: 120)
- <2><1af>: Abbrev Number: 6 (DW_TAG_member)
-    <1b0>   DW_AT_name        : (indirect string, offset: 0x95): jitcnt	
-    <1b4>   DW_AT_decl_file   : 3	
-    <1b5>   DW_AT_decl_line   : 42	
-    <1b6>   DW_AT_type        : <0x8b>	
-    <1ba>   DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
- <2><1be>: Abbrev Number: 6 (DW_TAG_member)
-    <1bf>   DW_AT_name        : (indirect string, offset: 0xd6): calcnt	
-    <1c3>   DW_AT_decl_file   : 3	
-    <1c4>   DW_AT_decl_line   : 43	
-    <1c5>   DW_AT_type        : <0x8b>	
-    <1c9>   DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
- <2><1cd>: Abbrev Number: 6 (DW_TAG_member)
-    <1ce>   DW_AT_name        : (indirect string, offset: 0x22): errcnt	
-    <1d2>   DW_AT_decl_file   : 3	
-    <1d3>   DW_AT_decl_line   : 44	
-    <1d4>   DW_AT_type        : <0x8b>	
-    <1d8>   DW_AT_data_member_location: 3 byte block: 23 90 1 	(DW_OP_plus_uconst: 144)
- <2><1dc>: Abbrev Number: 6 (DW_TAG_member)
-    <1dd>   DW_AT_name        : (indirect string, offset: 0x235): stbcnt	
-    <1e1>   DW_AT_decl_file   : 3	
-    <1e2>   DW_AT_decl_line   : 45	
-    <1e3>   DW_AT_type        : <0x8b>	
-    <1e7>   DW_AT_data_member_location: 3 byte block: 23 98 1 	(DW_OP_plus_uconst: 152)
- <2><1eb>: Abbrev Number: 9 (DW_TAG_member)
-    <1ec>   DW_AT_name        : tai	
-    <1f0>   DW_AT_decl_file   : 3	
-    <1f1>   DW_AT_decl_line   : 47	
-    <1f2>   DW_AT_type        : <0x2b>	
-    <1f6>   DW_AT_data_member_location: 3 byte block: 23 a0 1 	(DW_OP_plus_uconst: 160)
- <2><1fa>: Abbrev Number: 0
- <1><1fb>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <1fc>   DW_AT_name        : (indirect string, offset: 0x145): sysent	
-    <200>   DW_AT_byte_size   : 20	
-    <201>   DW_AT_decl_file   : 4	
-    <202>   DW_AT_decl_line   : 4	
-    <203>   DW_AT_sibling     : <0x24e>	
- <2><207>: Abbrev Number: 6 (DW_TAG_member)
-    <208>   DW_AT_name        : (indirect string, offset: 0x129): nargs	
-    <20c>   DW_AT_decl_file   : 4	
-    <20d>   DW_AT_decl_line   : 5	
-    <20e>   DW_AT_type        : <0x47>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><215>: Abbrev Number: 6 (DW_TAG_member)
-    <216>   DW_AT_name        : (indirect string, offset: 0xb5): sys_flags	
-    <21a>   DW_AT_decl_file   : 4	
-    <21b>   DW_AT_decl_line   : 6	
-    <21c>   DW_AT_type        : <0x2b>	
-    <220>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><223>: Abbrev Number: 9 (DW_TAG_member)
-    <224>   DW_AT_name        : sen	
-    <228>   DW_AT_decl_file   : 4	
-    <229>   DW_AT_decl_line   : 7	
-    <22a>   DW_AT_type        : <0x2b>	
-    <22e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><231>: Abbrev Number: 6 (DW_TAG_member)
-    <232>   DW_AT_name        : (indirect string, offset: 0x257): sys_func	
-    <236>   DW_AT_decl_file   : 4	
-    <237>   DW_AT_decl_line   : 8	
-    <238>   DW_AT_type        : <0x259>	
-    <23c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><23f>: Abbrev Number: 6 (DW_TAG_member)
-    <240>   DW_AT_name        : (indirect string, offset: 0xa3): sys_name	
-    <244>   DW_AT_decl_file   : 4	
-    <245>   DW_AT_decl_line   : 9	
-    <246>   DW_AT_type        : <0xc6>	
-    <24a>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><24d>: Abbrev Number: 0
- <1><24e>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <24f>   DW_AT_type        : <0x2b>	
-    <253>   DW_AT_sibling     : <0x259>	
- <2><257>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><258>: Abbrev Number: 0
- <1><259>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <25a>   DW_AT_byte_size   : 4	
-    <25b>   DW_AT_type        : <0x24e>	
- <1><25f>: Abbrev Number: 4 (DW_TAG_typedef)
-    <260>   DW_AT_name        : (indirect string, offset: 0x29): struct_sysent	
-    <264>   DW_AT_decl_file   : 4	
-    <265>   DW_AT_decl_line   : 10	
-    <266>   DW_AT_type        : <0x1fb>	
- <1><26a>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <26b>   DW_AT_byte_size   : 4	
-    <26c>   DW_AT_type        : <0x270>	
- <1><270>: Abbrev Number: 8 (DW_TAG_const_type)
-    <271>   DW_AT_type        : <0x25f>	
- <1><275>: Abbrev Number: 2 (DW_TAG_base_type)
-    <276>   DW_AT_byte_size   : 1	
-    <277>   DW_AT_encoding    : 2	(boolean)
-    <278>   DW_AT_name        : (indirect string, offset: 0x1c): _Bool	
- <1><27c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <27d>   DW_AT_name        : (indirect string, offset: 0x0): struct_timex	
-    <281>   DW_AT_decl_file   : 5	
-    <282>   DW_AT_decl_line   : 35	
-    <283>   DW_AT_type        : <0xd1>	
- <1><287>: Abbrev Number: 12 (DW_TAG_variable)
-    <288>   DW_AT_name        : (indirect string, offset: 0x10a): current_wordsize	
-    <28c>   DW_AT_decl_file   : 6	
-    <28d>   DW_AT_decl_line   : 757	
-    <28f>   DW_AT_type        : <0x47>	
-    <293>   DW_AT_external    : 1	
-    <294>   DW_AT_declaration : 1	
- <1><295>: Abbrev Number: 12 (DW_TAG_variable)
-    <296>   DW_AT_name        : (indirect string, offset: 0x145): sysent	
-    <29a>   DW_AT_decl_file   : 6	
-    <29b>   DW_AT_decl_line   : 892	
-    <29d>   DW_AT_type        : <0x26a>	
-    <2a1>   DW_AT_external    : 1	
-    <2a2>   DW_AT_declaration : 1	
- <1><2a3>: Abbrev Number: 12 (DW_TAG_variable)
-    <2a4>   DW_AT_name        : (indirect string, offset: 0x1c6): nsyscalls	
-    <2a8>   DW_AT_decl_file   : 6	
-    <2a9>   DW_AT_decl_line   : 903	
-    <2ab>   DW_AT_type        : <0x47>	
-    <2af>   DW_AT_external    : 1	
-    <2b0>   DW_AT_declaration : 1	
- <1><2b1>: Abbrev Number: 13 (DW_TAG_variable)
-    <2b2>   DW_AT_name        : (indirect string, offset: 0x12f): mpers_target_var	
-    <2b6>   DW_AT_decl_file   : 5	
-    <2b7>   DW_AT_decl_line   : 37	
-    <2b8>   DW_AT_type        : <0x27c>	
-    <2bc>   DW_AT_external    : 1	
-    <2bd>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><2c3>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_timex.d2 b/mpers-mx32/struct_timex.d2
deleted file mode 100644
index 94fb801..0000000
--- a/mpers-mx32/struct_timex.d2
+++ /dev/null
@@ -1,367 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x24b): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x22b): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e8): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xe4): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x82): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x15d): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x23c): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xf2): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x14c): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d8): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11b): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17f): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x63>
-<1><8b>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x260): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x63>
-<1><96>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x17a): char
-<1><9d>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x155): timeval
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xc6>
-<2><a9>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e1): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b7>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18d): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><c6>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcc>
-<1><cc>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x96>
-<1><d1>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x104): timex
-DW_AT_byte_size   : 208
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 25
-DW_AT_sibling     : <0x1fb>
-<2><dd>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x245): modes
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><eb>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x224): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><f9>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x140): freq
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><107>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xac): maxerror
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><115>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13): esterror
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><123>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9c): status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><131>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16a): constant
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><13f>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f6): precision
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><14d>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x200): tolerance
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 35
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><15b>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x272): time
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x9d>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><169>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x124): tick
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
-<2><177>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d0): ppsfreq
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><185>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xdd): jitter
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<2><193>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd): shift
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 70 	(DW_OP_plus_uconst: 112)
-<2><1a1>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x173): stabil
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 2 byte block: 23 78 	(DW_OP_plus_uconst: 120)
-<2><1af>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x95): jitcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 3 byte block: 23 80 1 	(DW_OP_plus_uconst: 128)
-<2><1be>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd6): calcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 3 byte block: 23 88 1 	(DW_OP_plus_uconst: 136)
-<2><1cd>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22): errcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 3 byte block: 23 90 1 	(DW_OP_plus_uconst: 144)
-<2><1dc>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x235): stbcnt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x8b>
-DW_AT_data_member_location: 3 byte block: 23 98 1 	(DW_OP_plus_uconst: 152)
-<2><1eb>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : tai
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 3 byte block: 23 a0 1 	(DW_OP_plus_uconst: 160)
-<1><1fb>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x145): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x24e>
-<2><207>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x129): nargs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><215>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb5): sys_flags
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><223>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><231>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x257): sys_func
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x259>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><23f>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa3): sys_name
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xc6>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><24e>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x259>
-<2><257>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><259>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x24e>
-<1><25f>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x29): struct_sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x1fb>
-<1><26a>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x270>
-<1><270>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x25f>
-<1><275>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1c): _Bool
-<1><27c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): struct_timex
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 35
-DW_AT_type        : <0xd1>
-<1><287>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x10a): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><295>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x145): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x26a>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2a3>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1c6): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><2b1>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12f): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x27c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_ustat.d1 b/mpers-mx32/struct_ustat.d1
deleted file mode 100644
index 26d6f6c..0000000
--- a/mpers-mx32/struct_ustat.d1
+++ /dev/null
@@ -1,213 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1b7 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x2e): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x6): mpers-mx32/struct_ustat.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x147): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1b4): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1a1): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x18b): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa8): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x79): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x112): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x1cb): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1ab): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xc9): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x1c0): __u_quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 56	
-    <6a>   DW_AT_type        : <0x4e>	
- <1><6e>: Abbrev Number: 4 (DW_TAG_typedef)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x20): __ino_t	
-    <73>   DW_AT_decl_file   : 1	
-    <74>   DW_AT_decl_line   : 127	
-    <75>   DW_AT_type        : <0x63>	
- <1><79>: Abbrev Number: 2 (DW_TAG_base_type)
-    <7a>   DW_AT_byte_size   : 4	
-    <7b>   DW_AT_encoding    : 7	(unsigned)
-    <7c>   DW_AT_name        : (indirect string, offset: 0x182): sizetype	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0xbf): __daddr_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 143	
-    <87>   DW_AT_type        : <0x2b>	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x135): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <93>   DW_AT_byte_size   : 4	
-    <94>   DW_AT_type        : <0x98>	
- <1><98>: Abbrev Number: 6 (DW_TAG_const_type)
-    <99>   DW_AT_type        : <0x8b>	
- <1><9d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <9e>   DW_AT_name        : (indirect string, offset: 0xdb): sysent	
-    <a2>   DW_AT_byte_size   : 20	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 4	
-    <a5>   DW_AT_sibling     : <0xf0>	
- <2><a9>: Abbrev Number: 8 (DW_TAG_member)
-    <aa>   DW_AT_name        : (indirect string, offset: 0xfb): nargs	
-    <ae>   DW_AT_decl_file   : 2	
-    <af>   DW_AT_decl_line   : 5	
-    <b0>   DW_AT_type        : <0x47>	
-    <b4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b7>: Abbrev Number: 8 (DW_TAG_member)
-    <b8>   DW_AT_name        : (indirect string, offset: 0x95): sys_flags	
-    <bc>   DW_AT_decl_file   : 2	
-    <bd>   DW_AT_decl_line   : 6	
-    <be>   DW_AT_type        : <0x2b>	
-    <c2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c5>: Abbrev Number: 9 (DW_TAG_member)
-    <c6>   DW_AT_name        : sen	
-    <ca>   DW_AT_decl_file   : 2	
-    <cb>   DW_AT_decl_line   : 7	
-    <cc>   DW_AT_type        : <0x2b>	
-    <d0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d3>: Abbrev Number: 8 (DW_TAG_member)
-    <d4>   DW_AT_name        : (indirect string, offset: 0xb6): sys_func	
-    <d8>   DW_AT_decl_file   : 2	
-    <d9>   DW_AT_decl_line   : 8	
-    <da>   DW_AT_type        : <0xfb>	
-    <de>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e1>: Abbrev Number: 8 (DW_TAG_member)
-    <e2>   DW_AT_name        : (indirect string, offset: 0x8c): sys_name	
-    <e6>   DW_AT_decl_file   : 2	
-    <e7>   DW_AT_decl_line   : 9	
-    <e8>   DW_AT_type        : <0x92>	
-    <ec>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <f1>   DW_AT_type        : <0x2b>	
-    <f5>   DW_AT_sibling     : <0xfb>	
- <2><f9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><fa>: Abbrev Number: 0
- <1><fb>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <fc>   DW_AT_byte_size   : 4	
-    <fd>   DW_AT_type        : <0xf0>	
- <1><101>: Abbrev Number: 4 (DW_TAG_typedef)
-    <102>   DW_AT_name        : (indirect string, offset: 0x11f): struct_sysent	
-    <106>   DW_AT_decl_file   : 2	
-    <107>   DW_AT_decl_line   : 10	
-    <108>   DW_AT_type        : <0x9d>	
- <1><10c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x112>	
- <1><112>: Abbrev Number: 6 (DW_TAG_const_type)
-    <113>   DW_AT_type        : <0x101>	
- <1><117>: Abbrev Number: 2 (DW_TAG_base_type)
-    <118>   DW_AT_byte_size   : 1	
-    <119>   DW_AT_encoding    : 2	(boolean)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x28): _Bool	
- <1><11e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x0): ustat	
-    <123>   DW_AT_byte_size   : 32	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 24	
-    <126>   DW_AT_sibling     : <0x163>	
- <2><12a>: Abbrev Number: 8 (DW_TAG_member)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x199): f_tfree	
-    <12f>   DW_AT_decl_file   : 3	
-    <130>   DW_AT_decl_line   : 26	
-    <131>   DW_AT_type        : <0x80>	
-    <135>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><138>: Abbrev Number: 8 (DW_TAG_member)
-    <139>   DW_AT_name        : (indirect string, offset: 0x9f): f_tinode	
-    <13d>   DW_AT_decl_file   : 3	
-    <13e>   DW_AT_decl_line   : 27	
-    <13f>   DW_AT_type        : <0x6e>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><146>: Abbrev Number: 8 (DW_TAG_member)
-    <147>   DW_AT_name        : (indirect string, offset: 0xe2): f_fname	
-    <14b>   DW_AT_decl_file   : 3	
-    <14c>   DW_AT_decl_line   : 28	
-    <14d>   DW_AT_type        : <0x163>	
-    <151>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><154>: Abbrev Number: 8 (DW_TAG_member)
-    <155>   DW_AT_name        : (indirect string, offset: 0x12d): f_fpack	
-    <159>   DW_AT_decl_file   : 3	
-    <15a>   DW_AT_decl_line   : 29	
-    <15b>   DW_AT_type        : <0x163>	
-    <15f>   DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
- <2><162>: Abbrev Number: 0
- <1><163>: Abbrev Number: 12 (DW_TAG_array_type)
-    <164>   DW_AT_type        : <0x8b>	
-    <168>   DW_AT_sibling     : <0x173>	
- <2><16c>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <16d>   DW_AT_type        : <0x79>	
-    <171>   DW_AT_upper_bound : 5	
- <2><172>: Abbrev Number: 0
- <1><173>: Abbrev Number: 4 (DW_TAG_typedef)
-    <174>   DW_AT_name        : (indirect string, offset: 0x13a): struct_ustat	
-    <178>   DW_AT_decl_file   : 4	
-    <179>   DW_AT_decl_line   : 31	
-    <17a>   DW_AT_type        : <0x11e>	
- <1><17e>: Abbrev Number: 14 (DW_TAG_variable)
-    <17f>   DW_AT_name        : (indirect string, offset: 0xea): current_wordsize	
-    <183>   DW_AT_decl_file   : 5	
-    <184>   DW_AT_decl_line   : 757	
-    <186>   DW_AT_type        : <0x47>	
-    <18a>   DW_AT_external    : 1	
-    <18b>   DW_AT_declaration : 1	
- <1><18c>: Abbrev Number: 14 (DW_TAG_variable)
-    <18d>   DW_AT_name        : (indirect string, offset: 0xdb): sysent	
-    <191>   DW_AT_decl_file   : 5	
-    <192>   DW_AT_decl_line   : 892	
-    <194>   DW_AT_type        : <0x10c>	
-    <198>   DW_AT_external    : 1	
-    <199>   DW_AT_declaration : 1	
- <1><19a>: Abbrev Number: 14 (DW_TAG_variable)
-    <19b>   DW_AT_name        : (indirect string, offset: 0x178): nsyscalls	
-    <19f>   DW_AT_decl_file   : 5	
-    <1a0>   DW_AT_decl_line   : 903	
-    <1a2>   DW_AT_type        : <0x47>	
-    <1a6>   DW_AT_external    : 1	
-    <1a7>   DW_AT_declaration : 1	
- <1><1a8>: Abbrev Number: 15 (DW_TAG_variable)
-    <1a9>   DW_AT_name        : (indirect string, offset: 0x101): mpers_target_var	
-    <1ad>   DW_AT_decl_file   : 4	
-    <1ae>   DW_AT_decl_line   : 34	
-    <1af>   DW_AT_type        : <0x173>	
-    <1b3>   DW_AT_external    : 1	
-    <1b4>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1ba>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_ustat.d2 b/mpers-mx32/struct_ustat.d2
deleted file mode 100644
index af6f99c..0000000
--- a/mpers-mx32/struct_ustat.d2
+++ /dev/null
@@ -1,236 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b4): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a1): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18b): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa8): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x79): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x112): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1cb): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ab): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc9): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c0): __u_quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 56
-DW_AT_type        : <0x4e>
-<1><6e>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x20): __ino_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 127
-DW_AT_type        : <0x63>
-<1><79>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x182): sizetype
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xbf): __daddr_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 143
-DW_AT_type        : <0x2b>
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x135): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x98>
-<1><98>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><9d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xdb): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf0>
-<2><a9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xfb): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x95): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb6): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x8c): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfb>
-<2><f9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><fb>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf0>
-<1><101>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11f): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x9d>
-<1><10c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x112>
-<1><112>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x101>
-<1><117>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x28): _Bool
-<1><11e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): ustat
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 24
-DW_AT_sibling     : <0x163>
-<2><12a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x199): f_tfree
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><138>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9f): f_tinode
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 27
-DW_AT_type        : <0x6e>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><146>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe2): f_fname
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 28
-DW_AT_type        : <0x163>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><154>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x12d): f_fpack
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x163>
-DW_AT_data_member_location: 2 byte block: 23 16 	(DW_OP_plus_uconst: 22)
-<1><163>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x8b>
-DW_AT_sibling     : <0x173>
-<2><16c>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x79>
-DW_AT_upper_bound : 5
-<1><173>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x13a): struct_ustat
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x11e>
-<1><17e>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xea): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18c>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xdb): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10c>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><19a>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x178): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1a8>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x101): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_type        : <0x173>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_v4l2_buffer.c b/mpers-mx32/struct_v4l2_buffer.c
index d2d5cf1..dd68e07 100644
--- a/mpers-mx32/struct_v4l2_buffer.c
+++ b/mpers-mx32/struct_v4l2_buffer.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_buffer.d1 b/mpers-mx32/struct_v4l2_buffer.d1
deleted file mode 100644
index 3409b30..0000000
--- a/mpers-mx32/struct_v4l2_buffer.d1
+++ /dev/null
@@ -1,460 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x3f5 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x1f9): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x25b): mpers-mx32/struct_v4l2_buffer.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x2f0): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x141): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x47): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0xb5): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x11a): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x1af): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x161): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xc3): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0xda): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x249): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x11): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x51): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x27b): __time_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 139	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0x2d9): __suseconds_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 141	
-    <87>   DW_AT_type        : <0x63>	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x1d0): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0x284): timeval	
-    <97>   DW_AT_byte_size   : 16	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 30	
-    <9a>   DW_AT_sibling     : <0xbb>	
- <2><9e>: Abbrev Number: 6 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x40): tv_sec	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 32	
-    <a5>   DW_AT_type        : <0x75>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 6 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x2ab): tv_usec	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 33	
-    <b3>   DW_AT_type        : <0x80>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><ba>: Abbrev Number: 0
- <1><bb>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <bc>   DW_AT_byte_size   : 4	
-    <bd>   DW_AT_type        : <0xc1>	
- <1><c1>: Abbrev Number: 8 (DW_TAG_const_type)
-    <c2>   DW_AT_type        : <0x8b>	
- <1><c6>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <c7>   DW_AT_name        : (indirect string, offset: 0x2cc): sysent	
-    <cb>   DW_AT_byte_size   : 20	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 4	
-    <ce>   DW_AT_sibling     : <0x119>	
- <2><d2>: Abbrev Number: 6 (DW_TAG_member)
-    <d3>   DW_AT_name        : (indirect string, offset: 0x13b): nargs	
-    <d7>   DW_AT_decl_file   : 3	
-    <d8>   DW_AT_decl_line   : 5	
-    <d9>   DW_AT_type        : <0x47>	
-    <dd>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><e0>: Abbrev Number: 6 (DW_TAG_member)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x91): sys_flags	
-    <e5>   DW_AT_decl_file   : 3	
-    <e6>   DW_AT_decl_line   : 6	
-    <e7>   DW_AT_type        : <0x2b>	
-    <eb>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ee>: Abbrev Number: 9 (DW_TAG_member)
-    <ef>   DW_AT_name        : sen	
-    <f3>   DW_AT_decl_file   : 3	
-    <f4>   DW_AT_decl_line   : 7	
-    <f5>   DW_AT_type        : <0x2b>	
-    <f9>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><fc>: Abbrev Number: 6 (DW_TAG_member)
-    <fd>   DW_AT_name        : (indirect string, offset: 0x24): sys_func	
-    <101>   DW_AT_decl_file   : 3	
-    <102>   DW_AT_decl_line   : 8	
-    <103>   DW_AT_type        : <0x124>	
-    <107>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><10a>: Abbrev Number: 6 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x88): sys_name	
-    <10f>   DW_AT_decl_file   : 3	
-    <110>   DW_AT_decl_line   : 9	
-    <111>   DW_AT_type        : <0xbb>	
-    <115>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><118>: Abbrev Number: 0
- <1><119>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <11a>   DW_AT_type        : <0x2b>	
-    <11e>   DW_AT_sibling     : <0x124>	
- <2><122>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><123>: Abbrev Number: 0
- <1><124>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <125>   DW_AT_byte_size   : 4	
-    <126>   DW_AT_type        : <0x119>	
- <1><12a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x29d): struct_sysent	
-    <12f>   DW_AT_decl_file   : 3	
-    <130>   DW_AT_decl_line   : 10	
-    <131>   DW_AT_type        : <0xc6>	
- <1><135>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <136>   DW_AT_byte_size   : 4	
-    <137>   DW_AT_type        : <0x13b>	
- <1><13b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <13c>   DW_AT_type        : <0x12a>	
- <1><140>: Abbrev Number: 2 (DW_TAG_base_type)
-    <141>   DW_AT_byte_size   : 1	
-    <142>   DW_AT_encoding    : 2	(boolean)
-    <143>   DW_AT_name        : (indirect string, offset: 0x1df): _Bool	
- <1><147>: Abbrev Number: 4 (DW_TAG_typedef)
-    <148>   DW_AT_name        : (indirect string, offset: 0x244): __u8	
-    <14c>   DW_AT_decl_file   : 4	
-    <14d>   DW_AT_decl_line   : 20	
-    <14e>   DW_AT_type        : <0x39>	
- <1><152>: Abbrev Number: 4 (DW_TAG_typedef)
-    <153>   DW_AT_name        : (indirect string, offset: 0x28c): __s32	
-    <157>   DW_AT_decl_file   : 4	
-    <158>   DW_AT_decl_line   : 25	
-    <159>   DW_AT_type        : <0x2b>	
- <1><15d>: Abbrev Number: 4 (DW_TAG_typedef)
-    <15e>   DW_AT_name        : (indirect string, offset: 0xa1): __u32	
-    <162>   DW_AT_decl_file   : 4	
-    <163>   DW_AT_decl_line   : 26	
-    <164>   DW_AT_type        : <0x47>	
- <1><168>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <169>   DW_AT_name        : (indirect string, offset: 0x2bb): v4l2_preemphasis	
-    <16d>   DW_AT_byte_size   : 4	
-    <16e>   DW_AT_decl_file   : 8	
-    <16f>   DW_AT_decl_line   : 763	
-    <171>   DW_AT_sibling     : <0x188>	
- <2><175>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <176>   DW_AT_name        : (indirect string, offset: 0x6e): V4L2_PREEMPHASIS_DISABLED	
-    <17a>   DW_AT_const_value : 0	
- <2><17b>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <17c>   DW_AT_name        : (indirect string, offset: 0x185): V4L2_PREEMPHASIS_50_uS	
-    <180>   DW_AT_const_value : 1	
- <2><181>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <182>   DW_AT_name        : (indirect string, offset: 0x16e): V4L2_PREEMPHASIS_75_uS	
-    <186>   DW_AT_const_value : 2	
- <2><187>: Abbrev Number: 0
- <1><188>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <189>   DW_AT_name        : (indirect string, offset: 0xf4): v4l2_timecode	
-    <18d>   DW_AT_byte_size   : 16	
-    <18e>   DW_AT_decl_file   : 5	
-    <18f>   DW_AT_decl_line   : 519	
-    <191>   DW_AT_sibling     : <0x1ff>	
- <2><195>: Abbrev Number: 15 (DW_TAG_member)
-    <196>   DW_AT_name        : (indirect string, offset: 0x15c): type	
-    <19a>   DW_AT_decl_file   : 5	
-    <19b>   DW_AT_decl_line   : 520	
-    <19d>   DW_AT_type        : <0x15d>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1a4>: Abbrev Number: 15 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x14d): flags	
-    <1a9>   DW_AT_decl_file   : 5	
-    <1aa>   DW_AT_decl_line   : 521	
-    <1ac>   DW_AT_type        : <0x15d>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1b3>: Abbrev Number: 15 (DW_TAG_member)
-    <1b4>   DW_AT_name        : (indirect string, offset: 0x2d): frames	
-    <1b8>   DW_AT_decl_file   : 5	
-    <1b9>   DW_AT_decl_line   : 522	
-    <1bb>   DW_AT_type        : <0x147>	
-    <1bf>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1c2>: Abbrev Number: 15 (DW_TAG_member)
-    <1c3>   DW_AT_name        : (indirect string, offset: 0x1c2): seconds	
-    <1c7>   DW_AT_decl_file   : 5	
-    <1c8>   DW_AT_decl_line   : 523	
-    <1ca>   DW_AT_type        : <0x147>	
-    <1ce>   DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
- <2><1d1>: Abbrev Number: 15 (DW_TAG_member)
-    <1d2>   DW_AT_name        : (indirect string, offset: 0x2b3): minutes	
-    <1d6>   DW_AT_decl_file   : 5	
-    <1d7>   DW_AT_decl_line   : 524	
-    <1d9>   DW_AT_type        : <0x147>	
-    <1dd>   DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
- <2><1e0>: Abbrev Number: 15 (DW_TAG_member)
-    <1e1>   DW_AT_name        : (indirect string, offset: 0x1ca): hours	
-    <1e5>   DW_AT_decl_file   : 5	
-    <1e6>   DW_AT_decl_line   : 525	
-    <1e8>   DW_AT_type        : <0x147>	
-    <1ec>   DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
- <2><1ef>: Abbrev Number: 15 (DW_TAG_member)
-    <1f0>   DW_AT_name        : (indirect string, offset: 0x1f0): userbits	
-    <1f4>   DW_AT_decl_file   : 5	
-    <1f5>   DW_AT_decl_line   : 526	
-    <1f7>   DW_AT_type        : <0x1ff>	
-    <1fb>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1fe>: Abbrev Number: 0
- <1><1ff>: Abbrev Number: 16 (DW_TAG_array_type)
-    <200>   DW_AT_type        : <0x147>	
-    <204>   DW_AT_sibling     : <0x20f>	
- <2><208>: Abbrev Number: 17 (DW_TAG_subrange_type)
-    <209>   DW_AT_type        : <0x6e>	
-    <20d>   DW_AT_upper_bound : 3	
- <2><20e>: Abbrev Number: 0
- <1><20f>: Abbrev Number: 18 (DW_TAG_union_type)
-    <210>   DW_AT_byte_size   : 4	
-    <211>   DW_AT_decl_file   : 5	
-    <212>   DW_AT_decl_line   : 606	
-    <214>   DW_AT_sibling     : <0x23c>	
- <2><218>: Abbrev Number: 19 (DW_TAG_member)
-    <219>   DW_AT_name        : (indirect string, offset: 0x1e5): mem_offset	
-    <21d>   DW_AT_decl_file   : 5	
-    <21e>   DW_AT_decl_line   : 607	
-    <220>   DW_AT_type        : <0x15d>	
- <2><224>: Abbrev Number: 19 (DW_TAG_member)
-    <225>   DW_AT_name        : (indirect string, offset: 0x5a): userptr	
-    <229>   DW_AT_decl_file   : 5	
-    <22a>   DW_AT_decl_line   : 608	
-    <22c>   DW_AT_type        : <0x5c>	
- <2><230>: Abbrev Number: 20 (DW_TAG_member)
-    <231>   DW_AT_name        : fd	
-    <234>   DW_AT_decl_file   : 5	
-    <235>   DW_AT_decl_line   : 609	
-    <237>   DW_AT_type        : <0x152>	
- <2><23b>: Abbrev Number: 0
- <1><23c>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <23d>   DW_AT_name        : (indirect string, offset: 0x292): v4l2_plane	
-    <241>   DW_AT_byte_size   : 60	
-    <242>   DW_AT_decl_file   : 5	
-    <243>   DW_AT_decl_line   : 603	
-    <245>   DW_AT_sibling     : <0x293>	
- <2><249>: Abbrev Number: 15 (DW_TAG_member)
-    <24a>   DW_AT_name        : (indirect string, offset: 0x1d5): bytesused	
-    <24e>   DW_AT_decl_file   : 5	
-    <24f>   DW_AT_decl_line   : 604	
-    <251>   DW_AT_type        : <0x15d>	
-    <255>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><258>: Abbrev Number: 15 (DW_TAG_member)
-    <259>   DW_AT_name        : (indirect string, offset: 0x113): length	
-    <25d>   DW_AT_decl_file   : 5	
-    <25e>   DW_AT_decl_line   : 605	
-    <260>   DW_AT_type        : <0x15d>	
-    <264>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><267>: Abbrev Number: 21 (DW_TAG_member)
-    <268>   DW_AT_name        : m	
-    <26a>   DW_AT_decl_file   : 5	
-    <26b>   DW_AT_decl_line   : 610	
-    <26d>   DW_AT_type        : <0x20f>	
-    <271>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><274>: Abbrev Number: 15 (DW_TAG_member)
-    <275>   DW_AT_name        : (indirect string, offset: 0x34): data_offset	
-    <279>   DW_AT_decl_file   : 5	
-    <27a>   DW_AT_decl_line   : 611	
-    <27c>   DW_AT_type        : <0x15d>	
-    <280>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><283>: Abbrev Number: 15 (DW_TAG_member)
-    <284>   DW_AT_name        : (indirect string, offset: 0x2e7): reserved	
-    <288>   DW_AT_decl_file   : 5	
-    <289>   DW_AT_decl_line   : 612	
-    <28b>   DW_AT_type        : <0x293>	
-    <28f>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><292>: Abbrev Number: 0
- <1><293>: Abbrev Number: 16 (DW_TAG_array_type)
-    <294>   DW_AT_type        : <0x15d>	
-    <298>   DW_AT_sibling     : <0x2a3>	
- <2><29c>: Abbrev Number: 17 (DW_TAG_subrange_type)
-    <29d>   DW_AT_type        : <0x6e>	
-    <2a1>   DW_AT_upper_bound : 10	
- <2><2a2>: Abbrev Number: 0
- <1><2a3>: Abbrev Number: 18 (DW_TAG_union_type)
-    <2a4>   DW_AT_byte_size   : 4	
-    <2a5>   DW_AT_decl_file   : 5	
-    <2a6>   DW_AT_decl_line   : 658	
-    <2a8>   DW_AT_sibling     : <0x2dc>	
- <2><2ac>: Abbrev Number: 19 (DW_TAG_member)
-    <2ad>   DW_AT_name        : (indirect string, offset: 0xed): offset	
-    <2b1>   DW_AT_decl_file   : 5	
-    <2b2>   DW_AT_decl_line   : 659	
-    <2b4>   DW_AT_type        : <0x15d>	
- <2><2b8>: Abbrev Number: 19 (DW_TAG_member)
-    <2b9>   DW_AT_name        : (indirect string, offset: 0x5a): userptr	
-    <2bd>   DW_AT_decl_file   : 5	
-    <2be>   DW_AT_decl_line   : 660	
-    <2c0>   DW_AT_type        : <0x5c>	
- <2><2c4>: Abbrev Number: 19 (DW_TAG_member)
-    <2c5>   DW_AT_name        : (indirect string, offset: 0xa7): planes	
-    <2c9>   DW_AT_decl_file   : 5	
-    <2ca>   DW_AT_decl_line   : 661	
-    <2cc>   DW_AT_type        : <0x2dc>	
- <2><2d0>: Abbrev Number: 20 (DW_TAG_member)
-    <2d1>   DW_AT_name        : fd	
-    <2d4>   DW_AT_decl_file   : 5	
-    <2d5>   DW_AT_decl_line   : 662	
-    <2d7>   DW_AT_type        : <0x152>	
- <2><2db>: Abbrev Number: 0
- <1><2dc>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <2dd>   DW_AT_byte_size   : 4	
-    <2de>   DW_AT_type        : <0x23c>	
- <1><2e2>: Abbrev Number: 14 (DW_TAG_structure_type)
-    <2e3>   DW_AT_name        : (indirect string, offset: 0x62): v4l2_buffer	
-    <2e7>   DW_AT_byte_size   : 80	
-    <2e8>   DW_AT_decl_file   : 5	
-    <2e9>   DW_AT_decl_line   : 646	
-    <2eb>   DW_AT_sibling     : <0x3b1>	
- <2><2ef>: Abbrev Number: 15 (DW_TAG_member)
-    <2f0>   DW_AT_name        : (indirect string, offset: 0x9b): index	
-    <2f4>   DW_AT_decl_file   : 5	
-    <2f5>   DW_AT_decl_line   : 647	
-    <2f7>   DW_AT_type        : <0x15d>	
-    <2fb>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2fe>: Abbrev Number: 15 (DW_TAG_member)
-    <2ff>   DW_AT_name        : (indirect string, offset: 0x15c): type	
-    <303>   DW_AT_decl_file   : 5	
-    <304>   DW_AT_decl_line   : 648	
-    <306>   DW_AT_type        : <0x15d>	
-    <30a>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><30d>: Abbrev Number: 15 (DW_TAG_member)
-    <30e>   DW_AT_name        : (indirect string, offset: 0x1d5): bytesused	
-    <312>   DW_AT_decl_file   : 5	
-    <313>   DW_AT_decl_line   : 649	
-    <315>   DW_AT_type        : <0x15d>	
-    <319>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><31c>: Abbrev Number: 15 (DW_TAG_member)
-    <31d>   DW_AT_name        : (indirect string, offset: 0x14d): flags	
-    <321>   DW_AT_decl_file   : 5	
-    <322>   DW_AT_decl_line   : 650	
-    <324>   DW_AT_type        : <0x15d>	
-    <328>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><32b>: Abbrev Number: 15 (DW_TAG_member)
-    <32c>   DW_AT_name        : (indirect string, offset: 0x2d3): field	
-    <330>   DW_AT_decl_file   : 5	
-    <331>   DW_AT_decl_line   : 651	
-    <333>   DW_AT_type        : <0x15d>	
-    <337>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><33a>: Abbrev Number: 15 (DW_TAG_member)
-    <33b>   DW_AT_name        : (indirect string, offset: 0x1a): timestamp	
-    <33f>   DW_AT_decl_file   : 5	
-    <340>   DW_AT_decl_line   : 652	
-    <342>   DW_AT_type        : <0x92>	
-    <346>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><349>: Abbrev Number: 15 (DW_TAG_member)
-    <34a>   DW_AT_name        : (indirect string, offset: 0x19c): timecode	
-    <34e>   DW_AT_decl_file   : 5	
-    <34f>   DW_AT_decl_line   : 653	
-    <351>   DW_AT_type        : <0x188>	
-    <355>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><358>: Abbrev Number: 15 (DW_TAG_member)
-    <359>   DW_AT_name        : (indirect string, offset: 0x153): sequence	
-    <35d>   DW_AT_decl_file   : 5	
-    <35e>   DW_AT_decl_line   : 654	
-    <360>   DW_AT_type        : <0x15d>	
-    <364>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><367>: Abbrev Number: 15 (DW_TAG_member)
-    <368>   DW_AT_name        : (indirect string, offset: 0xae): memory	
-    <36c>   DW_AT_decl_file   : 5	
-    <36d>   DW_AT_decl_line   : 657	
-    <36f>   DW_AT_type        : <0x15d>	
-    <373>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><376>: Abbrev Number: 21 (DW_TAG_member)
-    <377>   DW_AT_name        : m	
-    <379>   DW_AT_decl_file   : 5	
-    <37a>   DW_AT_decl_line   : 663	
-    <37c>   DW_AT_type        : <0x2a3>	
-    <380>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><383>: Abbrev Number: 15 (DW_TAG_member)
-    <384>   DW_AT_name        : (indirect string, offset: 0x113): length	
-    <388>   DW_AT_decl_file   : 5	
-    <389>   DW_AT_decl_line   : 664	
-    <38b>   DW_AT_type        : <0x15d>	
-    <38f>   DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
- <2><392>: Abbrev Number: 15 (DW_TAG_member)
-    <393>   DW_AT_name        : (indirect string, offset: 0xe3): reserved2	
-    <397>   DW_AT_decl_file   : 5	
-    <398>   DW_AT_decl_line   : 665	
-    <39a>   DW_AT_type        : <0x15d>	
-    <39e>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><3a1>: Abbrev Number: 15 (DW_TAG_member)
-    <3a2>   DW_AT_name        : (indirect string, offset: 0x2e7): reserved	
-    <3a6>   DW_AT_decl_file   : 5	
-    <3a7>   DW_AT_decl_line   : 666	
-    <3a9>   DW_AT_type        : <0x15d>	
-    <3ad>   DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
- <2><3b0>: Abbrev Number: 0
- <1><3b1>: Abbrev Number: 4 (DW_TAG_typedef)
-    <3b2>   DW_AT_name        : (indirect string, offset: 0x128): struct_v4l2_buffer	
-    <3b6>   DW_AT_decl_file   : 6	
-    <3b7>   DW_AT_decl_line   : 38	
-    <3b8>   DW_AT_type        : <0x2e2>	
- <1><3bc>: Abbrev Number: 22 (DW_TAG_variable)
-    <3bd>   DW_AT_name        : (indirect string, offset: 0x102): current_wordsize	
-    <3c1>   DW_AT_decl_file   : 7	
-    <3c2>   DW_AT_decl_line   : 757	
-    <3c4>   DW_AT_type        : <0x47>	
-    <3c8>   DW_AT_external    : 1	
-    <3c9>   DW_AT_declaration : 1	
- <1><3ca>: Abbrev Number: 22 (DW_TAG_variable)
-    <3cb>   DW_AT_name        : (indirect string, offset: 0x2cc): sysent	
-    <3cf>   DW_AT_decl_file   : 7	
-    <3d0>   DW_AT_decl_line   : 892	
-    <3d2>   DW_AT_type        : <0x135>	
-    <3d6>   DW_AT_external    : 1	
-    <3d7>   DW_AT_declaration : 1	
- <1><3d8>: Abbrev Number: 22 (DW_TAG_variable)
-    <3d9>   DW_AT_name        : (indirect string, offset: 0x1a5): nsyscalls	
-    <3dd>   DW_AT_decl_file   : 7	
-    <3de>   DW_AT_decl_line   : 903	
-    <3e0>   DW_AT_type        : <0x47>	
-    <3e4>   DW_AT_external    : 1	
-    <3e5>   DW_AT_declaration : 1	
- <1><3e6>: Abbrev Number: 23 (DW_TAG_variable)
-    <3e7>   DW_AT_name        : (indirect string, offset: 0x0): mpers_target_var	
-    <3eb>   DW_AT_decl_file   : 6	
-    <3ec>   DW_AT_decl_line   : 47	
-    <3ed>   DW_AT_type        : <0x3b1>	
-    <3f1>   DW_AT_external    : 1	
-    <3f2>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><3f8>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_buffer.d2 b/mpers-mx32/struct_v4l2_buffer.d2
deleted file mode 100644
index 9f4a980..0000000
--- a/mpers-mx32/struct_v4l2_buffer.d2
+++ /dev/null
@@ -1,521 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x141): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x47): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xb5): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x11a): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1af): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x161): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xc3): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xda): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x249): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x51): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x27b): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2d9): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x63>
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1d0): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x284): timeval
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xbb>
-<2><9e>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x40): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2ab): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><bb>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xc1>
-<1><c1>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><c6>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x2cc): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x119>
-<2><d2>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13b): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><e0>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x91): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ee>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><fc>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x24): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x124>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><10a>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x88): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xbb>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><119>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x124>
-<2><122>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><124>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x119>
-<1><12a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x29d): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xc6>
-<1><135>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x13b>
-<1><13b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x12a>
-<1><140>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1df): _Bool
-<1><147>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x244): __u8
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><152>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x28c): __s32
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><15d>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xa1): __u32
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><168>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x2bb): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 8
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x188>
-<2><175>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x6e): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><17b>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x185): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><181>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x16e): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><188>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf4): v4l2_timecode
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 519
-DW_AT_sibling     : <0x1ff>
-<2><195>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15c): type
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 520
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1a4>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14d): flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 521
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1b3>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d): frames
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 522
-DW_AT_type        : <0x147>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1c2>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c2): seconds
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 523
-DW_AT_type        : <0x147>
-DW_AT_data_member_location: 2 byte block: 23 9 	(DW_OP_plus_uconst: 9)
-<2><1d1>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2b3): minutes
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 524
-DW_AT_type        : <0x147>
-DW_AT_data_member_location: 2 byte block: 23 a 	(DW_OP_plus_uconst: 10)
-<2><1e0>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ca): hours
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 525
-DW_AT_type        : <0x147>
-DW_AT_data_member_location: 2 byte block: 23 b 	(DW_OP_plus_uconst: 11)
-<2><1ef>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f0): userbits
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 526
-DW_AT_type        : <0x1ff>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1ff>
-Abbrev Number: 16 (DW_TAG_array_type)
-DW_AT_type        : <0x147>
-DW_AT_sibling     : <0x20f>
-<2><208>
-Abbrev Number: 17 (DW_TAG_subrange_type)
-DW_AT_type        : <0x6e>
-DW_AT_upper_bound : 3
-<1><20f>
-Abbrev Number: 18 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 606
-DW_AT_sibling     : <0x23c>
-<2><218>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e5): mem_offset
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 607
-DW_AT_type        : <0x15d>
-<2><224>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5a): userptr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 608
-DW_AT_type        : <0x5c>
-<2><230>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : fd
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 609
-DW_AT_type        : <0x152>
-<1><23c>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x292): v4l2_plane
-DW_AT_byte_size   : 60
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 603
-DW_AT_sibling     : <0x293>
-<2><249>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d5): bytesused
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 604
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><258>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x113): length
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 605
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><267>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : m
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 610
-DW_AT_type        : <0x20f>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><274>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x34): data_offset
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 611
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><283>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e7): reserved
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 612
-DW_AT_type        : <0x293>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><293>
-Abbrev Number: 16 (DW_TAG_array_type)
-DW_AT_type        : <0x15d>
-DW_AT_sibling     : <0x2a3>
-<2><29c>
-Abbrev Number: 17 (DW_TAG_subrange_type)
-DW_AT_type        : <0x6e>
-DW_AT_upper_bound : 10
-<1><2a3>
-Abbrev Number: 18 (DW_TAG_union_type)
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 658
-DW_AT_sibling     : <0x2dc>
-<2><2ac>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xed): offset
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 659
-DW_AT_type        : <0x15d>
-<2><2b8>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5a): userptr
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 660
-DW_AT_type        : <0x5c>
-<2><2c4>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa7): planes
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 661
-DW_AT_type        : <0x2dc>
-<2><2d0>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : fd
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 662
-DW_AT_type        : <0x152>
-<1><2dc>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x23c>
-<1><2e2>
-Abbrev Number: 14 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x62): v4l2_buffer
-DW_AT_byte_size   : 80
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 646
-DW_AT_sibling     : <0x3b1>
-<2><2ef>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9b): index
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 647
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2fe>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15c): type
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 648
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><30d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d5): bytesused
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 649
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><31c>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14d): flags
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 650
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><32b>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2d3): field
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 651
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><33a>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a): timestamp
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 652
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><349>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19c): timecode
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 653
-DW_AT_type        : <0x188>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><358>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x153): sequence
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 654
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><367>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xae): memory
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 657
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><376>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : m
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 663
-DW_AT_type        : <0x2a3>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><383>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x113): length
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 664
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 44 	(DW_OP_plus_uconst: 68)
-<2><392>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe3): reserved2
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 665
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><3a1>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2e7): reserved
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 666
-DW_AT_type        : <0x15d>
-DW_AT_data_member_location: 2 byte block: 23 4c 	(DW_OP_plus_uconst: 76)
-<1><3b1>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x128): struct_v4l2_buffer
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x2e2>
-<1><3bc>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x102): current_wordsize
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3ca>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x2cc): sysent
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x135>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3d8>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1a5): nsyscalls
-DW_AT_decl_file   : 7
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><3e6>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x0): mpers_target_var
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x3b1>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_v4l2_clip.c b/mpers-mx32/struct_v4l2_clip.c
new file mode 100644
index 0000000..cd89a04
--- /dev/null
+++ b/mpers-mx32/struct_v4l2_clip.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
+ * Copyright (c) 2014 William Manley <will@williammanley.net>
+ * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+
+
+#include <stdint.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>
+
+typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
+typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
+typedef struct v4l2_ext_control struct_v4l2_ext_control;
+typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
+typedef struct v4l2_format struct_v4l2_format;
+typedef struct v4l2_framebuffer struct_v4l2_framebuffer;
+typedef struct v4l2_input struct_v4l2_input;
+typedef struct v4l2_standard struct_v4l2_standard;
+
+struct_v4l2_clip mpers_target_var;
diff --git a/mpers-mx32/struct_v4l2_clip.h b/mpers-mx32/struct_v4l2_clip.h
new file mode 100644
index 0000000..10a4b64
--- /dev/null
+++ b/mpers-mx32/struct_v4l2_clip.h
@@ -0,0 +1,13 @@
+#include <inttypes.h>
+typedef uint32_t mpers_ptr_t;
+typedef
+struct {
+struct {
+int32_t left;
+int32_t top;
+int32_t width;
+int32_t height;
+} ATTRIBUTE_PACKED c;
+mpers_ptr_t next;
+} ATTRIBUTE_PACKED mx32_struct_v4l2_clip;
+#define MPERS_mx32_struct_v4l2_clip mx32_struct_v4l2_clip
diff --git a/mpers-mx32/struct_v4l2_create_buffers.c b/mpers-mx32/struct_v4l2_create_buffers.c
index 7ecdafd..0fc1469 100644
--- a/mpers-mx32/struct_v4l2_create_buffers.c
+++ b/mpers-mx32/struct_v4l2_create_buffers.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_create_buffers.d1 b/mpers-mx32/struct_v4l2_create_buffers.d1
deleted file mode 100644
index 66c63fc..0000000
--- a/mpers-mx32/struct_v4l2_create_buffers.d1
+++ /dev/null
@@ -1,672 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x5f0 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x297): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x2f9): mpers-mx32/struct_v4l2_create_buffers.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x3d1): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1aa): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x2e): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x3b5): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x168): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x244): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1df): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x1bc): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0xf3): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x2e7): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x38): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x265): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0x37b): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x321): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x6f): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x16): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x55): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x333): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x26f): _Bool	
- <1><ff>: Abbrev Number: 12 (DW_TAG_typedef)
-    <100>   DW_AT_name        : (indirect string, offset: 0x2e2): __u8	
-    <104>   DW_AT_decl_file   : 2	
-    <105>   DW_AT_decl_line   : 20	
-    <106>   DW_AT_type        : <0x39>	
- <1><10a>: Abbrev Number: 12 (DW_TAG_typedef)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x291): __u16	
-    <10f>   DW_AT_decl_file   : 2	
-    <110>   DW_AT_decl_line   : 23	
-    <111>   DW_AT_type        : <0x40>	
- <1><115>: Abbrev Number: 12 (DW_TAG_typedef)
-    <116>   DW_AT_name        : (indirect string, offset: 0x327): __s32	
-    <11a>   DW_AT_decl_file   : 2	
-    <11b>   DW_AT_decl_line   : 25	
-    <11c>   DW_AT_type        : <0x2b>	
- <1><120>: Abbrev Number: 12 (DW_TAG_typedef)
-    <121>   DW_AT_name        : (indirect string, offset: 0xaf): __u32	
-    <125>   DW_AT_decl_file   : 2	
-    <126>   DW_AT_decl_line   : 26	
-    <127>   DW_AT_type        : <0x47>	
- <1><12b>: Abbrev Number: 13 (DW_TAG_enumeration_type)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x35c): v4l2_preemphasis	
-    <130>   DW_AT_byte_size   : 4	
-    <131>   DW_AT_decl_file   : 6	
-    <132>   DW_AT_decl_line   : 763	
-    <134>   DW_AT_sibling     : <0x14b>	
- <2><138>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <139>   DW_AT_name        : (indirect string, offset: 0x21a): V4L2_PREEMPHASIS_DISABLED	
-    <13d>   DW_AT_const_value : 0	
- <2><13e>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <13f>   DW_AT_name        : (indirect string, offset: 0x1f7): V4L2_PREEMPHASIS_50_uS	
-    <143>   DW_AT_const_value : 1	
- <2><144>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <145>   DW_AT_name        : (indirect string, offset: 0x89): V4L2_PREEMPHASIS_75_uS	
-    <149>   DW_AT_const_value : 2	
- <2><14a>: Abbrev Number: 0
- <1><14b>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <14c>   DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect	
-    <150>   DW_AT_byte_size   : 16	
-    <151>   DW_AT_decl_file   : 3	
-    <152>   DW_AT_decl_line   : 205	
-    <153>   DW_AT_sibling     : <0x190>	
- <2><157>: Abbrev Number: 8 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x26a): left	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 206	
-    <15e>   DW_AT_type        : <0x115>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><165>: Abbrev Number: 9 (DW_TAG_member)
-    <166>   DW_AT_name        : top	
-    <16a>   DW_AT_decl_file   : 3	
-    <16b>   DW_AT_decl_line   : 207	
-    <16c>   DW_AT_type        : <0x115>	
-    <170>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><173>: Abbrev Number: 8 (DW_TAG_member)
-    <174>   DW_AT_name        : (indirect string, offset: 0xd2): width	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 208	
-    <17a>   DW_AT_type        : <0x115>	
-    <17e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><181>: Abbrev Number: 8 (DW_TAG_member)
-    <182>   DW_AT_name        : (indirect string, offset: 0x1d8): height	
-    <186>   DW_AT_decl_file   : 3	
-    <187>   DW_AT_decl_line   : 209	
-    <188>   DW_AT_type        : <0x115>	
-    <18c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18f>: Abbrev Number: 0
- <1><190>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <191>   DW_AT_name        : (indirect string, offset: 0x281): v4l2_pix_format	
-    <195>   DW_AT_byte_size   : 32	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 274	
-    <199>   DW_AT_sibling     : <0x216>	
- <2><19d>: Abbrev Number: 16 (DW_TAG_member)
-    <19e>   DW_AT_name        : (indirect string, offset: 0xd2): width	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 275	
-    <1a5>   DW_AT_type        : <0x120>	
-    <1a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1ac>: Abbrev Number: 16 (DW_TAG_member)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0x1d8): height	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 276	
-    <1b4>   DW_AT_type        : <0x120>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1bb>: Abbrev Number: 16 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x41): pixelformat	
-    <1c0>   DW_AT_decl_file   : 3	
-    <1c1>   DW_AT_decl_line   : 277	
-    <1c3>   DW_AT_type        : <0x120>	
-    <1c7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ca>: Abbrev Number: 16 (DW_TAG_member)
-    <1cb>   DW_AT_name        : (indirect string, offset: 0x382): field	
-    <1cf>   DW_AT_decl_file   : 3	
-    <1d0>   DW_AT_decl_line   : 278	
-    <1d2>   DW_AT_type        : <0x120>	
-    <1d6>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1d9>: Abbrev Number: 16 (DW_TAG_member)
-    <1da>   DW_AT_name        : (indirect string, offset: 0xe6): bytesperline	
-    <1de>   DW_AT_decl_file   : 3	
-    <1df>   DW_AT_decl_line   : 279	
-    <1e1>   DW_AT_type        : <0x120>	
-    <1e5>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1e8>: Abbrev Number: 16 (DW_TAG_member)
-    <1e9>   DW_AT_name        : (indirect string, offset: 0x1f): sizeimage	
-    <1ed>   DW_AT_decl_file   : 3	
-    <1ee>   DW_AT_decl_line   : 280	
-    <1f0>   DW_AT_type        : <0x120>	
-    <1f4>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1f7>: Abbrev Number: 16 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0x125): colorspace	
-    <1fc>   DW_AT_decl_file   : 3	
-    <1fd>   DW_AT_decl_line   : 281	
-    <1ff>   DW_AT_type        : <0x120>	
-    <203>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><206>: Abbrev Number: 16 (DW_TAG_member)
-    <207>   DW_AT_name        : (indirect string, offset: 0x0): priv	
-    <20b>   DW_AT_decl_file   : 3	
-    <20c>   DW_AT_decl_line   : 282	
-    <20e>   DW_AT_type        : <0x120>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><215>: Abbrev Number: 0
- <1><216>: Abbrev Number: 17 (DW_TAG_array_type)
-    <217>   DW_AT_type        : <0x120>	
-    <21b>   DW_AT_sibling     : <0x226>	
- <2><21f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <220>   DW_AT_type        : <0x63>	
-    <224>   DW_AT_upper_bound : 1	
- <2><225>: Abbrev Number: 0
- <1><226>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <227>   DW_AT_name        : (indirect string, offset: 0x388): v4l2_clip	
-    <22b>   DW_AT_byte_size   : 20	
-    <22c>   DW_AT_decl_file   : 3	
-    <22d>   DW_AT_decl_line   : 745	
-    <22f>   DW_AT_sibling     : <0x250>	
- <2><233>: Abbrev Number: 19 (DW_TAG_member)
-    <234>   DW_AT_name        : c	
-    <236>   DW_AT_decl_file   : 3	
-    <237>   DW_AT_decl_line   : 746	
-    <239>   DW_AT_type        : <0x14b>	
-    <23d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><240>: Abbrev Number: 16 (DW_TAG_member)
-    <241>   DW_AT_name        : (indirect string, offset: 0x29): next	
-    <245>   DW_AT_decl_file   : 3	
-    <246>   DW_AT_decl_line   : 747	
-    <248>   DW_AT_type        : <0x250>	
-    <24c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><24f>: Abbrev Number: 0
- <1><250>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <251>   DW_AT_byte_size   : 4	
-    <252>   DW_AT_type        : <0x226>	
- <1><256>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <257>   DW_AT_name        : (indirect string, offset: 0xc6): v4l2_window	
-    <25b>   DW_AT_byte_size   : 40	
-    <25c>   DW_AT_decl_file   : 3	
-    <25d>   DW_AT_decl_line   : 750	
-    <25f>   DW_AT_sibling     : <0x2cb>	
- <2><263>: Abbrev Number: 19 (DW_TAG_member)
-    <264>   DW_AT_name        : w	
-    <266>   DW_AT_decl_file   : 3	
-    <267>   DW_AT_decl_line   : 751	
-    <269>   DW_AT_type        : <0x14b>	
-    <26d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><270>: Abbrev Number: 16 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x382): field	
-    <275>   DW_AT_decl_file   : 3	
-    <276>   DW_AT_decl_line   : 752	
-    <278>   DW_AT_type        : <0x120>	
-    <27c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><27f>: Abbrev Number: 16 (DW_TAG_member)
-    <280>   DW_AT_name        : (indirect string, offset: 0x39c): chromakey	
-    <284>   DW_AT_decl_file   : 3	
-    <285>   DW_AT_decl_line   : 753	
-    <287>   DW_AT_type        : <0x120>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><28e>: Abbrev Number: 16 (DW_TAG_member)
-    <28f>   DW_AT_name        : (indirect string, offset: 0x3af): clips	
-    <293>   DW_AT_decl_file   : 3	
-    <294>   DW_AT_decl_line   : 754	
-    <296>   DW_AT_type        : <0x250>	
-    <29a>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><29d>: Abbrev Number: 16 (DW_TAG_member)
-    <29e>   DW_AT_name        : (indirect string, offset: 0xbc): clipcount	
-    <2a2>   DW_AT_decl_file   : 3	
-    <2a3>   DW_AT_decl_line   : 755	
-    <2a5>   DW_AT_type        : <0x120>	
-    <2a9>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><2ac>: Abbrev Number: 16 (DW_TAG_member)
-    <2ad>   DW_AT_name        : (indirect string, offset: 0xb5): bitmap	
-    <2b1>   DW_AT_decl_file   : 3	
-    <2b2>   DW_AT_decl_line   : 756	
-    <2b4>   DW_AT_type        : <0x6a>	
-    <2b8>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><2bb>: Abbrev Number: 16 (DW_TAG_member)
-    <2bc>   DW_AT_name        : (indirect string, offset: 0x130): global_alpha	
-    <2c0>   DW_AT_decl_file   : 3	
-    <2c1>   DW_AT_decl_line   : 757	
-    <2c3>   DW_AT_type        : <0xff>	
-    <2c7>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><2ca>: Abbrev Number: 0
- <1><2cb>: Abbrev Number: 17 (DW_TAG_array_type)
-    <2cc>   DW_AT_type        : <0x120>	
-    <2d0>   DW_AT_sibling     : <0x2db>	
- <2><2d4>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <2d5>   DW_AT_type        : <0x63>	
-    <2d9>   DW_AT_upper_bound : 7	
- <2><2da>: Abbrev Number: 0
- <1><2db>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <2dc>   DW_AT_name        : (indirect string, offset: 0x79): v4l2_vbi_format	
-    <2e0>   DW_AT_byte_size   : 44	
-    <2e1>   DW_AT_decl_file   : 3	
-    <2e2>   DW_AT_decl_line   : 1541	
-    <2e4>   DW_AT_sibling     : <0x361>	
- <2><2e8>: Abbrev Number: 16 (DW_TAG_member)
-    <2e9>   DW_AT_name        : (indirect string, offset: 0x257): sampling_rate	
-    <2ed>   DW_AT_decl_file   : 3	
-    <2ee>   DW_AT_decl_line   : 1542	
-    <2f0>   DW_AT_type        : <0x120>	
-    <2f4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2f7>: Abbrev Number: 16 (DW_TAG_member)
-    <2f8>   DW_AT_name        : (indirect string, offset: 0x10d): offset	
-    <2fc>   DW_AT_decl_file   : 3	
-    <2fd>   DW_AT_decl_line   : 1543	
-    <2ff>   DW_AT_type        : <0x120>	
-    <303>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><306>: Abbrev Number: 16 (DW_TAG_member)
-    <307>   DW_AT_name        : (indirect string, offset: 0x5e): samples_per_line	
-    <30b>   DW_AT_decl_file   : 3	
-    <30c>   DW_AT_decl_line   : 1544	
-    <30e>   DW_AT_type        : <0x120>	
-    <312>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><315>: Abbrev Number: 16 (DW_TAG_member)
-    <316>   DW_AT_name        : (indirect string, offset: 0x3c3): sample_format	
-    <31a>   DW_AT_decl_file   : 3	
-    <31b>   DW_AT_decl_line   : 1545	
-    <31d>   DW_AT_type        : <0x120>	
-    <321>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><324>: Abbrev Number: 16 (DW_TAG_member)
-    <325>   DW_AT_name        : (indirect string, offset: 0x23e): start	
-    <329>   DW_AT_decl_file   : 3	
-    <32a>   DW_AT_decl_line   : 1546	
-    <32c>   DW_AT_type        : <0x361>	
-    <330>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><333>: Abbrev Number: 16 (DW_TAG_member)
-    <334>   DW_AT_name        : (indirect string, offset: 0x32d): count	
-    <338>   DW_AT_decl_file   : 3	
-    <339>   DW_AT_decl_line   : 1547	
-    <33b>   DW_AT_type        : <0x216>	
-    <33f>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><342>: Abbrev Number: 16 (DW_TAG_member)
-    <343>   DW_AT_name        : (indirect string, offset: 0x1b6): flags	
-    <347>   DW_AT_decl_file   : 3	
-    <348>   DW_AT_decl_line   : 1548	
-    <34a>   DW_AT_type        : <0x120>	
-    <34e>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><351>: Abbrev Number: 16 (DW_TAG_member)
-    <352>   DW_AT_name        : (indirect string, offset: 0x3a6): reserved	
-    <356>   DW_AT_decl_file   : 3	
-    <357>   DW_AT_decl_line   : 1549	
-    <359>   DW_AT_type        : <0x216>	
-    <35d>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><360>: Abbrev Number: 0
- <1><361>: Abbrev Number: 17 (DW_TAG_array_type)
-    <362>   DW_AT_type        : <0x115>	
-    <366>   DW_AT_sibling     : <0x371>	
- <2><36a>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <36b>   DW_AT_type        : <0x63>	
-    <36f>   DW_AT_upper_bound : 1	
- <2><370>: Abbrev Number: 0
- <1><371>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <372>   DW_AT_name        : (indirect string, offset: 0x18c): v4l2_sliced_vbi_format	
-    <376>   DW_AT_byte_size   : 112	
-    <377>   DW_AT_decl_file   : 3	
-    <378>   DW_AT_decl_line   : 1563	
-    <37a>   DW_AT_sibling     : <0x3bb>	
- <2><37e>: Abbrev Number: 16 (DW_TAG_member)
-    <37f>   DW_AT_name        : (indirect string, offset: 0x275): service_set	
-    <383>   DW_AT_decl_file   : 3	
-    <384>   DW_AT_decl_line   : 1564	
-    <386>   DW_AT_type        : <0x10a>	
-    <38a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><38d>: Abbrev Number: 16 (DW_TAG_member)
-    <38e>   DW_AT_name        : (indirect string, offset: 0x36d): service_lines	
-    <392>   DW_AT_decl_file   : 3	
-    <393>   DW_AT_decl_line   : 1569	
-    <395>   DW_AT_type        : <0x3bb>	
-    <399>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><39c>: Abbrev Number: 16 (DW_TAG_member)
-    <39d>   DW_AT_name        : (indirect string, offset: 0x4d): io_size	
-    <3a1>   DW_AT_decl_file   : 3	
-    <3a2>   DW_AT_decl_line   : 1570	
-    <3a4>   DW_AT_type        : <0x120>	
-    <3a8>   DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
- <2><3ab>: Abbrev Number: 16 (DW_TAG_member)
-    <3ac>   DW_AT_name        : (indirect string, offset: 0x3a6): reserved	
-    <3b0>   DW_AT_decl_file   : 3	
-    <3b1>   DW_AT_decl_line   : 1571	
-    <3b3>   DW_AT_type        : <0x216>	
-    <3b7>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><3ba>: Abbrev Number: 0
- <1><3bb>: Abbrev Number: 17 (DW_TAG_array_type)
-    <3bc>   DW_AT_type        : <0x10a>	
-    <3c0>   DW_AT_sibling     : <0x3d1>	
- <2><3c4>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3c5>   DW_AT_type        : <0x63>	
-    <3c9>   DW_AT_upper_bound : 1	
- <2><3ca>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3cb>   DW_AT_type        : <0x63>	
-    <3cf>   DW_AT_upper_bound : 23	
- <2><3d0>: Abbrev Number: 0
- <1><3d1>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <3d2>   DW_AT_name        : (indirect string, offset: 0x176): v4l2_plane_pix_format	
-    <3d6>   DW_AT_byte_size   : 20	
-    <3d7>   DW_AT_decl_file   : 3	
-    <3d8>   DW_AT_decl_line   : 1664	
-    <3da>   DW_AT_sibling     : <0x40c>	
- <2><3de>: Abbrev Number: 16 (DW_TAG_member)
-    <3df>   DW_AT_name        : (indirect string, offset: 0x1f): sizeimage	
-    <3e3>   DW_AT_decl_file   : 3	
-    <3e4>   DW_AT_decl_line   : 1665	
-    <3e6>   DW_AT_type        : <0x120>	
-    <3ea>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><3ed>: Abbrev Number: 16 (DW_TAG_member)
-    <3ee>   DW_AT_name        : (indirect string, offset: 0xe6): bytesperline	
-    <3f2>   DW_AT_decl_file   : 3	
-    <3f3>   DW_AT_decl_line   : 1666	
-    <3f5>   DW_AT_type        : <0x10a>	
-    <3f9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3fc>: Abbrev Number: 16 (DW_TAG_member)
-    <3fd>   DW_AT_name        : (indirect string, offset: 0x3a6): reserved	
-    <401>   DW_AT_decl_file   : 3	
-    <402>   DW_AT_decl_line   : 1667	
-    <404>   DW_AT_type        : <0x40c>	
-    <408>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><40b>: Abbrev Number: 0
- <1><40c>: Abbrev Number: 17 (DW_TAG_array_type)
-    <40d>   DW_AT_type        : <0x10a>	
-    <411>   DW_AT_sibling     : <0x41c>	
- <2><415>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <416>   DW_AT_type        : <0x63>	
-    <41a>   DW_AT_upper_bound : 6	
- <2><41b>: Abbrev Number: 0
- <1><41c>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <41d>   DW_AT_name        : (indirect string, offset: 0x151): v4l2_pix_format_mplane	
-    <421>   DW_AT_byte_size   : 192	
-    <422>   DW_AT_decl_file   : 3	
-    <423>   DW_AT_decl_line   : 1680	
-    <425>   DW_AT_sibling     : <0x4a4>	
- <2><429>: Abbrev Number: 16 (DW_TAG_member)
-    <42a>   DW_AT_name        : (indirect string, offset: 0xd2): width	
-    <42e>   DW_AT_decl_file   : 3	
-    <42f>   DW_AT_decl_line   : 1681	
-    <431>   DW_AT_type        : <0x120>	
-    <435>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><438>: Abbrev Number: 16 (DW_TAG_member)
-    <439>   DW_AT_name        : (indirect string, offset: 0x1d8): height	
-    <43d>   DW_AT_decl_file   : 3	
-    <43e>   DW_AT_decl_line   : 1682	
-    <440>   DW_AT_type        : <0x120>	
-    <444>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><447>: Abbrev Number: 16 (DW_TAG_member)
-    <448>   DW_AT_name        : (indirect string, offset: 0x41): pixelformat	
-    <44c>   DW_AT_decl_file   : 3	
-    <44d>   DW_AT_decl_line   : 1683	
-    <44f>   DW_AT_type        : <0x120>	
-    <453>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><456>: Abbrev Number: 16 (DW_TAG_member)
-    <457>   DW_AT_name        : (indirect string, offset: 0x382): field	
-    <45b>   DW_AT_decl_file   : 3	
-    <45c>   DW_AT_decl_line   : 1684	
-    <45e>   DW_AT_type        : <0x120>	
-    <462>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><465>: Abbrev Number: 16 (DW_TAG_member)
-    <466>   DW_AT_name        : (indirect string, offset: 0x125): colorspace	
-    <46a>   DW_AT_decl_file   : 3	
-    <46b>   DW_AT_decl_line   : 1685	
-    <46d>   DW_AT_type        : <0x120>	
-    <471>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><474>: Abbrev Number: 16 (DW_TAG_member)
-    <475>   DW_AT_name        : (indirect string, offset: 0x392): plane_fmt	
-    <479>   DW_AT_decl_file   : 3	
-    <47a>   DW_AT_decl_line   : 1687	
-    <47c>   DW_AT_type        : <0x4a4>	
-    <480>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><483>: Abbrev Number: 16 (DW_TAG_member)
-    <484>   DW_AT_name        : (indirect string, offset: 0x1ec): num_planes	
-    <488>   DW_AT_decl_file   : 3	
-    <489>   DW_AT_decl_line   : 1688	
-    <48b>   DW_AT_type        : <0xff>	
-    <48f>   DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
- <2><493>: Abbrev Number: 16 (DW_TAG_member)
-    <494>   DW_AT_name        : (indirect string, offset: 0x3a6): reserved	
-    <498>   DW_AT_decl_file   : 3	
-    <499>   DW_AT_decl_line   : 1689	
-    <49b>   DW_AT_type        : <0x4b4>	
-    <49f>   DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
- <2><4a3>: Abbrev Number: 0
- <1><4a4>: Abbrev Number: 17 (DW_TAG_array_type)
-    <4a5>   DW_AT_type        : <0x3d1>	
-    <4a9>   DW_AT_sibling     : <0x4b4>	
- <2><4ad>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <4ae>   DW_AT_type        : <0x63>	
-    <4b2>   DW_AT_upper_bound : 7	
- <2><4b3>: Abbrev Number: 0
- <1><4b4>: Abbrev Number: 17 (DW_TAG_array_type)
-    <4b5>   DW_AT_type        : <0xff>	
-    <4b9>   DW_AT_sibling     : <0x4c4>	
- <2><4bd>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <4be>   DW_AT_type        : <0x63>	
-    <4c2>   DW_AT_upper_bound : 10	
- <2><4c3>: Abbrev Number: 0
- <1><4c4>: Abbrev Number: 20 (DW_TAG_union_type)
-    <4c5>   DW_AT_byte_size   : 200	
-    <4c6>   DW_AT_decl_file   : 3	
-    <4c7>   DW_AT_decl_line   : 1704	
-    <4c9>   DW_AT_sibling     : <0x516>	
- <2><4cd>: Abbrev Number: 21 (DW_TAG_member)
-    <4ce>   DW_AT_name        : pix	
-    <4d2>   DW_AT_decl_file   : 3	
-    <4d3>   DW_AT_decl_line   : 1705	
-    <4d5>   DW_AT_type        : <0x190>	
- <2><4d9>: Abbrev Number: 22 (DW_TAG_member)
-    <4da>   DW_AT_name        : (indirect string, offset: 0x5): pix_mp	
-    <4de>   DW_AT_decl_file   : 3	
-    <4df>   DW_AT_decl_line   : 1706	
-    <4e1>   DW_AT_type        : <0x41c>	
- <2><4e5>: Abbrev Number: 21 (DW_TAG_member)
-    <4e6>   DW_AT_name        : win	
-    <4ea>   DW_AT_decl_file   : 3	
-    <4eb>   DW_AT_decl_line   : 1707	
-    <4ed>   DW_AT_type        : <0x256>	
- <2><4f1>: Abbrev Number: 21 (DW_TAG_member)
-    <4f2>   DW_AT_name        : vbi	
-    <4f6>   DW_AT_decl_file   : 3	
-    <4f7>   DW_AT_decl_line   : 1708	
-    <4f9>   DW_AT_type        : <0x2db>	
- <2><4fd>: Abbrev Number: 22 (DW_TAG_member)
-    <4fe>   DW_AT_name        : (indirect string, offset: 0x1a3): sliced	
-    <502>   DW_AT_decl_file   : 3	
-    <503>   DW_AT_decl_line   : 1709	
-    <505>   DW_AT_type        : <0x371>	
- <2><509>: Abbrev Number: 22 (DW_TAG_member)
-    <50a>   DW_AT_name        : (indirect string, offset: 0xa6): raw_data	
-    <50e>   DW_AT_decl_file   : 3	
-    <50f>   DW_AT_decl_line   : 1710	
-    <511>   DW_AT_type        : <0x516>	
- <2><515>: Abbrev Number: 0
- <1><516>: Abbrev Number: 17 (DW_TAG_array_type)
-    <517>   DW_AT_type        : <0xff>	
-    <51b>   DW_AT_sibling     : <0x526>	
- <2><51f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <520>   DW_AT_type        : <0x63>	
-    <524>   DW_AT_upper_bound : 199	
- <2><525>: Abbrev Number: 0
- <1><526>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <527>   DW_AT_name        : (indirect string, offset: 0x20e): v4l2_format	
-    <52b>   DW_AT_byte_size   : 204	
-    <52c>   DW_AT_decl_file   : 3	
-    <52d>   DW_AT_decl_line   : 1702	
-    <52f>   DW_AT_sibling     : <0x552>	
- <2><533>: Abbrev Number: 16 (DW_TAG_member)
-    <534>   DW_AT_name        : (indirect string, offset: 0x1d3): type	
-    <538>   DW_AT_decl_file   : 3	
-    <539>   DW_AT_decl_line   : 1703	
-    <53b>   DW_AT_type        : <0x120>	
-    <53f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><542>: Abbrev Number: 19 (DW_TAG_member)
-    <543>   DW_AT_name        : fmt	
-    <547>   DW_AT_decl_file   : 3	
-    <548>   DW_AT_decl_line   : 1711	
-    <54a>   DW_AT_type        : <0x4c4>	
-    <54e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><551>: Abbrev Number: 0
- <1><552>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <553>   DW_AT_name        : (indirect string, offset: 0x13d): v4l2_create_buffers	
-    <557>   DW_AT_byte_size   : 248	
-    <558>   DW_AT_decl_file   : 3	
-    <559>   DW_AT_decl_line   : 1843	
-    <55b>   DW_AT_sibling     : <0x5ac>	
- <2><55f>: Abbrev Number: 16 (DW_TAG_member)
-    <560>   DW_AT_name        : (indirect string, offset: 0xa0): index	
-    <564>   DW_AT_decl_file   : 3	
-    <565>   DW_AT_decl_line   : 1844	
-    <567>   DW_AT_type        : <0x120>	
-    <56b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><56e>: Abbrev Number: 16 (DW_TAG_member)
-    <56f>   DW_AT_name        : (indirect string, offset: 0x32d): count	
-    <573>   DW_AT_decl_file   : 3	
-    <574>   DW_AT_decl_line   : 1845	
-    <576>   DW_AT_type        : <0x120>	
-    <57a>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><57d>: Abbrev Number: 16 (DW_TAG_member)
-    <57e>   DW_AT_name        : (indirect string, offset: 0xd8): memory	
-    <582>   DW_AT_decl_file   : 3	
-    <583>   DW_AT_decl_line   : 1846	
-    <585>   DW_AT_type        : <0x120>	
-    <589>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><58c>: Abbrev Number: 16 (DW_TAG_member)
-    <58d>   DW_AT_name        : (indirect string, offset: 0xdf): format	
-    <591>   DW_AT_decl_file   : 3	
-    <592>   DW_AT_decl_line   : 1847	
-    <594>   DW_AT_type        : <0x526>	
-    <598>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><59b>: Abbrev Number: 16 (DW_TAG_member)
-    <59c>   DW_AT_name        : (indirect string, offset: 0x3a6): reserved	
-    <5a0>   DW_AT_decl_file   : 3	
-    <5a1>   DW_AT_decl_line   : 1848	
-    <5a3>   DW_AT_type        : <0x2cb>	
-    <5a7>   DW_AT_data_member_location: 3 byte block: 23 d8 1 	(DW_OP_plus_uconst: 216)
- <2><5ab>: Abbrev Number: 0
- <1><5ac>: Abbrev Number: 12 (DW_TAG_typedef)
-    <5ad>   DW_AT_name        : (indirect string, offset: 0x341): struct_v4l2_create_buffers	
-    <5b1>   DW_AT_decl_file   : 4	
-    <5b2>   DW_AT_decl_line   : 39	
-    <5b3>   DW_AT_type        : <0x552>	
- <1><5b7>: Abbrev Number: 23 (DW_TAG_variable)
-    <5b8>   DW_AT_name        : (indirect string, offset: 0x114): current_wordsize	
-    <5bc>   DW_AT_decl_file   : 5	
-    <5bd>   DW_AT_decl_line   : 757	
-    <5bf>   DW_AT_type        : <0x47>	
-    <5c3>   DW_AT_external    : 1	
-    <5c4>   DW_AT_declaration : 1	
- <1><5c5>: Abbrev Number: 23 (DW_TAG_variable)
-    <5c6>   DW_AT_name        : (indirect string, offset: 0x37b): sysent	
-    <5ca>   DW_AT_decl_file   : 5	
-    <5cb>   DW_AT_decl_line   : 892	
-    <5cd>   DW_AT_type        : <0xed>	
-    <5d1>   DW_AT_external    : 1	
-    <5d2>   DW_AT_declaration : 1	
- <1><5d3>: Abbrev Number: 23 (DW_TAG_variable)
-    <5d4>   DW_AT_name        : (indirect string, offset: 0x234): nsyscalls	
-    <5d8>   DW_AT_decl_file   : 5	
-    <5d9>   DW_AT_decl_line   : 903	
-    <5db>   DW_AT_type        : <0x47>	
-    <5df>   DW_AT_external    : 1	
-    <5e0>   DW_AT_declaration : 1	
- <1><5e1>: Abbrev Number: 24 (DW_TAG_variable)
-    <5e2>   DW_AT_name        : (indirect string, offset: 0xfc): mpers_target_var	
-    <5e6>   DW_AT_decl_file   : 4	
-    <5e7>   DW_AT_decl_line   : 47	
-    <5e8>   DW_AT_type        : <0x5ac>	
-    <5ec>   DW_AT_external    : 1	
-    <5ed>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><5f3>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_create_buffers.d2 b/mpers-mx32/struct_v4l2_create_buffers.d2
deleted file mode 100644
index a3ef10a..0000000
--- a/mpers-mx32/struct_v4l2_create_buffers.d2
+++ /dev/null
@@ -1,762 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1aa): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x2e): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x3b5): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x168): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x244): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1df): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1bc): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xf3): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x2e7): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x38): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x265): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x37b): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x321): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6f): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x55): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x333): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x26f): _Bool
-<1><ff>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2e2): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><10a>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x291): __u16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><115>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x327): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><120>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xaf): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><12b>
-Abbrev Number: 13 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x35c): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x14b>
-<2><138>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x21a): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><13e>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1f7): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><144>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x89): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><14b>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 205
-DW_AT_sibling     : <0x190>
-<2><157>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26a): left
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 206
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><165>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : top
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 207
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><173>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd2): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 208
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><181>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d8): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 209
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><190>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x281): v4l2_pix_format
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_sibling     : <0x216>
-<2><19d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd2): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 275
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d8): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 276
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x41): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 277
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ca>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x382): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 278
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><1d9>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe6): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 279
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1e8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 280
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1f7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x125): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 281
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><206>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): priv
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 282
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><216>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x120>
-DW_AT_sibling     : <0x226>
-<2><21f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><226>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x388): v4l2_clip
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 745
-DW_AT_sibling     : <0x250>
-<2><233>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : c
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 746
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><240>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x29): next
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 747
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><250>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x226>
-<1><256>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc6): v4l2_window
-DW_AT_byte_size   : 40
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 750
-DW_AT_sibling     : <0x2cb>
-<2><263>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : w
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 751
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><270>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x382): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 752
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><27f>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x39c): chromakey
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 753
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><28e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3af): clips
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 754
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><29d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbc): clipcount
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 755
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><2ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb5): bitmap
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 756
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><2bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x130): global_alpha
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><2cb>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x120>
-DW_AT_sibling     : <0x2db>
-<2><2d4>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 7
-<1><2db>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x79): v4l2_vbi_format
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1541
-DW_AT_sibling     : <0x361>
-<2><2e8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x257): sampling_rate
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1542
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2f7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10d): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1543
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><306>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5e): samples_per_line
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1544
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><315>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3c3): sample_format
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1545
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><324>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23e): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1546
-DW_AT_type        : <0x361>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><333>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x32d): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1547
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><342>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b6): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1548
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><351>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a6): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1549
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><361>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x115>
-DW_AT_sibling     : <0x371>
-<2><36a>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><371>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x18c): v4l2_sliced_vbi_format
-DW_AT_byte_size   : 112
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1563
-DW_AT_sibling     : <0x3bb>
-<2><37e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x275): service_set
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1564
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><38d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x36d): service_lines
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1569
-DW_AT_type        : <0x3bb>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><39c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x4d): io_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1570
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
-<2><3ab>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a6): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1571
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<1><3bb>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x3d1>
-<2><3c4>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<2><3ca>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 23
-<1><3d1>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x176): v4l2_plane_pix_format
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1664
-DW_AT_sibling     : <0x40c>
-<2><3de>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1665
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><3ed>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe6): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1666
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3fc>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a6): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1667
-DW_AT_type        : <0x40c>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<1><40c>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x41c>
-<2><415>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 6
-<1><41c>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x151): v4l2_pix_format_mplane
-DW_AT_byte_size   : 192
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1680
-DW_AT_sibling     : <0x4a4>
-<2><429>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd2): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1681
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><438>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d8): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1682
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><447>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x41): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1683
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><456>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x382): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1684
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><465>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x125): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1685
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><474>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x392): plane_fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1687
-DW_AT_type        : <0x4a4>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><483>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ec): num_planes
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1688
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
-<2><493>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a6): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1689
-DW_AT_type        : <0x4b4>
-DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
-<1><4a4>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x3d1>
-DW_AT_sibling     : <0x4b4>
-<2><4ad>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 7
-<1><4b4>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x4c4>
-<2><4bd>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 10
-<1><4c4>
-Abbrev Number: 20 (DW_TAG_union_type)
-DW_AT_byte_size   : 200
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1704
-DW_AT_sibling     : <0x516>
-<2><4cd>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : pix
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1705
-DW_AT_type        : <0x190>
-<2><4d9>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5): pix_mp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1706
-DW_AT_type        : <0x41c>
-<2><4e5>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : win
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1707
-DW_AT_type        : <0x256>
-<2><4f1>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : vbi
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1708
-DW_AT_type        : <0x2db>
-<2><4fd>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a3): sliced
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1709
-DW_AT_type        : <0x371>
-<2><509>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa6): raw_data
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1710
-DW_AT_type        : <0x516>
-<1><516>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x526>
-<2><51f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 199
-<1><526>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x20e): v4l2_format
-DW_AT_byte_size   : 204
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1702
-DW_AT_sibling     : <0x552>
-<2><533>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1d3): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1703
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><542>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1711
-DW_AT_type        : <0x4c4>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><552>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x13d): v4l2_create_buffers
-DW_AT_byte_size   : 248
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1843
-DW_AT_sibling     : <0x5ac>
-<2><55f>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa0): index
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1844
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><56e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x32d): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1845
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><57d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd8): memory
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1846
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><58c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xdf): format
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1847
-DW_AT_type        : <0x526>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><59b>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3a6): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1848
-DW_AT_type        : <0x2cb>
-DW_AT_data_member_location: 3 byte block: 23 d8 1 	(DW_OP_plus_uconst: 216)
-<1><5ac>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x341): struct_v4l2_create_buffers
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x552>
-<1><5b7>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x114): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><5c5>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x37b): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><5d3>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x234): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><5e1>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xfc): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x5ac>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_v4l2_create_buffers.h b/mpers-mx32/struct_v4l2_create_buffers.h
index e1c0784..7c0b20e 100644
--- a/mpers-mx32/struct_v4l2_create_buffers.h
+++ b/mpers-mx32/struct_v4l2_create_buffers.h
@@ -59,8 +59,8 @@
 } ATTRIBUTE_PACKED vbi;
 struct {
 uint16_t service_set;
-uint16_t service_lines[24];
-unsigned char mpers_filler_2[50];
+uint16_t service_lines[2][24];
+unsigned char mpers_filler_2[2];
 uint32_t io_size;
 uint32_t reserved[2];
 } ATTRIBUTE_PACKED sliced;
diff --git a/mpers-mx32/struct_v4l2_ext_control.c b/mpers-mx32/struct_v4l2_ext_control.c
index d5365dd..2696feb 100644
--- a/mpers-mx32/struct_v4l2_ext_control.c
+++ b/mpers-mx32/struct_v4l2_ext_control.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_ext_control.d1 b/mpers-mx32/struct_v4l2_ext_control.d1
deleted file mode 100644
index 9c38b0d..0000000
--- a/mpers-mx32/struct_v4l2_ext_control.d1
+++ /dev/null
@@ -1,250 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x208 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x4f): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x229): mpers-mx32/struct_v4l2_ext_control.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1aa): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x20f): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x158): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1ee): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xfd): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x9a): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x173): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xde): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x206): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x10b): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1e5): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
-    <6c>   DW_AT_type        : <0x70>	
- <1><70>: Abbrev Number: 2 (DW_TAG_base_type)
-    <71>   DW_AT_byte_size   : 1	
-    <72>   DW_AT_encoding    : 6	(signed char)
-    <73>   DW_AT_name        : (indirect string, offset: 0x1a5): char	
- <1><77>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <78>   DW_AT_byte_size   : 4	
-    <79>   DW_AT_type        : <0x7d>	
- <1><7d>: Abbrev Number: 5 (DW_TAG_const_type)
-    <7e>   DW_AT_type        : <0x70>	
- <1><82>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <83>   DW_AT_name        : (indirect string, offset: 0x11d): sysent	
-    <87>   DW_AT_byte_size   : 20	
-    <88>   DW_AT_decl_file   : 1	
-    <89>   DW_AT_decl_line   : 4	
-    <8a>   DW_AT_sibling     : <0xd5>	
- <2><8e>: Abbrev Number: 7 (DW_TAG_member)
-    <8f>   DW_AT_name        : (indirect string, offset: 0x152): nargs	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 5	
-    <95>   DW_AT_type        : <0x47>	
-    <99>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><9c>: Abbrev Number: 7 (DW_TAG_member)
-    <9d>   DW_AT_name        : (indirect string, offset: 0xd4): sys_flags	
-    <a1>   DW_AT_decl_file   : 1	
-    <a2>   DW_AT_decl_line   : 6	
-    <a3>   DW_AT_type        : <0x2b>	
-    <a7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><aa>: Abbrev Number: 8 (DW_TAG_member)
-    <ab>   DW_AT_name        : sen	
-    <af>   DW_AT_decl_file   : 1	
-    <b0>   DW_AT_decl_line   : 7	
-    <b1>   DW_AT_type        : <0x2b>	
-    <b5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b8>: Abbrev Number: 7 (DW_TAG_member)
-    <b9>   DW_AT_name        : (indirect string, offset: 0x220): sys_func	
-    <bd>   DW_AT_decl_file   : 1	
-    <be>   DW_AT_decl_line   : 8	
-    <bf>   DW_AT_type        : <0xe0>	
-    <c3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c6>: Abbrev Number: 7 (DW_TAG_member)
-    <c7>   DW_AT_name        : (indirect string, offset: 0xb3): sys_name	
-    <cb>   DW_AT_decl_file   : 1	
-    <cc>   DW_AT_decl_line   : 9	
-    <cd>   DW_AT_type        : <0x77>	
-    <d1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d4>: Abbrev Number: 0
- <1><d5>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d6>   DW_AT_type        : <0x2b>	
-    <da>   DW_AT_sibling     : <0xe0>	
- <2><de>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <e1>   DW_AT_byte_size   : 4	
-    <e2>   DW_AT_type        : <0xd5>	
- <1><e6>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e7>   DW_AT_name        : (indirect string, offset: 0x197): struct_sysent	
-    <eb>   DW_AT_decl_file   : 1	
-    <ec>   DW_AT_decl_line   : 10	
-    <ed>   DW_AT_type        : <0x82>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <f2>   DW_AT_byte_size   : 4	
-    <f3>   DW_AT_type        : <0xf7>	
- <1><f7>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f8>   DW_AT_type        : <0xe6>	
- <1><fc>: Abbrev Number: 2 (DW_TAG_base_type)
-    <fd>   DW_AT_byte_size   : 1	
-    <fe>   DW_AT_encoding    : 2	(boolean)
-    <ff>   DW_AT_name        : (indirect string, offset: 0xad): _Bool	
- <1><103>: Abbrev Number: 11 (DW_TAG_typedef)
-    <104>   DW_AT_name        : (indirect string, offset: 0x124): __s32	
-    <108>   DW_AT_decl_file   : 2	
-    <109>   DW_AT_decl_line   : 25	
-    <10a>   DW_AT_type        : <0x2b>	
- <1><10e>: Abbrev Number: 11 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x32): __u32	
-    <113>   DW_AT_decl_file   : 2	
-    <114>   DW_AT_decl_line   : 26	
-    <115>   DW_AT_type        : <0x47>	
- <1><119>: Abbrev Number: 11 (DW_TAG_typedef)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x24e): __s64	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 29	
-    <120>   DW_AT_type        : <0x32>	
- <1><124>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <125>   DW_AT_name        : (indirect string, offset: 0x162): v4l2_preemphasis	
-    <129>   DW_AT_byte_size   : 4	
-    <12a>   DW_AT_decl_file   : 6	
-    <12b>   DW_AT_decl_line   : 763	
-    <12d>   DW_AT_sibling     : <0x144>	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED	
-    <136>   DW_AT_const_value : 0	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0x180): V4L2_PREEMPHASIS_50_uS	
-    <13c>   DW_AT_const_value : 1	
- <2><13d>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <13e>   DW_AT_name        : (indirect string, offset: 0x13b): V4L2_PREEMPHASIS_75_uS	
-    <142>   DW_AT_const_value : 2	
- <2><143>: Abbrev Number: 0
- <1><144>: Abbrev Number: 14 (DW_TAG_union_type)
-    <145>   DW_AT_byte_size   : 8	
-    <146>   DW_AT_decl_file   : 3	
-    <147>   DW_AT_decl_line   : 1225	
-    <149>   DW_AT_sibling     : <0x172>	
- <2><14d>: Abbrev Number: 15 (DW_TAG_member)
-    <14e>   DW_AT_name        : (indirect string, offset: 0x38): value	
-    <152>   DW_AT_decl_file   : 3	
-    <153>   DW_AT_decl_line   : 1226	
-    <155>   DW_AT_type        : <0x103>	
- <2><159>: Abbrev Number: 15 (DW_TAG_member)
-    <15a>   DW_AT_name        : (indirect string, offset: 0xf5): value64	
-    <15e>   DW_AT_decl_file   : 3	
-    <15f>   DW_AT_decl_line   : 1227	
-    <161>   DW_AT_type        : <0x119>	
- <2><165>: Abbrev Number: 15 (DW_TAG_member)
-    <166>   DW_AT_name        : (indirect string, offset: 0xbc): string	
-    <16a>   DW_AT_decl_file   : 3	
-    <16b>   DW_AT_decl_line   : 1228	
-    <16d>   DW_AT_type        : <0x6a>	
- <2><171>: Abbrev Number: 0
- <1><172>: Abbrev Number: 16 (DW_TAG_structure_type)
-    <173>   DW_AT_name        : (indirect string, offset: 0x3e): v4l2_ext_control	
-    <177>   DW_AT_byte_size   : 20	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 1221	
-    <17b>   DW_AT_sibling     : <0x1b4>	
- <2><17f>: Abbrev Number: 17 (DW_TAG_member)
-    <180>   DW_AT_name        : id	
-    <183>   DW_AT_decl_file   : 3	
-    <184>   DW_AT_decl_line   : 1222	
-    <186>   DW_AT_type        : <0x10e>	
-    <18a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><18d>: Abbrev Number: 18 (DW_TAG_member)
-    <18e>   DW_AT_name        : (indirect string, offset: 0x21b): size	
-    <192>   DW_AT_decl_file   : 3	
-    <193>   DW_AT_decl_line   : 1223	
-    <195>   DW_AT_type        : <0x10e>	
-    <199>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><19c>: Abbrev Number: 18 (DW_TAG_member)
-    <19d>   DW_AT_name        : (indirect string, offset: 0x1fc): reserved2	
-    <1a1>   DW_AT_decl_file   : 3	
-    <1a2>   DW_AT_decl_line   : 1224	
-    <1a4>   DW_AT_type        : <0x1b4>	
-    <1a8>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ab>: Abbrev Number: 19 (DW_TAG_member)
-    <1ac>   DW_AT_type        : <0x144>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1b3>: Abbrev Number: 0
- <1><1b4>: Abbrev Number: 20 (DW_TAG_array_type)
-    <1b5>   DW_AT_type        : <0x10e>	
-    <1b9>   DW_AT_sibling     : <0x1c4>	
- <2><1bd>: Abbrev Number: 21 (DW_TAG_subrange_type)
-    <1be>   DW_AT_type        : <0x63>	
-    <1c2>   DW_AT_upper_bound : 0	
- <2><1c3>: Abbrev Number: 0
- <1><1c4>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1c5>   DW_AT_name        : (indirect string, offset: 0x1a): struct_v4l2_ext_control	
-    <1c9>   DW_AT_decl_file   : 4	
-    <1ca>   DW_AT_decl_line   : 40	
-    <1cb>   DW_AT_type        : <0x172>	
- <1><1cf>: Abbrev Number: 22 (DW_TAG_variable)
-    <1d0>   DW_AT_name        : (indirect string, offset: 0x12a): current_wordsize	
-    <1d4>   DW_AT_decl_file   : 5	
-    <1d5>   DW_AT_decl_line   : 757	
-    <1d7>   DW_AT_type        : <0x47>	
-    <1db>   DW_AT_external    : 1	
-    <1dc>   DW_AT_declaration : 1	
- <1><1dd>: Abbrev Number: 22 (DW_TAG_variable)
-    <1de>   DW_AT_name        : (indirect string, offset: 0x11d): sysent	
-    <1e2>   DW_AT_decl_file   : 5	
-    <1e3>   DW_AT_decl_line   : 892	
-    <1e5>   DW_AT_type        : <0xf1>	
-    <1e9>   DW_AT_external    : 1	
-    <1ea>   DW_AT_declaration : 1	
- <1><1eb>: Abbrev Number: 22 (DW_TAG_variable)
-    <1ec>   DW_AT_name        : (indirect string, offset: 0x1db): nsyscalls	
-    <1f0>   DW_AT_decl_file   : 5	
-    <1f1>   DW_AT_decl_line   : 903	
-    <1f3>   DW_AT_type        : <0x47>	
-    <1f7>   DW_AT_external    : 1	
-    <1f8>   DW_AT_declaration : 1	
- <1><1f9>: Abbrev Number: 23 (DW_TAG_variable)
-    <1fa>   DW_AT_name        : (indirect string, offset: 0xc3): mpers_target_var	
-    <1fe>   DW_AT_decl_file   : 4	
-    <1ff>   DW_AT_decl_line   : 47	
-    <200>   DW_AT_type        : <0x1c4>	
-    <204>   DW_AT_external    : 1	
-    <205>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><20b>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_ext_control.d2 b/mpers-mx32/struct_v4l2_ext_control.d2
deleted file mode 100644
index e1cf5f0..0000000
--- a/mpers-mx32/struct_v4l2_ext_control.d2
+++ /dev/null
@@ -1,280 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x20f): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x158): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ee): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xfd): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x9a): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x173): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xde): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x206): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x10b): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1e5): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x70>
-<1><70>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1a5): char
-<1><77>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7d>
-<1><7d>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x70>
-<1><82>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x11d): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd5>
-<2><8e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x152): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><9c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd4): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b8>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x220): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c6>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb3): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x77>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d5>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe0>
-<2><de>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><e0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd5>
-<1><e6>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x197): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x82>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf7>
-<1><f7>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe6>
-<1><fc>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xad): _Bool
-<1><103>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x124): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><10e>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x32): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><119>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x24e): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><124>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x162): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x144>
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x180): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><13d>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x13b): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><144>
-Abbrev Number: 14 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1225
-DW_AT_sibling     : <0x172>
-<2><14d>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x38): value
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1226
-DW_AT_type        : <0x103>
-<2><159>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf5): value64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1227
-DW_AT_type        : <0x119>
-<2><165>
-Abbrev Number: 15 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xbc): string
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1228
-DW_AT_type        : <0x6a>
-<1><172>
-Abbrev Number: 16 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x3e): v4l2_ext_control
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1221
-DW_AT_sibling     : <0x1b4>
-<2><17f>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1222
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><18d>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x21b): size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1223
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><19c>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1fc): reserved2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1224
-DW_AT_type        : <0x1b4>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ab>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_type        : <0x144>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1b4>
-Abbrev Number: 20 (DW_TAG_array_type)
-DW_AT_type        : <0x10e>
-DW_AT_sibling     : <0x1c4>
-<2><1bd>
-Abbrev Number: 21 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 0
-<1><1c4>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1a): struct_v4l2_ext_control
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x172>
-<1><1cf>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12a): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1dd>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x11d): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf1>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1eb>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1db): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><1f9>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc3): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1c4>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/struct_v4l2_ext_controls.c b/mpers-mx32/struct_v4l2_ext_controls.c
index 626f230..d89399e 100644
--- a/mpers-mx32/struct_v4l2_ext_controls.c
+++ b/mpers-mx32/struct_v4l2_ext_controls.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_ext_controls.d1 b/mpers-mx32/struct_v4l2_ext_controls.d1
deleted file mode 100644
index 2cf9e8e..0000000
--- a/mpers-mx32/struct_v4l2_ext_controls.d1
+++ /dev/null
@@ -1,297 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x277 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x69): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x43): mpers-mx32/struct_v4l2_ext_controls.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x205): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x275): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1a9): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x249): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x12c): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0xb4): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1ce): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xfb): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x261): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x13a): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x240): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
-    <6c>   DW_AT_type        : <0x70>	
- <1><70>: Abbrev Number: 2 (DW_TAG_base_type)
-    <71>   DW_AT_byte_size   : 1	
-    <72>   DW_AT_encoding    : 6	(signed char)
-    <73>   DW_AT_name        : (indirect string, offset: 0x200): char	
- <1><77>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <78>   DW_AT_byte_size   : 4	
-    <79>   DW_AT_type        : <0x7d>	
- <1><7d>: Abbrev Number: 5 (DW_TAG_const_type)
-    <7e>   DW_AT_type        : <0x70>	
- <1><82>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <83>   DW_AT_name        : (indirect string, offset: 0x14c): sysent	
-    <87>   DW_AT_byte_size   : 20	
-    <88>   DW_AT_decl_file   : 1	
-    <89>   DW_AT_decl_line   : 4	
-    <8a>   DW_AT_sibling     : <0xd5>	
- <2><8e>: Abbrev Number: 7 (DW_TAG_member)
-    <8f>   DW_AT_name        : (indirect string, offset: 0x1a3): nargs	
-    <93>   DW_AT_decl_file   : 1	
-    <94>   DW_AT_decl_line   : 5	
-    <95>   DW_AT_type        : <0x47>	
-    <99>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><9c>: Abbrev Number: 7 (DW_TAG_member)
-    <9d>   DW_AT_name        : (indirect string, offset: 0xf1): sys_flags	
-    <a1>   DW_AT_decl_file   : 1	
-    <a2>   DW_AT_decl_line   : 6	
-    <a3>   DW_AT_type        : <0x2b>	
-    <a7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><aa>: Abbrev Number: 8 (DW_TAG_member)
-    <ab>   DW_AT_name        : sen	
-    <af>   DW_AT_decl_file   : 1	
-    <b0>   DW_AT_decl_line   : 7	
-    <b1>   DW_AT_type        : <0x2b>	
-    <b5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b8>: Abbrev Number: 7 (DW_TAG_member)
-    <b9>   DW_AT_name        : (indirect string, offset: 0x286): sys_func	
-    <bd>   DW_AT_decl_file   : 1	
-    <be>   DW_AT_decl_line   : 8	
-    <bf>   DW_AT_type        : <0xe0>	
-    <c3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c6>: Abbrev Number: 7 (DW_TAG_member)
-    <c7>   DW_AT_name        : (indirect string, offset: 0xd0): sys_name	
-    <cb>   DW_AT_decl_file   : 1	
-    <cc>   DW_AT_decl_line   : 9	
-    <cd>   DW_AT_type        : <0x77>	
-    <d1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d4>: Abbrev Number: 0
- <1><d5>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d6>   DW_AT_type        : <0x2b>	
-    <da>   DW_AT_sibling     : <0xe0>	
- <2><de>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><df>: Abbrev Number: 0
- <1><e0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <e1>   DW_AT_byte_size   : 4	
-    <e2>   DW_AT_type        : <0xd5>	
- <1><e6>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e7>   DW_AT_name        : (indirect string, offset: 0x1f2): struct_sysent	
-    <eb>   DW_AT_decl_file   : 1	
-    <ec>   DW_AT_decl_line   : 10	
-    <ed>   DW_AT_type        : <0x82>	
- <1><f1>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <f2>   DW_AT_byte_size   : 4	
-    <f3>   DW_AT_type        : <0xf7>	
- <1><f7>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f8>   DW_AT_type        : <0xe6>	
- <1><fc>: Abbrev Number: 2 (DW_TAG_base_type)
-    <fd>   DW_AT_byte_size   : 1	
-    <fe>   DW_AT_encoding    : 2	(boolean)
-    <ff>   DW_AT_name        : (indirect string, offset: 0x1a): _Bool	
- <1><103>: Abbrev Number: 11 (DW_TAG_typedef)
-    <104>   DW_AT_name        : (indirect string, offset: 0x16c): __s32	
-    <108>   DW_AT_decl_file   : 2	
-    <109>   DW_AT_decl_line   : 25	
-    <10a>   DW_AT_type        : <0x2b>	
- <1><10e>: Abbrev Number: 11 (DW_TAG_typedef)
-    <10f>   DW_AT_name        : (indirect string, offset: 0x20): __u32	
-    <113>   DW_AT_decl_file   : 2	
-    <114>   DW_AT_decl_line   : 26	
-    <115>   DW_AT_type        : <0x47>	
- <1><119>: Abbrev Number: 11 (DW_TAG_typedef)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x28f): __s64	
-    <11e>   DW_AT_decl_file   : 2	
-    <11f>   DW_AT_decl_line   : 29	
-    <120>   DW_AT_type        : <0x32>	
- <1><124>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <125>   DW_AT_name        : (indirect string, offset: 0x1b3): v4l2_preemphasis	
-    <129>   DW_AT_byte_size   : 4	
-    <12a>   DW_AT_decl_file   : 6	
-    <12b>   DW_AT_decl_line   : 763	
-    <12d>   DW_AT_sibling     : <0x144>	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED	
-    <136>   DW_AT_const_value : 0	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0x1db): V4L2_PREEMPHASIS_50_uS	
-    <13c>   DW_AT_const_value : 1	
- <2><13d>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <13e>   DW_AT_name        : (indirect string, offset: 0x183): V4L2_PREEMPHASIS_75_uS	
-    <142>   DW_AT_const_value : 2	
- <2><143>: Abbrev Number: 0
- <1><144>: Abbrev Number: 14 (DW_TAG_array_type)
-    <145>   DW_AT_type        : <0x10e>	
-    <149>   DW_AT_sibling     : <0x154>	
- <2><14d>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <14e>   DW_AT_type        : <0x63>	
-    <152>   DW_AT_upper_bound : 1	
- <2><153>: Abbrev Number: 0
- <1><154>: Abbrev Number: 16 (DW_TAG_union_type)
-    <155>   DW_AT_byte_size   : 8	
-    <156>   DW_AT_decl_file   : 3	
-    <157>   DW_AT_decl_line   : 1225	
-    <159>   DW_AT_sibling     : <0x182>	
- <2><15d>: Abbrev Number: 17 (DW_TAG_member)
-    <15e>   DW_AT_name        : (indirect string, offset: 0x26): value	
-    <162>   DW_AT_decl_file   : 3	
-    <163>   DW_AT_decl_line   : 1226	
-    <165>   DW_AT_type        : <0x103>	
- <2><169>: Abbrev Number: 17 (DW_TAG_member)
-    <16a>   DW_AT_name        : (indirect string, offset: 0x124): value64	
-    <16e>   DW_AT_decl_file   : 3	
-    <16f>   DW_AT_decl_line   : 1227	
-    <171>   DW_AT_type        : <0x119>	
- <2><175>: Abbrev Number: 17 (DW_TAG_member)
-    <176>   DW_AT_name        : (indirect string, offset: 0xd9): string	
-    <17a>   DW_AT_decl_file   : 3	
-    <17b>   DW_AT_decl_line   : 1228	
-    <17d>   DW_AT_type        : <0x6a>	
- <2><181>: Abbrev Number: 0
- <1><182>: Abbrev Number: 18 (DW_TAG_structure_type)
-    <183>   DW_AT_name        : (indirect string, offset: 0x32): v4l2_ext_control	
-    <187>   DW_AT_byte_size   : 20	
-    <188>   DW_AT_decl_file   : 3	
-    <189>   DW_AT_decl_line   : 1221	
-    <18b>   DW_AT_sibling     : <0x1c4>	
- <2><18f>: Abbrev Number: 19 (DW_TAG_member)
-    <190>   DW_AT_name        : id	
-    <193>   DW_AT_decl_file   : 3	
-    <194>   DW_AT_decl_line   : 1222	
-    <196>   DW_AT_type        : <0x10e>	
-    <19a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><19d>: Abbrev Number: 20 (DW_TAG_member)
-    <19e>   DW_AT_name        : (indirect string, offset: 0x281): size	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 1223	
-    <1a5>   DW_AT_type        : <0x10e>	
-    <1a9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1ac>: Abbrev Number: 20 (DW_TAG_member)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0x257): reserved2	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 1224	
-    <1b4>   DW_AT_type        : <0x1c4>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1bb>: Abbrev Number: 21 (DW_TAG_member)
-    <1bc>   DW_AT_type        : <0x154>	
-    <1c0>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1c3>: Abbrev Number: 0
- <1><1c4>: Abbrev Number: 14 (DW_TAG_array_type)
-    <1c5>   DW_AT_type        : <0x10e>	
-    <1c9>   DW_AT_sibling     : <0x1d4>	
- <2><1cd>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <1ce>   DW_AT_type        : <0x63>	
-    <1d2>   DW_AT_upper_bound : 0	
- <2><1d3>: Abbrev Number: 0
- <1><1d4>: Abbrev Number: 18 (DW_TAG_structure_type)
-    <1d5>   DW_AT_name        : (indirect string, offset: 0x112): v4l2_ext_controls	
-    <1d9>   DW_AT_byte_size   : 24	
-    <1da>   DW_AT_decl_file   : 3	
-    <1db>   DW_AT_decl_line   : 1232	
-    <1dd>   DW_AT_sibling     : <0x22d>	
- <2><1e1>: Abbrev Number: 20 (DW_TAG_member)
-    <1e2>   DW_AT_name        : (indirect string, offset: 0x26a): ctrl_class	
-    <1e6>   DW_AT_decl_file   : 3	
-    <1e7>   DW_AT_decl_line   : 1233	
-    <1e9>   DW_AT_type        : <0x10e>	
-    <1ed>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1f0>: Abbrev Number: 20 (DW_TAG_member)
-    <1f1>   DW_AT_name        : (indirect string, offset: 0x2c): count	
-    <1f5>   DW_AT_decl_file   : 3	
-    <1f6>   DW_AT_decl_line   : 1234	
-    <1f8>   DW_AT_type        : <0x10e>	
-    <1fc>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1ff>: Abbrev Number: 20 (DW_TAG_member)
-    <200>   DW_AT_name        : (indirect string, offset: 0x1c4): error_idx	
-    <204>   DW_AT_decl_file   : 3	
-    <205>   DW_AT_decl_line   : 1235	
-    <207>   DW_AT_type        : <0x10e>	
-    <20b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><20e>: Abbrev Number: 20 (DW_TAG_member)
-    <20f>   DW_AT_name        : (indirect string, offset: 0x19a): reserved	
-    <213>   DW_AT_decl_file   : 3	
-    <214>   DW_AT_decl_line   : 1236	
-    <216>   DW_AT_type        : <0x144>	
-    <21a>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><21d>: Abbrev Number: 20 (DW_TAG_member)
-    <21e>   DW_AT_name        : (indirect string, offset: 0xc7): controls	
-    <222>   DW_AT_decl_file   : 3	
-    <223>   DW_AT_decl_line   : 1237	
-    <225>   DW_AT_type        : <0x22d>	
-    <229>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><22c>: Abbrev Number: 0
- <1><22d>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <22e>   DW_AT_byte_size   : 4	
-    <22f>   DW_AT_type        : <0x182>	
- <1><233>: Abbrev Number: 11 (DW_TAG_typedef)
-    <234>   DW_AT_name        : (indirect string, offset: 0x153): struct_v4l2_ext_controls	
-    <238>   DW_AT_decl_file   : 4	
-    <239>   DW_AT_decl_line   : 41	
-    <23a>   DW_AT_type        : <0x1d4>	
- <1><23e>: Abbrev Number: 22 (DW_TAG_variable)
-    <23f>   DW_AT_name        : (indirect string, offset: 0x172): current_wordsize	
-    <243>   DW_AT_decl_file   : 5	
-    <244>   DW_AT_decl_line   : 757	
-    <246>   DW_AT_type        : <0x47>	
-    <24a>   DW_AT_external    : 1	
-    <24b>   DW_AT_declaration : 1	
- <1><24c>: Abbrev Number: 22 (DW_TAG_variable)
-    <24d>   DW_AT_name        : (indirect string, offset: 0x14c): sysent	
-    <251>   DW_AT_decl_file   : 5	
-    <252>   DW_AT_decl_line   : 892	
-    <254>   DW_AT_type        : <0xf1>	
-    <258>   DW_AT_external    : 1	
-    <259>   DW_AT_declaration : 1	
- <1><25a>: Abbrev Number: 22 (DW_TAG_variable)
-    <25b>   DW_AT_name        : (indirect string, offset: 0x236): nsyscalls	
-    <25f>   DW_AT_decl_file   : 5	
-    <260>   DW_AT_decl_line   : 903	
-    <262>   DW_AT_type        : <0x47>	
-    <266>   DW_AT_external    : 1	
-    <267>   DW_AT_declaration : 1	
- <1><268>: Abbrev Number: 23 (DW_TAG_variable)
-    <269>   DW_AT_name        : (indirect string, offset: 0xe0): mpers_target_var	
-    <26d>   DW_AT_decl_file   : 4	
-    <26e>   DW_AT_decl_line   : 47	
-    <26f>   DW_AT_type        : <0x233>	
-    <273>   DW_AT_external    : 1	
-    <274>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><27a>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_ext_controls.d2 b/mpers-mx32/struct_v4l2_ext_controls.d2
deleted file mode 100644
index 376d827..0000000
--- a/mpers-mx32/struct_v4l2_ext_controls.d2
+++ /dev/null
@@ -1,334 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x275): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a9): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x249): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x12c): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb4): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1ce): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xfb): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x261): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x13a): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x240): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x70>
-<1><70>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x200): char
-<1><77>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x7d>
-<1><7d>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x70>
-<1><82>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x14c): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd5>
-<2><8e>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a3): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><9c>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xf1): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><aa>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b8>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x286): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xe0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c6>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd0): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x77>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d5>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xe0>
-<2><de>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><e0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd5>
-<1><e6>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1f2): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x82>
-<1><f1>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf7>
-<1><f7>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe6>
-<1><fc>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1a): _Bool
-<1><103>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x16c): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><10e>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x20): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><119>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x28f): __s64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 29
-DW_AT_type        : <0x32>
-<1><124>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x1b3): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x144>
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x0): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1db): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><13d>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x183): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><144>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x10e>
-DW_AT_sibling     : <0x154>
-<2><14d>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><154>
-Abbrev Number: 16 (DW_TAG_union_type)
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1225
-DW_AT_sibling     : <0x182>
-<2><15d>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26): value
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1226
-DW_AT_type        : <0x103>
-<2><169>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x124): value64
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1227
-DW_AT_type        : <0x119>
-<2><175>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xd9): string
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1228
-DW_AT_type        : <0x6a>
-<1><182>
-Abbrev Number: 18 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x32): v4l2_ext_control
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1221
-DW_AT_sibling     : <0x1c4>
-<2><18f>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1222
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><19d>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x281): size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1223
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1ac>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x257): reserved2
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1224
-DW_AT_type        : <0x1c4>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1bb>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_type        : <0x154>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1c4>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x10e>
-DW_AT_sibling     : <0x1d4>
-<2><1cd>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 0
-<1><1d4>
-Abbrev Number: 18 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x112): v4l2_ext_controls
-DW_AT_byte_size   : 24
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1232
-DW_AT_sibling     : <0x22d>
-<2><1e1>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26a): ctrl_class
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1233
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1f0>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x2c): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1234
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1ff>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c4): error_idx
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1235
-DW_AT_type        : <0x10e>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><20e>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19a): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1236
-DW_AT_type        : <0x144>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><21d>
-Abbrev Number: 20 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc7): controls
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1237
-DW_AT_type        : <0x22d>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<1><22d>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x182>
-<1><233>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x153): struct_v4l2_ext_controls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 41
-DW_AT_type        : <0x1d4>
-<1><23e>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x172): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><24c>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x14c): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xf1>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><25a>
-Abbrev Number: 22 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x236): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><268>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe0): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x233>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/struct_v4l2_format.c b/mpers-mx32/struct_v4l2_format.c
index fd7973f..8791f9d 100644
--- a/mpers-mx32/struct_v4l2_format.c
+++ b/mpers-mx32/struct_v4l2_format.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_format.d1 b/mpers-mx32/struct_v4l2_format.d1
deleted file mode 100644
index d06e1c4..0000000
--- a/mpers-mx32/struct_v4l2_format.d1
+++ /dev/null
@@ -1,628 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x586 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x2b1): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0xc1): mpers-mx32/struct_v4l2_format.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x399): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1b1): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x29): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0xf3): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0x16f): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x24b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1e6): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x1c3): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x10e): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x301): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x33): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x27f): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0x352): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x313): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x6a): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x16): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0x50): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x325): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0x289): _Bool	
- <1><ff>: Abbrev Number: 12 (DW_TAG_typedef)
-    <100>   DW_AT_name        : (indirect string, offset: 0x2fc): __u8	
-    <104>   DW_AT_decl_file   : 2	
-    <105>   DW_AT_decl_line   : 20	
-    <106>   DW_AT_type        : <0x39>	
- <1><10a>: Abbrev Number: 12 (DW_TAG_typedef)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x2ab): __u16	
-    <10f>   DW_AT_decl_file   : 2	
-    <110>   DW_AT_decl_line   : 23	
-    <111>   DW_AT_type        : <0x40>	
- <1><115>: Abbrev Number: 12 (DW_TAG_typedef)
-    <116>   DW_AT_name        : (indirect string, offset: 0x319): __s32	
-    <11a>   DW_AT_decl_file   : 2	
-    <11b>   DW_AT_decl_line   : 25	
-    <11c>   DW_AT_type        : <0x2b>	
- <1><120>: Abbrev Number: 12 (DW_TAG_typedef)
-    <121>   DW_AT_name        : (indirect string, offset: 0xaa): __u32	
-    <125>   DW_AT_decl_file   : 2	
-    <126>   DW_AT_decl_line   : 26	
-    <127>   DW_AT_type        : <0x47>	
- <1><12b>: Abbrev Number: 13 (DW_TAG_enumeration_type)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x333): v4l2_preemphasis	
-    <130>   DW_AT_byte_size   : 4	
-    <131>   DW_AT_decl_file   : 6	
-    <132>   DW_AT_decl_line   : 763	
-    <134>   DW_AT_sibling     : <0x14b>	
- <2><138>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <139>   DW_AT_name        : (indirect string, offset: 0x221): V4L2_PREEMPHASIS_DISABLED	
-    <13d>   DW_AT_const_value : 0	
- <2><13e>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <13f>   DW_AT_name        : (indirect string, offset: 0x1fe): V4L2_PREEMPHASIS_50_uS	
-    <143>   DW_AT_const_value : 1	
- <2><144>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <145>   DW_AT_name        : (indirect string, offset: 0x84): V4L2_PREEMPHASIS_75_uS	
-    <149>   DW_AT_const_value : 2	
- <2><14a>: Abbrev Number: 0
- <1><14b>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <14c>   DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect	
-    <150>   DW_AT_byte_size   : 16	
-    <151>   DW_AT_decl_file   : 3	
-    <152>   DW_AT_decl_line   : 205	
-    <153>   DW_AT_sibling     : <0x190>	
- <2><157>: Abbrev Number: 8 (DW_TAG_member)
-    <158>   DW_AT_name        : (indirect string, offset: 0x284): left	
-    <15c>   DW_AT_decl_file   : 3	
-    <15d>   DW_AT_decl_line   : 206	
-    <15e>   DW_AT_type        : <0x115>	
-    <162>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><165>: Abbrev Number: 9 (DW_TAG_member)
-    <166>   DW_AT_name        : top	
-    <16a>   DW_AT_decl_file   : 3	
-    <16b>   DW_AT_decl_line   : 207	
-    <16c>   DW_AT_type        : <0x115>	
-    <170>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><173>: Abbrev Number: 8 (DW_TAG_member)
-    <174>   DW_AT_name        : (indirect string, offset: 0xed): width	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 208	
-    <17a>   DW_AT_type        : <0x115>	
-    <17e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><181>: Abbrev Number: 8 (DW_TAG_member)
-    <182>   DW_AT_name        : (indirect string, offset: 0x1df): height	
-    <186>   DW_AT_decl_file   : 3	
-    <187>   DW_AT_decl_line   : 209	
-    <188>   DW_AT_type        : <0x115>	
-    <18c>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><18f>: Abbrev Number: 0
- <1><190>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <191>   DW_AT_name        : (indirect string, offset: 0x29b): v4l2_pix_format	
-    <195>   DW_AT_byte_size   : 32	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 274	
-    <199>   DW_AT_sibling     : <0x216>	
- <2><19d>: Abbrev Number: 16 (DW_TAG_member)
-    <19e>   DW_AT_name        : (indirect string, offset: 0xed): width	
-    <1a2>   DW_AT_decl_file   : 3	
-    <1a3>   DW_AT_decl_line   : 275	
-    <1a5>   DW_AT_type        : <0x120>	
-    <1a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1ac>: Abbrev Number: 16 (DW_TAG_member)
-    <1ad>   DW_AT_name        : (indirect string, offset: 0x1df): height	
-    <1b1>   DW_AT_decl_file   : 3	
-    <1b2>   DW_AT_decl_line   : 276	
-    <1b4>   DW_AT_type        : <0x120>	
-    <1b8>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1bb>: Abbrev Number: 16 (DW_TAG_member)
-    <1bc>   DW_AT_name        : (indirect string, offset: 0x3c): pixelformat	
-    <1c0>   DW_AT_decl_file   : 3	
-    <1c1>   DW_AT_decl_line   : 277	
-    <1c3>   DW_AT_type        : <0x120>	
-    <1c7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ca>: Abbrev Number: 16 (DW_TAG_member)
-    <1cb>   DW_AT_name        : (indirect string, offset: 0x9b): field	
-    <1cf>   DW_AT_decl_file   : 3	
-    <1d0>   DW_AT_decl_line   : 278	
-    <1d2>   DW_AT_type        : <0x120>	
-    <1d6>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1d9>: Abbrev Number: 16 (DW_TAG_member)
-    <1da>   DW_AT_name        : (indirect string, offset: 0x101): bytesperline	
-    <1de>   DW_AT_decl_file   : 3	
-    <1df>   DW_AT_decl_line   : 279	
-    <1e1>   DW_AT_type        : <0x120>	
-    <1e5>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1e8>: Abbrev Number: 16 (DW_TAG_member)
-    <1e9>   DW_AT_name        : (indirect string, offset: 0x1f): sizeimage	
-    <1ed>   DW_AT_decl_file   : 3	
-    <1ee>   DW_AT_decl_line   : 280	
-    <1f0>   DW_AT_type        : <0x120>	
-    <1f4>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><1f7>: Abbrev Number: 16 (DW_TAG_member)
-    <1f8>   DW_AT_name        : (indirect string, offset: 0x140): colorspace	
-    <1fc>   DW_AT_decl_file   : 3	
-    <1fd>   DW_AT_decl_line   : 281	
-    <1ff>   DW_AT_type        : <0x120>	
-    <203>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><206>: Abbrev Number: 16 (DW_TAG_member)
-    <207>   DW_AT_name        : (indirect string, offset: 0x0): priv	
-    <20b>   DW_AT_decl_file   : 3	
-    <20c>   DW_AT_decl_line   : 282	
-    <20e>   DW_AT_type        : <0x120>	
-    <212>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><215>: Abbrev Number: 0
- <1><216>: Abbrev Number: 17 (DW_TAG_array_type)
-    <217>   DW_AT_type        : <0x120>	
-    <21b>   DW_AT_sibling     : <0x226>	
- <2><21f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <220>   DW_AT_type        : <0x63>	
-    <224>   DW_AT_upper_bound : 1	
- <2><225>: Abbrev Number: 0
- <1><226>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <227>   DW_AT_name        : (indirect string, offset: 0x359): v4l2_clip	
-    <22b>   DW_AT_byte_size   : 20	
-    <22c>   DW_AT_decl_file   : 3	
-    <22d>   DW_AT_decl_line   : 745	
-    <22f>   DW_AT_sibling     : <0x250>	
- <2><233>: Abbrev Number: 19 (DW_TAG_member)
-    <234>   DW_AT_name        : c	
-    <236>   DW_AT_decl_file   : 3	
-    <237>   DW_AT_decl_line   : 746	
-    <239>   DW_AT_type        : <0x14b>	
-    <23d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><240>: Abbrev Number: 16 (DW_TAG_member)
-    <241>   DW_AT_name        : (indirect string, offset: 0x386): next	
-    <245>   DW_AT_decl_file   : 3	
-    <246>   DW_AT_decl_line   : 747	
-    <248>   DW_AT_type        : <0x250>	
-    <24c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><24f>: Abbrev Number: 0
- <1><250>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <251>   DW_AT_byte_size   : 4	
-    <252>   DW_AT_type        : <0x226>	
- <1><256>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <257>   DW_AT_name        : (indirect string, offset: 0xe1): v4l2_window	
-    <25b>   DW_AT_byte_size   : 40	
-    <25c>   DW_AT_decl_file   : 3	
-    <25d>   DW_AT_decl_line   : 750	
-    <25f>   DW_AT_sibling     : <0x2cb>	
- <2><263>: Abbrev Number: 19 (DW_TAG_member)
-    <264>   DW_AT_name        : w	
-    <266>   DW_AT_decl_file   : 3	
-    <267>   DW_AT_decl_line   : 751	
-    <269>   DW_AT_type        : <0x14b>	
-    <26d>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><270>: Abbrev Number: 16 (DW_TAG_member)
-    <271>   DW_AT_name        : (indirect string, offset: 0x9b): field	
-    <275>   DW_AT_decl_file   : 3	
-    <276>   DW_AT_decl_line   : 752	
-    <278>   DW_AT_type        : <0x120>	
-    <27c>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><27f>: Abbrev Number: 16 (DW_TAG_member)
-    <280>   DW_AT_name        : (indirect string, offset: 0x36d): chromakey	
-    <284>   DW_AT_decl_file   : 3	
-    <285>   DW_AT_decl_line   : 753	
-    <287>   DW_AT_type        : <0x120>	
-    <28b>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><28e>: Abbrev Number: 16 (DW_TAG_member)
-    <28f>   DW_AT_name        : (indirect string, offset: 0x380): clips	
-    <293>   DW_AT_decl_file   : 3	
-    <294>   DW_AT_decl_line   : 754	
-    <296>   DW_AT_type        : <0x250>	
-    <29a>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><29d>: Abbrev Number: 16 (DW_TAG_member)
-    <29e>   DW_AT_name        : (indirect string, offset: 0xb7): clipcount	
-    <2a2>   DW_AT_decl_file   : 3	
-    <2a3>   DW_AT_decl_line   : 755	
-    <2a5>   DW_AT_type        : <0x120>	
-    <2a9>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><2ac>: Abbrev Number: 16 (DW_TAG_member)
-    <2ad>   DW_AT_name        : (indirect string, offset: 0xb0): bitmap	
-    <2b1>   DW_AT_decl_file   : 3	
-    <2b2>   DW_AT_decl_line   : 756	
-    <2b4>   DW_AT_type        : <0x6a>	
-    <2b8>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><2bb>: Abbrev Number: 16 (DW_TAG_member)
-    <2bc>   DW_AT_name        : (indirect string, offset: 0x14b): global_alpha	
-    <2c0>   DW_AT_decl_file   : 3	
-    <2c1>   DW_AT_decl_line   : 757	
-    <2c3>   DW_AT_type        : <0xff>	
-    <2c7>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><2ca>: Abbrev Number: 0
- <1><2cb>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <2cc>   DW_AT_name        : (indirect string, offset: 0x74): v4l2_vbi_format	
-    <2d0>   DW_AT_byte_size   : 44	
-    <2d1>   DW_AT_decl_file   : 3	
-    <2d2>   DW_AT_decl_line   : 1541	
-    <2d4>   DW_AT_sibling     : <0x351>	
- <2><2d8>: Abbrev Number: 16 (DW_TAG_member)
-    <2d9>   DW_AT_name        : (indirect string, offset: 0x271): sampling_rate	
-    <2dd>   DW_AT_decl_file   : 3	
-    <2de>   DW_AT_decl_line   : 1542	
-    <2e0>   DW_AT_type        : <0x120>	
-    <2e4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><2e7>: Abbrev Number: 16 (DW_TAG_member)
-    <2e8>   DW_AT_name        : (indirect string, offset: 0x128): offset	
-    <2ec>   DW_AT_decl_file   : 3	
-    <2ed>   DW_AT_decl_line   : 1543	
-    <2ef>   DW_AT_type        : <0x120>	
-    <2f3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><2f6>: Abbrev Number: 16 (DW_TAG_member)
-    <2f7>   DW_AT_name        : (indirect string, offset: 0x59): samples_per_line	
-    <2fb>   DW_AT_decl_file   : 3	
-    <2fc>   DW_AT_decl_line   : 1544	
-    <2fe>   DW_AT_type        : <0x120>	
-    <302>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><305>: Abbrev Number: 16 (DW_TAG_member)
-    <306>   DW_AT_name        : (indirect string, offset: 0x38b): sample_format	
-    <30a>   DW_AT_decl_file   : 3	
-    <30b>   DW_AT_decl_line   : 1545	
-    <30d>   DW_AT_type        : <0x120>	
-    <311>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><314>: Abbrev Number: 16 (DW_TAG_member)
-    <315>   DW_AT_name        : (indirect string, offset: 0x245): start	
-    <319>   DW_AT_decl_file   : 3	
-    <31a>   DW_AT_decl_line   : 1546	
-    <31c>   DW_AT_type        : <0x351>	
-    <320>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><323>: Abbrev Number: 16 (DW_TAG_member)
-    <324>   DW_AT_name        : (indirect string, offset: 0x31f): count	
-    <328>   DW_AT_decl_file   : 3	
-    <329>   DW_AT_decl_line   : 1547	
-    <32b>   DW_AT_type        : <0x216>	
-    <32f>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><332>: Abbrev Number: 16 (DW_TAG_member)
-    <333>   DW_AT_name        : (indirect string, offset: 0x1bd): flags	
-    <337>   DW_AT_decl_file   : 3	
-    <338>   DW_AT_decl_line   : 1548	
-    <33a>   DW_AT_type        : <0x120>	
-    <33e>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><341>: Abbrev Number: 16 (DW_TAG_member)
-    <342>   DW_AT_name        : (indirect string, offset: 0x377): reserved	
-    <346>   DW_AT_decl_file   : 3	
-    <347>   DW_AT_decl_line   : 1549	
-    <349>   DW_AT_type        : <0x216>	
-    <34d>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><350>: Abbrev Number: 0
- <1><351>: Abbrev Number: 17 (DW_TAG_array_type)
-    <352>   DW_AT_type        : <0x115>	
-    <356>   DW_AT_sibling     : <0x361>	
- <2><35a>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <35b>   DW_AT_type        : <0x63>	
-    <35f>   DW_AT_upper_bound : 1	
- <2><360>: Abbrev Number: 0
- <1><361>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <362>   DW_AT_name        : (indirect string, offset: 0x193): v4l2_sliced_vbi_format	
-    <366>   DW_AT_byte_size   : 112	
-    <367>   DW_AT_decl_file   : 3	
-    <368>   DW_AT_decl_line   : 1563	
-    <36a>   DW_AT_sibling     : <0x3ab>	
- <2><36e>: Abbrev Number: 16 (DW_TAG_member)
-    <36f>   DW_AT_name        : (indirect string, offset: 0x28f): service_set	
-    <373>   DW_AT_decl_file   : 3	
-    <374>   DW_AT_decl_line   : 1564	
-    <376>   DW_AT_type        : <0x10a>	
-    <37a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><37d>: Abbrev Number: 16 (DW_TAG_member)
-    <37e>   DW_AT_name        : (indirect string, offset: 0x344): service_lines	
-    <382>   DW_AT_decl_file   : 3	
-    <383>   DW_AT_decl_line   : 1569	
-    <385>   DW_AT_type        : <0x3ab>	
-    <389>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
- <2><38c>: Abbrev Number: 16 (DW_TAG_member)
-    <38d>   DW_AT_name        : (indirect string, offset: 0x48): io_size	
-    <391>   DW_AT_decl_file   : 3	
-    <392>   DW_AT_decl_line   : 1570	
-    <394>   DW_AT_type        : <0x120>	
-    <398>   DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
- <2><39b>: Abbrev Number: 16 (DW_TAG_member)
-    <39c>   DW_AT_name        : (indirect string, offset: 0x377): reserved	
-    <3a0>   DW_AT_decl_file   : 3	
-    <3a1>   DW_AT_decl_line   : 1571	
-    <3a3>   DW_AT_type        : <0x216>	
-    <3a7>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><3aa>: Abbrev Number: 0
- <1><3ab>: Abbrev Number: 17 (DW_TAG_array_type)
-    <3ac>   DW_AT_type        : <0x10a>	
-    <3b0>   DW_AT_sibling     : <0x3c1>	
- <2><3b4>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3b5>   DW_AT_type        : <0x63>	
-    <3b9>   DW_AT_upper_bound : 1	
- <2><3ba>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <3bb>   DW_AT_type        : <0x63>	
-    <3bf>   DW_AT_upper_bound : 23	
- <2><3c0>: Abbrev Number: 0
- <1><3c1>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <3c2>   DW_AT_name        : (indirect string, offset: 0x17d): v4l2_plane_pix_format	
-    <3c6>   DW_AT_byte_size   : 20	
-    <3c7>   DW_AT_decl_file   : 3	
-    <3c8>   DW_AT_decl_line   : 1664	
-    <3ca>   DW_AT_sibling     : <0x3fc>	
- <2><3ce>: Abbrev Number: 16 (DW_TAG_member)
-    <3cf>   DW_AT_name        : (indirect string, offset: 0x1f): sizeimage	
-    <3d3>   DW_AT_decl_file   : 3	
-    <3d4>   DW_AT_decl_line   : 1665	
-    <3d6>   DW_AT_type        : <0x120>	
-    <3da>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><3dd>: Abbrev Number: 16 (DW_TAG_member)
-    <3de>   DW_AT_name        : (indirect string, offset: 0x101): bytesperline	
-    <3e2>   DW_AT_decl_file   : 3	
-    <3e3>   DW_AT_decl_line   : 1666	
-    <3e5>   DW_AT_type        : <0x10a>	
-    <3e9>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><3ec>: Abbrev Number: 16 (DW_TAG_member)
-    <3ed>   DW_AT_name        : (indirect string, offset: 0x377): reserved	
-    <3f1>   DW_AT_decl_file   : 3	
-    <3f2>   DW_AT_decl_line   : 1667	
-    <3f4>   DW_AT_type        : <0x3fc>	
-    <3f8>   DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
- <2><3fb>: Abbrev Number: 0
- <1><3fc>: Abbrev Number: 17 (DW_TAG_array_type)
-    <3fd>   DW_AT_type        : <0x10a>	
-    <401>   DW_AT_sibling     : <0x40c>	
- <2><405>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <406>   DW_AT_type        : <0x63>	
-    <40a>   DW_AT_upper_bound : 6	
- <2><40b>: Abbrev Number: 0
- <1><40c>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <40d>   DW_AT_name        : (indirect string, offset: 0x158): v4l2_pix_format_mplane	
-    <411>   DW_AT_byte_size   : 192	
-    <412>   DW_AT_decl_file   : 3	
-    <413>   DW_AT_decl_line   : 1680	
-    <415>   DW_AT_sibling     : <0x494>	
- <2><419>: Abbrev Number: 16 (DW_TAG_member)
-    <41a>   DW_AT_name        : (indirect string, offset: 0xed): width	
-    <41e>   DW_AT_decl_file   : 3	
-    <41f>   DW_AT_decl_line   : 1681	
-    <421>   DW_AT_type        : <0x120>	
-    <425>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><428>: Abbrev Number: 16 (DW_TAG_member)
-    <429>   DW_AT_name        : (indirect string, offset: 0x1df): height	
-    <42d>   DW_AT_decl_file   : 3	
-    <42e>   DW_AT_decl_line   : 1682	
-    <430>   DW_AT_type        : <0x120>	
-    <434>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><437>: Abbrev Number: 16 (DW_TAG_member)
-    <438>   DW_AT_name        : (indirect string, offset: 0x3c): pixelformat	
-    <43c>   DW_AT_decl_file   : 3	
-    <43d>   DW_AT_decl_line   : 1683	
-    <43f>   DW_AT_type        : <0x120>	
-    <443>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><446>: Abbrev Number: 16 (DW_TAG_member)
-    <447>   DW_AT_name        : (indirect string, offset: 0x9b): field	
-    <44b>   DW_AT_decl_file   : 3	
-    <44c>   DW_AT_decl_line   : 1684	
-    <44e>   DW_AT_type        : <0x120>	
-    <452>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><455>: Abbrev Number: 16 (DW_TAG_member)
-    <456>   DW_AT_name        : (indirect string, offset: 0x140): colorspace	
-    <45a>   DW_AT_decl_file   : 3	
-    <45b>   DW_AT_decl_line   : 1685	
-    <45d>   DW_AT_type        : <0x120>	
-    <461>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><464>: Abbrev Number: 16 (DW_TAG_member)
-    <465>   DW_AT_name        : (indirect string, offset: 0x363): plane_fmt	
-    <469>   DW_AT_decl_file   : 3	
-    <46a>   DW_AT_decl_line   : 1687	
-    <46c>   DW_AT_type        : <0x494>	
-    <470>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><473>: Abbrev Number: 16 (DW_TAG_member)
-    <474>   DW_AT_name        : (indirect string, offset: 0x1f3): num_planes	
-    <478>   DW_AT_decl_file   : 3	
-    <479>   DW_AT_decl_line   : 1688	
-    <47b>   DW_AT_type        : <0xff>	
-    <47f>   DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
- <2><483>: Abbrev Number: 16 (DW_TAG_member)
-    <484>   DW_AT_name        : (indirect string, offset: 0x377): reserved	
-    <488>   DW_AT_decl_file   : 3	
-    <489>   DW_AT_decl_line   : 1689	
-    <48b>   DW_AT_type        : <0x4a4>	
-    <48f>   DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
- <2><493>: Abbrev Number: 0
- <1><494>: Abbrev Number: 17 (DW_TAG_array_type)
-    <495>   DW_AT_type        : <0x3c1>	
-    <499>   DW_AT_sibling     : <0x4a4>	
- <2><49d>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <49e>   DW_AT_type        : <0x63>	
-    <4a2>   DW_AT_upper_bound : 7	
- <2><4a3>: Abbrev Number: 0
- <1><4a4>: Abbrev Number: 17 (DW_TAG_array_type)
-    <4a5>   DW_AT_type        : <0xff>	
-    <4a9>   DW_AT_sibling     : <0x4b4>	
- <2><4ad>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <4ae>   DW_AT_type        : <0x63>	
-    <4b2>   DW_AT_upper_bound : 10	
- <2><4b3>: Abbrev Number: 0
- <1><4b4>: Abbrev Number: 20 (DW_TAG_union_type)
-    <4b5>   DW_AT_byte_size   : 200	
-    <4b6>   DW_AT_decl_file   : 3	
-    <4b7>   DW_AT_decl_line   : 1704	
-    <4b9>   DW_AT_sibling     : <0x506>	
- <2><4bd>: Abbrev Number: 21 (DW_TAG_member)
-    <4be>   DW_AT_name        : pix	
-    <4c2>   DW_AT_decl_file   : 3	
-    <4c3>   DW_AT_decl_line   : 1705	
-    <4c5>   DW_AT_type        : <0x190>	
- <2><4c9>: Abbrev Number: 22 (DW_TAG_member)
-    <4ca>   DW_AT_name        : (indirect string, offset: 0x5): pix_mp	
-    <4ce>   DW_AT_decl_file   : 3	
-    <4cf>   DW_AT_decl_line   : 1706	
-    <4d1>   DW_AT_type        : <0x40c>	
- <2><4d5>: Abbrev Number: 21 (DW_TAG_member)
-    <4d6>   DW_AT_name        : win	
-    <4da>   DW_AT_decl_file   : 3	
-    <4db>   DW_AT_decl_line   : 1707	
-    <4dd>   DW_AT_type        : <0x256>	
- <2><4e1>: Abbrev Number: 21 (DW_TAG_member)
-    <4e2>   DW_AT_name        : vbi	
-    <4e6>   DW_AT_decl_file   : 3	
-    <4e7>   DW_AT_decl_line   : 1708	
-    <4e9>   DW_AT_type        : <0x2cb>	
- <2><4ed>: Abbrev Number: 22 (DW_TAG_member)
-    <4ee>   DW_AT_name        : (indirect string, offset: 0x1aa): sliced	
-    <4f2>   DW_AT_decl_file   : 3	
-    <4f3>   DW_AT_decl_line   : 1709	
-    <4f5>   DW_AT_type        : <0x361>	
- <2><4f9>: Abbrev Number: 22 (DW_TAG_member)
-    <4fa>   DW_AT_name        : (indirect string, offset: 0xa1): raw_data	
-    <4fe>   DW_AT_decl_file   : 3	
-    <4ff>   DW_AT_decl_line   : 1710	
-    <501>   DW_AT_type        : <0x506>	
- <2><505>: Abbrev Number: 0
- <1><506>: Abbrev Number: 17 (DW_TAG_array_type)
-    <507>   DW_AT_type        : <0xff>	
-    <50b>   DW_AT_sibling     : <0x516>	
- <2><50f>: Abbrev Number: 18 (DW_TAG_subrange_type)
-    <510>   DW_AT_type        : <0x63>	
-    <514>   DW_AT_upper_bound : 199	
- <2><515>: Abbrev Number: 0
- <1><516>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <517>   DW_AT_name        : (indirect string, offset: 0x215): v4l2_format	
-    <51b>   DW_AT_byte_size   : 204	
-    <51c>   DW_AT_decl_file   : 3	
-    <51d>   DW_AT_decl_line   : 1702	
-    <51f>   DW_AT_sibling     : <0x542>	
- <2><523>: Abbrev Number: 16 (DW_TAG_member)
-    <524>   DW_AT_name        : (indirect string, offset: 0x1da): type	
-    <528>   DW_AT_decl_file   : 3	
-    <529>   DW_AT_decl_line   : 1703	
-    <52b>   DW_AT_type        : <0x120>	
-    <52f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><532>: Abbrev Number: 19 (DW_TAG_member)
-    <533>   DW_AT_name        : fmt	
-    <537>   DW_AT_decl_file   : 3	
-    <538>   DW_AT_decl_line   : 1711	
-    <53a>   DW_AT_type        : <0x4b4>	
-    <53e>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><541>: Abbrev Number: 0
- <1><542>: Abbrev Number: 12 (DW_TAG_typedef)
-    <543>   DW_AT_name        : (indirect string, offset: 0x25e): struct_v4l2_format	
-    <547>   DW_AT_decl_file   : 4	
-    <548>   DW_AT_decl_line   : 42	
-    <549>   DW_AT_type        : <0x516>	
- <1><54d>: Abbrev Number: 23 (DW_TAG_variable)
-    <54e>   DW_AT_name        : (indirect string, offset: 0x12f): current_wordsize	
-    <552>   DW_AT_decl_file   : 5	
-    <553>   DW_AT_decl_line   : 757	
-    <555>   DW_AT_type        : <0x47>	
-    <559>   DW_AT_external    : 1	
-    <55a>   DW_AT_declaration : 1	
- <1><55b>: Abbrev Number: 23 (DW_TAG_variable)
-    <55c>   DW_AT_name        : (indirect string, offset: 0x352): sysent	
-    <560>   DW_AT_decl_file   : 5	
-    <561>   DW_AT_decl_line   : 892	
-    <563>   DW_AT_type        : <0xed>	
-    <567>   DW_AT_external    : 1	
-    <568>   DW_AT_declaration : 1	
- <1><569>: Abbrev Number: 23 (DW_TAG_variable)
-    <56a>   DW_AT_name        : (indirect string, offset: 0x23b): nsyscalls	
-    <56e>   DW_AT_decl_file   : 5	
-    <56f>   DW_AT_decl_line   : 903	
-    <571>   DW_AT_type        : <0x47>	
-    <575>   DW_AT_external    : 1	
-    <576>   DW_AT_declaration : 1	
- <1><577>: Abbrev Number: 24 (DW_TAG_variable)
-    <578>   DW_AT_name        : (indirect string, offset: 0x117): mpers_target_var	
-    <57c>   DW_AT_decl_file   : 4	
-    <57d>   DW_AT_decl_line   : 47	
-    <57e>   DW_AT_type        : <0x542>	
-    <582>   DW_AT_external    : 1	
-    <583>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><589>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_format.d2 b/mpers-mx32/struct_v4l2_format.d2
deleted file mode 100644
index ec3f238..0000000
--- a/mpers-mx32/struct_v4l2_format.d2
+++ /dev/null
@@ -1,712 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1b1): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x29): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0xf3): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0x16f): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x24b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1e6): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1c3): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x10e): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x301): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x33): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x27f): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x352): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x313): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6a): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x16): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x50): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x325): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x289): _Bool
-<1><ff>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2fc): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><10a>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2ab): __u16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><115>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x319): __s32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 25
-DW_AT_type        : <0x2b>
-<1><120>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xaa): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><12b>
-Abbrev Number: 13 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x333): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x14b>
-<2><138>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x221): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><13e>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1fe): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><144>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x84): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><14b>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc): v4l2_rect
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 205
-DW_AT_sibling     : <0x190>
-<2><157>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x284): left
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 206
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><165>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : top
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 207
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><173>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xed): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 208
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><181>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1df): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 209
-DW_AT_type        : <0x115>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><190>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x29b): v4l2_pix_format
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_sibling     : <0x216>
-<2><19d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xed): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 275
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1df): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 276
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3c): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 277
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ca>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9b): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 278
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><1d9>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x101): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 279
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1e8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 280
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><1f7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x140): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 281
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><206>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): priv
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 282
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><216>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x120>
-DW_AT_sibling     : <0x226>
-<2><21f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><226>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x359): v4l2_clip
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 745
-DW_AT_sibling     : <0x250>
-<2><233>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : c
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 746
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><240>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x386): next
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 747
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><250>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x226>
-<1><256>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe1): v4l2_window
-DW_AT_byte_size   : 40
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 750
-DW_AT_sibling     : <0x2cb>
-<2><263>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : w
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 751
-DW_AT_type        : <0x14b>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><270>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9b): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 752
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><27f>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x36d): chromakey
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 753
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><28e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x380): clips
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 754
-DW_AT_type        : <0x250>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><29d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb7): clipcount
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 755
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<2><2ac>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb0): bitmap
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 756
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><2bb>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x14b): global_alpha
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 757
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><2cb>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x74): v4l2_vbi_format
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1541
-DW_AT_sibling     : <0x351>
-<2><2d8>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x271): sampling_rate
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1542
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><2e7>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x128): offset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1543
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><2f6>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x59): samples_per_line
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1544
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><305>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x38b): sample_format
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1545
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><314>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x245): start
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1546
-DW_AT_type        : <0x351>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><323>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x31f): count
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1547
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><332>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bd): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1548
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><341>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x377): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1549
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<1><351>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x115>
-DW_AT_sibling     : <0x361>
-<2><35a>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<1><361>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x193): v4l2_sliced_vbi_format
-DW_AT_byte_size   : 112
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1563
-DW_AT_sibling     : <0x3ab>
-<2><36e>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x28f): service_set
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1564
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><37d>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x344): service_lines
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1569
-DW_AT_type        : <0x3ab>
-DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
-<2><38c>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x48): io_size
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1570
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 64 	(DW_OP_plus_uconst: 100)
-<2><39b>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x377): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1571
-DW_AT_type        : <0x216>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<1><3ab>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x3c1>
-<2><3b4>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 1
-<2><3ba>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 23
-<1><3c1>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x17d): v4l2_plane_pix_format
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1664
-DW_AT_sibling     : <0x3fc>
-<2><3ce>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1665
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><3dd>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x101): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1666
-DW_AT_type        : <0x10a>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><3ec>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x377): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1667
-DW_AT_type        : <0x3fc>
-DW_AT_data_member_location: 2 byte block: 23 6 	(DW_OP_plus_uconst: 6)
-<1><3fc>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x10a>
-DW_AT_sibling     : <0x40c>
-<2><405>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 6
-<1><40c>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x158): v4l2_pix_format_mplane
-DW_AT_byte_size   : 192
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1680
-DW_AT_sibling     : <0x494>
-<2><419>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xed): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1681
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><428>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1df): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1682
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><437>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x3c): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1683
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><446>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9b): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1684
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><455>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x140): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1685
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><464>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x363): plane_fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1687
-DW_AT_type        : <0x494>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><473>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f3): num_planes
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1688
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 3 byte block: 23 b4 1 	(DW_OP_plus_uconst: 180)
-<2><483>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x377): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1689
-DW_AT_type        : <0x4a4>
-DW_AT_data_member_location: 3 byte block: 23 b5 1 	(DW_OP_plus_uconst: 181)
-<1><494>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0x3c1>
-DW_AT_sibling     : <0x4a4>
-<2><49d>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 7
-<1><4a4>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x4b4>
-<2><4ad>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 10
-<1><4b4>
-Abbrev Number: 20 (DW_TAG_union_type)
-DW_AT_byte_size   : 200
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1704
-DW_AT_sibling     : <0x506>
-<2><4bd>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : pix
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1705
-DW_AT_type        : <0x190>
-<2><4c9>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x5): pix_mp
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1706
-DW_AT_type        : <0x40c>
-<2><4d5>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : win
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1707
-DW_AT_type        : <0x256>
-<2><4e1>
-Abbrev Number: 21 (DW_TAG_member)
-DW_AT_name        : vbi
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1708
-DW_AT_type        : <0x2cb>
-<2><4ed>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1aa): sliced
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1709
-DW_AT_type        : <0x361>
-<2><4f9>
-Abbrev Number: 22 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa1): raw_data
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1710
-DW_AT_type        : <0x506>
-<1><506>
-Abbrev Number: 17 (DW_TAG_array_type)
-DW_AT_type        : <0xff>
-DW_AT_sibling     : <0x516>
-<2><50f>
-Abbrev Number: 18 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 199
-<1><516>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x215): v4l2_format
-DW_AT_byte_size   : 204
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1702
-DW_AT_sibling     : <0x542>
-<2><523>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1da): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1703
-DW_AT_type        : <0x120>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><532>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1711
-DW_AT_type        : <0x4b4>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><542>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x25e): struct_v4l2_format
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 42
-DW_AT_type        : <0x516>
-<1><54d>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x12f): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><55b>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x352): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><569>
-Abbrev Number: 23 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x23b): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><577>
-Abbrev Number: 24 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x117): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x542>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_v4l2_format.h b/mpers-mx32/struct_v4l2_format.h
index 237f2ca..673e95a 100644
--- a/mpers-mx32/struct_v4l2_format.h
+++ b/mpers-mx32/struct_v4l2_format.h
@@ -55,8 +55,8 @@
 } ATTRIBUTE_PACKED vbi;
 struct {
 uint16_t service_set;
-uint16_t service_lines[24];
-unsigned char mpers_filler_2[50];
+uint16_t service_lines[2][24];
+unsigned char mpers_filler_2[2];
 uint32_t io_size;
 uint32_t reserved[2];
 } ATTRIBUTE_PACKED sliced;
diff --git a/mpers-mx32/struct_v4l2_framebuffer.c b/mpers-mx32/struct_v4l2_framebuffer.c
index c6f7e3e..4884034 100644
--- a/mpers-mx32/struct_v4l2_framebuffer.c
+++ b/mpers-mx32/struct_v4l2_framebuffer.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_framebuffer.d1 b/mpers-mx32/struct_v4l2_framebuffer.d1
deleted file mode 100644
index bd3ccd5..0000000
--- a/mpers-mx32/struct_v4l2_framebuffer.d1
+++ /dev/null
@@ -1,269 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x23e (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x5e): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x107): mpers-mx32/struct_v4l2_framebuffer.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1eb): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x27b): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x262): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x243): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xf9): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0xa9): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x1a3): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xe2): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x272): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x12c): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x23a): sizetype	
- <1><6a>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <6b>   DW_AT_byte_size   : 4	
- <1><6c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6d>   DW_AT_byte_size   : 1	
-    <6e>   DW_AT_encoding    : 6	(signed char)
-    <6f>   DW_AT_name        : (indirect string, offset: 0x1db): char	
- <1><73>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <74>   DW_AT_byte_size   : 4	
-    <75>   DW_AT_type        : <0x79>	
- <1><79>: Abbrev Number: 6 (DW_TAG_const_type)
-    <7a>   DW_AT_type        : <0x6c>	
- <1><7e>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <7f>   DW_AT_name        : (indirect string, offset: 0x13e): sysent	
-    <83>   DW_AT_byte_size   : 20	
-    <84>   DW_AT_decl_file   : 1	
-    <85>   DW_AT_decl_line   : 4	
-    <86>   DW_AT_sibling     : <0xd1>	
- <2><8a>: Abbrev Number: 8 (DW_TAG_member)
-    <8b>   DW_AT_name        : (indirect string, offset: 0x176): nargs	
-    <8f>   DW_AT_decl_file   : 1	
-    <90>   DW_AT_decl_line   : 5	
-    <91>   DW_AT_type        : <0x47>	
-    <95>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><98>: Abbrev Number: 8 (DW_TAG_member)
-    <99>   DW_AT_name        : (indirect string, offset: 0x230): sys_flags	
-    <9d>   DW_AT_decl_file   : 1	
-    <9e>   DW_AT_decl_line   : 6	
-    <9f>   DW_AT_type        : <0x2b>	
-    <a3>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a6>: Abbrev Number: 9 (DW_TAG_member)
-    <a7>   DW_AT_name        : sen	
-    <ab>   DW_AT_decl_file   : 1	
-    <ac>   DW_AT_decl_line   : 7	
-    <ad>   DW_AT_type        : <0x2b>	
-    <b1>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b4>: Abbrev Number: 8 (DW_TAG_member)
-    <b5>   DW_AT_name        : (indirect string, offset: 0x287): sys_func	
-    <b9>   DW_AT_decl_file   : 1	
-    <ba>   DW_AT_decl_line   : 8	
-    <bb>   DW_AT_type        : <0xdc>	
-    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c2>: Abbrev Number: 8 (DW_TAG_member)
-    <c3>   DW_AT_name        : (indirect string, offset: 0xc2): sys_name	
-    <c7>   DW_AT_decl_file   : 1	
-    <c8>   DW_AT_decl_line   : 9	
-    <c9>   DW_AT_type        : <0x73>	
-    <cd>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><d0>: Abbrev Number: 0
- <1><d1>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <d2>   DW_AT_type        : <0x2b>	
-    <d6>   DW_AT_sibling     : <0xdc>	
- <2><da>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><db>: Abbrev Number: 0
- <1><dc>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <dd>   DW_AT_byte_size   : 4	
-    <de>   DW_AT_type        : <0xd1>	
- <1><e2>: Abbrev Number: 12 (DW_TAG_typedef)
-    <e3>   DW_AT_name        : (indirect string, offset: 0x1b6): struct_sysent	
-    <e7>   DW_AT_decl_file   : 1	
-    <e8>   DW_AT_decl_line   : 10	
-    <e9>   DW_AT_type        : <0x7e>	
- <1><ed>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <ee>   DW_AT_byte_size   : 4	
-    <ef>   DW_AT_type        : <0xf3>	
- <1><f3>: Abbrev Number: 6 (DW_TAG_const_type)
-    <f4>   DW_AT_type        : <0xe2>	
- <1><f8>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f9>   DW_AT_byte_size   : 1	
-    <fa>   DW_AT_encoding    : 2	(boolean)
-    <fb>   DW_AT_name        : (indirect string, offset: 0xbc): _Bool	
- <1><ff>: Abbrev Number: 12 (DW_TAG_typedef)
-    <100>   DW_AT_name        : (indirect string, offset: 0x48): __u32	
-    <104>   DW_AT_decl_file   : 2	
-    <105>   DW_AT_decl_line   : 26	
-    <106>   DW_AT_type        : <0x47>	
- <1><10a>: Abbrev Number: 13 (DW_TAG_enumeration_type)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x18d): v4l2_preemphasis	
-    <10f>   DW_AT_byte_size   : 4	
-    <110>   DW_AT_decl_file   : 6	
-    <111>   DW_AT_decl_line   : 763	
-    <113>   DW_AT_sibling     : <0x12a>	
- <2><117>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <118>   DW_AT_name        : (indirect string, offset: 0x18): V4L2_PREEMPHASIS_DISABLED	
-    <11c>   DW_AT_const_value : 0	
- <2><11d>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <11e>   DW_AT_name        : (indirect string, offset: 0xcb): V4L2_PREEMPHASIS_50_uS	
-    <122>   DW_AT_const_value : 1	
- <2><123>: Abbrev Number: 14 (DW_TAG_enumerator)
-    <124>   DW_AT_name        : (indirect string, offset: 0x1c4): V4L2_PREEMPHASIS_75_uS	
-    <128>   DW_AT_const_value : 2	
- <2><129>: Abbrev Number: 0
- <1><12a>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x4e): v4l2_pix_format	
-    <12f>   DW_AT_byte_size   : 32	
-    <130>   DW_AT_decl_file   : 3	
-    <131>   DW_AT_decl_line   : 274	
-    <133>   DW_AT_sibling     : <0x1b0>	
- <2><137>: Abbrev Number: 16 (DW_TAG_member)
-    <138>   DW_AT_name        : (indirect string, offset: 0x25c): width	
-    <13c>   DW_AT_decl_file   : 3	
-    <13d>   DW_AT_decl_line   : 275	
-    <13f>   DW_AT_type        : <0xff>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><146>: Abbrev Number: 16 (DW_TAG_member)
-    <147>   DW_AT_name        : (indirect string, offset: 0x145): height	
-    <14b>   DW_AT_decl_file   : 3	
-    <14c>   DW_AT_decl_line   : 276	
-    <14e>   DW_AT_type        : <0xff>	
-    <152>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><155>: Abbrev Number: 16 (DW_TAG_member)
-    <156>   DW_AT_name        : (indirect string, offset: 0x15d): pixelformat	
-    <15a>   DW_AT_decl_file   : 3	
-    <15b>   DW_AT_decl_line   : 277	
-    <15d>   DW_AT_type        : <0xff>	
-    <161>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><164>: Abbrev Number: 16 (DW_TAG_member)
-    <165>   DW_AT_name        : (indirect string, offset: 0x26c): field	
-    <169>   DW_AT_decl_file   : 3	
-    <16a>   DW_AT_decl_line   : 278	
-    <16c>   DW_AT_type        : <0xff>	
-    <170>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><173>: Abbrev Number: 16 (DW_TAG_member)
-    <174>   DW_AT_name        : (indirect string, offset: 0x169): bytesperline	
-    <178>   DW_AT_decl_file   : 3	
-    <179>   DW_AT_decl_line   : 279	
-    <17b>   DW_AT_type        : <0xff>	
-    <17f>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><182>: Abbrev Number: 16 (DW_TAG_member)
-    <183>   DW_AT_name        : (indirect string, offset: 0x226): sizeimage	
-    <187>   DW_AT_decl_file   : 3	
-    <188>   DW_AT_decl_line   : 280	
-    <18a>   DW_AT_type        : <0xff>	
-    <18e>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
- <2><191>: Abbrev Number: 16 (DW_TAG_member)
-    <192>   DW_AT_name        : (indirect string, offset: 0x1e0): colorspace	
-    <196>   DW_AT_decl_file   : 3	
-    <197>   DW_AT_decl_line   : 281	
-    <199>   DW_AT_type        : <0xff>	
-    <19d>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><1a0>: Abbrev Number: 16 (DW_TAG_member)
-    <1a1>   DW_AT_name        : (indirect string, offset: 0x43): priv	
-    <1a5>   DW_AT_decl_file   : 3	
-    <1a6>   DW_AT_decl_line   : 282	
-    <1a8>   DW_AT_type        : <0xff>	
-    <1ac>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
- <2><1af>: Abbrev Number: 0
- <1><1b0>: Abbrev Number: 15 (DW_TAG_structure_type)
-    <1b1>   DW_AT_name        : (indirect string, offset: 0x32): v4l2_framebuffer	
-    <1b5>   DW_AT_byte_size   : 44	
-    <1b6>   DW_AT_decl_file   : 3	
-    <1b7>   DW_AT_decl_line   : 719	
-    <1b9>   DW_AT_sibling     : <0x1fa>	
- <2><1bd>: Abbrev Number: 16 (DW_TAG_member)
-    <1be>   DW_AT_name        : (indirect string, offset: 0x251): capability	
-    <1c2>   DW_AT_decl_file   : 3	
-    <1c3>   DW_AT_decl_line   : 720	
-    <1c5>   DW_AT_type        : <0xff>	
-    <1c9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><1cc>: Abbrev Number: 16 (DW_TAG_member)
-    <1cd>   DW_AT_name        : (indirect string, offset: 0x1b0): flags	
-    <1d1>   DW_AT_decl_file   : 3	
-    <1d2>   DW_AT_decl_line   : 721	
-    <1d4>   DW_AT_type        : <0xff>	
-    <1d8>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><1db>: Abbrev Number: 16 (DW_TAG_member)
-    <1dc>   DW_AT_name        : (indirect string, offset: 0x19e): base	
-    <1e0>   DW_AT_decl_file   : 3	
-    <1e1>   DW_AT_decl_line   : 724	
-    <1e3>   DW_AT_type        : <0x6a>	
-    <1e7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ea>: Abbrev Number: 17 (DW_TAG_member)
-    <1eb>   DW_AT_name        : fmt	
-    <1ef>   DW_AT_decl_file   : 3	
-    <1f0>   DW_AT_decl_line   : 725	
-    <1f2>   DW_AT_type        : <0x12a>	
-    <1f6>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><1f9>: Abbrev Number: 0
- <1><1fa>: Abbrev Number: 12 (DW_TAG_typedef)
-    <1fb>   DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_framebuffer	
-    <1ff>   DW_AT_decl_file   : 4	
-    <200>   DW_AT_decl_line   : 43	
-    <201>   DW_AT_type        : <0x1b0>	
- <1><205>: Abbrev Number: 18 (DW_TAG_variable)
-    <206>   DW_AT_name        : (indirect string, offset: 0x14c): current_wordsize	
-    <20a>   DW_AT_decl_file   : 5	
-    <20b>   DW_AT_decl_line   : 757	
-    <20d>   DW_AT_type        : <0x47>	
-    <211>   DW_AT_external    : 1	
-    <212>   DW_AT_declaration : 1	
- <1><213>: Abbrev Number: 18 (DW_TAG_variable)
-    <214>   DW_AT_name        : (indirect string, offset: 0x13e): sysent	
-    <218>   DW_AT_decl_file   : 5	
-    <219>   DW_AT_decl_line   : 892	
-    <21b>   DW_AT_type        : <0xed>	
-    <21f>   DW_AT_external    : 1	
-    <220>   DW_AT_declaration : 1	
- <1><221>: Abbrev Number: 18 (DW_TAG_variable)
-    <222>   DW_AT_name        : (indirect string, offset: 0x21c): nsyscalls	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 903	
-    <229>   DW_AT_type        : <0x47>	
-    <22d>   DW_AT_external    : 1	
-    <22e>   DW_AT_declaration : 1	
- <1><22f>: Abbrev Number: 19 (DW_TAG_variable)
-    <230>   DW_AT_name        : (indirect string, offset: 0x17c): mpers_target_var	
-    <234>   DW_AT_decl_file   : 4	
-    <235>   DW_AT_decl_line   : 47	
-    <236>   DW_AT_type        : <0x1fa>	
-    <23a>   DW_AT_external    : 1	
-    <23b>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><241>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_framebuffer.d2 b/mpers-mx32/struct_v4l2_framebuffer.d2
deleted file mode 100644
index 814702c..0000000
--- a/mpers-mx32/struct_v4l2_framebuffer.d2
+++ /dev/null
@@ -1,301 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x27b): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x262): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x243): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xf9): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xa9): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1a3): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe2): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x272): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x12c): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x23a): sizetype
-<1><6a>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-<1><6c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1db): char
-<1><73>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x79>
-<1><79>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x6c>
-<1><7e>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x13e): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xd1>
-<2><8a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x176): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><98>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x230): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a6>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x287): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xdc>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c2>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xc2): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x73>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><d1>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xdc>
-<2><da>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><dc>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xd1>
-<1><e2>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b6): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7e>
-<1><ed>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf3>
-<1><f3>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xe2>
-<1><f8>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xbc): _Bool
-<1><ff>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x48): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><10a>
-Abbrev Number: 13 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x18d): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x12a>
-<2><117>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x18): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><11d>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xcb): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><123>
-Abbrev Number: 14 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x1c4): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><12a>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x4e): v4l2_pix_format
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 274
-DW_AT_sibling     : <0x1b0>
-<2><137>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25c): width
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 275
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><146>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x145): height
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 276
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><155>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15d): pixelformat
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 277
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><164>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x26c): field
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 278
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><173>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x169): bytesperline
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 279
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><182>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x226): sizeimage
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 280
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
-<2><191>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e0): colorspace
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 281
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<2><1a0>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x43): priv
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 282
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
-<1><1b0>
-Abbrev Number: 15 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x32): v4l2_framebuffer
-DW_AT_byte_size   : 44
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 719
-DW_AT_sibling     : <0x1fa>
-<2><1bd>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x251): capability
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 720
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><1cc>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b0): flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 721
-DW_AT_type        : <0xff>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><1db>
-Abbrev Number: 16 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x19e): base
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 724
-DW_AT_type        : <0x6a>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ea>
-Abbrev Number: 17 (DW_TAG_member)
-DW_AT_name        : fmt
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 725
-DW_AT_type        : <0x12a>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<1><1fa>
-Abbrev Number: 12 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_framebuffer
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 43
-DW_AT_type        : <0x1b0>
-<1><205>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x14c): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><213>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x13e): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xed>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><221>
-Abbrev Number: 18 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x21c): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><22f>
-Abbrev Number: 19 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17c): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1fa>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_v4l2_input.c b/mpers-mx32/struct_v4l2_input.c
index fe0ffcd..850ef00 100644
--- a/mpers-mx32/struct_v4l2_input.c
+++ b/mpers-mx32/struct_v4l2_input.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_input.d1 b/mpers-mx32/struct_v4l2_input.d1
deleted file mode 100644
index b71f209..0000000
--- a/mpers-mx32/struct_v4l2_input.d1
+++ /dev/null
@@ -1,271 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x243 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x41): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x207): mpers-mx32/struct_v4l2_input.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x190): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x247): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1fd): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1da): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd6): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x8c): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x159): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x23e): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xe4): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1d1): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x18b): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xf6): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x131): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xb5): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x253): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0xa6): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x17d): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x2c): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x1e8): __u8	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 20	
-    <104>   DW_AT_type        : <0x39>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x32): __u32	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 26	
-    <10f>   DW_AT_type        : <0x47>	
- <1><113>: Abbrev Number: 11 (DW_TAG_typedef)
-    <114>   DW_AT_name        : (indirect string, offset: 0x1cb): __u64	
-    <118>   DW_AT_decl_file   : 2	
-    <119>   DW_AT_decl_line   : 30	
-    <11a>   DW_AT_type        : <0x4e>	
- <1><11e>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x148): v4l2_preemphasis	
-    <123>   DW_AT_byte_size   : 4	
-    <124>   DW_AT_decl_file   : 6	
-    <125>   DW_AT_decl_line   : 763	
-    <127>   DW_AT_sibling     : <0x13e>	
- <2><12b>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <12c>   DW_AT_name        : (indirect string, offset: 0x12): V4L2_PREEMPHASIS_DISABLED	
-    <130>   DW_AT_const_value : 0	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x166): V4L2_PREEMPHASIS_50_uS	
-    <136>   DW_AT_const_value : 1	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0x10e): V4L2_PREEMPHASIS_75_uS	
-    <13c>   DW_AT_const_value : 2	
- <2><13d>: Abbrev Number: 0
- <1><13e>: Abbrev Number: 14 (DW_TAG_array_type)
-    <13f>   DW_AT_type        : <0xfd>	
-    <143>   DW_AT_sibling     : <0x14e>	
- <2><147>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <148>   DW_AT_type        : <0x63>	
-    <14c>   DW_AT_upper_bound : 31	
- <2><14d>: Abbrev Number: 0
- <1><14e>: Abbrev Number: 14 (DW_TAG_array_type)
-    <14f>   DW_AT_type        : <0x108>	
-    <153>   DW_AT_sibling     : <0x15e>	
- <2><157>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <158>   DW_AT_type        : <0x63>	
-    <15c>   DW_AT_upper_bound : 2	
- <2><15d>: Abbrev Number: 0
- <1><15e>: Abbrev Number: 16 (DW_TAG_typedef)
-    <15f>   DW_AT_name        : (indirect string, offset: 0x125): v4l2_std_id	
-    <163>   DW_AT_decl_file   : 3	
-    <164>   DW_AT_decl_line   : 826	
-    <166>   DW_AT_type        : <0x113>	
- <1><16a>: Abbrev Number: 17 (DW_TAG_structure_type)
-    <16b>   DW_AT_name        : (indirect string, offset: 0x226): v4l2_input	
-    <16f>   DW_AT_byte_size   : 80	
-    <170>   DW_AT_decl_file   : 3	
-    <171>   DW_AT_decl_line   : 1145	
-    <173>   DW_AT_sibling     : <0x1ff>	
- <2><177>: Abbrev Number: 18 (DW_TAG_member)
-    <178>   DW_AT_name        : (indirect string, offset: 0x1f2): index	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 1146	
-    <17f>   DW_AT_type        : <0x108>	
-    <183>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><186>: Abbrev Number: 18 (DW_TAG_member)
-    <187>   DW_AT_name        : (indirect string, offset: 0x1ed): name	
-    <18b>   DW_AT_decl_file   : 3	
-    <18c>   DW_AT_decl_line   : 1147	
-    <18e>   DW_AT_type        : <0x13e>	
-    <192>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><195>: Abbrev Number: 18 (DW_TAG_member)
-    <196>   DW_AT_name        : (indirect string, offset: 0x1f8): type	
-    <19a>   DW_AT_decl_file   : 3	
-    <19b>   DW_AT_decl_line   : 1148	
-    <19d>   DW_AT_type        : <0x108>	
-    <1a1>   DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
- <2><1a4>: Abbrev Number: 18 (DW_TAG_member)
-    <1a5>   DW_AT_name        : (indirect string, offset: 0x25c): audioset	
-    <1a9>   DW_AT_decl_file   : 3	
-    <1aa>   DW_AT_decl_line   : 1149	
-    <1ac>   DW_AT_type        : <0x108>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1b3>: Abbrev Number: 18 (DW_TAG_member)
-    <1b4>   DW_AT_name        : (indirect string, offset: 0xaf): tuner	
-    <1b8>   DW_AT_decl_file   : 3	
-    <1b9>   DW_AT_decl_line   : 1150	
-    <1bb>   DW_AT_type        : <0x108>	
-    <1bf>   DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
- <2><1c2>: Abbrev Number: 19 (DW_TAG_member)
-    <1c3>   DW_AT_name        : std	
-    <1c7>   DW_AT_decl_file   : 3	
-    <1c8>   DW_AT_decl_line   : 1151	
-    <1ca>   DW_AT_type        : <0x15e>	
-    <1ce>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1d1>: Abbrev Number: 18 (DW_TAG_member)
-    <1d2>   DW_AT_name        : (indirect string, offset: 0x9f): status	
-    <1d6>   DW_AT_decl_file   : 3	
-    <1d7>   DW_AT_decl_line   : 1152	
-    <1d9>   DW_AT_type        : <0x108>	
-    <1dd>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><1e0>: Abbrev Number: 18 (DW_TAG_member)
-    <1e1>   DW_AT_name        : (indirect string, offset: 0x231): capabilities	
-    <1e5>   DW_AT_decl_file   : 3	
-    <1e6>   DW_AT_decl_line   : 1153	
-    <1e8>   DW_AT_type        : <0x108>	
-    <1ec>   DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
- <2><1ef>: Abbrev Number: 18 (DW_TAG_member)
-    <1f0>   DW_AT_name        : (indirect string, offset: 0x38): reserved	
-    <1f4>   DW_AT_decl_file   : 3	
-    <1f5>   DW_AT_decl_line   : 1154	
-    <1f7>   DW_AT_type        : <0x14e>	
-    <1fb>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><1fe>: Abbrev Number: 0
- <1><1ff>: Abbrev Number: 11 (DW_TAG_typedef)
-    <200>   DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_input	
-    <204>   DW_AT_decl_file   : 4	
-    <205>   DW_AT_decl_line   : 44	
-    <206>   DW_AT_type        : <0x16a>	
- <1><20a>: Abbrev Number: 20 (DW_TAG_variable)
-    <20b>   DW_AT_name        : (indirect string, offset: 0xfd): current_wordsize	
-    <20f>   DW_AT_decl_file   : 5	
-    <210>   DW_AT_decl_line   : 757	
-    <212>   DW_AT_type        : <0x47>	
-    <216>   DW_AT_external    : 1	
-    <217>   DW_AT_declaration : 1	
- <1><218>: Abbrev Number: 20 (DW_TAG_variable)
-    <219>   DW_AT_name        : (indirect string, offset: 0xf6): sysent	
-    <21d>   DW_AT_decl_file   : 5	
-    <21e>   DW_AT_decl_line   : 892	
-    <220>   DW_AT_type        : <0xeb>	
-    <224>   DW_AT_external    : 1	
-    <225>   DW_AT_declaration : 1	
- <1><226>: Abbrev Number: 20 (DW_TAG_variable)
-    <227>   DW_AT_name        : (indirect string, offset: 0x1c1): nsyscalls	
-    <22b>   DW_AT_decl_file   : 5	
-    <22c>   DW_AT_decl_line   : 903	
-    <22e>   DW_AT_type        : <0x47>	
-    <232>   DW_AT_external    : 1	
-    <233>   DW_AT_declaration : 1	
- <1><234>: Abbrev Number: 21 (DW_TAG_variable)
-    <235>   DW_AT_name        : (indirect string, offset: 0x137): mpers_target_var	
-    <239>   DW_AT_decl_file   : 4	
-    <23a>   DW_AT_decl_line   : 47	
-    <23b>   DW_AT_type        : <0x1ff>	
-    <23f>   DW_AT_external    : 1	
-    <240>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><246>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_input.d2 b/mpers-mx32/struct_v4l2_input.d2
deleted file mode 100644
index 9d63729..0000000
--- a/mpers-mx32/struct_v4l2_input.d2
+++ /dev/null
@@ -1,304 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x247): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1fd): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1da): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd6): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8c): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x159): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbf): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x23e): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe4): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1d1): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x18b): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf6): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x131): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb5): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x253): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa6): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17d): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x2c): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1e8): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x32): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><113>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1cb): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><11e>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x148): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x13e>
-<2><12b>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x12): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x166): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x10e): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><13e>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0xfd>
-DW_AT_sibling     : <0x14e>
-<2><147>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 31
-<1><14e>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x15e>
-<2><157>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 2
-<1><15e>
-Abbrev Number: 16 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x125): v4l2_std_id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 826
-DW_AT_type        : <0x113>
-<1><16a>
-Abbrev Number: 17 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x226): v4l2_input
-DW_AT_byte_size   : 80
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1145
-DW_AT_sibling     : <0x1ff>
-<2><177>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f2): index
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1146
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><186>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ed): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1147
-DW_AT_type        : <0x13e>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><195>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1f8): type
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1148
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 24 	(DW_OP_plus_uconst: 36)
-<2><1a4>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25c): audioset
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1149
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1b3>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xaf): tuner
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1150
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 2c 	(DW_OP_plus_uconst: 44)
-<2><1c2>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : std
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1151
-DW_AT_type        : <0x15e>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1d1>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9f): status
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1152
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><1e0>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x231): capabilities
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1153
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 3c 	(DW_OP_plus_uconst: 60)
-<2><1ef>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x38): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 1154
-DW_AT_type        : <0x14e>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<1><1ff>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): struct_v4l2_input
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 44
-DW_AT_type        : <0x16a>
-<1><20a>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xfd): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><218>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf6): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><226>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1c1): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><234>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x137): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1ff>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/struct_v4l2_standard.c b/mpers-mx32/struct_v4l2_standard.c
index 3e4dbc4..49d08d6 100644
--- a/mpers-mx32/struct_v4l2_standard.c
+++ b/mpers-mx32/struct_v4l2_standard.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +37,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
diff --git a/mpers-mx32/struct_v4l2_standard.d1 b/mpers-mx32/struct_v4l2_standard.d1
deleted file mode 100644
index c76c464..0000000
--- a/mpers-mx32/struct_v4l2_standard.d1
+++ /dev/null
@@ -1,272 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x23e (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x1f3): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x3d): mpers-mx32/struct_v4l2_standard.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x180): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x251): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x12e): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x1d5): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xcd): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5f): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x149): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xb6): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x248): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xdb): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x1cc): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x17b): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <7d>   DW_AT_name        : (indirect string, offset: 0xed): sysent	
-    <81>   DW_AT_byte_size   : 20	
-    <82>   DW_AT_decl_file   : 1	
-    <83>   DW_AT_decl_line   : 4	
-    <84>   DW_AT_sibling     : <0xcf>	
- <2><88>: Abbrev Number: 7 (DW_TAG_member)
-    <89>   DW_AT_name        : (indirect string, offset: 0x128): nargs	
-    <8d>   DW_AT_decl_file   : 1	
-    <8e>   DW_AT_decl_line   : 5	
-    <8f>   DW_AT_type        : <0x47>	
-    <93>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><96>: Abbrev Number: 7 (DW_TAG_member)
-    <97>   DW_AT_name        : (indirect string, offset: 0xac): sys_flags	
-    <9b>   DW_AT_decl_file   : 1	
-    <9c>   DW_AT_decl_line   : 6	
-    <9d>   DW_AT_type        : <0x2b>	
-    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><a4>: Abbrev Number: 8 (DW_TAG_member)
-    <a5>   DW_AT_name        : sen	
-    <a9>   DW_AT_decl_file   : 1	
-    <aa>   DW_AT_decl_line   : 7	
-    <ab>   DW_AT_type        : <0x2b>	
-    <af>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><b2>: Abbrev Number: 7 (DW_TAG_member)
-    <b3>   DW_AT_name        : (indirect string, offset: 0x269): sys_func	
-    <b7>   DW_AT_decl_file   : 1	
-    <b8>   DW_AT_decl_line   : 8	
-    <b9>   DW_AT_type        : <0xda>	
-    <bd>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><c0>: Abbrev Number: 7 (DW_TAG_member)
-    <c1>   DW_AT_name        : (indirect string, offset: 0x87): sys_name	
-    <c5>   DW_AT_decl_file   : 1	
-    <c6>   DW_AT_decl_line   : 9	
-    <c7>   DW_AT_type        : <0x71>	
-    <cb>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ce>: Abbrev Number: 0
- <1><cf>: Abbrev Number: 9 (DW_TAG_subroutine_type)
-    <d0>   DW_AT_type        : <0x2b>	
-    <d4>   DW_AT_sibling     : <0xda>	
- <2><d8>: Abbrev Number: 10 (DW_TAG_unspecified_parameters)
- <2><d9>: Abbrev Number: 0
- <1><da>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <db>   DW_AT_byte_size   : 4	
-    <dc>   DW_AT_type        : <0xcf>	
- <1><e0>: Abbrev Number: 11 (DW_TAG_typedef)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x16d): struct_sysent	
-    <e5>   DW_AT_decl_file   : 1	
-    <e6>   DW_AT_decl_line   : 10	
-    <e7>   DW_AT_type        : <0x7c>	
- <1><eb>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <ec>   DW_AT_byte_size   : 4	
-    <ed>   DW_AT_type        : <0xf1>	
- <1><f1>: Abbrev Number: 5 (DW_TAG_const_type)
-    <f2>   DW_AT_type        : <0xe0>	
- <1><f6>: Abbrev Number: 2 (DW_TAG_base_type)
-    <f7>   DW_AT_byte_size   : 1	
-    <f8>   DW_AT_encoding    : 2	(boolean)
-    <f9>   DW_AT_name        : (indirect string, offset: 0x28): _Bool	
- <1><fd>: Abbrev Number: 11 (DW_TAG_typedef)
-    <fe>   DW_AT_name        : (indirect string, offset: 0x1e3): __u8	
-    <102>   DW_AT_decl_file   : 2	
-    <103>   DW_AT_decl_line   : 20	
-    <104>   DW_AT_type        : <0x39>	
- <1><108>: Abbrev Number: 11 (DW_TAG_typedef)
-    <109>   DW_AT_name        : (indirect string, offset: 0x2e): __u32	
-    <10d>   DW_AT_decl_file   : 2	
-    <10e>   DW_AT_decl_line   : 26	
-    <10f>   DW_AT_type        : <0x47>	
- <1><113>: Abbrev Number: 11 (DW_TAG_typedef)
-    <114>   DW_AT_name        : (indirect string, offset: 0x1c6): __u64	
-    <118>   DW_AT_decl_file   : 2	
-    <119>   DW_AT_decl_line   : 30	
-    <11a>   DW_AT_type        : <0x4e>	
- <1><11e>: Abbrev Number: 12 (DW_TAG_enumeration_type)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x138): v4l2_preemphasis	
-    <123>   DW_AT_byte_size   : 4	
-    <124>   DW_AT_decl_file   : 6	
-    <125>   DW_AT_decl_line   : 763	
-    <127>   DW_AT_sibling     : <0x13e>	
- <2><12b>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <12c>   DW_AT_name        : (indirect string, offset: 0xe): V4L2_PREEMPHASIS_DISABLED	
-    <130>   DW_AT_const_value : 0	
- <2><131>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <132>   DW_AT_name        : (indirect string, offset: 0x156): V4L2_PREEMPHASIS_50_uS	
-    <136>   DW_AT_const_value : 1	
- <2><137>: Abbrev Number: 13 (DW_TAG_enumerator)
-    <138>   DW_AT_name        : (indirect string, offset: 0x105): V4L2_PREEMPHASIS_75_uS	
-    <13c>   DW_AT_const_value : 2	
- <2><13d>: Abbrev Number: 0
- <1><13e>: Abbrev Number: 6 (DW_TAG_structure_type)
-    <13f>   DW_AT_name        : (indirect string, offset: 0x90): v4l2_fract	
-    <143>   DW_AT_byte_size   : 8	
-    <144>   DW_AT_decl_file   : 3	
-    <145>   DW_AT_decl_line   : 212	
-    <146>   DW_AT_sibling     : <0x167>	
- <2><14a>: Abbrev Number: 7 (DW_TAG_member)
-    <14b>   DW_AT_name        : (indirect string, offset: 0x23e): numerator	
-    <14f>   DW_AT_decl_file   : 3	
-    <150>   DW_AT_decl_line   : 213	
-    <151>   DW_AT_type        : <0x108>	
-    <155>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><158>: Abbrev Number: 7 (DW_TAG_member)
-    <159>   DW_AT_name        : (indirect string, offset: 0x272): denominator	
-    <15d>   DW_AT_decl_file   : 3	
-    <15e>   DW_AT_decl_line   : 214	
-    <15f>   DW_AT_type        : <0x108>	
-    <163>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><166>: Abbrev Number: 0
- <1><167>: Abbrev Number: 14 (DW_TAG_array_type)
-    <168>   DW_AT_type        : <0x108>	
-    <16c>   DW_AT_sibling     : <0x177>	
- <2><170>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <171>   DW_AT_type        : <0x63>	
-    <175>   DW_AT_upper_bound : 3	
- <2><176>: Abbrev Number: 0
- <1><177>: Abbrev Number: 16 (DW_TAG_typedef)
-    <178>   DW_AT_name        : (indirect string, offset: 0x11c): v4l2_std_id	
-    <17c>   DW_AT_decl_file   : 3	
-    <17d>   DW_AT_decl_line   : 826	
-    <17f>   DW_AT_type        : <0x113>	
- <1><183>: Abbrev Number: 17 (DW_TAG_structure_type)
-    <184>   DW_AT_name        : (indirect string, offset: 0x0): v4l2_standard	
-    <188>   DW_AT_byte_size   : 72	
-    <189>   DW_AT_decl_file   : 3	
-    <18a>   DW_AT_decl_line   : 954	
-    <18c>   DW_AT_sibling     : <0x1ea>	
- <2><190>: Abbrev Number: 18 (DW_TAG_member)
-    <191>   DW_AT_name        : (indirect string, offset: 0x1ed): index	
-    <195>   DW_AT_decl_file   : 3	
-    <196>   DW_AT_decl_line   : 955	
-    <198>   DW_AT_type        : <0x108>	
-    <19c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><19f>: Abbrev Number: 19 (DW_TAG_member)
-    <1a0>   DW_AT_name        : id	
-    <1a3>   DW_AT_decl_file   : 3	
-    <1a4>   DW_AT_decl_line   : 956	
-    <1a6>   DW_AT_type        : <0x177>	
-    <1aa>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><1ad>: Abbrev Number: 18 (DW_TAG_member)
-    <1ae>   DW_AT_name        : (indirect string, offset: 0x1e8): name	
-    <1b2>   DW_AT_decl_file   : 3	
-    <1b3>   DW_AT_decl_line   : 957	
-    <1b5>   DW_AT_type        : <0x1ea>	
-    <1b9>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><1bc>: Abbrev Number: 18 (DW_TAG_member)
-    <1bd>   DW_AT_name        : (indirect string, offset: 0x25d): frameperiod	
-    <1c1>   DW_AT_decl_file   : 3	
-    <1c2>   DW_AT_decl_line   : 958	
-    <1c4>   DW_AT_type        : <0x13e>	
-    <1c8>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><1cb>: Abbrev Number: 18 (DW_TAG_member)
-    <1cc>   DW_AT_name        : (indirect string, offset: 0x1b1): framelines	
-    <1d0>   DW_AT_decl_file   : 3	
-    <1d1>   DW_AT_decl_line   : 959	
-    <1d3>   DW_AT_type        : <0x108>	
-    <1d7>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><1da>: Abbrev Number: 18 (DW_TAG_member)
-    <1db>   DW_AT_name        : (indirect string, offset: 0x34): reserved	
-    <1df>   DW_AT_decl_file   : 3	
-    <1e0>   DW_AT_decl_line   : 960	
-    <1e2>   DW_AT_type        : <0x167>	
-    <1e6>   DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
- <2><1e9>: Abbrev Number: 0
- <1><1ea>: Abbrev Number: 14 (DW_TAG_array_type)
-    <1eb>   DW_AT_type        : <0xfd>	
-    <1ef>   DW_AT_sibling     : <0x1fa>	
- <2><1f3>: Abbrev Number: 15 (DW_TAG_subrange_type)
-    <1f4>   DW_AT_type        : <0x63>	
-    <1f8>   DW_AT_upper_bound : 23	
- <2><1f9>: Abbrev Number: 0
- <1><1fa>: Abbrev Number: 11 (DW_TAG_typedef)
-    <1fb>   DW_AT_name        : (indirect string, offset: 0x72): struct_v4l2_standard	
-    <1ff>   DW_AT_decl_file   : 4	
-    <200>   DW_AT_decl_line   : 45	
-    <201>   DW_AT_type        : <0x183>	
- <1><205>: Abbrev Number: 20 (DW_TAG_variable)
-    <206>   DW_AT_name        : (indirect string, offset: 0xf4): current_wordsize	
-    <20a>   DW_AT_decl_file   : 5	
-    <20b>   DW_AT_decl_line   : 757	
-    <20d>   DW_AT_type        : <0x47>	
-    <211>   DW_AT_external    : 1	
-    <212>   DW_AT_declaration : 1	
- <1><213>: Abbrev Number: 20 (DW_TAG_variable)
-    <214>   DW_AT_name        : (indirect string, offset: 0xed): sysent	
-    <218>   DW_AT_decl_file   : 5	
-    <219>   DW_AT_decl_line   : 892	
-    <21b>   DW_AT_type        : <0xeb>	
-    <21f>   DW_AT_external    : 1	
-    <220>   DW_AT_declaration : 1	
- <1><221>: Abbrev Number: 20 (DW_TAG_variable)
-    <222>   DW_AT_name        : (indirect string, offset: 0x1bc): nsyscalls	
-    <226>   DW_AT_decl_file   : 5	
-    <227>   DW_AT_decl_line   : 903	
-    <229>   DW_AT_type        : <0x47>	
-    <22d>   DW_AT_external    : 1	
-    <22e>   DW_AT_declaration : 1	
- <1><22f>: Abbrev Number: 21 (DW_TAG_variable)
-    <230>   DW_AT_name        : (indirect string, offset: 0x9b): mpers_target_var	
-    <234>   DW_AT_decl_file   : 4	
-    <235>   DW_AT_decl_line   : 47	
-    <236>   DW_AT_type        : <0x1fa>	
-    <23a>   DW_AT_external    : 1	
-    <23b>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><241>: Abbrev Number: 0
-
diff --git a/mpers-mx32/struct_v4l2_standard.d2 b/mpers-mx32/struct_v4l2_standard.d2
deleted file mode 100644
index 0e0b13b..0000000
--- a/mpers-mx32/struct_v4l2_standard.d2
+++ /dev/null
@@ -1,304 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x251): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x12e): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1d5): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xcd): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5f): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x149): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb6): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x248): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xdb): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1cc): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x17b): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xed): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xcf>
-<2><88>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x128): nargs
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><96>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xac): sys_flags
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><a4>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><b2>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x269): sys_func
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xda>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><c0>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x87): sys_name
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><cf>
-Abbrev Number: 9 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xda>
-<2><d8>
-Abbrev Number: 10 (DW_TAG_unspecified_parameters)
-<1><da>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xcf>
-<1><e0>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x16d): struct_sysent
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x7c>
-<1><eb>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf1>
-<1><f1>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xe0>
-<1><f6>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x28): _Bool
-<1><fd>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1e3): __u8
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x39>
-<1><108>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x2e): __u32
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><113>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c6): __u64
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_type        : <0x4e>
-<1><11e>
-Abbrev Number: 12 (DW_TAG_enumeration_type)
-DW_AT_name        : (indirect string, offset: 0x138): v4l2_preemphasis
-DW_AT_byte_size   : 4
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 763
-DW_AT_sibling     : <0x13e>
-<2><12b>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0xe): V4L2_PREEMPHASIS_DISABLED
-DW_AT_const_value : 0
-<2><131>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x156): V4L2_PREEMPHASIS_50_uS
-DW_AT_const_value : 1
-<2><137>
-Abbrev Number: 13 (DW_TAG_enumerator)
-DW_AT_name        : (indirect string, offset: 0x105): V4L2_PREEMPHASIS_75_uS
-DW_AT_const_value : 2
-<1><13e>
-Abbrev Number: 6 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x90): v4l2_fract
-DW_AT_byte_size   : 8
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 212
-DW_AT_sibling     : <0x167>
-<2><14a>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x23e): numerator
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 213
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><158>
-Abbrev Number: 7 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x272): denominator
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 214
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<1><167>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0x108>
-DW_AT_sibling     : <0x177>
-<2><170>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 3
-<1><177>
-Abbrev Number: 16 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11c): v4l2_std_id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 826
-DW_AT_type        : <0x113>
-<1><183>
-Abbrev Number: 17 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x0): v4l2_standard
-DW_AT_byte_size   : 72
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 954
-DW_AT_sibling     : <0x1ea>
-<2><190>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1ed): index
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 955
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><19f>
-Abbrev Number: 19 (DW_TAG_member)
-DW_AT_name        : id
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 956
-DW_AT_type        : <0x177>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><1ad>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e8): name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 957
-DW_AT_type        : <0x1ea>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><1bc>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x25d): frameperiod
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 958
-DW_AT_type        : <0x13e>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><1cb>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b1): framelines
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 959
-DW_AT_type        : <0x108>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><1da>
-Abbrev Number: 18 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x34): reserved
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 960
-DW_AT_type        : <0x167>
-DW_AT_data_member_location: 2 byte block: 23 34 	(DW_OP_plus_uconst: 52)
-<1><1ea>
-Abbrev Number: 14 (DW_TAG_array_type)
-DW_AT_type        : <0xfd>
-DW_AT_sibling     : <0x1fa>
-<2><1f3>
-Abbrev Number: 15 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 23
-<1><1fa>
-Abbrev Number: 11 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x72): struct_v4l2_standard
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 45
-DW_AT_type        : <0x183>
-<1><205>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf4): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><213>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xed): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0xeb>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><221>
-Abbrev Number: 20 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x1bc): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><22f>
-Abbrev Number: 21 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x9b): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 47
-DW_AT_type        : <0x1fa>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/sysinfo_t.c b/mpers-mx32/sysinfo_t.c
index 6e656cf..c34a80f 100644
--- a/mpers-mx32/sysinfo_t.c
+++ b/mpers-mx32/sysinfo_t.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2012 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/sysinfo_t.d1 b/mpers-mx32/sysinfo_t.d1
deleted file mode 100644
index e7aeef6..0000000
--- a/mpers-mx32/sysinfo_t.d1
+++ /dev/null
@@ -1,284 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x25c (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x30): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x1c6): mpers-mx32/sysinfo_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x1fa): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ee): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1bc): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x19b): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xd2): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x7b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x128): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xbb): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1e5): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xe0): long unsigned int	
- <1><63>: Abbrev Number: 2 (DW_TAG_base_type)
-    <64>   DW_AT_byte_size   : 4	
-    <65>   DW_AT_encoding    : 7	(unsigned)
-    <66>   DW_AT_name        : (indirect string, offset: 0x180): sizetype	
- <1><6a>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6b>   DW_AT_byte_size   : 1	
-    <6c>   DW_AT_encoding    : 6	(signed char)
-    <6d>   DW_AT_name        : (indirect string, offset: 0x143): char	
- <1><71>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <72>   DW_AT_byte_size   : 4	
-    <73>   DW_AT_type        : <0x77>	
- <1><77>: Abbrev Number: 5 (DW_TAG_const_type)
-    <78>   DW_AT_type        : <0x6a>	
- <1><7c>: Abbrev Number: 6 (DW_TAG_typedef)
-    <7d>   DW_AT_name        : (indirect string, offset: 0x8e): __kernel_long_t	
-    <81>   DW_AT_decl_file   : 1	
-    <82>   DW_AT_decl_line   : 13	
-    <83>   DW_AT_type        : <0x32>	
- <1><87>: Abbrev Number: 6 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x165): __kernel_ulong_t	
-    <8c>   DW_AT_decl_file   : 1	
-    <8d>   DW_AT_decl_line   : 14	
-    <8e>   DW_AT_type        : <0x4e>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0xf2): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x111): nargs	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0xb1): sys_flags	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 2	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x22b): sys_func	
-    <cd>   DW_AT_decl_file   : 2	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x9e): sys_name	
-    <db>   DW_AT_decl_file   : 2	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x71>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 6 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0x135): struct_sysent	
-    <fb>   DW_AT_decl_file   : 2	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 4 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 5 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0xc): _Bool	
- <1><113>: Abbrev Number: 6 (DW_TAG_typedef)
-    <114>   DW_AT_name        : (indirect string, offset: 0x6): __u16	
-    <118>   DW_AT_decl_file   : 3	
-    <119>   DW_AT_decl_line   : 23	
-    <11a>   DW_AT_type        : <0x40>	
- <1><11e>: Abbrev Number: 6 (DW_TAG_typedef)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x12): __u32	
-    <123>   DW_AT_decl_file   : 3	
-    <124>   DW_AT_decl_line   : 26	
-    <125>   DW_AT_type        : <0x47>	
- <1><129>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <12a>   DW_AT_name        : (indirect string, offset: 0x189): sysinfo	
-    <12e>   DW_AT_byte_size   : 112	
-    <12f>   DW_AT_decl_file   : 4	
-    <130>   DW_AT_decl_line   : 7	
-    <131>   DW_AT_sibling     : <0x1f9>	
- <2><135>: Abbrev Number: 8 (DW_TAG_member)
-    <136>   DW_AT_name        : (indirect string, offset: 0x10a): uptime	
-    <13a>   DW_AT_decl_file   : 4	
-    <13b>   DW_AT_decl_line   : 8	
-    <13c>   DW_AT_type        : <0x7c>	
-    <140>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><143>: Abbrev Number: 8 (DW_TAG_member)
-    <144>   DW_AT_name        : (indirect string, offset: 0x18): loads	
-    <148>   DW_AT_decl_file   : 4	
-    <149>   DW_AT_decl_line   : 9	
-    <14a>   DW_AT_type        : <0x1f9>	
-    <14e>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><151>: Abbrev Number: 8 (DW_TAG_member)
-    <152>   DW_AT_name        : (indirect string, offset: 0x27): totalram	
-    <156>   DW_AT_decl_file   : 4	
-    <157>   DW_AT_decl_line   : 10	
-    <158>   DW_AT_type        : <0x87>	
-    <15c>   DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
- <2><15f>: Abbrev Number: 8 (DW_TAG_member)
-    <160>   DW_AT_name        : (indirect string, offset: 0x1dd): freeram	
-    <164>   DW_AT_decl_file   : 4	
-    <165>   DW_AT_decl_line   : 11	
-    <166>   DW_AT_type        : <0x87>	
-    <16a>   DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
- <2><16d>: Abbrev Number: 8 (DW_TAG_member)
-    <16e>   DW_AT_name        : (indirect string, offset: 0x148): sharedram	
-    <172>   DW_AT_decl_file   : 4	
-    <173>   DW_AT_decl_line   : 12	
-    <174>   DW_AT_type        : <0x87>	
-    <178>   DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
- <2><17b>: Abbrev Number: 8 (DW_TAG_member)
-    <17c>   DW_AT_name        : (indirect string, offset: 0xa7): bufferram	
-    <180>   DW_AT_decl_file   : 4	
-    <181>   DW_AT_decl_line   : 13	
-    <182>   DW_AT_type        : <0x87>	
-    <186>   DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
- <2><189>: Abbrev Number: 8 (DW_TAG_member)
-    <18a>   DW_AT_name        : (indirect string, offset: 0x191): totalswap	
-    <18e>   DW_AT_decl_file   : 4	
-    <18f>   DW_AT_decl_line   : 14	
-    <190>   DW_AT_type        : <0x87>	
-    <194>   DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
- <2><197>: Abbrev Number: 8 (DW_TAG_member)
-    <198>   DW_AT_name        : (indirect string, offset: 0x15c): freeswap	
-    <19c>   DW_AT_decl_file   : 4	
-    <19d>   DW_AT_decl_line   : 15	
-    <19e>   DW_AT_type        : <0x87>	
-    <1a2>   DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
- <2><1a5>: Abbrev Number: 8 (DW_TAG_member)
-    <1a6>   DW_AT_name        : (indirect string, offset: 0x0): procs	
-    <1aa>   DW_AT_decl_file   : 4	
-    <1ab>   DW_AT_decl_line   : 16	
-    <1ac>   DW_AT_type        : <0x113>	
-    <1b0>   DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
- <2><1b3>: Abbrev Number: 9 (DW_TAG_member)
-    <1b4>   DW_AT_name        : pad	
-    <1b8>   DW_AT_decl_file   : 4	
-    <1b9>   DW_AT_decl_line   : 17	
-    <1ba>   DW_AT_type        : <0x113>	
-    <1be>   DW_AT_data_member_location: 2 byte block: 23 52 	(DW_OP_plus_uconst: 82)
- <2><1c1>: Abbrev Number: 8 (DW_TAG_member)
-    <1c2>   DW_AT_name        : (indirect string, offset: 0x152): totalhigh	
-    <1c6>   DW_AT_decl_file   : 4	
-    <1c7>   DW_AT_decl_line   : 18	
-    <1c8>   DW_AT_type        : <0x87>	
-    <1cc>   DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
- <2><1cf>: Abbrev Number: 8 (DW_TAG_member)
-    <1d0>   DW_AT_name        : (indirect string, offset: 0x1e): freehigh	
-    <1d4>   DW_AT_decl_file   : 4	
-    <1d5>   DW_AT_decl_line   : 19	
-    <1d6>   DW_AT_type        : <0x87>	
-    <1da>   DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
- <2><1dd>: Abbrev Number: 8 (DW_TAG_member)
-    <1de>   DW_AT_name        : (indirect string, offset: 0x1a9): mem_unit	
-    <1e2>   DW_AT_decl_file   : 4	
-    <1e3>   DW_AT_decl_line   : 20	
-    <1e4>   DW_AT_type        : <0x11e>	
-    <1e8>   DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
- <2><1eb>: Abbrev Number: 9 (DW_TAG_member)
-    <1ec>   DW_AT_name        : _f	
-    <1ef>   DW_AT_decl_file   : 4	
-    <1f0>   DW_AT_decl_line   : 21	
-    <1f1>   DW_AT_type        : <0x209>	
-    <1f5>   DW_AT_data_member_location: 2 byte block: 23 6c 	(DW_OP_plus_uconst: 108)
- <2><1f8>: Abbrev Number: 0
- <1><1f9>: Abbrev Number: 12 (DW_TAG_array_type)
-    <1fa>   DW_AT_type        : <0x87>	
-    <1fe>   DW_AT_sibling     : <0x209>	
- <2><202>: Abbrev Number: 13 (DW_TAG_subrange_type)
-    <203>   DW_AT_type        : <0x63>	
-    <207>   DW_AT_upper_bound : 2	
- <2><208>: Abbrev Number: 0
- <1><209>: Abbrev Number: 12 (DW_TAG_array_type)
-    <20a>   DW_AT_type        : <0x6a>	
-    <20e>   DW_AT_sibling     : <0x218>	
- <2><212>: Abbrev Number: 14 (DW_TAG_subrange_type)
-    <213>   DW_AT_type        : <0x63>	
- <2><217>: Abbrev Number: 0
- <1><218>: Abbrev Number: 6 (DW_TAG_typedef)
-    <219>   DW_AT_name        : (indirect string, offset: 0x1b2): sysinfo_t	
-    <21d>   DW_AT_decl_file   : 5	
-    <21e>   DW_AT_decl_line   : 37	
-    <21f>   DW_AT_type        : <0x129>	
- <1><223>: Abbrev Number: 15 (DW_TAG_variable)
-    <224>   DW_AT_name        : (indirect string, offset: 0xf9): current_wordsize	
-    <228>   DW_AT_decl_file   : 6	
-    <229>   DW_AT_decl_line   : 757	
-    <22b>   DW_AT_type        : <0x47>	
-    <22f>   DW_AT_external    : 1	
-    <230>   DW_AT_declaration : 1	
- <1><231>: Abbrev Number: 15 (DW_TAG_variable)
-    <232>   DW_AT_name        : (indirect string, offset: 0xf2): sysent	
-    <236>   DW_AT_decl_file   : 6	
-    <237>   DW_AT_decl_line   : 892	
-    <239>   DW_AT_type        : <0x101>	
-    <23d>   DW_AT_external    : 1	
-    <23e>   DW_AT_declaration : 1	
- <1><23f>: Abbrev Number: 15 (DW_TAG_variable)
-    <240>   DW_AT_name        : (indirect string, offset: 0x176): nsyscalls	
-    <244>   DW_AT_decl_file   : 6	
-    <245>   DW_AT_decl_line   : 903	
-    <247>   DW_AT_type        : <0x47>	
-    <24b>   DW_AT_external    : 1	
-    <24c>   DW_AT_declaration : 1	
- <1><24d>: Abbrev Number: 16 (DW_TAG_variable)
-    <24e>   DW_AT_name        : (indirect string, offset: 0x117): mpers_target_var	
-    <252>   DW_AT_decl_file   : 5	
-    <253>   DW_AT_decl_line   : 38	
-    <254>   DW_AT_type        : <0x218>	
-    <258>   DW_AT_external    : 1	
-    <259>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><25f>: Abbrev Number: 0
-
diff --git a/mpers-mx32/sysinfo_t.d2 b/mpers-mx32/sysinfo_t.d2
deleted file mode 100644
index e697961..0000000
--- a/mpers-mx32/sysinfo_t.d2
+++ /dev/null
@@ -1,319 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ee): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1bc): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x19b): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xd2): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x7b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x128): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xbb): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1e5): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xe0): long unsigned int
-<1><63>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x180): sizetype
-<1><6a>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x143): char
-<1><71>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x77>
-<1><77>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0x6a>
-<1><7c>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x8e): __kernel_long_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 13
-DW_AT_type        : <0x32>
-<1><87>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x165): __kernel_ulong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x4e>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xf2): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x111): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xb1): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x22b): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x9e): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x71>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x135): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 4 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 5 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xc): _Bool
-<1><113>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x6): __u16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 23
-DW_AT_type        : <0x40>
-<1><11e>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x12): __u32
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 26
-DW_AT_type        : <0x47>
-<1><129>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x189): sysinfo
-DW_AT_byte_size   : 112
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 7
-DW_AT_sibling     : <0x1f9>
-<2><135>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x10a): uptime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x7c>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><143>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x18): loads
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x1f9>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><151>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x27): totalram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 20 	(DW_OP_plus_uconst: 32)
-<2><15f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1dd): freeram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 11
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 28 	(DW_OP_plus_uconst: 40)
-<2><16d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x148): sharedram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 12
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 30 	(DW_OP_plus_uconst: 48)
-<2><17b>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa7): bufferram
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 13
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 38 	(DW_OP_plus_uconst: 56)
-<2><189>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x191): totalswap
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 14
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 40 	(DW_OP_plus_uconst: 64)
-<2><197>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x15c): freeswap
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 15
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 48 	(DW_OP_plus_uconst: 72)
-<2><1a5>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x0): procs
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 16
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 50 	(DW_OP_plus_uconst: 80)
-<2><1b3>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : pad
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 17
-DW_AT_type        : <0x113>
-DW_AT_data_member_location: 2 byte block: 23 52 	(DW_OP_plus_uconst: 82)
-<2><1c1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x152): totalhigh
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 18
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 58 	(DW_OP_plus_uconst: 88)
-<2><1cf>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1e): freehigh
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 19
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 60 	(DW_OP_plus_uconst: 96)
-<2><1dd>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a9): mem_unit
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 20
-DW_AT_type        : <0x11e>
-DW_AT_data_member_location: 2 byte block: 23 68 	(DW_OP_plus_uconst: 104)
-<2><1eb>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : _f
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 21
-DW_AT_type        : <0x209>
-DW_AT_data_member_location: 2 byte block: 23 6c 	(DW_OP_plus_uconst: 108)
-<1><1f9>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x87>
-DW_AT_sibling     : <0x209>
-<2><202>
-Abbrev Number: 13 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-DW_AT_upper_bound : 2
-<1><209>
-Abbrev Number: 12 (DW_TAG_array_type)
-DW_AT_type        : <0x6a>
-DW_AT_sibling     : <0x218>
-<2><212>
-Abbrev Number: 14 (DW_TAG_subrange_type)
-DW_AT_type        : <0x63>
-<1><218>
-Abbrev Number: 6 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1b2): sysinfo_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x129>
-<1><223>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf9): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><231>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf2): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><23f>
-Abbrev Number: 15 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x176): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><24d>
-Abbrev Number: 16 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x117): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 38
-DW_AT_type        : <0x218>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/time_t.c b/mpers-mx32/time_t.c
index f2a0e40..834d93d 100644
--- a/mpers-mx32/time_t.c
+++ b/mpers-mx32/time_t.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/time_t.d1 b/mpers-mx32/time_t.d1
deleted file mode 100644
index eaac3b1..0000000
--- a/mpers-mx32/time_t.d1
+++ /dev/null
@@ -1,170 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x157 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x3b): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x151): mpers-mx32/time_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0xc6): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x178): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x18d): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x133): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xfc): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x165): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x197): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xaf): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x111): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0x9d): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x11): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x184): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x141): __time_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 139	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0xf7): char	
- <1><87>: Abbrev Number: 4 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x10a): time_t	
-    <8c>   DW_AT_decl_file   : 2	
-    <8d>   DW_AT_decl_line   : 75	
-    <8e>   DW_AT_type        : <0x75>	
- <1><92>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <93>   DW_AT_byte_size   : 4	
-    <94>   DW_AT_type        : <0x98>	
- <1><98>: Abbrev Number: 6 (DW_TAG_const_type)
-    <99>   DW_AT_type        : <0x80>	
- <1><9d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <9e>   DW_AT_name        : (indirect string, offset: 0x14a): sysent	
-    <a2>   DW_AT_byte_size   : 20	
-    <a3>   DW_AT_decl_file   : 3	
-    <a4>   DW_AT_decl_line   : 4	
-    <a5>   DW_AT_sibling     : <0xf0>	
- <2><a9>: Abbrev Number: 8 (DW_TAG_member)
-    <aa>   DW_AT_name        : (indirect string, offset: 0x97): nargs	
-    <ae>   DW_AT_decl_file   : 3	
-    <af>   DW_AT_decl_line   : 5	
-    <b0>   DW_AT_type        : <0x47>	
-    <b4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b7>: Abbrev Number: 8 (DW_TAG_member)
-    <b8>   DW_AT_name        : (indirect string, offset: 0x123): sys_flags	
-    <bc>   DW_AT_decl_file   : 3	
-    <bd>   DW_AT_decl_line   : 6	
-    <be>   DW_AT_type        : <0x2b>	
-    <c2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c5>: Abbrev Number: 9 (DW_TAG_member)
-    <c6>   DW_AT_name        : sen	
-    <ca>   DW_AT_decl_file   : 3	
-    <cb>   DW_AT_decl_line   : 7	
-    <cc>   DW_AT_type        : <0x2b>	
-    <d0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d3>: Abbrev Number: 8 (DW_TAG_member)
-    <d4>   DW_AT_name        : (indirect string, offset: 0x11a): sys_func	
-    <d8>   DW_AT_decl_file   : 3	
-    <d9>   DW_AT_decl_line   : 8	
-    <da>   DW_AT_type        : <0xfb>	
-    <de>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e1>: Abbrev Number: 8 (DW_TAG_member)
-    <e2>   DW_AT_name        : (indirect string, offset: 0x1a): sys_name	
-    <e6>   DW_AT_decl_file   : 3	
-    <e7>   DW_AT_decl_line   : 9	
-    <e8>   DW_AT_type        : <0x92>	
-    <ec>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <f1>   DW_AT_type        : <0x2b>	
-    <f5>   DW_AT_sibling     : <0xfb>	
- <2><f9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><fa>: Abbrev Number: 0
- <1><fb>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <fc>   DW_AT_byte_size   : 4	
-    <fd>   DW_AT_type        : <0xf0>	
- <1><101>: Abbrev Number: 4 (DW_TAG_typedef)
-    <102>   DW_AT_name        : (indirect string, offset: 0x23): struct_sysent	
-    <106>   DW_AT_decl_file   : 3	
-    <107>   DW_AT_decl_line   : 10	
-    <108>   DW_AT_type        : <0x9d>	
- <1><10c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x112>	
- <1><112>: Abbrev Number: 6 (DW_TAG_const_type)
-    <113>   DW_AT_type        : <0x101>	
- <1><117>: Abbrev Number: 2 (DW_TAG_base_type)
-    <118>   DW_AT_byte_size   : 1	
-    <119>   DW_AT_encoding    : 2	(boolean)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x12d): _Bool	
- <1><11e>: Abbrev Number: 12 (DW_TAG_variable)
-    <11f>   DW_AT_name        : (indirect string, offset: 0x0): current_wordsize	
-    <123>   DW_AT_decl_file   : 4	
-    <124>   DW_AT_decl_line   : 757	
-    <126>   DW_AT_type        : <0x47>	
-    <12a>   DW_AT_external    : 1	
-    <12b>   DW_AT_declaration : 1	
- <1><12c>: Abbrev Number: 12 (DW_TAG_variable)
-    <12d>   DW_AT_name        : (indirect string, offset: 0x14a): sysent	
-    <131>   DW_AT_decl_file   : 4	
-    <132>   DW_AT_decl_line   : 892	
-    <134>   DW_AT_type        : <0x10c>	
-    <138>   DW_AT_external    : 1	
-    <139>   DW_AT_declaration : 1	
- <1><13a>: Abbrev Number: 12 (DW_TAG_variable)
-    <13b>   DW_AT_name        : (indirect string, offset: 0x31): nsyscalls	
-    <13f>   DW_AT_decl_file   : 4	
-    <140>   DW_AT_decl_line   : 903	
-    <142>   DW_AT_type        : <0x47>	
-    <146>   DW_AT_external    : 1	
-    <147>   DW_AT_declaration : 1	
- <1><148>: Abbrev Number: 13 (DW_TAG_variable)
-    <149>   DW_AT_name        : (indirect string, offset: 0x86): mpers_target_var	
-    <14d>   DW_AT_decl_file   : 5	
-    <14e>   DW_AT_decl_line   : 31	
-    <14f>   DW_AT_type        : <0x87>	
-    <153>   DW_AT_external    : 1	
-    <154>   DW_AT_location    : 5 byte block: 3 8 0 0 0 	(DW_OP_addr: 8)
- <1><15a>: Abbrev Number: 0
-
diff --git a/mpers-mx32/time_t.d2 b/mpers-mx32/time_t.d2
deleted file mode 100644
index 8651d26..0000000
--- a/mpers-mx32/time_t.d2
+++ /dev/null
@@ -1,187 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x178): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18d): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x133): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xfc): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x165): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x197): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xaf): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x111): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x9d): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x184): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x141): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0xf7): char
-<1><87>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x10a): time_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 75
-DW_AT_type        : <0x75>
-<1><92>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x98>
-<1><98>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><9d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x14a): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf0>
-<2><a9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x97): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x123): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x11a): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1a): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfb>
-<2><f9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><fb>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf0>
-<1><101>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x23): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x9d>
-<1><10c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x112>
-<1><112>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x101>
-<1><117>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x12d): _Bool
-<1><11e>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x0): current_wordsize
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><12c>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x14a): sysent
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10c>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><13a>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x31): nsyscalls
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><148>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x86): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x87>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 8 0 0 0 	(DW_OP_addr: 8)
diff --git a/mpers-mx32/timespec_t.c b/mpers-mx32/timespec_t.c
index c5171fd..ac6ccab 100644
--- a/mpers-mx32/timespec_t.c
+++ b/mpers-mx32/timespec_t.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/timespec_t.d1 b/mpers-mx32/timespec_t.d1
deleted file mode 100644
index 70bdb1a..0000000
--- a/mpers-mx32/timespec_t.d1
+++ /dev/null
@@ -1,194 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x18b (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x1e): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x0): mpers-mx32/timespec_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x125): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x19c): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x189): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x170): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa4): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x1a8): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x105): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x8d): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x193): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb2): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0xfc): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x160): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0xdc): __time_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 139	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0x1c4): __syscall_slong_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 175	
-    <87>   DW_AT_type        : <0x63>	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x120): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0x7a): timespec	
-    <97>   DW_AT_byte_size   : 16	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 120	
-    <9a>   DW_AT_sibling     : <0xbb>	
- <2><9e>: Abbrev Number: 6 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x169): tv_sec	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 122	
-    <a5>   DW_AT_type        : <0x75>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 6 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x69): tv_nsec	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 123	
-    <b3>   DW_AT_type        : <0x80>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><ba>: Abbrev Number: 0
- <1><bb>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <bc>   DW_AT_byte_size   : 4	
-    <bd>   DW_AT_type        : <0xc1>	
- <1><c1>: Abbrev Number: 8 (DW_TAG_const_type)
-    <c2>   DW_AT_type        : <0x8b>	
- <1><c6>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <c7>   DW_AT_name        : (indirect string, offset: 0xc4): sysent	
-    <cb>   DW_AT_byte_size   : 20	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 4	
-    <ce>   DW_AT_sibling     : <0x119>	
- <2><d2>: Abbrev Number: 6 (DW_TAG_member)
-    <d3>   DW_AT_name        : (indirect string, offset: 0xe5): nargs	
-    <d7>   DW_AT_decl_file   : 3	
-    <d8>   DW_AT_decl_line   : 5	
-    <d9>   DW_AT_type        : <0x47>	
-    <dd>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><e0>: Abbrev Number: 6 (DW_TAG_member)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x83): sys_flags	
-    <e5>   DW_AT_decl_file   : 3	
-    <e6>   DW_AT_decl_line   : 6	
-    <e7>   DW_AT_type        : <0x2b>	
-    <eb>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ee>: Abbrev Number: 9 (DW_TAG_member)
-    <ef>   DW_AT_name        : sen	
-    <f3>   DW_AT_decl_file   : 3	
-    <f4>   DW_AT_decl_line   : 7	
-    <f5>   DW_AT_type        : <0x2b>	
-    <f9>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><fc>: Abbrev Number: 6 (DW_TAG_member)
-    <fd>   DW_AT_name        : (indirect string, offset: 0x1bb): sys_func	
-    <101>   DW_AT_decl_file   : 3	
-    <102>   DW_AT_decl_line   : 8	
-    <103>   DW_AT_type        : <0x124>	
-    <107>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><10a>: Abbrev Number: 6 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x71): sys_name	
-    <10f>   DW_AT_decl_file   : 3	
-    <110>   DW_AT_decl_line   : 9	
-    <111>   DW_AT_type        : <0xbb>	
-    <115>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><118>: Abbrev Number: 0
- <1><119>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <11a>   DW_AT_type        : <0x2b>	
-    <11e>   DW_AT_sibling     : <0x124>	
- <2><122>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><123>: Abbrev Number: 0
- <1><124>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <125>   DW_AT_byte_size   : 4	
-    <126>   DW_AT_type        : <0x119>	
- <1><12a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x112): struct_sysent	
-    <12f>   DW_AT_decl_file   : 3	
-    <130>   DW_AT_decl_line   : 10	
-    <131>   DW_AT_type        : <0xc6>	
- <1><135>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <136>   DW_AT_byte_size   : 4	
-    <137>   DW_AT_type        : <0x13b>	
- <1><13b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <13c>   DW_AT_type        : <0x12a>	
- <1><140>: Abbrev Number: 2 (DW_TAG_base_type)
-    <141>   DW_AT_byte_size   : 1	
-    <142>   DW_AT_encoding    : 2	(boolean)
-    <143>   DW_AT_name        : (indirect string, offset: 0x18): _Bool	
- <1><147>: Abbrev Number: 4 (DW_TAG_typedef)
-    <148>   DW_AT_name        : (indirect string, offset: 0x17e): timespec_t	
-    <14c>   DW_AT_decl_file   : 4	
-    <14d>   DW_AT_decl_line   : 31	
-    <14e>   DW_AT_type        : <0x92>	
- <1><152>: Abbrev Number: 12 (DW_TAG_variable)
-    <153>   DW_AT_name        : (indirect string, offset: 0xcb): current_wordsize	
-    <157>   DW_AT_decl_file   : 5	
-    <158>   DW_AT_decl_line   : 757	
-    <15a>   DW_AT_type        : <0x47>	
-    <15e>   DW_AT_external    : 1	
-    <15f>   DW_AT_declaration : 1	
- <1><160>: Abbrev Number: 12 (DW_TAG_variable)
-    <161>   DW_AT_name        : (indirect string, offset: 0xc4): sysent	
-    <165>   DW_AT_decl_file   : 5	
-    <166>   DW_AT_decl_line   : 892	
-    <168>   DW_AT_type        : <0x135>	
-    <16c>   DW_AT_external    : 1	
-    <16d>   DW_AT_declaration : 1	
- <1><16e>: Abbrev Number: 12 (DW_TAG_variable)
-    <16f>   DW_AT_name        : (indirect string, offset: 0x156): nsyscalls	
-    <173>   DW_AT_decl_file   : 5	
-    <174>   DW_AT_decl_line   : 903	
-    <176>   DW_AT_type        : <0x47>	
-    <17a>   DW_AT_external    : 1	
-    <17b>   DW_AT_declaration : 1	
- <1><17c>: Abbrev Number: 13 (DW_TAG_variable)
-    <17d>   DW_AT_name        : (indirect string, offset: 0xeb): mpers_target_var	
-    <181>   DW_AT_decl_file   : 4	
-    <182>   DW_AT_decl_line   : 33	
-    <183>   DW_AT_type        : <0x147>	
-    <187>   DW_AT_external    : 1	
-    <188>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><18e>: Abbrev Number: 0
-
diff --git a/mpers-mx32/timespec_t.d2 b/mpers-mx32/timespec_t.d2
deleted file mode 100644
index 15208eb..0000000
--- a/mpers-mx32/timespec_t.d2
+++ /dev/null
@@ -1,214 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x19c): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x189): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x170): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa4): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x1a8): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x105): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8d): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x193): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb2): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xfc): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x160): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xdc): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x1c4): __syscall_slong_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 175
-DW_AT_type        : <0x63>
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x120): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x7a): timespec
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 120
-DW_AT_sibling     : <0xbb>
-<2><9e>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x169): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 122
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x69): tv_nsec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 123
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><bb>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xc1>
-<1><c1>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><c6>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc4): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x119>
-<2><d2>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe5): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><e0>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x83): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ee>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><fc>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1bb): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x124>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><10a>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x71): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xbb>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><119>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x124>
-<2><122>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><124>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x119>
-<1><12a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x112): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xc6>
-<1><135>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x13b>
-<1><13b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x12a>
-<1><140>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x18): _Bool
-<1><147>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x17e): timespec_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x92>
-<1><152>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xcb): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><160>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc4): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x135>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><16e>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x156): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17c>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xeb): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x147>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/timeval_t.c b/mpers-mx32/timeval_t.c
index 5d867b5..36574eb 100644
--- a/mpers-mx32/timeval_t.c
+++ b/mpers-mx32/timeval_t.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/timeval_t.d1 b/mpers-mx32/timeval_t.d1
deleted file mode 100644
index 399b670..0000000
--- a/mpers-mx32/timeval_t.d1
+++ /dev/null
@@ -1,194 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x18b (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x6): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x10e): mpers-mx32/timeval_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x14e): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ba): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1a7): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x199): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa5): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x51): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x6e): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x8e): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1b1): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb3): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0xfd): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x189): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0xdd): __time_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 139	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 4 (DW_TAG_typedef)
-    <81>   DW_AT_name        : (indirect string, offset: 0x138): __suseconds_t	
-    <85>   DW_AT_decl_file   : 1	
-    <86>   DW_AT_decl_line   : 141	
-    <87>   DW_AT_type        : <0x63>	
- <1><8b>: Abbrev Number: 2 (DW_TAG_base_type)
-    <8c>   DW_AT_byte_size   : 1	
-    <8d>   DW_AT_encoding    : 6	(signed char)
-    <8e>   DW_AT_name        : (indirect string, offset: 0x133): char	
- <1><92>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0x106): timeval	
-    <97>   DW_AT_byte_size   : 16	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 30	
-    <9a>   DW_AT_sibling     : <0xbb>	
- <2><9e>: Abbrev Number: 6 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0x192): tv_sec	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 32	
-    <a5>   DW_AT_type        : <0x75>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 6 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x146): tv_usec	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 33	
-    <b3>   DW_AT_type        : <0x80>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><ba>: Abbrev Number: 0
- <1><bb>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <bc>   DW_AT_byte_size   : 4	
-    <bd>   DW_AT_type        : <0xc1>	
- <1><c1>: Abbrev Number: 8 (DW_TAG_const_type)
-    <c2>   DW_AT_type        : <0x8b>	
- <1><c6>: Abbrev Number: 5 (DW_TAG_structure_type)
-    <c7>   DW_AT_name        : (indirect string, offset: 0xc5): sysent	
-    <cb>   DW_AT_byte_size   : 20	
-    <cc>   DW_AT_decl_file   : 3	
-    <cd>   DW_AT_decl_line   : 4	
-    <ce>   DW_AT_sibling     : <0x119>	
- <2><d2>: Abbrev Number: 6 (DW_TAG_member)
-    <d3>   DW_AT_name        : (indirect string, offset: 0xe6): nargs	
-    <d7>   DW_AT_decl_file   : 3	
-    <d8>   DW_AT_decl_line   : 5	
-    <d9>   DW_AT_type        : <0x47>	
-    <dd>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><e0>: Abbrev Number: 6 (DW_TAG_member)
-    <e1>   DW_AT_name        : (indirect string, offset: 0x84): sys_flags	
-    <e5>   DW_AT_decl_file   : 3	
-    <e6>   DW_AT_decl_line   : 6	
-    <e7>   DW_AT_type        : <0x2b>	
-    <eb>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ee>: Abbrev Number: 9 (DW_TAG_member)
-    <ef>   DW_AT_name        : sen	
-    <f3>   DW_AT_decl_file   : 3	
-    <f4>   DW_AT_decl_line   : 7	
-    <f5>   DW_AT_type        : <0x2b>	
-    <f9>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><fc>: Abbrev Number: 6 (DW_TAG_member)
-    <fd>   DW_AT_name        : (indirect string, offset: 0x1c6): sys_func	
-    <101>   DW_AT_decl_file   : 3	
-    <102>   DW_AT_decl_line   : 8	
-    <103>   DW_AT_type        : <0x124>	
-    <107>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><10a>: Abbrev Number: 6 (DW_TAG_member)
-    <10b>   DW_AT_name        : (indirect string, offset: 0x7b): sys_name	
-    <10f>   DW_AT_decl_file   : 3	
-    <110>   DW_AT_decl_line   : 9	
-    <111>   DW_AT_type        : <0xbb>	
-    <115>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><118>: Abbrev Number: 0
- <1><119>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <11a>   DW_AT_type        : <0x2b>	
-    <11e>   DW_AT_sibling     : <0x124>	
- <2><122>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><123>: Abbrev Number: 0
- <1><124>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <125>   DW_AT_byte_size   : 4	
-    <126>   DW_AT_type        : <0x119>	
- <1><12a>: Abbrev Number: 4 (DW_TAG_typedef)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x125): struct_sysent	
-    <12f>   DW_AT_decl_file   : 3	
-    <130>   DW_AT_decl_line   : 10	
-    <131>   DW_AT_type        : <0xc6>	
- <1><135>: Abbrev Number: 7 (DW_TAG_pointer_type)
-    <136>   DW_AT_byte_size   : 4	
-    <137>   DW_AT_type        : <0x13b>	
- <1><13b>: Abbrev Number: 8 (DW_TAG_const_type)
-    <13c>   DW_AT_type        : <0x12a>	
- <1><140>: Abbrev Number: 2 (DW_TAG_base_type)
-    <141>   DW_AT_byte_size   : 1	
-    <142>   DW_AT_encoding    : 2	(boolean)
-    <143>   DW_AT_name        : (indirect string, offset: 0x0): _Bool	
- <1><147>: Abbrev Number: 4 (DW_TAG_typedef)
-    <148>   DW_AT_name        : (indirect string, offset: 0x64): timeval_t	
-    <14c>   DW_AT_decl_file   : 4	
-    <14d>   DW_AT_decl_line   : 31	
-    <14e>   DW_AT_type        : <0x92>	
- <1><152>: Abbrev Number: 12 (DW_TAG_variable)
-    <153>   DW_AT_name        : (indirect string, offset: 0xcc): current_wordsize	
-    <157>   DW_AT_decl_file   : 5	
-    <158>   DW_AT_decl_line   : 757	
-    <15a>   DW_AT_type        : <0x47>	
-    <15e>   DW_AT_external    : 1	
-    <15f>   DW_AT_declaration : 1	
- <1><160>: Abbrev Number: 12 (DW_TAG_variable)
-    <161>   DW_AT_name        : (indirect string, offset: 0xc5): sysent	
-    <165>   DW_AT_decl_file   : 5	
-    <166>   DW_AT_decl_line   : 892	
-    <168>   DW_AT_type        : <0x135>	
-    <16c>   DW_AT_external    : 1	
-    <16d>   DW_AT_declaration : 1	
- <1><16e>: Abbrev Number: 12 (DW_TAG_variable)
-    <16f>   DW_AT_name        : (indirect string, offset: 0x17f): nsyscalls	
-    <173>   DW_AT_decl_file   : 5	
-    <174>   DW_AT_decl_line   : 903	
-    <176>   DW_AT_type        : <0x47>	
-    <17a>   DW_AT_external    : 1	
-    <17b>   DW_AT_declaration : 1	
- <1><17c>: Abbrev Number: 13 (DW_TAG_variable)
-    <17d>   DW_AT_name        : (indirect string, offset: 0xec): mpers_target_var	
-    <181>   DW_AT_decl_file   : 4	
-    <182>   DW_AT_decl_line   : 33	
-    <183>   DW_AT_type        : <0x147>	
-    <187>   DW_AT_external    : 1	
-    <188>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><18e>: Abbrev Number: 0
-
diff --git a/mpers-mx32/timeval_t.d2 b/mpers-mx32/timeval_t.d2
deleted file mode 100644
index e5ea8d0..0000000
--- a/mpers-mx32/timeval_t.d2
+++ /dev/null
@@ -1,214 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ba): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a7): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x199): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa5): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x51): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x6e): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x8e): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1b1): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb3): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xfd): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x189): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xdd): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x138): __suseconds_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 141
-DW_AT_type        : <0x63>
-<1><8b>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x133): char
-<1><92>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x106): timeval
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 30
-DW_AT_sibling     : <0xbb>
-<2><9e>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x192): tv_sec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 32
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x146): tv_usec
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x80>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><bb>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xc1>
-<1><c1>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x8b>
-<1><c6>
-Abbrev Number: 5 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc5): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0x119>
-<2><d2>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe6): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><e0>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x84): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ee>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><fc>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1c6): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x124>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><10a>
-Abbrev Number: 6 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7b): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0xbb>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><119>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0x124>
-<2><122>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><124>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x119>
-<1><12a>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x125): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0xc6>
-<1><135>
-Abbrev Number: 7 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x13b>
-<1><13b>
-Abbrev Number: 8 (DW_TAG_const_type)
-DW_AT_type        : <0x12a>
-<1><140>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x0): _Bool
-<1><147>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x64): timeval_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 31
-DW_AT_type        : <0x92>
-<1><152>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xcc): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><160>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc5): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x135>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><16e>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x17f): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17c>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xec): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 33
-DW_AT_type        : <0x147>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers-mx32/tms_t.c b/mpers-mx32/tms_t.c
index 7af2d32..b11758c 100644
--- a/mpers-mx32/tms_t.c
+++ b/mpers-mx32/tms_t.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers-mx32/tms_t.d1 b/mpers-mx32/tms_t.d1
deleted file mode 100644
index e4aed80..0000000
--- a/mpers-mx32/tms_t.d1
+++ /dev/null
@@ -1,206 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x1a7 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x29): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x0): mpers-mx32/tms_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x146): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1c0): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x1a2): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x18a): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xc3): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x74): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x126): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0xac): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1ac): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xd1): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0x11d): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x181): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0x198): __clock_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 135	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x141): char	
- <1><87>: Abbrev Number: 4 (DW_TAG_typedef)
-    <88>   DW_AT_name        : (indirect string, offset: 0x9a): clock_t	
-    <8c>   DW_AT_decl_file   : 2	
-    <8d>   DW_AT_decl_line   : 59	
-    <8e>   DW_AT_type        : <0x75>	
- <1><92>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <93>   DW_AT_byte_size   : 4	
-    <94>   DW_AT_type        : <0x98>	
- <1><98>: Abbrev Number: 6 (DW_TAG_const_type)
-    <99>   DW_AT_type        : <0x80>	
- <1><9d>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <9e>   DW_AT_name        : (indirect string, offset: 0xe3): sysent	
-    <a2>   DW_AT_byte_size   : 20	
-    <a3>   DW_AT_decl_file   : 3	
-    <a4>   DW_AT_decl_line   : 4	
-    <a5>   DW_AT_sibling     : <0xf0>	
- <2><a9>: Abbrev Number: 8 (DW_TAG_member)
-    <aa>   DW_AT_name        : (indirect string, offset: 0x106): nargs	
-    <ae>   DW_AT_decl_file   : 3	
-    <af>   DW_AT_decl_line   : 5	
-    <b0>   DW_AT_type        : <0x47>	
-    <b4>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><b7>: Abbrev Number: 8 (DW_TAG_member)
-    <b8>   DW_AT_name        : (indirect string, offset: 0xa2): sys_flags	
-    <bc>   DW_AT_decl_file   : 3	
-    <bd>   DW_AT_decl_line   : 6	
-    <be>   DW_AT_type        : <0x2b>	
-    <c2>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><c5>: Abbrev Number: 9 (DW_TAG_member)
-    <c6>   DW_AT_name        : sen	
-    <ca>   DW_AT_decl_file   : 3	
-    <cb>   DW_AT_decl_line   : 7	
-    <cc>   DW_AT_type        : <0x2b>	
-    <d0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><d3>: Abbrev Number: 8 (DW_TAG_member)
-    <d4>   DW_AT_name        : (indirect string, offset: 0x1cc): sys_func	
-    <d8>   DW_AT_decl_file   : 3	
-    <d9>   DW_AT_decl_line   : 8	
-    <da>   DW_AT_type        : <0xfb>	
-    <de>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><e1>: Abbrev Number: 8 (DW_TAG_member)
-    <e2>   DW_AT_name        : (indirect string, offset: 0x91): sys_name	
-    <e6>   DW_AT_decl_file   : 3	
-    <e7>   DW_AT_decl_line   : 9	
-    <e8>   DW_AT_type        : <0x92>	
-    <ec>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <f1>   DW_AT_type        : <0x2b>	
-    <f5>   DW_AT_sibling     : <0xfb>	
- <2><f9>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><fa>: Abbrev Number: 0
- <1><fb>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <fc>   DW_AT_byte_size   : 4	
-    <fd>   DW_AT_type        : <0xf0>	
- <1><101>: Abbrev Number: 4 (DW_TAG_typedef)
-    <102>   DW_AT_name        : (indirect string, offset: 0x133): struct_sysent	
-    <106>   DW_AT_decl_file   : 3	
-    <107>   DW_AT_decl_line   : 10	
-    <108>   DW_AT_type        : <0x9d>	
- <1><10c>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <10d>   DW_AT_byte_size   : 4	
-    <10e>   DW_AT_type        : <0x112>	
- <1><112>: Abbrev Number: 6 (DW_TAG_const_type)
-    <113>   DW_AT_type        : <0x101>	
- <1><117>: Abbrev Number: 2 (DW_TAG_base_type)
-    <118>   DW_AT_byte_size   : 1	
-    <119>   DW_AT_encoding    : 2	(boolean)
-    <11a>   DW_AT_name        : (indirect string, offset: 0x1d): _Bool	
- <1><11e>: Abbrev Number: 12 (DW_TAG_structure_type)
-    <11f>   DW_AT_name        : tms	
-    <123>   DW_AT_byte_size   : 32	
-    <124>   DW_AT_decl_file   : 4	
-    <125>   DW_AT_decl_line   : 34	
-    <126>   DW_AT_sibling     : <0x163>	
- <2><12a>: Abbrev Number: 8 (DW_TAG_member)
-    <12b>   DW_AT_name        : (indirect string, offset: 0x13): tms_utime	
-    <12f>   DW_AT_decl_file   : 4	
-    <130>   DW_AT_decl_line   : 36	
-    <131>   DW_AT_type        : <0x87>	
-    <135>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><138>: Abbrev Number: 8 (DW_TAG_member)
-    <139>   DW_AT_name        : (indirect string, offset: 0x87): tms_stime	
-    <13d>   DW_AT_decl_file   : 4	
-    <13e>   DW_AT_decl_line   : 37	
-    <13f>   DW_AT_type        : <0x87>	
-    <143>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><146>: Abbrev Number: 8 (DW_TAG_member)
-    <147>   DW_AT_name        : (indirect string, offset: 0xea): tms_cutime	
-    <14b>   DW_AT_decl_file   : 4	
-    <14c>   DW_AT_decl_line   : 39	
-    <14d>   DW_AT_type        : <0x87>	
-    <151>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><154>: Abbrev Number: 8 (DW_TAG_member)
-    <155>   DW_AT_name        : (indirect string, offset: 0x1b5): tms_cstime	
-    <159>   DW_AT_decl_file   : 4	
-    <15a>   DW_AT_decl_line   : 40	
-    <15b>   DW_AT_type        : <0x87>	
-    <15f>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
- <2><162>: Abbrev Number: 0
- <1><163>: Abbrev Number: 4 (DW_TAG_typedef)
-    <164>   DW_AT_name        : (indirect string, offset: 0x23): tms_t	
-    <168>   DW_AT_decl_file   : 5	
-    <169>   DW_AT_decl_line   : 36	
-    <16a>   DW_AT_type        : <0x11e>	
- <1><16e>: Abbrev Number: 13 (DW_TAG_variable)
-    <16f>   DW_AT_name        : (indirect string, offset: 0xf5): current_wordsize	
-    <173>   DW_AT_decl_file   : 6	
-    <174>   DW_AT_decl_line   : 757	
-    <176>   DW_AT_type        : <0x47>	
-    <17a>   DW_AT_external    : 1	
-    <17b>   DW_AT_declaration : 1	
- <1><17c>: Abbrev Number: 13 (DW_TAG_variable)
-    <17d>   DW_AT_name        : (indirect string, offset: 0xe3): sysent	
-    <181>   DW_AT_decl_file   : 6	
-    <182>   DW_AT_decl_line   : 892	
-    <184>   DW_AT_type        : <0x10c>	
-    <188>   DW_AT_external    : 1	
-    <189>   DW_AT_declaration : 1	
- <1><18a>: Abbrev Number: 13 (DW_TAG_variable)
-    <18b>   DW_AT_name        : (indirect string, offset: 0x177): nsyscalls	
-    <18f>   DW_AT_decl_file   : 6	
-    <190>   DW_AT_decl_line   : 903	
-    <192>   DW_AT_type        : <0x47>	
-    <196>   DW_AT_external    : 1	
-    <197>   DW_AT_declaration : 1	
- <1><198>: Abbrev Number: 14 (DW_TAG_variable)
-    <199>   DW_AT_name        : (indirect string, offset: 0x10c): mpers_target_var	
-    <19d>   DW_AT_decl_file   : 5	
-    <19e>   DW_AT_decl_line   : 37	
-    <19f>   DW_AT_type        : <0x163>	
-    <1a3>   DW_AT_external    : 1	
-    <1a4>   DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
- <1><1aa>: Abbrev Number: 0
-
diff --git a/mpers-mx32/tms_t.d2 b/mpers-mx32/tms_t.d2
deleted file mode 100644
index 61fc336..0000000
--- a/mpers-mx32/tms_t.d2
+++ /dev/null
@@ -1,228 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1c0): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a2): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x18a): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xc3): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x74): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x126): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xac): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1ac): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xd1): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11d): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x181): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x198): __clock_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 135
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x141): char
-<1><87>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x9a): clock_t
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 59
-DW_AT_type        : <0x75>
-<1><92>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x98>
-<1><98>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><9d>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xe3): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xf0>
-<2><a9>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x106): nargs
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><b7>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xa2): sys_flags
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><c5>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><d3>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1cc): sys_func
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xfb>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><e1>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x91): sys_name
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x92>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><f0>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xfb>
-<2><f9>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><fb>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xf0>
-<1><101>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x133): struct_sysent
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x9d>
-<1><10c>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x112>
-<1><112>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x101>
-<1><117>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0x1d): _Bool
-<1><11e>
-Abbrev Number: 12 (DW_TAG_structure_type)
-DW_AT_name        : tms
-DW_AT_byte_size   : 32
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 34
-DW_AT_sibling     : <0x163>
-<2><12a>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x13): tms_utime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><138>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x87): tms_stime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><146>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xea): tms_cutime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<2><154>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b5): tms_cstime
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
-<1><163>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x23): tms_t
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 36
-DW_AT_type        : <0x11e>
-<1><16e>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xf5): current_wordsize
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><17c>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xe3): sysent
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x10c>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><18a>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x177): nsyscalls
-DW_AT_decl_file   : 6
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><198>
-Abbrev Number: 14 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x10c): mpers_target_var
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 37
-DW_AT_type        : <0x163>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 20 0 0 0 	(DW_OP_addr: 20)
diff --git a/mpers-mx32/utimbuf_t.d1 b/mpers-mx32/utimbuf_t.d1
deleted file mode 100644
index 47e297b..0000000
--- a/mpers-mx32/utimbuf_t.d1
+++ /dev/null
@@ -1,189 +0,0 @@
-Contents of the .debug_info section:
-
-  Compilation Unit @ offset 0x0:
-   Length:        0x180 (32-bit)
-   Version:       2
-   Abbrev Offset: 0x0
-   Pointer Size:  4
- <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
-    <c>   DW_AT_producer    : (indirect string, offset: 0x10): GNU C 4.8.4 -mx32 -mtune=generic -march=x86-64 -gdwarf-2 -fstack-protector	
-    <10>   DW_AT_language    : 1	(ANSI C)
-    <11>   DW_AT_name        : (indirect string, offset: 0x18c): mpers-mx32/utimbuf_t.c	
-    <15>   DW_AT_comp_dir    : (indirect string, offset: 0x130): /usr/local/google/home/enh/Downloads/strace-4.16	
-    <19>   DW_AT_stmt_list   : 0x0	
- <1><1d>: Abbrev Number: 2 (DW_TAG_base_type)
-    <1e>   DW_AT_byte_size   : 1	
-    <1f>   DW_AT_encoding    : 6	(signed char)
-    <20>   DW_AT_name        : (indirect string, offset: 0x1ac): signed char	
- <1><24>: Abbrev Number: 2 (DW_TAG_base_type)
-    <25>   DW_AT_byte_size   : 2	
-    <26>   DW_AT_encoding    : 5	(signed)
-    <27>   DW_AT_name        : (indirect string, offset: 0x182): short int	
- <1><2b>: Abbrev Number: 3 (DW_TAG_base_type)
-    <2c>   DW_AT_byte_size   : 4	
-    <2d>   DW_AT_encoding    : 5	(signed)
-    <2e>   DW_AT_name        : int	
- <1><32>: Abbrev Number: 2 (DW_TAG_base_type)
-    <33>   DW_AT_byte_size   : 8	
-    <34>   DW_AT_encoding    : 5	(signed)
-    <35>   DW_AT_name        : (indirect string, offset: 0x174): long long int	
- <1><39>: Abbrev Number: 2 (DW_TAG_base_type)
-    <3a>   DW_AT_byte_size   : 1	
-    <3b>   DW_AT_encoding    : 8	(unsigned char)
-    <3c>   DW_AT_name        : (indirect string, offset: 0xa0): unsigned char	
- <1><40>: Abbrev Number: 2 (DW_TAG_base_type)
-    <41>   DW_AT_byte_size   : 2	
-    <42>   DW_AT_encoding    : 7	(unsigned)
-    <43>   DW_AT_name        : (indirect string, offset: 0x5b): short unsigned int	
- <1><47>: Abbrev Number: 2 (DW_TAG_base_type)
-    <48>   DW_AT_byte_size   : 4	
-    <49>   DW_AT_encoding    : 7	(unsigned)
-    <4a>   DW_AT_name        : (indirect string, offset: 0x110): unsigned int	
- <1><4e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <4f>   DW_AT_byte_size   : 8	
-    <50>   DW_AT_encoding    : 7	(unsigned)
-    <51>   DW_AT_name        : (indirect string, offset: 0x89): long long unsigned int	
- <1><55>: Abbrev Number: 2 (DW_TAG_base_type)
-    <56>   DW_AT_byte_size   : 4	
-    <57>   DW_AT_encoding    : 5	(signed)
-    <58>   DW_AT_name        : (indirect string, offset: 0x1a3): long int	
- <1><5c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <5d>   DW_AT_byte_size   : 4	
-    <5e>   DW_AT_encoding    : 7	(unsigned)
-    <5f>   DW_AT_name        : (indirect string, offset: 0xb5): long unsigned int	
- <1><63>: Abbrev Number: 4 (DW_TAG_typedef)
-    <64>   DW_AT_name        : (indirect string, offset: 0xff): __quad_t	
-    <68>   DW_AT_decl_file   : 1	
-    <69>   DW_AT_decl_line   : 55	
-    <6a>   DW_AT_type        : <0x32>	
- <1><6e>: Abbrev Number: 2 (DW_TAG_base_type)
-    <6f>   DW_AT_byte_size   : 4	
-    <70>   DW_AT_encoding    : 7	(unsigned)
-    <71>   DW_AT_name        : (indirect string, offset: 0x16b): sizetype	
- <1><75>: Abbrev Number: 4 (DW_TAG_typedef)
-    <76>   DW_AT_name        : (indirect string, offset: 0xdf): __time_t	
-    <7a>   DW_AT_decl_file   : 1	
-    <7b>   DW_AT_decl_line   : 139	
-    <7c>   DW_AT_type        : <0x63>	
- <1><80>: Abbrev Number: 2 (DW_TAG_base_type)
-    <81>   DW_AT_byte_size   : 1	
-    <82>   DW_AT_encoding    : 6	(signed char)
-    <83>   DW_AT_name        : (indirect string, offset: 0x12b): char	
- <1><87>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <88>   DW_AT_byte_size   : 4	
-    <89>   DW_AT_type        : <0x8d>	
- <1><8d>: Abbrev Number: 6 (DW_TAG_const_type)
-    <8e>   DW_AT_type        : <0x80>	
- <1><92>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <93>   DW_AT_name        : (indirect string, offset: 0xc7): sysent	
-    <97>   DW_AT_byte_size   : 20	
-    <98>   DW_AT_decl_file   : 2	
-    <99>   DW_AT_decl_line   : 4	
-    <9a>   DW_AT_sibling     : <0xe5>	
- <2><9e>: Abbrev Number: 8 (DW_TAG_member)
-    <9f>   DW_AT_name        : (indirect string, offset: 0xe8): nargs	
-    <a3>   DW_AT_decl_file   : 2	
-    <a4>   DW_AT_decl_line   : 5	
-    <a5>   DW_AT_type        : <0x47>	
-    <a9>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><ac>: Abbrev Number: 8 (DW_TAG_member)
-    <ad>   DW_AT_name        : (indirect string, offset: 0x7f): sys_flags	
-    <b1>   DW_AT_decl_file   : 2	
-    <b2>   DW_AT_decl_line   : 6	
-    <b3>   DW_AT_type        : <0x2b>	
-    <b7>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
- <2><ba>: Abbrev Number: 9 (DW_TAG_member)
-    <bb>   DW_AT_name        : sen	
-    <bf>   DW_AT_decl_file   : 2	
-    <c0>   DW_AT_decl_line   : 7	
-    <c1>   DW_AT_type        : <0x2b>	
-    <c5>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><c8>: Abbrev Number: 8 (DW_TAG_member)
-    <c9>   DW_AT_name        : (indirect string, offset: 0x1b8): sys_func	
-    <cd>   DW_AT_decl_file   : 2	
-    <ce>   DW_AT_decl_line   : 8	
-    <cf>   DW_AT_type        : <0xf0>	
-    <d3>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
- <2><d6>: Abbrev Number: 8 (DW_TAG_member)
-    <d7>   DW_AT_name        : (indirect string, offset: 0x6e): sys_name	
-    <db>   DW_AT_decl_file   : 2	
-    <dc>   DW_AT_decl_line   : 9	
-    <dd>   DW_AT_type        : <0x87>	
-    <e1>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
- <2><e4>: Abbrev Number: 0
- <1><e5>: Abbrev Number: 10 (DW_TAG_subroutine_type)
-    <e6>   DW_AT_type        : <0x2b>	
-    <ea>   DW_AT_sibling     : <0xf0>	
- <2><ee>: Abbrev Number: 11 (DW_TAG_unspecified_parameters)
- <2><ef>: Abbrev Number: 0
- <1><f0>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <f1>   DW_AT_byte_size   : 4	
-    <f2>   DW_AT_type        : <0xe5>	
- <1><f6>: Abbrev Number: 4 (DW_TAG_typedef)
-    <f7>   DW_AT_name        : (indirect string, offset: 0x11d): struct_sysent	
-    <fb>   DW_AT_decl_file   : 2	
-    <fc>   DW_AT_decl_line   : 10	
-    <fd>   DW_AT_type        : <0x92>	
- <1><101>: Abbrev Number: 5 (DW_TAG_pointer_type)
-    <102>   DW_AT_byte_size   : 4	
-    <103>   DW_AT_type        : <0x107>	
- <1><107>: Abbrev Number: 6 (DW_TAG_const_type)
-    <108>   DW_AT_type        : <0xf6>	
- <1><10c>: Abbrev Number: 2 (DW_TAG_base_type)
-    <10d>   DW_AT_byte_size   : 1	
-    <10e>   DW_AT_encoding    : 2	(boolean)
-    <10f>   DW_AT_name        : (indirect string, offset: 0xa): _Bool	
- <1><113>: Abbrev Number: 7 (DW_TAG_structure_type)
-    <114>   DW_AT_name        : (indirect string, offset: 0x77): utimbuf	
-    <118>   DW_AT_byte_size   : 16	
-    <119>   DW_AT_decl_file   : 3	
-    <11a>   DW_AT_decl_line   : 37	
-    <11b>   DW_AT_sibling     : <0x13c>	
- <2><11f>: Abbrev Number: 8 (DW_TAG_member)
-    <120>   DW_AT_name        : (indirect string, offset: 0xae): actime	
-    <124>   DW_AT_decl_file   : 3	
-    <125>   DW_AT_decl_line   : 39	
-    <126>   DW_AT_type        : <0x75>	
-    <12a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
- <2><12d>: Abbrev Number: 8 (DW_TAG_member)
-    <12e>   DW_AT_name        : (indirect string, offset: 0x108): modtime	
-    <132>   DW_AT_decl_file   : 3	
-    <133>   DW_AT_decl_line   : 40	
-    <134>   DW_AT_type        : <0x75>	
-    <138>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
- <2><13b>: Abbrev Number: 0
- <1><13c>: Abbrev Number: 4 (DW_TAG_typedef)
-    <13d>   DW_AT_name        : (indirect string, offset: 0x0): utimbuf_t	
-    <141>   DW_AT_decl_file   : 4	
-    <142>   DW_AT_decl_line   : 6	
-    <143>   DW_AT_type        : <0x113>	
- <1><147>: Abbrev Number: 12 (DW_TAG_variable)
-    <148>   DW_AT_name        : (indirect string, offset: 0xce): current_wordsize	
-    <14c>   DW_AT_decl_file   : 5	
-    <14d>   DW_AT_decl_line   : 757	
-    <14f>   DW_AT_type        : <0x47>	
-    <153>   DW_AT_external    : 1	
-    <154>   DW_AT_declaration : 1	
- <1><155>: Abbrev Number: 12 (DW_TAG_variable)
-    <156>   DW_AT_name        : (indirect string, offset: 0xc7): sysent	
-    <15a>   DW_AT_decl_file   : 5	
-    <15b>   DW_AT_decl_line   : 892	
-    <15d>   DW_AT_type        : <0x101>	
-    <161>   DW_AT_external    : 1	
-    <162>   DW_AT_declaration : 1	
- <1><163>: Abbrev Number: 12 (DW_TAG_variable)
-    <164>   DW_AT_name        : (indirect string, offset: 0x161): nsyscalls	
-    <168>   DW_AT_decl_file   : 5	
-    <169>   DW_AT_decl_line   : 903	
-    <16b>   DW_AT_type        : <0x47>	
-    <16f>   DW_AT_external    : 1	
-    <170>   DW_AT_declaration : 1	
- <1><171>: Abbrev Number: 13 (DW_TAG_variable)
-    <172>   DW_AT_name        : (indirect string, offset: 0xee): mpers_target_var	
-    <176>   DW_AT_decl_file   : 4	
-    <177>   DW_AT_decl_line   : 8	
-    <178>   DW_AT_type        : <0x13c>	
-    <17c>   DW_AT_external    : 1	
-    <17d>   DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
- <1><183>: Abbrev Number: 0
-
diff --git a/mpers-mx32/utimbuf_t.d2 b/mpers-mx32/utimbuf_t.d2
deleted file mode 100644
index 4158a10..0000000
--- a/mpers-mx32/utimbuf_t.d2
+++ /dev/null
@@ -1,208 +0,0 @@
-<1><1d>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x1ac): signed char
-<1><24>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x182): short int
-<1><2b>
-Abbrev Number: 3 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : int
-<1><32>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x174): long long int
-<1><39>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 8	(unsigned char)
-DW_AT_name        : (indirect string, offset: 0xa0): unsigned char
-<1><40>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 2
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x5b): short unsigned int
-<1><47>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x110): unsigned int
-<1><4e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 8
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x89): long long unsigned int
-<1><55>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 5	(signed)
-DW_AT_name        : (indirect string, offset: 0x1a3): long int
-<1><5c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0xb5): long unsigned int
-<1><63>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xff): __quad_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 55
-DW_AT_type        : <0x32>
-<1><6e>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 4
-DW_AT_encoding    : 7	(unsigned)
-DW_AT_name        : (indirect string, offset: 0x16b): sizetype
-<1><75>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0xdf): __time_t
-DW_AT_decl_file   : 1
-DW_AT_decl_line   : 139
-DW_AT_type        : <0x63>
-<1><80>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 6	(signed char)
-DW_AT_name        : (indirect string, offset: 0x12b): char
-<1><87>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x8d>
-<1><8d>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0x80>
-<1><92>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0xc7): sysent
-DW_AT_byte_size   : 20
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 4
-DW_AT_sibling     : <0xe5>
-<2><9e>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xe8): nargs
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 5
-DW_AT_type        : <0x47>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><ac>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x7f): sys_flags
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
-<2><ba>
-Abbrev Number: 9 (DW_TAG_member)
-DW_AT_name        : sen
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 7
-DW_AT_type        : <0x2b>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<2><c8>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x1b8): sys_func
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 8
-DW_AT_type        : <0xf0>
-DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
-<2><d6>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x6e): sys_name
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 9
-DW_AT_type        : <0x87>
-DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
-<1><e5>
-Abbrev Number: 10 (DW_TAG_subroutine_type)
-DW_AT_type        : <0x2b>
-DW_AT_sibling     : <0xf0>
-<2><ee>
-Abbrev Number: 11 (DW_TAG_unspecified_parameters)
-<1><f0>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0xe5>
-<1><f6>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x11d): struct_sysent
-DW_AT_decl_file   : 2
-DW_AT_decl_line   : 10
-DW_AT_type        : <0x92>
-<1><101>
-Abbrev Number: 5 (DW_TAG_pointer_type)
-DW_AT_byte_size   : 4
-DW_AT_type        : <0x107>
-<1><107>
-Abbrev Number: 6 (DW_TAG_const_type)
-DW_AT_type        : <0xf6>
-<1><10c>
-Abbrev Number: 2 (DW_TAG_base_type)
-DW_AT_byte_size   : 1
-DW_AT_encoding    : 2	(boolean)
-DW_AT_name        : (indirect string, offset: 0xa): _Bool
-<1><113>
-Abbrev Number: 7 (DW_TAG_structure_type)
-DW_AT_name        : (indirect string, offset: 0x77): utimbuf
-DW_AT_byte_size   : 16
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 37
-DW_AT_sibling     : <0x13c>
-<2><11f>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0xae): actime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 39
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
-<2><12d>
-Abbrev Number: 8 (DW_TAG_member)
-DW_AT_name        : (indirect string, offset: 0x108): modtime
-DW_AT_decl_file   : 3
-DW_AT_decl_line   : 40
-DW_AT_type        : <0x75>
-DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
-<1><13c>
-Abbrev Number: 4 (DW_TAG_typedef)
-DW_AT_name        : (indirect string, offset: 0x0): utimbuf_t
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 6
-DW_AT_type        : <0x113>
-<1><147>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xce): current_wordsize
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 757
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><155>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xc7): sysent
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 892
-DW_AT_type        : <0x101>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><163>
-Abbrev Number: 12 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0x161): nsyscalls
-DW_AT_decl_file   : 5
-DW_AT_decl_line   : 903
-DW_AT_type        : <0x47>
-DW_AT_external    : 1
-DW_AT_declaration : 1
-<1><171>
-Abbrev Number: 13 (DW_TAG_variable)
-DW_AT_name        : (indirect string, offset: 0xee): mpers_target_var
-DW_AT_decl_file   : 4
-DW_AT_decl_line   : 8
-DW_AT_type        : <0x13c>
-DW_AT_external    : 1
-DW_AT_location    : 5 byte block: 3 10 0 0 0 	(DW_OP_addr: 10)
diff --git a/mpers.am b/mpers.am
deleted file mode 100644
index 1e3c750..0000000
--- a/mpers.am
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by ./generate_mpers_am.sh; do not edit.
-mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_seccomp_fprog.c fetch_struct_flock.c fetch_struct_mmsghdr.c fetch_struct_msghdr.c fetch_struct_stat.c fetch_struct_stat64.c fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c print_sigevent.c print_time.c print_timespec.c print_timeval.c print_timex.c printrusage.c printsiginfo.c rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c 
diff --git a/mpers.awk b/mpers.awk
index 2283b96..fe54763 100644
--- a/mpers.awk
+++ b/mpers.awk
@@ -2,6 +2,7 @@
 #
 # Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
 # Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -67,6 +68,14 @@
 	delete called[array_idx]
 	return to_return
 }
+function update_upper_bound(idx, val, count)
+{
+	count = array[idx]["count"]
+	if (count == "")
+		count = 1
+	array[idx]["count"] = count * val
+	array[idx]["upper_bound"] = array[idx]["upper_bound"] "[" val "]"
+}
 function what_is(what_idx, type_idx, special, item, \
 		 location, prev_location, prev_returned_size)
 {
@@ -102,8 +111,8 @@
 		what_is(type_idx)
 		to_return = array[what_idx]["upper_bound"]
 		if ("" == to_return)
-			to_return = 0
-		returned_size = to_return * returned_size
+			to_return = "[0]"
+		returned_size = array[what_idx]["count"] * returned_size
 		return leave(what_idx, to_return)
 		break
 	case "structure_type":
@@ -125,11 +134,7 @@
 				prev_location = location
 				returned = what_is(item)
 				prev_returned_size = returned_size
-				printf("%s", array[item]["name"])
-				if ("" != returned) {
-					printf("[%s]", returned)
-				}
-				print ";"
+				printf("%s%s;\n", array[item]["name"], returned)
 			}
 		}
 		returned_size = array_get(what_idx, "byte_size")
@@ -146,11 +151,7 @@
 			if ("parent" in array[item] && \
 				array_get(item, "parent") == what_idx) {
 				returned = what_is(item)
-				printf("%s", array[item]["name"])
-				if ("" != returned) {
-					printf("[%s]", returned)
-				}
-				print ";"
+				printf("%s%s;\n", array[item]["name"], returned)
 			}
 		}
 		printf("} ")
@@ -207,11 +208,11 @@
 }
 /^DW_AT_upper_bound/ {
 	match($0, /[[:digit:]]+/, temparray)
-	array[parent[level-1]]["upper_bound"] = temparray[0] + 1
+	update_upper_bound(parent[level - 1], temparray[0] + 1)
 }
 /^DW_AT_count/ {
 	match($0, /[[:digit:]]+/, temparray)
-	array[parent[level-1]]["upper_bound"] = temparray[0]
+	update_upper_bound(parent[level - 1], temparray[0])
 }
 /^Abbrev Number:[^(]+\(DW_TAG_/ {
 	if (match($0, /typedef|union_type|structure_type|pointer_type\
diff --git a/mpers.sh b/mpers.sh
index 36913e7..714ad1b 100755
--- a/mpers.sh
+++ b/mpers.sh
@@ -1,6 +1,7 @@
 #!/bin/sh -e
 #
 # Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/mpers_test.sh b/mpers_test.sh
index 907460b..66588ee 100755
--- a/mpers_test.sh
+++ b/mpers_test.sh
@@ -2,6 +2,7 @@
 #
 # Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
 # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -56,7 +57,7 @@
 		long long sll __attribute__((__aligned__(8)));
 		unsigned long long ull;
 		unsigned long ul;
-		long asl[3];
+		long asl[3][5][7];
 		char f;
 		/* unsigned char mpers_end_filler_4[7]; */
 	} s;
@@ -68,11 +69,11 @@
 		unsigned long ul;
 		int si;
 		unsigned ui;
-		short ss;
-		unsigned short us;
+		short ss[7][9];
+		unsigned short us[4];
 		char sc;
 		unsigned char uc;
-	} u[3];
+	} u[3][2];
 	short f[0];
 } sample_struct;
 #include MPERS_DEFS
@@ -99,7 +100,7 @@
 int64_t sll;
 uint64_t ull;
 uint${size}_t ul;
-int${size}_t asl[3];
+int${size}_t asl[3][5][7];
 char f;
 unsigned char mpers_end_filler_4[7];
 } ATTRIBUTE_PACKED s;
@@ -111,11 +112,11 @@
 uint${size}_t ul;
 int32_t si;
 uint32_t ui;
-int16_t ss;
-uint16_t us;
+int16_t ss[7][9];
+uint16_t us[4];
 char sc;
 unsigned char uc;
-} u[3];
+} u[3][2];
 int16_t f[0];
 } ATTRIBUTE_PACKED ${mpers_name}_sample_struct;
 #define MPERS_${mpers_name}_sample_struct ${mpers_name}_sample_struct
diff --git a/mpers_type.h b/mpers_type.h
index ac840ad..ecb1efa 100644
--- a/mpers_type.h
+++ b/mpers_type.h
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/mpers_xlat.h b/mpers_xlat.h
index 52f4964..7ff78d9 100644
--- a/mpers_xlat.h
+++ b/mpers_xlat.h
@@ -72,12 +72,18 @@
 extern const struct xlat v4l2_format_description_flags[];
 extern const struct xlat v4l2_fields[];
 extern const struct xlat v4l2_colorspaces[];
+extern const struct xlat v4l2_vbi_flags[];
+extern const struct xlat v4l2_sliced_flags[];
 extern const struct xlat v4l2_memories[];
 extern const struct xlat v4l2_buf_flags[];
 extern const struct xlat v4l2_streaming_capabilities[];
 extern const struct xlat v4l2_capture_modes[];
 extern const struct xlat v4l2_input_types[];
 extern const struct xlat v4l2_control_ids[];
+extern const struct xlat v4l2_tuner_types[];
+extern const struct xlat v4l2_tuner_capabilities[];
+extern const struct xlat v4l2_tuner_rxsubchanses[];
+extern const struct xlat v4l2_tuner_audmodes[];
 extern const struct xlat v4l2_control_types[];
 extern const struct xlat v4l2_control_flags[];
 extern const struct xlat v4l2_control_classes[];
diff --git a/mq.c b/mq.c
index 5b46d47..1bcb515 100644
--- a/mq.c
+++ b/mq.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,7 +67,7 @@
 			printstrn(tcp, tcp->u_arg[1], tcp->u_rval);
 		tprintf(", %" PRI_klu ", ", tcp->u_arg[2]);
 		printnum_int(tcp, tcp->u_arg[3], "%u");
-		tprintf(", ");
+		tprints(", ");
 		/*
 		 * Since the timeout parameter is read by the kernel
 		 * on entering syscall, it has to be decoded the same way
diff --git a/mtd.c b/mtd.c
index 954a08b..b046859 100644
--- a/mtd.c
+++ b/mtd.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012 Mike Frysinger <vapier@gentoo.org>
+ * Copyright (c) 2012-2017 The strace developers.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
diff --git a/mx32_funcs.h b/mx32_funcs.h
index d90715f..451d1e2 100644
--- a/mx32_funcs.h
+++ b/mx32_funcs.h
@@ -8,6 +8,8 @@
 #define sys_shmctl mx32_sys_shmctl
 #undef sys_time
 #define sys_time mx32_sys_time
+#undef sys_rt_sigreturn
+#define sys_rt_sigreturn mx32_sys_rt_sigreturn
 #undef sys_sigaltstack
 #define sys_sigaltstack mx32_sys_sigaltstack
 #undef sys_sysinfo
diff --git a/mx32_printer_decls.h b/mx32_printer_decls.h
index 5f27eda..9ef7403 100644
--- a/mx32_printer_decls.h
+++ b/mx32_printer_decls.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
 extern int mx32_block_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
 extern int mx32_btrfs_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
 extern int mx32_evdev_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
@@ -25,7 +25,7 @@
 extern void mx32_print_itimerspec(struct tcb *const tcp, const kernel_ulong_t addr);
 extern void mx32_print_struct_timeval(const void *arg);
 extern void mx32_print_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
-extern void mx32_print_timeval_pair(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void mx32_print_timeval_utimes(struct tcb *const tcp, const kernel_ulong_t addr);
 extern const char * mx32_sprint_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
 extern void mx32_print_itimerval(struct tcb *const tcp, const kernel_ulong_t addr);
 extern int mx32_print_timex(struct tcb *const tcp, const kernel_ulong_t addr);
diff --git a/mx32_printer_defs.h b/mx32_printer_defs.h
index 306d802..033e7fe 100644
--- a/mx32_printer_defs.h
+++ b/mx32_printer_defs.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
 .block_ioctl = mx32_block_ioctl,
 .btrfs_ioctl = mx32_btrfs_ioctl,
 .evdev_ioctl = mx32_evdev_ioctl,
@@ -25,7 +25,7 @@
 .print_itimerspec = mx32_print_itimerspec,
 .print_struct_timeval = mx32_print_struct_timeval,
 .print_timeval = mx32_print_timeval,
-.print_timeval_pair = mx32_print_timeval_pair,
+.print_timeval_utimes = mx32_print_timeval_utimes,
 .sprint_timeval = mx32_sprint_timeval,
 .print_itimerval = mx32_print_itimerval,
 .print_timex = mx32_print_timex,
diff --git a/mx32_type_defs.h b/mx32_type_defs.h
index 61cb66b..a328250 100644
--- a/mx32_type_defs.h
+++ b/mx32_type_defs.h
@@ -97,6 +97,9 @@
 #ifdef MPERS_mx32_siginfo_t
 # define siginfo_t MPERS_mx32_siginfo_t
 #endif
+#ifdef MPERS_mx32_struct_rt_sigframe
+# define struct_rt_sigframe MPERS_mx32_struct_rt_sigframe
+#endif
 #ifdef MPERS_mx32_struct_rtc_pll_info
 # define struct_rtc_pll_info MPERS_mx32_struct_rtc_pll_info
 #endif
@@ -127,6 +130,9 @@
 #ifdef MPERS_mx32_struct_v4l2_buffer
 # define struct_v4l2_buffer MPERS_mx32_struct_v4l2_buffer
 #endif
+#ifdef MPERS_mx32_struct_v4l2_clip
+# define struct_v4l2_clip MPERS_mx32_struct_v4l2_clip
+#endif
 #ifdef MPERS_mx32_struct_v4l2_create_buffers
 # define struct_v4l2_create_buffers MPERS_mx32_struct_v4l2_create_buffers
 #endif
diff --git a/native_printer_decls.h b/native_printer_decls.h
index 06b1f7c..7698834 100644
--- a/native_printer_decls.h
+++ b/native_printer_decls.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
 extern int block_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
 extern int btrfs_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
 extern int evdev_ioctl(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
@@ -25,7 +25,7 @@
 extern void print_itimerspec(struct tcb *const tcp, const kernel_ulong_t addr);
 extern void print_struct_timeval(const void *arg);
 extern void print_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
-extern void print_timeval_pair(struct tcb *const tcp, const kernel_ulong_t addr);
+extern void print_timeval_utimes(struct tcb *const tcp, const kernel_ulong_t addr);
 extern const char * sprint_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
 extern void print_itimerval(struct tcb *const tcp, const kernel_ulong_t addr);
 extern int print_timex(struct tcb *const tcp, const kernel_ulong_t addr);
diff --git a/native_printer_defs.h b/native_printer_defs.h
index e5d977d..6377031 100644
--- a/native_printer_defs.h
+++ b/native_printer_defs.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
 .block_ioctl = block_ioctl,
 .btrfs_ioctl = btrfs_ioctl,
 .evdev_ioctl = evdev_ioctl,
@@ -17,7 +17,7 @@
 .mtd_ioctl = mtd_ioctl,
 .printmqattr = printmqattr,
 .tprint_msgbuf = tprint_msgbuf,
-.decode_sg_req_info = NULL,
+.decode_sg_req_info = decode_sg_req_info,
 .print_sigevent = print_sigevent,
 .print_timespec = print_timespec,
 .sprint_timespec = sprint_timespec,
@@ -25,7 +25,7 @@
 .print_itimerspec = print_itimerspec,
 .print_struct_timeval = print_struct_timeval,
 .print_timeval = print_timeval,
-.print_timeval_pair = print_timeval_pair,
+.print_timeval_utimes = print_timeval_utimes,
 .sprint_timeval = sprint_timeval,
 .print_itimerval = print_itimerval,
 .print_timex = print_timex,
diff --git a/net.c b/net.c
index 314e02a..01ab16b 100644
--- a/net.c
+++ b/net.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/netlink.c b/netlink.c
index db6e43f..10ca82c 100644
--- a/netlink.c
+++ b/netlink.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,6 +33,9 @@
 #include "xlat/netlink_flags.h"
 #include "xlat/netlink_types.h"
 
+#undef NLMSG_HDRLEN
+#define NLMSG_HDRLEN NLMSG_ALIGN(sizeof(struct nlmsghdr))
+
 /*
  * Fetch a struct nlmsghdr from the given address.
  */
@@ -70,6 +74,55 @@
 decode_nlmsghdr_with_payload(struct tcb *const tcp,
 			     const struct nlmsghdr *const nlmsghdr,
 			     const kernel_ulong_t addr,
+			     const kernel_ulong_t len);
+
+static void
+decode_nlmsgerr(struct tcb *const tcp,
+	       kernel_ulong_t addr,
+	       kernel_ulong_t len)
+{
+	struct nlmsgerr err;
+
+	if (umove_or_printaddr(tcp, addr, &err.error))
+		return;
+
+	tprints("{error=");
+	if (err.error < 0 && (unsigned) -err.error < nerrnos) {
+		tprintf("-%s", errnoent[-err.error]);
+	} else {
+		tprintf("%d", err.error);
+	}
+
+	addr += offsetof(struct nlmsgerr, msg);
+	len -= offsetof(struct nlmsgerr, msg);
+
+	if (len) {
+		tprints(", msg=");
+		if (fetch_nlmsghdr(tcp, &err.msg, addr, len)) {
+			decode_nlmsghdr_with_payload(tcp, &err.msg, addr, len);
+		}
+	}
+
+	tprints("}");
+}
+
+static void
+decode_payload(struct tcb *const tcp,
+	       const struct nlmsghdr *const nlmsghdr,
+	       const kernel_ulong_t addr,
+	       const kernel_ulong_t len)
+{
+	if (nlmsghdr->nlmsg_type == NLMSG_ERROR && len >= sizeof(int)) {
+		decode_nlmsgerr(tcp, addr, len);
+	} else {
+		printstrn(tcp, addr, len);
+	}
+}
+
+static void
+decode_nlmsghdr_with_payload(struct tcb *const tcp,
+			     const struct nlmsghdr *const nlmsghdr,
+			     const kernel_ulong_t addr,
 			     const kernel_ulong_t len)
 {
 	tprints("{");
@@ -78,11 +131,10 @@
 
 	unsigned int nlmsg_len =
 		nlmsghdr->nlmsg_len > len ? len : nlmsghdr->nlmsg_len;
-	if (nlmsg_len > sizeof(struct nlmsghdr)) {
+	if (nlmsg_len > NLMSG_HDRLEN) {
 		tprints(", ");
-
-		printstrn(tcp, addr + sizeof(struct nlmsghdr),
-			  nlmsg_len - sizeof(struct nlmsghdr));
+		decode_payload(tcp, nlmsghdr, addr + NLMSG_HDRLEN,
+					 nlmsg_len - NLMSG_HDRLEN);
 	}
 
 	tprints("}");
@@ -105,7 +157,7 @@
 		kernel_ulong_t next_addr = 0;
 		kernel_ulong_t next_len = 0;
 
-		if (nlmsghdr.nlmsg_len >= sizeof(struct nlmsghdr)) {
+		if (nlmsghdr.nlmsg_len >= NLMSG_HDRLEN) {
 			next_len = (len >= nlmsg_len) ? len - nlmsg_len : 0;
 
 			if (next_len && addr + nlmsg_len > addr)
diff --git a/nsfs.c b/nsfs.c
new file mode 100644
index 0000000..1048f9a
--- /dev/null
+++ b/nsfs.c
@@ -0,0 +1,65 @@
+/*
+ * Support for decoding of NS_* ioctl commands.
+ *
+ * Copyright (c) 2017 Nikolay Marchuk <marchuk.nikolay.a@gmail.com>
+ * 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 "defs.h"
+#include "nsfs.h"
+
+int
+nsfs_ioctl(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
+{
+	unsigned int uid;
+	switch (code) {
+	case NS_GET_USERNS:
+	case NS_GET_PARENT:
+		return 1 + RVAL_FD + RVAL_DECODED;
+	case NS_GET_NSTYPE:
+		if (entering(tcp))
+			return 0;
+		if (!syserror(tcp)) {
+			const char *outstr;
+			outstr = xlookup(setns_types, tcp->u_rval);
+			if (outstr) {
+				tcp->auxstr = outstr;
+				return 1 + RVAL_STR;
+			}
+		}
+		return 1;
+	case NS_GET_OWNER_UID:
+		if (entering(tcp))
+			return 0;
+		tprints(", ");
+		if (!umove_or_printaddr(tcp, arg, &uid)) {
+			printuid("[", uid);
+			tprints("]");
+		}
+		return 1;
+	default:
+		return RVAL_DECODED;
+	}
+}
diff --git a/nsfs.h b/nsfs.h
new file mode 100644
index 0000000..3e17c53
--- /dev/null
+++ b/nsfs.h
@@ -0,0 +1,21 @@
+#ifndef STRACE_NSFS_H
+#define STRACE_NSFS_H
+
+#include <linux/ioctl.h>
+
+#ifdef HAVE_LINUX_NSFS_H
+# include <linux/nsfs.h>
+#else
+# define NSIO    0xb7
+# define NS_GET_USERNS   _IO(NSIO, 0x1)
+# define NS_GET_PARENT   _IO(NSIO, 0x2)
+#endif
+
+#ifndef NS_GET_NSTYPE
+# define NS_GET_NSTYPE    _IO(NSIO, 0x3)
+#endif
+#ifndef NS_GET_OWNER_UID
+# define NS_GET_OWNER_UID _IO(NSIO, 0x4)
+#endif
+
+#endif /* !STRACE_NSFS_H */
diff --git a/numa.c b/numa.c
index c2cd143..a4b28f4 100644
--- a/numa.c
+++ b/numa.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2003-2007 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2005-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -142,7 +143,7 @@
 	const int status = * (int *) elem_buf;
 
 	if (status < 0 && (unsigned) -status < nerrnos)
-		tprintf("%s", errnoent[-status]);
+		tprintf("-%s", errnoent[-status]);
 	else
 		tprintf("%d", status);
 
diff --git a/oldstat.c b/oldstat.c
index 5535310..1caa2bf 100644
--- a/oldstat.c
+++ b/oldstat.c
@@ -4,6 +4,7 @@
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/open.c b/open.c
index 2944d55..222965b 100644
--- a/open.c
+++ b/open.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2006-2007 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2009-2013 Denys Vlasenko <dvlasenk@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/or1k_atomic.c b/or1k_atomic.c
index bb02e0e..fb6aff3 100644
--- a/or1k_atomic.c
+++ b/or1k_atomic.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2013 Christian Svensson <blue@cmd.nu>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/pathtrace.c b/pathtrace.c
index d991aed..ea48825 100644
--- a/pathtrace.c
+++ b/pathtrace.c
@@ -1,5 +1,6 @@
 /*
- * Copyright (c) 2011, Comtrol Corp.
+ * Copyright (c) 2011 Comtrol Corp.
+ * Copyright (c) 2011-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -183,6 +184,7 @@
 	case SEN_newfstatat:
 	case SEN_openat:
 	case SEN_readlinkat:
+	case SEN_statx:
 	case SEN_unlinkat:
 	case SEN_utimensat:
 		/* fd, path */
diff --git a/perf.c b/perf.c
index f151c19..98f2ae1 100644
--- a/perf.c
+++ b/perf.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2013 Ben Noordhuis <info@bnoordhuis.nl>
  * Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,7 +32,6 @@
 
 #include "perf_event_struct.h"
 
-#include "xlat/clocknames.h"
 #include "xlat/hw_breakpoint_len.h"
 #include "xlat/hw_breakpoint_type.h"
 #include "xlat/perf_attr_size.h"
@@ -160,7 +160,7 @@
 	}
 
 	PRINT_XLAT("{type=", perf_type_id, attr->type, "PERF_TYPE_???");
-	tprintf(", size=");
+	tprints(", size=");
 	printxval(perf_attr_size, attr->size, "PERF_ATTR_SIZE_???");
 
 	if (use_new_size) {
@@ -217,11 +217,11 @@
 		PRINT_XLAT("<<8|", perf_hw_cache_op_result_id,
 		           (attr->config >> 16) & 0xFF,
 		           "PERF_COUNT_HW_CACHE_RESULT_???");
-		tprintf("<<16");
-		if (attr->config >> 24)
-			tprintf("|%#" PRIx64 "<<24 "
-			        "/* PERF_COUNT_HW_CACHE_??? */",
-			        attr->config >> 24);
+		tprints("<<16");
+		if (attr->config >> 24) {
+			tprintf("|%#" PRIx64 "<<24", attr->config >> 24);
+			tprints_comment("PERF_COUNT_HW_CACHE_???");
+		}
 		break;
 	case PERF_TYPE_RAW:
 		/*
@@ -253,11 +253,11 @@
 	else
 		tprintf(", sample_period=%" PRIu64, attr->sample_period);
 
-	tprintf(", sample_type=");
+	tprints(", sample_type=");
 	printflags64(perf_event_sample_format, attr->sample_type,
 		"PERF_SAMPLE_???");
 
-	tprintf(", read_format=");
+	tprints(", read_format=");
 	printflags64(perf_event_read_format, attr->read_format,
 		"PERF_FORMAT_???");
 
@@ -276,18 +276,7 @@
 	        ", enable_on_exec=%u"
 	        ", task=%u"
 	        ", watermark=%u"
-	        ", precise_ip=%u /* %s */"
-	        ", mmap_data=%u"
-	        ", sample_id_all=%u"
-	        ", exclude_host=%u"
-	        ", exclude_guest=%u"
-	        ", exclude_callchain_kernel=%u"
-	        ", exclude_callchain_user=%u"
-	        ", mmap2=%u"
-	        ", comm_exec=%u"
-	        ", use_clockid=%u"
-	        ", context_switch=%u"
-	        ", write_backward=%u",
+	        ", precise_ip=%u",
 	        attr->disabled,
 	        attr->inherit,
 	        attr->pinned,
@@ -303,7 +292,19 @@
 	        attr->enable_on_exec,
 	        attr->task,
 	        attr->watermark,
-	        attr->precise_ip, precise_ip_desc[attr->precise_ip],
+	        attr->precise_ip);
+	tprints_comment(precise_ip_desc[attr->precise_ip]);
+	tprintf(", mmap_data=%u"
+	        ", sample_id_all=%u"
+	        ", exclude_host=%u"
+	        ", exclude_guest=%u"
+	        ", exclude_callchain_kernel=%u"
+	        ", exclude_callchain_user=%u"
+	        ", mmap2=%u"
+	        ", comm_exec=%u"
+	        ", use_clockid=%u"
+	        ", context_switch=%u"
+	        ", write_backward=%u",
 	        attr->mmap_data,
 	        attr->sample_id_all,
 	        attr->exclude_host,
@@ -320,9 +321,11 @@
 	 * Print it only in case it is non-zero, since it may contain flags we
 	 * are not aware about.
 	 */
-	if (attr->__reserved_1)
-		tprintf(", __reserved_1=%#" PRIx64 " /* Bits 63..28 */",
+	if (attr->__reserved_1) {
+		tprintf(", __reserved_1=%#" PRIx64,
 		        (uint64_t) attr->__reserved_1);
+		tprints_comment("Bits 63..28");
+	}
 
 	if (attr->watermark)
 		tprintf(", wakeup_watermark=%u", attr->wakeup_watermark);
@@ -355,7 +358,7 @@
 
 	_PERF_CHECK_FIELD(branch_sample_type);
 	if (attr->sample_type & PERF_SAMPLE_BRANCH_STACK) {
-		tprintf(", branch_sample_type=");
+		tprints(", branch_sample_type=");
 		printflags64(perf_branch_sample_type, attr->branch_sample_type,
 		             "PERF_SAMPLE_BRANCH_???");
 	}
@@ -380,7 +383,7 @@
 
 	if (attr->use_clockid) {
 		_PERF_CHECK_FIELD(clockid);
-		tprintf(", clockid=");
+		tprints(", clockid=");
 		printxval(clocknames, attr->clockid, "CLOCK_???");
 	}
 
@@ -399,9 +402,9 @@
 print_perf_event_attr_out:
 	if ((attr->size && (attr->size > size)) ||
 	    (!attr->size && (size < PERF_ATTR_SIZE_VER0)))
-		tprintf(", ...");
+		tprints(", ...");
 
-	tprintf("}");
+	tprints("}");
 }
 
 SYS_FUNC(perf_event_open)
diff --git a/poll.c b/poll.c
index f2a2381..e3b497c 100644
--- a/poll.c
+++ b/poll.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/prctl.c b/prctl.c
index 6779ad5..9b9b990 100644
--- a/prctl.c
+++ b/prctl.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1996-2000 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2007 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2008-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/print_mq_attr.c b/print_mq_attr.c
index b5f9c13..dfc326f 100644
--- a/print_mq_attr.c
+++ b/print_mq_attr.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,7 +55,7 @@
 	if (decode_flags)
 		printflags64(mq_attr_flags,
 			     zero_extend_signed_to_ull(attr.mq_flags),
-			     "/* O_??? */");
+			     "O_???");
 	else
 		tprintf("%#llx", zero_extend_signed_to_ull(attr.mq_flags));
 	tprintf(", mq_maxmsg=%lld, mq_msgsize=%lld, mq_curmsgs=%lld}",
diff --git a/print_msgbuf.c b/print_msgbuf.c
index 348a891..0a3147c 100644
--- a/print_msgbuf.c
+++ b/print_msgbuf.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/print_struct_stat.c b/print_struct_stat.c
index 7e9e233..ab13287 100644
--- a/print_struct_stat.c
+++ b/print_struct_stat.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2009-2010 Andreas Schwab <schwab@linux-m68k.org>
  * Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
  * Copyright (c) 2005-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -65,18 +66,20 @@
 	}
 
 	if (!abbrev(tcp)) {
-		tprints(", st_atime=");
-		tprints(sprinttime(st->atime));
-		if (st->atime_nsec)
-			tprintf(".%09llu", st->atime_nsec);
-		tprints(", st_mtime=");
-		tprints(sprinttime(st->mtime));
-		if (st->mtime_nsec)
-			tprintf(".%09llu", st->mtime_nsec);
-		tprints(", st_ctime=");
-		tprints(sprinttime(st->ctime));
-		if (st->ctime_nsec)
-			tprintf(".%09llu", st->ctime_nsec);
+#define PRINT_ST_TIME(field)						\
+	do {								\
+		tprintf(", st_" #field "=%lld", (long long) st->field);	\
+		tprints_comment(sprinttime_nsec(st->field,		\
+			zero_extend_signed_to_ull(st->field ## _nsec)));\
+		if (st->has_nsec)					\
+			tprintf(", st_" #field "_nsec=%llu",		\
+				zero_extend_signed_to_ull(		\
+					st->field ## _nsec));		\
+	} while (0)
+
+		PRINT_ST_TIME(atime);
+		PRINT_ST_TIME(mtime);
+		PRINT_ST_TIME(ctime);
 	} else {
 		tprints(", ...");
 	}
diff --git a/print_time.c b/print_time.c
index 82d64fa..faba47a 100644
--- a/print_time.c
+++ b/print_time.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,8 +37,17 @@
 	if (exiting(tcp)) {
 		time_t t;
 
-		if (!umove_or_printaddr(tcp, tcp->u_arg[0], &t))
-			tprintf("[%jd]", (intmax_t) t);
+		if (!umove_or_printaddr(tcp, tcp->u_arg[0], &t)) {
+			tprintf("[%lld", (long long) t);
+			tprints_comment(sprinttime(t));
+			tprints("]");
+		}
+
+		if (!syserror(tcp)) {
+			tcp->auxstr = sprinttime((time_t) tcp->u_rval);
+
+			return RVAL_STR;
+		}
 	}
 
 	return 0;
diff --git a/print_timespec.c b/print_timespec.c
index 76c70ed..1e99074 100644
--- a/print_timespec.c
+++ b/print_timespec.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,12 +41,13 @@
 # define UTIME_OMIT ((1l << 30) - 2l)
 #endif
 
-static const char timespec_fmt[] = "{tv_sec=%jd, tv_nsec=%jd}";
+static const char timespec_fmt[] = "{tv_sec=%lld, tv_nsec=%llu}";
 
 static void
 print_timespec_t(const timespec_t *t)
 {
-	tprintf(timespec_fmt, (intmax_t) t->tv_sec, (intmax_t) t->tv_nsec);
+	tprintf(timespec_fmt, (long long) t->tv_sec,
+		zero_extend_signed_to_ull(t->tv_nsec));
 }
 
 static void
@@ -60,6 +62,8 @@
 		break;
 	default:
 		print_timespec_t(t);
+		tprints_comment(sprinttime_nsec(t->tv_sec,
+			zero_extend_signed_to_ull(t->tv_nsec)));
 		break;
 	}
 }
@@ -88,7 +92,8 @@
 		snprintf(buf, sizeof(buf), "%#" PRI_klx, addr);
 	} else {
 		snprintf(buf, sizeof(buf), timespec_fmt,
-			 (intmax_t) t.tv_sec, (intmax_t) t.tv_nsec);
+			 (long long) t.tv_sec,
+			 zero_extend_signed_to_ull(t.tv_nsec));
 	}
 
 	return buf;
diff --git a/print_timeval.c b/print_timeval.c
index 5c28675..8d62554 100644
--- a/print_timeval.c
+++ b/print_timeval.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,12 +33,21 @@
 
 #include MPERS_DEFS
 
-static const char timeval_fmt[]  = "{tv_sec=%jd, tv_usec=%jd}";
+static const char timeval_fmt[]  = "{tv_sec=%lld, tv_usec=%llu}";
 
 static void
 print_timeval_t(const timeval_t *t)
 {
-	tprintf(timeval_fmt, (intmax_t) t->tv_sec, (intmax_t) t->tv_usec);
+	tprintf(timeval_fmt, (long long) t->tv_sec,
+		zero_extend_signed_to_ull(t->tv_usec));
+}
+
+static void
+print_timeval_t_utime(const timeval_t *t)
+{
+	print_timeval_t(t);
+	tprints_comment(sprinttime_usec(t->tv_sec,
+		zero_extend_signed_to_ull(t->tv_usec)));
 }
 
 MPERS_PRINTER_DECL(void, print_struct_timeval, const void *arg)
@@ -57,23 +66,19 @@
 	print_timeval_t(&t);
 }
 
-static bool
-print_timeval_item(struct tcb *tcp, void *elem_buf, size_t size, void *data)
-{
-	timeval_t *t = elem_buf;
-
-	print_timeval_t(t);
-
-	return true;
-}
-
-MPERS_PRINTER_DECL(void, print_timeval_pair,
+MPERS_PRINTER_DECL(void, print_timeval_utimes,
 		   struct tcb *const tcp, const kernel_ulong_t addr)
 {
-	timeval_t t;
+	timeval_t t[2];
 
-	print_array(tcp, addr, 2, &t, sizeof(t), umoven_or_printaddr,
-		    print_timeval_item, NULL);
+	if (umove_or_printaddr(tcp, addr, &t))
+		return;
+
+	tprints("[");
+	print_timeval_t_utime(&t[0]);
+	tprints(", ");
+	print_timeval_t_utime(&t[1]);
+	tprints("]");
 }
 
 MPERS_PRINTER_DECL(const char *, sprint_timeval,
@@ -89,7 +94,8 @@
 		snprintf(buf, sizeof(buf), "%#" PRI_klx, addr);
 	} else {
 		snprintf(buf, sizeof(buf), timeval_fmt,
-			 (intmax_t) t.tv_sec, (intmax_t) t.tv_usec);
+			 (long long) t.tv_sec,
+			 zero_extend_signed_to_ull(t.tv_usec));
 	}
 
 	return buf;
@@ -115,7 +121,16 @@
 void
 print_timeval32_t(const timeval32_t *t)
 {
-	tprintf(timeval_fmt, (intmax_t) t->tv_sec, (intmax_t) t->tv_usec);
+	tprintf(timeval_fmt, (long long) t->tv_sec,
+		zero_extend_signed_to_ull(t->tv_usec));
+}
+
+static void
+print_timeval32_t_utime(const timeval32_t *t)
+{
+	print_timeval32_t(t);
+	tprints_comment(sprinttime_usec(t->tv_sec,
+		zero_extend_signed_to_ull(t->tv_usec)));
 }
 
 void
@@ -130,7 +145,7 @@
 }
 
 void
-print_timeval32_pair(struct tcb *const tcp, const kernel_ulong_t addr)
+print_timeval32_utimes(struct tcb *const tcp, const kernel_ulong_t addr)
 {
 	timeval32_t t[2];
 
@@ -138,9 +153,9 @@
 		return;
 
 	tprints("[");
-	print_timeval32_t(&t[0]);
+	print_timeval32_t_utime(&t[0]);
 	tprints(", ");
-	print_timeval32_t(&t[1]);
+	print_timeval32_t_utime(&t[1]);
 	tprints("]");
 }
 
@@ -172,7 +187,8 @@
 		snprintf(buf, sizeof(buf), "%#" PRI_klx, addr);
 	} else {
 		snprintf(buf, sizeof(buf), timeval_fmt,
-			 (intmax_t) t.tv_sec, (intmax_t) t.tv_usec);
+			 (long long) t.tv_sec,
+			 zero_extend_signed_to_ull(t.tv_usec));
 	}
 
 	return buf;
diff --git a/print_timex.c b/print_timex.c
index 5d0c478..6722906 100644
--- a/print_timex.c
+++ b/print_timex.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/printers.h b/printers.h
index 7e67ade..c775092 100644
--- a/printers.h
+++ b/printers.h
@@ -1,4 +1,4 @@
-/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
+/* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev.c.mpers.i fetch_seccomp_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */
 typedef struct {
  int (*block_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg);
 #define block_ioctl MPERS_PRINTER_NAME(block_ioctl)
@@ -78,8 +78,8 @@
  void (*print_timeval)(struct tcb *const tcp, const kernel_ulong_t addr);
 #define print_timeval MPERS_PRINTER_NAME(print_timeval)
 
- void (*print_timeval_pair)(struct tcb *const tcp, const kernel_ulong_t addr);
-#define print_timeval_pair MPERS_PRINTER_NAME(print_timeval_pair)
+ void (*print_timeval_utimes)(struct tcb *const tcp, const kernel_ulong_t addr);
+#define print_timeval_utimes MPERS_PRINTER_NAME(print_timeval_utimes)
 
  const char * (*sprint_timeval)(struct tcb *const tcp, const kernel_ulong_t addr);
 #define sprint_timeval MPERS_PRINTER_NAME(sprint_timeval)
diff --git a/printmode.c b/printmode.c
index 1babed6..d9dcfa3 100644
--- a/printmode.c
+++ b/printmode.c
@@ -4,6 +4,7 @@
  * Copyright (c) 1993-1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2012 Denys Vlasenko <vda.linux@googlemail.com>
+ * Copyright (c) 2012-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/printrusage.c b/printrusage.c
index 0a6a3c3..a25ef99 100644
--- a/printrusage.c
+++ b/printrusage.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/printsiginfo.c b/printsiginfo.c
index 7bbb421..2c7b203 100644
--- a/printsiginfo.c
+++ b/printsiginfo.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2013 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2011-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/process.c b/process.c
index 6928fb9..b36cd4b 100644
--- a/process.c
+++ b/process.c
@@ -8,6 +8,7 @@
  *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
  * Copyright (c) 2000 PocketPenguins Inc.  Linux for Hitachi SuperH
  *                    port by Greg Banks <gbanks@pocketpenguins.com>
+ * Copyright (c) 1999-2017 The strace developers.
  *
  * All rights reserved.
  *
diff --git a/process_vm.c b/process_vm.c
index f63b917..e6c2784 100644
--- a/process_vm.c
+++ b/process_vm.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2012 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2012-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ptp.c b/ptp.c
index e2a720b..6a8a9d2 100644
--- a/ptp.c
+++ b/ptp.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2014 Stefan Sørensen <stefan.sorensen@spectralink.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/qualify.c b/qualify.c
index bb4aefe..30888e6 100644
--- a/qualify.c
+++ b/qualify.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -27,6 +28,7 @@
 
 #include "defs.h"
 #include "nsig.h"
+#include <regex.h>
 
 typedef unsigned int number_slot_t;
 #define BITS_PER_SLOT (sizeof(number_slot_t) * 8)
@@ -198,6 +200,48 @@
 	return done;
 }
 
+static void
+regerror_msg_and_die(int errcode, const regex_t *preg,
+		     const char *str, const char *pattern)
+{
+	char buf[512];
+
+	regerror(errcode, preg, buf, sizeof(buf));
+	error_msg_and_die("%s: %s: %s", str, pattern, buf);
+}
+
+static bool
+qualify_syscall_regex(const char *s, struct number_set *set)
+{
+	regex_t preg;
+	int rc;
+
+	if ((rc = regcomp(&preg, s, REG_EXTENDED | REG_NOSUB)) != 0)
+		regerror_msg_and_die(rc, &preg, "regcomp", s);
+
+	unsigned int p;
+	bool found = false;
+	for (p = 0; p < SUPPORTED_PERSONALITIES; ++p) {
+		unsigned int i;
+
+		for (i = 0; i < nsyscall_vec[p]; ++i) {
+			if (!sysent_vec[p][i].sys_name)
+				continue;
+			rc = regexec(&preg, sysent_vec[p][i].sys_name,
+				     0, NULL, 0);
+			if (rc == REG_NOMATCH)
+				continue;
+			else if (rc)
+				regerror_msg_and_die(rc, &preg, "regexec", s);
+			add_number_to_set(i, &set[p]);
+			found = true;
+		}
+	}
+
+	regfree(&preg);
+	return found;
+}
+
 static unsigned int
 lookup_class(const char *s)
 {
@@ -212,6 +256,20 @@
 		{ "signal",	TRACE_SIGNAL	},
 		{ "ipc",	TRACE_IPC	},
 		{ "network",	TRACE_NETWORK	},
+		{ "%desc",	TRACE_DESC	},
+		{ "%file",	TRACE_FILE	},
+		{ "%memory",	TRACE_MEMORY	},
+		{ "%process",	TRACE_PROCESS	},
+		{ "%signal",	TRACE_SIGNAL	},
+		{ "%ipc",	TRACE_IPC	},
+		{ "%network",	TRACE_NETWORK	},
+		{ "%stat",	TRACE_STAT	},
+		{ "%lstat",	TRACE_LSTAT	},
+		{ "%fstat",	TRACE_FSTAT	},
+		{ "%%stat",	TRACE_STAT_LIKE	},
+		{ "%statfs",	TRACE_STATFS	},
+		{ "%fstatfs",	TRACE_FSTATFS	},
+		{ "%%statfs",	TRACE_STATFS_LIKE	},
 	};
 
 	unsigned int i;
@@ -272,10 +330,19 @@
 static bool
 qualify_syscall(const char *token, struct number_set *set)
 {
+	bool ignore_fail = false;
+
+	while (*token == '?') {
+		token++;
+		ignore_fail = true;
+	}
 	if (*token >= '0' && *token <= '9')
-		return qualify_syscall_number(token, set);
+		return qualify_syscall_number(token, set) || ignore_fail;
+	if (*token == '/')
+		return qualify_syscall_regex(token + 1, set) || ignore_fail;
 	return qualify_syscall_class(token, set)
-	       || qualify_syscall_name(token, set);
+	       || qualify_syscall_name(token, set)
+	       || ignore_fail;
 }
 
 /*
diff --git a/readlink.c b/readlink.c
index fd65b25..38eb078 100644
--- a/readlink.c
+++ b/readlink.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2006 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2006 Bernhard Kaindl <bk@suse.de>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/resource.c b/resource.c
index 61c877e..ab36752 100644
--- a/resource.c
+++ b/resource.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/rt_sigframe.c b/rt_sigframe.c
new file mode 100644
index 0000000..d9bcb4f
--- /dev/null
+++ b/rt_sigframe.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "defs.h"
+#include "regs.h"
+#include "ptrace.h"
+
+#define	DEF_FUNC_GET_RT_SIGFRAME_ADDR	\
+		kernel_ulong_t get_rt_sigframe_addr(struct tcb *tcp)
+#define	FUNC_GET_RT_SIGFRAME_ADDR	DEF_FUNC_GET_RT_SIGFRAME_ADDR
+
+#include "arch_rt_sigframe.c"
diff --git a/rt_sigreturn.c b/rt_sigreturn.c
new file mode 100644
index 0000000..af705c3
--- /dev/null
+++ b/rt_sigreturn.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 "defs.h"
+
+#include DEF_MPERS_TYPE(struct_rt_sigframe)
+
+#include "rt_sigframe.h"
+
+#include MPERS_DEFS
+
+#ifndef OFFSETOF_SIGMASK_IN_RT_SIGFRAME
+# define OFFSETOF_SIGMASK_IN_RT_SIGFRAME	\
+		offsetof(struct_rt_sigframe, uc.uc_sigmask)
+#endif
+
+SYS_FUNC(rt_sigreturn)
+{
+	const kernel_ulong_t sf_addr = get_rt_sigframe_addr(tcp);
+
+	if (sf_addr) {
+		const kernel_ulong_t sm_addr =
+			sf_addr + OFFSETOF_SIGMASK_IN_RT_SIGFRAME;
+		tprints("{mask=");
+		print_sigset_addr(tcp, sm_addr);
+		tprints("}");
+	}
+
+	return RVAL_DECODED;
+}
diff --git a/sched.c b/sched.c
index 9024261..7222632 100644
--- a/sched.c
+++ b/sched.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2005 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2012-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -30,6 +31,7 @@
 #include "defs.h"
 
 #include <sched.h>
+#include "sched_attr.h"
 
 #include "xlat/schedulers.h"
 #include "xlat/sched_flags.h"
@@ -95,42 +97,73 @@
 
 static void
 print_sched_attr(struct tcb *const tcp, const kernel_ulong_t addr,
-		 unsigned int size)
+		 unsigned int usize)
 {
-	struct {
-		uint32_t size;
-		uint32_t sched_policy;
-		uint64_t sched_flags;
-		uint32_t sched_nice;
-		uint32_t sched_priority;
-		uint64_t sched_runtime;
-		uint64_t sched_deadline;
-		uint64_t sched_period;
-	} attr = {};
+	struct sched_attr attr = {};
+	unsigned int size;
 
-	if (size > sizeof(attr))
-		size = sizeof(attr);
-	if (umoven_or_printaddr(tcp, addr, size, &attr))
-		return;
+	if (usize) {
+		/* called from sched_getattr */
+		size = usize <= sizeof(attr) ? usize : (unsigned) sizeof(attr);
+		if (umoven_or_printaddr(tcp, addr, size, &attr))
+			return;
+		/* the number of bytes written by the kernel */
+		size = attr.size;
+	} else {
+		/* called from sched_setattr */
+		if (umove_or_printaddr(tcp, addr, &attr.size))
+			return;
+		usize = attr.size;
+		if (!usize)
+			usize = SCHED_ATTR_MIN_SIZE;
+		size = usize <= sizeof(attr) ? usize : (unsigned) sizeof(attr);
+		if (size >= SCHED_ATTR_MIN_SIZE) {
+			if (umoven_or_printaddr(tcp, addr, size, &attr))
+				return;
+		}
+	}
 
-	tprintf("{size=%u, sched_policy=", attr.size);
-	printxval(schedulers, attr.sched_policy, "SCHED_???");
-	tprints(", sched_flags=");
-	printflags64(sched_flags, attr.sched_flags, "SCHED_FLAG_???");
-	tprintf(", sched_nice=%d", attr.sched_nice);
-	tprintf(", sched_priority=%u", attr.sched_priority);
-	tprintf(", sched_runtime=%" PRIu64, attr.sched_runtime);
-	tprintf(", sched_deadline=%" PRIu64, attr.sched_deadline);
-	tprintf(", sched_period=%" PRIu64 "}", attr.sched_period);
+	tprintf("{size=%u", attr.size);
+
+	if (size >= SCHED_ATTR_MIN_SIZE) {
+		tprints(", sched_policy=");
+		printxval(schedulers, attr.sched_policy, "SCHED_???");
+		tprints(", sched_flags=");
+		printflags64(sched_flags, attr.sched_flags, "SCHED_FLAG_???");
+
+#define PRINT_SCHED_FIELD(field, fmt)			\
+		tprintf(", " #field "=%" fmt, attr.field)
+
+		PRINT_SCHED_FIELD(sched_nice, "d");
+		PRINT_SCHED_FIELD(sched_priority, "u");
+		PRINT_SCHED_FIELD(sched_runtime, PRIu64);
+		PRINT_SCHED_FIELD(sched_deadline, PRIu64);
+		PRINT_SCHED_FIELD(sched_period, PRIu64);
+
+		if (usize > size)
+			tprints(", ...");
+	}
+
+	tprints("}");
 }
 
 SYS_FUNC(sched_setattr)
 {
-	tprintf("%d, ", (int) tcp->u_arg[0]);
-	print_sched_attr(tcp, tcp->u_arg[1], 0x100);
-	tprintf(", %u", (unsigned int) tcp->u_arg[2]);
+	if (entering(tcp)) {
+		tprintf("%d, ", (int) tcp->u_arg[0]);
+		print_sched_attr(tcp, tcp->u_arg[1], 0);
+	} else {
+		struct sched_attr attr;
 
-	return RVAL_DECODED;
+		if (verbose(tcp) && tcp->u_error == E2BIG
+		    && umove(tcp, tcp->u_arg[1], &attr.size) == 0) {
+			tprintf(" => {size=%u}", attr.size);
+		}
+
+		tprintf(", %u", (unsigned int) tcp->u_arg[2]);
+	}
+
+	return 0;
 }
 
 SYS_FUNC(sched_getattr)
@@ -138,10 +171,25 @@
 	if (entering(tcp)) {
 		tprintf("%d, ", (int) tcp->u_arg[0]);
 	} else {
-		print_sched_attr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
-		tprintf(", %u, %u",
-			(unsigned int) tcp->u_arg[2],
-			(unsigned int) tcp->u_arg[3]);
+		const unsigned int size = tcp->u_arg[2];
+
+		if (size)
+			print_sched_attr(tcp, tcp->u_arg[1], size);
+		else
+			printaddr(tcp->u_arg[1]);
+		tprints(", ");
+#ifdef AARCH64
+		/*
+		 * Due to a subtle gcc bug that leads to miscompiled aarch64
+		 * kernels, the 3rd argument of sched_getattr is not quite 32-bit
+		 * as on other architectures.  For more details see
+		 * https://sourceforge.net/p/strace/mailman/message/35721703/
+		 */
+		if (syserror(tcp))
+			print_abnormal_hi(tcp->u_arg[2]);
+#endif
+		tprintf("%u", size);
+		tprintf(", %u", (unsigned int) tcp->u_arg[3]);
 	}
 
 	return 0;
diff --git a/sched_attr.h b/sched_attr.h
new file mode 100644
index 0000000..251d2c4
--- /dev/null
+++ b/sched_attr.h
@@ -0,0 +1,19 @@
+#ifndef STRACE_SCHED_ATTR_H
+#define STRACE_SCHED_ATTR_H
+
+# include <stdint.h>
+
+struct sched_attr {
+	uint32_t size;
+	uint32_t sched_policy;
+	uint64_t sched_flags;
+	uint32_t sched_nice;
+	uint32_t sched_priority;
+	uint64_t sched_runtime;
+	uint64_t sched_deadline;
+	uint64_t sched_period;
+};
+
+# define SCHED_ATTR_MIN_SIZE	48
+
+#endif /* !STRACE_SCHED_ATTR_H */
diff --git a/scno.am b/scno.am
deleted file mode 100644
index 12745f1..0000000
--- a/scno.am
+++ /dev/null
@@ -1,44 +0,0 @@
-# scno.h make rules for strace.
-#
-# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
-# 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_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
-
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
-	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
-
-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
-
-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 $@
-
-CLEANFILES += syscallent.i scno.h
diff --git a/scno.h b/scno.h
index 9004580..aa7ac9f 100644
--- a/scno.h
+++ b/scno.h
@@ -1001,3 +1001,6 @@
 #ifndef __NR_pkey_free
 # define __NR_pkey_free (SYSCALL_BIT | 331)
 #endif
+#ifndef __NR_statx
+# define __NR_statx (SYSCALL_BIT | 332)
+#endif
diff --git a/seccomp.c b/seccomp.c
index f778a6c..100b7d4 100644
--- a/seccomp.c
+++ b/seccomp.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -75,8 +76,10 @@
 			break;
 		case BPF_ST:
 		case BPF_STX:
-			if (i)
-				tprintf("|%#x /* %s */", i, "BPF_???");
+			if (i) {
+				tprintf("|%#x", i);
+				tprints_comment("BPF_???");
+			}
 			break;
 		case BPF_ALU:
 			tprints("|");
@@ -94,15 +97,19 @@
 			tprints("|");
 			printxval(bpf_rval, BPF_RVAL(code), "BPF_???");
 			i &= ~BPF_RVAL(code);
-			if (i)
-				tprintf("|%#x /* %s */", i, "BPF_???");
+			if (i) {
+				tprintf("|%#x", i);
+				tprints_comment("BPF_???");
+			}
 			break;
 		case BPF_MISC:
 			tprints("|");
 			printxval(bpf_miscop, BPF_MISCOP(code), "BPF_???");
 			i &= ~BPF_MISCOP(code);
-			if (i)
-				tprintf("|%#x /* %s */", i, "BPF_???");
+			if (i) {
+				tprintf("|%#x", i);
+				tprints_comment("BPF_???");
+			}
 			break;
 	}
 
diff --git a/sen.h b/sen.h
index 7cee717..a078b25 100644
--- a/sen.h
+++ b/sen.h
@@ -338,6 +338,7 @@
 SEN_setuid16,
 SEN_setup,
 SEN_setxattr,
+SEN_sgetmask,
 SEN_shmat,
 SEN_shmctl,
 SEN_shmdt,
@@ -345,24 +346,24 @@
 SEN_shutdown,
 SEN_sigaction,
 SEN_sigaltstack,
-SEN_siggetmask,
 SEN_signal,
 SEN_signalfd,
 SEN_signalfd4,
 SEN_sigpending,
 SEN_sigprocmask,
 SEN_sigreturn,
-SEN_sigsetmask,
 SEN_sigsuspend,
 SEN_socket,
 SEN_socketcall,
 SEN_socketpair,
 SEN_splice,
 SEN_sram_alloc,
+SEN_ssetmask,
 SEN_stat,
 SEN_stat64,
 SEN_statfs,
 SEN_statfs64,
+SEN_statx,
 SEN_stime,
 SEN_stty,
 SEN_subpage_prot,
diff --git a/sendfile.c b/sendfile.c
index 7faf1ca..a776688 100644
--- a/sendfile.c
+++ b/sendfile.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/sigaltstack.c b/sigaltstack.c
index 7b624c9..bf4c9cc 100644
--- a/sigaltstack.c
+++ b/sigaltstack.c
@@ -5,6 +5,7 @@
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/signal.c b/signal.c
index 25329d3..2c21f90 100644
--- a/signal.c
+++ b/signal.c
@@ -6,6 +6,7 @@
  * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  *                     Linux for s390 port by D.J. Barrow
  *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * Copyright (C) 2001-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -229,6 +230,24 @@
 #define tprintsigmask_val(prefix, mask) \
 	tprints(sprintsigmask_n((prefix), &(mask), sizeof(mask)))
 
+static const char *
+sprint_old_sigmask_val(const char *const prefix, const unsigned long mask)
+{
+#if defined(current_wordsize) || !defined(WORDS_BIGENDIAN)
+	return sprintsigmask_n(prefix, &mask, current_wordsize);
+#else /* !current_wordsize && WORDS_BIGENDIAN */
+	if (current_wordsize == sizeof(mask)) {
+		return sprintsigmask_val(prefix, mask);
+	} else {
+		uint32_t mask32 = mask;
+		return sprintsigmask_val(prefix, mask32);
+	}
+#endif
+}
+
+#define tprint_old_sigmask_val(prefix, mask) \
+	tprints(sprint_old_sigmask_val((prefix), (mask)))
+
 void
 printsignal(int nr)
 {
@@ -260,13 +279,20 @@
 	print_sigset_addr_len_limit(tcp, addr, len, current_wordsize);
 }
 
-SYS_FUNC(sigsetmask)
+void
+print_sigset_addr(struct tcb *const tcp, const kernel_ulong_t addr)
+{
+	print_sigset_addr_len_limit(tcp, addr, NSIG_BYTES, NSIG_BYTES);
+}
+
+SYS_FUNC(ssetmask)
 {
 	if (entering(tcp)) {
-		tprintsigmask_val("", tcp->u_arg[0]);
+		tprint_old_sigmask_val("", (unsigned) tcp->u_arg[0]);
 	}
 	else if (!syserror(tcp)) {
-		tcp->auxstr = sprintsigmask_val("old mask ", tcp->u_rval);
+		tcp->auxstr = sprint_old_sigmask_val("old mask ",
+						     (unsigned) tcp->u_rval);
 		return RVAL_HEX | RVAL_STR;
 	}
 	return 0;
@@ -368,17 +394,23 @@
 	return 0;
 }
 
-SYS_FUNC(siggetmask)
+SYS_FUNC(sgetmask)
 {
-	if (exiting(tcp)) {
-		tcp->auxstr = sprintsigmask_val("mask ", tcp->u_rval);
+	if (exiting(tcp) && !syserror(tcp)) {
+		tcp->auxstr = sprint_old_sigmask_val("mask ", tcp->u_rval);
+		return RVAL_HEX | RVAL_STR;
 	}
-	return RVAL_HEX | RVAL_STR;
+	return 0;
 }
 
 SYS_FUNC(sigsuspend)
 {
-	tprintsigmask_val("", tcp->u_arg[2]);
+#ifdef MIPS
+	print_sigset_addr_len(tcp, tcp->u_arg[tcp->s_ent->nargs - 1],
+			      current_wordsize);
+#else
+	tprint_old_sigmask_val("", tcp->u_arg[tcp->s_ent->nargs - 1]);
+#endif
 
 	return RVAL_DECODED;
 }
diff --git a/signalent.sh b/signalent.sh
deleted file mode 100755
index 62ae786..0000000
--- a/signalent.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-# Copyright (c) 1996 Rick Sladkey <jrs@world.std.com>
-# 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.
-
-cat $* |
-	sed -n -e 's/\/\*.*\*\// /' -e 's/^#[ 	]*define[ 	][ 	]*SIG\([^_ 	]*\)[ 	][ 	]*\([0-9][0-9]*\)[ 	]*$/\1 \2/p' |
-	sort -k2n | uniq |
-	awk '
-	BEGIN {
-		tabs = "\t\t\t\t\t\t\t\t"
-		signal = -1;
-	}
-	$2 <= 256 {
-		if (signal == $2)
-			next
-		while (++signal < $2) {
-			n = "\"SIG_" signal "\""
-			s = "\t" n ","
-			s = s substr(tabs, 1, 16/8 - int((length(n) + 1)/8))
-			s = s "/* " signal " */"
-			print s
-		}
-		if (signal == $2)
-			n = "\"SIG" $1 "\""
-		n = "\"SIG" $1 "\""
-		s = "\t" n ","
-		s = s substr(tabs, 1, 16/8 - int((length(n) + 1)/8))
-		s = s "/* " signal " */"
-		print s
-	}
-	'
diff --git a/signalfd.c b/signalfd.c
index 3895c76..baf0dab 100644
--- a/signalfd.c
+++ b/signalfd.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2008-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/sock.c b/sock.c
index 9dd247c..2da323d 100644
--- a/sock.c
+++ b/sock.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/socketutils.c b/socketutils.c
index d50ef83..ef8269c 100644
--- a/socketutils.c
+++ b/socketutils.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2014 Zubin Mithra <zubin.mithra@gmail.com>
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,13 +37,16 @@
 #include <linux/unix_diag.h>
 #include <linux/netlink_diag.h>
 #include <linux/rtnetlink.h>
-#include "xlat/netlink_protocols.h"
 
 #include <sys/un.h>
 #ifndef UNIX_PATH_MAX
 # define UNIX_PATH_MAX sizeof(((struct sockaddr_un *) 0)->sun_path)
 #endif
 
+#ifndef NETLINK_SOCK_DIAG
+# define NETLINK_SOCK_DIAG 4
+#endif
+
 typedef struct {
 	unsigned long inode;
 	char *details;
diff --git a/stat.c b/stat.c
index 28bd15e..0e07e8a 100644
--- a/stat.c
+++ b/stat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/stat.h b/stat.h
index 092d268..bcea86b 100644
--- a/stat.h
+++ b/stat.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -45,6 +46,7 @@
 	unsigned long long	atime_nsec;
 	unsigned long long	ctime_nsec;
 	unsigned long long	mtime_nsec;
+	bool			has_nsec;
 };
 
 #endif /* !STRACE_STAT_H */
diff --git a/stat64.c b/stat64.c
index 09d203d..97191c0 100644
--- a/stat64.c
+++ b/stat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/statx.c b/statx.c
new file mode 100644
index 0000000..6e91387
--- /dev/null
+++ b/statx.c
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+#include "statx.h"
+
+#include <sys/stat.h>
+
+#include "xlat/statx_masks.h"
+#include "xlat/statx_attrs.h"
+#include "xlat/at_statx_sync_types.h"
+
+SYS_FUNC(statx)
+{
+	if (entering(tcp)) {
+		print_dirfd(tcp, tcp->u_arg[0]);
+		printpath(tcp, tcp->u_arg[1]);
+		tprints(", ");
+
+		unsigned int flags = tcp->u_arg[2];
+		printflags(at_statx_sync_types, flags & AT_STATX_SYNC_TYPE,
+			   NULL);
+		flags &= ~AT_STATX_SYNC_TYPE;
+		if (flags) {
+			tprints("|");
+			printflags(at_flags, flags, NULL);
+		}
+
+		tprints(", ");
+		printflags(statx_masks, tcp->u_arg[3], "STATX_???");
+		tprints(", ");
+	} else {
+#define PRINT_FIELD_U(field) \
+	tprintf(", %s=%llu", #field, (unsigned long long) stx.field)
+
+#define PRINT_FIELD_TIME(field)						\
+	do {								\
+		tprintf(", " #field "={tv_sec=%" PRId64			\
+			", tv_nsec=%" PRIu32 "}",			\
+			stx.field.sec, stx.field.nsec);			\
+		tprints_comment(sprinttime_nsec(stx.field.sec,		\
+			zero_extend_signed_to_ull(stx.field.nsec)));	\
+	} while (0)
+
+		struct_statx stx;
+		if (umove_or_printaddr(tcp, tcp->u_arg[4], &stx))
+			return 0;
+
+		tprints("{stx_mask=");
+		printflags(statx_masks, stx.stx_mask, "STATX_???");
+
+		if (!abbrev(tcp))
+			PRINT_FIELD_U(stx_blksize);
+
+		tprints(", stx_attributes=");
+		printflags(statx_attrs, stx.stx_attributes, "STATX_ATTR_???");
+
+		if (!abbrev(tcp)) {
+			PRINT_FIELD_U(stx_nlink);
+			printuid(", stx_uid=", stx.stx_uid);
+			printuid(", stx_gid=", stx.stx_gid);
+		}
+
+		tprints(", stx_mode=");
+		print_symbolic_mode_t(stx.stx_mode);
+
+		if (!abbrev(tcp))
+			PRINT_FIELD_U(stx_ino);
+
+		PRINT_FIELD_U(stx_size);
+
+		if (!abbrev(tcp)) {
+			PRINT_FIELD_U(stx_blocks);
+
+			tprints(", stx_attributes_mask=");
+			printflags(statx_attrs, stx.stx_attributes_mask,
+				   "STATX_ATTR_???");
+
+			PRINT_FIELD_TIME(stx_atime);
+			PRINT_FIELD_TIME(stx_btime);
+			PRINT_FIELD_TIME(stx_ctime);
+			PRINT_FIELD_TIME(stx_mtime);
+			PRINT_FIELD_U(stx_rdev_major);
+			PRINT_FIELD_U(stx_rdev_minor);
+			PRINT_FIELD_U(stx_dev_major);
+			PRINT_FIELD_U(stx_dev_minor);
+		} else {
+			tprints(", ...");
+		}
+		tprints("}");
+	}
+	return 0;
+}
diff --git a/statx.h b/statx.h
new file mode 100644
index 0000000..2037287
--- /dev/null
+++ b/statx.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef STRACE_STATX_H
+#define STRACE_STATX_H
+
+#include <stdint.h>
+
+typedef struct {
+	int64_t sec;
+	int32_t nsec;
+	int32_t reserved;
+} struct_statx_timestamp;
+
+typedef struct {
+	uint32_t stx_mask; /* What results were written [uncond] */
+	uint32_t stx_blksize; /* Preferred general I/O size [uncond] */
+	uint64_t stx_attributes; /* Flags conveying information about the file
+	                            [uncond] */
+
+	uint32_t stx_nlink; /* Number of hard links */
+	uint32_t stx_uid; /* User ID of owner */
+	uint32_t stx_gid; /* Group ID of owner */
+	uint16_t stx_mode; /* File mode */
+	uint16_t reserved0[1];
+
+	uint64_t stx_ino; /* Inode number */
+	uint64_t stx_size; /* File size */
+	uint64_t stx_blocks; /* Number of 512-byte blocks allocated */
+	uint64_t stx_attributes_mask; /* Mask to show what's supported in
+	                                 stx_attributes */
+
+	struct_statx_timestamp stx_atime; /* Last access time */
+	struct_statx_timestamp stx_btime; /* File creation time */
+	struct_statx_timestamp stx_ctime; /* Last attribute change time */
+	struct_statx_timestamp stx_mtime; /* Last data modification time */
+
+	uint32_t stx_rdev_major; /* Device ID of special file [if bdev/cdev] */
+	uint32_t stx_rdev_minor;
+	uint32_t stx_dev_major; /* ID of device containing file [uncond] */
+	uint32_t stx_dev_minor;
+
+	uint64_t reserved2[14]; /* Spare space for future expansion */
+} struct_statx;
+
+#endif /* !STRACE_STATX_H */
diff --git a/strace-graph b/strace-graph
index 5435e86..9056dce 100755
--- a/strace-graph
+++ b/strace-graph
@@ -41,6 +41,7 @@
 
 # Scales for strace slowdown.  Make configurable!
 my $scale_factor = 3.5;
+my %running_fqname;
 
 while (<>) {
     my ($pid, $call, $args, $result, $time, $time_spent);
@@ -222,12 +223,15 @@
 
 sub handle_trace {
     my ($pid, $call, $args, $result, $time) = @_;
-    my $p;
+    my $pid_fqname = $pid . "-" . $time;
 
-    if (defined $time and not defined $pr{$pid}{start}) {
-	$pr{$pid}{start} = $time;
+    if (defined $time and not defined $running_fqname{$pid}) {
+	$pr{$pid_fqname}{start} = $time;
+	$running_fqname{$pid} = $pid_fqname;
     }
 
+    $pid_fqname = $running_fqname{$pid};
+
     if ($call eq 'execve') {
 	return if $result ne '0';
 
@@ -235,30 +239,34 @@
 	my ($basename) = $filename =~ m/([^\/]*)$/;
 	if ($basename ne $$argv[0]) {
 	    $$argv[0] = "$basename($$argv[0])";
-        }
-	my $seq = $pr{$pid}{seq};
+	}
+	my $seq = $pr{$pid_fqname}{seq};
 	$seq = [] if not defined $seq;
 
 	push @$seq, ['EXEC', $filename, $argv];
 
-	$pr{$pid}{seq} = $seq;
+	$pr{$pid_fqname}{seq} = $seq;
     } elsif ($call eq 'fork' || $call eq 'clone' || $call eq 'vfork') {
 	return if $result == 0;
 
-	my $seq = $pr{$pid}{seq};
+	my $seq = $pr{$pid_fqname}{seq};
+	my $result_fqname= $result . "-" . $time;
 	$seq = [] if not defined $seq;
-	push @$seq, ['FORK', $result];
-	$pr{$pid}{seq} = $seq;
-	$pr{$result}{parent} = $pid;
-	$pr{$result}{seq} = [];
+	push @$seq, ['FORK', $result_fqname];
+	$pr{$pid_fqname}{seq} = $seq;
+	$pr{$result_fqname}{start} = $time;
+	$pr{$result_fqname}{parent} = $pid_fqname;
+	$pr{$result_fqname}{seq} = [];
+	$running_fqname{$result} = $result_fqname;
     } elsif ($call eq '_exit' || $call eq 'exit_group') {
-	$pr{$pid}{end} = $time if defined $time;
+	$pr{$running_fqname{$pid}}{end} = $time if defined $time and not defined $pr{$running_fqname{$pid}}{end};
+	delete $running_fqname{$pid};
     }
 }
 
 sub handle_killed {
     my ($pid, $time) = @_;
-    $pr{$pid}{end} = $time if defined $time;
+    $pr{$pid}{end} = $time if defined $time and not defined $pr{$pid}{end};
 }
 
 sub straight_seq {
@@ -321,11 +329,11 @@
 	    }
 	} elsif ($$elem[0] eq 'FORK') {
 	    if ($i == 1) {
-                if ($lead =~ /-$/) {
+		if ($lead =~ /-$/) {
 		    display_pid_trace($$elem[1], "$lead--+--");
-                } else {
+		} else {
 		    display_pid_trace($$elem[1], "$lead  +--");
-                }
+		}
 	    } elsif ($i == @seq) {
 		display_pid_trace($$elem[1], "$lead  `--");
 	    } else {
diff --git a/strace.1 b/strace.1
index 9230766..869da08 100644
--- a/strace.1
+++ b/strace.1
@@ -1,6 +1,7 @@
 .\" Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
 .\" Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
 .\" Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+.\" Copyright (c) 1996-2017 The strace developers.
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -330,7 +331,7 @@
 or how to trace them.  The format of the expression is:
 .RS 15
 .IP
-[\,\fIqualifier\/\fB=\fR][\fB!\fR]\,\fIvalue1\/\fR[\fB,\,\fIvalue2\/\fR]...
+[\,\fIqualifier\/\fB=\fR][\fB!\fR][\fB?\fR]\,\fIvalue1\/\fR[\fB,\fR[\fB?\fR]\,\fIvalue2\/\fR]...
 .RE
 .IP
 where
@@ -361,6 +362,8 @@
 .BR \-e "\ " trace "=!" open
 means to trace every system call except
 .BR open .
+Question mark before the syscall qualification allows suppression of error
+in case no syscalls matched the qualification provided.
 In addition, the special values
 .B all
 and
@@ -383,7 +386,17 @@
 are being monitored.  The default is
 .BR trace = all .
 .TP
-.BR "\-e\ trace" = file
+\fB\-e\ trace\fR=/\,\fIregex\fR
+Trace only those system calls that match the
+.IR regex .
+You can use
+.B POSIX
+Extended Regular Expression syntax (see
+.BR regex (7)).
+.PP
+.BR "\-e\ trace" = %file
+.TP
+.BR "\-e\ trace" = file " (deprecated)"
 Trace all system calls which take a file name as an argument.  You
 can think of this as an abbreviation for
 .BR "\-e\ trace" = open , stat , chmod , unlink ,...
@@ -392,26 +405,69 @@
 accidentally forget to include a call like
 .B lstat
 in the list.  Betchya woulda forgot that one.
+.PP
+.BR "\-e\ trace" = %process
 .TP
-.BR "\-e\ trace" = process
+.BR "\-e\ trace" = process " (deprecated)"
 Trace all system calls which involve process management.  This
 is useful for watching the fork, wait, and exec steps of a process.
+.PP
+.BR "\-e\ trace" = %network
 .TP
-.BR "\-e\ trace" = network
+.BR "\-e\ trace" = network " (deprecated)"
 Trace all the network related system calls.
+.PP
+.BR "\-e\ trace" = %signal
 .TP
-.BR "\-e\ trace" = signal
+.BR "\-e\ trace" = signal " (deprecated)"
 Trace all signal related system calls.
+.PP
+.BR "\-e\ trace" = %ipc
 .TP
-.BR "\-e\ trace" = ipc
+.BR "\-e\ trace" = ipc " (deprecated)"
 Trace all IPC related system calls.
+.PP
+.BR "\-e\ trace" = %desc
 .TP
-.BR "\-e\ trace" = desc
+.BR "\-e\ trace" = desc " (deprecated)"
 Trace all file descriptor related system calls.
+.PP
+.BR "\-e\ trace" = %memory
 .TP
-.BR "\-e\ trace" = memory
+.BR "\-e\ trace" = memory " (deprecated)"
 Trace all memory mapping related system calls.
 .TP
+.BR "\-e\ trace" = %stat
+Trace stat syscall variants.
+.TP
+.BR "\-e\ trace" = %lstat
+Trace lstat syscall variants.
+.TP
+.BR "\-e\ trace" = %fstat
+Trace fstat and fstatat syscall variants.
+.TP
+.BR "\-e\ trace" = %%stat
+Trace syscalls used for requesting file status (stat, lstat, fstat, fstatat,
+statx, and their variants).
+.TP
+.BR "\-e\ trace" = %statfs
+Trace statfs, statfs64, statvfs, osf_statfs, and osf_statfs64 system calls.
+The same effect can be achieved with
+.BR "\-e\ trace" = /^(.*_)?statv?fs
+regular expression.
+.TP
+.BR "\-e\ trace" = %fstatfs
+Trace fstatfs, fstatfs64, fstatvfs, osf_fstatfs, and osf_fstatfs64 system calls.
+The same effect can be achieved with
+.BR "\-e\ trace" = /fstatv?fs
+regular expression.
+.TP
+.BR "\-e\ trace" = %%statfs
+Trace syscalls related to file system statistics (statfs-like, fstatfs-like,
+and ustat).  The same effect can be achieved with
+.BR "\-e\ trace" = /statv?fs|fsstat|ustat
+regular expression.
+.TP
 \fB\-e\ abbrev\fR=\,\fIset\fR
 Abbreviate the output from printing each member of large structures.
 The default is
diff --git a/strace.c b/strace.c
index 7214e6e..fc16551 100644
--- a/strace.c
+++ b/strace.c
@@ -3,6 +3,7 @@
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
  * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -190,10 +191,10 @@
 print_version(void)
 {
 	printf("%s -- version %s\n"
-	       "Copyright (C) %s The strace developers <%s>.\n"
+	       "Copyright (C) 1991-%s The strace developers <%s>.\n"
 	       "This is free software; see the source for copying conditions.  There is NO\n"
 	       "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
-	       PACKAGE_NAME, PACKAGE_VERSION, "1991-2017", PACKAGE_URL);
+	       PACKAGE_NAME, PACKAGE_VERSION, COPYRIGHT_YEAR, PACKAGE_URL);
 }
 
 static void
@@ -569,12 +570,10 @@
 	return fp;
 }
 
-void
-tprintf(const char *fmt, ...)
+ATTRIBUTE_FORMAT((printf, 1, 0))
+static void
+tvprintf(const char *const fmt, va_list args)
 {
-	va_list args;
-
-	va_start(args, fmt);
 	if (current_tcp) {
 		int n = vfprintf(current_tcp->outf, fmt, args);
 		if (n < 0) {
@@ -583,6 +582,14 @@
 		} else
 			current_tcp->curcol += n;
 	}
+}
+
+void
+tprintf(const char *fmt, ...)
+{
+	va_list args;
+	va_start(args, fmt);
+	tvprintf(fmt, args);
 	va_end(args);
 }
 
@@ -605,6 +612,27 @@
 }
 
 void
+tprints_comment(const char *const str)
+{
+	if (str && *str)
+		tprintf(" /* %s */", str);
+}
+
+void
+tprintf_comment(const char *fmt, ...)
+{
+	if (!fmt || !*fmt)
+		return;
+
+	va_list args;
+	va_start(args, fmt);
+	tprints(" /* ");
+	tvprintf(fmt, args);
+	tprints(" */");
+	va_end(args);
+}
+
+void
 line_ended(void)
 {
 	if (current_tcp) {
@@ -2181,6 +2209,9 @@
 			}
 		}
 	}
+
+	if (get_scno(tcp) == 1)
+		tcp->s_prev_ent = tcp->s_ent;
 }
 
 static void
@@ -2295,10 +2326,7 @@
 			return true;
 	}
 
-	if (WIFSTOPPED(status))
-		get_regs(pid);
-	else
-		clear_regs();
+	clear_regs();
 
 	event = (unsigned int) status >> 16;
 
@@ -2364,8 +2392,6 @@
 	/* Is this the very first time we see this tracee stopped? */
 	if (tcp->flags & TCB_STARTUP) {
 		startup_tcb(tcp);
-		if (get_scno(tcp) == 1)
-			tcp->s_prev_ent = tcp->s_ent;
 	}
 
 	sig = WSTOPSIG(status);
diff --git a/strace.spec b/strace.spec
index 6389fb9..1c27aa4 100644
--- a/strace.spec
+++ b/strace.spec
@@ -1,11 +1,11 @@
 Summary: Tracks and displays system calls associated with a running process
 Name: strace
-Version: 4.16
+Version: 4.17
 Release: 1%{?dist}
 License: BSD
 Group: Development/Debuggers
-URL: http://sourceforge.net/projects/strace/
-Source: http://downloads.sourceforge.net/strace/%{name}-%{version}.tar.xz
+URL: https://strace.io
+Source: https://downloads.sourceforge.net/strace/%{name}-%{version}.tar.xz
 %if 0%{?fedora} >= 20 || 0%{?centos} >= 8 || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1300
 %define buildrequires_libunwind_devel BuildRequires: libunwind-devel
 %endif
@@ -48,6 +48,7 @@
 %prep
 %setup -q
 echo -n %version-%release > .tarball-version
+echo -n 2017 > .year
 
 %build
 echo 'BEGIN OF BUILD ENVIRONMENT INFORMATION'
@@ -100,8 +101,11 @@
 %endif
 
 %changelog
-* Wed Feb 15 2017 strace-devel@lists.sourceforge.net - 4.16-1
-- strace 4.16 snapshot.
+* Thu May 25 2017 strace-devel@lists.sourceforge.net - 4.17-1
+- strace 4.17 snapshot.
+
+* Tue Feb 14 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.16-1
+- v4.15 -> v4.16.
 
 * Wed Dec 14 2016 Dmitry V. Levin <ldv@altlinux.org> - 4.15-1
 - v4.14-100-g622af42 -> v4.15.
diff --git a/strace.spec.in b/strace.spec.in
index b945178..6fc2689 100644
--- a/strace.spec.in
+++ b/strace.spec.in
@@ -4,8 +4,8 @@
 Release: 1%{?dist}
 License: BSD
 Group: Development/Debuggers
-URL: http://sourceforge.net/projects/strace/
-Source: http://downloads.sourceforge.net/strace/%{name}-%{version}.tar.xz
+URL: https://strace.io
+Source: https://downloads.sourceforge.net/strace/%{name}-%{version}.tar.xz
 %if 0%{?fedora} >= 20 || 0%{?centos} >= 8 || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1300
 %define buildrequires_libunwind_devel BuildRequires: libunwind-devel
 %endif
@@ -48,6 +48,7 @@
 %prep
 %setup -q
 echo -n %version-%release > .tarball-version
+echo -n @COPYRIGHT_YEAR@ > .year
 
 %build
 echo 'BEGIN OF BUILD ENVIRONMENT INFORMATION'
@@ -103,6 +104,9 @@
 * @RPM_CHANGELOGTIME@ @PACKAGE_BUGREPORT@ - @PACKAGE_VERSION@-1
 - @PACKAGE_STRING@ snapshot.
 
+* Tue Feb 14 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.16-1
+- v4.15 -> v4.16.
+
 * Wed Dec 14 2016 Dmitry V. Levin <ldv@altlinux.org> - 4.15-1
 - v4.14-100-g622af42 -> v4.15.
 
diff --git a/sync_file_range.c b/sync_file_range.c
index 855e8af..e16606d 100644
--- a/sync_file_range.c
+++ b/sync_file_range.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2013 William Manley <william.manley@youview.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/sync_file_range2.c b/sync_file_range2.c
index a1ef091..142df31 100644
--- a/sync_file_range2.c
+++ b/sync_file_range2.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2013 William Manley <william.manley@youview.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/sys_func.h b/sys_func.h
index a976265..3257eb4 100644
--- a/sys_func.h
+++ b/sys_func.h
@@ -208,6 +208,7 @@
 extern SYS_FUNC(rt_sigpending);
 extern SYS_FUNC(rt_sigprocmask);
 extern SYS_FUNC(rt_sigqueueinfo);
+extern SYS_FUNC(rt_sigreturn);
 extern SYS_FUNC(rt_sigsuspend);
 extern SYS_FUNC(rt_sigtimedwait);
 extern SYS_FUNC(rt_tgsigqueueinfo);
@@ -248,6 +249,7 @@
 extern SYS_FUNC(settimeofday);
 extern SYS_FUNC(setuid);
 extern SYS_FUNC(setxattr);
+extern SYS_FUNC(sgetmask);
 extern SYS_FUNC(shmat);
 extern SYS_FUNC(shmctl);
 extern SYS_FUNC(shmdt);
@@ -255,24 +257,24 @@
 extern SYS_FUNC(shutdown);
 extern SYS_FUNC(sigaction);
 extern SYS_FUNC(sigaltstack);
-extern SYS_FUNC(siggetmask);
 extern SYS_FUNC(signal);
 extern SYS_FUNC(signalfd);
 extern SYS_FUNC(signalfd4);
 extern SYS_FUNC(sigpending);
 extern SYS_FUNC(sigprocmask);
 extern SYS_FUNC(sigreturn);
-extern SYS_FUNC(sigsetmask);
 extern SYS_FUNC(sigsuspend);
 extern SYS_FUNC(socket);
 extern SYS_FUNC(socketcall);
 extern SYS_FUNC(socketpair);
 extern SYS_FUNC(splice);
 extern SYS_FUNC(sram_alloc);
+extern SYS_FUNC(ssetmask);
 extern SYS_FUNC(stat);
 extern SYS_FUNC(stat64);
 extern SYS_FUNC(statfs);
 extern SYS_FUNC(statfs64);
+extern SYS_FUNC(statx);
 extern SYS_FUNC(subpage_prot);
 extern SYS_FUNC(swapon);
 extern SYS_FUNC(symlinkat);
diff --git a/syscall.c b/syscall.c
index c0407ed..a34f640 100644
--- a/syscall.c
+++ b/syscall.c
@@ -6,6 +6,7 @@
  * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  *                     Linux for s390 port by D.J. Barrow
  *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -76,6 +77,13 @@
 #define TP TRACE_PROCESS
 #define TS TRACE_SIGNAL
 #define TM TRACE_MEMORY
+#define TST TRACE_STAT
+#define TLST TRACE_LSTAT
+#define TFST TRACE_FSTAT
+#define TSTA TRACE_STAT_LIKE
+#define TSF TRACE_STATFS
+#define TFSF TRACE_FSTATFS
+#define TSFA TRACE_STATFS_LIKE
 #define NF SYSCALL_NEVER_FAILS
 #define MA MAX_ARGS
 #define SI STACKTRACE_INVALIDATE_CACHE
@@ -111,6 +119,13 @@
 #undef TP
 #undef TS
 #undef TM
+#undef TST
+#undef TLST
+#undef TFST
+#undef TSTA
+#undef TSF
+#undef TFSF
+#undef TSFA
 #undef NF
 #undef MA
 #undef SI
@@ -553,6 +568,7 @@
 	get_regs_error = -1;
 }
 
+static void get_regs(pid_t pid);
 static int get_syscall_args(struct tcb *);
 static int get_syscall_result(struct tcb *);
 static int arch_get_scno(struct tcb *tcp);
@@ -638,11 +654,11 @@
 static int
 trace_syscall_entering(struct tcb *tcp, unsigned int *sig)
 {
-	int res, scno_good;
-
-	scno_good = res = get_scno(tcp);
+	int res = get_scno(tcp);
 	if (res == 0)
 		return res;
+
+	int scno_good = res;
 	if (res == 1)
 		res = get_syscall_args(tcp);
 
@@ -747,14 +763,10 @@
 static int
 trace_syscall_exiting(struct tcb *tcp)
 {
-	int sys_res;
 	struct timeval tv;
-	int res;
-	unsigned long u_error;
-	const char *u_error_str;
 
 	/* Measure the exit time as early as possible to avoid errors. */
-	if (Tflag || cflag)
+	if ((Tflag || cflag) && !(filtered(tcp) || hide_log(tcp)))
 		gettimeofday(&tv, NULL);
 
 #ifdef USE_LIBUNWIND
@@ -764,12 +776,14 @@
 	}
 #endif
 
+	if (filtered(tcp) || hide_log(tcp))
+		goto ret;
+
+	get_regs(tcp->pid);
 #if SUPPORTED_PERSONALITIES > 1
 	update_personality(tcp, tcp->currpers);
 #endif
-	res = (get_regs_error ? -1 : get_syscall_result(tcp));
-	if (filtered(tcp) || hide_log(tcp))
-		goto ret;
+	int res = (get_regs_error ? -1 : get_syscall_result(tcp));
 
 	if (syserror(tcp) && syscall_tampered(tcp))
 		tamper_with_syscall_exiting(tcp);
@@ -811,7 +825,7 @@
 	}
 	tcp->s_prev_ent = tcp->s_ent;
 
-	sys_res = 0;
+	int sys_res = 0;
 	if (tcp->qual_flg & QUAL_RAW) {
 		/* sys_res = printargs(tcp); - but it's nop on sysexit */
 	} else {
@@ -833,7 +847,7 @@
 
 	tprints(") ");
 	tabto();
-	u_error = tcp->u_error;
+	unsigned long u_error = tcp->u_error;
 
 	if (tcp->qual_flg & QUAL_RAW) {
 		if (u_error) {
@@ -845,6 +859,8 @@
 			tprints(" (INJECTED)");
 	}
 	else if (!(sys_res & RVAL_NONE) && u_error) {
+		const char *u_error_str;
+
 		switch (u_error) {
 		/* Blocked signals do not interrupt any syscalls.
 		 * In this case syscalls don't return ERESTARTfoo codes.
@@ -910,7 +926,7 @@
 			break;
 		}
 		if (syscall_tampered(tcp))
-			tprintf(" (INJECTED)");
+			tprints(" (INJECTED)");
 		if ((sys_res & RVAL_STR) && tcp->auxstr)
 			tprintf(" (%s)", tcp->auxstr);
 	}
@@ -1061,6 +1077,7 @@
 #else
 # error Neither ARCH_PC_REG nor ARCH_PC_PEEK_ADDR is defined
 #endif
+	get_regs(tcp->pid);
 	if (get_regs_error || ARCH_GET_PC)
 		tprints(current_wordsize == 4 ? "[????????] "
 					      : "[????????????????] ");
@@ -1146,12 +1163,15 @@
 
 #endif /* ARCH_REGS_FOR_GETREGSET || ARCH_REGS_FOR_GETREGS */
 
-void
+static void
 get_regs(pid_t pid)
 {
 #undef USE_GET_SYSCALL_RESULT_REGS
 #ifdef ptrace_getregset_or_getregs
 
+	if (get_regs_error != -1)
+		return;
+
 # ifdef HAVE_GETREGS_OLD
 	/*
 	 * Try PTRACE_GETREGSET/PTRACE_GETREGS first,
@@ -1218,6 +1238,8 @@
 int
 get_scno(struct tcb *tcp)
 {
+	get_regs(tcp->pid);
+
 	if (get_regs_error)
 		return -1;
 
diff --git a/syscallent.sh b/syscallent.sh
deleted file mode 100755
index 16dd77f..0000000
--- a/syscallent.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-# Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
-# 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.
-
-cat ${1+"$@"} |
-	sed -n 's/^#[ 	]*define[ 	][ 	]*SYS_\([^ 	]*\)[ 	]*[^0-9]*\([0-9]*\).*$/\1 \2/p
-s/^#[ 	]*define[ 	][ 	]*__NR_\([^ 	]*\)[ 	]*[^0-9]*\([0-9]*\).*$/\1 \2/p
-s/^#[ ]*define[ ][ ]*__NR_\([^ ]*\)[ ]*[^0-9()]*(__NR_Linux + \([0-9]*\))$/\1 \2/p' |
-	sort -k2n | uniq |
-	awk '
-	BEGIN {
-		tabs = "\t\t\t\t\t\t\t\t"
-		call = -1;
-	}
-	{
-		while (++call < $2) {
-			f = "printargs"
-			n = "SYS_" call
-			s = "\t{ MA,\t0,\t"
-			s = s f ","
-			s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
-			s = s "\"" n "\""
-			s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
-			s = s "}, /* " call " */"
-			print s
-		}
-		f = "sys_" $1
-		n = $1
-		s = "\t{ MA,\t0,\t"
-		s = s f ","
-		s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
-		s = s "\"" n "\""
-		s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
-		s = s "}, /* " call " */"
-		print s
-	}
-	END {
-		limit = call + 100
-		while (++call < limit) {
-			f = "printargs"
-			n = "SYS_" call
-			s = "\t{ MA,\t0,\t"
-			s = s f ","
-			s = s substr(tabs, 1, 24/8 - int((length(f) + 1)/8))
-			s = s "\"" n "\""
-			s = s substr(tabs, 1, 16/8 - int((length(n) + 2)/8))
-			s = s "}, /* " call " */"
-			print s
-		}
-	}
-	'
diff --git a/sysctl.c b/sysctl.c
index 3843693..6459415 100644
--- a/sysctl.c
+++ b/sysctl.c
@@ -2,6 +2,7 @@
  * Copyright (c) 1999 Ulrich Drepper <drepper@cygnus.com>
  * Copyright (c) 2005 Roland McGrath <roland@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/sysent.h b/sysent.h
index aa93bcb..92de746 100644
--- a/sysent.h
+++ b/sysent.h
@@ -9,17 +9,24 @@
 	const char *sys_name;
 } struct_sysent;
 
-#define TRACE_FILE		001	/* Trace file-related syscalls. */
-#define TRACE_IPC		002	/* Trace IPC-related syscalls. */
-#define TRACE_NETWORK		004	/* Trace network-related syscalls. */
-#define TRACE_PROCESS		010	/* Trace process-related syscalls. */
-#define TRACE_SIGNAL		020	/* Trace signal-related syscalls. */
-#define TRACE_DESC		040	/* Trace file descriptor-related syscalls. */
-#define TRACE_MEMORY		0100	/* Trace memory mapping-related syscalls. */
-#define SYSCALL_NEVER_FAILS	0200	/* Syscall is always successful. */
-#define STACKTRACE_INVALIDATE_CACHE 0400  /* Trigger proc/maps cache updating */
-#define STACKTRACE_CAPTURE_ON_ENTER 01000 /* Capture stacktrace on "entering" stage */
-#define TRACE_INDIRECT_SUBCALL	02000	/* Syscall is an indirect socket/ipc subcall. */
-#define COMPAT_SYSCALL_TYPES	04000	/* A compat syscall that uses compat types. */
+#define TRACE_FILE			00000001	/* Trace file-related syscalls. */
+#define TRACE_IPC			00000002	/* Trace IPC-related syscalls. */
+#define TRACE_NETWORK			00000004	/* Trace network-related syscalls. */
+#define TRACE_PROCESS			00000010	/* Trace process-related syscalls. */
+#define TRACE_SIGNAL			00000020	/* Trace signal-related syscalls. */
+#define TRACE_DESC			00000040	/* Trace file descriptor-related syscalls. */
+#define TRACE_MEMORY			00000100	/* Trace memory mapping-related syscalls. */
+#define SYSCALL_NEVER_FAILS		00000200	/* Syscall is always successful. */
+#define STACKTRACE_INVALIDATE_CACHE	00000400	/* Trigger proc/maps cache updating */
+#define STACKTRACE_CAPTURE_ON_ENTER	00001000	/* Capture stacktrace on "entering" stage */
+#define TRACE_INDIRECT_SUBCALL		00002000	/* Syscall is an indirect socket/ipc subcall. */
+#define COMPAT_SYSCALL_TYPES		00004000	/* A compat syscall that uses compat types. */
+#define TRACE_STAT			00010000	/* Trace {,*_}{,old}{,x}stat{,64} syscalls. */
+#define TRACE_LSTAT			00020000	/* Trace *lstat* syscalls. */
+#define TRACE_STATFS			00040000	/* Trace statfs, statfs64, and statvfs syscalls. */
+#define TRACE_FSTATFS			00100000	/* Trace fstatfs, fstatfs64 and fstatvfs syscalls. */
+#define TRACE_STATFS_LIKE		00200000	/* Trace statfs-like, fstatfs-like and ustat syscalls. */
+#define TRACE_FSTAT			00400000	/* Trace *fstat{,at}{,64} syscalls. */
+#define TRACE_STAT_LIKE			01000000	/* Trace *{,l,f}stat{,x,at}{,64} syscalls. */
 
 #endif /* !STRACE_SYSENT_H */
diff --git a/sysinfo.c b/sysinfo.c
index a0f29cb..5519bf3 100644
--- a/sysinfo.c
+++ b/sysinfo.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2012 Denys Vlasenko <vda.linux@googlemail.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/syslog.c b/syslog.c
index 9906306..62d313b 100644
--- a/syslog.c
+++ b/syslog.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/sysmips.c b/sysmips.c
index af5ffba..a0ed557 100644
--- a/sysmips.c
+++ b/sysmips.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2001 Wichert Akkerman <wichert@deephackmode.org>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/term.c b/term.c
index d083cdd..6a7a65b 100644
--- a/term.c
+++ b/term.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/Makefile b/tests-m32/Makefile
index 56b3297..1bfab92 100644
--- a/tests-m32/Makefile
+++ b/tests-m32/Makefile
@@ -17,6 +17,7 @@
 # Automake input for strace tests.
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -131,148 +132,38 @@
 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 \
+DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
+	$(srcdir)/../scno.am $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
 	$(top_srcdir)/test-driver
+check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
+	attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
+	attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
+	execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
+	getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
+	ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
+	ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
+	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
+	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
+	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
+	quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
+	seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
+	signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+	threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
+	wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
 subdir = tests-m32
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
@@ -300,6 +191,7 @@
 	libtests_a-error_msg.$(OBJEXT) \
 	libtests_a-fill_memory.$(OBJEXT) \
 	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-get_sigset_size.$(OBJEXT) \
 	libtests_a-hexdump_strdup.$(OBJEXT) \
 	libtests_a-hexquote_strndup.$(OBJEXT) \
 	libtests_a-inode_of_sockfd.$(OBJEXT) \
@@ -308,10 +200,130 @@
 	libtests_a-overflowuid.$(OBJEXT) \
 	libtests_a-pipe_maxfd.$(OBJEXT) \
 	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-print_time.$(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-signal2name.$(OBJEXT) \
+	libtests_a-skip_unavailable.$(OBJEXT) \
+	libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
+	libtests_a-tprintf.$(OBJEXT)
 libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
+	chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(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) \
+	execveat$(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) finit_module$(EXEEXT) flock$(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) getpid$(EXEEXT) getppid$(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_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
+	ioctl_mtd$(EXEEXT) ioctl_rtc$(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) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(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_name$(EXEEXT) \
+	mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
+	mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
+	mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
+	msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(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_protocol$(EXEEXT) newfstatat$(EXEEXT) \
+	old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
+	oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
+	openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
+	perf_event_open$(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-securebits$(EXEEXT) \
+	prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
+	pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
+	process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
+	pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
+	renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
+	rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
+	rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(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) \
+	seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
+	sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(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) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
+	stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
+	statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
+	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
+	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(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) unlink$(EXEEXT) unlinkat$(EXEEXT) \
+	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
+	utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
+	vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
+	waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
 _newselect_SOURCES = _newselect.c
 _newselect_OBJECTS = _newselect.$(OBJEXT)
 _newselect_LDADD = $(LDADD)
@@ -668,6 +680,14 @@
 getpgrp_OBJECTS = getpgrp.$(OBJEXT)
 getpgrp_LDADD = $(LDADD)
 getpgrp_DEPENDENCIES = libtests.a
+getpid_SOURCES = getpid.c
+getpid_OBJECTS = getpid.$(OBJEXT)
+getpid_LDADD = $(LDADD)
+getpid_DEPENDENCIES = libtests.a
+getppid_SOURCES = getppid.c
+getppid_OBJECTS = getppid.$(OBJEXT)
+getppid_LDADD = $(LDADD)
+getppid_DEPENDENCIES = libtests.a
 getrandom_SOURCES = getrandom.c
 getrandom_OBJECTS = getrandom.$(OBJEXT)
 getrandom_LDADD = $(LDADD)
@@ -704,6 +724,10 @@
 getsockname_OBJECTS = getsockname.$(OBJEXT)
 getsockname_LDADD = $(LDADD)
 getsockname_DEPENDENCIES = libtests.a
+gettid_SOURCES = gettid.c
+gettid_OBJECTS = gettid.$(OBJEXT)
+gettid_LDADD = $(LDADD)
+gettid_DEPENDENCIES = libtests.a
 getuid_SOURCES = getuid.c
 getuid_OBJECTS = getuid.$(OBJEXT)
 getuid_LDADD = $(LDADD)
@@ -732,6 +756,10 @@
 inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
 inotify_init1_LDADD = $(LDADD)
 inotify_init1_DEPENDENCIES = libtests.a
+int_0x80_SOURCES = int_0x80.c
+int_0x80_OBJECTS = int_0x80.$(OBJEXT)
+int_0x80_LDADD = $(LDADD)
+int_0x80_DEPENDENCIES = libtests.a
 ioctl_SOURCES = ioctl.c
 ioctl_OBJECTS = ioctl.$(OBJEXT)
 ioctl_LDADD = $(LDADD)
@@ -772,6 +800,10 @@
 ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
 ioctl_mtd_LDADD = $(LDADD)
 ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_nsfs_SOURCES = ioctl_nsfs.c
+ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
+ioctl_nsfs_LDADD = $(LDADD)
+ioctl_nsfs_DEPENDENCIES = libtests.a
 ioctl_rtc_SOURCES = ioctl_rtc.c
 ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
 ioctl_rtc_LDADD = $(LDADD)
@@ -900,6 +932,10 @@
 lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
 lstat64_LDADD = $(LDADD)
 lstat64_DEPENDENCIES = libtests.a
+madvise_SOURCES = madvise.c
+madvise_OBJECTS = madvise.$(OBJEXT)
+madvise_LDADD = $(LDADD)
+madvise_DEPENDENCIES = libtests.a
 mbind_SOURCES = mbind.c
 mbind_OBJECTS = mbind.$(OBJEXT)
 mbind_LDADD = $(LDADD)
@@ -1092,6 +1128,10 @@
 openat_OBJECTS = openat.$(OBJEXT)
 openat_LDADD = $(LDADD)
 openat_DEPENDENCIES = libtests.a
+osf_utimes_SOURCES = osf_utimes.c
+osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
+osf_utimes_LDADD = $(LDADD)
+osf_utimes_DEPENDENCIES = libtests.a
 pause_SOURCES = pause.c
 pause_OBJECTS = pause.$(OBJEXT)
 pause_LDADD = $(LDADD)
@@ -1145,6 +1185,10 @@
 ppoll_OBJECTS = ppoll.$(OBJEXT)
 ppoll_LDADD = $(LDADD)
 ppoll_DEPENDENCIES = libtests.a
+ppoll_v_SOURCES = ppoll-v.c
+ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
+ppoll_v_LDADD = $(LDADD)
+ppoll_v_DEPENDENCIES = libtests.a
 prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
 prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
 prctl_arg2_intptr_LDADD = $(LDADD)
@@ -1354,6 +1398,10 @@
 rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
 rt_sigqueueinfo_LDADD = $(LDADD)
 rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigreturn_SOURCES = rt_sigreturn.c
+rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
+rt_sigreturn_LDADD = $(LDADD)
+rt_sigreturn_DEPENDENCIES = libtests.a
 rt_sigsuspend_SOURCES = rt_sigsuspend.c
 rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
 rt_sigsuspend_LDADD = $(LDADD)
@@ -1554,6 +1602,10 @@
 sigreturn_OBJECTS = sigreturn.$(OBJEXT)
 sigreturn_LDADD = $(LDADD)
 sigreturn_DEPENDENCIES = libtests.a
+sigsuspend_SOURCES = sigsuspend.c
+sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
+sigsuspend_LDADD = $(LDADD)
+sigsuspend_DEPENDENCIES = libtests.a
 sleep_SOURCES = sleep.c
 sleep_OBJECTS = sleep.$(OBJEXT)
 sleep_LDADD = $(LDADD)
@@ -1588,10 +1640,18 @@
 statfs64_OBJECTS = statfs64.$(OBJEXT)
 statfs64_LDADD = $(LDADD)
 statfs64_DEPENDENCIES = libtests.a
+statx_SOURCES = statx.c
+statx_OBJECTS = statx.$(OBJEXT)
+statx_LDADD = $(LDADD)
+statx_DEPENDENCIES = libtests.a
 swap_SOURCES = swap.c
 swap_OBJECTS = swap.$(OBJEXT)
 swap_LDADD = $(LDADD)
 swap_DEPENDENCIES = libtests.a
+sxetmask_SOURCES = sxetmask.c
+sxetmask_OBJECTS = sxetmask.$(OBJEXT)
+sxetmask_LDADD = $(LDADD)
+sxetmask_DEPENDENCIES = libtests.a
 symlink_SOURCES = symlink.c
 symlink_OBJECTS = symlink.$(OBJEXT)
 symlink_LDADD = $(LDADD)
@@ -1853,35 +1913,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1894,21 +1955,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -1938,35 +2000,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1979,21 +2042,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -2214,7 +2278,7 @@
   bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check recheck
-#am__EXEEXT_1 = strace-k.test
+#am__EXEEXT_2 = strace-k.test
 TEST_SUITE_LOG = test-suite.log
 TEST_EXTENSIONS =  .test
 am__test_logs1 = $(TESTS:=.log)
@@ -2234,12 +2298,12 @@
       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
+ACLOCAL = ${SHELL} /tmp/strace-4.17/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
+AUTOCONF = ${SHELL} /tmp/strace-4.17/missing autoconf
+AUTOHEADER = ${SHELL} /tmp/strace-4.17/missing autoheader
+AUTOMAKE = ${SHELL} /tmp/strace-4.17/missing automake-1.14
 AWK = gawk
 BUILD_EXEEXT = 
 BUILD_OBJEXT = 
@@ -2253,12 +2317,13 @@
 CODE_COVERAGE_CXXFLAGS = 
 CODE_COVERAGE_ENABLED = no
 CODE_COVERAGE_LDFLAGS = 
+COPYRIGHT_YEAR = 2017
 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
+DEB_CHANGELOGTIME = Thu, 25 May 2017 15:09:49 -0700
 DEFS = -DHAVE_CONFIG_H
 DEPDIR = .deps
 ECHO_C = 
@@ -2285,34 +2350,34 @@
 LIBS = 
 LTLIBOBJS = 
 MAINT = #
-MAKEINFO = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing makeinfo
+MAKEINFO = ${SHELL} /tmp/strace-4.17/missing makeinfo
 MIPS_ABI = 
 MKDIR_P = /bin/mkdir -p
 OBJEXT = o
 PACKAGE = strace
 PACKAGE_BUGREPORT = strace-devel@lists.sourceforge.net
 PACKAGE_NAME = strace
-PACKAGE_STRING = strace 4.16
+PACKAGE_STRING = strace 4.17
 PACKAGE_TARNAME = strace
 PACKAGE_URL = https://strace.io
-PACKAGE_VERSION = 4.16
+PACKAGE_VERSION = 4.17
 PATH_SEPARATOR = :
 PERL = /usr/bin/perl
 RANLIB = ranlib
-RPM_CHANGELOGTIME = Wed Feb 15 2017
+RPM_CHANGELOGTIME = Thu May 25 2017
 SED = /bin/sed
 SET_MAKE = 
 SHELL = /bin/sh
 STRIP = 
 VALGRIND = valgrind
 VALGRIND_ENABLED = yes
-VERSION = 4.16
+VERSION = 4.17
 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-m32
-abs_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16/tests-m32
-abs_top_builddir = /usr/local/google/home/enh/Downloads/strace-4.16
-abs_top_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16
+abs_builddir = /tmp/strace-4.17/tests-m32
+abs_srcdir = /tmp/strace-4.17/tests-m32
+abs_top_builddir = /tmp/strace-4.17
+abs_top_srcdir = /tmp/strace-4.17
 ac_ct_CC = gcc
 ac_ct_CC_FOR_BUILD = gcc
 am__include = include
@@ -2344,7 +2409,7 @@
 htmldir = ${docdir}
 includedir = ${prefix}/include
 infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/install-sh
+install_sh = ${SHELL} /tmp/strace-4.17/install-sh
 libdir = ${exec_prefix}/lib
 libexecdir = ${exec_prefix}/libexec
 libunwind_CPPFLAGS = 
@@ -2389,6 +2454,7 @@
 	error_msg.c \
 	fill_memory.c \
 	get_page_size.c \
+	get_sigset_size.c \
 	hexdump_strdup.c \
 	hexquote_strndup.c \
 	inode_of_sockfd.c \
@@ -2397,9 +2463,11 @@
 	overflowuid.c \
 	pipe_maxfd.c \
 	print_quoted_string.c \
+	print_time.c \
 	printflags.c \
 	printxval.c \
 	signal2name.c \
+	skip_unavailable.c \
 	sprintrc.c \
 	tail_alloc.c \
 	tests.h \
@@ -2409,6 +2477,340 @@
 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 check_LIBRARIES = libtests.a
 LDADD = libtests.a
+
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+  _newselect \
+  accept \
+  accept4 \
+  access \
+  acct \
+  add_key \
+  adjtimex \
+  aio \
+  alarm \
+  bpf \
+  brk \
+  btrfs \
+  caps \
+  chmod \
+  chown \
+  chown32 \
+  chroot \
+  clock_adjtime \
+  clock_nanosleep \
+  clock_xettime \
+  copy_file_range \
+  creat \
+  delete_module \
+  dup \
+  dup2 \
+  dup3 \
+  epoll_create \
+  epoll_create1 \
+  epoll_ctl \
+  epoll_pwait \
+  epoll_wait \
+  erestartsys \
+  eventfd \
+  execve \
+  execveat \
+  faccessat \
+  fadvise64 \
+  fadvise64_64 \
+  fallocate \
+  fanotify_init \
+  fanotify_mark \
+  fchdir \
+  fchmod \
+  fchmodat \
+  fchown \
+  fchown32 \
+  fchownat \
+  fcntl \
+  fcntl64 \
+  fdatasync \
+  file_handle \
+  file_ioctl \
+  finit_module \
+  flock \
+  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 \
+  getpid \
+  getppid \
+  getrandom \
+  getresgid \
+  getresgid32 \
+  getresuid \
+  getresuid32 \
+  getrlimit \
+  getrusage \
+  getsid \
+  getsockname \
+  getuid \
+  getuid32 \
+  getxxid \
+  inet-cmsg \
+  init_module \
+  inotify \
+  inotify_init1 \
+  ioctl \
+  ioctl_block \
+  ioctl_dm \
+  ioctl_evdev \
+  ioctl_loop \
+  ioctl_mtd \
+  ioctl_rtc \
+  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 \
+  lchown \
+  lchown32 \
+  link \
+  linkat \
+  llseek \
+  lookup_dcookie \
+  lseek \
+  lstat \
+  lstat64 \
+  madvise \
+  mbind \
+  membarrier \
+  memfd_create \
+  migrate_pages \
+  mincore \
+  mkdir \
+  mkdirat \
+  mknod \
+  mknodat \
+  mlock \
+  mlock2 \
+  mlockall \
+  mmap \
+  mmap64 \
+  mmsg \
+  mmsg_name \
+  mount \
+  move_pages \
+  mq \
+  mq_sendrecv \
+  mq_sendrecv-read \
+  mq_sendrecv-write \
+  msg_control \
+  msg_name \
+  munlockall \
+  nanosleep \
+  net-icmp_filter \
+  net-sockaddr \
+  net-y-unix \
+  net-yy-inet \
+  net-yy-netlink \
+  net-yy-unix \
+  netlink_protocol \
+  newfstatat \
+  old_mmap \
+  oldfstat \
+  oldlstat \
+  oldselect \
+  oldstat \
+  open \
+  openat \
+  osf_utimes \
+  pause \
+  perf_event_open \
+  personality \
+  pipe \
+  pipe2 \
+  pkey_alloc \
+  pkey_free \
+  pkey_mprotect \
+  poll \
+  ppoll \
+  prctl-arg2-intptr \
+  prctl-dumpable \
+  prctl-name \
+  prctl-no-args \
+  prctl-pdeathsig \
+  prctl-securebits \
+  prctl-tid_address \
+  prctl-tsc \
+  pread64-pwrite64 \
+  preadv \
+  preadv-pwritev \
+  preadv2-pwritev2 \
+  printstr \
+  prlimit64 \
+  process_vm_readv \
+  process_vm_writev \
+  pselect6 \
+  ptrace \
+  pwritev \
+  quotactl \
+  quotactl-xfs \
+  read-write \
+  readahead \
+  readdir \
+  readlink \
+  readlinkat \
+  readv \
+  reboot \
+  recvfrom \
+  recvmmsg-timeout \
+  recvmsg \
+  remap_file_pages \
+  rename \
+  renameat \
+  renameat2 \
+  request_key \
+  rmdir \
+  rt_sigpending \
+  rt_sigprocmask \
+  rt_sigqueueinfo \
+  rt_sigreturn \
+  rt_sigsuspend \
+  rt_sigtimedwait \
+  rt_tgsigqueueinfo \
+  sched_get_priority_mxx \
+  sched_rr_get_interval \
+  sched_xetaffinity \
+  sched_xetattr \
+  sched_xetparam \
+  sched_xetscheduler \
+  sched_yield \
+  seccomp-filter \
+  select \
+  semop \
+  sendfile \
+  sendfile64 \
+  set_mempolicy \
+  setdomainname \
+  setfsgid \
+  setfsgid32 \
+  setfsuid \
+  setfsuid32 \
+  setgid \
+  setgid32 \
+  setgroups \
+  setgroups32 \
+  sethostname \
+  setns \
+  setregid \
+  setregid32 \
+  setresgid \
+  setresgid32 \
+  setresuid \
+  setresuid32 \
+  setreuid \
+  setreuid32 \
+  setrlimit \
+  setuid \
+  setuid32 \
+  shmxt \
+  shutdown \
+  sigaction \
+  sigaltstack \
+  siginfo \
+  signalfd4 \
+  sigreturn \
+  sigsuspend \
+  socketcall \
+  splice \
+  stat \
+  stat64 \
+  statfs \
+  statfs64 \
+  statx \
+  swap \
+  sxetmask \
+  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 \
+  umoven-illptr \
+  umovestr \
+  umovestr-illptr \
+  umovestr2 \
+  umovestr3 \
+  uname \
+  unlink \
+  unlinkat \
+  unshare \
+  userfaultfd \
+  ustat \
+  utime \
+  utimensat \
+  utimes \
+  vhangup \
+  vmsplice \
+  wait4 \
+  waitid \
+  waitpid \
+  xattr \
+  xattr-strings \
+  xet_robust_list \
+  xetitimer \
+  xetpgid \
+  xetpriority \
+  xettimeofday \
+  #
+
 attach_f_p_LDADD = -lrt -lpthread $(LDADD)
 clock_xettime_LDADD = -lrt $(LDADD)
 count_f_LDADD = -lpthread $(LDADD)
@@ -2437,209 +2839,159 @@
 stack_fcall_SOURCES = stack-fcall.c \
 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
 
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
+	access.gen.test acct.gen.test add_key.gen.test \
+	adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
+	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
+	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
+	clock_nanosleep.gen.test clock_xettime.gen.test \
+	copy_file_range.gen.test creat.gen.test delete_module.gen.test \
+	dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
+	epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
+	epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
+	execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
+	fallocate.gen.test fanotify_init.gen.test \
+	fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
+	fchmodat.gen.test fchown.gen.test fchown32.gen.test \
+	fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
+	finit_module.gen.test flock.gen.test fork-f.gen.test \
+	fstat.gen.test fstat64.gen.test fstatat64.gen.test \
+	fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
+	ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
+	get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
+	getdents.gen.test getdents64.gen.test getegid.gen.test \
+	getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
+	getgid.gen.test getgid32.gen.test getgroups.gen.test \
+	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
+	getpid.gen.test getppid.gen.test getrandom.gen.test \
+	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
+	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
+	getsid.gen.test getsockname.gen.test gettid.gen.test \
+	getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
+	init_module.gen.test inotify.gen.test inotify_init1.gen.test \
+	int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
+	ioctl_evdev-v.gen.test ioctl_loop.gen.test \
+	ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
+	ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
+	ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
+	ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
+	iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
+	ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
+	kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
+	keyctl.gen.test kill.gen.test lchown.gen.test \
+	lchown32.gen.test link.gen.test linkat.gen.test \
+	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+	madvise.gen.test mbind.gen.test membarrier.gen.test \
+	memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
+	mlockall.gen.test mmap64.gen.test mmsg.gen.test \
+	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
+	mount.gen.test move_pages.gen.test mq.gen.test \
+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+	mq_sendrecv-write.gen.test msg_control.gen.test \
+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
+	nanosleep.gen.test net-icmp_filter.gen.test \
+	net-sockaddr.gen.test netlink_protocol.gen.test \
+	newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
+	oldlstat.gen.test oldstat.gen.test open.gen.test \
+	openat.gen.test osf_utimes.gen.test pause.gen.test \
+	perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+	perf_event_open_unabbrev.gen.test pipe2.gen.test \
+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
+	ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
+	preadv.gen.test preadv-pwritev.gen.test \
+	preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
+	process_vm_readv.gen.test process_vm_writev.gen.test \
+	pselect6.gen.test ptrace.gen.test pwritev.gen.test \
+	quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
+	quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
+	readdir.gen.test readlink.gen.test readlinkat.gen.test \
+	reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
+	recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
+	rename.gen.test renameat.gen.test renameat2.gen.test \
+	request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
+	rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
+	sched.gen.test sched_get_priority_mxx.gen.test \
+	sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
+	sched_xetattr.gen.test sched_xetparam.gen.test \
+	sched_xetscheduler.gen.test sched_yield.gen.test \
+	seccomp-filter.gen.test seccomp-filter-v.gen.test \
+	select.gen.test semop.gen.test sendfile.gen.test \
+	sendfile64.gen.test set_mempolicy.gen.test \
+	setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
+	setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
+	setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
+	sethostname.gen.test setns.gen.test setregid.gen.test \
+	setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
+	setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
+	setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
+	setuid32.gen.test shmxt.gen.test shutdown.gen.test \
+	siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
+	sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
+	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
+	statfs64.gen.test statx.gen.test swap.gen.test \
+	sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
+	sync.gen.test sync_file_range.gen.test \
+	sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
+	tee.gen.test time.gen.test timer_create.gen.test \
+	timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
+	times-fail.gen.test trace_fstat.gen.test \
+	trace_fstatfs.gen.test trace_lstat.gen.test \
+	trace_question.gen.test trace_stat.gen.test \
+	trace_stat_like.gen.test trace_statfs.gen.test \
+	trace_statfs_like.gen.test truncate.gen.test \
+	truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
+	umoven-illptr.gen.test umovestr-illptr.gen.test \
+	umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
+	unshare.gen.test userfaultfd.gen.test ustat.gen.test \
+	utime.gen.test utimensat.gen.test utimes.gen.test \
+	vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
+	wait4.gen.test wait4-v.gen.test waitid.gen.test \
+	waitid-v.gen.test waitpid.gen.test xattr.gen.test \
+	xattr-strings.gen.test xet_robust_list.gen.test \
+	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
+	xettimeofday.gen.test
 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_nsfs.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 \
@@ -2650,148 +3002,21 @@
 	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 = \
@@ -2804,7 +3029,7 @@
 	detach-sleeping.test \
 	detach-stopped.test \
 	filter-unavailable.test \
-	fork-f.test \
+	get_regs.test \
 	ksysent.test \
 	opipe.test \
 	options-syntax.test \
@@ -2820,7 +3045,6 @@
 	redirect-fds.test \
 	redirect.test \
 	restart_syscall.test \
-	signal_receive.test \
 	strace-C.test \
 	strace-E.test \
 	strace-S.test \
@@ -2832,77 +3056,94 @@
 	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))
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
 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)
+EXTRA_DIST = \
+	caps-abbrev.awk \
+	caps.awk \
+	clock.in \
+	count-f.expected \
+	eventfd.expected \
+	fadvise.h \
+	filter-unavailable.expected \
+	fstatat.c \
+	fstatx.c \
+	gen_pure_executables.sh \
+	gen_tests.in \
+	gen_tests.sh \
+	getresugid.c \
+	init.sh \
+	init_delete_module.h \
+	ioctl-v.sh \
+	ipc.sh \
+	ipc_msgbuf.expected \
+	ksysent.sed \
+	lstatx.c \
+	match.awk \
+	net.expected \
+	oldselect.expected \
+	pipe.expected \
+	process_vm_readv_writev.c \
+	pure_executables.list \
+	qual_fault-exit_group.expected \
+	qual_inject-error-signal.expected \
+	qual_inject-signal.expected \
+	quotactl.h \
+	regex.in \
+	run.sh \
+	sched.in \
+	scno_tampering.sh \
+	setfsugid.c \
+	setresugid.c \
+	setreugid.c \
+	setugid.c \
+	sigaction.awk \
+	sigaltstack.expected \
+	sockname.c \
+	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 \
+	trace_fstat.in \
+	trace_fstatfs.in \
+	trace_lstat.in \
+	trace_question.in \
+	trace_stat.in \
+	trace_stat_like.in \
+	trace_statfs.in \
+	trace_statfs_like.in \
+	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 \
+	xutimes.c \
+	$(TESTS)
 
 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+CLEANFILES = ksysent.h syscallent.i scno.h
 SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
 
@@ -2913,7 +3154,7 @@
 
 .SUFFIXES:
 .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/../scno.am $(am__configure_deps)
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -2934,7 +3175,7 @@
 	    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:
+$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3316,6 +3557,14 @@
 	@rm -f getpgrp$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
 
+getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
+	@rm -f getpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
+
+getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
+	@rm -f getppid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
+
 getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
 	@rm -f getrandom$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
@@ -3352,6 +3601,10 @@
 	@rm -f getsockname$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
 
+gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES) 
+	@rm -f gettid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
+
 getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
 	@rm -f getuid$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
@@ -3380,6 +3633,10 @@
 	@rm -f inotify_init1$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
 
+int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES) 
+	@rm -f int_0x80$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
+
 ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
 	@rm -f ioctl$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
@@ -3420,6 +3677,10 @@
 	@rm -f ioctl_mtd$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
 
+ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES) 
+	@rm -f ioctl_nsfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_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)
@@ -3548,6 +3809,10 @@
 	@rm -f lstat64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
 
+madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES) 
+	@rm -f madvise$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
+
 mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
 	@rm -f mbind$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
@@ -3744,6 +4009,10 @@
 	@rm -f openat$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
 
+osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) 
+	@rm -f osf_utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
+
 pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
 	@rm -f pause$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
@@ -3796,6 +4065,10 @@
 	@rm -f ppoll$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
 
+ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES) 
+	@rm -f ppoll-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_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)
@@ -4004,6 +4277,10 @@
 	@rm -f rt_sigqueueinfo$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
 
+rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
+	@rm -f rt_sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_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)
@@ -4204,6 +4481,10 @@
 	@rm -f sigreturn$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
 
+sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES) 
+	@rm -f sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
+
 sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
 	@rm -f sleep$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
@@ -4236,10 +4517,18 @@
 	@rm -f statfs64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
 
+statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES) 
+	@rm -f statx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
+
 swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
 	@rm -f swap$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
 
+sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES) 
+	@rm -f sxetmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
+
 symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
 	@rm -f symlink$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
@@ -4548,6 +4837,8 @@
 include ./$(DEPDIR)/getgroups32.Po
 include ./$(DEPDIR)/getpeername.Po
 include ./$(DEPDIR)/getpgrp.Po
+include ./$(DEPDIR)/getpid.Po
+include ./$(DEPDIR)/getppid.Po
 include ./$(DEPDIR)/getrandom.Po
 include ./$(DEPDIR)/getresgid.Po
 include ./$(DEPDIR)/getresgid32.Po
@@ -4557,6 +4848,7 @@
 include ./$(DEPDIR)/getrusage.Po
 include ./$(DEPDIR)/getsid.Po
 include ./$(DEPDIR)/getsockname.Po
+include ./$(DEPDIR)/gettid.Po
 include ./$(DEPDIR)/getuid.Po
 include ./$(DEPDIR)/getuid32.Po
 include ./$(DEPDIR)/getxxid.Po
@@ -4564,6 +4856,7 @@
 include ./$(DEPDIR)/init_module.Po
 include ./$(DEPDIR)/inotify.Po
 include ./$(DEPDIR)/inotify_init1.Po
+include ./$(DEPDIR)/int_0x80.Po
 include ./$(DEPDIR)/ioctl.Po
 include ./$(DEPDIR)/ioctl_block.Po
 include ./$(DEPDIR)/ioctl_dm-v.Po
@@ -4574,6 +4867,7 @@
 include ./$(DEPDIR)/ioctl_loop-v.Po
 include ./$(DEPDIR)/ioctl_loop.Po
 include ./$(DEPDIR)/ioctl_mtd.Po
+include ./$(DEPDIR)/ioctl_nsfs.Po
 include ./$(DEPDIR)/ioctl_rtc-v.Po
 include ./$(DEPDIR)/ioctl_rtc.Po
 include ./$(DEPDIR)/ioctl_scsi.Po
@@ -4603,6 +4897,7 @@
 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-get_sigset_size.Po
 include ./$(DEPDIR)/libtests_a-hexdump_strdup.Po
 include ./$(DEPDIR)/libtests_a-hexquote_strndup.Po
 include ./$(DEPDIR)/libtests_a-inode_of_sockfd.Po
@@ -4611,9 +4906,11 @@
 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-print_time.Po
 include ./$(DEPDIR)/libtests_a-printflags.Po
 include ./$(DEPDIR)/libtests_a-printxval.Po
 include ./$(DEPDIR)/libtests_a-signal2name.Po
+include ./$(DEPDIR)/libtests_a-skip_unavailable.Po
 include ./$(DEPDIR)/libtests_a-sprintrc.Po
 include ./$(DEPDIR)/libtests_a-tail_alloc.Po
 include ./$(DEPDIR)/libtests_a-tprintf.Po
@@ -4624,6 +4921,7 @@
 include ./$(DEPDIR)/lseek.Po
 include ./$(DEPDIR)/lstat.Po
 include ./$(DEPDIR)/lstat64-lstat64.Po
+include ./$(DEPDIR)/madvise.Po
 include ./$(DEPDIR)/mbind.Po
 include ./$(DEPDIR)/membarrier.Po
 include ./$(DEPDIR)/memfd_create.Po
@@ -4673,6 +4971,7 @@
 include ./$(DEPDIR)/oldstat.Po
 include ./$(DEPDIR)/open.Po
 include ./$(DEPDIR)/openat.Po
+include ./$(DEPDIR)/osf_utimes.Po
 include ./$(DEPDIR)/pause.Po
 include ./$(DEPDIR)/pc.Po
 include ./$(DEPDIR)/perf_event_open.Po
@@ -4685,6 +4984,7 @@
 include ./$(DEPDIR)/pkey_free.Po
 include ./$(DEPDIR)/pkey_mprotect.Po
 include ./$(DEPDIR)/poll.Po
+include ./$(DEPDIR)/ppoll-v.Po
 include ./$(DEPDIR)/ppoll.Po
 include ./$(DEPDIR)/prctl-arg2-intptr.Po
 include ./$(DEPDIR)/prctl-dumpable.Po
@@ -4738,6 +5038,7 @@
 include ./$(DEPDIR)/rt_sigpending.Po
 include ./$(DEPDIR)/rt_sigprocmask.Po
 include ./$(DEPDIR)/rt_sigqueueinfo.Po
+include ./$(DEPDIR)/rt_sigreturn.Po
 include ./$(DEPDIR)/rt_sigsuspend.Po
 include ./$(DEPDIR)/rt_sigtimedwait.Po
 include ./$(DEPDIR)/rt_tgsigqueueinfo.Po
@@ -4788,6 +5089,7 @@
 include ./$(DEPDIR)/signal_receive.Po
 include ./$(DEPDIR)/signalfd4.Po
 include ./$(DEPDIR)/sigreturn.Po
+include ./$(DEPDIR)/sigsuspend.Po
 include ./$(DEPDIR)/sleep.Po
 include ./$(DEPDIR)/socketcall.Po
 include ./$(DEPDIR)/splice.Po
@@ -4800,7 +5102,9 @@
 include ./$(DEPDIR)/stat64-stat64.Po
 include ./$(DEPDIR)/statfs-statfs.Po
 include ./$(DEPDIR)/statfs64.Po
+include ./$(DEPDIR)/statx.Po
 include ./$(DEPDIR)/swap.Po
+include ./$(DEPDIR)/sxetmask.Po
 include ./$(DEPDIR)/symlink.Po
 include ./$(DEPDIR)/symlinkat.Po
 include ./$(DEPDIR)/sync.Po
@@ -4925,6 +5229,20 @@
 #	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-get_sigset_size.o: get_sigset_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+#	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+
+libtests_a-get_sigset_size.obj: get_sigset_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+#	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_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
@@ -5037,6 +5355,20 @@
 #	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-print_time.o: print_time.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+#	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libtests_a-print_time.obj: print_time.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+#	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.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
@@ -5079,6 +5411,20 @@
 #	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-skip_unavailable.o: skip_unavailable.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+#	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+
+libtests_a-skip_unavailable.obj: skip_unavailable.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+#	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.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
@@ -5603,7 +5949,7 @@
 clean: clean-am
 
 clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	mostlyclean-am
+	clean-local mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -5675,19 +6021,982 @@
 .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 \
+	clean-local 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
 
 
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
 
 # Valgrind check
 #
@@ -5786,6 +7095,11 @@
 ksysent.$(OBJEXT): ksysent.h
 $(objects): scno.h
 
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
 syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
 	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
 
diff --git a/tests-m32/Makefile.am b/tests-m32/Makefile.am
deleted file mode 100644
index 8d10878..0000000
--- a/tests-m32/Makefile.am
+++ /dev/null
@@ -1,962 +0,0 @@
-# Automake input for strace tests.
-#
-# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
-# 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.
-
-OS = linux
-ARCH = @arch_m32@
-MPERS_NAME = m32
-ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) -m32
-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
-
-check_PROGRAMS = \
-	_newselect \
-	accept \
-	accept4 \
-	access \
-	acct \
-	add_key \
-	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 \
-	chroot \
-	clock_adjtime \
-	clock_nanosleep \
-	clock_xettime \
-	copy_file_range \
-	count-f \
-	creat \
-	delete_module \
-	dup \
-	dup2 \
-	dup3 \
-	epoll_create \
-	epoll_create1 \
-	epoll_ctl \
-	epoll_pwait \
-	epoll_wait \
-	erestartsys \
-	eventfd \
-	execve \
-	execve-v \
-	execveat \
-	execveat-v \
-	faccessat \
-	fadvise64 \
-	fadvise64_64 \
-	fallocate \
-	fanotify_init \
-	fanotify_mark \
-	fchdir \
-	fchmod \
-	fchmodat \
-	fchown \
-	fchown32 \
-	fchownat \
-	fcntl \
-	fcntl64 \
-	fdatasync \
-	file_handle \
-	file_ioctl \
-	filter-unavailable \
-	finit_module \
-	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 \
-	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 \
-	lchown \
-	lchown32 \
-	link \
-	linkat \
-	llseek \
-	lookup_dcookie \
-	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 \
-	mq_sendrecv \
-	mq_sendrecv-read \
-	mq_sendrecv-write \
-	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 \
-	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 \
-	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 \
-	setns \
-	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 \
-	threads-execve \
-	time \
-	timer_create \
-	timer_xettime \
-	timerfd_xettime \
-	times \
-	times-fail \
-	truncate \
-	truncate64 \
-	ugetrlimit \
-	uio \
-	umask \
-	umount \
-	umount2 \
-	umoven-illptr \
-	umovestr \
-	umovestr-illptr \
-	umovestr2 \
-	umovestr3 \
-	uname \
-	unix-pair-send-recv \
-	unix-pair-sendto-recvfrom \
-	unlink \
-	unlinkat \
-	unshare \
-	userfaultfd \
-	ustat \
-	utime \
-	utimensat \
-	utimes \
-	vfork-f \
-	vhangup \
-	vmsplice \
-	wait4 \
-	wait4-v \
-	waitid \
-	waitid-v \
-	waitpid \
-	xattr \
-	xattr-strings \
-	xet_robust_list \
-	xetitimer \
-	xetpgid \
-	xetpriority \
-	xettimeofday \
-	# end of check_PROGRAMS
-
-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
-
-if USE_LIBUNWIND
-LIBUNWIND_TESTS = strace-k.test
-else
-LIBUNWIND_TESTS =
-endif
-
-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
-
-TESTS = $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_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_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 \
-	     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)
-
-ksysent.h: $(srcdir)/ksysent.sed
-	echo '#include <asm/unistd.h>' | \
-		$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
-	LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
-	mv -f $@.t2 $@
-	rm -f $@.t1
-
-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-m32/Makefile.in b/tests-m32/Makefile.in
index 77d11da..3d7d2a5 100644
--- a/tests-m32/Makefile.in
+++ b/tests-m32/Makefile.in
@@ -17,6 +17,7 @@
 # Automake input for strace tests.
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -131,148 +132,38 @@
 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 \
+DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
+	$(srcdir)/../scno.am $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
 	$(top_srcdir)/test-driver
+check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
+	attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
+	attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
+	execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
+	getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
+	ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
+	ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
+	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
+	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
+	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
+	quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
+	seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
+	signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+	threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
+	wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
 subdir = tests-m32
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
@@ -300,6 +191,7 @@
 	libtests_a-error_msg.$(OBJEXT) \
 	libtests_a-fill_memory.$(OBJEXT) \
 	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-get_sigset_size.$(OBJEXT) \
 	libtests_a-hexdump_strdup.$(OBJEXT) \
 	libtests_a-hexquote_strndup.$(OBJEXT) \
 	libtests_a-inode_of_sockfd.$(OBJEXT) \
@@ -308,10 +200,130 @@
 	libtests_a-overflowuid.$(OBJEXT) \
 	libtests_a-pipe_maxfd.$(OBJEXT) \
 	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-print_time.$(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-signal2name.$(OBJEXT) \
+	libtests_a-skip_unavailable.$(OBJEXT) \
+	libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
+	libtests_a-tprintf.$(OBJEXT)
 libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
+	chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(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) \
+	execveat$(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) finit_module$(EXEEXT) flock$(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) getpid$(EXEEXT) getppid$(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_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
+	ioctl_mtd$(EXEEXT) ioctl_rtc$(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) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(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_name$(EXEEXT) \
+	mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
+	mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
+	mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
+	msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(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_protocol$(EXEEXT) newfstatat$(EXEEXT) \
+	old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
+	oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
+	openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
+	perf_event_open$(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-securebits$(EXEEXT) \
+	prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
+	pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
+	process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
+	pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
+	renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
+	rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
+	rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(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) \
+	seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
+	sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(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) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
+	stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
+	statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
+	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
+	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(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) unlink$(EXEEXT) unlinkat$(EXEEXT) \
+	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
+	utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
+	vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
+	waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
 _newselect_SOURCES = _newselect.c
 _newselect_OBJECTS = _newselect.$(OBJEXT)
 _newselect_LDADD = $(LDADD)
@@ -668,6 +680,14 @@
 getpgrp_OBJECTS = getpgrp.$(OBJEXT)
 getpgrp_LDADD = $(LDADD)
 getpgrp_DEPENDENCIES = libtests.a
+getpid_SOURCES = getpid.c
+getpid_OBJECTS = getpid.$(OBJEXT)
+getpid_LDADD = $(LDADD)
+getpid_DEPENDENCIES = libtests.a
+getppid_SOURCES = getppid.c
+getppid_OBJECTS = getppid.$(OBJEXT)
+getppid_LDADD = $(LDADD)
+getppid_DEPENDENCIES = libtests.a
 getrandom_SOURCES = getrandom.c
 getrandom_OBJECTS = getrandom.$(OBJEXT)
 getrandom_LDADD = $(LDADD)
@@ -704,6 +724,10 @@
 getsockname_OBJECTS = getsockname.$(OBJEXT)
 getsockname_LDADD = $(LDADD)
 getsockname_DEPENDENCIES = libtests.a
+gettid_SOURCES = gettid.c
+gettid_OBJECTS = gettid.$(OBJEXT)
+gettid_LDADD = $(LDADD)
+gettid_DEPENDENCIES = libtests.a
 getuid_SOURCES = getuid.c
 getuid_OBJECTS = getuid.$(OBJEXT)
 getuid_LDADD = $(LDADD)
@@ -732,6 +756,10 @@
 inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
 inotify_init1_LDADD = $(LDADD)
 inotify_init1_DEPENDENCIES = libtests.a
+int_0x80_SOURCES = int_0x80.c
+int_0x80_OBJECTS = int_0x80.$(OBJEXT)
+int_0x80_LDADD = $(LDADD)
+int_0x80_DEPENDENCIES = libtests.a
 ioctl_SOURCES = ioctl.c
 ioctl_OBJECTS = ioctl.$(OBJEXT)
 ioctl_LDADD = $(LDADD)
@@ -772,6 +800,10 @@
 ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
 ioctl_mtd_LDADD = $(LDADD)
 ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_nsfs_SOURCES = ioctl_nsfs.c
+ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
+ioctl_nsfs_LDADD = $(LDADD)
+ioctl_nsfs_DEPENDENCIES = libtests.a
 ioctl_rtc_SOURCES = ioctl_rtc.c
 ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
 ioctl_rtc_LDADD = $(LDADD)
@@ -900,6 +932,10 @@
 lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
 lstat64_LDADD = $(LDADD)
 lstat64_DEPENDENCIES = libtests.a
+madvise_SOURCES = madvise.c
+madvise_OBJECTS = madvise.$(OBJEXT)
+madvise_LDADD = $(LDADD)
+madvise_DEPENDENCIES = libtests.a
 mbind_SOURCES = mbind.c
 mbind_OBJECTS = mbind.$(OBJEXT)
 mbind_LDADD = $(LDADD)
@@ -1092,6 +1128,10 @@
 openat_OBJECTS = openat.$(OBJEXT)
 openat_LDADD = $(LDADD)
 openat_DEPENDENCIES = libtests.a
+osf_utimes_SOURCES = osf_utimes.c
+osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
+osf_utimes_LDADD = $(LDADD)
+osf_utimes_DEPENDENCIES = libtests.a
 pause_SOURCES = pause.c
 pause_OBJECTS = pause.$(OBJEXT)
 pause_LDADD = $(LDADD)
@@ -1145,6 +1185,10 @@
 ppoll_OBJECTS = ppoll.$(OBJEXT)
 ppoll_LDADD = $(LDADD)
 ppoll_DEPENDENCIES = libtests.a
+ppoll_v_SOURCES = ppoll-v.c
+ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
+ppoll_v_LDADD = $(LDADD)
+ppoll_v_DEPENDENCIES = libtests.a
 prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
 prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
 prctl_arg2_intptr_LDADD = $(LDADD)
@@ -1354,6 +1398,10 @@
 rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
 rt_sigqueueinfo_LDADD = $(LDADD)
 rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigreturn_SOURCES = rt_sigreturn.c
+rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
+rt_sigreturn_LDADD = $(LDADD)
+rt_sigreturn_DEPENDENCIES = libtests.a
 rt_sigsuspend_SOURCES = rt_sigsuspend.c
 rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
 rt_sigsuspend_LDADD = $(LDADD)
@@ -1554,6 +1602,10 @@
 sigreturn_OBJECTS = sigreturn.$(OBJEXT)
 sigreturn_LDADD = $(LDADD)
 sigreturn_DEPENDENCIES = libtests.a
+sigsuspend_SOURCES = sigsuspend.c
+sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
+sigsuspend_LDADD = $(LDADD)
+sigsuspend_DEPENDENCIES = libtests.a
 sleep_SOURCES = sleep.c
 sleep_OBJECTS = sleep.$(OBJEXT)
 sleep_LDADD = $(LDADD)
@@ -1588,10 +1640,18 @@
 statfs64_OBJECTS = statfs64.$(OBJEXT)
 statfs64_LDADD = $(LDADD)
 statfs64_DEPENDENCIES = libtests.a
+statx_SOURCES = statx.c
+statx_OBJECTS = statx.$(OBJEXT)
+statx_LDADD = $(LDADD)
+statx_DEPENDENCIES = libtests.a
 swap_SOURCES = swap.c
 swap_OBJECTS = swap.$(OBJEXT)
 swap_LDADD = $(LDADD)
 swap_DEPENDENCIES = libtests.a
+sxetmask_SOURCES = sxetmask.c
+sxetmask_OBJECTS = sxetmask.$(OBJEXT)
+sxetmask_LDADD = $(LDADD)
+sxetmask_DEPENDENCIES = libtests.a
 symlink_SOURCES = symlink.c
 symlink_OBJECTS = symlink.$(OBJEXT)
 symlink_LDADD = $(LDADD)
@@ -1853,35 +1913,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1894,21 +1955,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -1938,35 +2000,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1979,21 +2042,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -2214,7 +2278,7 @@
   bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check recheck
-@USE_LIBUNWIND_TRUE@am__EXEEXT_1 = strace-k.test
+@USE_LIBUNWIND_TRUE@am__EXEEXT_2 = strace-k.test
 TEST_SUITE_LOG = test-suite.log
 TEST_EXTENSIONS = @EXEEXT@ .test
 am__test_logs1 = $(TESTS:=.log)
@@ -2253,6 +2317,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
@@ -2389,6 +2454,7 @@
 	error_msg.c \
 	fill_memory.c \
 	get_page_size.c \
+	get_sigset_size.c \
 	hexdump_strdup.c \
 	hexquote_strndup.c \
 	inode_of_sockfd.c \
@@ -2397,9 +2463,11 @@
 	overflowuid.c \
 	pipe_maxfd.c \
 	print_quoted_string.c \
+	print_time.c \
 	printflags.c \
 	printxval.c \
 	signal2name.c \
+	skip_unavailable.c \
 	sprintrc.c \
 	tail_alloc.c \
 	tests.h \
@@ -2409,6 +2477,340 @@
 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 check_LIBRARIES = libtests.a
 LDADD = libtests.a
+
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+  _newselect \
+  accept \
+  accept4 \
+  access \
+  acct \
+  add_key \
+  adjtimex \
+  aio \
+  alarm \
+  bpf \
+  brk \
+  btrfs \
+  caps \
+  chmod \
+  chown \
+  chown32 \
+  chroot \
+  clock_adjtime \
+  clock_nanosleep \
+  clock_xettime \
+  copy_file_range \
+  creat \
+  delete_module \
+  dup \
+  dup2 \
+  dup3 \
+  epoll_create \
+  epoll_create1 \
+  epoll_ctl \
+  epoll_pwait \
+  epoll_wait \
+  erestartsys \
+  eventfd \
+  execve \
+  execveat \
+  faccessat \
+  fadvise64 \
+  fadvise64_64 \
+  fallocate \
+  fanotify_init \
+  fanotify_mark \
+  fchdir \
+  fchmod \
+  fchmodat \
+  fchown \
+  fchown32 \
+  fchownat \
+  fcntl \
+  fcntl64 \
+  fdatasync \
+  file_handle \
+  file_ioctl \
+  finit_module \
+  flock \
+  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 \
+  getpid \
+  getppid \
+  getrandom \
+  getresgid \
+  getresgid32 \
+  getresuid \
+  getresuid32 \
+  getrlimit \
+  getrusage \
+  getsid \
+  getsockname \
+  getuid \
+  getuid32 \
+  getxxid \
+  inet-cmsg \
+  init_module \
+  inotify \
+  inotify_init1 \
+  ioctl \
+  ioctl_block \
+  ioctl_dm \
+  ioctl_evdev \
+  ioctl_loop \
+  ioctl_mtd \
+  ioctl_rtc \
+  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 \
+  lchown \
+  lchown32 \
+  link \
+  linkat \
+  llseek \
+  lookup_dcookie \
+  lseek \
+  lstat \
+  lstat64 \
+  madvise \
+  mbind \
+  membarrier \
+  memfd_create \
+  migrate_pages \
+  mincore \
+  mkdir \
+  mkdirat \
+  mknod \
+  mknodat \
+  mlock \
+  mlock2 \
+  mlockall \
+  mmap \
+  mmap64 \
+  mmsg \
+  mmsg_name \
+  mount \
+  move_pages \
+  mq \
+  mq_sendrecv \
+  mq_sendrecv-read \
+  mq_sendrecv-write \
+  msg_control \
+  msg_name \
+  munlockall \
+  nanosleep \
+  net-icmp_filter \
+  net-sockaddr \
+  net-y-unix \
+  net-yy-inet \
+  net-yy-netlink \
+  net-yy-unix \
+  netlink_protocol \
+  newfstatat \
+  old_mmap \
+  oldfstat \
+  oldlstat \
+  oldselect \
+  oldstat \
+  open \
+  openat \
+  osf_utimes \
+  pause \
+  perf_event_open \
+  personality \
+  pipe \
+  pipe2 \
+  pkey_alloc \
+  pkey_free \
+  pkey_mprotect \
+  poll \
+  ppoll \
+  prctl-arg2-intptr \
+  prctl-dumpable \
+  prctl-name \
+  prctl-no-args \
+  prctl-pdeathsig \
+  prctl-securebits \
+  prctl-tid_address \
+  prctl-tsc \
+  pread64-pwrite64 \
+  preadv \
+  preadv-pwritev \
+  preadv2-pwritev2 \
+  printstr \
+  prlimit64 \
+  process_vm_readv \
+  process_vm_writev \
+  pselect6 \
+  ptrace \
+  pwritev \
+  quotactl \
+  quotactl-xfs \
+  read-write \
+  readahead \
+  readdir \
+  readlink \
+  readlinkat \
+  readv \
+  reboot \
+  recvfrom \
+  recvmmsg-timeout \
+  recvmsg \
+  remap_file_pages \
+  rename \
+  renameat \
+  renameat2 \
+  request_key \
+  rmdir \
+  rt_sigpending \
+  rt_sigprocmask \
+  rt_sigqueueinfo \
+  rt_sigreturn \
+  rt_sigsuspend \
+  rt_sigtimedwait \
+  rt_tgsigqueueinfo \
+  sched_get_priority_mxx \
+  sched_rr_get_interval \
+  sched_xetaffinity \
+  sched_xetattr \
+  sched_xetparam \
+  sched_xetscheduler \
+  sched_yield \
+  seccomp-filter \
+  select \
+  semop \
+  sendfile \
+  sendfile64 \
+  set_mempolicy \
+  setdomainname \
+  setfsgid \
+  setfsgid32 \
+  setfsuid \
+  setfsuid32 \
+  setgid \
+  setgid32 \
+  setgroups \
+  setgroups32 \
+  sethostname \
+  setns \
+  setregid \
+  setregid32 \
+  setresgid \
+  setresgid32 \
+  setresuid \
+  setresuid32 \
+  setreuid \
+  setreuid32 \
+  setrlimit \
+  setuid \
+  setuid32 \
+  shmxt \
+  shutdown \
+  sigaction \
+  sigaltstack \
+  siginfo \
+  signalfd4 \
+  sigreturn \
+  sigsuspend \
+  socketcall \
+  splice \
+  stat \
+  stat64 \
+  statfs \
+  statfs64 \
+  statx \
+  swap \
+  sxetmask \
+  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 \
+  umoven-illptr \
+  umovestr \
+  umovestr-illptr \
+  umovestr2 \
+  umovestr3 \
+  uname \
+  unlink \
+  unlinkat \
+  unshare \
+  userfaultfd \
+  ustat \
+  utime \
+  utimensat \
+  utimes \
+  vhangup \
+  vmsplice \
+  wait4 \
+  waitid \
+  waitpid \
+  xattr \
+  xattr-strings \
+  xet_robust_list \
+  xetitimer \
+  xetpgid \
+  xetpriority \
+  xettimeofday \
+  #
+
 attach_f_p_LDADD = -lrt -lpthread $(LDADD)
 clock_xettime_LDADD = -lrt $(LDADD)
 count_f_LDADD = -lpthread $(LDADD)
@@ -2437,209 +2839,159 @@
 stack_fcall_SOURCES = stack-fcall.c \
 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
 
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
+	access.gen.test acct.gen.test add_key.gen.test \
+	adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
+	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
+	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
+	clock_nanosleep.gen.test clock_xettime.gen.test \
+	copy_file_range.gen.test creat.gen.test delete_module.gen.test \
+	dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
+	epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
+	epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
+	execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
+	fallocate.gen.test fanotify_init.gen.test \
+	fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
+	fchmodat.gen.test fchown.gen.test fchown32.gen.test \
+	fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
+	finit_module.gen.test flock.gen.test fork-f.gen.test \
+	fstat.gen.test fstat64.gen.test fstatat64.gen.test \
+	fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
+	ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
+	get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
+	getdents.gen.test getdents64.gen.test getegid.gen.test \
+	getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
+	getgid.gen.test getgid32.gen.test getgroups.gen.test \
+	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
+	getpid.gen.test getppid.gen.test getrandom.gen.test \
+	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
+	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
+	getsid.gen.test getsockname.gen.test gettid.gen.test \
+	getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
+	init_module.gen.test inotify.gen.test inotify_init1.gen.test \
+	int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
+	ioctl_evdev-v.gen.test ioctl_loop.gen.test \
+	ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
+	ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
+	ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
+	ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
+	iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
+	ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
+	kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
+	keyctl.gen.test kill.gen.test lchown.gen.test \
+	lchown32.gen.test link.gen.test linkat.gen.test \
+	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+	madvise.gen.test mbind.gen.test membarrier.gen.test \
+	memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
+	mlockall.gen.test mmap64.gen.test mmsg.gen.test \
+	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
+	mount.gen.test move_pages.gen.test mq.gen.test \
+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+	mq_sendrecv-write.gen.test msg_control.gen.test \
+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
+	nanosleep.gen.test net-icmp_filter.gen.test \
+	net-sockaddr.gen.test netlink_protocol.gen.test \
+	newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
+	oldlstat.gen.test oldstat.gen.test open.gen.test \
+	openat.gen.test osf_utimes.gen.test pause.gen.test \
+	perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+	perf_event_open_unabbrev.gen.test pipe2.gen.test \
+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
+	ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
+	preadv.gen.test preadv-pwritev.gen.test \
+	preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
+	process_vm_readv.gen.test process_vm_writev.gen.test \
+	pselect6.gen.test ptrace.gen.test pwritev.gen.test \
+	quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
+	quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
+	readdir.gen.test readlink.gen.test readlinkat.gen.test \
+	reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
+	recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
+	rename.gen.test renameat.gen.test renameat2.gen.test \
+	request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
+	rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
+	sched.gen.test sched_get_priority_mxx.gen.test \
+	sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
+	sched_xetattr.gen.test sched_xetparam.gen.test \
+	sched_xetscheduler.gen.test sched_yield.gen.test \
+	seccomp-filter.gen.test seccomp-filter-v.gen.test \
+	select.gen.test semop.gen.test sendfile.gen.test \
+	sendfile64.gen.test set_mempolicy.gen.test \
+	setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
+	setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
+	setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
+	sethostname.gen.test setns.gen.test setregid.gen.test \
+	setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
+	setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
+	setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
+	setuid32.gen.test shmxt.gen.test shutdown.gen.test \
+	siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
+	sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
+	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
+	statfs64.gen.test statx.gen.test swap.gen.test \
+	sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
+	sync.gen.test sync_file_range.gen.test \
+	sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
+	tee.gen.test time.gen.test timer_create.gen.test \
+	timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
+	times-fail.gen.test trace_fstat.gen.test \
+	trace_fstatfs.gen.test trace_lstat.gen.test \
+	trace_question.gen.test trace_stat.gen.test \
+	trace_stat_like.gen.test trace_statfs.gen.test \
+	trace_statfs_like.gen.test truncate.gen.test \
+	truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
+	umoven-illptr.gen.test umovestr-illptr.gen.test \
+	umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
+	unshare.gen.test userfaultfd.gen.test ustat.gen.test \
+	utime.gen.test utimensat.gen.test utimes.gen.test \
+	vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
+	wait4.gen.test wait4-v.gen.test waitid.gen.test \
+	waitid-v.gen.test waitpid.gen.test xattr.gen.test \
+	xattr-strings.gen.test xet_robust_list.gen.test \
+	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
+	xettimeofday.gen.test
 @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_nsfs.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 \
@@ -2650,148 +3002,21 @@
 	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 = \
@@ -2804,7 +3029,7 @@
 	detach-sleeping.test \
 	detach-stopped.test \
 	filter-unavailable.test \
-	fork-f.test \
+	get_regs.test \
 	ksysent.test \
 	opipe.test \
 	options-syntax.test \
@@ -2820,7 +3045,6 @@
 	redirect-fds.test \
 	redirect.test \
 	restart_syscall.test \
-	signal_receive.test \
 	strace-C.test \
 	strace-E.test \
 	strace-S.test \
@@ -2832,77 +3056,94 @@
 	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))
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
 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)
+EXTRA_DIST = \
+	caps-abbrev.awk \
+	caps.awk \
+	clock.in \
+	count-f.expected \
+	eventfd.expected \
+	fadvise.h \
+	filter-unavailable.expected \
+	fstatat.c \
+	fstatx.c \
+	gen_pure_executables.sh \
+	gen_tests.in \
+	gen_tests.sh \
+	getresugid.c \
+	init.sh \
+	init_delete_module.h \
+	ioctl-v.sh \
+	ipc.sh \
+	ipc_msgbuf.expected \
+	ksysent.sed \
+	lstatx.c \
+	match.awk \
+	net.expected \
+	oldselect.expected \
+	pipe.expected \
+	process_vm_readv_writev.c \
+	pure_executables.list \
+	qual_fault-exit_group.expected \
+	qual_inject-error-signal.expected \
+	qual_inject-signal.expected \
+	quotactl.h \
+	regex.in \
+	run.sh \
+	sched.in \
+	scno_tampering.sh \
+	setfsugid.c \
+	setresugid.c \
+	setreugid.c \
+	setugid.c \
+	sigaction.awk \
+	sigaltstack.expected \
+	sockname.c \
+	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 \
+	trace_fstat.in \
+	trace_fstatfs.in \
+	trace_lstat.in \
+	trace_question.in \
+	trace_stat.in \
+	trace_stat_like.in \
+	trace_statfs.in \
+	trace_statfs_like.in \
+	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 \
+	xutimes.c \
+	$(TESTS)
 
 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+CLEANFILES = ksysent.h syscallent.i scno.h
 SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
 
@@ -2913,7 +3154,7 @@
 
 .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)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -2934,7 +3175,7 @@
 	    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:
+$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3316,6 +3557,14 @@
 	@rm -f getpgrp$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
 
+getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
+	@rm -f getpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
+
+getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
+	@rm -f getppid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
+
 getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
 	@rm -f getrandom$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
@@ -3352,6 +3601,10 @@
 	@rm -f getsockname$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
 
+gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES) 
+	@rm -f gettid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
+
 getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
 	@rm -f getuid$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
@@ -3380,6 +3633,10 @@
 	@rm -f inotify_init1$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
 
+int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES) 
+	@rm -f int_0x80$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
+
 ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
 	@rm -f ioctl$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
@@ -3420,6 +3677,10 @@
 	@rm -f ioctl_mtd$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
 
+ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES) 
+	@rm -f ioctl_nsfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_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)
@@ -3548,6 +3809,10 @@
 	@rm -f lstat64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
 
+madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES) 
+	@rm -f madvise$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
+
 mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
 	@rm -f mbind$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
@@ -3744,6 +4009,10 @@
 	@rm -f openat$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
 
+osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) 
+	@rm -f osf_utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
+
 pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
 	@rm -f pause$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
@@ -3796,6 +4065,10 @@
 	@rm -f ppoll$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
 
+ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES) 
+	@rm -f ppoll-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_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)
@@ -4004,6 +4277,10 @@
 	@rm -f rt_sigqueueinfo$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
 
+rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
+	@rm -f rt_sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_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)
@@ -4204,6 +4481,10 @@
 	@rm -f sigreturn$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
 
+sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES) 
+	@rm -f sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
+
 sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
 	@rm -f sleep$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
@@ -4236,10 +4517,18 @@
 	@rm -f statfs64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
 
+statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES) 
+	@rm -f statx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
+
 swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
 	@rm -f swap$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
 
+sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES) 
+	@rm -f sxetmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
+
 symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
 	@rm -f symlink$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
@@ -4548,6 +4837,8 @@
 @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)/getpid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.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@
@@ -4557,6 +4848,7 @@
 @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)/gettid.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@
@@ -4564,6 +4856,7 @@
 @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)/int_0x80.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@
@@ -4574,6 +4867,7 @@
 @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_nsfs.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@
@@ -4603,6 +4897,7 @@
 @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-get_sigset_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@
@@ -4611,9 +4906,11 @@
 @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-print_time.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-skip_unavailable.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@
@@ -4624,6 +4921,7 @@
 @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)/madvise.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@
@@ -4673,6 +4971,7 @@
 @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)/osf_utimes.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@
@@ -4685,6 +4984,7 @@
 @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-v.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@
@@ -4738,6 +5038,7 @@
 @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_sigreturn.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@
@@ -4788,6 +5089,7 @@
 @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)/sigsuspend.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@
@@ -4800,7 +5102,9 @@
 @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)/statx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sxetmask.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@
@@ -4925,6 +5229,20 @@
 @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-get_sigset_size.o: get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+
+libtests_a-get_sigset_size.obj: get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_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
@@ -5037,6 +5355,20 @@
 @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-print_time.o: print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libtests_a-print_time.obj: print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.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
@@ -5079,6 +5411,20 @@
 @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-skip_unavailable.o: skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+
+libtests_a-skip_unavailable.obj: skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.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
@@ -5603,7 +5949,7 @@
 clean: clean-am
 
 clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	mostlyclean-am
+	clean-local mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -5675,19 +6021,982 @@
 .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 \
+	clean-local 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
 
 
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
 @VALGRIND_CHECK_RULES@
 
 ksysent.h: $(srcdir)/ksysent.sed
@@ -5700,6 +7009,11 @@
 ksysent.$(OBJEXT): ksysent.h
 $(objects): scno.h
 
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
 syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
 	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
 
diff --git a/tests-m32/_newselect.gen.test b/tests-m32/_newselect.gen.test
new file mode 100755
index 0000000..490abe4
--- /dev/null
+++ b/tests-m32/_newselect.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (_newselect ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/_newselect.test b/tests-m32/_newselect.test
deleted file mode 100755
index 3371d4d..0000000
--- a/tests-m32/_newselect.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check _newselect syscall decoding.
-
-. "${srcdir=.}/select.test"
diff --git a/tests-m32/accept.gen.test b/tests-m32/accept.gen.test
new file mode 100755
index 0000000..3ebba3b
--- /dev/null
+++ b/tests-m32/accept.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (accept -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-m32/accept.test b/tests-m32/accept.test
deleted file mode 100755
index b5e0790..0000000
--- a/tests-m32/accept.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of accept syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-m32/accept4.gen.test b/tests-m32/accept4.gen.test
new file mode 100755
index 0000000..5bd7fe6
--- /dev/null
+++ b/tests-m32/accept4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (accept4 -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests-m32/accept4.test b/tests-m32/accept4.test
deleted file mode 100755
index 722f25a..0000000
--- a/tests-m32/accept4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of accept4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests-m32/access.c b/tests-m32/access.c
index e6f169b..4420ba3 100644
--- a/tests-m32/access.c
+++ b/tests-m32/access.c
@@ -19,6 +19,7 @@
 	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests-m32/access.gen.test b/tests-m32/access.gen.test
new file mode 100755
index 0000000..7d80e6f
--- /dev/null
+++ b/tests-m32/access.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (access -a30 -P access_sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -P access_sample
diff --git a/tests-m32/access.test b/tests-m32/access.test
deleted file mode 100755
index 3ab2eb4..0000000
--- a/tests-m32/access.test
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# Check access syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-check_prog grep
-run_prog > /dev/null
-run_strace -eaccess -a30 $args > "$EXP"
-
-# Filter out access() calls made by libc.
-grep -F access_sample < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/acct.gen.test b/tests-m32/acct.gen.test
new file mode 100755
index 0000000..fa14e85
--- /dev/null
+++ b/tests-m32/acct.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (acct -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-m32/acct.test b/tests-m32/acct.test
deleted file mode 100755
index b9bca75..0000000
--- a/tests-m32/acct.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check acct syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-m32/add_key.gen.test b/tests-m32/add_key.gen.test
new file mode 100755
index 0000000..d6ffbc8
--- /dev/null
+++ b/tests-m32/add_key.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (add_key -a30 -s12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -s12
diff --git a/tests-m32/add_key.test b/tests-m32/add_key.test
deleted file mode 100755
index eadd8c2..0000000
--- a/tests-m32/add_key.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of add_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -s12
diff --git a/tests-m32/adjtimex.c b/tests-m32/adjtimex.c
index 1638b53..4d68ea1 100644
--- a/tests-m32/adjtimex.c
+++ b/tests-m32/adjtimex.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of adjtimex strace test.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,38 +33,46 @@
 #include <string.h>
 #include <sys/timex.h>
 
+#include "xlat.h"
+#include "xlat/adjtimex_state.h"
+#include "xlat/adjtimex_status.h"
+
 int
 main(void)
 {
-	adjtimex(NULL);
-	printf("adjtimex\\(NULL\\) = -1 EFAULT \\(%m\\)\n");
+	int state = adjtimex(NULL);
+	printf("adjtimex(NULL) = %s\n", sprintrc(state));
 
-	struct timex * const tx = tail_alloc(sizeof(*tx));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timex, tx);
 	memset(tx, 0, sizeof(*tx));
 
-	int state = adjtimex(tx);
+	state = adjtimex(tx);
 	if (state < 0)
 		perror_msg_and_skip("adjtimex");
 
-	printf("adjtimex\\(\\{modes=0, offset=%jd, freq=%jd, maxerror=%jd"
-	       ", esterror=%jd, status=%s, constant=%jd, precision=%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
-	       "\\}\\) = %d \\(TIME_[A-Z]+\\)\n",
+	printf("adjtimex({modes=0, offset=%jd, freq=%jd, maxerror=%jd"
+	       ", esterror=%jd, status=",
 	       (intmax_t) tx->offset,
 	       (intmax_t) tx->freq,
 	       (intmax_t) tx->maxerror,
-	       (intmax_t) tx->esterror,
-	       tx->status ? "STA_[A-Z]+(\\|STA_[A-Z]+)*" : "0",
+	       (intmax_t) tx->esterror);
+	if (tx->status)
+		printflags(adjtimex_status, (unsigned int) tx->status, NULL);
+	else
+		putchar('0');
+	printf(", constant=%jd, precision=%jd"
+	       ", tolerance=%jd, time={tv_sec=%lld, tv_usec=%llu}, 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
+	       "}) = %d (",
 	       (intmax_t) tx->constant,
 	       (intmax_t) tx->precision,
 	       (intmax_t) tx->tolerance,
-	       (intmax_t) tx->time.tv_sec,
-	       (intmax_t) tx->time.tv_usec,
+	       (long long) tx->time.tv_sec,
+	       zero_extend_signed_to_ull(tx->time.tv_usec),
 	       (intmax_t) tx->tick,
 	       (intmax_t) tx->ppsfreq,
 	       (intmax_t) tx->jitter,
@@ -78,6 +86,9 @@
 	       tx->tai,
 #endif
 	       state);
+	printxval(adjtimex_state, (unsigned int) state, NULL);
+	puts(")");
 
+	puts("+++ exited with 0 +++");
 	return 0;
 }
diff --git a/tests-m32/adjtimex.gen.test b/tests-m32/adjtimex.gen.test
new file mode 100755
index 0000000..8db59f2
--- /dev/null
+++ b/tests-m32/adjtimex.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (adjtimex -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-m32/adjtimex.test b/tests-m32/adjtimex.test
deleted file mode 100755
index 0140550..0000000
--- a/tests-m32/adjtimex.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check adjtimex syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a 15 -e adjtimex $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
diff --git a/tests-m32/aio.c b/tests-m32/aio.c
index 0766d23..677a02b 100644
--- a/tests-m32/aio.c
+++ b/tests-m32/aio.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -198,15 +199,14 @@
 	};
 	const long *cbvs2 = tail_memdup(proto_cbvs2, sizeof(proto_cbvs2));
 
-	unsigned long *ctx = tail_alloc(sizeof(unsigned long));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned long, ctx);
 	*ctx = 0;
 
 	const unsigned int nr = ARRAY_SIZE(proto_cb);
 	const unsigned long lnr = (unsigned long) (0xdeadbeef00000000ULL | nr);
 
 	const struct io_event *ev = tail_alloc(nr * sizeof(struct io_event));
-	const struct timespec proto_ts = { .tv_nsec = 123456789 };
-	const struct timespec *ts = tail_memdup(&proto_ts, sizeof(proto_ts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
 
 	(void) close(0);
 	if (open("/dev/zero", O_RDONLY))
@@ -263,6 +263,24 @@
 	       bogus_ctx, (long) 0xca7faceddeadf00dLL,
 	       (long) 0xba5e1e505ca571e0LL, ts + 1, sprintrc(rc));
 
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	rc = syscall(__NR_io_getevents, bogus_ctx, 0, 0, 0, ts);
+	printf("io_getevents(%#lx, 0, 0, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       bogus_ctx, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	rc = syscall(__NR_io_getevents, bogus_ctx, 0, 0, 0, ts);
+	printf("io_getevents(%#lx, 0, 0, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       bogus_ctx, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = 0;
+	ts->tv_nsec = 123456789;
 	rc = syscall(__NR_io_getevents, *ctx, nr, nr + 1, ev, ts);
 	printf("io_getevents(%#lx, %ld, %ld, ["
 	       "{data=%#" PRI__x64 ", obj=%p, res=%u, res2=0}, "
diff --git a/tests-m32/aio.gen.test b/tests-m32/aio.gen.test
new file mode 100755
index 0000000..8c8cbd5
--- /dev/null
+++ b/tests-m32/aio.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (aio -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy
diff --git a/tests-m32/aio.test b/tests-m32/aio.test
deleted file mode 100755
index 2ba90da..0000000
--- a/tests-m32/aio.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check io_* syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-syscalls=io_setup,io_submit,io_getevents,io_cancel,io_destroy
-run_strace_match_diff -a14 -e trace=$syscalls
diff --git a/tests-m32/alarm.gen.test b/tests-m32/alarm.gen.test
new file mode 100755
index 0000000..ba1dea8
--- /dev/null
+++ b/tests-m32/alarm.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (alarm -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/alarm.test b/tests-m32/alarm.test
deleted file mode 100755
index 267b223..0000000
--- a/tests-m32/alarm.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check alarm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-m32/attach-f-p-cmd.c b/tests-m32/attach-f-p-cmd.c
index 77594be..1e9ed99 100644
--- a/tests-m32/attach-f-p-cmd.c
+++ b/tests-m32/attach-f-p-cmd.c
@@ -2,6 +2,7 @@
  * This file is part of attach-f-p strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,6 +35,8 @@
 int
 main(void)
 {
+	skip_if_unavailable("/proc/self/task/");
+
 	static const char dir[] = "attach-f-p.test cmd";
 	pid_t pid = getpid();
 	int rc = chdir(dir);
diff --git a/tests-m32/attach-f-p.test b/tests-m32/attach-f-p.test
index f417074..368c775 100755
--- a/tests-m32/attach-f-p.test
+++ b/tests-m32/attach-f-p.test
@@ -3,6 +3,7 @@
 # Check that -f -p attaches to threads properly.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,22 +30,17 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -f -p is implemented using /proc/$pid/task/
-[ -d /proc/self/task/ ] ||
-	framework_skip_ '/proc/self/task/ is not available'
 run_prog_skip_if_failed \
 	kill -0 $$
-run_prog ./attach-f-p-cmd > /dev/null
+run_prog ../attach-f-p-cmd > /dev/null
 
-rm -f "$OUT"
-./set_ptracer_any sh -c "exec ./attach-f-p >> $OUT" > /dev/null &
+../set_ptracer_any sh -c "exec ../attach-f-p >> $EXP" > /dev/null &
 tracee_pid=$!
 
-while ! [ -s "$OUT" ]; do
+while ! [ -s "$EXP" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
 		fail_ 'set_ptracer_any sh failed'
 done
 
-run_strace -a32 -f -echdir -p $tracee_pid ./attach-f-p-cmd > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace -a32 -f -echdir -p $tracee_pid ../attach-f-p-cmd > "$EXP"
+match_diff "$LOG" "$EXP"
diff --git a/tests-m32/attach-p-cmd.test b/tests-m32/attach-p-cmd.test
index 2068cf1..e7c1bfa 100755
--- a/tests-m32/attach-p-cmd.test
+++ b/tests-m32/attach-p-cmd.test
@@ -3,6 +3,7 @@
 # Check that simultaneous use of -p option and tracing of a command works.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -32,16 +33,13 @@
 run_prog_skip_if_failed \
 	kill -0 $$
 
-rm -rf attach-p-cmd.test-lock
-rm -f "$OUT"
-./set_ptracer_any ./attach-p-cmd-p >> "$OUT" &
+../set_ptracer_any ../attach-p-cmd-p >> "$EXP" &
 tracee_pid=$!
 
-while ! [ -s "$OUT" ]; do
+while ! [ -s "$EXP" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
-		fail_ 'set_ptracer_any ./attach-p-cmd-p failed'
+		fail_ 'set_ptracer_any ../attach-p-cmd-p failed'
 done
 
-run_strace -a30 -echdir -p $tracee_pid ./attach-p-cmd-cmd > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace -a30 -echdir -p $tracee_pid ../attach-p-cmd-cmd > "$EXP"
+match_diff "$LOG" "$EXP"
diff --git a/tests-m32/bexecve.test b/tests-m32/bexecve.test
index f1ab04f..325330e 100755
--- a/tests-m32/bexecve.test
+++ b/tests-m32/bexecve.test
@@ -3,6 +3,7 @@
 # Check -bexecve behavior.
 #
 # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -35,14 +36,14 @@
 	$STRACE "$@" 2> "$LOG"
 }
 
-run_strace_redir -enone ./set_ptracer_any true ||
+run_strace_redir -enone ../set_ptracer_any true ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
-run_strace_redir -enone ./set_ptracer_any false
+run_strace_redir -enone ../set_ptracer_any false
 [ $? -eq 1 ] ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
-run_strace_redir -bexecve -enone ./set_ptracer_any false ||
+run_strace_redir -bexecve -enone ../set_ptracer_any false ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
 pattern_detached='[^:]*strace: Process [1-9][0-9]* detached'
diff --git a/tests-m32/bpf.c b/tests-m32/bpf.c
index 7ef16c9..40f96a7 100644
--- a/tests-m32/bpf.c
+++ b/tests-m32/bpf.c
@@ -109,14 +109,15 @@
 # endif
 
 /* BPF_PROG_ATTACH and BPF_PROG_DETACH commands appear in kernel 4.10. */
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
 static int
 prog_cgroup(int cmd)
 {
 	union bpf_attr attr = {
 		.target_fd = -1,
 		.attach_bpf_fd = -1,
-		.attach_type = 0
+		.attach_type = 0,
+		.attach_flags = 1
 	};
 	void *const t_attr = tail_memdup(&attr, sizeof(attr));
 	return sys_bpf(cmd, (unsigned long) t_attr, sizeof(attr));
@@ -205,11 +206,12 @@
 	BOGUS_BPF(BPF_OBJ_GET);
 # endif
 
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
 	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",
+	       ", attach_type=BPF_CGROUP_INET_INGRESS"
+	       ", attach_flags=BPF_F_ALLOW_OVERRIDE}, %u) = %s\n",
 	       (unsigned) sizeof(union bpf_attr), errstr);
 	BOGUS_BPF(BPF_PROG_ATTACH);
 
diff --git a/tests-m32/bpf.gen.test b/tests-m32/bpf.gen.test
new file mode 100755
index 0000000..7ee9e7f
--- /dev/null
+++ b/tests-m32/bpf.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-m32/bpf.test b/tests-m32/bpf.test
deleted file mode 100755
index adf0d57..0000000
--- a/tests-m32/bpf.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check bpf syscall decoding.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a20
diff --git a/tests-m32/brk.test b/tests-m32/brk.test
index 8c0e2e4..3781220 100755
--- a/tests-m32/brk.test
+++ b/tests-m32/brk.test
@@ -7,4 +7,3 @@
 run_prog > /dev/null
 run_strace -a10 -ebrk $args > "$EXP"
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-m32/btrfs-v.test b/tests-m32/btrfs-v.test
index 1ee17b4..8cc2724 100755
--- a/tests-m32/btrfs-v.test
+++ b/tests-m32/btrfs-v.test
@@ -4,12 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./btrfs -v > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -v > /dev/null
+run_strace -a16 -veioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-m32/btrfs-vw.test b/tests-m32/btrfs-vw.test
index c7e40ad..913fba1 100755
--- a/tests-m32/btrfs-vw.test
+++ b/tests-m32/btrfs-vw.test
@@ -18,12 +18,8 @@
     skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
 fi
 
-run_prog ./btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
+run_strace -a16 -veioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-m32/btrfs-w.test b/tests-m32/btrfs-w.test
index 6238dca..031f0b8 100755
--- a/tests-m32/btrfs-w.test
+++ b/tests-m32/btrfs-w.test
@@ -18,12 +18,8 @@
     skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
 fi
 
-run_prog ./btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
-run_strace -a16 -eioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
+run_strace -a16 -eioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-m32/btrfs.c b/tests-m32/btrfs.c
index b3e23f8..7e5ccff 100644
--- a/tests-m32/btrfs.c
+++ b/tests-m32/btrfs.c
@@ -1548,9 +1548,9 @@
 			const char *name = xlookup(btrfs_dev_stats_values, i);
 			if (i)
 				printf(", ");
-			if (name)
-				printf("/* %s */ ", name);
 			printf("%" PRI__u64, args.values[i]);
+			if (name)
+				printf(" /* %s */", name);
 		}
 		printf("]}) = 0\n");
 	}
@@ -1799,13 +1799,13 @@
 		      &supported_features);
 		printf("ioctl(%d, BTRFS_IOC_GET_SUPPORTED_FEATURES, ",
 		       btrfs_test_dir_fd);
-		printf("[ /* supported */ ");
+		printf("[");
 		btrfs_print_features(&supported_features[0]);
-		printf(", /* safe to set */ ");
+		printf(" /* supported */, ");
 		btrfs_print_features(&supported_features[1]);
-		printf(", /* safe to clear */ ");
+		printf(" /* safe to set */, ");
 		btrfs_print_features(&supported_features[2]);
-		printf("]) = 0\n");
+		printf(" /* safe to clear */]) = 0\n");
 	}
 }
 
diff --git a/tests-m32/btrfs.gen.test b/tests-m32/btrfs.gen.test
new file mode 100755
index 0000000..a7118ef
--- /dev/null
+++ b/tests-m32/btrfs.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (btrfs +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/btrfs.test b/tests-m32/btrfs.test
deleted file mode 100755
index 2121b5b..0000000
--- a/tests-m32/btrfs.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic btrfs ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/chmod.gen.test b/tests-m32/chmod.gen.test
new file mode 100755
index 0000000..438665a
--- /dev/null
+++ b/tests-m32/chmod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chmod -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-m32/chmod.test b/tests-m32/chmod.test
deleted file mode 100755
index 70e561a..0000000
--- a/tests-m32/chmod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-m32/chown.gen.test b/tests-m32/chown.gen.test
new file mode 100755
index 0000000..46889a1
--- /dev/null
+++ b/tests-m32/chown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chown -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-m32/chown.test b/tests-m32/chown.test
deleted file mode 100755
index eb356ce..0000000
--- a/tests-m32/chown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-m32/chown32.gen.test b/tests-m32/chown32.gen.test
new file mode 100755
index 0000000..f0f603e
--- /dev/null
+++ b/tests-m32/chown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chown32 -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests-m32/chown32.test b/tests-m32/chown32.test
deleted file mode 100755
index 0fa04c2..0000000
--- a/tests-m32/chown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
diff --git a/tests-m32/chroot.gen.test b/tests-m32/chroot.gen.test
new file mode 100755
index 0000000..6ea81dd
--- /dev/null
+++ b/tests-m32/chroot.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chroot -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-m32/chroot.test b/tests-m32/chroot.test
deleted file mode 100755
index 3b384f5..0000000
--- a/tests-m32/chroot.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chroot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-m32/clock.gen.test b/tests-m32/clock.gen.test
new file mode 100755
index 0000000..b76eaf5
--- /dev/null
+++ b/tests-m32/clock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock test_trace_expr 'times|fcntl.*' -e/clock); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr 'times|fcntl.*' -e/clock
diff --git a/tests-m32/clock.in b/tests-m32/clock.in
new file mode 100755
index 0000000..864de29
--- /dev/null
+++ b/tests-m32/clock.in
@@ -0,0 +1,3 @@
+clock_adjtime	-a37
+clock_nanosleep
+clock_xettime	-a36
diff --git a/tests-m32/clock_adjtime.gen.test b/tests-m32/clock_adjtime.gen.test
new file mode 100755
index 0000000..735e3af
--- /dev/null
+++ b/tests-m32/clock_adjtime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_adjtime -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests-m32/clock_adjtime.test b/tests-m32/clock_adjtime.test
deleted file mode 100755
index df2c060..0000000
--- a/tests-m32/clock_adjtime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_adjtime syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests-m32/clock_nanosleep.c b/tests-m32/clock_nanosleep.c
index 98407d7..72ac2e4 100644
--- a/tests-m32/clock_nanosleep.c
+++ b/tests-m32/clock_nanosleep.c
@@ -1,5 +1,8 @@
 /*
+ * Check decoding of clock_nanosleep and clock_gettime syscalls.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,9 +65,10 @@
 
 	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, {tv_sec=%jd, tv_nsec=%jd}, "
-	       "NULL) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, NULL) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       NULL, &rem.ts) == -1);
@@ -73,52 +77,71 @@
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == 0);
-	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);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(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"
-	       ", {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);
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = 0xdeadbeefU;
+	req.ts.tv_nsec = 0xfacefeedU;
+	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
+		       &req.ts, &rem.ts) == -1);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	req.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(syscall(__NR_clock_nanosleep, CLOCK_MONOTONIC, 0,
+		       &req.ts, &rem.ts) == -1);
+	printf("clock_nanosleep(CLOCK_MONOTONIC, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(sigprocmask(SIG_SETMASK, &set, NULL) == 0);
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	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,
-	       (intmax_t) itv.it_value.tv_usec);
 
-	--req.ts.tv_nsec;
+	req.ts.tv_sec = 0;
+	req.ts.tv_nsec = 999999999;
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == -1);
-	printf("clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=%jd, tv_nsec=%jd}, "
-	       "{tv_sec=%jd, tv_nsec=%jd})"
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {tv_sec=%lld, tv_nsec=%llu})"
 	       " = ? 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);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec),
+	       (long long) rem.ts.tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("clock_gettime(CLOCK_REALTIME, {tv_sec=%lld, tv_nsec=%llu}) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	++req.ts.tv_sec;
 	rem.ts.tv_sec = 0xc0de4;
 	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, {tv_sec=%jd, "
-	       "tv_nsec=%jd}, %p)"
+	printf("clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p)"
 	       " = ? ERESTARTNOHAND (To be restarted if no handler)\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-m32/clock_nanosleep.gen.test b/tests-m32/clock_nanosleep.gen.test
new file mode 100755
index 0000000..7a6025b
--- /dev/null
+++ b/tests-m32/clock_nanosleep.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_nanosleep -e trace=clock_nanosleep,clock_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=clock_nanosleep,clock_gettime
diff --git a/tests-m32/clock_nanosleep.test b/tests-m32/clock_nanosleep.test
deleted file mode 100755
index ec434a6..0000000
--- a/tests-m32/clock_nanosleep.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_nanosleep, clock_gettime, and setitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=clock_nanosleep,clock_gettime,setitimer
diff --git a/tests-m32/clock_xettime.c b/tests-m32/clock_xettime.c
index 3ef5695..e3ec1b5 100644
--- a/tests-m32/clock_xettime.c
+++ b/tests-m32/clock_xettime.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,26 +49,41 @@
 
 	if (syscall(__NR_clock_getres, CLOCK_REALTIME, &t.ts))
 		perror_msg_and_skip("clock_getres CLOCK_REALTIME");
-	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);
+	printf("clock_getres(CLOCK_REALTIME, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = 0\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(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, "
-	       "{tv_sec=%jd, tv_nsec=%jd}) = 0\n",
-	       (intmax_t) t.ts.tv_sec,
-	       (intmax_t) t.ts.tv_nsec);
+	printf("clock_gettime(CLOCK_PROCESS_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = 0\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
 
 	t.ts.tv_sec = 0xdeface1;
 	t.ts.tv_nsec = 0xdeface2;
-	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, {tv_sec=%jd, "
-	       "tv_nsec=%jd}) = -1 EINVAL (%m)\n",
-	       (intmax_t) t.ts.tv_sec,
-	       (intmax_t) t.ts.tv_nsec);
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
+
+	t.ts.tv_sec = 0xdeadbeefU;
+	t.ts.tv_nsec = 0xfacefeedU;
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
+
+	t.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	t.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/clock_xettime.gen.test b/tests-m32/clock_xettime.gen.test
new file mode 100755
index 0000000..590f058
--- /dev/null
+++ b/tests-m32/clock_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_xettime -a36 -e trace=clock_getres,clock_gettime,clock_settime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
diff --git a/tests-m32/clock_xettime.test b/tests-m32/clock_xettime.test
deleted file mode 100755
index f045a66..0000000
--- a/tests-m32/clock_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_getres, clock_gettime, and clock_settime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
diff --git a/tests-m32/copy_file_range.c b/tests-m32/copy_file_range.c
index 085010a..6bb989d 100644
--- a/tests-m32/copy_file_range.c
+++ b/tests-m32/copy_file_range.c
@@ -2,6 +2,7 @@
  * This file is part of copy_file_range strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,8 +42,8 @@
 {
 	const long int fd_in = (long int) 0xdeadbeefffffffff;
 	const long int fd_out = (long int) 0xdeadbeeffffffffe;
-	long long int *const off_in = tail_alloc(sizeof(*off_in));
-	long long int *const off_out = tail_alloc(sizeof(*off_out));
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_in);
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_out);
 	*off_in = 0xdeadbef1facefed1;
 	*off_out = 0xdeadbef2facefed2;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
diff --git a/tests-m32/copy_file_range.gen.test b/tests-m32/copy_file_range.gen.test
new file mode 100755
index 0000000..4f3063b
--- /dev/null
+++ b/tests-m32/copy_file_range.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (copy_file_range ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/copy_file_range.test b/tests-m32/copy_file_range.test
deleted file mode 100755
index c39f6ac..0000000
--- a/tests-m32/copy_file_range.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check copy_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/count.test b/tests-m32/count.test
index e75dc6b..a9752c0 100755
--- a/tests-m32/count.test
+++ b/tests-m32/count.test
@@ -3,6 +3,7 @@
 # Check whether -c and -w options work.
 #
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,14 +30,14 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
+run_prog ../sleep 0
 check_prog grep
 
 grep_log()
 {
 	local pattern="$1"; shift
 
-	run_strace "$@" ./sleep 1
+	run_strace "$@" ../sleep 1
 
 	grep nanosleep "$LOG" > /dev/null ||
 		framework_skip_ 'sleep does not use nanosleep'
diff --git a/tests-m32/creat.gen.test b/tests-m32/creat.gen.test
new file mode 100755
index 0000000..d2e47d3
--- /dev/null
+++ b/tests-m32/creat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (creat -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-m32/creat.test b/tests-m32/creat.test
deleted file mode 100755
index 069648f..0000000
--- a/tests-m32/creat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check creat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-m32/delete_module.c b/tests-m32/delete_module.c
index 5a31760..0de35fe 100644
--- a/tests-m32/delete_module.c
+++ b/tests-m32/delete_module.c
@@ -2,6 +2,7 @@
  * Check decoding of delete_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,8 +49,7 @@
 		unsigned int val_prefix, val_suffix;
 	} flags[] = {
 		{ ARG_STR(0), 0, 0 },
-		{ (kernel_ulong_t) 0xffffffff00000000ULL | O_NONBLOCK,
-			"O_NONBLOCK", 0, 0 },
+		{ F8ILL_KULONG_MASK | 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,
@@ -65,7 +65,7 @@
 	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);
+	rc = syscall(__NR_delete_module, NULL, F8ILL_KULONG_MASK);
 	printf("delete_module(NULL, 0) = %s\n", sprintrc(rc));
 
 	rc = syscall(__NR_delete_module, bogus_param1, flags[0].val);
diff --git a/tests-m32/delete_module.gen.test b/tests-m32/delete_module.gen.test
new file mode 100755
index 0000000..4e4c671
--- /dev/null
+++ b/tests-m32/delete_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (delete_module -a23); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23
diff --git a/tests-m32/delete_module.test b/tests-m32/delete_module.test
deleted file mode 100755
index fb86ec9..0000000
--- a/tests-m32/delete_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of delete_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23
diff --git a/tests-m32/detach-running.test b/tests-m32/detach-running.test
index 006efb8..ba5ffbf 100755
--- a/tests-m32/detach-running.test
+++ b/tests-m32/detach-running.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from running processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -36,7 +37,7 @@
 
 set -e
 
-./set_ptracer_any sh -c "echo > $LOG; while :; do :; done" > /dev/null &
+../set_ptracer_any sh -c "echo > $LOG; while :; do :; done" > /dev/null &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -54,7 +55,6 @@
 	return 0
 }
 
-rm -f "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests-m32/detach-sleeping.test b/tests-m32/detach-sleeping.test
index 54304f3..a0975e3 100755
--- a/tests-m32/detach-sleeping.test
+++ b/tests-m32/detach-sleeping.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from sleeping processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -36,8 +37,7 @@
 
 set -e
 
-rm -f "$LOG"
-./set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
+../set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -55,7 +55,6 @@
 	return 0
 }
 
-rm -f "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests-m32/detach-stopped.test b/tests-m32/detach-stopped.test
index 8f480e7..a9f9c72 100755
--- a/tests-m32/detach-stopped.test
+++ b/tests-m32/detach-stopped.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from stopped processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -41,8 +42,8 @@
 
 set -e
 
-rm -f "$LOG"
-./set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
+> "$LOG"
+../set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -62,7 +63,7 @@
 	return 0
 }
 
-rm -f "$LOG"
+> "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests-m32/dup.gen.test b/tests-m32/dup.gen.test
new file mode 100755
index 0000000..e5729c0
--- /dev/null
+++ b/tests-m32/dup.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-m32/dup.test b/tests-m32/dup.test
deleted file mode 100755
index 1dc1919..0000000
--- a/tests-m32/dup.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests-m32/dup2.gen.test b/tests-m32/dup2.gen.test
new file mode 100755
index 0000000..fd1f5c9
--- /dev/null
+++ b/tests-m32/dup2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup2 -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests-m32/dup2.test b/tests-m32/dup2.test
deleted file mode 100755
index 509c5db..0000000
--- a/tests-m32/dup2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests-m32/dup3.gen.test b/tests-m32/dup3.gen.test
new file mode 100755
index 0000000..d6ff7d7
--- /dev/null
+++ b/tests-m32/dup3.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup3 -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-m32/dup3.test b/tests-m32/dup3.test
deleted file mode 100755
index 293f78f..0000000
--- a/tests-m32/dup3.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup3 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-m32/epoll_create.gen.test b/tests-m32/epoll_create.gen.test
new file mode 100755
index 0000000..841da6d
--- /dev/null
+++ b/tests-m32/epoll_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_create -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-m32/epoll_create.test b/tests-m32/epoll_create.test
deleted file mode 100755
index 472a9bd..0000000
--- a/tests-m32/epoll_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-m32/epoll_create1.gen.test b/tests-m32/epoll_create1.gen.test
new file mode 100755
index 0000000..c5e62a0
--- /dev/null
+++ b/tests-m32/epoll_create1.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_create1 -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-m32/epoll_create1.test b/tests-m32/epoll_create1.test
deleted file mode 100755
index 7a926a9..0000000
--- a/tests-m32/epoll_create1.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_create1 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-m32/epoll_ctl.c b/tests-m32/epoll_ctl.c
index e666055..2251b35 100644
--- a/tests-m32/epoll_ctl.c
+++ b/tests-m32/epoll_ctl.c
@@ -11,14 +11,14 @@
 static long
 invoke_syscall(unsigned long epfd, unsigned long op, unsigned long fd, void *ev)
 {
-	op |= (unsigned long) 0xffffffff00000000ULL;
-	return syscall(__NR_epoll_ctl, epfd, op, fd, (unsigned long) ev);
+	return syscall(__NR_epoll_ctl, epfd, F8ILL_KULONG_MASK | op,
+		       fd, (unsigned long) ev);
 }
 
 int
 main(void)
 {
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 	ev->events = EPOLLIN;
 
 	long rc = invoke_syscall(-1U, EPOLL_CTL_ADD, -2U, ev);
diff --git a/tests-m32/epoll_ctl.gen.test b/tests-m32/epoll_ctl.gen.test
new file mode 100755
index 0000000..68c96eb
--- /dev/null
+++ b/tests-m32/epoll_ctl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_ctl ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/epoll_ctl.test b/tests-m32/epoll_ctl.test
deleted file mode 100755
index 1aded54..0000000
--- a/tests-m32/epoll_ctl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_ctl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/epoll_pwait.c b/tests-m32/epoll_pwait.c
index eaaa34d..841e722 100644
--- a/tests-m32/epoll_pwait.c
+++ b/tests-m32/epoll_pwait.c
@@ -12,7 +12,7 @@
 main(void)
 {
 	sigset_t set[2];
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 
 	long rc = syscall(__NR_epoll_pwait, -1, ev, 1, -2,
 			  set, (kernel_ulong_t) sizeof(set));
diff --git a/tests-m32/epoll_pwait.gen.test b/tests-m32/epoll_pwait.gen.test
new file mode 100755
index 0000000..c558efc
--- /dev/null
+++ b/tests-m32/epoll_pwait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_pwait ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/epoll_pwait.test b/tests-m32/epoll_pwait.test
deleted file mode 100755
index c7aeeac..0000000
--- a/tests-m32/epoll_pwait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of epoll_pwait syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/epoll_wait.c b/tests-m32/epoll_wait.c
index 038bf1f..caa3027 100644
--- a/tests-m32/epoll_wait.c
+++ b/tests-m32/epoll_wait.c
@@ -10,7 +10,7 @@
 int
 main(void)
 {
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 
 	long rc = syscall(__NR_epoll_wait, -1, ev, 1, -2);
 	printf("epoll_wait(-1, %p, 1, -2) = %ld %s (%m)\n",
diff --git a/tests-m32/epoll_wait.gen.test b/tests-m32/epoll_wait.gen.test
new file mode 100755
index 0000000..024cc0f
--- /dev/null
+++ b/tests-m32/epoll_wait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_wait -a26); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26
diff --git a/tests-m32/epoll_wait.test b/tests-m32/epoll_wait.test
deleted file mode 100755
index 83ae161..0000000
--- a/tests-m32/epoll_wait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_wait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26
diff --git a/tests-m32/erestartsys.gen.test b/tests-m32/erestartsys.gen.test
new file mode 100755
index 0000000..0fc3215
--- /dev/null
+++ b/tests-m32/erestartsys.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (erestartsys -a34 -e signal=none -e trace=recvfrom); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34 -e signal=none -e trace=recvfrom
diff --git a/tests-m32/erestartsys.test b/tests-m32/erestartsys.test
deleted file mode 100755
index 91f711f..0000000
--- a/tests-m32/erestartsys.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/execve-v.test b/tests-m32/execve-v.test
index cce5860..52ff0d7 100755
--- a/tests-m32/execve-v.test
+++ b/tests-m32/execve-v.test
@@ -11,5 +11,3 @@
 # Filter out execve() call made by strace.
 grep -F test.execve < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/execve.c b/tests-m32/execve.c
index 74749e7..c558dd3 100644
--- a/tests-m32/execve.c
+++ b/tests-m32/execve.c
@@ -2,6 +2,7 @@
  * This file is part of execve strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,13 +63,15 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\", %p, %p, %p, ???]"
 #else
-	       ", [/* 5 vars, unterminated */]"
+	       ", %p /* 5 vars, unterminated */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 	       argv[3], argv[4], argv[5]
 #if VERBOSE
 	       , q_envp[0], q_envp[1], envp[2], envp[3], envp[4]
+#else
+	       , tail_envp
 #endif
 	       );
 
@@ -80,12 +83,14 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\"]"
 #else
-	       ", [/* 2 vars */]"
+	       ", %p /* 2 vars */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
 #if VERBOSE
 	       , q_envp[0], q_envp[1]
+#else
+	       , tail_envp
 #endif
 	       );
 
@@ -94,16 +99,18 @@
 #if VERBOSE
 	       ", [\"%s\"]"
 #else
-	       ", [/* 1 var */]"
+	       ", %p /* 1 var */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[2]
 #if VERBOSE
 	       , q_envp[1]
+#else
+	       , tail_envp + 1
 #endif
 	       );
 
-	char **const empty = tail_alloc(sizeof(*empty));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
 	char **const efault = empty + 1;
 	*empty = NULL;
 
@@ -112,9 +119,13 @@
 #if VERBOSE
 	       ", []"
 #else
-	       ", [/* 0 vars */]"
+	       ", %p /* 0 vars */"
 #endif
-	       ") = -1 ENOENT (%m)\n", Q_FILENAME);
+	       ") = -1 ENOENT (%m)\n", Q_FILENAME
+#if !VERBOSE
+	       , empty
+#endif
+	       );
 
 	char str_a[] = "012345678901234567890123456789012";
 	char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
@@ -141,10 +152,11 @@
 	printf("], [\"%.*s\"...", DEFAULT_STRLEN, b[0]);
 	for (i = 1; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %u vars */", DEFAULT_STRLEN + 1);
+	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
 #endif
-	printf("]) = -1 ENOENT (%m)\n");
+	printf(") = -1 ENOENT (%m)\n");
 
 	execve(FILENAME, a + 1, b + 1);
 	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
@@ -154,10 +166,11 @@
 	printf("], [\"%s\"", b[1]);
 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %d vars */", DEFAULT_STRLEN);
+	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
 #endif
-	printf("]) = -1 ENOENT (%m)\n");
+	printf(") = -1 ENOENT (%m)\n");
 
 	execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
 	printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n",
diff --git a/tests-m32/execve.test b/tests-m32/execve.test
index 263b6fc..5635a94 100755
--- a/tests-m32/execve.test
+++ b/tests-m32/execve.test
@@ -11,5 +11,3 @@
 # Filter out execve() call made by strace.
 grep -F test.execve < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/execveat-v.gen.test b/tests-m32/execveat-v.gen.test
new file mode 100755
index 0000000..f7d572f
--- /dev/null
+++ b/tests-m32/execveat-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (execveat-v -v -e trace=execveat); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=execveat
diff --git a/tests-m32/execveat-v.test b/tests-m32/execveat-v.test
deleted file mode 100755
index a905224..0000000
--- a/tests-m32/execveat-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of execveat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=execveat
diff --git a/tests-m32/execveat.c b/tests-m32/execveat.c
index 9083830..8ffc4d5 100644
--- a/tests-m32/execveat.c
+++ b/tests-m32/execveat.c
@@ -2,6 +2,7 @@
  * This file is part of execveat strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -67,13 +68,15 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\", %p, %p, %p, ???]"
 #else
-	       ", [/* 5 vars, unterminated */]"
+	       ", %p /* 5 vars, unterminated */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 	       argv[3], argv[4], argv[5],
 #if VERBOSE
 	       q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
+#else
+	       tail_envp,
 #endif
 	       errno2name());
 
@@ -85,12 +88,14 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\"]"
 #else
-	       ", [/* 2 vars */]"
+	       ", %p /* 2 vars */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 #if VERBOSE
 	       q_envp[0], q_envp[1],
+#else
+	       tail_envp,
 #endif
 	       errno2name());
 
@@ -99,16 +104,18 @@
 #if VERBOSE
 	       ", [\"%s\"]"
 #else
-	       ", [/* 1 var */]"
+	       ", %p /* 1 var */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[2],
 #if VERBOSE
 	       q_envp[1],
+#else
+	       tail_envp + 1,
 #endif
 	       errno2name());
 
-	char **const empty = tail_alloc(sizeof(*empty));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
 	char **const efault = empty + 1;
 	*empty = NULL;
 
@@ -117,10 +124,14 @@
 #if VERBOSE
 	       ", []"
 #else
-	       ", [/* 0 vars */]"
+	       ", %p /* 0 vars */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-	       Q_FILENAME, errno2name());
+	       Q_FILENAME,
+#if !VERBOSE
+	       empty,
+#endif
+	       errno2name());
 
 	char str_a[] = "012345678901234567890123456789012";
 	char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
@@ -147,10 +158,11 @@
 	printf("], [\"%.*s\"...", DEFAULT_STRLEN, b[0]);
 	for (i = 1; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %u vars */", DEFAULT_STRLEN + 1);
+	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
 #endif
-	printf("], AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
+	printf(", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       errno2name());
 
 	syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
@@ -161,10 +173,11 @@
 	printf("], [\"%s\"", b[1]);
 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %d vars */", DEFAULT_STRLEN);
+	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
 #endif
-	printf("], AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
+	printf(", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       errno2name());
 
 	syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
diff --git a/tests-m32/execveat.gen.test b/tests-m32/execveat.gen.test
new file mode 100755
index 0000000..c92e4d6
--- /dev/null
+++ b/tests-m32/execveat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (execveat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/execveat.test b/tests-m32/execveat.test
deleted file mode 100755
index 879e03e..0000000
--- a/tests-m32/execveat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check execveat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/faccessat.gen.test b/tests-m32/faccessat.gen.test
new file mode 100755
index 0000000..4ccec2a
--- /dev/null
+++ b/tests-m32/faccessat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (faccessat -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -P $NAME.sample
diff --git a/tests-m32/faccessat.test b/tests-m32/faccessat.test
deleted file mode 100755
index 61e7e2f..0000000
--- a/tests-m32/faccessat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check faccessat syscall decoding.
-
-. "${srcdir=.}/openat.test"
diff --git a/tests-m32/fadvise64.test b/tests-m32/fadvise64.test
index 9f74672..161b28f 100755
--- a/tests-m32/fadvise64.test
+++ b/tests-m32/fadvise64.test
@@ -9,4 +9,3 @@
 check_prog grep
 grep -v "^$NAME([0123]," < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/fadvise64_64.gen.test b/tests-m32/fadvise64_64.gen.test
new file mode 100755
index 0000000..5f95b3c
--- /dev/null
+++ b/tests-m32/fadvise64_64.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fadvise64_64 +fadvise64.test); do not edit.
+. "${srcdir=.}/fadvise64.test"
diff --git a/tests-m32/fadvise64_64.test b/tests-m32/fadvise64_64.test
deleted file mode 100755
index a50fe2b..0000000
--- a/tests-m32/fadvise64_64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fadvise64_64 syscall.
-
-. "${srcdir=.}/fadvise64.test"
diff --git a/tests-m32/fallocate.gen.test b/tests-m32/fallocate.gen.test
new file mode 100755
index 0000000..c6cfdb7
--- /dev/null
+++ b/tests-m32/fallocate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fallocate -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-m32/fallocate.test b/tests-m32/fallocate.test
deleted file mode 100755
index 405187e..0000000
--- a/tests-m32/fallocate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-m32/fanotify_init.c b/tests-m32/fanotify_init.c
index c14b413..15e09ee 100644
--- a/tests-m32/fanotify_init.c
+++ b/tests-m32/fanotify_init.c
@@ -2,6 +2,7 @@
  * Check decoding of fanotify_init syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -60,7 +61,7 @@
 main(void)
 {
 	static const struct strval flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "FAN_CLASS_NOTIF" },
+		{ F8ILL_KULONG_MASK, "FAN_CLASS_NOTIF" },
 		{ (kernel_ulong_t) 0xffffffff0000000cULL,
 			"0xc /* FAN_CLASS_??? */" },
 		{ (kernel_ulong_t) 0xdec0deddefaced04ULL,
@@ -70,7 +71,7 @@
 			"FAN_UNLIMITED_QUEUE|FAN_UNLIMITED_MARKS|0xffffffc0" },
 	};
 	static const struct strval event_f_flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ F8ILL_KULONG_MASK, "O_RDONLY" },
 		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
 			"O_WRONLY|0x80000000" }
 	};
diff --git a/tests-m32/fanotify_init.gen.test b/tests-m32/fanotify_init.gen.test
new file mode 100755
index 0000000..ee519e6
--- /dev/null
+++ b/tests-m32/fanotify_init.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_init ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/fanotify_init.test b/tests-m32/fanotify_init.test
deleted file mode 100755
index 8d26af4..0000000
--- a/tests-m32/fanotify_init.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fanotify_init syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/fanotify_mark.c b/tests-m32/fanotify_mark.c
index 43f285d..11cf7d0 100644
--- a/tests-m32/fanotify_mark.c
+++ b/tests-m32/fanotify_mark.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -90,11 +91,11 @@
 
 	static const kernel_ulong_t fds[] = {
 		(kernel_ulong_t) 0xdeadfeed12345678ULL,
-		(kernel_ulong_t) 0xffffffff00000000ULL,
+		F8ILL_KULONG_MASK,
 		(kernel_ulong_t) 0xdeb0d1edffffffffULL,
 	};
 	static const struct strval flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "0" },
+		{ F8ILL_KULONG_MASK, "0" },
 		{ (kernel_ulong_t) 0xdec0deddefaced00ULL,
 			"0xefaced00 /* FAN_MARK_??? */" },
 		{ (kernel_ulong_t) 0xda7a105700000040ULL,
diff --git a/tests-m32/fanotify_mark.gen.test b/tests-m32/fanotify_mark.gen.test
new file mode 100755
index 0000000..ce16a55
--- /dev/null
+++ b/tests-m32/fanotify_mark.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark -a32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32
diff --git a/tests-m32/fanotify_mark.test b/tests-m32/fanotify_mark.test
deleted file mode 100755
index fd67138..0000000
--- a/tests-m32/fanotify_mark.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fanotify_mark syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
diff --git a/tests-m32/fchdir.gen.test b/tests-m32/fchdir.gen.test
new file mode 100755
index 0000000..c80e141
--- /dev/null
+++ b/tests-m32/fchdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchdir -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests-m32/fchdir.test b/tests-m32/fchdir.test
deleted file mode 100755
index 3a4296e..0000000
--- a/tests-m32/fchdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests-m32/fchmod.gen.test b/tests-m32/fchmod.gen.test
new file mode 100755
index 0000000..f327fb7
--- /dev/null
+++ b/tests-m32/fchmod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchmod -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-m32/fchmod.test b/tests-m32/fchmod.test
deleted file mode 100755
index 4cb1263..0000000
--- a/tests-m32/fchmod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests-m32/fchmodat.gen.test b/tests-m32/fchmodat.gen.test
new file mode 100755
index 0000000..9ee1f01
--- /dev/null
+++ b/tests-m32/fchmodat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchmodat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/fchmodat.test b/tests-m32/fchmodat.test
deleted file mode 100755
index 13cbe80..0000000
--- a/tests-m32/fchmodat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fchmodat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/fchown.gen.test b/tests-m32/fchown.gen.test
new file mode 100755
index 0000000..63ee545
--- /dev/null
+++ b/tests-m32/fchown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchown -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-m32/fchown.test b/tests-m32/fchown.test
deleted file mode 100755
index 63a0f2e..0000000
--- a/tests-m32/fchown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16
diff --git a/tests-m32/fchown32.gen.test b/tests-m32/fchown32.gen.test
new file mode 100755
index 0000000..d8167dd
--- /dev/null
+++ b/tests-m32/fchown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchown32 -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-m32/fchown32.test b/tests-m32/fchown32.test
deleted file mode 100755
index e837f54..0000000
--- a/tests-m32/fchown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-m32/fchownat.gen.test b/tests-m32/fchownat.gen.test
new file mode 100755
index 0000000..2ec9e32
--- /dev/null
+++ b/tests-m32/fchownat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchownat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/fchownat.test b/tests-m32/fchownat.test
deleted file mode 100755
index e5d0f28..0000000
--- a/tests-m32/fchownat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fchownat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/fcntl.c b/tests-m32/fcntl.c
index f060cdf..4f62ca2 100644
--- a/tests-m32/fcntl.c
+++ b/tests-m32/fcntl.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,9 +45,9 @@
 		.l_start = 0xdefaced1facefeedULL,
 		.l_len = 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, %p) = %s\n",
-	       TEST_SYSCALL_STR, name, &fl, EINVAL_STR);
+	       TEST_SYSCALL_STR, name, &fl, sprintrc(rc));
 }
 
 static void
diff --git a/tests-m32/fcntl.gen.test b/tests-m32/fcntl.gen.test
new file mode 100755
index 0000000..83a1af4
--- /dev/null
+++ b/tests-m32/fcntl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fcntl -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-m32/fcntl.test b/tests-m32/fcntl.test
deleted file mode 100755
index 9aea122..0000000
--- a/tests-m32/fcntl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fcntl decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests-m32/fcntl64.c b/tests-m32/fcntl64.c
index 5ecd6eb..068956e 100644
--- a/tests-m32/fcntl64.c
+++ b/tests-m32/fcntl64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,10 +45,10 @@
 		.l_start = 0xdefaced1facefeedULL,
 		.l_len = 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
-	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, EINVAL_STR);
+	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc));
 }
 
 static void
@@ -67,7 +68,7 @@
 	long rc = invoke_test_syscall(F_SETLK64, &fl);
 	printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=0, l_len=%d}) = %s\n",
-	       TEST_SYSCALL_STR, FILE_LEN, rc ? EINVAL_STR : "0");
+	       TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc));
 
 	if (rc)
 		return;
diff --git a/tests-m32/fcntl64.gen.test b/tests-m32/fcntl64.gen.test
new file mode 100755
index 0000000..9d3b98a
--- /dev/null
+++ b/tests-m32/fcntl64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fcntl64 -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-m32/fcntl64.test b/tests-m32/fcntl64.test
deleted file mode 100755
index 00ba671..0000000
--- a/tests-m32/fcntl64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fcntl64 syscall decoding.
-
-. "${srcdir=.}/fcntl.test"
diff --git a/tests-m32/fdatasync.gen.test b/tests-m32/fdatasync.gen.test
new file mode 100755
index 0000000..0dbea8a
--- /dev/null
+++ b/tests-m32/fdatasync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fdatasync -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-m32/fdatasync.test b/tests-m32/fdatasync.test
deleted file mode 100755
index ff59749..0000000
--- a/tests-m32/fdatasync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fdatasync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-m32/file_handle.c b/tests-m32/file_handle.c
index a5ad6c7..bbdf48b 100644
--- a/tests-m32/file_handle.c
+++ b/tests-m32/file_handle.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -187,7 +188,7 @@
 		(kernel_ulong_t) 0x12345678ffffff9cULL,
 	};
 	static const struct strval open_flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ F8ILL_KULONG_MASK, "O_RDONLY" },
 		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
 			"O_WRONLY|0x80000000" }
 	};
@@ -208,7 +209,7 @@
 		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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
 
 	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
 
diff --git a/tests-m32/file_handle.gen.test b/tests-m32/file_handle.gen.test
new file mode 100755
index 0000000..8280f9f
--- /dev/null
+++ b/tests-m32/file_handle.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (file_handle -e trace=name_to_handle_at,open_by_handle_at); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
diff --git a/tests-m32/file_handle.test b/tests-m32/file_handle.test
deleted file mode 100755
index 1ccc9d4..0000000
--- a/tests-m32/file_handle.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check name_to_handle_at and open_by_handle_at syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
diff --git a/tests-m32/file_ioctl.c b/tests-m32/file_ioctl.c
index 0fe17b1..ded67a9 100644
--- a/tests-m32/file_ioctl.c
+++ b/tests-m32/file_ioctl.c
@@ -13,7 +13,7 @@
 test_fiemap(void)
 {
 	(void) tail_alloc(1);
-	struct fiemap *const args = tail_alloc(sizeof(*args));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fiemap, args);
 
 	printf("ioctl(-1, FS_IOC_FIEMAP, {fm_start=%" PRI__u64
 	       ", fm_length=%" PRI__u64", fm_flags=",
diff --git a/tests-m32/file_ioctl.gen.test b/tests-m32/file_ioctl.gen.test
new file mode 100755
index 0000000..f7e58f5
--- /dev/null
+++ b/tests-m32/file_ioctl.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (file_ioctl +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/file_ioctl.test b/tests-m32/file_ioctl.test
deleted file mode 100755
index 7b8b8ce..0000000
--- a/tests-m32/file_ioctl.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check FS_IOC_FIEMAP ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/finit_module.c b/tests-m32/finit_module.c
index 3f0178f..c97471a 100644
--- a/tests-m32/finit_module.c
+++ b/tests-m32/finit_module.c
@@ -2,6 +2,7 @@
  * Check decoding of finit_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -68,7 +69,8 @@
 	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);
+	rc = syscall(__NR_finit_module, F8ILL_KULONG_MASK, NULL,
+		     F8ILL_KULONG_MASK);
 	printf("finit_module(0, NULL, 0) = %s\n", sprintrc(rc));
 
 	rc = syscall(__NR_finit_module, bogus_fd, bogus_param1, flags[0].val);
diff --git a/tests-m32/finit_module.gen.test b/tests-m32/finit_module.gen.test
new file mode 100755
index 0000000..f2e56af
--- /dev/null
+++ b/tests-m32/finit_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (finit_module -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-m32/finit_module.test b/tests-m32/finit_module.test
deleted file mode 100755
index bd644f3..0000000
--- a/tests-m32/finit_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of finit_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-m32/flock.gen.test b/tests-m32/flock.gen.test
new file mode 100755
index 0000000..dff2bac
--- /dev/null
+++ b/tests-m32/flock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (flock -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-m32/flock.test b/tests-m32/flock.test
deleted file mode 100755
index 24fcd74..0000000
--- a/tests-m32/flock.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check flock syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-m32/fork-f.gen.test b/tests-m32/fork-f.gen.test
new file mode 100755
index 0000000..b534e13
--- /dev/null
+++ b/tests-m32/fork-f.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fork-f -a26 -qq -f -e signal=none -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26 -qq -f -e signal=none -e trace=chdir
diff --git a/tests-m32/fork-f.test b/tests-m32/fork-f.test
deleted file mode 100755
index d8ca1e3..0000000
--- a/tests-m32/fork-f.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check how strace -f follows fork syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26 -qq -f -e trace=chdir -e signal=none
diff --git a/tests-m32/fstat.c b/tests-m32/fstat.c
index 12df3e1..1482bb1 100644
--- a/tests-m32/fstat.c
+++ b/tests-m32/fstat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/fstat.gen.test b/tests-m32/fstat.gen.test
new file mode 100755
index 0000000..8686ec8
--- /dev/null
+++ b/tests-m32/fstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstat -a15 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15 -v -P stat.sample
diff --git a/tests-m32/fstat.test b/tests-m32/fstat.test
deleted file mode 100755
index 2ba0fba..0000000
--- a/tests-m32/fstat.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# Check fstat 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-m32/fstat64.c b/tests-m32/fstat64.c
index a9c2e07..c63be60 100644
--- a/tests-m32/fstat64.c
+++ b/tests-m32/fstat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/fstat64.gen.test b/tests-m32/fstat64.gen.test
new file mode 100755
index 0000000..a452b84
--- /dev/null
+++ b/tests-m32/fstat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstat64 -a17 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17 -v -P stat.sample
diff --git a/tests-m32/fstat64.test b/tests-m32/fstat64.test
deleted file mode 100755
index 8b4f5ef..0000000
--- a/tests-m32/fstat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstat64 syscall decoding.
-
-. "${srcdir=.}/fstat.test"
diff --git a/tests-m32/fstatat.c b/tests-m32/fstatat.c
index 66138c2..ea331b4 100644
--- a/tests-m32/fstatat.c
+++ b/tests-m32/fstatat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/fstatat64.c b/tests-m32/fstatat64.c
index 03082a8..8de7ba6 100644
--- a/tests-m32/fstatat64.c
+++ b/tests-m32/fstatat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/fstatat64.gen.test b/tests-m32/fstatat64.gen.test
new file mode 100755
index 0000000..8da5c7f
--- /dev/null
+++ b/tests-m32/fstatat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/fstatat64.test b/tests-m32/fstatat64.test
deleted file mode 100755
index 484008a..0000000
--- a/tests-m32/fstatat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/fstatfs.gen.test b/tests-m32/fstatfs.gen.test
new file mode 100755
index 0000000..3dd04d8
--- /dev/null
+++ b/tests-m32/fstatfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatfs -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-m32/fstatfs.test b/tests-m32/fstatfs.test
deleted file mode 100755
index 646e66f..0000000
--- a/tests-m32/fstatfs.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatfs syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests-m32/fstatfs64.gen.test b/tests-m32/fstatfs64.gen.test
new file mode 100755
index 0000000..b9527be
--- /dev/null
+++ b/tests-m32/fstatfs64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatfs64 -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-m32/fstatfs64.test b/tests-m32/fstatfs64.test
deleted file mode 100755
index 179ff1b..0000000
--- a/tests-m32/fstatfs64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests-m32/fstatx.c b/tests-m32/fstatx.c
index f88d9a9..70804af 100644
--- a/tests-m32/fstatx.c
+++ b/tests-m32/fstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/fsync.gen.test b/tests-m32/fsync.gen.test
new file mode 100755
index 0000000..921e804
--- /dev/null
+++ b/tests-m32/fsync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fsync -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/fsync.test b/tests-m32/fsync.test
deleted file mode 100755
index a58b67b..0000000
--- a/tests-m32/fsync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fsync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-m32/ftruncate.gen.test b/tests-m32/ftruncate.gen.test
new file mode 100755
index 0000000..709a851
--- /dev/null
+++ b/tests-m32/ftruncate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ftruncate -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-m32/ftruncate.test b/tests-m32/ftruncate.test
deleted file mode 100755
index ec8a1e0..0000000
--- a/tests-m32/ftruncate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ftruncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-m32/ftruncate64.gen.test b/tests-m32/ftruncate64.gen.test
new file mode 100755
index 0000000..4cb1fe7
--- /dev/null
+++ b/tests-m32/ftruncate64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ftruncate64 -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-m32/ftruncate64.test b/tests-m32/ftruncate64.test
deleted file mode 100755
index 9068210..0000000
--- a/tests-m32/ftruncate64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ftruncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-m32/futex.c b/tests-m32/futex.c
index 586b95d..9a9ab66 100644
--- a/tests-m32/futex.c
+++ b/tests-m32/futex.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,8 +56,6 @@
 # include "xlat/futexwakeops.h"
 # include "xlat/futexwakecmps.h"
 
-static struct timespec *tmout;
-
 void futex_error(int *uaddr, int op, unsigned long val, unsigned long timeout,
 	int *uaddr2, unsigned long val3, int rc)
 {
@@ -163,8 +162,8 @@
 int
 main(int argc, char *argv[])
 {
-	int *uaddr = tail_alloc(sizeof(*uaddr));
-	int *uaddr2 = tail_alloc(sizeof(*uaddr2));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, uaddr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, uaddr2);
 	int rc;
 	unsigned i;
 	unsigned j;
@@ -172,7 +171,7 @@
 	uaddr[0] = 0x1deadead;
 	uaddr2[0] = 0xbadf00d;
 
-	tmout = tail_alloc(sizeof(*tmout));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, tmout);
 	tmout->tv_sec = 123;
 	tmout->tv_nsec = 0xbadc0de;
 
@@ -189,37 +188,59 @@
 	/* uaddr is NULL */
 	CHECK_FUTEX(NULL, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
-	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));
+	printf("futex(NULL, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
-		uaddr + 1, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr + 1, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* timeout is faulty */
 	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout + 1, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
 	printf("futex(%p, FUTEX_WAIT, %u, %p) = %s\n",
-		uaddr, 0xfacefeed, tmout + 1, sprintrc(rc));
+	       uaddr, 0xfacefeed, tmout + 1, sprintrc(rc));
+
+	/* timeout is invalid */
+	tmout->tv_sec = 0xdeadbeefU;
+	tmout->tv_nsec = 0xfacefeedU;
+
+	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
+		(rc == -1) && (errno == EINVAL));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
+
+	tmout->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tmout->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
+		(rc == -1) && (errno == EINVAL));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
+
+	tmout->tv_sec = 123;
+	tmout->tv_nsec = 0xbadc0de;
 
 	/* 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, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
-		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = "
-		"%s\n",
-		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT_PRIVATE, %u, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* Next 2 tests are with CLOCKRT bit set */
 
@@ -227,18 +248,18 @@
 	CHECK_FUTEX_ENOSYS(uaddr,
 		FUTEX_CLOCK_REALTIME | FUTEX_WAIT,
 		VAL, tmout, uaddr2, VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT|FUTEX_CLOCK_REALTIME, %u, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
-		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr,
 		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, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
-		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* FUTEX_WAIT_BITSET - FUTEX_WAIT which provides additional bitmask
 	 *                     which should be matched at least in one bit with
@@ -254,50 +275,54 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	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));
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%lld, tv_nsec=%llu}"
+	       ", %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {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));
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%lld, tv_nsec=%llu}"
+	       ", %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* Next 3 tests are with CLOCKRT bit set */
 
 	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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* val3 of 0 is invalid  */
 	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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), 0, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG |
 		FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1, VAL3,
 		(rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, %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));
+	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* FUTEX_WAKE - wake val processes waiting for uaddr
 	 * Possible flags: PRIVATE
@@ -522,9 +547,9 @@
 			CHECK_FUTEX_ENOSYS(uaddr,
 				j ? FUTEX_WAKE_OP_PRIVATE : FUTEX_WAKE_OP,
 				VAL, i, uaddr2, wake_ops[i].val, (rc == 0));
-			printf("futex(%p, FUTEX_WAKE_OP%s, %u, %u, %p, %s) = "
-				"%s\n", uaddr, j ? "_PRIVATE" : "", VAL_PR, i,
-				uaddr2, wake_ops[i].str, sprintrc(rc));
+			printf("futex(%p, FUTEX_WAKE_OP%s, %u, %u, %p, %s)"
+			       " = %s\n", uaddr, j ? "_PRIVATE" : "", VAL_PR,
+			       i, uaddr2, wake_ops[i].str, sprintrc(rc));
 		}
 	}
 
@@ -552,16 +577,16 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_LOCK_PI, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EFAULT));
-	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));
+	printf("futex(%p, FUTEX_LOCK_PI, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr + 1, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = "
-		"%s\n",
-		uaddr + 1, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_LOCK_PI_PRIVATE, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %s\n",
+	       uaddr + 1, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* NULL is passed by invalid_op() in cases valid timeout address is
 	 * needed */
@@ -633,32 +658,32 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), uaddr2, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG |
 		FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME, "
-		"%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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME"
+	       ", %u, {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), uaddr2, sprintrc(rc));
 
 	/* FUTEX_CMP_REQUEUE_PI - version of FUTEX_CMP_REQUEUE which re-queues
 	 *                        on PI-aware futex.
diff --git a/tests-m32/futimesat.c b/tests-m32/futimesat.c
index c356629..733fd09 100644
--- a/tests-m32/futimesat.c
+++ b/tests-m32/futimesat.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of futimesat syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,46 +37,123 @@
 # include <sys/time.h>
 # include <unistd.h>
 
+static void
+print_tv(const struct timeval *tv)
+{
+	printf("{tv_sec=%lld, tv_usec=%llu}",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
+	print_time_t_usec(tv->tv_sec,
+			  zero_extend_signed_to_ull(tv->tv_usec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_futimesat(const kernel_ulong_t dirfd,
+	    const kernel_ulong_t pathname,
+	    const kernel_ulong_t times)
+{
+	long rc = syscall(__NR_futimesat, dirfd, pathname, times);
+	errstr = sprintrc(rc);
+	return rc;
+}
 
 int
 main(void)
 {
-	struct timeval tv;
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_fail("gettimeofday");
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xbadfaceddeadbeaf;
+	static const kernel_ulong_t kfdcwd =
+		(kernel_ulong_t) 0xdefaced00000000 | -100U;
+	static const char proto_fname[] = "futimesat_sample";
+	static const char qname[] = "\"futimesat_sample\"";
 
-	static const char sample[] = "futimesat_sample";
-	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) 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());
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	struct timeval *const tv = tail_alloc(sizeof(*tv) * 2);
 
 	(void) close(0);
-	rc = syscall(__NR_futimesat, 0, "", ts);
-	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());
+
+	/* dirfd */
+	k_futimesat(0, kfname, 0);
+	printf("futimesat(0, %s, NULL) = %s\n", qname, errstr);
+
+	k_futimesat(bogus_fd, kfname, 0);
+	printf("futimesat(%d, %s, NULL) = %s\n", (int) bogus_fd, qname, errstr);
+
+	k_futimesat(-100U, kfname, 0);
+	printf("futimesat(AT_FDCWD, %s, NULL) = %s\n", qname, errstr);
+
+	k_futimesat(kfdcwd, kfname, 0);
+	printf("futimesat(AT_FDCWD, %s, NULL) = %s\n", qname, errstr);
+
+	/* pathname */
+	k_futimesat(kfdcwd, 0, 0);
+	printf("futimesat(AT_FDCWD, NULL, NULL) = %s\n", errstr);
+
+	k_futimesat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0);
+	printf("futimesat(AT_FDCWD, \"\", NULL) = %s\n", errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_futimesat(kfdcwd, kfname, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("futimesat(AT_FDCWD, %p, NULL) = %s\n", fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_futimesat(kfdcwd, f8ill_ptr_to_kulong(fname), 0);
+		printf("futimesat(AT_FDCWD, %#jx, NULL) = %s\n",
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_futimesat(kfdcwd, kfname, (uintptr_t) (tv + 1));
+	printf("futimesat(AT_FDCWD, %s, %p) = %s\n",
+	       qname, tv + 1, errstr);
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) (tv + 2));
+	printf("futimesat(AT_FDCWD, %s, %p) = %s\n",
+	       qname, tv + 2, errstr);
+
+	tv[0].tv_sec = 0xdeadbeefU;
+	tv[0].tv_usec = 0xfacefeedU;
+	tv[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv[1].tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_sec = 1492356708;
+	tv[0].tv_usec = 567891234;
+	tv[1].tv_sec = 1492357086;
+	tv[1].tv_usec = 678902345;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_usec = 567891;
+	tv[1].tv_usec = 678902;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_futimesat(kfdcwd, kfname, f8ill_ptr_to_kulong(tv));
+		printf("futimesat(AT_FDCWD, %s, %#jx) = %s\n",
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(tv), errstr);
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/futimesat.gen.test b/tests-m32/futimesat.gen.test
new file mode 100755
index 0000000..c3add8c
--- /dev/null
+++ b/tests-m32/futimesat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (futimesat -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-m32/futimesat.test b/tests-m32/futimesat.test
deleted file mode 100755
index 3a67c04..0000000
--- a/tests-m32/futimesat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check futimesat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-m32/gen_pure_executables.sh b/tests-m32/gen_pure_executables.sh
new file mode 100755
index 0000000..c0e2152
--- /dev/null
+++ b/tests-m32/gen_pure_executables.sh
@@ -0,0 +1,50 @@
+#!/bin/sh -efu
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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.
+
+usage()
+{
+	cat >&2 <<EOF
+Usage: $0 [<input> [<output>]]
+
+Generate pure_executables.am from <input> list.
+Deduce output file from <input> unless an <output> is specified.
+EOF
+	exit 1
+}
+
+input="${0%/*}/pure_executables.list"
+[ $# -eq 0 ] || { input="$1"; shift; }
+output="$(dirname "$input")/pure_executables.am"
+[ $# -eq 0 ] || { output="$1"; shift; }
+[ $# -eq 0 ] || usage
+
+exec > "$output"
+
+echo "# Generated by $0 from $input; do not edit."
+echo 'PURE_EXECUTABLES = \'
+sed -n 's/^[^#].*/  & \\/p' < "$input"
+echo '  #'
diff --git a/tests-m32/gen_tests.in b/tests-m32/gen_tests.in
new file mode 100644
index 0000000..be0a3a2
--- /dev/null
+++ b/tests-m32/gen_tests.in
@@ -0,0 +1,348 @@
+# Input for gen_tests.sh
+#
+# Copyright (c) 2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+_newselect
+accept	-a22
+accept4	-a37
+access	-a30 -P access_sample
+acct	-a20
+add_key	-a30 -s12
+adjtimex	-a15
+aio	-a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy
+alarm	-a10
+bpf	-a20
+btrfs	+ioctl.test
+chmod	-a28
+chown	-a28
+chown32	-a31
+chroot	-a24
+clock	test_trace_expr 'times|fcntl.*' -e/clock
+clock_adjtime	-a37
+clock_nanosleep	-e trace=clock_nanosleep,clock_gettime
+clock_xettime	-a36 -e trace=clock_getres,clock_gettime,clock_settime
+copy_file_range
+creat	-a20
+delete_module	-a23
+dup	-a8
+dup2	-a13
+dup3	-a24
+epoll_create	-a17
+epoll_create1	-a28
+epoll_ctl
+epoll_pwait
+epoll_wait	-a26
+erestartsys	-a34 -e signal=none -e trace=recvfrom
+execveat
+execveat-v	-v -e trace=execveat
+faccessat	-P $NAME.sample
+fadvise64_64	+fadvise64.test
+fallocate	-a18
+fanotify_init
+fanotify_mark	-a32
+fchdir	-a11
+fchmod	-a15
+fchmodat
+fchown	-a16
+fchown32	-a18
+fchownat
+fcntl	-a8
+fcntl64	-a8
+fdatasync	-a14
+file_handle	-e trace=name_to_handle_at,open_by_handle_at
+file_ioctl	+ioctl.test
+finit_module	-a25
+flock	-a19
+fork-f	-a26 -qq -f -e signal=none -e trace=chdir
+fstat	-a15 -v -P stat.sample
+fstat64	-a17 -v -P stat.sample
+fstatat64	-a32 -v -P stat.sample -P /dev/full
+fstatfs	-a18
+fstatfs64	-a24
+fsync	-a10
+ftruncate	-a24
+ftruncate64	-a36
+futimesat	-a28
+get_mempolicy	-s3 -a38
+getcpu	-a25
+getcwd	-a18
+getdents	-a22 -v
+getdents64	-a24 -v
+getegid	+getuid.test
+getegid32	+getuid.test
+geteuid	+getuid.test
+geteuid32	+getuid.test
+getgid	+getuid.test
+getgid32	+getuid.test
+getgroups	-a17
+getgroups32	-a19
+getpeername	-a27
+getpgrp	-a10
+getpid	-a9
+getppid	-a10
+getrandom	-a32 -s3
+getresgid	-a25
+getresgid32	-a27
+getresuid	-a25
+getresuid32	-a27
+getrlimit	-a27
+getrusage	-v
+getsid	-a10
+getsockname	-a27
+gettid	-a9
+getuid32	+getuid.test
+getxxid	-a10 -e trace=getxpid,getxuid,getxgid
+inet-cmsg	-e trace=recvmsg
+init_module	-a27
+inotify	-a23 -e trace=inotify_add_watch,inotify_rm_watch
+inotify_init1	-a27
+int_0x80	-a11 -e trace=getgid32
+ioctl_block	+ioctl.test
+ioctl_evdev	+ioctl.test
+ioctl_evdev-v	+ioctl-v.sh
+ioctl_loop	+ioctl.test
+ioctl_loop-v	+ioctl-v.sh
+ioctl_mtd	+ioctl.test
+ioctl_rtc	+ioctl.test
+ioctl_rtc-v	+ioctl-v.sh
+ioctl_scsi	+ioctl.test
+ioctl_sg_io_v3	+ioctl.test
+ioctl_sg_io_v4	+ioctl.test
+ioctl_uffdio	+ioctl.test
+ioctl_v4l2	+ioctl.test
+ioperm	-a27
+iopl	-a8
+ioprio	-a18 -e trace=ioprio_get,ioprio_set
+ip_mreq	-e trace=setsockopt
+ipc	-a19
+ipc_msg	+ipc.sh
+ipc_sem	+ipc.sh
+ipc_shm	+ipc.sh
+kcmp	-a27
+kexec_file_load	-s9
+kexec_load	-s9
+keyctl	-a31 -s10
+kill	-a12 -esignal=none
+lchown	-a30
+lchown32	-a32
+link
+linkat
+lookup_dcookie	-a27
+lstat	-a32 -v -P stat.sample -P /dev/full
+lstat64	-a32 -v -P stat.sample -P /dev/full
+madvise	-a33
+mbind
+membarrier	-a36
+memfd_create
+migrate_pages	-a33
+mincore	-a22
+mkdir	-a20
+mkdirat	-a28
+mknod	-a18
+mknodat	-a35
+mlock	-a20 -e trace=mlock,munlock
+mlock2
+mlockall	-a12
+mmap64	+mmap.test
+mmsg	-e read=0 -e write=1 -e trace=recvmmsg,sendmmsg
+mmsg-silent	-a25 -e verbose=none -e trace=sendmmsg,recvmmsg
+mmsg_name	-a25 -e trace=sendmmsg,recvmmsg
+mmsg_name-v	-v -a25 -e trace=sendmmsg,recvmmsg
+mount
+move_pages	-s3
+mq	-a32 -e trace=mq_getsetattr,mq_open,mq_unlink
+mq_sendrecv	-a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-read	-eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-write	-ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+msg_control	-a21 -e trace=sendmsg
+msg_control-v	-v -a21 -e trace=sendmsg
+msg_name	-a20 -e trace=recvmsg
+munlockall	-a13
+nanosleep	-a20
+net-icmp_filter	-e trace=getsockopt,setsockopt
+net-sockaddr	-a24 -e trace=connect
+netlink_protocol	-e trace=%network
+newfstatat	-a32 -v -P stat.sample -P /dev/full
+old_mmap	-a11 -e trace=mmap
+oldfstat	-a18 -v -P stat.sample
+oldlstat	-a32 -v -P stat.sample -P /dev/full
+oldstat	-a32 -v -P stat.sample -P /dev/full
+open	-a30 -P $NAME.sample
+openat	-P $NAME.sample
+osf_utimes	-a21
+pause	-a8 -esignal=none
+perf_event_open	-a1
+perf_event_open_nonverbose	-a34 -e verbose=none -e trace=perf_event_open
+perf_event_open_unabbrev	-a1 -v -e trace=perf_event_open
+pipe2	-a15
+pkey_alloc	-a17
+pkey_free	-a13
+pkey_mprotect	-a37
+ppoll	-s2
+ppoll-v	-v -s2 -e trace=ppoll
+pread64-pwrite64	-a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null
+preadv	-a21
+preadv-pwritev	-a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
+preadv2-pwritev2	-a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
+printstr	-e trace=writev
+prlimit64
+process_vm_readv	-s5 -a37
+process_vm_writev	-s5 -a38
+pselect6
+ptrace	-a23 -e signal=none
+pwritev	-a22 -s7
+quotactl
+quotactl-v	-v -e trace=quotactl
+quotactl-xfs	-e trace=quotactl
+quotactl-xfs-v	-v -e trace=quotactl
+read-write	-a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+readahead	-a1
+readdir	-a16
+readlink	-xx
+readlinkat	-xx
+reboot
+recvfrom	-a35
+recvmmsg-timeout	-a25 -e trace=recvmmsg
+recvmsg	-eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
+regex	test_trace_expr '' -etrace='/^(.*_)?statv?fs'
+remap_file_pages
+rename	-a35
+renameat
+renameat2
+request_key	-a33 -s12
+rmdir	-a22
+rt_sigpending	-a20
+rt_sigprocmask
+rt_sigqueueinfo	-esignal=none
+rt_sigreturn	-esignal='!USR1'
+rt_sigsuspend	-a20 -esignal=none
+rt_sigtimedwait	-a38
+rt_tgsigqueueinfo	-esignal=none
+sched	test_trace_expr times -e/sched
+sched_get_priority_mxx	-a33 -e trace=sched_get_priority_min,sched_get_priority_max
+sched_rr_get_interval	-a31
+sched_xetaffinity	-a28 -e trace=sched_getaffinity,sched_setaffinity
+sched_xetattr	-a29 -e trace=sched_getattr,sched_setattr
+sched_xetparam	-a23 -e trace=sched_getparam,sched_setparam
+sched_xetscheduler	-a22 -e trace=sched_getscheduler,sched_setscheduler
+sched_yield	-a14
+seccomp-filter	-e trace=seccomp
+seccomp-filter-v	-v -e trace=seccomp
+select	-a36
+semop	-a32 -e trace=semop,semtimedop
+sendfile	-a27
+sendfile64	-a29
+set_mempolicy	-s3 -a35
+setdomainname	-a24
+setfsgid	-a12
+setfsgid32	-a14
+setfsuid	-a12
+setfsuid32	-a14
+setgid	-a10
+setgid32	-a12
+setgroups	-s2 -a17
+setgroups32	-s2 -a19
+sethostname	-a22
+setns	-a21
+setregid	-a15
+setregid32	-a17
+setresgid	-a19
+setresgid32	-a21
+setresuid	-a19
+setresuid32	-a21
+setreuid	-a15
+setreuid32	-a17
+setrlimit	-a27
+setuid	-a10
+setuid32	-a12
+shmxt	-a11 -e trace='/(osf_)?shmat,shmdt'
+shutdown	-a24
+siginfo	-e trace=none
+signal_receive	-a16 -e trace=kill
+signalfd4
+sigreturn	-esignal='!USR1'
+sigsuspend	-a19 -esignal=none
+socketcall	-a20
+splice
+stat	-a32 -v -P stat.sample -P /dev/full
+stat64	-a32 -v -P stat.sample -P /dev/full
+statfs	-a17
+statfs64	-a23
+statx	-a32 -v -P stat.sample -P /dev/full
+swap	-a23 -e trace=swapon,swapoff
+sxetmask	-a11 -e trace=sgetmask,ssetmask
+symlink	-a34
+symlinkat
+sync	-a7
+sync_file_range
+sync_file_range2
+sysinfo	-a14
+syslog	-a36
+tee
+time	-a10
+timer_create
+timer_xettime	-e trace=timer_create,timer_settime,timer_gettime
+timerfd_xettime	-e trace=timerfd_create,timerfd_settime,timerfd_gettime
+times	-esignal=none
+times-fail	-a12 -e trace=times
+trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
+trace_fstatfs	test_trace_expr '' -e%fstatfs
+trace_lstat	test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full
+trace_question	test_trace_expr '' -e?osf_utimes,?/^pkey_.*
+trace_stat	test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full
+trace_stat_like	test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
+trace_statfs	test_trace_expr '' -e%statfs
+trace_statfs_like	test_trace_expr '' -e%%statfs
+truncate
+truncate64
+ugetrlimit	-a28
+umask	-a11
+umoven-illptr	-a36 -e trace=nanosleep
+umovestr-illptr	-a11 -e trace=chdir
+umovestr3	-a14 -e trace=chdir
+unlink	-a24
+unlinkat	-a35
+unshare	-a11
+userfaultfd	-a38
+ustat	-a33
+utime	-a16
+utimensat	-a33
+utimes	-a17
+vfork-f	-a26 -qq -f -e signal=none -e trace=chdir
+vhangup	-a10
+vmsplice	-ewrite=1
+wait4	-esignal=none
+wait4-v	-v -e signal=none -e trace=wait4
+waitid	-esignal=none
+waitid-v	-v -e signal=none -e trace=waitid
+waitpid	-a28
+xattr	-a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
+xattr-strings	-a22 -s 4 -e trace=fsetxattr
+xet_robust_list	-a24 -e trace=get_robust_list,set_robust_list
+xetitimer	-a29 -e trace=setitimer,getitimer
+xetpgid	-a11 -e trace=getpgid,setpgid
+xetpriority	-a29 -e trace=getpriority,setpriority
+xettimeofday	-a20 -e trace=gettimeofday,settimeofday
diff --git a/tests-m32/gen_tests.sh b/tests-m32/gen_tests.sh
new file mode 100755
index 0000000..b062436
--- /dev/null
+++ b/tests-m32/gen_tests.sh
@@ -0,0 +1,110 @@
+#!/bin/sh -efu
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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.
+
+usage()
+{
+	cat >&2 <<EOF
+Usage: $0 [<input> [<output>]]
+
+Generate test script(s) from <input> table.
+If a <output> is specified, generate the script for this test only,
+otherwise generate scripts for all tests specified in <input> table.
+EOF
+	exit 1
+}
+
+input="${0%/*}/gen_tests.in"
+[ $# -eq 0 ] || { input="$1"; shift; }
+output=
+[ $# -eq 0 ] || { output="$1"; shift; }
+[ $# -eq 0 ] || usage
+
+if [ -n "$output" ]; then
+	match="${output##*/}"
+	match="${match%.gen.test}"
+	[ -n "$match" ] || usage
+else
+	match=
+	dir="$(dirname "$input")"
+fi
+
+names=
+
+while read -r name args; do {
+	[ -n "${name###*}" ] || continue
+	if [ -z "$match" ]; then
+		names="$names $name"
+		output="$dir/$name.gen.test"
+	else
+		[ "$match" = "$name" ] || continue
+	fi
+
+	hdr="\
+#!/bin/sh -efu
+# Generated by $0 from $input ($name $args); do not edit."
+
+	case "$args" in
+		+*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/${args#+}"
+		EOF
+		;;
+
+		''|-*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/init.sh"
+		run_strace_match_diff $args
+		EOF
+		;;
+
+		*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/init.sh"
+		$args
+		EOF
+		;;
+	esac > "$output"
+
+	chmod a+x "$output"
+} < /dev/null; done < "$input"
+
+if [ -n "$names" ]; then
+	{
+		printf '# Generated by %s from %s; do not edit.\n' "$0" "$input"
+		printf 'GEN_TESTS ='
+		printf ' %s.gen.test' $names
+		echo
+		target='$(srcdir)/%s.gen.test'
+		dep1='$(abs_srcdir)/gen_tests.sh'
+		dep2='$(srcdir)/gen_tests.in'
+		recipe='$(AM_V_GEN) $^ $@'
+		printf "\\n$target: $dep1 $dep2\\n\\t$recipe\\n" $names
+	} > "$dir/gen_tests.am"
+fi
diff --git a/tests-m32/get_mempolicy.gen.test b/tests-m32/get_mempolicy.gen.test
new file mode 100755
index 0000000..ec6efb3
--- /dev/null
+++ b/tests-m32/get_mempolicy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (get_mempolicy -s3 -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3 -a38
diff --git a/tests-m32/get_mempolicy.test b/tests-m32/get_mempolicy.test
deleted file mode 100755
index 9227097..0000000
--- a/tests-m32/get_mempolicy.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check get_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a38
diff --git a/tests-m32/get_regs.test b/tests-m32/get_regs.test
new file mode 100755
index 0000000..c673fe9
--- /dev/null
+++ b/tests-m32/get_regs.test
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Check that get_regs is skipped for filtered syscalls.
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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_prog env
+check_prog grep
+run_prog ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -etrace=none ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -eptrace -o '|grep -c ^ptrace > less' \
+	-- ${STRACE##* } -o "$LOG" $args > /dev/null
+
+[ "$(cat less)" -gt 0 ] ||
+	fail_ "$STRACE $args failed to catch any ptrace syscalls"
+
+run_strace -qq -esignal=none -eraw=all -etrace=all ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -eptrace -o '|grep -c ^ptrace > more' \
+	-- ${STRACE##* } -o "$LOG" $args > /dev/null
+
+[ "$(cat more)" -gt 0 ] ||
+	fail_ "$STRACE $args failed to catch any ptrace syscalls"
+
+[ "$(cat more)" -gt "$(cat less)" ] ||
+	fail_ "$STRACE failed to skip get_regs for filtered syscalls"
diff --git a/tests-m32/get_sigset_size.c b/tests-m32/get_sigset_size.c
new file mode 100644
index 0000000..357829d
--- /dev/null
+++ b/tests-m32/get_sigset_size.c
@@ -0,0 +1,66 @@
+/*
+ * Find out the size of kernel's sigset_t.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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>
+
+/*
+ * If the sigset size specified to rt_sigprocmask is not equal to the size
+ * of kernel's sigset_t, the kernel does not look at anything else and fails
+ * with EINVAL.
+ *
+ * Otherwise, if both pointers specified to rt_sigprocmask are NULL,
+ * the kernel just returns 0.
+ *
+ * This vaguely documented kernel feature can be used to probe
+ * the kernel and find out the size of kernel's sigset_t.
+ */
+
+unsigned int
+get_sigset_size(void)
+{
+	static unsigned int set_size;
+
+	if (!set_size) {
+		static const unsigned int big_size = 1024 / 8;
+
+		for (set_size = big_size; set_size; set_size >>= 1) {
+			if (!syscall(__NR_rt_sigprocmask, SIG_SETMASK,
+				     NULL, NULL, set_size))
+				break;
+		}
+
+		if (!set_size)
+			perror_msg_and_fail("rt_sigprocmask");
+	}
+
+	return set_size;
+}
diff --git a/tests-m32/getcpu.c b/tests-m32/getcpu.c
index ec671f1..3cb49cb 100644
--- a/tests-m32/getcpu.c
+++ b/tests-m32/getcpu.c
@@ -2,6 +2,7 @@
  * Check decoding of getcpu syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,8 +48,8 @@
 		(unsigned *) tail_alloc(sizeof(* bogus_tcache)) + 1;
 
 	long res;
-	unsigned *cpu = tail_alloc(sizeof(*cpu));
-	unsigned *node = tail_alloc(sizeof(*node));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, cpu);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, node);
 	long * tcache = tail_alloc(128);
 
 	res = syscall(__NR_getcpu, NULL, NULL, NULL);
diff --git a/tests-m32/getcpu.gen.test b/tests-m32/getcpu.gen.test
new file mode 100755
index 0000000..44d9a4b
--- /dev/null
+++ b/tests-m32/getcpu.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getcpu -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-m32/getcpu.test b/tests-m32/getcpu.test
deleted file mode 100755
index fe21265..0000000
--- a/tests-m32/getcpu.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getcpu syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-m32/getcwd.gen.test b/tests-m32/getcwd.gen.test
new file mode 100755
index 0000000..af2ff08
--- /dev/null
+++ b/tests-m32/getcwd.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getcwd -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-m32/getcwd.test b/tests-m32/getcwd.test
deleted file mode 100755
index 405187e..0000000
--- a/tests-m32/getcwd.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-m32/getdents.c b/tests-m32/getdents.c
index b787c83..338eab0 100644
--- a/tests-m32/getdents.c
+++ b/tests-m32/getdents.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -92,12 +93,10 @@
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "getdents.test.tmp.dir";
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests-m32/getdents.gen.test b/tests-m32/getdents.gen.test
new file mode 100755
index 0000000..0db5f20
--- /dev/null
+++ b/tests-m32/getdents.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getdents -a22 -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -v
diff --git a/tests-m32/getdents.test b/tests-m32/getdents.test
deleted file mode 100755
index 23c4ac3..0000000
--- a/tests-m32/getdents.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check getdents syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a22 -v
diff --git a/tests-m32/getdents64.c b/tests-m32/getdents64.c
index 9da2a23..1f6b47e 100644
--- a/tests-m32/getdents64.c
+++ b/tests-m32/getdents64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -98,12 +99,10 @@
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "getdents64.test.tmp.dir";
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests-m32/getdents64.gen.test b/tests-m32/getdents64.gen.test
new file mode 100755
index 0000000..6e24d40
--- /dev/null
+++ b/tests-m32/getdents64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getdents64 -a24 -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -v
diff --git a/tests-m32/getdents64.test b/tests-m32/getdents64.test
deleted file mode 100755
index 401cfc7..0000000
--- a/tests-m32/getdents64.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check getdents64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a24 -v
diff --git a/tests-m32/getegid.gen.test b/tests-m32/getegid.gen.test
new file mode 100755
index 0000000..d6fecc2
--- /dev/null
+++ b/tests-m32/getegid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getegid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getegid.test b/tests-m32/getegid.test
deleted file mode 100755
index 4354158..0000000
--- a/tests-m32/getegid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getegid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getegid32.gen.test b/tests-m32/getegid32.gen.test
new file mode 100755
index 0000000..38c4a4b
--- /dev/null
+++ b/tests-m32/getegid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getegid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getegid32.test b/tests-m32/getegid32.test
deleted file mode 100755
index a266620..0000000
--- a/tests-m32/getegid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getegid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/geteuid.gen.test b/tests-m32/geteuid.gen.test
new file mode 100755
index 0000000..9e8c12f
--- /dev/null
+++ b/tests-m32/geteuid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (geteuid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/geteuid.test b/tests-m32/geteuid.test
deleted file mode 100755
index 14ff6a6..0000000
--- a/tests-m32/geteuid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check geteuid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/geteuid32.gen.test b/tests-m32/geteuid32.gen.test
new file mode 100755
index 0000000..5b78331
--- /dev/null
+++ b/tests-m32/geteuid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (geteuid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/geteuid32.test b/tests-m32/geteuid32.test
deleted file mode 100755
index 9dd173d..0000000
--- a/tests-m32/geteuid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check geteuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getgid.gen.test b/tests-m32/getgid.gen.test
new file mode 100755
index 0000000..5a87aee
--- /dev/null
+++ b/tests-m32/getgid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getgid.test b/tests-m32/getgid.test
deleted file mode 100755
index f4f0c2e..0000000
--- a/tests-m32/getgid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getgid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getgid32.gen.test b/tests-m32/getgid32.gen.test
new file mode 100755
index 0000000..05e2d70
--- /dev/null
+++ b/tests-m32/getgid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getgid32.test b/tests-m32/getgid32.test
deleted file mode 100755
index 3bc98d1..0000000
--- a/tests-m32/getgid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getgid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getgroups.c b/tests-m32/getgroups.c
index 2617303..c7cd874 100644
--- a/tests-m32/getgroups.c
+++ b/tests-m32/getgroups.c
@@ -2,6 +2,7 @@
  * Check decoding of getgroups/getgroups32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -91,7 +92,7 @@
 	if (ngroups < 0)
 		perror_msg_and_fail(SYSCALL_NAME);
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK, 0);
 	printf("%s(0, NULL) = %ld\n", SYSCALL_NAME, rc);
 
 	rc = syscall(SYSCALL_NR, -1U, 0);
@@ -105,7 +106,7 @@
 	rc = syscall(SYSCALL_NR, ngroups_max, 0);
 	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL | ngroups_max, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK | ngroups_max, 0);
 	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
 	/* check how the second argument is decoded */
diff --git a/tests-m32/getgroups.gen.test b/tests-m32/getgroups.gen.test
new file mode 100755
index 0000000..48b09be
--- /dev/null
+++ b/tests-m32/getgroups.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgroups -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-m32/getgroups.test b/tests-m32/getgroups.test
deleted file mode 100755
index 2eb3056..0000000
--- a/tests-m32/getgroups.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-m32/getgroups32.gen.test b/tests-m32/getgroups32.gen.test
new file mode 100755
index 0000000..74637d0
--- /dev/null
+++ b/tests-m32/getgroups32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgroups32 -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-m32/getgroups32.test b/tests-m32/getgroups32.test
deleted file mode 100755
index 12a8bcc..0000000
--- a/tests-m32/getgroups32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-m32/getpeername.gen.test b/tests-m32/getpeername.gen.test
new file mode 100755
index 0000000..66fb0a9
--- /dev/null
+++ b/tests-m32/getpeername.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpeername -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/getpeername.test b/tests-m32/getpeername.test
deleted file mode 100755
index 81f01bb..0000000
--- a/tests-m32/getpeername.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getpeername syscall.
-
-. "${srcdir=.}/getsockname.test"
diff --git a/tests-m32/getpgrp.gen.test b/tests-m32/getpgrp.gen.test
new file mode 100755
index 0000000..1ec48e9
--- /dev/null
+++ b/tests-m32/getpgrp.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpgrp -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/getpgrp.test b/tests-m32/getpgrp.test
deleted file mode 100755
index e116bb5..0000000
--- a/tests-m32/getpgrp.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpgrp syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-m32/getpid.c b/tests-m32/getpid.c
new file mode 100644
index 0000000..96f2d15
--- /dev/null
+++ b/tests-m32/getpid.c
@@ -0,0 +1,21 @@
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_getpid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	printf("getpid() = %ld\n", syscall(__NR_getpid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getpid")
+
+#endif
diff --git a/tests-m32/getpid.gen.test b/tests-m32/getpid.gen.test
new file mode 100755
index 0000000..4691774
--- /dev/null
+++ b/tests-m32/getpid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpid -a9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a9
diff --git a/tests-m32/getppid.c b/tests-m32/getppid.c
new file mode 100644
index 0000000..58901fc
--- /dev/null
+++ b/tests-m32/getppid.c
@@ -0,0 +1,21 @@
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_getppid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	printf("getppid() = %ld\n", syscall(__NR_getppid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getppid")
+
+#endif
diff --git a/tests-m32/getppid.gen.test b/tests-m32/getppid.gen.test
new file mode 100755
index 0000000..52116a0
--- /dev/null
+++ b/tests-m32/getppid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getppid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/getrandom.gen.test b/tests-m32/getrandom.gen.test
new file mode 100755
index 0000000..2f5b989
--- /dev/null
+++ b/tests-m32/getrandom.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrandom -a32 -s3); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -s3
diff --git a/tests-m32/getrandom.test b/tests-m32/getrandom.test
deleted file mode 100755
index ad34048..0000000
--- a/tests-m32/getrandom.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getrandom syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -s3
diff --git a/tests-m32/getresgid.gen.test b/tests-m32/getresgid.gen.test
new file mode 100755
index 0000000..f53bccc
--- /dev/null
+++ b/tests-m32/getresgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresgid -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-m32/getresgid.test b/tests-m32/getresgid.test
deleted file mode 100755
index 9f5186e..0000000
--- a/tests-m32/getresgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-m32/getresgid32.gen.test b/tests-m32/getresgid32.gen.test
new file mode 100755
index 0000000..5f00506
--- /dev/null
+++ b/tests-m32/getresgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresgid32 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/getresgid32.test b/tests-m32/getresgid32.test
deleted file mode 100755
index a979891..0000000
--- a/tests-m32/getresgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/getresugid.c b/tests-m32/getresugid.c
index 0ee721c..af9f015 100644
--- a/tests-m32/getresugid.c
+++ b/tests-m32/getresugid.c
@@ -2,6 +2,7 @@
  * Check decoding of getresuid/getresgid/getresuid32/getresgid32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,9 +35,9 @@
 int
 main(void)
 {
-	unsigned UGID_TYPE *const r = tail_alloc(sizeof(*r));
-	unsigned UGID_TYPE *const e = tail_alloc(sizeof(*e));
-	unsigned UGID_TYPE *const s = tail_alloc(sizeof(*s));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, r);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, e);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, s);
 
 	if (syscall(SYSCALL_NR, r, e, s))
 		perror_msg_and_fail(SYSCALL_NAME);
diff --git a/tests-m32/getresuid.gen.test b/tests-m32/getresuid.gen.test
new file mode 100755
index 0000000..e947a94
--- /dev/null
+++ b/tests-m32/getresuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresuid -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-m32/getresuid.test b/tests-m32/getresuid.test
deleted file mode 100755
index eee1ac0..0000000
--- a/tests-m32/getresuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-m32/getresuid32.gen.test b/tests-m32/getresuid32.gen.test
new file mode 100755
index 0000000..b088a22
--- /dev/null
+++ b/tests-m32/getresuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresuid32 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/getresuid32.test b/tests-m32/getresuid32.test
deleted file mode 100755
index fdc76a3..0000000
--- a/tests-m32/getresuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/getrlimit.gen.test b/tests-m32/getrlimit.gen.test
new file mode 100755
index 0000000..b97c176
--- /dev/null
+++ b/tests-m32/getrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrlimit -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/getrlimit.test b/tests-m32/getrlimit.test
deleted file mode 100755
index 6fd88ae..0000000
--- a/tests-m32/getrlimit.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getrlimit syscall.
-
-. "${srcdir=.}/setrlimit.test"
diff --git a/tests-m32/getrusage.c b/tests-m32/getrusage.c
index 8b76eff..bb52dd9 100644
--- a/tests-m32/getrusage.c
+++ b/tests-m32/getrusage.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2016 Fei Jie <feij.fnst@cn.fujitsu.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,27 +36,46 @@
 # include <stdint.h>
 # include <sys/resource.h>
 # include <unistd.h>
+# include <errno.h>
+
+# include "xlat.h"
+# include "xlat/usagewho.h"
 
 int
-main(void)
+invoke_print(int who, const char *who_str, struct rusage *usage)
 {
-	struct rusage *const usage = tail_alloc(sizeof(struct rusage));
-	int rc = syscall(__NR_getrusage, RUSAGE_SELF, usage);
-	printf("getrusage(RUSAGE_SELF, {ru_utime={tv_sec=%jd, tv_usec=%jd}"
-	       ", ru_stime={tv_sec=%jd, tv_usec=%jd}, ru_maxrss=%lu"
+	int rc = syscall(__NR_getrusage, who, usage);
+	int saved_errno = errno;
+	printf("getrusage(%s, {ru_utime={tv_sec=%lld, tv_usec=%llu}"
+	       ", ru_stime={tv_sec=%lld, tv_usec=%llu}, 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",
-	       (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,
+	       ", ru_nsignals=%lu, ru_nvcsw=%lu, ru_nivcsw=%lu}) = %s\n",
+	       who_str,
+	       (long long) usage->ru_utime.tv_sec,
+	       zero_extend_signed_to_ull(usage->ru_utime.tv_usec),
+	       (long long) usage->ru_stime.tv_sec,
+	       zero_extend_signed_to_ull(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,
 	       usage->ru_msgsnd, usage->ru_msgrcv, usage->ru_nsignals,
-	       usage->ru_nvcsw, usage->ru_nivcsw, rc);
+	       usage->ru_nvcsw, usage->ru_nivcsw, sprintrc(rc));
+	errno = saved_errno;
+	return rc;
+}
+
+int
+main(void)
+{
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, usage);
+	if (invoke_print(ARG_STR(RUSAGE_SELF), usage)) {
+		perror_msg_and_fail("RUSAGE_SELF");
+	}
+	if (invoke_print(ARG_STR(RUSAGE_THREAD), usage) && errno != EINVAL) {
+		perror_msg_and_fail("RUSAGE_THREAD");
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/getrusage.gen.test b/tests-m32/getrusage.gen.test
new file mode 100755
index 0000000..c4fb182
--- /dev/null
+++ b/tests-m32/getrusage.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrusage -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v
diff --git a/tests-m32/getrusage.test b/tests-m32/getrusage.test
deleted file mode 100755
index 4a3e8ed..0000000
--- a/tests-m32/getrusage.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getrusage syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v
diff --git a/tests-m32/getsid.gen.test b/tests-m32/getsid.gen.test
new file mode 100755
index 0000000..123f177
--- /dev/null
+++ b/tests-m32/getsid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getsid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/getsid.test b/tests-m32/getsid.test
deleted file mode 100755
index 3fcf979..0000000
--- a/tests-m32/getsid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getsid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-m32/getsockname.gen.test b/tests-m32/getsockname.gen.test
new file mode 100755
index 0000000..cd40d3e
--- /dev/null
+++ b/tests-m32/getsockname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getsockname -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/getsockname.test b/tests-m32/getsockname.test
deleted file mode 100755
index 99b2850..0000000
--- a/tests-m32/getsockname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getsockname syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/gettid.c b/tests-m32/gettid.c
new file mode 100644
index 0000000..9b13eb8
--- /dev/null
+++ b/tests-m32/gettid.c
@@ -0,0 +1,12 @@
+#include "tests.h"
+#include <stdio.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+	printf("gettid() = %ld\n", syscall(__NR_gettid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-m32/gettid.gen.test b/tests-m32/gettid.gen.test
new file mode 100755
index 0000000..1ceaa53
--- /dev/null
+++ b/tests-m32/gettid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (gettid -a9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a9
diff --git a/tests-m32/getuid.test b/tests-m32/getuid.test
index 9aaf74b..0bad1ff 100755
--- a/tests-m32/getuid.test
+++ b/tests-m32/getuid.test
@@ -9,4 +9,3 @@
 run_strace -qq -a9 -e$NAME $args > "$EXP"
 uniq < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$OUT" "$EXP"
diff --git a/tests-m32/getuid32.gen.test b/tests-m32/getuid32.gen.test
new file mode 100755
index 0000000..ac0d0ad
--- /dev/null
+++ b/tests-m32/getuid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getuid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getuid32.test b/tests-m32/getuid32.test
deleted file mode 100755
index ae0c557..0000000
--- a/tests-m32/getuid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-m32/getxxid.gen.test b/tests-m32/getxxid.gen.test
new file mode 100755
index 0000000..5aa89f6
--- /dev/null
+++ b/tests-m32/getxxid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getxxid -a10 -e trace=getxpid,getxuid,getxgid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
diff --git a/tests-m32/getxxid.test b/tests-m32/getxxid.test
deleted file mode 100755
index 9b89d7c..0000000
--- a/tests-m32/getxxid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getxpid, getxuid, and getxgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
diff --git a/tests-m32/inet-cmsg.gen.test b/tests-m32/inet-cmsg.gen.test
new file mode 100755
index 0000000..8eeb7c9
--- /dev/null
+++ b/tests-m32/inet-cmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inet-cmsg -e trace=recvmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=recvmsg
diff --git a/tests-m32/inet-cmsg.test b/tests-m32/inet-cmsg.test
deleted file mode 100755
index 52ff5f5..0000000
--- a/tests-m32/inet-cmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check IPPROTO_IP control messages decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmsg
diff --git a/tests-m32/init.sh b/tests-m32/init.sh
index f368b98..2844765 100644
--- a/tests-m32/init.sh
+++ b/tests-m32/init.sh
@@ -1,6 +1,7 @@
 #!/bin/sh
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -26,10 +27,9 @@
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 ME_="${0##*/}"
-LOG="$ME_.tmp"
-OUT="$LOG.out"
-EXP="$LOG.exp"
-NAME="${ME_%.test}"
+LOG="log"
+OUT="out"
+EXP="exp"
 
 warn_() { printf >&2 '%s\n' "$*"; }
 fail_() { warn_ "$ME_: failed test: $*"; exit 1; }
@@ -52,7 +52,7 @@
 run_prog()
 {
 	if [ $# -eq 0 ]; then
-		set -- "./$NAME"
+		set -- "../$NAME"
 	fi
 	args="$*"
 	"$@" || {
@@ -72,6 +72,20 @@
 	"$@" || framework_skip_ "$args failed with code $?"
 }
 
+try_run_prog()
+{
+	local rc
+
+	"$@" > /dev/null || {
+		rc=$?
+		if [ $rc -eq 77 ]; then
+			return 1
+		else
+			fail_ "$* failed with code $rc"
+		fi
+	}
+}
+
 run_strace()
 {
 	> "$LOG" || fail_ "failed to write $LOG"
@@ -213,7 +227,6 @@
 	run_prog > /dev/null
 	run_strace "$@" $args > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 # Print kernel version code.
@@ -250,22 +263,110 @@
 	cat < "/proc/$pid/status" | grep "$@"
 }
 
+# Subtracts one program set from another.
+# If an optional regular expression is specified, the lines in the minuend file
+# that match this regular expression are elso excluded from the output.
+#
+# Usage: prog_set_subtract minuend_file subtrahend_file [subtrahend_regexp]
+prog_set_subtract()
+{
+	local min sub re pat
+	min="$1"; shift
+	sub="$1"; shift
+	re="${1-}"
+	pat="$re|$(sed 's/[[:space:]].*//' < "$sub" | tr -s '\n' '|')"
+	grep -E -v -x -e "$pat" < "$min"
+}
+
+# Usage: test_pure_prog_set [--expfile FILE] COMMON_ARGS < tests_file
+# stdin should consist of lines in "test_name strace_args..." format.
+test_pure_prog_set()
+{
+	local expfile
+
+	expfile="$EXP"
+
+	while [ -n "$1" ]; do
+		case "$1" in
+		--expfile)
+			shift
+			expfile="$1"
+			shift
+			;;
+		*)
+			break
+			;;
+		esac
+	done
+
+	while read -r t prog_args; do {
+		# skip lines beginning with "#" symbol
+		[ "${t###}" = "$t" ] || continue
+
+		try_run_prog "../$t" || continue
+		run_strace $prog_args "$@" "../$t" > "$expfile"
+		match_diff "$LOG" "$expfile"
+	} < /dev/null; done
+}
+
+# Run strace against list of programs put in "$NAME.in" and then against the
+# rest of pure_executables.list with the expectation of empty output in the
+# latter case.
+#
+# Usage: source this file after init.sh and call:
+#   test_trace_expr subtrahend_regexp strace_args
+# Environment:
+#   $NAME:	test name, used for "$NAME.in" file containing list of tests
+#		for positive trace expression match;
+#   $srcdir:	used to find pure_executables.list and "$NAME.in" files.
+# Files created:
+#   negative.list: File containing list of tests for negative match.
+test_trace_expr()
+{
+	local subtrahend_regexp
+	subtrahend_regexp="$1"; shift
+	test_pure_prog_set "$@" < "$srcdir/$NAME.in"
+	prog_set_subtract "$srcdir/pure_executables.list" "$srcdir/$NAME.in" \
+		"$subtrahend_regexp" > negative.list
+	test_pure_prog_set --expfile /dev/null -qq -esignal=none "$@" \
+		< negative.list
+}
+
 check_prog cat
 check_prog rm
 
-rm -f "$LOG"
+case "$ME_" in
+	*.gen.test) NAME="${ME_%.gen.test}" ;;
+	*.test) NAME="${ME_%.test}" ;;
+	*) NAME=
+esac
 
-[ -n "${STRACE-}" ] || {
-	STRACE=../strace
-	case "${LOG_COMPILER-} ${LOG_FLAGS-}" in
-		*--suppressions=*--error-exitcode=*--tool=*)
+if [ -n "$NAME" ]; then
+	TESTDIR="$NAME.dir"
+	rm -rf -- "$TESTDIR"
+	mkdir -- "$TESTDIR"
+	cd "$TESTDIR"
+
+	case "$srcdir" in
+		/*) ;;
+		*) srcdir="../$srcdir" ;;
+	esac
+
+	[ -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
-}
+		esac
+	}
+else
+	[ -n "${STRACE-}" ] ||
+		STRACE=../strace
+fi
 
-: "${TIMEOUT_DURATION:=60}"
+: "${TIMEOUT_DURATION:=120}"
 : "${SLEEP_A_BIT:=sleep 1}"
 
 [ -z "${VERBOSE-}" ] ||
diff --git a/tests-m32/init_delete_module.h b/tests-m32/init_delete_module.h
index db550c3..cabf26f 100644
--- a/tests-m32/init_delete_module.h
+++ b/tests-m32/init_delete_module.h
@@ -3,6 +3,7 @@
  * and delete_module tests.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,9 +43,6 @@
 	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)
 {
diff --git a/tests-m32/init_module.c b/tests-m32/init_module.c
index 88ef9ec..8fbb263 100644
--- a/tests-m32/init_module.c
+++ b/tests-m32/init_module.c
@@ -2,6 +2,7 @@
  * Check decoding of init_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,9 +56,9 @@
 	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);
+	rc = syscall(__NR_init_module, NULL, F8ILL_KULONG_MASK, NULL);
 	printf("init_module(NULL, %llu, NULL) = %s\n",
-	       (unsigned long long) bogus_zero, sprintrc(rc));
+	       (unsigned long long) F8ILL_KULONG_MASK, sprintrc(rc));
 
 	rc = syscall(__NR_init_module, bogus_addr, 0, bogus_param1);
 	errstr = sprintrc(rc);
diff --git a/tests-m32/init_module.gen.test b/tests-m32/init_module.gen.test
new file mode 100755
index 0000000..8948e2e
--- /dev/null
+++ b/tests-m32/init_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (init_module -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/init_module.test b/tests-m32/init_module.test
deleted file mode 100755
index ef7c732..0000000
--- a/tests-m32/init_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of init_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/inotify.gen.test b/tests-m32/inotify.gen.test
new file mode 100755
index 0000000..7010206
--- /dev/null
+++ b/tests-m32/inotify.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inotify -a23 -e trace=inotify_add_watch,inotify_rm_watch); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=inotify_add_watch,inotify_rm_watch
diff --git a/tests-m32/inotify.test b/tests-m32/inotify.test
deleted file mode 100755
index 436f3bc..0000000
--- a/tests-m32/inotify.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/inotify_init1.gen.test b/tests-m32/inotify_init1.gen.test
new file mode 100755
index 0000000..d847b50
--- /dev/null
+++ b/tests-m32/inotify_init1.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inotify_init1 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/inotify_init1.test b/tests-m32/inotify_init1.test
deleted file mode 100755
index 1a7c926..0000000
--- a/tests-m32/inotify_init1.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of inotify_init1 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/int_0x80.c b/tests-m32/int_0x80.c
new file mode 100644
index 0000000..012694f
--- /dev/null
+++ b/tests-m32/int_0x80.c
@@ -0,0 +1,52 @@
+/*
+ * Check decoding of int 0x80 on x86_64, x32, and x86.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 __x86_64__ || defined __i386__
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	/* 200 is __NR_getgid32 on x86 and __NR_tkill on x86_64. */
+	__asm__("movl $200, %eax; int $0x80");
+	printf("getgid32() = %d\n", getegid());
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__x86_64__ || __i386__")
+
+#endif
diff --git a/tests-m32/int_0x80.gen.test b/tests-m32/int_0x80.gen.test
new file mode 100755
index 0000000..2ab4f2f
--- /dev/null
+++ b/tests-m32/int_0x80.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (int_0x80 -a11 -e trace=getgid32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=getgid32
diff --git a/tests-m32/ioctl-v.sh b/tests-m32/ioctl-v.sh
new file mode 100755
index 0000000..be89671
--- /dev/null
+++ b/tests-m32/ioctl-v.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check non-abbreviated decoding of ioctls.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a16 -v -eioctl $args > "$EXP"
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
diff --git a/tests-m32/ioctl.c b/tests-m32/ioctl.c
index 92a3191..5dc0864 100644
--- a/tests-m32/ioctl.c
+++ b/tests-m32/ioctl.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/ioctl.test b/tests-m32/ioctl.test
index 94bc5d4..1eb469e 100755
--- a/tests-m32/ioctl.test
+++ b/tests-m32/ioctl.test
@@ -4,12 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 run_prog > /dev/null
 run_strace -a16 -eioctl $args > "$EXP"
-check_prog grep
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-m32/ioctl_block.c b/tests-m32/ioctl_block.c
index f62b0b3..8e883d4 100644
--- a/tests-m32/ioctl_block.c
+++ b/tests-m32/ioctl_block.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_block strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -113,7 +114,7 @@
 	ioctl(-1, BLKFRASET, lmagic);
 	printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic);
 
-	int *const val_int = tail_alloc(sizeof(*val_int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
 	*val_int = magic;
 
 	ioctl(-1, BLKROSET, val_int);
@@ -144,7 +145,7 @@
 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
 #endif
 
-	struct blkpg_ioctl_arg *const blkpg = tail_alloc(sizeof(*blkpg));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blkpg_ioctl_arg, blkpg);
 	blkpg->op = 3;
 	blkpg->flags = 0xdeadbeef;
 	blkpg->datalen = 0xbadc0ded;
@@ -156,7 +157,7 @@
 	       "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen,
 	       (unsigned long) blkpg->data);
 
-	struct blkpg_partition *const bp = tail_alloc(sizeof(*bp));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blkpg_partition, bp);
 	bp->start = 0xfac1fed2dad3bef4ULL;
 	bp->length = 0xfac5fed6dad7bef8ULL;
 	bp->pno = magic;
@@ -177,7 +178,7 @@
 	       (int) sizeof(bp->volname) - 1, bp->volname);
 
 #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP
-	struct blk_user_trace_setup *const buts = tail_alloc(sizeof(*buts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts);
 	fill_memory(buts, sizeof(*buts));
 
 	ioctl(-1, BLKTRACESETUP, buts);
diff --git a/tests-m32/ioctl_block.gen.test b/tests-m32/ioctl_block.gen.test
new file mode 100755
index 0000000..0ffec6f
--- /dev/null
+++ b/tests-m32/ioctl_block.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_block +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_block.test b/tests-m32/ioctl_block.test
deleted file mode 100755
index 0bf2500..0000000
--- a/tests-m32/ioctl_block.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of BLK* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_dm-v.test b/tests-m32/ioctl_dm-v.test
index ade3b9e..eed37c2 100755
--- a/tests-m32/ioctl_dm-v.test
+++ b/tests-m32/ioctl_dm-v.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-m32/ioctl_dm.c b/tests-m32/ioctl_dm.c
index 08f036c..544d70b 100644
--- a/tests-m32/ioctl_dm.c
+++ b/tests-m32/ioctl_dm.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Mikulas Patocka <mpatocka@redhat.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -234,15 +235,15 @@
 	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 */ ...}) = "
+	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");
+	printf("ioctl(-1, DM_VERSION, {version=4.1.2, data_size=14"
+	       " /* data_size too small */}) = -1 EBADF (%m)\n");
 
 	/* Unterminated name/uuid */
 	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
@@ -395,8 +396,8 @@
 	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
 	       "target_count=1234, flags=0, "
 # if VERBOSE
-	       "/* misplaced struct dm_target_spec */ ..."
-# else /* !VERBOSE */
+	       "??? /* misplaced struct dm_target_spec */"
+# else
 	       "..."
 # endif /* VERBOSE */
 	       "}) = -1 EBADF (%m)\n", sizeof(*dm_arg), 0xfffffff8);
@@ -491,7 +492,7 @@
 	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 */ ...");
+	printf("\"\\1\\2\"}, ??? /* misplaced struct dm_target_spec */");
 # else /* !VERBOSE */
 	printf("...");
 # endif /* VERBOSE */
@@ -575,7 +576,7 @@
 	       "{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 */"
+	       "??? /* misplaced struct dm_target_msg */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -590,7 +591,7 @@
 	       "{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 */"
+	       "??? /* misplaced struct dm_target_msg */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -706,7 +707,7 @@
 	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", event_nr=0, "
 	       "flags=0, "
 # if VERBOSE
-	       "/* misplaced string */"
+	       "??? /* misplaced string */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -757,10 +758,12 @@
 	       "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 */ "
+	       "{sector_start=0, length=0, target_type=\"\", string=\"\"}"
+	       ", ??? /* misplaced struct dm_target_spec */"
+# else
+	       "..."
 # endif /* VERBOSE */
-	       "...}) = -1 EBADF (%m)\n",
+	       "}) = -1 EBADF (%m)\n",
 	       s.ioc.data_size, s.ioc.data_start);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-m32/ioctl_dm.test b/tests-m32/ioctl_dm.test
index 6485205..e9cca03 100755
--- a/tests-m32/ioctl_dm.test
+++ b/tests-m32/ioctl_dm.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-m32/ioctl_evdev-v.gen.test b/tests-m32/ioctl_evdev-v.gen.test
new file mode 100755
index 0000000..fc7e2f0
--- /dev/null
+++ b/tests-m32/ioctl_evdev-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_evdev-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests-m32/ioctl_evdev-v.test b/tests-m32/ioctl_evdev-v.test
deleted file mode 100755
index 8794101..0000000
--- a/tests-m32/ioctl_evdev-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding EVIOC* ioctls.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
-check_prog grep
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/ioctl_evdev.c b/tests-m32/ioctl_evdev.c
index d12323e..6cbc09f 100644
--- a/tests-m32/ioctl_evdev.c
+++ b/tests-m32/ioctl_evdev.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_evdev strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -148,7 +149,7 @@
 	void *const page = tail_alloc(size);
 	fill_memory(page, size);
 
-	int *const val_int = tail_alloc(sizeof(*val_int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
 	*val_int = magic;
 
 # ifdef EVIOCSCLOCKID
@@ -172,7 +173,7 @@
 	       pair_int[0], "KEY_ESC");
 
 # ifdef EVIOCSKEYCODE_V2
-	struct input_keymap_entry *const ike = tail_alloc(sizeof(*ike));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct input_keymap_entry, ike);
 	fill_memory(ike, sizeof(*ike));
 	ike->keycode = 2;
 
@@ -196,7 +197,7 @@
 	printf("}) = -1 EBADF (%m)\n");
 # endif
 
-	struct ff_effect *const ffe = tail_alloc(sizeof(*ffe));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ff_effect, ffe);
 	fill_memory(ffe, sizeof(*ffe));
 
 	ffe->type = FF_CONSTANT;
diff --git a/tests-m32/ioctl_evdev.gen.test b/tests-m32/ioctl_evdev.gen.test
new file mode 100755
index 0000000..26f0a28
--- /dev/null
+++ b/tests-m32/ioctl_evdev.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_evdev +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_evdev.test b/tests-m32/ioctl_evdev.test
deleted file mode 100755
index 7ed2e98..0000000
--- a/tests-m32/ioctl_evdev.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of EVIOC* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_loop-nv.test b/tests-m32/ioctl_loop-nv.test
index dcc27e1..7d59cc2 100755
--- a/tests-m32/ioctl_loop-nv.test
+++ b/tests-m32/ioctl_loop-nv.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-m32/ioctl_loop-v.gen.test b/tests-m32/ioctl_loop-v.gen.test
new file mode 100755
index 0000000..7fd9f66
--- /dev/null
+++ b/tests-m32/ioctl_loop-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_loop-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests-m32/ioctl_loop-v.test b/tests-m32/ioctl_loop-v.test
deleted file mode 100755
index ff3995d..0000000
--- a/tests-m32/ioctl_loop-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/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-m32/ioctl_loop.c b/tests-m32/ioctl_loop.c
index a95e775..4dcbf9a 100644
--- a/tests-m32/ioctl_loop.c
+++ b/tests-m32/ioctl_loop.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@gmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -175,8 +176,8 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info, info);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info64, info64);
 
 	/* Unknown loop commands */
 	ioctl(-1, unknown_loop_cmd, magic);
diff --git a/tests-m32/ioctl_loop.gen.test b/tests-m32/ioctl_loop.gen.test
new file mode 100755
index 0000000..f7aee8e
--- /dev/null
+++ b/tests-m32/ioctl_loop.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_loop +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_loop.test b/tests-m32/ioctl_loop.test
deleted file mode 100755
index 112cd63..0000000
--- a/tests-m32/ioctl_loop.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/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-m32/ioctl_mtd.c b/tests-m32/ioctl_mtd.c
index a37d5d0..71d0c0d 100644
--- a/tests-m32/ioctl_mtd.c
+++ b/tests-m32/ioctl_mtd.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_mtd strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -95,13 +96,13 @@
 	ioctl(-1, MTDFILEMODE, MTD_FILE_MODE_NORMAL);
 	printf("ioctl(-1, MTDFILEMODE, MTD_FILE_MODE_NORMAL) = -1 EBADF (%m)\n");
 
-	int *const opt = tail_alloc(sizeof(*opt));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, opt);
 	*opt = MTD_OTP_OFF;
 	ioctl(-1, OTPSELECT, opt);
 	printf("ioctl(-1, MIXER_READ(%u) or OTPSELECT, [MTD_OTP_OFF])"
 	       " = -1 EBADF (%m)\n", (unsigned int) _IOC_NR(OTPSELECT));
 
-	uint64_t *const v64 = tail_alloc(sizeof(*v64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, v64);
 	fill_memory(v64, sizeof(*v64));
 
 	ioctl(-1, MEMGETBADBLOCK, v64);
@@ -114,7 +115,7 @@
 	       " = -1 EBADF (%m)\n",
 	       (unsigned int) _IOC_NR(MEMSETBADBLOCK), *v64);
 
-	struct region_info_user *const riu = tail_alloc(sizeof(*riu));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct region_info_user, riu);
 	fill_memory(riu, sizeof(*riu));
 	ioctl(-1, MEMGETREGIONINFO, riu);
 	printf("ioctl(-1, %s, {regionindex=%#x}) = -1 EBADF (%m)\n",
@@ -124,7 +125,7 @@
 #endif
 	       , riu->regionindex);
 
-	struct erase_info_user *const eiu = tail_alloc(sizeof(*eiu));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct erase_info_user, eiu);
 	fill_memory(eiu, sizeof(*eiu));
 
 	TEST_erase_info_user(MEMERASE, eiu);
@@ -132,7 +133,7 @@
 	TEST_erase_info_user(MEMUNLOCK, eiu);
 	TEST_erase_info_user(MEMISLOCKED, eiu);
 
-	struct erase_info_user64 *const eiu64 = tail_alloc(sizeof(*eiu64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct erase_info_user64, eiu64);
 	fill_memory(eiu64, sizeof(*eiu64));
 	ioctl(-1, MEMERASE64, eiu64);
 	printf("ioctl(-1, MIXER_WRITE(%u) or %s, {start=%#llx, length=%#llx})"
@@ -141,7 +142,7 @@
 	       (unsigned long long) eiu64->start,
 	       (unsigned long long) eiu64->length);
 
-	struct mtd_oob_buf *const oob = tail_alloc(sizeof(*oob));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_oob_buf, oob);
 	fill_memory(oob, sizeof(*oob));
 
 	ioctl(-1, MEMWRITEOOB, oob);
@@ -152,7 +153,7 @@
 	printf("ioctl(-1, MEMREADOOB, {start=%#x, length=%#x, ptr=%p})"
 	       " = -1 EBADF (%m)\n", oob->start, oob->length, oob->ptr);
 
-	struct mtd_oob_buf64 *const oob64 = tail_alloc(sizeof(*oob64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_oob_buf64, oob64);
 	fill_memory(oob64, sizeof(*oob64));
 
 	ioctl(-1, MEMWRITEOOB64, oob64);
@@ -168,14 +169,14 @@
 	       (unsigned long long) oob64->usr_ptr);
 
 
-	struct otp_info *const oi = tail_alloc(sizeof(*oi));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct otp_info, 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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_write_req, wr);
 	fill_memory(wr, sizeof(*wr));
 	wr->mode = MTD_OPS_PLACE_OOB;
 	ioctl(-1, MEMWRITE, wr);
diff --git a/tests-m32/ioctl_mtd.gen.test b/tests-m32/ioctl_mtd.gen.test
new file mode 100755
index 0000000..cbc3104
--- /dev/null
+++ b/tests-m32/ioctl_mtd.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_mtd +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_mtd.test b/tests-m32/ioctl_mtd.test
deleted file mode 100755
index 0842807..0000000
--- a/tests-m32/ioctl_mtd.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of 'M' type ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_nsfs.c b/tests-m32/ioctl_nsfs.c
new file mode 100644
index 0000000..b2dbd1b
--- /dev/null
+++ b/tests-m32/ioctl_nsfs.c
@@ -0,0 +1,145 @@
+/*
+ * Check decoding of NS_* commands of ioctl syscall.
+ *
+ * Copyright (c) 2017 Nikolay Marchuk <marchuk.nikolay.a@gmail.com>
+ * 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 <fcntl.h>
+#include <sched.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include "nsfs.h"
+
+#ifndef CLONE_NEWUSER
+# define CLONE_NEWUSER 0x10000000
+#endif
+
+static void
+test_no_namespace(void)
+{
+	ioctl(-1, NS_GET_USERNS);
+	printf("ioctl(-1, NS_GET_USERNS) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_PARENT);
+	printf("ioctl(-1, NS_GET_PARENT) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_NSTYPE);
+	printf("ioctl(-1, NS_GET_NSTYPE) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_OWNER_UID, NULL);
+	printf("ioctl(-1, NS_GET_OWNER_UID, NULL) = -1 EBADF (%m)\n");
+}
+
+static void
+test_clone(pid_t pid)
+{
+	char path[sizeof("/proc/%d/ns/user") + sizeof(int)*3];
+	snprintf(path, sizeof(path), "/proc/%d/ns/user", pid);
+
+	int ns_fd = open(path, O_RDONLY);
+	if (ns_fd == -1)
+		perror_msg_and_skip("open: %s", path);
+
+	int userns_fd = ioctl(ns_fd, NS_GET_USERNS);
+	printf("ioctl(%d, NS_GET_USERNS) = %s\n", ns_fd, sprintrc(userns_fd));
+
+	int parent_ns_fd = ioctl(userns_fd, NS_GET_PARENT);
+	printf("ioctl(%d, NS_GET_PARENT) = %s\n",
+	       userns_fd, sprintrc(parent_ns_fd));
+
+	int nstype = ioctl(userns_fd, NS_GET_NSTYPE);
+	if (nstype == -1) {
+		printf("ioctl(%d, NS_GET_NSTYPE) = %s\n",
+		       userns_fd, sprintrc(nstype));
+	} else {
+		printf("ioctl(%d, NS_GET_NSTYPE) = %d (CLONE_NEWUSER)\n",
+		       userns_fd, nstype);
+	}
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, uid);
+	int rc = ioctl(userns_fd, NS_GET_OWNER_UID, uid);
+	if (rc == -1) {
+		printf("ioctl(%d, NS_GET_OWNER_UID, %p) = %s\n",
+		       userns_fd, uid, sprintrc(rc));
+	} else {
+		printf("ioctl(%d, NS_GET_OWNER_UID, [%u]) = %d\n",
+		       userns_fd, *uid, rc);
+	}
+}
+
+static int
+child(void *arg)
+{
+	int *pipefd = (int *) arg;
+	close(pipefd[1]);
+	/* Wait for EOF from pipe. */
+	if (read(pipefd[0], &pipefd[1], 1))
+		perror_msg_and_fail("read");
+	return 0;
+}
+
+#ifdef IA64
+extern int __clone2(int (*)(void *), void *, size_t, int, void *, ...);
+# define clone(fn, child_stack, flags, arg)	\
+		__clone2(fn, child_stack, get_page_size() / 2, flags, arg)
+#endif
+
+static void
+test_user_namespace(void)
+{
+	pid_t pid;
+	int pipefd[2];
+	int status;
+
+	if (pipe(pipefd))
+		perror_msg_and_fail("pipe");
+
+	pid = clone(child, tail_alloc(get_page_size() / 2),
+		    CLONE_NEWUSER | CLONE_UNTRACED | SIGCHLD, pipefd);
+	if (pid == -1) {
+		perror("clone");
+		return;
+	}
+	close(pipefd[0]);
+	test_clone(pid);
+	close(pipefd[1]);
+	if (wait(&status) != pid) {
+		perror_msg_and_fail("wait");
+	} else if (status != 0) {
+		error_msg_and_fail("unexpected child exit status %d", status);
+	}
+}
+
+int
+main(void)
+{
+	test_no_namespace();
+	test_user_namespace();
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-m32/ioctl_nsfs.test b/tests-m32/ioctl_nsfs.test
new file mode 100755
index 0000000..acdfb61
--- /dev/null
+++ b/tests-m32/ioctl_nsfs.test
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check decoding of NS_* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a16 -eioctl -esignal=none $args > "$EXP"
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
diff --git a/tests-m32/ioctl_rtc-v.gen.test b/tests-m32/ioctl_rtc-v.gen.test
new file mode 100755
index 0000000..b534a02
--- /dev/null
+++ b/tests-m32/ioctl_rtc-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_rtc-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests-m32/ioctl_rtc-v.test b/tests-m32/ioctl_rtc-v.test
deleted file mode 100755
index a255322..0000000
--- a/tests-m32/ioctl_rtc-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of RTC_* ioctls.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
-check_prog grep
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/ioctl_rtc.c b/tests-m32/ioctl_rtc.c
index 49d7ec7..466a1d3 100644
--- a/tests-m32/ioctl_rtc.c
+++ b/tests-m32/ioctl_rtc.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_rtc strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,13 +74,13 @@
 	void *const page = tail_alloc(size);
 	fill_memory(page, size);
 
-	struct rtc_time *rt = tail_alloc(sizeof(*rt));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_time, rt);
 	fill_memory(rt, sizeof(*rt));
 
-	struct rtc_wkalrm *wk = tail_alloc(sizeof(*wk));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_wkalrm, wk);
 	fill_memory(wk, sizeof(*wk));
 
-	struct rtc_pll_info *pll = tail_alloc(sizeof(*pll));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_pll_info, pll);
 	fill_memory(pll, sizeof(*pll));
 
 	/* RTC_ALM_READ */
diff --git a/tests-m32/ioctl_rtc.gen.test b/tests-m32/ioctl_rtc.gen.test
new file mode 100755
index 0000000..e430a82
--- /dev/null
+++ b/tests-m32/ioctl_rtc.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_rtc +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_rtc.test b/tests-m32/ioctl_rtc.test
deleted file mode 100755
index 4545f2a..0000000
--- a/tests-m32/ioctl_rtc.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic decoding of RTC_* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_scsi.c b/tests-m32/ioctl_scsi.c
index 0db94d8..a9ecf28 100644
--- a/tests-m32/ioctl_scsi.c
+++ b/tests-m32/ioctl_scsi.c
@@ -69,7 +69,7 @@
 int
 main(void)
 {
-	int *const pint = tail_alloc(sizeof(*pint));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, pint);
 	*pint = (int) 0xfacefeed;
 
 	TEST_NO_ARG(SG_GET_TIMEOUT);
diff --git a/tests-m32/ioctl_scsi.gen.test b/tests-m32/ioctl_scsi.gen.test
new file mode 100755
index 0000000..23ac307
--- /dev/null
+++ b/tests-m32/ioctl_scsi.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_scsi +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_scsi.test b/tests-m32/ioctl_scsi.test
deleted file mode 100755
index 2710f12..0000000
--- a/tests-m32/ioctl_scsi.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Check decoding of SCSI ioctl commands.
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_sg_io_v3.c b/tests-m32/ioctl_sg_io_v3.c
index ef25795..3808b20 100644
--- a/tests-m32/ioctl_sg_io_v3.c
+++ b/tests-m32/ioctl_sg_io_v3.c
@@ -43,7 +43,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sg_io_hdr, sg_io);
 	fill_memory(sg_io, sizeof(*sg_io));
 
 	const void *const efault = sg_io + 1;
@@ -53,7 +53,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, 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);
diff --git a/tests-m32/ioctl_sg_io_v3.gen.test b/tests-m32/ioctl_sg_io_v3.gen.test
new file mode 100755
index 0000000..e7e5ea5
--- /dev/null
+++ b/tests-m32/ioctl_sg_io_v3.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_sg_io_v3 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_sg_io_v3.test b/tests-m32/ioctl_sg_io_v3.test
deleted file mode 100755
index dacacdf..0000000
--- a/tests-m32/ioctl_sg_io_v3.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ioctl SG_IO v3 commands.
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_sg_io_v4.c b/tests-m32/ioctl_sg_io_v4.c
index 5f899ee..9c1e9fa 100644
--- a/tests-m32/ioctl_sg_io_v4.c
+++ b/tests-m32/ioctl_sg_io_v4.c
@@ -45,7 +45,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sg_io_v4, sg_io);
 	fill_memory(sg_io, sizeof(*sg_io));
 
 	const void *const efault = sg_io + 1;
@@ -55,7 +55,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, pguard);
 	*pguard = (unsigned char) 'Q';
 	ioctl(-1, SG_IO, pguard);
 	printf("ioctl(-1, SG_IO, {guard='Q', %p}) = -1 EBADF (%m)\n", pguard + 1);
diff --git a/tests-m32/ioctl_sg_io_v4.gen.test b/tests-m32/ioctl_sg_io_v4.gen.test
new file mode 100755
index 0000000..575ad96
--- /dev/null
+++ b/tests-m32/ioctl_sg_io_v4.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_sg_io_v4 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_sg_io_v4.test b/tests-m32/ioctl_sg_io_v4.test
deleted file mode 100755
index 2556722..0000000
--- a/tests-m32/ioctl_sg_io_v4.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ioctl SG_IO v4 commands.
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_sock_gifconf.c b/tests-m32/ioctl_sock_gifconf.c
index ae0bea4..f81faef 100644
--- a/tests-m32/ioctl_sock_gifconf.c
+++ b/tests-m32/ioctl_sock_gifconf.c
@@ -2,6 +2,7 @@
  * Check decoding of SIOCGIFCONF command of ioctl syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -134,7 +135,7 @@
 main(int argc, char *argv[])
 {
 	struct ifreq *ifr = tail_alloc(2 * sizeof(*ifr));
-	struct ifconf *ifc = tail_alloc(sizeof(*ifc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ifconf, ifc);
 
 	struct sockaddr_in addr;
 	int fd;
diff --git a/tests-m32/ioctl_sock_gifconf.test b/tests-m32/ioctl_sock_gifconf.test
index 2e2fc01..22d7ea4 100755
--- a/tests-m32/ioctl_sock_gifconf.test
+++ b/tests-m32/ioctl_sock_gifconf.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-m32/ioctl_uffdio.c b/tests-m32/ioctl_uffdio.c
index 10b8b84..c98e4a0 100644
--- a/tests-m32/ioctl_uffdio.c
+++ b/tests-m32/ioctl_uffdio.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c)      2016 Red Hat, Inc.
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,7 +55,7 @@
 		perror_msg_and_skip("userfaultfd");
 
 	/* ---- API ---- */
-	struct uffdio_api *api_struct = tail_alloc(sizeof(*api_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_api, api_struct);
 
 	/* With a bad fd */
 	memset(api_struct, 0, sizeof(*api_struct));
@@ -127,7 +128,7 @@
 	 * userfaultfd will cause us to stall.
 	 */
 	/* ---- COPY ---- */
-	struct uffdio_copy *copy_struct = tail_alloc(sizeof(*copy_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_copy, copy_struct);
 
 	memset(copy_struct, 0, sizeof(*copy_struct));
 	rc = ioctl(-1, UFFDIO_COPY, copy_struct);
@@ -148,7 +149,7 @@
 	       fd, area2, area1, pagesize, pagesize, rc);
 
 	/* ---- ZEROPAGE ---- */
-	struct uffdio_zeropage *zero_struct = tail_alloc(sizeof(*zero_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_zeropage, zero_struct);
 	madvise(area2, pagesize, MADV_DONTNEED);
 
 	memset(zero_struct, 0, sizeof(*zero_struct));
@@ -169,7 +170,7 @@
 	       fd, area2, pagesize, pagesize, rc);
 
 	/* ---- WAKE ---- */
-	struct uffdio_range *range_struct = tail_alloc(sizeof(*range_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_range, range_struct);
 	memset(range_struct, 0, sizeof(*range_struct));
 
 	rc = ioctl(-1, UFFDIO_WAKE, range_struct);
diff --git a/tests-m32/ioctl_uffdio.gen.test b/tests-m32/ioctl_uffdio.gen.test
new file mode 100755
index 0000000..80fd2a6
--- /dev/null
+++ b/tests-m32/ioctl_uffdio.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_uffdio +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_uffdio.test b/tests-m32/ioctl_uffdio.test
deleted file mode 100755
index fae9b55..0000000
--- a/tests-m32/ioctl_uffdio.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check userfaultfd ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_v4l2.c b/tests-m32/ioctl_v4l2.c
index af8c341..921e7a8 100644
--- a/tests-m32/ioctl_v4l2.c
+++ b/tests-m32/ioctl_v4l2.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,6 +57,272 @@
 
 static const unsigned int magic = 0xdeadbeef;
 
+static void
+init_v4l2_format(struct v4l2_format *const f,
+		 const unsigned int buf_type)
+{
+	memset(f, -1, sizeof(*f));
+	f->type = buf_type;
+	switch (buf_type) {
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+		f->fmt.pix.width = 0x657b8160;
+		f->fmt.pix.height = 0x951c0047;
+		f->fmt.pix.pixelformat = magic;
+		f->fmt.pix.field = V4L2_FIELD_NONE;
+		f->fmt.pix.bytesperline = 0xdf20d185;
+		f->fmt.pix.sizeimage = 0x0cf7be41;
+		f->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
+		unsigned int i;
+
+		f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+		f->fmt.pix_mp.width = 0x1f3b774b;
+		f->fmt.pix_mp.height = 0xab96a8d6;
+		f->fmt.pix_mp.pixelformat = magic;
+		f->fmt.pix_mp.field = V4L2_FIELD_NONE;
+		f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
+		struct v4l2_plane_pix_format* cur_pix =
+		       f->fmt.pix_mp.plane_fmt;
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
+		     i++) {
+			cur_pix[i].sizeimage = 0x1e3c531c | i;
+			cur_pix[i].bytesperline = 0xa983d721 | i;
+		}
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+#endif
+	case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+		f->fmt.win.w.left = 0xe8373662;
+		f->fmt.win.w.top = 0x0336d283;
+		f->fmt.win.w.width = 0x9235fe72;
+		f->fmt.win.w.height = 0xbbd886c8;
+		f->fmt.win.field = V4L2_FIELD_ANY;
+		f->fmt.win.chromakey = 0xdb1f991f;
+		f->fmt.win.clipcount = 2;
+		f->fmt.win.clips =
+			tail_alloc(sizeof(*f->fmt.win.clips) *
+			f->fmt.win.clipcount);
+		f->fmt.win.clips[0].c.left = 0x3313d36e;
+		f->fmt.win.clips[0].c.top = 0xcdffe510;
+		f->fmt.win.clips[0].c.width = 0x2064f3a8;
+		f->fmt.win.clips[0].c.height = 0xd06d314a;
+		f->fmt.win.clips[1].c.left = 0xd8c8a83f;
+		f->fmt.win.clips[1].c.top = 0x336e87ba;
+		f->fmt.win.clips[1].c.width = 0x9e3a6fb3;
+		f->fmt.win.clips[1].c.height = 0x05617b76;
+
+		f->fmt.win.bitmap = (void*) -2UL;
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		f->fmt.win.global_alpha = 0xce;
+#endif
+		break;
+	case V4L2_BUF_TYPE_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_VBI_OUTPUT:
+		f->fmt.vbi.sampling_rate = 0x3d9b5b79;
+		f->fmt.vbi.offset = 0x055b3a09;
+		f->fmt.vbi.samples_per_line = 0xf176d436;
+		f->fmt.vbi.sample_format = magic;
+		f->fmt.vbi.start[0] = 0x9858e2eb;
+		f->fmt.vbi.start[1] = 0x8a4dc8c1;
+		f->fmt.vbi.count[0] = 0x4bcf36a3;
+		f->fmt.vbi.count[1] = 0x97dff65f;
+		f->fmt.vbi.flags = V4L2_VBI_INTERLACED;
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: {
+		unsigned int i;
+
+		f->fmt.sliced.service_set = V4L2_SLICED_VPS;
+		f->fmt.sliced.io_size = 0xd897925a;
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.sliced.service_lines[0]);
+		     i++) {
+			f->fmt.sliced.service_lines[0][i] = 0xc38e | i;
+			f->fmt.sliced.service_lines[1][i] = 0x3abb | i;
+		}
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	case V4L2_BUF_TYPE_SDR_OUTPUT:
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	case V4L2_BUF_TYPE_SDR_CAPTURE:
+		f->fmt.sdr.pixelformat = magic;
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		f->fmt.sdr.buffersize = 0x25afabfb;
+#endif
+		break;
+#endif
+	}
+}
+
+static void
+dprint_ioctl_v4l2(struct v4l2_format *const f,
+		  const char* request, const unsigned int buf_type,
+		  const char* buf_type_string)
+{
+	switch (buf_type) {
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.pix={width=%u, height=%u, pixelformat="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
+		       ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.pix.width, f->fmt.pix.height,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+		       f->fmt.pix.bytesperline,
+		       f->fmt.pix.sizeimage);
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
+		unsigned int i;
+
+		printf("ioctl(-1, %s"
+		       ", {type=%s"
+		       ", fmt.pix_mp={width=%u, height=%u, pixelformat="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", field=V4L2_FIELD_NONE, colorspace="
+		       "V4L2_COLORSPACE_JPEG, plane_fmt=[",
+		       request,
+		       buf_type_string,
+		       f->fmt.pix_mp.width, f->fmt.pix_mp.height,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
+		     ++i) {
+			if (i)
+				printf(", ");
+			printf("{sizeimage=%u, bytesperline=%u}",
+			f->fmt.pix_mp.plane_fmt[i].sizeimage,
+			f->fmt.pix_mp.plane_fmt[i].bytesperline);
+		}
+		printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
+		f->fmt.pix_mp.num_planes);
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+#endif
+	case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.win={left=%d, top=%d, width=%u, height=%u"
+		       ", field=V4L2_FIELD_ANY, chromakey=%#x, clips="
+		       "[{left=%d, top=%d, width=%u, height=%u}, "
+		       "{left=%d, top=%d, width=%u, height=%u}]"
+		       ", clipcount=%u, bitmap=%p"
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		       ", global_alpha=%#x"
+#endif
+		       "}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.win.w.left, f->fmt.win.w.top,
+		       f->fmt.win.w.width, f->fmt.win.w.height,
+		       f->fmt.win.chromakey,
+		       f->fmt.win.clips[0].c.left,
+		       f->fmt.win.clips[0].c.top,
+		       f->fmt.win.clips[0].c.width,
+		       f->fmt.win.clips[0].c.height,
+		       f->fmt.win.clips[1].c.left,
+		       f->fmt.win.clips[1].c.top,
+		       f->fmt.win.clips[1].c.width,
+		       f->fmt.win.clips[1].c.height,
+		       f->fmt.win.clipcount, f->fmt.win.bitmap
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		       , f->fmt.win.global_alpha
+#endif
+		       );
+		break;
+	case V4L2_BUF_TYPE_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_VBI_OUTPUT:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.vbi={sampling_rate=%u, offset=%u"
+		       ", samples_per_line=%u, sample_format="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", start=[%u, %u], count=[%u, %u]"
+		       ", flags=V4L2_VBI_INTERLACED}})"
+		       " = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
+		       f->fmt.vbi.samples_per_line,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+		       f->fmt.vbi.start[0], f->fmt.vbi.start[1],
+		       f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: {
+		unsigned int i, j;
+
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.sliced={service_set=V4L2_SLICED_VPS"
+		       ", io_size=%u, service_lines=[",
+		       request,
+		       buf_type_string,
+		       f->fmt.sliced.io_size);
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.sliced.service_lines);
+		     i++) {
+			if (i > 0)
+				printf(", ");
+			printf("[");
+			for (j = 0;
+			     j < ARRAY_SIZE(f->fmt.sliced.service_lines[0]);
+			     j++) {
+				if (j > 0)
+					printf(", ");
+				printf("%#x",
+				       f->fmt.sliced.service_lines[i][j]);
+			}
+			printf("]");
+		}
+		printf("]}}) = -1 EBADF (%m)\n");
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	case V4L2_BUF_TYPE_SDR_OUTPUT:
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	case V4L2_BUF_TYPE_SDR_CAPTURE:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
+		       " '\\x%x', '\\x%x')"
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		       ", buffersize=%u"
+#endif
+		       "}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic)
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		       , f->fmt.sdr.buffersize
+#endif
+		       );
+		break;
+#endif
+	}
+}
+#define print_ioctl_v4l2(v4l2_format, request, buf_type) do { \
+	dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type); \
+} while (0)
+
 int
 main(void )
 {
@@ -76,7 +343,7 @@
 	ioctl(-1, VIDIOC_ENUM_FMT, 0);
 	printf("ioctl(-1, VIDIOC_ENUM_FMT, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_fmtdesc *const p_fmtdesc = tail_alloc(sizeof(*p_fmtdesc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_fmtdesc, p_fmtdesc);
 	p_fmtdesc->index = magic;
 	p_fmtdesc->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	ioctl(-1, VIDIOC_ENUM_FMT, p_fmtdesc);
@@ -88,78 +355,146 @@
 	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));
-	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_format, p_format);
 
+	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	ioctl(-1, VIDIOC_G_FMT, p_format);
 	printf("ioctl(-1, VIDIOC_G_FMT"
 	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE}) = -1 EBADF (%m)\n");
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE}) ="
+	       " -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	p_format->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY}) ="
+	       " -1 EBADF (%m)\n");
+#endif
+	p_format->type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_OVERLAY}) ="
+	       " -1 EBADF (%m)\n");
 
+	p_format->type = V4L2_BUF_TYPE_VBI_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VBI_CAPTURE}) = -1 EBADF (%m)\n");
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	p_format->type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SLICED_VBI_CAPTURE}) = -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	p_format->type = V4L2_BUF_TYPE_SDR_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SDR_CAPTURE}) = -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	p_format->type = V4L2_BUF_TYPE_SDR_OUTPUT;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SDR_OUTPUT}) = -1 EBADF (%m)\n");
+#endif
 	/* VIDIOC_S_FMT */
 	ioctl(-1, VIDIOC_S_FMT, 0);
 	printf("ioctl(-1, VIDIOC_S_FMT, NULL) = -1 EBADF (%m)\n");
 
-	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 = magic;
-	p_format->fmt.pix.field = V4L2_FIELD_NONE;
-	p_format->fmt.pix.bytesperline = 0xdad3beaf;
-	p_format->fmt.pix.sizeimage = 0xdad4beaf;
-	p_format->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
-
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT);
 	ioctl(-1, VIDIOC_S_FMT, p_format);
-	printf("ioctl(-1, VIDIOC_S_FMT, {type=V4L2_BUF_TYPE_VIDEO_OUTPUT"
-	       ", fmt.pix={width=%u, height=%u, pixelformat="
-	       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
-	       ", 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,
-	       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
-	       p_format->fmt.pix.bytesperline, p_format->fmt.pix.sizeimage);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_VIDEO_OUTPUT);
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+#endif
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OVERLAY);
 
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_VBI_CAPTURE);
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_SDR_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_OUTPUT);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_SDR_OUTPUT);
+#endif
 	/* VIDIOC_TRY_FMT */
 	ioctl(-1, VIDIOC_TRY_FMT, 0);
 	printf("ioctl(-1, VIDIOC_TRY_FMT, NULL) = -1 EBADF (%m)\n");
 
-#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
-	memset(p_format, -1, sizeof(*p_format));
-	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 = magic;
-	p_format->fmt.pix_mp.field = V4L2_FIELD_NONE;
-	p_format->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
-	unsigned int i;
-	for (i = 0; i < ARRAY_SIZE(p_format->fmt.pix_mp.plane_fmt); ++i) {
-		p_format->fmt.pix_mp.plane_fmt[i].sizeimage = 0xbadc0de0 | i;
-		p_format->fmt.pix_mp.plane_fmt[i].bytesperline = 0xdadbeaf0 | i;
-	}
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT);
 	ioctl(-1, VIDIOC_TRY_FMT, p_format);
-	printf("ioctl(-1, VIDIOC_TRY_FMT"
-	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE"
-	       ", fmt.pix_mp={width=%u, height=%u, pixelformat="
-	       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
-	       ", field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_JPEG"
-	       ", plane_fmt=[",
-	       p_format->fmt.pix_mp.width, p_format->fmt.pix_mp.height,
-	       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(", ");
-		printf("{sizeimage=%u, bytesperline=%u}",
-		       p_format->fmt.pix_mp.plane_fmt[i].sizeimage,
-		       p_format->fmt.pix_mp.plane_fmt[i].bytesperline);
-	}
-	printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
-	       p_format->fmt.pix_mp.num_planes);
-#else
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT);
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+#endif
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OVERLAY);
+
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_VBI_CAPTURE);
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_SDR_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_OUTPUT);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_SDR_OUTPUT);
+#endif
 	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", p_v4l2_format->type);
-#endif
 
 	/* VIDIOC_REQBUFS */
 	ioctl(-1, VIDIOC_REQBUFS, 0);
@@ -259,8 +594,7 @@
 	printf("ioctl(-1, VIDIOC_S_PARM, {type=%#x /* V4L2_BUF_TYPE_??? */})"
 	       " = -1 EBADF (%m)\n", p_v4l2_streamparm->type);
 
-	struct v4l2_streamparm *const p_streamparm =
-		tail_alloc(sizeof(*p_streamparm));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_streamparm, p_streamparm);
 	p_streamparm->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	p_streamparm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
 	p_streamparm->parm.capture.capturemode = V4L2_MODE_HIGHQUALITY;
@@ -339,6 +673,42 @@
 	       ", value=%d}) = -1 EBADF (%m)\n",
 	       p_v4l2_control->id, p_v4l2_control->value);
 
+	/* VIDIOC_G_TUNER */
+	ioctl(-1, VIDIOC_G_TUNER, 0);
+	printf("ioctl(-1, VIDIOC_G_TUNER, NULL) = -1 EBADF (%m)\n");
+
+	struct v4l2_tuner *const p_v4l2_tuner =
+		page + size - sizeof(*p_v4l2_tuner);
+	ioctl(-1, VIDIOC_G_TUNER, p_v4l2_tuner);
+	printf("ioctl(-1, VIDIOC_G_TUNER, {index=%u})"
+	       " = -1 EBADF (%m)\n", p_v4l2_tuner->index);
+
+	/* VIDIOC_S_TUNER */
+	ioctl(-1, VIDIOC_S_TUNER, 0);
+	printf("ioctl(-1, VIDIOC_S_TUNER, NULL) = -1 EBADF (%m)\n");
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_tuner, p_tuner);
+	p_tuner->index = 0x4fb6df39;
+	strcpy((char*)p_tuner->name, "cum tacent clamant");
+	p_tuner->type = V4L2_TUNER_RADIO;
+	p_tuner->capability = V4L2_TUNER_CAP_LOW;
+	p_tuner->rangelow = 0xa673bc29;
+	p_tuner->rangehigh = 0xbaf16d12;
+	p_tuner->rxsubchans = V4L2_TUNER_SUB_MONO;
+	p_tuner->audmode = V4L2_TUNER_MODE_MONO;
+	p_tuner->signal = 0x10bf92c8;
+	p_tuner->afc = 0x3bf7e18b;
+	ioctl(-1, VIDIOC_S_TUNER, p_tuner);
+	printf("ioctl(-1, VIDIOC_S_TUNER, {index=%u"
+	       ", name=\"cum tacent clamant\""
+	       ", type=V4L2_TUNER_RADIO, capability=V4L2_TUNER_CAP_LOW"
+	       ", rangelow=%u, rangehigh=%u"
+	       ", rxsubchans=V4L2_TUNER_SUB_MONO"
+	       ", audmode=V4L2_TUNER_MODE_MONO, signal=%d, afc=%d"
+	       "}) = -1 EBADF (%m)\n",
+	       p_tuner->index, p_tuner->rangelow,
+	       p_tuner->rangehigh, p_tuner->signal, p_tuner->afc);
+
 	/* VIDIOC_QUERYCTRL */
 	ioctl(-1, VIDIOC_QUERYCTRL, 0);
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, NULL) = -1 EBADF (%m)\n");
@@ -355,8 +725,7 @@
 	       " = -1 EBADF (%m)\n", p_v4l2_queryctrl->id);
 # endif
 
-	struct v4l2_queryctrl *const p_queryctrl =
-		tail_alloc(sizeof(*p_queryctrl));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_queryctrl, p_queryctrl);
 	p_queryctrl->id = V4L2_CID_SATURATION;
 	ioctl(-1, VIDIOC_QUERYCTRL, p_queryctrl);
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, {id=V4L2_CID_SATURATION})"
@@ -414,8 +783,7 @@
 	ioctl(-1, VIDIOC_S_EXT_CTRLS, 0);
 	printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_ext_controls *const p_ext_controls =
-		tail_alloc(sizeof(*p_ext_controls));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_ext_controls, p_ext_controls);
 	p_ext_controls->ctrl_class = V4L2_CTRL_CLASS_USER;
 	p_ext_controls->count = 0;
 	p_ext_controls->controls = (void *) -2UL;
@@ -500,8 +868,7 @@
 	ioctl(-1, VIDIOC_ENUM_FRAMESIZES, 0);
 	printf("ioctl(-1, VIDIOC_ENUM_FRAMESIZES, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_frmsizeenum *const p_frmsizeenum =
-		tail_alloc(sizeof(*p_frmsizeenum));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_frmsizeenum, p_frmsizeenum);
 	p_frmsizeenum->index = magic;
 	p_frmsizeenum->pixel_format = fourcc(cc[0], cc[1], cc[2], cc[3]);
 
diff --git a/tests-m32/ioctl_v4l2.gen.test b/tests-m32/ioctl_v4l2.gen.test
new file mode 100755
index 0000000..cbd36ba
--- /dev/null
+++ b/tests-m32/ioctl_v4l2.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_v4l2 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioctl_v4l2.test b/tests-m32/ioctl_v4l2.test
deleted file mode 100755
index a092a3c..0000000
--- a/tests-m32/ioctl_v4l2.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic VIDIOC_* ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-m32/ioperm.gen.test b/tests-m32/ioperm.gen.test
new file mode 100755
index 0000000..154d60a
--- /dev/null
+++ b/tests-m32/ioperm.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioperm -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/ioperm.test b/tests-m32/ioperm.test
deleted file mode 100755
index 8c1c1cc..0000000
--- a/tests-m32/ioperm.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ioperm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/iopl.gen.test b/tests-m32/iopl.gen.test
new file mode 100755
index 0000000..3d9704c
--- /dev/null
+++ b/tests-m32/iopl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (iopl -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-m32/iopl.test b/tests-m32/iopl.test
deleted file mode 100755
index d0b5b11..0000000
--- a/tests-m32/iopl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check iopl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests-m32/ioprio.gen.test b/tests-m32/ioprio.gen.test
new file mode 100755
index 0000000..f43f78e
--- /dev/null
+++ b/tests-m32/ioprio.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioprio -a18 -e trace=ioprio_get,ioprio_set); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18 -e trace=ioprio_get,ioprio_set
diff --git a/tests-m32/ioprio.test b/tests-m32/ioprio.test
deleted file mode 100755
index e79310b..0000000
--- a/tests-m32/ioprio.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/ip_mreq.c b/tests-m32/ip_mreq.c
index fa0c504..4bcda09 100644
--- a/tests-m32/ip_mreq.c
+++ b/tests-m32/ip_mreq.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,8 +45,8 @@
 	static const char multi6addr[] = "ff01::c";
 	static const char interface[] = "127.0.0.1";
 
-	struct ip_mreq *const m4 = tail_alloc(sizeof(*m4));
-	struct ipv6_mreq *const m6 = tail_alloc(sizeof(*m6));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ip_mreq, m4);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ipv6_mreq, m6);
 	unsigned int i;
 	int rc;
 
diff --git a/tests-m32/ip_mreq.gen.test b/tests-m32/ip_mreq.gen.test
new file mode 100755
index 0000000..990387a
--- /dev/null
+++ b/tests-m32/ip_mreq.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ip_mreq -e trace=setsockopt); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=setsockopt
diff --git a/tests-m32/ip_mreq.test b/tests-m32/ip_mreq.test
deleted file mode 100755
index d0a9e0f..0000000
--- a/tests-m32/ip_mreq.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check {IP,IPV6}_{ADD,DROP}_MEMBERSHIP setsockopt decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=setsockopt
diff --git a/tests-m32/ipc.gen.test b/tests-m32/ipc.gen.test
new file mode 100755
index 0000000..5ed1f0d
--- /dev/null
+++ b/tests-m32/ipc.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-m32/ipc.sh b/tests-m32/ipc.sh
index 752d4bb..5943c1a 100644
--- a/tests-m32/ipc.sh
+++ b/tests-m32/ipc.sh
@@ -5,9 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -eipc $args > "$OUT"
-match_grep "$LOG" "$OUT"
-
-rm -f "$OUT"
+run_strace -eipc $args > "$EXP"
+match_grep "$LOG" "$EXP"
 
 exit 0
diff --git a/tests-m32/ipc.test b/tests-m32/ipc.test
deleted file mode 100755
index aa33fa6..0000000
--- a/tests-m32/ipc.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-m32/ipc_msg.gen.test b/tests-m32/ipc_msg.gen.test
new file mode 100755
index 0000000..f4fec80
--- /dev/null
+++ b/tests-m32/ipc_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests-m32/ipc_msg.test b/tests-m32/ipc_msg.test
deleted file mode 100755
index 177495b..0000000
--- a/tests-m32/ipc_msg.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc msgget/msgctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests-m32/ipc_sem.c b/tests-m32/ipc_sem.c
index 8f6382c..0b730c1 100644
--- a/tests-m32/ipc_sem.c
+++ b/tests-m32/ipc_sem.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015 Andreas Schwab <schwab@suse.de>
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/ipc_sem.gen.test b/tests-m32/ipc_sem.gen.test
new file mode 100755
index 0000000..54159a6
--- /dev/null
+++ b/tests-m32/ipc_sem.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests-m32/ipc_sem.test b/tests-m32/ipc_sem.test
deleted file mode 100755
index cc93d07..0000000
--- a/tests-m32/ipc_sem.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc semget/semctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests-m32/ipc_shm.gen.test b/tests-m32/ipc_shm.gen.test
new file mode 100755
index 0000000..505eaba
--- /dev/null
+++ b/tests-m32/ipc_shm.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests-m32/ipc_shm.test b/tests-m32/ipc_shm.test
deleted file mode 100755
index a67ea29..0000000
--- a/tests-m32/ipc_shm.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc shmget/shmctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests-m32/kcmp.gen.test b/tests-m32/kcmp.gen.test
new file mode 100755
index 0000000..da79d7c
--- /dev/null
+++ b/tests-m32/kcmp.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kcmp -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/kcmp.test b/tests-m32/kcmp.test
deleted file mode 100755
index d022aeb..0000000
--- a/tests-m32/kcmp.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kcmp syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/kexec_file_load.c b/tests-m32/kexec_file_load.c
index be90a37..c939e4f 100644
--- a/tests-m32/kexec_file_load.c
+++ b/tests-m32/kexec_file_load.c
@@ -2,6 +2,7 @@
  * Check decoding of kexec_file_load syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/kexec_file_load.gen.test b/tests-m32/kexec_file_load.gen.test
new file mode 100755
index 0000000..aefaab3
--- /dev/null
+++ b/tests-m32/kexec_file_load.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kexec_file_load -s9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests-m32/kexec_file_load.test b/tests-m32/kexec_file_load.test
deleted file mode 100755
index c95e123..0000000
--- a/tests-m32/kexec_file_load.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kexec_file_load syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s9
diff --git a/tests-m32/kexec_load.c b/tests-m32/kexec_load.c
index 330238d..2a6b441 100644
--- a/tests-m32/kexec_load.c
+++ b/tests-m32/kexec_load.c
@@ -2,6 +2,7 @@
  * Check decoding of kexec_load syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,8 +63,7 @@
 	};
 
 	static const kernel_ulong_t bogus_zero =
-		sizeof(long) < sizeof(kernel_long_t) ?
-			(kernel_ulong_t) 0xffffffff00000000ULL : 0;
+		sizeof(long) < sizeof(kernel_long_t) ? F8ILL_KULONG_MASK : 0;
 	static const kernel_ulong_t bogus_entry =
 		(kernel_ulong_t) 0xdeadca57badda7a1ULL;
 	static const kernel_ulong_t bogus_nsegs =
diff --git a/tests-m32/kexec_load.gen.test b/tests-m32/kexec_load.gen.test
new file mode 100755
index 0000000..0af9527
--- /dev/null
+++ b/tests-m32/kexec_load.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kexec_load -s9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests-m32/kexec_load.test b/tests-m32/kexec_load.test
deleted file mode 100755
index 4b1511e..0000000
--- a/tests-m32/kexec_load.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kexec_load syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s9
diff --git a/tests-m32/keyctl.gen.test b/tests-m32/keyctl.gen.test
new file mode 100755
index 0000000..82afad9
--- /dev/null
+++ b/tests-m32/keyctl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl -a31 -s10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31 -s10
diff --git a/tests-m32/keyctl.test b/tests-m32/keyctl.test
deleted file mode 100755
index 875a82d..0000000
--- a/tests-m32/keyctl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of keyctl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31 -s10
diff --git a/tests-m32/kill.gen.test b/tests-m32/kill.gen.test
new file mode 100755
index 0000000..08a004e
--- /dev/null
+++ b/tests-m32/kill.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kill -a12 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12 -esignal=none
diff --git a/tests-m32/kill.test b/tests-m32/kill.test
deleted file mode 100755
index 7a3a51a..0000000
--- a/tests-m32/kill.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kill syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -esignal=none
diff --git a/tests-m32/ksysent.c b/tests-m32/ksysent.c
index 8cac93c..f598664 100644
--- a/tests-m32/ksysent.c
+++ b/tests-m32/ksysent.c
@@ -2,6 +2,7 @@
  * Validate syscallent.h file.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,6 +41,13 @@
 #define TP 0
 #define TS 0
 #define TM 0
+#define TST 0
+#define TLST 0
+#define TFST 0
+#define TSTA 0
+#define TSF 0
+#define TFSF 0
+#define TSFA 0
 #define NF 0
 #define MA 0
 #define SI 0
diff --git a/tests-m32/lchown.gen.test b/tests-m32/lchown.gen.test
new file mode 100755
index 0000000..b31e29d
--- /dev/null
+++ b/tests-m32/lchown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lchown -a30); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30
diff --git a/tests-m32/lchown.test b/tests-m32/lchown.test
deleted file mode 100755
index ceeaa85..0000000
--- a/tests-m32/lchown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check lchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30
diff --git a/tests-m32/lchown32.gen.test b/tests-m32/lchown32.gen.test
new file mode 100755
index 0000000..83be4bc
--- /dev/null
+++ b/tests-m32/lchown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lchown32 -a32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32
diff --git a/tests-m32/lchown32.test b/tests-m32/lchown32.test
deleted file mode 100755
index 6ee1ac9..0000000
--- a/tests-m32/lchown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check lchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
diff --git a/tests-m32/link.gen.test b/tests-m32/link.gen.test
new file mode 100755
index 0000000..b6db34d
--- /dev/null
+++ b/tests-m32/link.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (link ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/link.test b/tests-m32/link.test
deleted file mode 100755
index cfa2b0c..0000000
--- a/tests-m32/link.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check link syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/linkat.gen.test b/tests-m32/linkat.gen.test
new file mode 100755
index 0000000..54b12b9
--- /dev/null
+++ b/tests-m32/linkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (linkat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/linkat.test b/tests-m32/linkat.test
deleted file mode 100755
index 5627de7..0000000
--- a/tests-m32/linkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check linkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/llseek.test b/tests-m32/llseek.test
index cf1607e..8dcd65d 100755
--- a/tests-m32/llseek.test
+++ b/tests-m32/llseek.test
@@ -9,7 +9,3 @@
 run_strace -e_llseek $args > "$EXP"
 grep -v '^lseek([0-9]' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-m32/lookup_dcookie.gen.test b/tests-m32/lookup_dcookie.gen.test
new file mode 100755
index 0000000..6357e19
--- /dev/null
+++ b/tests-m32/lookup_dcookie.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lookup_dcookie -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/lookup_dcookie.test b/tests-m32/lookup_dcookie.test
deleted file mode 100755
index 47e1c2d..0000000
--- a/tests-m32/lookup_dcookie.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of lookup_cookie syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/lseek.test b/tests-m32/lseek.test
index f96a91d..5b20a7f 100755
--- a/tests-m32/lseek.test
+++ b/tests-m32/lseek.test
@@ -9,7 +9,3 @@
 run_strace -a30 -elseek $args > "$EXP"
 grep -v '^lseek([0-9]' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-m32/lstat.c b/tests-m32/lstat.c
index 3754f76..8441bf8 100644
--- a/tests-m32/lstat.c
+++ b/tests-m32/lstat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/lstat.gen.test b/tests-m32/lstat.gen.test
new file mode 100755
index 0000000..7231c49
--- /dev/null
+++ b/tests-m32/lstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/lstat.test b/tests-m32/lstat.test
deleted file mode 100755
index f513bb4..0000000
--- a/tests-m32/lstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check lstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/lstat64.c b/tests-m32/lstat64.c
index da06609..500b60f 100644
--- a/tests-m32/lstat64.c
+++ b/tests-m32/lstat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/lstat64.gen.test b/tests-m32/lstat64.gen.test
new file mode 100755
index 0000000..124cce4
--- /dev/null
+++ b/tests-m32/lstat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lstat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/lstat64.test b/tests-m32/lstat64.test
deleted file mode 100755
index fcafe79..0000000
--- a/tests-m32/lstat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check lstat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/lstatx.c b/tests-m32/lstatx.c
index cdd1124..8049bea 100644
--- a/tests-m32/lstatx.c
+++ b/tests-m32/lstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/madvise.c b/tests-m32/madvise.c
new file mode 100644
index 0000000..bf9cd78
--- /dev/null
+++ b/tests-m32/madvise.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdint.h>
+#include <stdio.h>
+#include <sys/mman.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+static const char *errstr;
+
+static long
+k_madvise(const kernel_ulong_t addr,
+	  const kernel_ulong_t length,
+	  const kernel_ulong_t advice)
+{
+	long rc = syscall(__NR_madvise, addr, length, advice);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	const unsigned long length = get_page_size();
+	void *const addr = tail_alloc(length);
+	long rc;
+
+	rc = madvise(addr, length, MADV_NORMAL);
+	printf("madvise(%p, %lu, MADV_NORMAL) = %s\n",
+	       addr, length, sprintrc(rc));
+
+	static const kernel_ulong_t advice =
+		(kernel_ulong_t) 0xfacefeed00000000ULL | MADV_RANDOM;
+	rc = k_madvise((uintptr_t) addr, length, advice);
+	printf("madvise(%p, %lu, MADV_RANDOM) = %s\n",
+	       addr, length, sprintrc(rc));
+
+	static const kernel_ulong_t bogus_length =
+		(kernel_ulong_t) 0xfffffffffffffaceULL;
+	rc = k_madvise(0, bogus_length, MADV_SEQUENTIAL);
+	printf("madvise(NULL, %llu, MADV_SEQUENTIAL) = %s\n",
+	       (unsigned long long) bogus_length, sprintrc(rc));
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		rc = k_madvise(f8ill_ptr_to_kulong(addr), length, MADV_NORMAL);
+		printf("madvise(%#llx, %lu, MADV_NORMAL) = %s\n",
+		       (unsigned long long) f8ill_ptr_to_kulong(addr),
+		       length, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-m32/madvise.gen.test b/tests-m32/madvise.gen.test
new file mode 100755
index 0000000..bd36dad
--- /dev/null
+++ b/tests-m32/madvise.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (madvise -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-m32/mbind.gen.test b/tests-m32/mbind.gen.test
new file mode 100755
index 0000000..a0d144d
--- /dev/null
+++ b/tests-m32/mbind.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mbind ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/mbind.test b/tests-m32/mbind.test
deleted file mode 100755
index 2a07cac..0000000
--- a/tests-m32/mbind.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mbind syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/membarrier.gen.test b/tests-m32/membarrier.gen.test
new file mode 100755
index 0000000..7a6ea10
--- /dev/null
+++ b/tests-m32/membarrier.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (membarrier -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-m32/membarrier.test b/tests-m32/membarrier.test
deleted file mode 100755
index ad1f713..0000000
--- a/tests-m32/membarrier.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check membarrier syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-m32/memfd_create.gen.test b/tests-m32/memfd_create.gen.test
new file mode 100755
index 0000000..11762be
--- /dev/null
+++ b/tests-m32/memfd_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (memfd_create ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/memfd_create.test b/tests-m32/memfd_create.test
deleted file mode 100755
index 4361dae..0000000
--- a/tests-m32/memfd_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of memfd_create syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/migrate_pages.gen.test b/tests-m32/migrate_pages.gen.test
new file mode 100755
index 0000000..20b7cad
--- /dev/null
+++ b/tests-m32/migrate_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (migrate_pages -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-m32/migrate_pages.test b/tests-m32/migrate_pages.test
deleted file mode 100755
index fad53b7..0000000
--- a/tests-m32/migrate_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check migrate_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33
diff --git a/tests-m32/mincore.gen.test b/tests-m32/mincore.gen.test
new file mode 100755
index 0000000..dc40726
--- /dev/null
+++ b/tests-m32/mincore.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mincore -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-m32/mincore.test b/tests-m32/mincore.test
deleted file mode 100755
index 6af9f49..0000000
--- a/tests-m32/mincore.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mincore syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-m32/mkdir.gen.test b/tests-m32/mkdir.gen.test
new file mode 100755
index 0000000..80b4995
--- /dev/null
+++ b/tests-m32/mkdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mkdir -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-m32/mkdir.test b/tests-m32/mkdir.test
deleted file mode 100755
index 38ed692..0000000
--- a/tests-m32/mkdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mkdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-m32/mkdirat.gen.test b/tests-m32/mkdirat.gen.test
new file mode 100755
index 0000000..0f3fdae
--- /dev/null
+++ b/tests-m32/mkdirat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mkdirat -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-m32/mkdirat.test b/tests-m32/mkdirat.test
deleted file mode 100755
index 0fcb841..0000000
--- a/tests-m32/mkdirat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mkdirat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-m32/mknod.c b/tests-m32/mknod.c
index 4cc1c5c..b387149 100644
--- a/tests-m32/mknod.c
+++ b/tests-m32/mknod.c
@@ -8,7 +8,7 @@
 # include <sys/sysmacros.h>
 # include <unistd.h>
 
-static const char sample[] = "mknod";
+static const char *sample;
 
 static long
 call_mknod(unsigned short mode, unsigned long dev)
@@ -18,9 +18,10 @@
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
 	unsigned long dev = (unsigned long) 0xdeadbeefbadc0dedULL;
+	sample = av[0];
 
 	long rc = call_mknod(0, dev);
 	printf("mknod(\"%s\", 000) = %ld %s (%m)\n",
diff --git a/tests-m32/mknod.gen.test b/tests-m32/mknod.gen.test
new file mode 100755
index 0000000..870c88b
--- /dev/null
+++ b/tests-m32/mknod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mknod -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-m32/mknod.test b/tests-m32/mknod.test
deleted file mode 100755
index 195f1e3..0000000
--- a/tests-m32/mknod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mknod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-m32/mknodat.gen.test b/tests-m32/mknodat.gen.test
new file mode 100755
index 0000000..747fcbe
--- /dev/null
+++ b/tests-m32/mknodat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mknodat -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-m32/mknodat.test b/tests-m32/mknodat.test
deleted file mode 100755
index 1701a36..0000000
--- a/tests-m32/mknodat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mknodat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-m32/mlock.gen.test b/tests-m32/mlock.gen.test
new file mode 100755
index 0000000..2c8ea5e
--- /dev/null
+++ b/tests-m32/mlock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlock -a20 -e trace=mlock,munlock); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=mlock,munlock
diff --git a/tests-m32/mlock.test b/tests-m32/mlock.test
deleted file mode 100755
index 9a73a30..0000000
--- a/tests-m32/mlock.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mlock and munlock syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=mlock,munlock -a20
diff --git a/tests-m32/mlock2.gen.test b/tests-m32/mlock2.gen.test
new file mode 100755
index 0000000..aa1818e
--- /dev/null
+++ b/tests-m32/mlock2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlock2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/mlock2.test b/tests-m32/mlock2.test
deleted file mode 100755
index bc412e9..0000000
--- a/tests-m32/mlock2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mlock2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/mlockall.gen.test b/tests-m32/mlockall.gen.test
new file mode 100755
index 0000000..06d8ca4
--- /dev/null
+++ b/tests-m32/mlockall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlockall -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-m32/mlockall.test b/tests-m32/mlockall.test
deleted file mode 100755
index d7a6182..0000000
--- a/tests-m32/mlockall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mlockall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-m32/mmap.c b/tests-m32/mmap.c
index f726f63..0321bf5 100644
--- a/tests-m32/mmap.c
+++ b/tests-m32/mmap.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -89,10 +90,6 @@
 	printf("mremap(%p, %lu, %lu, MREMAP_MAYMOVE|MREMAP_FIXED"
 	       ", %p) = %p\n", addr, length2, length3, addr + length2, p);
 
-	if (madvise(p, length3, MADV_NORMAL))
-		perror_msg_and_fail("madvise");
-	printf("madvise(%p, %lu, MADV_NORMAL) = 0\n", p, length3);
-
 	if (munmap(p, length3))
 		perror_msg_and_fail("munmap");
 	printf("munmap(%p, %lu) = 0\n", p, length3);
diff --git a/tests-m32/mmap.test b/tests-m32/mmap.test
index 0b87114..7ba664e 100755
--- a/tests-m32/mmap.test
+++ b/tests-m32/mmap.test
@@ -4,6 +4,7 @@
 # syscalls decoding.
 #
 # Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -50,9 +51,7 @@
 
 syscall=$mmap,madvise,mlockall,mprotect,mremap,msync,munmap
 
-run_prog "./$NAME" $mmap > /dev/null
+run_prog "../$NAME" $mmap > /dev/null
 run_strace -a20 -e$syscall $args > "$EXP"
 sed -n "/^$mmap(NULL, 0, PROT_NONE,/,\$p" < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/mmap64.gen.test b/tests-m32/mmap64.gen.test
new file mode 100755
index 0000000..5e747b0
--- /dev/null
+++ b/tests-m32/mmap64.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64 +mmap.test); do not edit.
+. "${srcdir=.}/mmap.test"
diff --git a/tests-m32/mmap64.test b/tests-m32/mmap64.test
deleted file mode 100755
index 51f1896..0000000
--- a/tests-m32/mmap64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mmap/mprotect/munmap syscalls decoding.
-# Target executable was compiled with -D_FILE_OFFSET_BITS=64.
-
-. "${srcdir=.}/mmap.test"
diff --git a/tests-m32/mmsg-silent.gen.test b/tests-m32/mmsg-silent.gen.test
new file mode 100755
index 0000000..47863f2
--- /dev/null
+++ b/tests-m32/mmsg-silent.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg-silent -a25 -e verbose=none -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
diff --git a/tests-m32/mmsg-silent.test b/tests-m32/mmsg-silent.test
deleted file mode 100755
index 775e0ad..0000000
--- a/tests-m32/mmsg-silent.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check silent decoding of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
diff --git a/tests-m32/mmsg.gen.test b/tests-m32/mmsg.gen.test
new file mode 100755
index 0000000..4d90e3d
--- /dev/null
+++ b/tests-m32/mmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg
diff --git a/tests-m32/mmsg.test b/tests-m32/mmsg.test
deleted file mode 100755
index a8148ba..0000000
--- a/tests-m32/mmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check how iovecs in struct mmsghdr are decoded.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmmsg,sendmmsg -e read=0 -e write=1
diff --git a/tests-m32/mmsg_name-v.gen.test b/tests-m32/mmsg_name-v.gen.test
new file mode 100755
index 0000000..e34946f
--- /dev/null
+++ b/tests-m32/mmsg_name-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-m32/mmsg_name-v.test b/tests-m32/mmsg_name-v.test
deleted file mode 100755
index ab8dfba..0000000
--- a/tests-m32/mmsg_name-v.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-m32/mmsg_name.gen.test b/tests-m32/mmsg_name.gen.test
new file mode 100755
index 0000000..ac54294
--- /dev/null
+++ b/tests-m32/mmsg_name.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg_name -a25 -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-m32/mmsg_name.test b/tests-m32/mmsg_name.test
deleted file mode 100755
index e18c972..0000000
--- a/tests-m32/mmsg_name.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-m32/mount.gen.test b/tests-m32/mount.gen.test
new file mode 100755
index 0000000..0b124bc
--- /dev/null
+++ b/tests-m32/mount.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/mount.test b/tests-m32/mount.test
deleted file mode 100755
index 40fdca9..0000000
--- a/tests-m32/mount.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mount syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/move_pages.c b/tests-m32/move_pages.c
index f4ccafa..5ec25aa 100644
--- a/tests-m32/move_pages.c
+++ b/tests-m32/move_pages.c
@@ -2,6 +2,7 @@
  * Check decoding of move_pages syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -126,7 +127,7 @@
 			printf("%d", status[i]);
 		} else {
 			errno = -status[i];
-			printf("%s", errno2name());
+			printf("-%s", errno2name());
 		}
 	}
 	printf("]");
@@ -190,9 +191,9 @@
 	const unsigned page_size = get_page_size();
 	const void *const page = tail_alloc(page_size);
 	const void *const efault = page + page_size;
-	const void **pages = tail_alloc(sizeof(*pages));
-	int *nodes = tail_alloc(sizeof(*nodes));
-	int *status = tail_alloc(sizeof(*status));
+	TAIL_ALLOC_OBJECT_VAR_PTR(const void *, pages);
+	TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes);
+	TAIL_ALLOC_OBJECT_VAR_PTR(int, status);
 
 	print_stat_pages(pid, 0, pages, status);
 	print_move_pages(pid, 0, 0, pages, nodes, status);
diff --git a/tests-m32/move_pages.gen.test b/tests-m32/move_pages.gen.test
new file mode 100755
index 0000000..2f060fa
--- /dev/null
+++ b/tests-m32/move_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (move_pages -s3); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3
diff --git a/tests-m32/move_pages.test b/tests-m32/move_pages.test
deleted file mode 100755
index f957717..0000000
--- a/tests-m32/move_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of move_pages syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3
diff --git a/tests-m32/mq.c b/tests-m32/mq.c
index 9c2ffc8..ee2d059 100644
--- a/tests-m32/mq.c
+++ b/tests-m32/mq.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,17 +38,19 @@
 # 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("/" NAME, O_CREAT, 0700, NULL))
+	char *name;
+	if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0)
+		perror_msg_and_fail("asprintf");
+
+	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);
+	printf("mq_open(\"%s\", O_RDONLY|O_CREAT, 0700, NULL) = 0\n", name + 1);
 
 	if (mq_getattr(0, &attr))
 		perror_msg_and_skip("mq_getattr");
@@ -63,9 +66,9 @@
 	       (long long) attr.mq_maxmsg,
 	       (long long) attr.mq_msgsize);
 
-	if (mq_unlink("/" NAME))
+	if (mq_unlink(name))
 		perror_msg_and_skip("mq_unlink");
-	printf("mq_unlink(\"%s\") = 0\n", NAME);
+	printf("mq_unlink(\"%s\") = 0\n", name + 1);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/mq.gen.test b/tests-m32/mq.gen.test
new file mode 100755
index 0000000..8be520d
--- /dev/null
+++ b/tests-m32/mq.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -e trace=mq_getsetattr,mq_open,mq_unlink
diff --git a/tests-m32/mq.test b/tests-m32/mq.test
deleted file mode 100755
index 746b07b..0000000
--- a/tests-m32/mq.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mq_open, mq_getsetattr, and mq_unlink syscalls.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a28 -e trace=mq_getsetattr,mq_open,mq_unlink
diff --git a/tests-m32/mq_sendrecv-read.gen.test b/tests-m32/mq_sendrecv-read.gen.test
new file mode 100755
index 0000000..278e9b7
--- /dev/null
+++ b/tests-m32/mq_sendrecv-read.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv-read -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests-m32/mq_sendrecv-read.test b/tests-m32/mq_sendrecv-read.test
deleted file mode 100755
index eb4ad75..0000000
--- a/tests-m32/mq_sendrecv-read.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/mq_sendrecv-write.gen.test b/tests-m32/mq_sendrecv-write.gen.test
new file mode 100755
index 0000000..5963eb4
--- /dev/null
+++ b/tests-m32/mq_sendrecv-write.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv-write -ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests-m32/mq_sendrecv-write.test b/tests-m32/mq_sendrecv-write.test
deleted file mode 100755
index 38277ec..0000000
--- a/tests-m32/mq_sendrecv-write.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/mq_sendrecv.c b/tests-m32/mq_sendrecv.c
index c151542..e3ad0d5 100644
--- a/tests-m32/mq_sendrecv.c
+++ b/tests-m32/mq_sendrecv.c
@@ -3,6 +3,7 @@
  * mq_unlink syscalls.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,10 +50,6 @@
 
 # include "sigevent.h"
 
-# ifndef MQ_NAME
-#  define MQ_NAME "mq_sendrecv.sample"
-# endif
-
 # ifndef DUMPIO_READ
 #  define DUMPIO_READ 0
 # endif
@@ -61,6 +58,7 @@
 #  define DUMPIO_WRITE 0
 # endif
 
+static char *mq_name;
 
 enum {
 	NUM_ATTRS = 8,
@@ -124,8 +122,8 @@
 {
 	long rc;
 
-	rc = syscall(__NR_mq_unlink, MQ_NAME);
-	printf("mq_unlink(\"" MQ_NAME "\") = %s\n", sprintrc(rc));
+	rc = syscall(__NR_mq_unlink, mq_name);
+	printf("mq_unlink(\"%s\") = %s\n", mq_name, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 }
@@ -147,9 +145,9 @@
 		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));
+		printf(", %u, 42, {tv_sec=%lld, tv_nsec=%llu}) = %s\n", msg_size,
+		       (long long) tmout->tv_sec,
+		       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 		errno = saved_errno;
 
 		if (rc == -1) {
@@ -185,9 +183,9 @@
 			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));
+		printf(", %u, [42], {tv_sec=%lld, tv_nsec=%llu}) = %s\n", MSG_SIZE,
+		       (long long) tmout->tv_sec,
+		       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 		errno = saved_errno;
 
 		if (rc == -1) {
@@ -242,7 +240,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, bogus_prio_ptr);
 	struct timespec *bogus_tmout = tail_memdup(&bogus_tmout_data,
 		sizeof(*bogus_tmout));
 	struct timespec *future_tmout = tail_memdup(&future_tmout_data,
@@ -278,8 +276,8 @@
 	/* 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",
+	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],
@@ -304,12 +302,12 @@
 	/* 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",
+	printf("mq_timedsend(%d, %p, %llu, %u, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %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));
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), sprintrc(rc));
 
 	/* Fully valid message, uncut */
 	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_SIZE - MSG_CUT,
@@ -317,10 +315,10 @@
 	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",
+	printf(", %llu, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
 	       (unsigned long long) MSG_CUT, (unsigned) bogus_prio,
-	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
-	       errstr);
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), errstr);
 
 	/* Partially invalid message, cut at maxstrlen */
 	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_CUT, MSG_SIZE,
@@ -328,10 +326,10 @@
 	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",
+	printf("..., %llu, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
 	       (unsigned long long) MSG_SIZE, (unsigned) bogus_prio,
-	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
-	       errstr);
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), errstr);
 
 
 	/* mq_timedreceive */
@@ -351,11 +349,11 @@
 	/* 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",
+	printf("mq_timedreceive(%d, %p, %llu, %p, {tv_sec=%lld, tv_nsec=%llu}) "
+	       "= %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));
+	       bogus_prio_ptr, (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), sprintrc(rc));
 
 
 	/* mq_notify */
@@ -381,8 +379,8 @@
 	/* 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",
+	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));
@@ -391,8 +389,8 @@
 	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",
+	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));
 
@@ -403,10 +401,10 @@
 	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",
+	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,
@@ -430,12 +428,15 @@
 
 	/* Sending and receiving test */
 
+	if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0)
+		perror_msg_and_fail("asprintf");
+
 # 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,
+	fd = rc = syscall(__NR_mq_open, mq_name,
 		          O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
 	errstr = sprintrc(rc);
 	if (rc < 0)
@@ -448,11 +449,11 @@
 # 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);
+	printf("mq_open(\"%s\", O_RDWR|O_CREAT|O_NONBLOCK, 0700"
+	       ", {mq_flags=%#llx, mq_maxmsg=2, mq_msgsize=%u"
+	       ", mq_curmsgs=%lld}) = %s\n",
+	       mq_name, (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)
diff --git a/tests-m32/mq_sendrecv.gen.test b/tests-m32/mq_sendrecv.gen.test
new file mode 100755
index 0000000..d82576f
--- /dev/null
+++ b/tests-m32/mq_sendrecv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests-m32/mq_sendrecv.test b/tests-m32/mq_sendrecv.test
deleted file mode 100755
index 67f4d63..0000000
--- a/tests-m32/mq_sendrecv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/msg_control-v.gen.test b/tests-m32/msg_control-v.gen.test
new file mode 100755
index 0000000..0a0de15
--- /dev/null
+++ b/tests-m32/msg_control-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_control-v -v -a21 -e trace=sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -a21 -e trace=sendmsg
diff --git a/tests-m32/msg_control-v.test b/tests-m32/msg_control-v.test
deleted file mode 100755
index 41f9842..0000000
--- a/tests-m32/msg_control-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a21 -e trace=sendmsg
diff --git a/tests-m32/msg_control.c b/tests-m32/msg_control.c
index 709a307..1e64f1a 100644
--- a/tests-m32/msg_control.c
+++ b/tests-m32/msg_control.c
@@ -2,6 +2,7 @@
  * Check decoding of struct msghdr ancillary data.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -689,7 +690,7 @@
 	int rc = sendmsg(-1, 0, 0);
 	printf("sendmsg(-1, NULL, 0) = %d %s (%m)\n", rc, errno2name());
 
-	struct msghdr *mh = tail_alloc(sizeof(*mh));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, mh);
 	memset(mh, 0, sizeof(*mh));
 	test_big_len(mh);
 
diff --git a/tests-m32/msg_control.gen.test b/tests-m32/msg_control.gen.test
new file mode 100755
index 0000000..446ebcb
--- /dev/null
+++ b/tests-m32/msg_control.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_control -a21 -e trace=sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21 -e trace=sendmsg
diff --git a/tests-m32/msg_control.test b/tests-m32/msg_control.test
deleted file mode 100755
index 809ec7b..0000000
--- a/tests-m32/msg_control.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21 -e trace=sendmsg
diff --git a/tests-m32/msg_name.c b/tests-m32/msg_name.c
index c2ddda2..9e98e4e 100644
--- a/tests-m32/msg_name.c
+++ b/tests-m32/msg_name.c
@@ -2,6 +2,7 @@
  * Check decoding of struct msghdr.msg_name* arguments of recvmsg syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,13 +48,13 @@
 static void
 test_msg_name(const int send_fd, const int recv_fd)
 {
-	char *const recv_buf = tail_alloc(sizeof(*recv_buf));
-	struct iovec *const iov = tail_alloc(sizeof(*iov));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char, recv_buf);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = recv_buf;
 	iov->iov_len = sizeof(*recv_buf);
 
-	struct sockaddr_un *const addr = tail_alloc(sizeof(*addr));
-	struct msghdr *const msg = tail_alloc(sizeof(*msg));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sockaddr_un, addr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, msg);
 	msg->msg_name = addr;
 	msg->msg_namelen = sizeof(*addr);
 	msg->msg_iov = iov;
diff --git a/tests-m32/msg_name.gen.test b/tests-m32/msg_name.gen.test
new file mode 100755
index 0000000..2d0ae90
--- /dev/null
+++ b/tests-m32/msg_name.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_name -a20 -e trace=recvmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=recvmsg
diff --git a/tests-m32/msg_name.test b/tests-m32/msg_name.test
deleted file mode 100755
index ac06dd5..0000000
--- a/tests-m32/msg_name.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of struct msghdr.msg_name* arguments of recvmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=recvmsg
diff --git a/tests-m32/munlockall.gen.test b/tests-m32/munlockall.gen.test
new file mode 100755
index 0000000..18343cb
--- /dev/null
+++ b/tests-m32/munlockall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (munlockall -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests-m32/munlockall.test b/tests-m32/munlockall.test
deleted file mode 100755
index e25d60a..0000000
--- a/tests-m32/munlockall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check munlockall syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests-m32/nanosleep.c b/tests-m32/nanosleep.c
index 9f0e626..8f9724e 100644
--- a/tests-m32/nanosleep.c
+++ b/tests-m32/nanosleep.c
@@ -1,5 +1,8 @@
 /*
+ * Check decoding of nanosleep syscall.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,40 +60,62 @@
 
 	if (nanosleep(&req.ts, NULL))
 		perror_msg_and_fail("nanosleep");
-	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, NULL) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, NULL) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	assert(nanosleep(NULL, &rem.ts) == -1);
 	printf("nanosleep(NULL, %p) = -1 EFAULT (%m)\n", &rem.ts);
 
 	if (nanosleep(&req.ts, &rem.ts))
 		perror_msg_and_fail("nanosleep");
-	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);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	req.ts.tv_nsec = 1000000000;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	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);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = 0xdeadbeefU;
+	req.ts.tv_nsec = 0xfacefeedU;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	req.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = -1;
+	req.ts.tv_nsec = -1;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(sigprocmask(SIG_SETMASK, &set, NULL) == 0);
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	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,
-	       (intmax_t) itv.it_value.tv_usec);
 
+	req.ts.tv_sec = 0;
 	req.ts.tv_nsec = 999999999;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, {tv_sec=%jd, tv_nsec=%jd})"
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}"
+	       ", {tv_sec=%lld, tv_nsec=%llu})"
 	       " = ? 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);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec),
+	       (long long) rem.ts.tv_sec,
+	       zero_extend_signed_to_ull(rem.ts.tv_nsec));
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-m32/nanosleep.gen.test b/tests-m32/nanosleep.gen.test
new file mode 100755
index 0000000..ea5b19a
--- /dev/null
+++ b/tests-m32/nanosleep.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nanosleep -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-m32/nanosleep.test b/tests-m32/nanosleep.test
deleted file mode 100755
index 055a8dc..0000000
--- a/tests-m32/nanosleep.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check nanosleep and setitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=nanosleep,setitimer
diff --git a/tests-m32/net-icmp_filter.c b/tests-m32/net-icmp_filter.c
index f3f99f1..71e530d 100644
--- a/tests-m32/net-icmp_filter.c
+++ b/tests-m32/net-icmp_filter.c
@@ -2,6 +2,7 @@
  * Check decoding of ICMP_FILTER.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,9 +44,9 @@
 	printf("setsockopt(-1, SOL_RAW, ICMP_FILTER, NULL, 0) = -1 %s (%m)\n",
 	       errno2name());
 
-	socklen_t *const plen = tail_alloc(sizeof(*plen));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, plen);
 	void *const efault = plen + 1;
-	struct icmp_filter *const f = tail_alloc(sizeof(*f));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct icmp_filter, f);
 
 	getsockopt(-1, SOL_RAW, ICMP_FILTER, f, plen);
 	printf("getsockopt(-1, SOL_RAW, ICMP_FILTER, %p, %p) = -1 %s (%m)\n",
diff --git a/tests-m32/net-icmp_filter.gen.test b/tests-m32/net-icmp_filter.gen.test
new file mode 100755
index 0000000..bf6c765
--- /dev/null
+++ b/tests-m32/net-icmp_filter.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-icmp_filter -e trace=getsockopt,setsockopt); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=getsockopt,setsockopt
diff --git a/tests-m32/net-icmp_filter.test b/tests-m32/net-icmp_filter.test
deleted file mode 100755
index c05a5e6..0000000
--- a/tests-m32/net-icmp_filter.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ICMP_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=getsockopt,setsockopt
diff --git a/tests-m32/net-sockaddr.c b/tests-m32/net-sockaddr.c
index bf37779..9dc9ecf 100644
--- a/tests-m32/net-sockaddr.c
+++ b/tests-m32/net-sockaddr.c
@@ -2,6 +2,7 @@
  * Check decoding of sockaddr structures
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +58,7 @@
 static void
 check_un(void)
 {
-	struct sockaddr_un *un = tail_alloc(sizeof(*un));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_un, un);
 	un->sun_family = AF_UNIX;
 	memset(un->sun_path, '0', sizeof(un->sun_path));
 	unsigned int len = sizeof(*un);
@@ -133,7 +134,7 @@
 	const unsigned short h_port = 12345;
 	static const char h_addr[] = "12.34.56.78";
 
-	struct sockaddr_in *in = tail_alloc(sizeof(*in));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_in, in);
 	in->sin_family = AF_INET;
 	in->sin_port = htons(h_port);
 	in->sin_addr.s_addr = inet_addr(h_addr);
@@ -207,7 +208,7 @@
 	const unsigned int h_flowinfo = 1234567890;
 	static const char h_addr[] = "12:34:56:78:90:ab:cd:ef";
 
-	struct sockaddr_in6 *in6 = tail_alloc(sizeof(*in6));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_in6, in6);
 	in6->sin6_family = AF_INET6;
 	in6->sin6_port = htons(h_port);
 	in6->sin6_flowinfo = htonl(h_flowinfo);
@@ -298,7 +299,7 @@
 static void
 check_nl(void)
 {
-	struct sockaddr_nl *nl = tail_alloc(sizeof(*nl));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_nl, nl);
 	nl->nl_family = AF_NETLINK;
 	nl->nl_pid = 1234567890;
 	nl->nl_groups = 0xfacefeed;
@@ -390,7 +391,7 @@
 check_hci(void)
 {
 	const unsigned short h_port = 12345;
-	struct sockaddr_hci *hci = tail_alloc(sizeof(*hci));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_hci, hci);
 	hci->hci_family = AF_BLUETOOTH;
 	hci->hci_dev = htobs(h_port);
 	hci->hci_channel = HCI_CHANNEL_RAW;
diff --git a/tests-m32/net-sockaddr.gen.test b/tests-m32/net-sockaddr.gen.test
new file mode 100755
index 0000000..53c8335
--- /dev/null
+++ b/tests-m32/net-sockaddr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-sockaddr -a24 -e trace=connect); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -e trace=connect
diff --git a/tests-m32/net-sockaddr.test b/tests-m32/net-sockaddr.test
deleted file mode 100755
index cdfe536..0000000
--- a/tests-m32/net-sockaddr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sockaddr structures.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=connect
diff --git a/tests-m32/net-y-unix.c b/tests-m32/net-y-unix.c
index 3efc2f6..df56ad6 100644
--- a/tests-m32/net-y-unix.c
+++ b/tests-m32/net-y-unix.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-y-unix strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,19 +38,21 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-int
-main(int ac, const char **av)
-{
-	assert(ac == 2);
+#define TEST_SOCKET "net-y-unix.socket"
 
-	struct sockaddr_un addr = { .sun_family = AF_UNIX };
-	unsigned int sun_path_len = strlen(av[1]);
-	assert(sun_path_len > 0 && sun_path_len <= sizeof(addr.sun_path));
-	strncpy(addr.sun_path, av[1], sizeof(addr.sun_path));
+int
+main(void)
+{
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const struct sockaddr_un addr = {
+		.sun_family = AF_UNIX,
+		.sun_path = TEST_SOCKET
+	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
 
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
-	*len = offsetof(struct sockaddr_un, sun_path) + strlen(av[1]) + 1;
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
+	*len = offsetof(struct sockaddr_un, sun_path) + strlen(TEST_SOCKET) + 1;
 	if (*len > sizeof(addr))
 		*len = sizeof(addr);
 
@@ -61,17 +63,18 @@
 	printf("socket(AF_UNIX, SOCK_STREAM, 0) = %d<socket:[%lu]>\n",
 	       listen_fd, listen_inode);
 
-	(void) unlink(av[1]);
+	(void) unlink(TEST_SOCKET);
 	if (bind(listen_fd, listen_sa, *len))
 		perror_msg_and_skip("bind");
 	printf("bind(%d<socket:[%lu]>, {sa_family=AF_UNIX, sun_path=\"%s\"}"
-	       ", %u) = 0\n", listen_fd, listen_inode, av[1], (unsigned) *len);
+	       ", %u) = 0\n",
+	       listen_fd, listen_inode, TEST_SOCKET, (unsigned) *len);
 
 	if (listen(listen_fd, 1))
 		perror_msg_and_skip("listen");
 	printf("listen(%d<socket:[%lu]>, 1) = 0\n", listen_fd, listen_inode);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_SOCKET, SO_PASSCRED, optval, len))
 		perror_msg_and_fail("getsockopt");
@@ -85,7 +88,7 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	int connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -98,7 +101,7 @@
 		perror_msg_and_fail("connect");
 	printf("connect(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
 	memset(accept_sa, 0, sizeof(addr));
@@ -119,7 +122,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", connect_fd, connect_inode,
-	       av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	char text[] = "text";
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
@@ -163,14 +166,14 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
-	       listen_fd, listen_inode, av[1],
+	       listen_fd, listen_inode, TEST_SOCKET,
 	       (int) sizeof(addr), (int) *len);
 
 	if (connect(connect_fd, listen_sa, *len))
 		perror_msg_and_fail("connect");
 	printf("connect(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -192,7 +195,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
-	       connect_fd, connect_inode, av[1],
+	       connect_fd, connect_inode, TEST_SOCKET,
 	       (int) sizeof(addr), (int) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
@@ -224,7 +227,7 @@
 	assert(close(accept_fd) == 0);
 	printf("close(%d<socket:[%lu]>) = 0\n", accept_fd, accept_inode);
 
-	assert(unlink(av[1]) == 0);
+	assert(unlink(TEST_SOCKET) == 0);
 
 	assert(close(listen_fd) == 0);
 	printf("close(%d<socket:[%lu]>) = 0\n",
diff --git a/tests-m32/net-y-unix.test b/tests-m32/net-y-unix.test
index aec8159..fd3fd68 100755
--- a/tests-m32/net-y-unix.test
+++ b/tests-m32/net-y-unix.test
@@ -2,7 +2,7 @@
 #
 # Check decoding of network syscalls in -y mode.
 #
-# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,18 +29,11 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -y is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
 
-addr="$NAME-local-stream"
-run_prog "./$NAME" $addr > /dev/null
-
+run_prog > /dev/null
 run_strace -a20 -y -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/net-yy-inet.c b/tests-m32/net-yy-inet.c
index f76f941..af1262e 100644
--- a/tests-m32/net-yy-inet.c
+++ b/tests-m32/net-yy-inet.c
@@ -2,6 +2,7 @@
  * This file is part of net-yy-inet strace test.
  *
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,12 +42,14 @@
 int
 main(void)
 {
+	skip_if_unavailable("/proc/self/fd/");
+
 	const struct sockaddr_in addr = {
 		.sin_family = AF_INET,
 		.sin_addr.s_addr = htonl(INADDR_LOOPBACK)
 	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
 	*len = sizeof(addr);
 
 	const int listen_fd = socket(AF_INET, SOCK_STREAM, 0);
@@ -77,7 +80,7 @@
 	       ", [%u]) = 0\n",
 	       listen_fd, listen_port, listen_port, (unsigned) *len);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_TCP, TCP_MAXSEG, optval, len))
 		perror_msg_and_fail("getsockopt");
diff --git a/tests-m32/net-yy-inet.test b/tests-m32/net-yy-inet.test
index 2ebf91f..6b527db 100755
--- a/tests-m32/net-yy-inet.test
+++ b/tests-m32/net-yy-inet.test
@@ -3,6 +3,7 @@
 # Check decoding of ip:port pairs associated with socket descriptors
 #
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,18 +30,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_inet_diag
 
-run_prog "./$NAME" > /dev/null
-
+run_prog ../netlink_inet_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/net-yy-netlink.c b/tests-m32/net-yy-netlink.c
index 64d0efc..6539eda 100644
--- a/tests-m32/net-yy-netlink.c
+++ b/tests-m32/net-yy-netlink.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-yy-netlink strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
  * All rights reserved.
  *
@@ -47,13 +47,14 @@
 int
 main(void)
 {
-	unsigned magic = 1234;
+	skip_if_unavailable("/proc/self/fd/");
+
 	struct sockaddr_nl addr = {
 		.nl_family = AF_NETLINK,
-		.nl_pid = 1234
+		.nl_pid = getpid()
 	};
 	struct sockaddr *const sa = tail_memdup(&addr, sizeof(addr));
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
 	*len = sizeof(addr);
 
 	const int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);
@@ -67,17 +68,17 @@
 		perror_msg_and_skip("bind");
 	printf("bind(%d<NETLINK:[%lu]>, {sa_family=AF_NETLINK"
 	       ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n",
-	       fd, inode, magic, (unsigned) *len);
+	       fd, inode, addr.nl_pid, (unsigned) *len);
 
 	if (getsockname(fd, sa, len))
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<NETLINK:[SOCK_DIAG:%u]>, {sa_family=AF_NETLINK"
 	       ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n",
-	       fd, magic, magic, (unsigned) *len);
+	       fd, addr.nl_pid, addr.nl_pid, (unsigned) *len);
 
 	if (close(fd))
 		perror_msg_and_fail("close");
-	printf("close(%d<NETLINK:[SOCK_DIAG:%u]>) = 0\n", fd, magic);
+	printf("close(%d<NETLINK:[SOCK_DIAG:%u]>) = 0\n", fd, addr.nl_pid);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/net-yy-netlink.test b/tests-m32/net-yy-netlink.test
index bff1d86..3a07e45 100755
--- a/tests-m32/net-yy-netlink.test
+++ b/tests-m32/net-yy-netlink.test
@@ -6,6 +6,7 @@
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
 # Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -32,18 +33,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_netlink_diag
 
-run_prog "./$NAME" > /dev/null
-
+run_prog ../netlink_netlink_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/net-yy-unix.c b/tests-m32/net-yy-unix.c
index 63637bd..f27cdc0 100644
--- a/tests-m32/net-yy-unix.c
+++ b/tests-m32/net-yy-unix.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-yy-unix strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,19 +38,21 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-int
-main(int ac, const char **av)
-{
-	assert(ac == 2);
+#define TEST_SOCKET "net-yy-unix.socket"
 
-	struct sockaddr_un addr = { .sun_family = AF_UNIX };
-	unsigned int sun_path_len = strlen(av[1]);
-	assert(sun_path_len > 0 && sun_path_len <= sizeof(addr.sun_path));
-	strncpy(addr.sun_path, av[1], sizeof(addr.sun_path));
+int
+main(void)
+{
+	skip_if_unavailable("/proc/self/fd/");
+
+	struct sockaddr_un addr = {
+		.sun_family = AF_UNIX,
+		.sun_path = TEST_SOCKET
+	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
 
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
-	*len = offsetof(struct sockaddr_un, sun_path) + strlen(av[1]) + 1;
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
+	*len = offsetof(struct sockaddr_un, sun_path) + strlen(TEST_SOCKET) + 1;
 	if (*len > sizeof(addr))
 		*len = sizeof(addr);
 
@@ -61,24 +63,25 @@
 	printf("socket(AF_UNIX, SOCK_STREAM, 0) = %d<UNIX:[%lu]>\n",
 	       listen_fd, listen_inode);
 
-	(void) unlink(av[1]);
+	(void) unlink(TEST_SOCKET);
 	if (bind(listen_fd, listen_sa, *len))
 		perror_msg_and_skip("bind");
 	printf("bind(%d<UNIX:[%lu]>, {sa_family=AF_UNIX, sun_path=\"%s\"}"
-	       ", %u) = 0\n", listen_fd, listen_inode, av[1], (unsigned) *len);
+	       ", %u) = 0\n",
+	       listen_fd, listen_inode, TEST_SOCKET, (unsigned) *len);
 
 	if (listen(listen_fd, 1))
 		perror_msg_and_skip("listen");
 	printf("listen(%d<UNIX:[%lu,\"%s\"]>, 1) = 0\n",
-	       listen_fd, listen_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_SOCKET, SO_PASSCRED, optval, len))
 		perror_msg_and_fail("getsockopt");
 	printf("getsockopt(%d<UNIX:[%lu,\"%s\"]>, SOL_SOCKET, SO_PASSCRED"
 	       ", [%u], [%u]) = 0\n",
-	       listen_fd, listen_inode, av[1], *optval, (unsigned) *len);
+	       listen_fd, listen_inode, TEST_SOCKET, *optval, (unsigned) *len);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -86,7 +89,7 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	int connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -99,7 +102,7 @@
 		perror_msg_and_fail("connect");
 	printf("connect(%d<UNIX:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
 	memset(accept_sa, 0, sizeof(addr));
@@ -110,8 +113,9 @@
 	unsigned long accept_inode = inode_of_sockfd(accept_fd);
 	printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX}"
 	       ", [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
-	       listen_fd, listen_inode, av[1], (int) sizeof(addr), (int) *len,
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET,
+	       (int) sizeof(addr), (int) *len,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -120,7 +124,7 @@
 	printf("getpeername(%d<UNIX:[%lu->%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
 	       connect_fd, connect_inode,
-	       accept_inode, av[1], (int) sizeof(addr), (int) *len);
+	       accept_inode, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	char text[] = "text";
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
@@ -134,7 +138,7 @@
 	       == sizeof(text) - 1);
 	printf("recvfrom(%d<UNIX:[%lu->%lu,\"%s\"]>, \"%s\", %u, MSG_DONTWAIT"
 	       ", NULL, NULL) = %u\n",
-	       accept_fd, accept_inode, connect_inode, av[1], text,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET, text,
 	       (unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
 
 	assert(close(connect_fd) == 0);
@@ -143,7 +147,7 @@
 
 	assert(close(accept_fd) == 0);
 	printf("close(%d<UNIX:[%lu->%lu,\"%s\"]>) = 0\n",
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -166,13 +170,13 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	if (connect(connect_fd, listen_sa, *len))
 		perror_msg_and_fail("connect");
 	printf("connect(%d<UNIX:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -184,9 +188,9 @@
 		((struct sockaddr_un *) accept_sa) -> sun_path + 1;
 	printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=@\"%s\"}, [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
-	       listen_fd, listen_inode, av[1], sun_path1,
+	       listen_fd, listen_inode, TEST_SOCKET, sun_path1,
 	       (int) sizeof(addr), (int) *len,
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -194,7 +198,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<UNIX:[%lu->%lu,@\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", connect_fd, connect_inode,
-	       accept_inode, sun_path1, av[1], (int) sizeof(addr), (int) *len);
+	       accept_inode, sun_path1, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
 	       == sizeof(text) - 1);
@@ -207,7 +211,7 @@
 	       == sizeof(text) - 1);
 	printf("recvfrom(%d<UNIX:[%lu->%lu,\"%s\"]>, \"%s\", %u, MSG_DONTWAIT"
 	       ", NULL, NULL) = %u\n",
-	       accept_fd, accept_inode, connect_inode, av[1], text,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET, text,
 	       (unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
 
 	assert(close(connect_fd) == 0);
@@ -216,13 +220,13 @@
 
 	assert(close(accept_fd) == 0);
 	printf("close(%d<UNIX:[%lu->%lu,\"%s\"]>) = 0\n",
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
-	assert(unlink(av[1]) == 0);
+	assert(unlink(TEST_SOCKET) == 0);
 
 	assert(close(listen_fd) == 0);
 	printf("close(%d<UNIX:[%lu,\"%s\"]>) = 0\n",
-	       listen_fd, listen_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/net-yy-unix.test b/tests-m32/net-yy-unix.test
index b82761c..59323a4 100755
--- a/tests-m32/net-yy-unix.test
+++ b/tests-m32/net-yy-unix.test
@@ -4,7 +4,7 @@
 # associated with unix domain socket descriptors.
 #
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
-# Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -31,19 +31,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_unix_diag
 
-addr="$NAME-local-stream"
-run_prog "./$NAME" $addr > /dev/null
-
+run_prog ../netlink_unix_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/net.test b/tests-m32/net.test
index cf943ff..8320707 100755
--- a/tests-m32/net.test
+++ b/tests-m32/net.test
@@ -4,8 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./net-accept-connect net-local-stream
-run_strace_merge -enetwork $args
+run_prog ../net-accept-connect net-local-stream
+run_strace_merge -e%network $args
 match_grep
 
 exit 0
diff --git a/tests-m32/netlink_protocol.c b/tests-m32/netlink_protocol.c
index 34e114b..35f954f 100644
--- a/tests-m32/netlink_protocol.c
+++ b/tests-m32/netlink_protocol.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of netlink protocol.
  *
- * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
  * All rights reserved.
  *
@@ -199,6 +199,121 @@
 	printf(", ...], %u, MSG_DONTWAIT, NULL, 0) = %s\n", msg_len, errstr);
 }
 
+static void
+test_nlmsgerr(const int fd)
+{
+	struct nlmsgerr *err;
+	struct nlmsghdr *nlh;
+	void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+	long rc;
+
+	/* error message without enough room for the error code */
+	nlh = nlh0;
+	nlh->nlmsg_len = NLMSG_HDRLEN + 4;
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, %p}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	nlh->nlmsg_len = NLMSG_HDRLEN + 2;
+	nlh = nlh0 - 2;
+	memmove(nlh, nlh0, sizeof(*nlh));
+	memcpy(NLMSG_DATA(nlh), "42", 2);
+
+	rc = sendto(fd, nlh, NLMSG_HDRLEN + 2, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, \"42\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, NLMSG_HDRLEN + 2, NLMSG_HDRLEN + 2, sprintrc(rc));
+
+	/* error message with room for the error code only */
+	nlh = nlh0 - sizeof(err->error);
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(err->error);
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = 42;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=42}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n", fd, nlh->nlmsg_len, nlh->nlmsg_len, sprintrc(rc));
+
+	err->error = -1;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EPERM}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n", fd, nlh->nlmsg_len, nlh->nlmsg_len, sprintrc(rc));
+
+	err->error = -32767;
+	nlh->nlmsg_len += sizeof(err->msg.nlmsg_len);
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-32767, msg=%p}}"
+	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	/* error message with room for the error code and a header */
+	nlh = nlh0 - sizeof(*err);
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(*err);
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = -13;
+	err->msg.nlmsg_len = NLMSG_HDRLEN;
+	err->msg.nlmsg_type = NLMSG_NOOP;
+	err->msg.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST;
+	err->msg.nlmsg_seq = 42;
+	err->msg.nlmsg_pid = 1234;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EACCES"
+	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+	       ", seq=%u, pid=%u}}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
+	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	/* error message with room for the error code, a header, and some data */
+	nlh = nlh0 - sizeof(*err) - 4;
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(*err) + 4;
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = -13;
+	err->msg.nlmsg_len = NLMSG_HDRLEN + 4;
+	err->msg.nlmsg_type = NLMSG_NOOP;
+	err->msg.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST;
+	err->msg.nlmsg_seq = 421;
+	err->msg.nlmsg_pid = 12345;
+	memcpy(NLMSG_DATA(&err->msg), "abcd", 4);
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EACCES"
+	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+	       ", seq=%u, pid=%u}, \"abcd\"}}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n",
+	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
+	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
+	       nlh->nlmsg_len, sprintrc(rc));
+}
+
 int main(void)
 {
 	struct sockaddr_nl addr;
@@ -227,6 +342,7 @@
 	free(path);
 
 	send_query(fd);
+	test_nlmsgerr(fd);
 
 	printf("+++ exited with 0 +++\n");
 
diff --git a/tests-m32/netlink_protocol.gen.test b/tests-m32/netlink_protocol.gen.test
new file mode 100755
index 0000000..9a132fa
--- /dev/null
+++ b/tests-m32/netlink_protocol.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=%network); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=%network
diff --git a/tests-m32/netlink_protocol.test b/tests-m32/netlink_protocol.test
deleted file mode 100755
index ab2bb1e..0000000
--- a/tests-m32/netlink_protocol.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# Check decoding of netlink protocol.
-
-. "${srcdir=.}/init.sh"
-
-# getfdproto is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-    framework_skip_ '/proc/self/fd/ is not available'
-
-run_strace_match_diff -e trace=network
diff --git a/tests-m32/newfstatat.gen.test b/tests-m32/newfstatat.gen.test
new file mode 100755
index 0000000..40ec797
--- /dev/null
+++ b/tests-m32/newfstatat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (newfstatat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/newfstatat.test b/tests-m32/newfstatat.test
deleted file mode 100755
index 6d83ec0..0000000
--- a/tests-m32/newfstatat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check newfstatat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/nsyscalls.c b/tests-m32/nsyscalls.c
index aecf7aa..7fda5ba 100644
--- a/tests-m32/nsyscalls.c
+++ b/tests-m32/nsyscalls.c
@@ -2,6 +2,7 @@
  * Check decoding of out-of-range syscalls.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,6 +42,13 @@
 #define TP 0
 #define TS 0
 #define TM 0
+#define TST 0
+#define TLST 0
+#define TFST 0
+#define TSTA 0
+#define TSF 0
+#define TFSF 0
+#define TSFA 0
 #define NF 0
 #define MA 0
 #define SI 0
diff --git a/tests-m32/old_mmap.gen.test b/tests-m32/old_mmap.gen.test
new file mode 100755
index 0000000..1913eec
--- /dev/null
+++ b/tests-m32/old_mmap.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap -a11 -e trace=mmap); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=mmap
diff --git a/tests-m32/old_mmap.test b/tests-m32/old_mmap.test
deleted file mode 100755
index af776ff..0000000
--- a/tests-m32/old_mmap.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of "old mmap" edition of mmap syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=mmap
diff --git a/tests-m32/oldfstat.c b/tests-m32/oldfstat.c
index f5a9441..353614c 100644
--- a/tests-m32/oldfstat.c
+++ b/tests-m32/oldfstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/oldfstat.gen.test b/tests-m32/oldfstat.gen.test
new file mode 100755
index 0000000..2b48b39
--- /dev/null
+++ b/tests-m32/oldfstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldfstat -a18 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18 -v -P stat.sample
diff --git a/tests-m32/oldfstat.test b/tests-m32/oldfstat.test
deleted file mode 100755
index 66a1056..0000000
--- a/tests-m32/oldfstat.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/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-m32/oldlstat.c b/tests-m32/oldlstat.c
index 6613237..6f07531 100644
--- a/tests-m32/oldlstat.c
+++ b/tests-m32/oldlstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/oldlstat.gen.test b/tests-m32/oldlstat.gen.test
new file mode 100755
index 0000000..3202b92
--- /dev/null
+++ b/tests-m32/oldlstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldlstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/oldlstat.test b/tests-m32/oldlstat.test
deleted file mode 100755
index a0f9ab9..0000000
--- a/tests-m32/oldlstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check oldlstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/oldstat.c b/tests-m32/oldstat.c
index d06e2bc..ddacd24 100644
--- a/tests-m32/oldstat.c
+++ b/tests-m32/oldstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/oldstat.gen.test b/tests-m32/oldstat.gen.test
new file mode 100755
index 0000000..f265ac5
--- /dev/null
+++ b/tests-m32/oldstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/oldstat.test b/tests-m32/oldstat.test
deleted file mode 100755
index 42d70f7..0000000
--- a/tests-m32/oldstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check oldstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/open.gen.test b/tests-m32/open.gen.test
new file mode 100755
index 0000000..eb931a3
--- /dev/null
+++ b/tests-m32/open.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (open -a30 -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -P $NAME.sample
diff --git a/tests-m32/open.test b/tests-m32/open.test
deleted file mode 100755
index 6df19cb..0000000
--- a/tests-m32/open.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -P $NAME.sample
diff --git a/tests-m32/openat.gen.test b/tests-m32/openat.gen.test
new file mode 100755
index 0000000..fe29e1c
--- /dev/null
+++ b/tests-m32/openat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (openat -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -P $NAME.sample
diff --git a/tests-m32/openat.test b/tests-m32/openat.test
deleted file mode 100755
index 68c4cee..0000000
--- a/tests-m32/openat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check openat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -P $NAME.sample
diff --git a/tests-m32/opipe.test b/tests-m32/opipe.test
index 90e6838..f622045 100755
--- a/tests-m32/opipe.test
+++ b/tests-m32/opipe.test
@@ -6,11 +6,9 @@
 
 check_prog grep
 run_prog grep chdir $srcdir/umovestr.expected > "$EXP"
-run_prog ./umovestr
+run_prog ../umovestr
 
-> "$LOG" || fail_ "failed to write $LOG"
 $STRACE -o "|cat > $LOG && $SLEEP_A_BIT && grep chdir < $LOG > $OUT" -e chdir $args ||
 	dump_log_and_fail_with "$STRACE $args failed"
 
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/options-syntax.test b/tests-m32/options-syntax.test
index 592b0e0..4c778b3 100755
--- a/tests-m32/options-syntax.test
+++ b/tests-m32/options-syntax.test
@@ -3,6 +3,7 @@
 # Check strace options syntax.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -39,6 +40,16 @@
 			"strace $* failed to print expected diagnostics"
 }
 
+check_exit_status_and_stderr_using_grep()
+{
+	$STRACE "$@" 2> "$LOG" &&
+		dump_log_and_fail_with \
+			"strace $* failed to handle the error properly"
+	match_grep "$LOG" "$EXP" ||
+		dump_log_and_fail_with \
+			"strace $* failed to print expected diagnostics"
+}
+
 strace_exp="${STRACE##* }"
 
 check_e()
@@ -50,6 +61,15 @@
 	check_exit_status_and_stderr "$@"
 }
 
+check_e_using_grep()
+{
+	local pattern="$1"; shift
+	cat > "$EXP" << __EOF__
+$strace_exp: $pattern
+__EOF__
+	check_exit_status_and_stderr_using_grep "$@"
+}
+
 check_h()
 {
 	local pattern="$1"; shift
@@ -72,6 +92,7 @@
 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 '/non_syscall'" -e trace=/non_syscall
 check_e "invalid system call '2147483647'" -e 2147483647
 check_e "invalid system call '2147483648'" -e 2147483648
 check_e "invalid system call '4294967295'" -e 4294967295
@@ -88,6 +109,12 @@
 check_e "invalid descriptor '!'" -eread='0,!'
 check_e "invalid descriptor '!,'" -ewrite='!,'
 
+check_e_using_grep 'regcomp: \+id: [[:alpha:]].+' -e trace='/+id'
+check_e_using_grep 'regcomp: \*id: [[:alpha:]].+' -e trace='/*id'
+check_e_using_grep 'regcomp: \{id: [[:alpha:]].+' -e trace='/{id'
+check_e_using_grep 'regcomp: \(id: [[:alpha:]].+' -e trace='/(id'
+check_e_using_grep 'regcomp: \[id: [[:alpha:]].+' -e trace='/[id'
+
 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
@@ -144,5 +171,3 @@
 [ -z "$args" ] ||
 	dump_log_and_fail_with \
 		"strace $args failed to print expected diagnostics"
-
-rm -f "$EXP"
diff --git a/tests-m32/osf_utimes.c b/tests-m32/osf_utimes.c
new file mode 100644
index 0000000..7ac083e
--- /dev/null
+++ b/tests-m32/osf_utimes.c
@@ -0,0 +1,45 @@
+/*
+ * Check decoding of osf_utimes syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_osf_utimes
+
+# define TEST_SYSCALL_NR	__NR_osf_utimes
+# define TEST_SYSCALL_STR	"osf_utimes"
+# define TEST_STRUCT		struct timeval32
+struct timeval32 { int tv_sec, tv_usec; };
+# include "xutimes.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_osf_utimes")
+
+#endif
diff --git a/tests-m32/osf_utimes.gen.test b/tests-m32/osf_utimes.gen.test
new file mode 100755
index 0000000..b6be305
--- /dev/null
+++ b/tests-m32/osf_utimes.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (osf_utimes -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-m32/pause.gen.test b/tests-m32/pause.gen.test
new file mode 100755
index 0000000..76492b6
--- /dev/null
+++ b/tests-m32/pause.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pause -a8 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8 -esignal=none
diff --git a/tests-m32/pause.test b/tests-m32/pause.test
deleted file mode 100755
index c5fdacd..0000000
--- a/tests-m32/pause.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pause syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8 -esignal=none
diff --git a/tests-m32/pc.test b/tests-m32/pc.test
index beadb7d..af09701 100755
--- a/tests-m32/pc.test
+++ b/tests-m32/pc.test
@@ -3,6 +3,7 @@
 # Check -i option.
 #
 # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -47,15 +48,11 @@
 [ -n "$addr" ] ||
 	dump_log_and_fail_with
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
+cat > "$EXP" << __EOF__
 \\[[[:xdigit:]]{$len}\\] munmap\\(0x[[:xdigit:]]+, 0\\) += -1 .*
 \\[pid +$pid\\] \\[$ip\\] --- SIGSEGV \\{si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x$addr\\} ---
 \\[pid +$pid\\] \\[\\?{$len}\\] \\+\\+\\+ killed by SIGSEGV( \\(core dumped\\))? \\+\\+\\+
 \\[\\?{$len}\\] \\+\\+\\+ exited with 0 \\+\\+\\+
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-
-exit 0
+match_grep "$LOG" "$EXP"
diff --git a/tests-m32/perf_event_open.c b/tests-m32/perf_event_open.c
index 0ffea29..3f544a6 100644
--- a/tests-m32/perf_event_open.c
+++ b/tests-m32/perf_event_open.c
@@ -2,6 +2,7 @@
  * Check verbose decoding of perf_event_open syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -681,7 +682,7 @@
 		ATTR_REC(attr_big_size),
 	};
 
-	struct perf_event_attr *small_attr = tail_alloc(sizeof(*small_attr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, small_attr);
 
 	struct {
 		struct perf_event_attr *attr;
diff --git a/tests-m32/perf_event_open.gen.test b/tests-m32/perf_event_open.gen.test
new file mode 100755
index 0000000..85336c3
--- /dev/null
+++ b/tests-m32/perf_event_open.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open -a1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1
diff --git a/tests-m32/perf_event_open.test b/tests-m32/perf_event_open.test
deleted file mode 100755
index 499134b..0000000
--- a/tests-m32/perf_event_open.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check perf_event_open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a1
diff --git a/tests-m32/perf_event_open_nonverbose.c b/tests-m32/perf_event_open_nonverbose.c
index 45d7c8f..b67715c 100644
--- a/tests-m32/perf_event_open_nonverbose.c
+++ b/tests-m32/perf_event_open_nonverbose.c
@@ -2,6 +2,7 @@
  * Check decoding of perf_event_open syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,7 +63,7 @@
 int
 main(void)
 {
-	struct perf_event_attr *attr = tail_alloc(sizeof(*attr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, attr);
 
 	attr->type = PERF_TYPE_HARDWARE;
 	attr->size = sizeof(*attr);
diff --git a/tests-m32/perf_event_open_nonverbose.gen.test b/tests-m32/perf_event_open_nonverbose.gen.test
new file mode 100755
index 0000000..f1ed333
--- /dev/null
+++ b/tests-m32/perf_event_open_nonverbose.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open_nonverbose -a34 -e verbose=none -e trace=perf_event_open); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34 -e verbose=none -e trace=perf_event_open
diff --git a/tests-m32/perf_event_open_nonverbose.test b/tests-m32/perf_event_open_nonverbose.test
deleted file mode 100755
index 404827f..0000000
--- a/tests-m32/perf_event_open_nonverbose.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/perf_event_open_unabbrev.gen.test b/tests-m32/perf_event_open_unabbrev.gen.test
new file mode 100755
index 0000000..1d9bd85
--- /dev/null
+++ b/tests-m32/perf_event_open_unabbrev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open_unabbrev -a1 -v -e trace=perf_event_open); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1 -v -e trace=perf_event_open
diff --git a/tests-m32/perf_event_open_unabbrev.test b/tests-m32/perf_event_open_unabbrev.test
deleted file mode 100755
index f17fd17..0000000
--- a/tests-m32/perf_event_open_unabbrev.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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-m32/personality.test b/tests-m32/personality.test
index 8f8c0ad..ab2faf4 100755
--- a/tests-m32/personality.test
+++ b/tests-m32/personality.test
@@ -5,8 +5,5 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -a20 -epersonality $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace -a20 -epersonality $args > "$EXP"
+match_grep "$LOG" "$EXP"
diff --git a/tests-m32/pipe.c b/tests-m32/pipe.c
index 41c7f21..3df2094 100644
--- a/tests-m32/pipe.c
+++ b/tests-m32/pipe.c
@@ -2,6 +2,7 @@
  * Check decoding of pipe syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/pipe2.c b/tests-m32/pipe2.c
index 375ae74..3a0e046 100644
--- a/tests-m32/pipe2.c
+++ b/tests-m32/pipe2.c
@@ -39,18 +39,16 @@
 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);
+	rc = syscall(__NR_pipe2, fds, F8ILL_KULONG_MASK | 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);
+	rc = syscall(__NR_pipe2, efault, F8ILL_KULONG_MASK);
 	printf("pipe2(%p, 0) = %s\n", efault, sprintrc(rc));
 
 	if (F8ILL_KULONG_SUPPORTED) {
diff --git a/tests-m32/pipe2.gen.test b/tests-m32/pipe2.gen.test
new file mode 100755
index 0000000..5a06c03
--- /dev/null
+++ b/tests-m32/pipe2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pipe2 -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-m32/pipe2.test b/tests-m32/pipe2.test
deleted file mode 100755
index aff6cd4..0000000
--- a/tests-m32/pipe2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pipe2 syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a15
diff --git a/tests-m32/pkey_alloc.gen.test b/tests-m32/pkey_alloc.gen.test
new file mode 100755
index 0000000..b3e5869
--- /dev/null
+++ b/tests-m32/pkey_alloc.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_alloc -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-m32/pkey_alloc.test b/tests-m32/pkey_alloc.test
deleted file mode 100755
index f168c21..0000000
--- a/tests-m32/pkey_alloc.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_alloc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-m32/pkey_free.gen.test b/tests-m32/pkey_free.gen.test
new file mode 100755
index 0000000..588d1aa
--- /dev/null
+++ b/tests-m32/pkey_free.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_free -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests-m32/pkey_free.test b/tests-m32/pkey_free.test
deleted file mode 100755
index 9c01c3e..0000000
--- a/tests-m32/pkey_free.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_free syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests-m32/pkey_mprotect.gen.test b/tests-m32/pkey_mprotect.gen.test
new file mode 100755
index 0000000..14be231
--- /dev/null
+++ b/tests-m32/pkey_mprotect.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_mprotect -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests-m32/pkey_mprotect.test b/tests-m32/pkey_mprotect.test
deleted file mode 100755
index 922d491..0000000
--- a/tests-m32/pkey_mprotect.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_mprotect syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests-m32/poll.test b/tests-m32/poll.test
index b74be29..d09193d 100755
--- a/tests-m32/poll.test
+++ b/tests-m32/poll.test
@@ -5,13 +5,11 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -a16 -vepoll $args > "$OUT"
-match_diff "$LOG" "$OUT"
+run_strace -a16 -vepoll $args > "$EXP"
+match_diff "$LOG" "$EXP"
 
 for abbrev in 0 1 2 3 4 5; do
-	run_prog "./$NAME" $abbrev > /dev/null
-	run_strace -a16 -epoll -s$abbrev $args > "$OUT"
-	match_diff "$LOG" "$OUT"
+	run_prog "../$NAME" $abbrev > /dev/null
+	run_strace -a16 -epoll -s$abbrev $args > "$EXP"
+	match_diff "$LOG" "$EXP"
 done
-
-rm -f "$OUT"
diff --git a/tests-m32/ppoll-v.c b/tests-m32/ppoll-v.c
new file mode 100644
index 0000000..cf4fdea
--- /dev/null
+++ b/tests-m32/ppoll-v.c
@@ -0,0 +1,3 @@
+/* This file is part of ppoll-v strace test. */
+#define VERBOSE 1
+#include "ppoll.c"
diff --git a/tests-m32/ppoll-v.expected b/tests-m32/ppoll-v.expected
deleted file mode 100644
index 31070ad..0000000
--- a/tests-m32/ppoll-v.expected
+++ /dev/null
@@ -1,3 +0,0 @@
-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-m32/ppoll-v.gen.test b/tests-m32/ppoll-v.gen.test
new file mode 100755
index 0000000..cd1fcc6
--- /dev/null
+++ b/tests-m32/ppoll-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ppoll-v -v -s2 -e trace=ppoll); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -s2 -e trace=ppoll
diff --git a/tests-m32/ppoll.c b/tests-m32/ppoll.c
index 46d7e81..85a7e0c 100644
--- a/tests-m32/ppoll.c
+++ b/tests-m32/ppoll.c
@@ -1,5 +1,7 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of ppoll syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,69 +28,165 @@
  */
 
 #include "tests.h"
-#include <assert.h>
-#include <poll.h>
-#include <signal.h>
-#include <unistd.h>
+#include <asm/unistd.h>
 
-static void
-test1(void)
+#ifdef __NR_ppoll
+
+# include <errno.h>
+# include <poll.h>
+# include <signal.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+sys_ppoll(const kernel_ulong_t ufds,
+	  const kernel_ulong_t nfds,
+	  const kernel_ulong_t tsp,
+	  const kernel_ulong_t sigmask,
+	  const kernel_ulong_t sigsetsize)
 {
-	const struct timespec timeout = { .tv_sec = 42, .tv_nsec = 999999999 };
-	struct pollfd fds[] = {
-		{ .fd = 0, .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
-		{ .fd = 1, .events = POLLOUT | POLLWRNORM | POLLWRBAND },
-		{ .fd = 3, .events = POLLIN | POLLPRI },
-		{ .fd = 4, .events = POLLOUT }
-	};
-
-	sigset_t mask;
-	sigemptyset(&mask);
-	sigaddset(&mask, SIGUSR2);
-	sigaddset(&mask, SIGCHLD);
-
-	int rc = ppoll(fds, sizeof(fds) / sizeof(*fds), &timeout, &mask);
-	if (rc < 0)
-		perror_msg_and_skip("ppoll");
-	assert(rc == 2);
-}
-
-static void
-test2(void)
-{
-	const struct timespec timeout = { .tv_sec = 0, .tv_nsec = 999 };
-	struct pollfd fds[] = {
-		{ .fd = 1, .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
-		{ .fd = 0, .events = POLLOUT | POLLWRNORM | POLLWRBAND }
-	};
-
-	sigset_t mask;
-	sigfillset(&mask);
-	sigdelset(&mask, SIGHUP);
-	sigdelset(&mask, SIGKILL);
-	sigdelset(&mask, SIGSTOP);
-
-	int rc = ppoll(fds, sizeof(fds) / sizeof(*fds), &timeout, &mask);
-	if (rc < 0)
-		perror_msg_and_skip("ppoll");
-	assert(rc == 0);
+	long rc = syscall(__NR_ppoll, ufds, nfds, tsp, sigmask, sigsetsize);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 int
 main(void)
 {
-	int fds[2];
+	static const kernel_ulong_t bogus_nfds =
+		(kernel_ulong_t) 0xdeadbeeffacefeedULL;
+	static const kernel_ulong_t bogus_sigsetsize =
+		(kernel_ulong_t) 0xdeadbeefbadc0dedULL;
+	static const char *const POLLWRNORM_str =
+		(POLLWRNORM == POLLOUT) ? "" : "|POLLWRNORM";
+	static const char *const USR2_CHLD_str =
+		(SIGUSR2 < SIGCHLD) ? "USR2 CHLD" : "CHLD USR2";
+	void *const efault = tail_alloc(1024) + 1024;
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
+	const unsigned int sigset_size = get_sigset_size();
+	void *const sigmask = tail_alloc(sigset_size);
+	struct pollfd *fds;
+	sigset_t mask;
+	int pipe_fd[4];
+	long rc;
 
-	(void) close(0);
-	(void) close(1);
-	(void) close(3);
-	(void) close(4);
-	if (pipe(fds) || pipe(fds))
+	sys_ppoll(0, bogus_nfds, 0, 0, bogus_sigsetsize);
+	if (ENOSYS == errno)
+		perror_msg_and_skip("ppoll");
+	printf("ppoll(NULL, %u, NULL, NULL, %llu) = %s\n",
+	       (unsigned) bogus_nfds, (unsigned long long) bogus_sigsetsize,
+	       errstr);
+
+	sys_ppoll((unsigned long) efault, 42, (unsigned long) efault + 8,
+		  (unsigned long) efault + 16, sigset_size);
+	printf("ppoll(%p, %u, %p, %p, %u) = %s\n",
+	       efault, 42, efault + 8, efault + 16, sigset_size, errstr);
+
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	sys_ppoll(0, 0, (unsigned long) ts, 0, sigset_size);
+	printf("ppoll(NULL, 0, {tv_sec=%lld, tv_nsec=%llu}, NULL, %u) = %s\n",
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+	       sigset_size, errstr);
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedL;
+	sys_ppoll(0, 0, (unsigned long) ts, 0, sigset_size);
+	printf("ppoll(NULL, 0, {tv_sec=%lld, tv_nsec=%llu}, NULL, %u) = %s\n",
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+	       sigset_size, errstr);
+
+	if (pipe(pipe_fd) || pipe(pipe_fd + 2))
 		perror_msg_and_fail("pipe");
 
-	test1();
-	test2();
+	ts->tv_sec = 42;
+	ts->tv_nsec = 999999999;
 
-	assert(ppoll(NULL, 42, NULL, NULL) < 0);
+	const struct pollfd fds1[] = {
+		{ .fd = pipe_fd[0], .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
+		{ .fd = pipe_fd[1], .events = POLLOUT | POLLWRNORM | POLLWRBAND },
+		{ .fd = pipe_fd[2], .events = POLLIN | POLLPRI },
+		{ .fd = pipe_fd[3], .events = POLLOUT }
+	};
+	fds = efault - sizeof(fds1);
+	memcpy(fds, fds1, sizeof(fds1));
+
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGUSR2);
+	sigaddset(&mask, SIGCHLD);
+	memcpy(sigmask, &mask, sigset_size);
+
+	rc = sys_ppoll((unsigned long) fds,
+		       F8ILL_KULONG_MASK | ARRAY_SIZE(fds1), (unsigned long) ts,
+		       (unsigned long) sigmask, sigset_size);
+	if (rc != 2)
+		perror_msg_and_fail("ppoll 1");
+	printf("ppoll([{fd=%d, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}"
+	       ", {fd=%d, events=POLLOUT%s|POLLWRBAND}"
+#if VERBOSE
+	       ", {fd=%d, events=POLLIN|POLLPRI}, {fd=%d, events=POLLOUT}]"
+#else
+	       ", ...]"
+#endif
+	       ", %u, {tv_sec=42, tv_nsec=999999999}, [%s], %u) = %ld"
+	       " ([{fd=%d, revents=POLLOUT%s}, {fd=%d, revents=POLLOUT}]"
+	       ", left {tv_sec=%u, tv_nsec=%u})\n",
+	       pipe_fd[0], pipe_fd[1], POLLWRNORM_str,
+#if VERBOSE
+	       pipe_fd[2], pipe_fd[3],
+#endif
+	       (unsigned) ARRAY_SIZE(fds1), USR2_CHLD_str,
+	       (unsigned) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
+	       pipe_fd[3], (unsigned ) ts->tv_sec, (unsigned) ts->tv_nsec);
+
+	ts->tv_sec = 0;
+	ts->tv_nsec = 999;
+	const struct pollfd fds2[] = {
+		{ .fd = pipe_fd[1], .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
+		{ .fd = pipe_fd[0], .events = POLLOUT | POLLWRNORM | POLLWRBAND }
+	};
+	fds = efault - sizeof(fds2);
+	memcpy(fds, fds2, sizeof(fds2));
+
+	memset(&mask, -1, sizeof(mask));
+	sigdelset(&mask, SIGHUP);
+	sigdelset(&mask, SIGKILL);
+	sigdelset(&mask, SIGSTOP);
+	memcpy(sigmask, &mask, sigset_size);
+
+	rc = sys_ppoll((unsigned long) fds,
+		       F8ILL_KULONG_MASK | ARRAY_SIZE(fds2), (unsigned long) ts,
+		       (unsigned long) sigmask, sigset_size);
+	if (rc != 0)
+		perror_msg_and_fail("ppoll 2");
+	printf("ppoll([{fd=%d, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}"
+	       ", {fd=%d, events=POLLOUT%s|POLLWRBAND}], %u"
+	       ", {tv_sec=0, tv_nsec=999}, ~[HUP KILL STOP], %u)"
+	       " = %ld (Timeout)\n",
+	       pipe_fd[1], pipe_fd[0], POLLWRNORM_str,
+	       (unsigned) ARRAY_SIZE(fds2), sigset_size, rc);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		sys_ppoll(f8ill_ptr_to_kulong(fds), ARRAY_SIZE(fds2),
+			  f8ill_ptr_to_kulong(ts), f8ill_ptr_to_kulong(sigmask),
+			  sigset_size);
+		printf("ppoll(%#llx, %u, %#llx, %#llx, %u) = %s\n",
+		       (unsigned long long) f8ill_ptr_to_kulong(fds),
+		       (unsigned) ARRAY_SIZE(fds2),
+		       (unsigned long long) f8ill_ptr_to_kulong(ts),
+		       (unsigned long long) f8ill_ptr_to_kulong(sigmask),
+		       (unsigned) sigset_size, errstr);
+	}
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_ppoll")
+
+#endif
diff --git a/tests-m32/ppoll.expected b/tests-m32/ppoll.expected
deleted file mode 100644
index c38a206..0000000
--- a/tests-m32/ppoll.expected
+++ /dev/null
@@ -1,3 +0,0 @@
-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-m32/ppoll.gen.test b/tests-m32/ppoll.gen.test
new file mode 100755
index 0000000..4c07598
--- /dev/null
+++ b/tests-m32/ppoll.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ppoll -s2); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2
diff --git a/tests-m32/ppoll.test b/tests-m32/ppoll.test
deleted file mode 100755
index 98389ee..0000000
--- a/tests-m32/ppoll.test
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# Check ppoll syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog
-run_strace -a30 -s2 -e ppoll $args
-match_grep
-run_strace -a30 -v -s2 -e ppoll $args
-match_grep "$LOG" "$srcdir/$NAME-v.expected"
-
-exit 0
diff --git a/tests-m32/prctl-arg2-intptr.c b/tests-m32/prctl-arg2-intptr.c
index ee000eb..9cc3308 100644
--- a/tests-m32/prctl-arg2-intptr.c
+++ b/tests-m32/prctl-arg2-intptr.c
@@ -4,6 +4,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,7 +71,7 @@
 		{ 11, "PR_GET_FPEXC" },
 	};
 
-	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, ptr);
 	long rc;
 	unsigned int i;
 
diff --git a/tests-m32/prctl-arg2-intptr.test b/tests-m32/prctl-arg2-intptr.test
index bcef806..4f9e3a1 100755
--- a/tests-m32/prctl-arg2-intptr.test
+++ b/tests-m32/prctl-arg2-intptr.test
@@ -10,5 +10,3 @@
 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-m32/prctl-dumpable.test b/tests-m32/prctl-dumpable.test
index 08acb8b..05f1310 100755
--- a/tests-m32/prctl-dumpable.test
+++ b/tests-m32/prctl-dumpable.test
@@ -8,5 +8,3 @@
 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-m32/prctl-name.test b/tests-m32/prctl-name.test
index 071179c..95d34b6 100755
--- a/tests-m32/prctl-name.test
+++ b/tests-m32/prctl-name.test
@@ -8,5 +8,3 @@
 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-m32/prctl-no-args.c b/tests-m32/prctl-no-args.c
index 57e1b73..496cd1a 100644
--- a/tests-m32/prctl-no-args.c
+++ b/tests-m32/prctl-no-args.c
@@ -4,6 +4,7 @@
  * PR_TASK_PERF_EVENTS_DISABLE, and PR_TASK_PERF_EVENTS_ENABLE.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +58,7 @@
 		{ 32, "PR_TASK_PERF_EVENTS_ENABLE" },
 	};
 
-	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, ptr);
 	unsigned int i;
 
 	for (i = 0; i < ARRAY_SIZE(options); i++) {
diff --git a/tests-m32/prctl-no-args.test b/tests-m32/prctl-no-args.test
index ce8ca67..8ff300b 100755
--- a/tests-m32/prctl-no-args.test
+++ b/tests-m32/prctl-no-args.test
@@ -10,5 +10,3 @@
 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-m32/prctl-pdeathsig.c b/tests-m32/prctl-pdeathsig.c
index c176030..ef56374 100644
--- a/tests-m32/prctl-pdeathsig.c
+++ b/tests-m32/prctl-pdeathsig.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@foxmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 	static const kernel_ulong_t bogus_signal =
 		(kernel_ulong_t) 0xbadc0deddeadfeedULL;
 
-	int *pdeathsig = tail_alloc(sizeof(*pdeathsig));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, pdeathsig);
 	long rc;
 
 	rc = syscall(__NR_prctl, PR_SET_PDEATHSIG, bogus_signal);
diff --git a/tests-m32/prctl-pdeathsig.test b/tests-m32/prctl-pdeathsig.test
index 2777503..b6e0140 100755
--- a/tests-m32/prctl-pdeathsig.test
+++ b/tests-m32/prctl-pdeathsig.test
@@ -9,5 +9,3 @@
 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-m32/prctl-seccomp-filter-v.test b/tests-m32/prctl-seccomp-filter-v.test
index 44e4a78..3663ad8 100755
--- a/tests-m32/prctl-seccomp-filter-v.test
+++ b/tests-m32/prctl-seccomp-filter-v.test
@@ -9,5 +9,3 @@
 run_strace -v -eprctl $args > "$EXP"
 grep -v '^prctl(PR_GET_' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/prctl-seccomp-strict.test b/tests-m32/prctl-seccomp-strict.test
index 1f987df..bee85b8 100755
--- a/tests-m32/prctl-seccomp-strict.test
+++ b/tests-m32/prctl-seccomp-strict.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 check_prog grep
-set -- "./$NAME"
+set -- "../$NAME"
 "$@" > /dev/null || {
 	case $? in
 		77) skip_ "$* exited with code 77" ;;
@@ -16,4 +16,3 @@
 run_strace -eprctl "$@" > "$EXP"
 grep -v '^prctl(PR_GET_' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-m32/prctl-securebits.test b/tests-m32/prctl-securebits.test
index c91e62a..32b0f2a 100755
--- a/tests-m32/prctl-securebits.test
+++ b/tests-m32/prctl-securebits.test
@@ -8,5 +8,3 @@
 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-m32/prctl-tid_address.c b/tests-m32/prctl-tid_address.c
index 24e4503..609e549 100644
--- a/tests-m32/prctl-tid_address.c
+++ b/tests-m32/prctl-tid_address.c
@@ -2,6 +2,7 @@
  * Check decoding of prctl PR_GET_TID_ADDRESS operation.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,7 +60,7 @@
 		(kernel_ulong_t) 0xfffffffffffffffdULL;
 
 	/* Note that kernel puts kernel-sized pointer even on x32 */
-	kernel_ulong_t *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, ptr);
 	long rc;
 	long set_ok;
 
diff --git a/tests-m32/prctl-tid_address.test b/tests-m32/prctl-tid_address.test
index dc7b7c3..62a39e5 100755
--- a/tests-m32/prctl-tid_address.test
+++ b/tests-m32/prctl-tid_address.test
@@ -8,5 +8,3 @@
 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-m32/prctl-tsc.c b/tests-m32/prctl-tsc.c
index fd9362d..0ddb380 100644
--- a/tests-m32/prctl-tsc.c
+++ b/tests-m32/prctl-tsc.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@foxmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,7 +44,7 @@
 	static const kernel_ulong_t bogus_tsc =
 		(kernel_ulong_t) 0xdeadc0defacebeefULL;
 
-	int *tsc = tail_alloc(sizeof(*tsc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, tsc);
 	long rc;
 
 	rc = syscall(__NR_prctl, PR_SET_TSC, 0);
diff --git a/tests-m32/prctl-tsc.test b/tests-m32/prctl-tsc.test
index a906ba8..439d9d5 100755
--- a/tests-m32/prctl-tsc.test
+++ b/tests-m32/prctl-tsc.test
@@ -9,5 +9,3 @@
 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-m32/pread64-pwrite64.c b/tests-m32/pread64-pwrite64.c
index 4a0932a..e9d7a64 100644
--- a/tests-m32/pread64-pwrite64.c
+++ b/tests-m32/pread64-pwrite64.c
@@ -2,6 +2,7 @@
  * Check decoding of pread64 and pwrite64 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -123,7 +124,9 @@
 {
 	tprintf("%s", "");
 
-	static char tmp[] = "pread64-pwrite64-tmpfile";
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const char tmp[] = "pread64-pwrite64-tmpfile";
 	if (open(tmp, O_CREAT|O_RDONLY|O_TRUNC, 0600) != 0)
 		perror_msg_and_fail("creat: %s", tmp);
 	if (open(tmp, O_WRONLY) != 1)
diff --git a/tests-m32/pread64-pwrite64.gen.test b/tests-m32/pread64-pwrite64.gen.test
new file mode 100755
index 0000000..b53e069
--- /dev/null
+++ b/tests-m32/pread64-pwrite64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pread64-pwrite64 -a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests-m32/pread64-pwrite64.test b/tests-m32/pread64-pwrite64.test
deleted file mode 100755
index e585406..0000000
--- a/tests-m32/pread64-pwrite64.test
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of pread64 and pwrite64 syscalls.
-
-. "${srcdir=.}/init.sh"
-
-# strace -P is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
-tmpfile=pread64-pwrite64-tmpfile
-> $tmpfile
-
-run_strace_match_diff \
-	-a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 \
-	-P $tmpfile -P /dev/zero -P /dev/null
-
-rm -f $tmpfile
diff --git a/tests-m32/preadv-pwritev.gen.test b/tests-m32/preadv-pwritev.gen.test
new file mode 100755
index 0000000..5ed8297
--- /dev/null
+++ b/tests-m32/preadv-pwritev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv-pwritev -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
diff --git a/tests-m32/preadv-pwritev.test b/tests-m32/preadv-pwritev.test
deleted file mode 100755
index cb2a077..0000000
--- a/tests-m32/preadv-pwritev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of preadv and pwritev syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
diff --git a/tests-m32/preadv.c b/tests-m32/preadv.c
index fb5d3ad..a55909b 100644
--- a/tests-m32/preadv.c
+++ b/tests-m32/preadv.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,7 +67,7 @@
 {
 	const off_t offset = 0xdefaceddeadbeefLL;
 	char *buf = tail_alloc(LEN);
-	struct iovec *iov = tail_alloc(sizeof(*iov));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = buf;
 	iov->iov_len = LEN;
 
diff --git a/tests-m32/preadv.gen.test b/tests-m32/preadv.gen.test
new file mode 100755
index 0000000..8fb7b54
--- /dev/null
+++ b/tests-m32/preadv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-m32/preadv.test b/tests-m32/preadv.test
deleted file mode 100755
index d1abdb7..0000000
--- a/tests-m32/preadv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check preadv syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-m32/preadv2-pwritev2.c b/tests-m32/preadv2-pwritev2.c
index f7c46c0..e31e046 100644
--- a/tests-m32/preadv2-pwritev2.c
+++ b/tests-m32/preadv2-pwritev2.c
@@ -2,6 +2,7 @@
  * Check decoding of preadv2 and pwritev2 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -181,26 +182,45 @@
 main(void)
 {
 	const kernel_ulong_t vlen = (kernel_ulong_t) 0xfac1fed2dad3bef4ULL;
-	const unsigned long long pos = 0xfac5fed6dad7bef8;
+	const unsigned long long pos = 0x7ac5fed6dad7bef8;
 	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;
+	long rc;
+	int test_dumpio;
 
 	tprintf("%s", "");
 
-	syscall(__NR_preadv2, -1, NULL, vlen, pos_l, pos_h, 1);
-	if (ENOSYS == errno)
-		test_dumpio = 0;
-	tprintf("preadv2(-1, NULL, %lu, %lld, RWF_HIPRI) = -1 %s (%m)\n",
-		(unsigned long) vlen, pos, errno2name());
+#if defined __x86_64__ && defined __ILP32__
+	/*
+	 * x32 is the only architecture where preadv2 takes 5 arguments,
+	 * see preadv64v2 in kernel sources.
+	 */
+	rc = syscall(__NR_preadv2, -1, NULL, vlen, pos_l, 1);
+#else
+	const kernel_ulong_t pos_h =
+		(sizeof(pos_l) == sizeof(pos)) ?
+		(kernel_ulong_t) 0xbadc0deddeadbeefULL :
+		(kernel_ulong_t) (pos >> 32);
+	rc = syscall(__NR_preadv2, -1, NULL, vlen, pos_l, pos_h, 1);
+#endif
+	if (rc != -1 || (ENOSYS != errno && EBADF != errno))
+		perror_msg_and_fail("preadv2");
+	test_dumpio = EBADF == errno;
+	tprintf("preadv2(-1, NULL, %lu, %lld, RWF_HIPRI) = %s\n",
+		(unsigned long) vlen, pos, sprintrc(rc));
 
-	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",
-		(unsigned long) vlen, pos, errno2name());
+#if defined __x86_64__ && defined __ILP32__
+	/*
+	 * x32 is the only architecture where pwritev2 takes 5 arguments,
+	 * see pwritev64v2 in kernel sources.
+	 */
+	rc = syscall(__NR_pwritev2, -1, NULL, vlen, pos_l, 1);
+#else
+	rc = syscall(__NR_pwritev2, -1, NULL, vlen, pos_l, pos_h, 1);
+#endif
+	if (rc != -1 || (ENOSYS != errno && EBADF != errno))
+		perror_msg_and_fail("pwritev2");
+	tprintf("pwritev2(-1, NULL, %lu, %lld, RWF_HIPRI) = %s\n",
+		(unsigned long) vlen, pos, sprintrc(rc));
 
 	if (test_dumpio)
 		dumpio();
diff --git a/tests-m32/preadv2-pwritev2.gen.test b/tests-m32/preadv2-pwritev2.gen.test
new file mode 100755
index 0000000..2f89b41
--- /dev/null
+++ b/tests-m32/preadv2-pwritev2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv2-pwritev2 -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
diff --git a/tests-m32/preadv2-pwritev2.test b/tests-m32/preadv2-pwritev2.test
deleted file mode 100755
index 5641ef4..0000000
--- a/tests-m32/preadv2-pwritev2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of preadv2 and pwritev2 syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
diff --git a/tests-m32/print_time.c b/tests-m32/print_time.c
new file mode 100644
index 0000000..4292329
--- /dev/null
+++ b/tests-m32/print_time.c
@@ -0,0 +1,75 @@
+/*
+ * Print time_t and nanoseconds in symbolic format.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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>
+
+static void
+print_time_t_ex(const time_t t, const unsigned long long part_sec,
+		const unsigned int max_part_sec, const int width,
+		const int comment)
+{
+
+	if ((!t && !part_sec) || part_sec > max_part_sec)
+		return;
+
+	const struct tm *const p = localtime(&t);
+	char buf[256];
+	if (!p || !strftime(buf, sizeof(buf), "%FT%T", p))
+		return;
+
+	if (comment)
+		fputs(" /* ", stdout);
+
+	fputs(buf, stdout);
+
+	if (part_sec)
+		printf(".%0*llu", width, part_sec);
+
+	if (strftime(buf, sizeof(buf), "%z", p))
+		fputs(buf, stdout);
+
+	if (comment)
+		fputs(" */", stdout);
+
+	return;
+}
+
+void
+print_time_t_nsec(const time_t t, const unsigned long long nsec, int comment)
+{
+	print_time_t_ex(t, nsec, 999999999, 9, comment);
+}
+
+void
+print_time_t_usec(const time_t t, const unsigned long long usec, int comment)
+{
+	print_time_t_ex(t, usec, 999999, 6, comment);
+}
diff --git a/tests-m32/printstr.gen.test b/tests-m32/printstr.gen.test
new file mode 100755
index 0000000..c3bd93a
--- /dev/null
+++ b/tests-m32/printstr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (printstr -e trace=writev); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=writev
diff --git a/tests-m32/printstr.test b/tests-m32/printstr.test
deleted file mode 100755
index 5f164eb..0000000
--- a/tests-m32/printstr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-m32/prlimit64.gen.test b/tests-m32/prlimit64.gen.test
new file mode 100755
index 0000000..11964a5
--- /dev/null
+++ b/tests-m32/prlimit64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (prlimit64 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/prlimit64.test b/tests-m32/prlimit64.test
deleted file mode 100755
index 2d2240d..0000000
--- a/tests-m32/prlimit64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of prlimit64 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/process_vm_readv.gen.test b/tests-m32/process_vm_readv.gen.test
new file mode 100755
index 0000000..3142588
--- /dev/null
+++ b/tests-m32/process_vm_readv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (process_vm_readv -s5 -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a37
diff --git a/tests-m32/process_vm_readv.test b/tests-m32/process_vm_readv.test
deleted file mode 100755
index c092f5a..0000000
--- a/tests-m32/process_vm_readv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of process_vm_readv syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s5 -a37
diff --git a/tests-m32/process_vm_writev.gen.test b/tests-m32/process_vm_writev.gen.test
new file mode 100755
index 0000000..0b912c0
--- /dev/null
+++ b/tests-m32/process_vm_writev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (process_vm_writev -s5 -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a38
diff --git a/tests-m32/process_vm_writev.test b/tests-m32/process_vm_writev.test
deleted file mode 100755
index f690e6a..0000000
--- a/tests-m32/process_vm_writev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of process_vm_writev syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s5 -a38
diff --git a/tests-m32/pselect6.c b/tests-m32/pselect6.c
index f264485..f5939f3 100644
--- a/tests-m32/pselect6.c
+++ b/tests-m32/pselect6.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -95,13 +96,13 @@
 	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, "
-	       "{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],
-	       (long long) tm.ts.tv_sec, (long long) tm.ts.tv_nsec);
+	printf("pselect6(%d, NULL, [1 2 %d %d], NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, NULL) = 3 (out [1 2 %d]"
+	       ", left {tv_sec=%lld, tv_nsec=%llu})\n",
+	       fds[1] + 1, fds[0], fds[1], (long long) tm_in.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm_in.ts.tv_nsec),
+	       fds[1], (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec));
 
 	/*
 	 * Now the crash case that trinity found, negative nfds
@@ -122,21 +123,40 @@
 	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, {tv_sec=0, tv_nsec=123}, "
-	       "{[HUP CHLD], %u}) = 0 (Timeout)\n",
+	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.
 	 */
+	tm.ts.tv_sec = 0xdeadbeefU;
+	tm.ts.tv_nsec = 0xfacefeedU;
+	assert(pselect(0, NULL, NULL, NULL, &tm.ts, NULL) == -1);
+	printf("pselect6(0, NULL, NULL, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {NULL, %u}) = %s\n",
+	       (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec),
+	       NSIG_BYTES, sprintrc(-1));
+
+	tm.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tm.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(pselect(0, NULL, NULL, NULL, &tm.ts, NULL) == -1);
+	printf("pselect6(0, NULL, NULL, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {NULL, %u}) = %s\n",
+	       (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec),
+	       NSIG_BYTES, sprintrc(-1));
+
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(setitimer(ITIMER_REAL, &itv, NULL) == 0);
 
+	tm.ts.tv_sec = 0;
 	tm.ts.tv_nsec = 222222222;
 	assert(pselect(0, NULL, NULL, NULL, &tm.ts, &mask) == -1);
-	printf("pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=222222222}, "
-	       "{[HUP CHLD], %u}) = "
-	       "? ERESTARTNOHAND (To be restarted if no handler)\n",
+	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} ---");
 
diff --git a/tests-m32/pselect6.gen.test b/tests-m32/pselect6.gen.test
new file mode 100755
index 0000000..c89e705
--- /dev/null
+++ b/tests-m32/pselect6.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pselect6 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/pselect6.test b/tests-m32/pselect6.test
deleted file mode 100755
index 203f8e2..0000000
--- a/tests-m32/pselect6.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check pselect6 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/ptrace.c b/tests-m32/ptrace.c
index 80ce8cb..9e0ffdc 100644
--- a/tests-m32/ptrace.c
+++ b/tests-m32/ptrace.c
@@ -2,6 +2,7 @@
  * Check decoding of ptrace syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -30,16 +31,14 @@
 #include "tests.h"
 #include <asm/unistd.h>
 
-#ifdef __NR_rt_sigprocmask
-
-# include <errno.h>
-# include <signal.h>
-# include <stdio.h>
-# include <string.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include "ptrace.h"
-# include <linux/audit.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include "ptrace.h"
+#include <linux/audit.h>
 
 static const char *errstr;
 
@@ -178,46 +177,38 @@
 	const unsigned long pid =
 		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
 
-	unsigned int sigset_size;
-
-	for (sigset_size = 1024 / 8; sigset_size; sigset_size >>= 1) {
-		if (!syscall(__NR_rt_sigprocmask,
-			     SIG_SETMASK, NULL, NULL, sigset_size))
-			break;
-	}
-	if (!sigset_size)
-		perror_msg_and_fail("rt_sigprocmask");
+	const unsigned int sigset_size = get_sigset_size();
 
 	void *const k_set = tail_alloc(sigset_size);
-	siginfo_t *const sip = tail_alloc(sizeof(*sip));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, sip);
 
 	do_ptrace(bad_request, pid, 0, 0);
 	printf("ptrace(%#lx /* PTRACE_??? */, %u, NULL, NULL) = %s\n",
 	       bad_request, (unsigned) pid, errstr);
 
 	do_ptrace(PTRACE_PEEKDATA, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKDATA, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKDATA, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
 
 	do_ptrace(PTRACE_PEEKTEXT, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKTEXT, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKTEXT, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
 
 	do_ptrace(PTRACE_PEEKUSER, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKUSER, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKUSER, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
@@ -446,10 +437,3 @@
 	puts("+++ exited with 0 +++");
 	return 0;
 }
-
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_rt_sigprocmask")
-
-#endif
diff --git a/tests-m32/ptrace.gen.test b/tests-m32/ptrace.gen.test
new file mode 100755
index 0000000..4b93250
--- /dev/null
+++ b/tests-m32/ptrace.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ptrace -a23 -e signal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e signal=none
diff --git a/tests-m32/ptrace.test b/tests-m32/ptrace.test
deleted file mode 100755
index 5add9be..0000000
--- a/tests-m32/ptrace.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ptrace syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e signal=none
diff --git a/tests-m32/pure_executables.list b/tests-m32/pure_executables.list
new file mode 100755
index 0000000..cc65614
--- /dev/null
+++ b/tests-m32/pure_executables.list
@@ -0,0 +1,330 @@
+# executables without side effects
+_newselect
+accept
+accept4
+access
+acct
+add_key
+adjtimex
+aio
+alarm
+bpf
+brk
+btrfs
+caps
+chmod
+chown
+chown32
+chroot
+clock_adjtime
+clock_nanosleep
+clock_xettime
+copy_file_range
+creat
+delete_module
+dup
+dup2
+dup3
+epoll_create
+epoll_create1
+epoll_ctl
+epoll_pwait
+epoll_wait
+erestartsys
+eventfd
+execve
+execveat
+faccessat
+fadvise64
+fadvise64_64
+fallocate
+fanotify_init
+fanotify_mark
+fchdir
+fchmod
+fchmodat
+fchown
+fchown32
+fchownat
+fcntl
+fcntl64
+fdatasync
+file_handle
+file_ioctl
+finit_module
+flock
+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
+getpid
+getppid
+getrandom
+getresgid
+getresgid32
+getresuid
+getresuid32
+getrlimit
+getrusage
+getsid
+getsockname
+getuid
+getuid32
+getxxid
+inet-cmsg
+init_module
+inotify
+inotify_init1
+ioctl
+ioctl_block
+ioctl_dm
+ioctl_evdev
+ioctl_loop
+ioctl_mtd
+ioctl_rtc
+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
+lchown
+lchown32
+link
+linkat
+llseek
+lookup_dcookie
+lseek
+lstat
+lstat64
+madvise
+mbind
+membarrier
+memfd_create
+migrate_pages
+mincore
+mkdir
+mkdirat
+mknod
+mknodat
+mlock
+mlock2
+mlockall
+mmap
+mmap64
+mmsg
+mmsg_name
+mount
+move_pages
+mq
+mq_sendrecv
+mq_sendrecv-read
+mq_sendrecv-write
+msg_control
+msg_name
+munlockall
+nanosleep
+net-icmp_filter
+net-sockaddr
+net-y-unix
+net-yy-inet
+net-yy-netlink
+net-yy-unix
+netlink_protocol
+newfstatat
+old_mmap
+oldfstat
+oldlstat
+oldselect
+oldstat
+open
+openat
+osf_utimes
+pause
+perf_event_open
+personality
+pipe
+pipe2
+pkey_alloc
+pkey_free
+pkey_mprotect
+poll
+ppoll
+prctl-arg2-intptr
+prctl-dumpable
+prctl-name
+prctl-no-args
+prctl-pdeathsig
+prctl-securebits
+prctl-tid_address
+prctl-tsc
+pread64-pwrite64
+preadv
+preadv-pwritev
+preadv2-pwritev2
+printstr
+prlimit64
+process_vm_readv
+process_vm_writev
+pselect6
+ptrace
+pwritev
+quotactl
+quotactl-xfs
+read-write
+readahead
+readdir
+readlink
+readlinkat
+readv
+reboot
+recvfrom
+recvmmsg-timeout
+recvmsg
+remap_file_pages
+rename
+renameat
+renameat2
+request_key
+rmdir
+rt_sigpending
+rt_sigprocmask
+rt_sigqueueinfo
+rt_sigreturn
+rt_sigsuspend
+rt_sigtimedwait
+rt_tgsigqueueinfo
+sched_get_priority_mxx
+sched_rr_get_interval
+sched_xetaffinity
+sched_xetattr
+sched_xetparam
+sched_xetscheduler
+sched_yield
+seccomp-filter
+select
+semop
+sendfile
+sendfile64
+set_mempolicy
+setdomainname
+setfsgid
+setfsgid32
+setfsuid
+setfsuid32
+setgid
+setgid32
+setgroups
+setgroups32
+sethostname
+setns
+setregid
+setregid32
+setresgid
+setresgid32
+setresuid
+setresuid32
+setreuid
+setreuid32
+setrlimit
+setuid
+setuid32
+shmxt
+shutdown
+sigaction
+sigaltstack
+siginfo
+signalfd4
+sigreturn
+sigsuspend
+socketcall
+splice
+stat
+stat64
+statfs
+statfs64
+statx
+swap
+sxetmask
+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
+umoven-illptr
+umovestr
+umovestr-illptr
+umovestr2
+umovestr3
+uname
+unlink
+unlinkat
+unshare
+userfaultfd
+ustat
+utime
+utimensat
+utimes
+vhangup
+vmsplice
+wait4
+waitid
+waitpid
+xattr
+xattr-strings
+xet_robust_list
+xetitimer
+xetpgid
+xetpriority
+xettimeofday
diff --git a/tests-m32/pwritev.gen.test b/tests-m32/pwritev.gen.test
new file mode 100755
index 0000000..e54fd15
--- /dev/null
+++ b/tests-m32/pwritev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pwritev -a22 -s7); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -s7
diff --git a/tests-m32/pwritev.test b/tests-m32/pwritev.test
deleted file mode 100755
index 0aed683..0000000
--- a/tests-m32/pwritev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check pwritev syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -s7
diff --git a/tests-m32/qual_fault-exit_group.test b/tests-m32/qual_fault-exit_group.test
index c98ffc6..34a2da5 100755
--- a/tests-m32/qual_fault-exit_group.test
+++ b/tests-m32/qual_fault-exit_group.test
@@ -3,6 +3,7 @@
 # Check decoding of fault injected exit_group syscall.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -41,13 +42,13 @@
 	match_diff
 }
 
-test_with -eexit,exit_group -efault=exit_group:error=ENOSYS ./answer
+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
+	  -efault=\!process:error=1 ../answer
 
 test_with -eexit,exit_group -efault=all:error=ENOSYS \
-	  -efault=exit:error=1:when=2+ ./answer
+	  -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
+	  -efault=\!%desc,%file,%memory,%process,%signal,%network,%ipc:error=1 ../answer
diff --git a/tests-m32/qual_fault-syntax.test b/tests-m32/qual_fault-syntax.test
index 85093fc..0cce539 100755
--- a/tests-m32/qual_fault-syntax.test
+++ b/tests-m32/qual_fault-syntax.test
@@ -2,7 +2,7 @@
 #
 # Check -e fault= syntax.
 #
-# Copyright (c) 2016=2017 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/qual_fault.c b/tests-m32/qual_fault.c
index d26dc7c..ab692cb 100644
--- a/tests-m32/qual_fault.c
+++ b/tests-m32/qual_fault.c
@@ -2,6 +2,7 @@
  * Check that fault injection works properly.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/qual_fault.test b/tests-m32/qual_fault.test
index e194a78..f8e57d2 100755
--- a/tests-m32/qual_fault.test
+++ b/tests-m32/qual_fault.test
@@ -3,6 +3,7 @@
 # Check that fault injection works properly.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -76,12 +77,11 @@
 
 	run_strace -a11 -e trace=$trace \
 		"$@" -e fault=$fault$when$error $extra \
-		./$NAME $raw "$err" "$first" "$step" $N \
+		../$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
diff --git a/tests-m32/qual_inject-error-signal.test b/tests-m32/qual_inject-error-signal.test
index fcbcc39..1fe4612 100755
--- a/tests-m32/qual_inject-error-signal.test
+++ b/tests-m32/qual_inject-error-signal.test
@@ -4,5 +4,5 @@
 . "${srcdir=.}/scno_tampering.sh"
 
 run_strace -a12 -echdir,exit_group -einject=chdir:error=ENOENT:signal=USR1 \
-	"./$NAME"
+	"../$NAME"
 match_diff
diff --git a/tests-m32/qual_inject-retval.test b/tests-m32/qual_inject-retval.test
index 419030a..5a4efd1 100755
--- a/tests-m32/qual_inject-retval.test
+++ b/tests-m32/qual_inject-retval.test
@@ -12,9 +12,8 @@
 	rval="$1"; shift
 
 	run_strace -a12 -e$syscall -einject="$syscall:retval=$rval" "$@" \
-		./qual_inject-retval "$rval" > "$EXP"
+		../qual_inject-retval "$rval" > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 check_injection 0
diff --git a/tests-m32/qual_inject-signal.test b/tests-m32/qual_inject-signal.test
index 88002ce..f17e5a0 100755
--- a/tests-m32/qual_inject-signal.test
+++ b/tests-m32/qual_inject-signal.test
@@ -4,5 +4,5 @@
 . "${srcdir=.}/init.sh"
 
 run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1 \
-	./$NAME
+	../$NAME
 match_diff
diff --git a/tests-m32/qual_signal.test b/tests-m32/qual_signal.test
index 54a37a3..52812b7 100755
--- a/tests-m32/qual_signal.test
+++ b/tests-m32/qual_signal.test
@@ -3,6 +3,7 @@
 # Check how strace -e signal=set works.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,10 +35,9 @@
 	local sigs
 	sigs="$1"; shift
 
-	run_prog "./$NAME" "$@" > /dev/null
-	run_strace -e trace=none -e signal="$sigs" "./$NAME" "$@" > "$EXP"
+	run_prog "../$NAME" "$@" > /dev/null
+	run_strace -e trace=none -e signal="$sigs" "../$NAME" "$@" > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 test_sigs()
diff --git a/tests-m32/qual_syscall.test b/tests-m32/qual_syscall.test
index f7eb06d..1524405 100755
--- a/tests-m32/qual_syscall.test
+++ b/tests-m32/qual_syscall.test
@@ -5,17 +5,17 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./umovestr
-pattern_abbrev_verbose='execve("\./umovestr", \["\./umovestr"\], \[/\* [[:digit:]]* vars \*/\]) = 0'
-pattern_nonabbrev_verbose='execve("\./umovestr", \["\./umovestr"\], \[".*\"\(\.\.\.\)\?\]) = 0'
-pattern_nonverbose='execve("\./umovestr", 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
+run_prog ../umovestr
+pattern_abbrev_verbose='execve("\.\./umovestr", \["\.\./umovestr"\], 0x[[:xdigit:]]* /\* [[:digit:]]* vars \*/) = 0'
+pattern_nonabbrev_verbose='execve("\.\./umovestr", \["\.\./umovestr"\], \[".*\"\(\.\.\.\)\?\]) = 0'
+pattern_nonverbose='execve("\.\./umovestr", 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
 pattern_raw='execve(0x[[:xdigit:]]*, 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
 
 check_output_mismatch()
 {
 	local pattern
 	pattern="$1"; shift
-	run_strace "$@" ./umovestr
+	run_strace "$@" ../umovestr
 	LC_ALL=C grep -x "$pattern" "$LOG" > /dev/null || {
 		printf '%s\n%s\n' \
 			'Failed patterns of expected output:' "$pattern"
@@ -28,15 +28,19 @@
 LC_ALL=C grep '^[[:alnum:]_]*(' > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-check_output_mismatch "$pattern_abbrev_verbose" -e trace=process
+check_output_mismatch "$pattern_abbrev_verbose" -e trace=%process
 LC_ALL=C grep '^chdir' "$LOG" > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-run_strace -e 42 ./umovestr
+run_strace -e 42 ../umovestr
 LC_ALL=C grep '^[[:alnum:]_]*(' "$LOG" > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-for a in execve \!chdir all \!none \
+run_strace -e/ -e42 ../umovestr
+LC_ALL=C grep '^[[:alnum:]_]*(' "$LOG" > /dev/null &&
+	dump_log_and_fail_with "$STRACE $args unexpected output"
+
+for a in execve \!chdir /. all \!none \
 	 file process \!desc \!ipc \!memory \!network \!signal; do
 	check_output_mismatch \
 		"$pattern_abbrev_verbose" -e abbrev="$a" -e execve
diff --git a/tests-m32/quotactl-v.gen.test b/tests-m32/quotactl-v.gen.test
new file mode 100755
index 0000000..8659ed2
--- /dev/null
+++ b/tests-m32/quotactl-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-v -v -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-m32/quotactl-v.test b/tests-m32/quotactl-v.test
deleted file mode 100755
index 6adaf82..0000000
--- a/tests-m32/quotactl-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-m32/quotactl-xfs-v.gen.test b/tests-m32/quotactl-xfs-v.gen.test
new file mode 100755
index 0000000..f1f7e0a
--- /dev/null
+++ b/tests-m32/quotactl-xfs-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-xfs-v -v -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-m32/quotactl-xfs-v.test b/tests-m32/quotactl-xfs-v.test
deleted file mode 100755
index d5ffc7d..0000000
--- a/tests-m32/quotactl-xfs-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-m32/quotactl-xfs.c b/tests-m32/quotactl-xfs.c
index e420d1c..b2a884b 100644
--- a/tests-m32/quotactl-xfs.c
+++ b/tests-m32/quotactl-xfs.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -207,10 +208,10 @@
 	char unterminated_str[sizeof(void *) * 2 + sizeof("0x")];
 
 	long rc;
-	struct fs_disk_quota *xdq = tail_alloc(sizeof(*xdq));
-	struct fs_quota_stat *xqstat = tail_alloc(sizeof(*xqstat));
-	struct fs_quota_statv *xqstatv = tail_alloc(sizeof(*xqstatv));
-	uint32_t *flags = tail_alloc(sizeof(*flags));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_disk_quota, xdq);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_stat, xqstat);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_statv, xqstatv);
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint32_t, flags);
 	char *unterminated = tail_memdup(unterminated_data,
 		sizeof(unterminated_data));
 
diff --git a/tests-m32/quotactl-xfs.gen.test b/tests-m32/quotactl-xfs.gen.test
new file mode 100755
index 0000000..cd7d11c
--- /dev/null
+++ b/tests-m32/quotactl-xfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-xfs -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=quotactl
diff --git a/tests-m32/quotactl-xfs.test b/tests-m32/quotactl-xfs.test
deleted file mode 100755
index 404a737..0000000
--- a/tests-m32/quotactl-xfs.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=quotactl
diff --git a/tests-m32/quotactl.c b/tests-m32/quotactl.c
index 3a7c113..88c3fda 100644
--- a/tests-m32/quotactl.c
+++ b/tests-m32/quotactl.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -173,10 +174,10 @@
 	long rc;
 	char *unterminated = tail_memdup(unterminated_data,
 					 sizeof(unterminated_data));
-	struct if_dqblk *dqblk = tail_alloc(sizeof(*dqblk));
-	struct if_dqinfo *dqinfo = tail_alloc(sizeof(*dqinfo));
-	uint32_t *fmt = tail_alloc(sizeof(*fmt));
-	struct if_nextdqblk *nextdqblk = tail_alloc(sizeof(*nextdqblk));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_dqblk, dqblk);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_dqinfo, dqinfo);
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint32_t, fmt);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_nextdqblk, nextdqblk);
 
 
 	snprintf(bogus_special_str, sizeof(bogus_special_str), "%p",
diff --git a/tests-m32/quotactl.gen.test b/tests-m32/quotactl.gen.test
new file mode 100755
index 0000000..c6ad6e1
--- /dev/null
+++ b/tests-m32/quotactl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/quotactl.test b/tests-m32/quotactl.test
deleted file mode 100755
index d0101f4..0000000
--- a/tests-m32/quotactl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/read-write.c b/tests-m32/read-write.c
index 262e07b..ed4c64d 100644
--- a/tests-m32/read-write.c
+++ b/tests-m32/read-write.c
@@ -2,6 +2,7 @@
  * Check decoding and dumping of read and write syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -137,7 +138,9 @@
 {
 	tprintf("%s", "");
 
-	static char tmp[] = "read-write-tmpfile";
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const char tmp[] = "read-write-tmpfile";
 	if (open(tmp, O_CREAT|O_RDONLY|O_TRUNC, 0600) != 0)
 		perror_msg_and_fail("creat: %s", tmp);
 	if (open(tmp, O_WRONLY) != 1)
diff --git a/tests-m32/read-write.gen.test b/tests-m32/read-write.gen.test
new file mode 100755
index 0000000..df1b3fb
--- /dev/null
+++ b/tests-m32/read-write.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests-m32/read-write.test b/tests-m32/read-write.test
deleted file mode 100755
index 3700541..0000000
--- a/tests-m32/read-write.test
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of read and write syscalls.
-
-. "${srcdir=.}/init.sh"
-
-# strace -P is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
-tmpfile=read-write-tmpfile
-> $tmpfile
-
-run_strace_match_diff \
-	-a15 -eread=0 -ewrite=1 -e trace=read,write \
-	-P $tmpfile -P /dev/zero -P /dev/null
-
-rm -f $tmpfile
diff --git a/tests-m32/readahead.c b/tests-m32/readahead.c
index c11b577..c243ae4 100644
--- a/tests-m32/readahead.c
+++ b/tests-m32/readahead.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/readahead.gen.test b/tests-m32/readahead.gen.test
new file mode 100755
index 0000000..4e88efa
--- /dev/null
+++ b/tests-m32/readahead.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readahead -a1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1
diff --git a/tests-m32/readahead.test b/tests-m32/readahead.test
deleted file mode 100755
index 397c690..0000000
--- a/tests-m32/readahead.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check readahead syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a1
diff --git a/tests-m32/readdir.c b/tests-m32/readdir.c
index 8c48362..a47856f 100644
--- a/tests-m32/readdir.c
+++ b/tests-m32/readdir.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -58,9 +59,9 @@
 	"A\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nZ";
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "readdir.test.tmp.dir";
 	struct {
 		unsigned long   d_ino;
 		unsigned long   d_off;
@@ -69,8 +70,6 @@
 	} e;
 	int rc;
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests-m32/readdir.gen.test b/tests-m32/readdir.gen.test
new file mode 100755
index 0000000..10da83b
--- /dev/null
+++ b/tests-m32/readdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readdir -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-m32/readdir.test b/tests-m32/readdir.test
deleted file mode 100755
index e313273..0000000
--- a/tests-m32/readdir.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check readdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a16
diff --git a/tests-m32/readlink.gen.test b/tests-m32/readlink.gen.test
new file mode 100755
index 0000000..755fc8b
--- /dev/null
+++ b/tests-m32/readlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlink -xx); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -xx
diff --git a/tests-m32/readlink.test b/tests-m32/readlink.test
deleted file mode 100755
index c026ecb..0000000
--- a/tests-m32/readlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check readlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -xx
diff --git a/tests-m32/readlinkat.gen.test b/tests-m32/readlinkat.gen.test
new file mode 100755
index 0000000..2a50299
--- /dev/null
+++ b/tests-m32/readlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlinkat -xx); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -xx
diff --git a/tests-m32/readlinkat.test b/tests-m32/readlinkat.test
deleted file mode 100755
index 229c8e1..0000000
--- a/tests-m32/readlinkat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check readlinkat syscall decoding.
-
-. "${srcdir=.}/readlink.test"
diff --git a/tests-m32/readv.test b/tests-m32/readv.test
index dc18799..d75e370 100755
--- a/tests-m32/readv.test
+++ b/tests-m32/readv.test
@@ -3,6 +3,7 @@
 # Check decoding and dumping of readv and writev syscalls.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 run_strace_match_diff -a16 -e trace=readv,writev \
 	-eread='!all' -ewrite=none -eread='!0,1,2' -ewrite='!0,1,2'
 
-wfd="$(./print_maxfd)"
+wfd="$(../print_maxfd)"
 rfd="$(($wfd - 1))"
 run_strace_match_diff -a16 -e trace=readv,writev \
 	-eread="$rfd" -ewrite="$wfd"
diff --git a/tests-m32/reboot.gen.test b/tests-m32/reboot.gen.test
new file mode 100755
index 0000000..0a48dea
--- /dev/null
+++ b/tests-m32/reboot.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (reboot ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/reboot.test b/tests-m32/reboot.test
deleted file mode 100755
index a97dd21..0000000
--- a/tests-m32/reboot.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check reboot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/recvfrom.gen.test b/tests-m32/recvfrom.gen.test
new file mode 100755
index 0000000..c23780c
--- /dev/null
+++ b/tests-m32/recvfrom.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvfrom -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-m32/recvfrom.test b/tests-m32/recvfrom.test
deleted file mode 100755
index 9dfbc89..0000000
--- a/tests-m32/recvfrom.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sockaddr related arguments of recvfrom syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-m32/recvmmsg-timeout.c b/tests-m32/recvmmsg-timeout.c
index 7cf064d..64ce16a 100644
--- a/tests-m32/recvmmsg-timeout.c
+++ b/tests-m32/recvmmsg-timeout.c
@@ -2,6 +2,7 @@
  * Check decoding of timeout argument of recvmmsg syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -50,13 +51,15 @@
 			.msg_iovlen = 1
 		}
 	};
-	struct timespec t = { .tv_sec = 0, .tv_nsec = 12345678 };
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
+	ts->tv_sec = 0;
+	ts->tv_nsec = 12345678;
 
-	int rc = recv_mmsg(-1, &mh, 1, 0, &t);
+	int rc = recv_mmsg(-1, &mh, 1, 0, ts);
 	printf("recvmmsg(-1, %p, 1, 0, {tv_sec=0, tv_nsec=12345678})"
-	       " = %d %s (%m)\n", &mh, rc, errno2name());
+	       " = %s\n", &mh, sprintrc(rc));
 
-	rc = recv_mmsg(fds[0], &mh, 1, 0, &t);
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
 	if (rc < 0)
 		perror_msg_and_skip("recvmmsg");
 	printf("recvmmsg(%d, [{msg_hdr={msg_name=NULL, msg_namelen=0"
@@ -64,7 +67,23 @@
 	       ", msg_controllen=0, msg_flags=0}, msg_len=1}], 1, 0"
 	       ", {tv_sec=0, tv_nsec=12345678}) = "
 	       "%d (left {tv_sec=0, tv_nsec=%d})\n",
-	       fds[0], rc, (int) t.tv_nsec);
+	       fds[0], rc, (int) ts->tv_nsec);
+
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
+	printf("recvmmsg(%d, %p, 1, 0, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       fds[0], &mh, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
+	printf("recvmmsg(%d, %p, 1, 0, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       fds[0], &mh, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/recvmmsg-timeout.gen.test b/tests-m32/recvmmsg-timeout.gen.test
new file mode 100755
index 0000000..6306de7
--- /dev/null
+++ b/tests-m32/recvmmsg-timeout.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvmmsg-timeout -a25 -e trace=recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e trace=recvmmsg
diff --git a/tests-m32/recvmmsg-timeout.test b/tests-m32/recvmmsg-timeout.test
deleted file mode 100755
index 36a1222..0000000
--- a/tests-m32/recvmmsg-timeout.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of timeout argument of recvmmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=recvmmsg
diff --git a/tests-m32/recvmsg.gen.test b/tests-m32/recvmsg.gen.test
new file mode 100755
index 0000000..fc8ef06
--- /dev/null
+++ b/tests-m32/recvmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvmsg -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
diff --git a/tests-m32/recvmsg.test b/tests-m32/recvmsg.test
deleted file mode 100755
index e373a20..0000000
--- a/tests-m32/recvmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of recvmsg and sendmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
diff --git a/tests-m32/redirect-fds.test b/tests-m32/redirect-fds.test
index ddef8fa..3da6942 100755
--- a/tests-m32/redirect-fds.test
+++ b/tests-m32/redirect-fds.test
@@ -3,6 +3,7 @@
 # Check that strace does not leak placeholder descriptors.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -47,18 +48,17 @@
 	a2="$2"
 	a3="$3"
 
+	rm -f "$LOG" "$fd0" "$fd1" "$fd2"
 	touch "$LOG" "$fd0" ||
 		framework_skip_ 'failed to create files'
 
-	set -- "\"./$NAME\"" "\"$1\"" "\"$2\"" "\"$3\""
+	set -- "\"../$NAME\"" "\"$1\"" "\"$2\"" "\"$3\""
 	eval "$@" "<${a1:-&-}" ">${a2:-&-}" "2>${a3:-&-}" ||
 			fail_ "$* failed with code $rc"
 
 	set -- "$STRACE" -o"$LOG" -echdir "$@"
 	eval "$@" "<${a1:-&-}" ">${a2:-&-}" "2>${a3:-&-}" ||
 		dump_log_and_fail_with "$* failed with code $?"
-
-	rm -f "$LOG" "$fd0" "$fd1" "$fd2"
 }
 
 check_fd "$fd0" "$fd1" "$fd2"
diff --git a/tests-m32/redirect.test b/tests-m32/redirect.test
index fa0c536..d70754e 100755
--- a/tests-m32/redirect.test
+++ b/tests-m32/redirect.test
@@ -3,6 +3,7 @@
 # Ensure that strace does not retain stdin and stdout descriptors.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -74,5 +75,3 @@
 if [ -s "$OUT" ]; then
 	fail_ "$STRACE failed to redirect standard output"
 fi
-
-rm -f -- "$OUT"
diff --git a/tests-m32/regex.gen.test b/tests-m32/regex.gen.test
new file mode 100755
index 0000000..71a02d6
--- /dev/null
+++ b/tests-m32/regex.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (regex test_trace_expr '' -etrace='/^(.*_)?statv?fs'); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -etrace='/^(.*_)?statv?fs'
diff --git a/tests-m32/regex.in b/tests-m32/regex.in
new file mode 100755
index 0000000..7c4adfe
--- /dev/null
+++ b/tests-m32/regex.in
@@ -0,0 +1,2 @@
+statfs	-a17
+statfs64	-a23
diff --git a/tests-m32/remap_file_pages.gen.test b/tests-m32/remap_file_pages.gen.test
new file mode 100755
index 0000000..e489473
--- /dev/null
+++ b/tests-m32/remap_file_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (remap_file_pages ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/remap_file_pages.test b/tests-m32/remap_file_pages.test
deleted file mode 100755
index 9d51a9a..0000000
--- a/tests-m32/remap_file_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check remap_file_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/rename.gen.test b/tests-m32/rename.gen.test
new file mode 100755
index 0000000..07f0180
--- /dev/null
+++ b/tests-m32/rename.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rename -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-m32/rename.test b/tests-m32/rename.test
deleted file mode 100755
index 9067e4c..0000000
--- a/tests-m32/rename.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rename syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-m32/renameat.gen.test b/tests-m32/renameat.gen.test
new file mode 100755
index 0000000..f2879cd
--- /dev/null
+++ b/tests-m32/renameat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (renameat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/renameat.test b/tests-m32/renameat.test
deleted file mode 100755
index 9b0a61d..0000000
--- a/tests-m32/renameat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check renameat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/renameat2.gen.test b/tests-m32/renameat2.gen.test
new file mode 100755
index 0000000..cd7c34c
--- /dev/null
+++ b/tests-m32/renameat2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (renameat2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/renameat2.test b/tests-m32/renameat2.test
deleted file mode 100755
index 4c176bb..0000000
--- a/tests-m32/renameat2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check renameat2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/request_key.gen.test b/tests-m32/request_key.gen.test
new file mode 100755
index 0000000..aeac708
--- /dev/null
+++ b/tests-m32/request_key.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (request_key -a33 -s12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33 -s12
diff --git a/tests-m32/request_key.test b/tests-m32/request_key.test
deleted file mode 100755
index 9812a18..0000000
--- a/tests-m32/request_key.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of request_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -s12
diff --git a/tests-m32/restart_syscall.c b/tests-m32/restart_syscall.c
index e492e62..d06f9c2 100644
--- a/tests-m32/restart_syscall.c
+++ b/tests-m32/restart_syscall.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,11 +56,11 @@
 	if (nanosleep(&req, &rem))
 		perror_msg_and_fail("nanosleep");
 
-	printf("nanosleep\\(\\{tv_sec=%jd, tv_nsec=%jd\\}, "
-	       "\\{tv_sec=%jd, tv_nsec=%jd\\}\\)"
+	printf("nanosleep\\(\\{tv_sec=%lld, tv_nsec=%llu\\}"
+	       ", \\{tv_sec=%lld, tv_nsec=%llu\\}\\)"
 	       " = \\? 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);
+	       (long long) req.tv_sec, zero_extend_signed_to_ull(req.tv_nsec),
+	       (long long) rem.tv_sec, zero_extend_signed_to_ull(rem.tv_nsec));
 	puts("--- SIGALRM \\{si_signo=SIGALRM, si_code=SI_KERNEL\\} ---");
 #ifdef __arm__
 /* old kernels used to overwrite ARM_r0 with -EINTR */
@@ -67,11 +68,12 @@
 #else
 # define ALTERNATIVE_NANOSLEEP_REQ ""
 #endif
-	printf("(nanosleep\\((%s\\{tv_sec=%jd, tv_nsec=%jd\\}), "
-	       "%p|restart_syscall\\(<\\.\\.\\."
+	printf("(nanosleep\\((%s\\{tv_sec=%lld, tv_nsec=%llu\\})"
+	       ", %p|restart_syscall\\(<\\.\\.\\."
 	       " resuming interrupted nanosleep \\.\\.\\.>)\\) = 0\n",
 	       ALTERNATIVE_NANOSLEEP_REQ,
-	       (intmax_t) req.tv_sec, (intmax_t) req.tv_nsec, &rem);
+	       (long long) req.tv_sec, zero_extend_signed_to_ull(req.tv_nsec),
+	       &rem);
 
 	puts("\\+\\+\\+ exited with 0 \\+\\+\\+");
 	return 0;
diff --git a/tests-m32/restart_syscall.test b/tests-m32/restart_syscall.test
index 6dfda16..f7dfa04 100755
--- a/tests-m32/restart_syscall.test
+++ b/tests-m32/restart_syscall.test
@@ -6,8 +6,5 @@
 
 run_prog > /dev/null
 syscalls=nanosleep,restart_syscall
-run_strace -a20 -e trace=$syscalls $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace -a20 -e trace=$syscalls $args > "$EXP"
+match_grep "$LOG" "$EXP"
diff --git a/tests-m32/rmdir.gen.test b/tests-m32/rmdir.gen.test
new file mode 100755
index 0000000..b511039
--- /dev/null
+++ b/tests-m32/rmdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rmdir -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-m32/rmdir.test b/tests-m32/rmdir.test
deleted file mode 100755
index 81ee66b..0000000
--- a/tests-m32/rmdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rmdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-m32/rt_sigpending.c b/tests-m32/rt_sigpending.c
index accf691..b57921f 100644
--- a/tests-m32/rt_sigpending.c
+++ b/tests-m32/rt_sigpending.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigpending strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -78,7 +79,7 @@
 
 	const unsigned int big_size = 1024 / 8;
 	void *k_set = tail_alloc(big_size);
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 
 	sigemptyset(libc_set);
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
diff --git a/tests-m32/rt_sigpending.gen.test b/tests-m32/rt_sigpending.gen.test
new file mode 100755
index 0000000..0458876
--- /dev/null
+++ b/tests-m32/rt_sigpending.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigpending -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-m32/rt_sigpending.test b/tests-m32/rt_sigpending.test
deleted file mode 100755
index 40c83a8..0000000
--- a/tests-m32/rt_sigpending.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigpending syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-m32/rt_sigprocmask.c b/tests-m32/rt_sigprocmask.c
index 27e357f..c38ac94 100644
--- a/tests-m32/rt_sigprocmask.c
+++ b/tests-m32/rt_sigprocmask.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigprocmask strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -91,7 +92,7 @@
 
 	void *const k_set = tail_alloc(set_size);
 	void *const old_set = tail_alloc(set_size);
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 
 	memset(k_set, 0, set_size);
 	if (k_sigprocmask(SIG_SETMASK, k_set, NULL, set_size))
diff --git a/tests-m32/rt_sigprocmask.gen.test b/tests-m32/rt_sigprocmask.gen.test
new file mode 100755
index 0000000..a21c6db
--- /dev/null
+++ b/tests-m32/rt_sigprocmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigprocmask ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/rt_sigprocmask.test b/tests-m32/rt_sigprocmask.test
deleted file mode 100755
index 1e60ebd..0000000
--- a/tests-m32/rt_sigprocmask.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigprocmask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/rt_sigqueueinfo.c b/tests-m32/rt_sigqueueinfo.c
index aba6776..f803d91 100644
--- a/tests-m32/rt_sigqueueinfo.c
+++ b/tests-m32/rt_sigqueueinfo.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/rt_sigqueueinfo.gen.test b/tests-m32/rt_sigqueueinfo.gen.test
new file mode 100755
index 0000000..7baf0e4
--- /dev/null
+++ b/tests-m32/rt_sigqueueinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigqueueinfo -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-m32/rt_sigqueueinfo.test b/tests-m32/rt_sigqueueinfo.test
deleted file mode 100755
index c03c76f..0000000
--- a/tests-m32/rt_sigqueueinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of rt_sigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-m32/rt_sigreturn.c b/tests-m32/rt_sigreturn.c
new file mode 100644
index 0000000..40d1589
--- /dev/null
+++ b/tests-m32/rt_sigreturn.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 <stdlib.h>
+
+#ifdef ASM_SIGRTMIN
+# define RT_0 ASM_SIGRTMIN
+#else
+/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
+# define RT_0 32
+#endif
+
+static void
+handler(int no, siginfo_t *si, void *uc)
+{
+}
+
+int
+main(void)
+{
+	static sigset_t set;
+	sigemptyset(&set);
+	sigaddset(&set, SIGINT);
+	sigaddset(&set, SIGUSR2);
+	sigaddset(&set, SIGCHLD);
+	sigaddset(&set, RT_0 +  3);
+	sigaddset(&set, RT_0 +  4);
+	sigaddset(&set, RT_0 +  5);
+	sigaddset(&set, RT_0 + 26);
+	sigaddset(&set, RT_0 + 27);
+	if (sigprocmask(SIG_SETMASK, &set, NULL))
+		perror_msg_and_fail("sigprocmask");
+	sigemptyset(&set);
+
+	static const struct sigaction sa = {
+		.sa_sigaction = handler,
+		.sa_flags = SA_SIGINFO
+	};
+	if (sigaction(SIGUSR1, &sa, NULL))
+		perror_msg_and_fail("sigaction");
+
+	if (raise(SIGUSR1))
+		perror_msg_and_fail("raise");
+
+	static const char *const sigs =
+		(SIGUSR2 < SIGCHLD) ? "INT USR2 CHLD" : "INT CHLD USR2";
+	static const char *const rt_sigs = "RT_3 RT_4 RT_5 RT_26 RT_27";
+	printf("rt_sigreturn({mask=[%s %s]}) = 0\n", sigs, rt_sigs);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-m32/rt_sigreturn.gen.test b/tests-m32/rt_sigreturn.gen.test
new file mode 100755
index 0000000..0672f11
--- /dev/null
+++ b/tests-m32/rt_sigreturn.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigreturn -esignal='!USR1'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal='!USR1'
diff --git a/tests-m32/rt_sigsuspend.c b/tests-m32/rt_sigsuspend.c
index 73e1336..422ec19 100644
--- a/tests-m32/rt_sigsuspend.c
+++ b/tests-m32/rt_sigsuspend.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigsuspend strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -88,7 +89,7 @@
 	void *k_set = tail_alloc(big_size);
 	memset(k_set, 0, big_size);
 
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 	sigemptyset(libc_set);
 	sigaddset(libc_set, SIGUSR1);
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
diff --git a/tests-m32/rt_sigsuspend.gen.test b/tests-m32/rt_sigsuspend.gen.test
new file mode 100755
index 0000000..d5d1d5f
--- /dev/null
+++ b/tests-m32/rt_sigsuspend.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigsuspend -a20 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -esignal=none
diff --git a/tests-m32/rt_sigsuspend.test b/tests-m32/rt_sigsuspend.test
deleted file mode 100755
index 2e30fd4..0000000
--- a/tests-m32/rt_sigsuspend.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigsuspend syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -esignal=none
diff --git a/tests-m32/rt_sigtimedwait.c b/tests-m32/rt_sigtimedwait.c
index 10311e6..40544c7 100644
--- a/tests-m32/rt_sigtimedwait.c
+++ b/tests-m32/rt_sigtimedwait.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigtimedwait strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,25 +55,27 @@
 	for (;;) {
 		assert(k_sigtimedwait(set, NULL, timeout, size) == -1);
 		if (EINTR == errno) {
-			tprintf("rt_sigtimedwait(%s, NULL, "
-				"{tv_sec=%jd, tv_nsec=%jd}, %u)"
+			tprintf("rt_sigtimedwait(%s, NULL"
+				", {tv_sec=%lld, tv_nsec=%llu}, %u)"
 				" = -1 EAGAIN (%m)\n", text,
-				(intmax_t) timeout->tv_sec,
-				(intmax_t) timeout->tv_nsec,
+				(long long) timeout->tv_sec,
+				zero_extend_signed_to_ull(timeout->tv_nsec),
 				size);
 		} else {
 			if (size < sizeof(long))
-				tprintf("rt_sigtimedwait(%p, NULL, "
-					"{tv_sec=%jd, tv_nsec=%jd}"
+				tprintf("rt_sigtimedwait(%p, NULL"
+					", {tv_sec=%lld, tv_nsec=%llu}"
 					", %u) = -1 EINVAL (%m)\n",
-					set, (intmax_t) timeout->tv_sec,
-					(intmax_t) timeout->tv_nsec, size);
+					set, (long long) timeout->tv_sec,
+					zero_extend_signed_to_ull(timeout->tv_nsec),
+					size);
 			else
-				tprintf("rt_sigtimedwait(%s, NULL, "
-					"{tv_sec=%jd, tv_nsec=%jd}"
+				tprintf("rt_sigtimedwait(%s, NULL"
+					", {tv_sec=%lld, tv_nsec=%llu}"
 					", %u) = -1 EINVAL (%m)\n",
-					text, (intmax_t) timeout->tv_sec,
-					(intmax_t) timeout->tv_nsec, size);
+					text, (long long) timeout->tv_sec,
+					zero_extend_signed_to_ull(timeout->tv_nsec),
+					size);
 		}
 		if (!size)
 			break;
@@ -86,8 +89,8 @@
 {
 	tprintf("%s", "");
 
-	siginfo_t *const info = tail_alloc(sizeof(*info));
-	struct timespec *const timeout = tail_alloc(sizeof(*timeout));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, info);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, timeout);
 	timeout->tv_sec = 0;
 	timeout->tv_nsec = 42;
 
@@ -100,37 +103,58 @@
 		assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
 		if (EAGAIN == errno)
 			break;
-		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);
+		tprintf("rt_sigtimedwait(%p, NULL, {tv_sec=%lld, tv_nsec=%llu}"
+			", %u) = -1 EINVAL (%m)\n",
+			k_set, (long long) timeout->tv_sec,
+			zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 	}
 	if (!set_size)
 		perror_msg_and_fail("rt_sigtimedwait");
-	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);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	timeout->tv_sec = 0xdeadbeefU;
+	timeout->tv_nsec = 0xfacefeedU;
+	assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}"
+		", %u) = -1 EINVAL (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
+
+	timeout->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	timeout->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}"
+		", %u) = -1 EINVAL (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
+
+	timeout->tv_sec = 0;
+	timeout->tv_nsec = 42;
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 	sigemptyset(libc_set);
 	sigaddset(libc_set, SIGHUP);
 	memcpy(k_set, libc_set, set_size);
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	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);
+	tprintf("rt_sigtimedwait([HUP], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	sigaddset(libc_set, SIGINT);
 	memcpy(k_set, libc_set, set_size);
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait([HUP INT], %p, {tv_sec=%jd, tv_nsec=%jd}, %u)"
+	tprintf("rt_sigtimedwait([HUP INT], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
 		" = -1 EAGAIN (%m)\n",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	sigaddset(libc_set, SIGQUIT);
 	sigaddset(libc_set, SIGALRM);
@@ -139,17 +163,19 @@
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait(%s, %p, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
+	tprintf("rt_sigtimedwait(%s, %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
 		"[HUP INT QUIT ALRM TERM]",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	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, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+	tprintf("rt_sigtimedwait(~[], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
 		perror_msg_and_fail("sigprocmask");
@@ -164,9 +190,11 @@
 	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}, {tv_sec=%jd, tv_nsec=%jd}, %u) = %d (%s)\n",
+		", si_pid=%d, si_uid=%d}, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = %d (%s)\n",
 		"[HUP INT QUIT ALRM TERM]", "SIGALRM", getpid(), getuid(),
-		(intmax_t) timeout->tv_sec, (intmax_t) timeout->tv_nsec,
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec),
 		set_size, SIGALRM, "SIGALRM");
 
 	raise(SIGALRM);
diff --git a/tests-m32/rt_sigtimedwait.gen.test b/tests-m32/rt_sigtimedwait.gen.test
new file mode 100755
index 0000000..2b18e7a
--- /dev/null
+++ b/tests-m32/rt_sigtimedwait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigtimedwait -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a38
diff --git a/tests-m32/rt_sigtimedwait.test b/tests-m32/rt_sigtimedwait.test
deleted file mode 100755
index e15fb77..0000000
--- a/tests-m32/rt_sigtimedwait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigtimedwait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
diff --git a/tests-m32/rt_tgsigqueueinfo.c b/tests-m32/rt_tgsigqueueinfo.c
index ec09348..3b2da2a 100644
--- a/tests-m32/rt_tgsigqueueinfo.c
+++ b/tests-m32/rt_tgsigqueueinfo.c
@@ -2,6 +2,7 @@
  * This file is part of rt_tgsigqueueinfo strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,9 +43,9 @@
 k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
 {
 	return syscall(__NR_rt_tgsigqueueinfo,
-		       (unsigned long) 0xffffffff00000000ULL | pid,
-		       (unsigned long) 0xffffffff00000000ULL | pid,
-		       (unsigned long) 0xffffffff00000000ULL | sig,
+		       F8ILL_KULONG_MASK | pid,
+		       F8ILL_KULONG_MASK | pid,
+		       F8ILL_KULONG_MASK | sig,
 		       info);
 }
 
@@ -57,7 +58,7 @@
 	if (sigaction(SIGUSR1, &sa, NULL))
 		perror_msg_and_fail("sigaction");
 
-	siginfo_t *const info = tail_alloc(sizeof(*info));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, info);
 	memset(info, 0, sizeof(*info));
 	info->si_signo = SIGUSR1;
 	info->si_errno = ENOENT;
diff --git a/tests-m32/rt_tgsigqueueinfo.gen.test b/tests-m32/rt_tgsigqueueinfo.gen.test
new file mode 100755
index 0000000..407bbff
--- /dev/null
+++ b/tests-m32/rt_tgsigqueueinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_tgsigqueueinfo -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-m32/rt_tgsigqueueinfo.test b/tests-m32/rt_tgsigqueueinfo.test
deleted file mode 100755
index ab24e2d..0000000
--- a/tests-m32/rt_tgsigqueueinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of rt_tgsigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-m32/sched.gen.test b/tests-m32/sched.gen.test
new file mode 100755
index 0000000..6747117
--- /dev/null
+++ b/tests-m32/sched.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched test_trace_expr times -e/sched); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr times -e/sched
diff --git a/tests-m32/sched.in b/tests-m32/sched.in
new file mode 100755
index 0000000..46031d6
--- /dev/null
+++ b/tests-m32/sched.in
@@ -0,0 +1,7 @@
+sched_xetaffinity	-a28
+sched_xetparam	-a23
+sched_rr_get_interval	-a31
+sched_get_priority_mxx	-a33
+sched_xetattr	-a29
+sched_xetscheduler	-a22
+sched_yield	-a14
diff --git a/tests-m32/sched_get_priority_mxx.gen.test b/tests-m32/sched_get_priority_mxx.gen.test
new file mode 100755
index 0000000..a235997
--- /dev/null
+++ b/tests-m32/sched_get_priority_mxx.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_get_priority_mxx -a33 -e trace=sched_get_priority_min,sched_get_priority_max); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
diff --git a/tests-m32/sched_get_priority_mxx.test b/tests-m32/sched_get_priority_mxx.test
deleted file mode 100755
index 0d1a1a7..0000000
--- a/tests-m32/sched_get_priority_mxx.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_get_priority_min and sched_get_priority_max syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
diff --git a/tests-m32/sched_rr_get_interval.c b/tests-m32/sched_rr_get_interval.c
index 0aacd2b..000a0be 100644
--- a/tests-m32/sched_rr_get_interval.c
+++ b/tests-m32/sched_rr_get_interval.c
@@ -11,7 +11,7 @@
 int
 main(void)
 {
-	struct timespec *const tp = tail_alloc(sizeof(struct timespec));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, tp);
 	long rc;
 
 	rc = syscall(__NR_sched_rr_get_interval, 0, NULL);
@@ -25,8 +25,10 @@
 
 	rc = syscall(__NR_sched_rr_get_interval, 0, tp);
 	if (rc == 0)
-		printf("sched_rr_get_interval(0, {tv_sec=%jd, tv_nsec=%jd}) = "
-		       "0\n", (intmax_t)tp->tv_sec, (intmax_t)tp->tv_nsec);
+		printf("sched_rr_get_interval(0, {tv_sec=%lld, tv_nsec=%llu})"
+		       " = 0\n",
+		       (long long) tp->tv_sec,
+		       zero_extend_signed_to_ull(tp->tv_nsec));
 	else
 		printf("sched_rr_get_interval(-1, %p) = %s\n", tp,
 			sprintrc(rc));
diff --git a/tests-m32/sched_rr_get_interval.gen.test b/tests-m32/sched_rr_get_interval.gen.test
new file mode 100755
index 0000000..493de64
--- /dev/null
+++ b/tests-m32/sched_rr_get_interval.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_rr_get_interval -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests-m32/sched_rr_get_interval.test b/tests-m32/sched_rr_get_interval.test
deleted file mode 100755
index 828ba5d..0000000
--- a/tests-m32/sched_rr_get_interval.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_rr_get_interval syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
diff --git a/tests-m32/sched_xetaffinity.gen.test b/tests-m32/sched_xetaffinity.gen.test
new file mode 100755
index 0000000..7a1c75b
--- /dev/null
+++ b/tests-m32/sched_xetaffinity.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetaffinity -a28 -e trace=sched_getaffinity,sched_setaffinity); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
diff --git a/tests-m32/sched_xetaffinity.test b/tests-m32/sched_xetaffinity.test
deleted file mode 100755
index 246ea21..0000000
--- a/tests-m32/sched_xetaffinity.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getaffinity and sched_setaffinity syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
diff --git a/tests-m32/sched_xetattr.c b/tests-m32/sched_xetattr.c
index 1b48491..a9bd2ba 100644
--- a/tests-m32/sched_xetattr.c
+++ b/tests-m32/sched_xetattr.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,95 +32,214 @@
 
 # include <inttypes.h>
 # include <stdio.h>
+# include <sched.h>
 # include <unistd.h>
+# include "sched_attr.h"
+# include "xlat.h"
+# include "xlat/schedulers.h"
+
+static const char *errstr;
+
+static long
+sys_sched_getattr(kernel_ulong_t pid, kernel_ulong_t attr,
+		  kernel_ulong_t size, kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_sched_getattr, pid, attr, size, flags);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+static long
+sys_sched_setattr(kernel_ulong_t pid, kernel_ulong_t attr, kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_sched_setattr, pid, attr, flags);
+	errstr = sprintrc(rc);
+	return rc;
+}
 
 int
 main(void)
 {
-	struct {
-		uint32_t size;
-		uint32_t sched_policy;
-		uint64_t sched_flags;
-		int32_t  sched_nice;
-		uint32_t sched_priority;
-		uint64_t sched_runtime;
-		uint64_t sched_deadline;
-		uint64_t sched_period;
-	} *sched_attr = tail_alloc(sizeof(*sched_attr));
+	static const kernel_ulong_t bogus_pid =
+		(kernel_ulong_t) 0xdefacedfacefeedULL;
+	static const kernel_ulong_t bogus_size =
+		(kernel_ulong_t) 0xdefacedcafef00dULL;
+	static const kernel_ulong_t bogus_flags =
+		(kernel_ulong_t) 0xdefaceddeadc0deULL;
 
-	long rc = syscall(__NR_sched_getattr, 0xdeadface, NULL, 0, 0);
-	printf("sched_getattr\\(%d, NULL, 0, 0\\) += %s\n",
-		0xdeadface, sprintrc_grep(rc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize);
+	void *const efault = attr + 1;
 
-	rc = syscall(__NR_sched_getattr, -1,
-		     sched_attr, 0xbadfaced, 0xc0defeed);
-	printf("sched_getattr\\(-1, %p, %u, %u\\) += %s\n",
-		sched_attr, 0xbadfaced, 0xc0defeed, sprintrc_grep(rc));
+	sys_sched_getattr(0, 0, 0, 0);
+	printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr);
 
-	rc = syscall(__NR_sched_getattr, 0,
-		     sched_attr + 1, sizeof(*sched_attr), 0);
-	printf("sched_getattr\\(0, %p, %u, 0\\) += %s\n",
-		sched_attr + 1, (unsigned)sizeof(*sched_attr),
-		sprintrc_grep(rc));
+	sys_sched_getattr(0, (unsigned long) attr, 0, 0);
+	printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr);
 
-	if (syscall(__NR_sched_getattr, 0, sched_attr, sizeof(*sched_attr), 0))
+	sys_sched_getattr(bogus_pid, 0, 0, 0);
+	printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr);
+
+	sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags);
+	printf("sched_getattr(-1, %p, %s%u, %u) = %s\n",
+	       attr,
+# if defined __arm64__ || defined __aarch64__
+	       "0xdefaced<<32|",
+# else
+	       "",
+# endif
+	       (unsigned) bogus_size, (unsigned) bogus_flags, errstr);
+
+	sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0);
+	printf("sched_getattr(0, %p, %u, 0) = %s\n",
+	       efault, (unsigned) sizeof(*attr), errstr);
+
+	if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0))
 		perror_msg_and_skip("sched_getattr");
-
-	printf("sched_getattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+"
-	       ", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-	       ", sched_period=%" PRIu64 "\\}, %u, 0\\) += 0\n",
-	       sched_attr->size,
-	       sched_attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
-	       sched_attr->sched_nice,
-	       sched_attr->sched_priority,
-	       sched_attr->sched_runtime,
-	       sched_attr->sched_deadline,
-	       sched_attr->sched_period,
-	       (unsigned) sizeof(*sched_attr));
+	       ", sched_period=%" PRIu64 "}, %u, 0) = 0\n",
+	       attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period,
+	       (unsigned) sizeof(*attr));
 
-	sched_attr->sched_flags |= 1;
-	if (syscall(__NR_sched_setattr, 0, sched_attr, 0))
+# if defined __arm64__ || defined __aarch64__
+	long rc =
+# endif
+	sys_sched_getattr(F8ILL_KULONG_MASK, (unsigned long) attr,
+			  F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK);
+# if defined __arm64__ || defined __aarch64__
+	if (rc) {
+		printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n",
+		       attr, (unsigned) sizeof(*attr), errstr);
+	} else
+# endif
+	{
+		printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
+		printxval(schedulers, attr->sched_policy, NULL);
+		printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+		       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+		       ", sched_period=%" PRIu64 "}, %u, 0) = 0\n",
+		       attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
+		       attr->sched_nice,
+		       attr->sched_priority,
+		       attr->sched_runtime,
+		       attr->sched_deadline,
+		       attr->sched_period,
+		       (unsigned) sizeof(*attr));
+	}
+
+	sys_sched_setattr(bogus_pid, 0, 0);
+	printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr);
+
+	attr->sched_flags |= 1;
+
+	if (sys_sched_setattr(0, (unsigned long) attr, 0))
 		perror_msg_and_skip("sched_setattr");
-
-	printf("sched_setattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+"
-	       ", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-	       ", sched_period=%" PRIu64 "\\}, 0\\) += 0\n",
-	       sched_attr->size,
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
 	       "SCHED_FLAG_RESET_ON_FORK",
-	       sched_attr->sched_nice,
-	       sched_attr->sched_priority,
-	       sched_attr->sched_runtime,
-	       sched_attr->sched_deadline,
-	       sched_attr->sched_period);
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
 
-	sched_attr->size = 0x90807060;
-	sched_attr->sched_policy = 0xca7faced;
-	sched_attr->sched_flags = 0xbadc0ded1057da7aULL;
-	sched_attr->sched_nice = 0xafbfcfdf;
-	sched_attr->sched_priority = 0xb8c8d8e8;
-	sched_attr->sched_runtime = 0xbadcaffedeadf157ULL;
-	sched_attr->sched_deadline = 0xc0de70a57badac75ULL;
-	sched_attr->sched_period = 0xded1ca7edda7aca7ULL;
+	sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr,
+			  F8ILL_KULONG_MASK);
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
+	       "SCHED_FLAG_RESET_ON_FORK",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
 
-	rc = syscall(__NR_sched_setattr, 0xfacec0de, sched_attr, 0xbeeff00d);
+	*psize = attr->size;
 
-	printf("sched_setattr\\(%d, \\{size=%u, "
-		"sched_policy=%#x /\\* SCHED_\\?\\?\\? \\*/, "
-		"sched_flags=%#" PRIx64 " /\\* SCHED_FLAG_\\?\\?\\? \\*/, "
-		"sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
-		"sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 "\\}, "
-		"%u\\) += %s\n",
-		0xfacec0de, sched_attr->size,
-		sched_attr->sched_policy,
-		sched_attr->sched_flags,
-		sched_attr->sched_nice,
-		sched_attr->sched_priority,
-		sched_attr->sched_runtime,
-		sched_attr->sched_deadline,
-		sched_attr->sched_period, 0xbeeff00d, sprintrc_grep(rc));
+	sys_sched_setattr(0, (unsigned long) psize, 0);
+	printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr);
 
+	attr->size = 0;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
+	       "SCHED_FLAG_RESET_ON_FORK",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
+
+	attr->size = 1;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
+	       1, attr->size, errstr);
+
+	attr->size = SCHED_ATTR_MIN_SIZE - 1;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
+	       SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr);
+
+	attr->size = 0x90807060;
+	attr->sched_policy = 0xca7faced;
+	attr->sched_flags = 0xbadc0ded1057da7aULL;
+	attr->sched_nice = 0xafbfcfdf;
+	attr->sched_priority = 0xb8c8d8e8;
+	attr->sched_runtime = 0xbadcaffedeadf157ULL;
+	attr->sched_deadline = 0xc0de70a57badac75ULL;
+	attr->sched_period = 0xded1ca7edda7aca7ULL;
+
+	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
+	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
+	       "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, "
+	       "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
+	       "sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 ", ...}, %u)"
+	       " = %s\n",
+	       (int) bogus_pid,
+	       attr->size,
+	       attr->sched_policy,
+	       attr->sched_flags,
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period,
+	       (unsigned) bogus_flags, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
+
+		sys_sched_getattr(0, ill, sizeof(*attr), 0);
+		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
+		       (unsigned long long) ill, (unsigned) sizeof(*attr),
+		       errstr);
+
+		sys_sched_setattr(0, ill, 0);
+		printf("sched_setattr(0, %#llx, 0) = %s\n",
+		       (unsigned long long) ill, errstr);
+	}
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests-m32/sched_xetattr.gen.test b/tests-m32/sched_xetattr.gen.test
new file mode 100755
index 0000000..e4f31c5
--- /dev/null
+++ b/tests-m32/sched_xetattr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetattr -a29 -e trace=sched_getattr,sched_setattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=sched_getattr,sched_setattr
diff --git a/tests-m32/sched_xetattr.test b/tests-m32/sched_xetattr.test
deleted file mode 100755
index c2c7914..0000000
--- a/tests-m32/sched_xetattr.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check sched_getattr and sched_setattr syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e sched_getattr,sched_setattr $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
diff --git a/tests-m32/sched_xetparam.gen.test b/tests-m32/sched_xetparam.gen.test
new file mode 100755
index 0000000..220ffb2
--- /dev/null
+++ b/tests-m32/sched_xetparam.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetparam -a23 -e trace=sched_getparam,sched_setparam); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
diff --git a/tests-m32/sched_xetparam.test b/tests-m32/sched_xetparam.test
deleted file mode 100755
index c9fede1..0000000
--- a/tests-m32/sched_xetparam.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getparam and sched_setparam syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
diff --git a/tests-m32/sched_xetscheduler.c b/tests-m32/sched_xetscheduler.c
index 7faee8c..8248a0c 100644
--- a/tests-m32/sched_xetscheduler.c
+++ b/tests-m32/sched_xetscheduler.c
@@ -10,7 +10,7 @@
 int
 main(void)
 {
-	struct sched_param *const param = tail_alloc(sizeof(struct sched_param));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param);
 	long rc = syscall(__NR_sched_getscheduler, 0);
 	const char *scheduler;
 	switch (rc) {
diff --git a/tests-m32/sched_xetscheduler.gen.test b/tests-m32/sched_xetscheduler.gen.test
new file mode 100755
index 0000000..0a80072
--- /dev/null
+++ b/tests-m32/sched_xetscheduler.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetscheduler -a22 -e trace=sched_getscheduler,sched_setscheduler); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
diff --git a/tests-m32/sched_xetscheduler.test b/tests-m32/sched_xetscheduler.test
deleted file mode 100755
index 07c93f3..0000000
--- a/tests-m32/sched_xetscheduler.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getscheduler and sched_setscheduler syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
diff --git a/tests-m32/sched_yield.gen.test b/tests-m32/sched_yield.gen.test
new file mode 100755
index 0000000..3f4542f
--- /dev/null
+++ b/tests-m32/sched_yield.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_yield -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-m32/sched_yield.test b/tests-m32/sched_yield.test
deleted file mode 100755
index f0c2c30..0000000
--- a/tests-m32/sched_yield.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_yield syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-m32/scm_rights-fd.test b/tests-m32/scm_rights-fd.test
index 8447375..279666e 100755
--- a/tests-m32/scm_rights-fd.test
+++ b/tests-m32/scm_rights-fd.test
@@ -3,6 +3,7 @@
 # Check how SCM_RIGHTS and SCM_CREDENTIALS control messages are decoded in -y mode.
 #
 # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,22 +35,19 @@
 	framework_skip_ '/proc/self/fd/ is not available'
 
 check_prog mkdir
-check_prog rm
 check_prog seq
 check_prog touch
 
-dir="$LOG.dir"
-rm -rf -- "$dir"
-mkdir -- "$dir" ||
+mkdir dir ||
 	framework_skip_ 'failed to create a directory'
 
-file="$dir/$(for i in $(seq 1 127); do echo A; done; echo Z)"
+file="dir/$(for i in $(seq 1 127); do echo A; done; echo Z)"
 
 touch -- "$file" ||
 	framework_skip_ 'failed to create a file'
 
-run_prog ./scm_rights /dev/zero
-run_strace -y -x -enetwork $args "$file"
+run_prog ../scm_rights /dev/zero
+run_strace -y -x -e%network $args "$file"
 
 hex='[[:xdigit:]]'
 n='[1-9][0-9]*'
@@ -66,15 +64,9 @@
 rights='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, cmsg_data='"$rights_data"'\}'
 creds='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data='"$ids"'\}'
 
-EXPECTED="$LOG.expected"
-
-cat > "$EXPECTED" << __EOF__
+cat > "$EXP" << __EOF__
 sendmsg\\(3$socket, $msg_head\\[$rights\\]$msg_tail\\}, 0\\) = 15
 recvmsg\\(0$socket, $msg_head\\[$creds, $rights\\]$msg_tail\\}, 0\\) = 15
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-rm -rf -- "$dir"
-
-exit 0
+match_grep "$LOG" "$EXP"
diff --git a/tests-m32/scm_rights.c b/tests-m32/scm_rights.c
index 42caed7..632cf91 100644
--- a/tests-m32/scm_rights.c
+++ b/tests-m32/scm_rights.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,11 +45,11 @@
 	void *data = tail_alloc(data_size);
 	memcpy(data, sample, data_size);
 
-	struct iovec *iov = tail_alloc(sizeof(struct iovec));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = data;
 	iov->iov_len = data_size;
 
-	struct msghdr *mh = tail_alloc(sizeof(struct msghdr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, mh);
 	memset(mh, 0, sizeof(*mh));
 	mh->msg_iov = iov;
 	mh->msg_iovlen = 1;
diff --git a/tests-m32/scno_tampering.sh b/tests-m32/scno_tampering.sh
index 6aa7843..094175e 100755
--- a/tests-m32/scno_tampering.sh
+++ b/tests-m32/scno_tampering.sh
@@ -3,6 +3,7 @@
 # Skip the test if arch+kernel combination is not supported.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/seccomp-filter-v.c b/tests-m32/seccomp-filter-v.c
index dbf686d..fe88ac7 100644
--- a/tests-m32/seccomp-filter-v.c
+++ b/tests-m32/seccomp-filter-v.c
@@ -2,6 +2,7 @@
  * Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -105,7 +106,7 @@
 		tail_memdup(filter_c, sizeof(filter_c));
 	struct sock_filter *const big_filter =
 		tail_alloc(sizeof(*big_filter) * (BPF_MAXINSNS + 1));
-	struct sock_fprog *const prog = tail_alloc(sizeof(*prog));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sock_fprog, prog);
 
 	int fds[2];
 	if (pipe(fds))
diff --git a/tests-m32/seccomp-filter-v.gen.test b/tests-m32/seccomp-filter-v.gen.test
new file mode 100755
index 0000000..efce637
--- /dev/null
+++ b/tests-m32/seccomp-filter-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (seccomp-filter-v -v -e trace=seccomp); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=seccomp
diff --git a/tests-m32/seccomp-filter-v.test b/tests-m32/seccomp-filter-v.test
deleted file mode 100755
index f873eb6..0000000
--- a/tests-m32/seccomp-filter-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=seccomp
diff --git a/tests-m32/seccomp-filter.c b/tests-m32/seccomp-filter.c
index d4d76dd..e2bea06 100644
--- a/tests-m32/seccomp-filter.c
+++ b/tests-m32/seccomp-filter.c
@@ -2,6 +2,7 @@
  * Check decoding of seccomp SECCOMP_SET_MODE_FILTER.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,7 +50,7 @@
 {
 	struct sock_filter *const filter = tail_alloc(sizeof(*filter) * N);
 	const void *const efault = tail_alloc(1);
-	struct sock_fprog *const prog = tail_alloc(sizeof(*prog));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sock_fprog, prog);
 	long rc;
 
 	prog->filter = filter;
diff --git a/tests-m32/seccomp-filter.gen.test b/tests-m32/seccomp-filter.gen.test
new file mode 100755
index 0000000..52af0d5
--- /dev/null
+++ b/tests-m32/seccomp-filter.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (seccomp-filter -e trace=seccomp); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=seccomp
diff --git a/tests-m32/seccomp-filter.test b/tests-m32/seccomp-filter.test
deleted file mode 100755
index 65c6d49..0000000
--- a/tests-m32/seccomp-filter.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=seccomp
diff --git a/tests-m32/seccomp-strict.test b/tests-m32/seccomp-strict.test
index b354c6a..b039871 100755
--- a/tests-m32/seccomp-strict.test
+++ b/tests-m32/seccomp-strict.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-set -- "./$NAME"
+set -- "../$NAME"
 "$@" > /dev/null || {
 	case $? in
 		77) skip_ "$* exited with code 77" ;;
@@ -14,4 +14,3 @@
 }
 run_strace -eseccomp "$@" > "$EXP"
 match_diff "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-m32/select.gen.test b/tests-m32/select.gen.test
new file mode 100755
index 0000000..cb3b8f1
--- /dev/null
+++ b/tests-m32/select.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (select -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-m32/select.test b/tests-m32/select.test
deleted file mode 100755
index 60b88ca..0000000
--- a/tests-m32/select.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check select syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-m32/semop.c b/tests-m32/semop.c
index a2ff263..3d1f384 100644
--- a/tests-m32/semop.c
+++ b/tests-m32/semop.c
@@ -33,9 +33,7 @@
 	static void * const bogus_sops = (void *) -1L;
 	static const size_t bogus_nsops = (size_t) 0xdefaceddeadbeefULL;
 
-	static const struct timespec ts_data = { 1, 123456789 };
-
-	struct timespec *ts = tail_memdup(&ts_data, sizeof(*ts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
 	int rc;
 
 	id = semget(IPC_PRIVATE, 1, 0600);
@@ -47,8 +45,8 @@
 	if (semctl(id, 0, SETVAL, sem_union) == -1)
 		perror_msg_and_skip("semctl");
 
-	struct sembuf *const sem_b = tail_alloc(sizeof(*sem_b));
-	struct sembuf *const sem_b2 = tail_alloc(sizeof(*sem_b2));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sembuf, sem_b);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sembuf, sem_b2);
 
 	rc = semop(bogus_semid, NULL, bogus_nsops);
 	printf("semop(%d, NULL, %u) = %s\n",
@@ -91,15 +89,17 @@
 	printf("semtimedop(%d, %p, 1, %p) = %s\n",
 		id, sem_b + 1, ts + 1, sprintrc(rc));
 
+	ts->tv_sec = 1;
+	ts->tv_nsec = 123456789;
 	rc = semtimedop(bogus_semid, sem_b2, 2, ts);
-	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n",
+	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u"
+		", {tv_sec=%lld, tv_nsec=%llu}) = %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|" : "",
 		sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT),
 		sem_b2 + 1, 2,
-		(intmax_t) ts->tv_sec, (intmax_t) ts->tv_nsec,
+		(long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
 		sprintrc(rc));
 
 	sem_b->sem_op = 1;
@@ -110,9 +110,27 @@
 	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, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = 0\n", id,
-		(intmax_t) ts->tv_sec, (intmax_t) ts->tv_nsec);
+	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = 0\n", id,
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec));
+
+	sem_b->sem_op = 1;
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	rc = semtimedop(id, sem_b, 1, ts);
+	printf("semtimedop(%d, [{0, 1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       id, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	sem_b->sem_op = -1;
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	rc = semtimedop(id, sem_b, 1, ts);
+	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       id, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/semop.gen.test b/tests-m32/semop.gen.test
new file mode 100755
index 0000000..21b67ea
--- /dev/null
+++ b/tests-m32/semop.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (semop -a32 -e trace=semop,semtimedop); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -e trace=semop,semtimedop
diff --git a/tests-m32/semop.test b/tests-m32/semop.test
deleted file mode 100755
index 3e77d2f..0000000
--- a/tests-m32/semop.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check semop syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -e trace=semop,semtimedop
diff --git a/tests-m32/sendfile.c b/tests-m32/sendfile.c
index 23f096b..9253c10 100644
--- a/tests-m32/sendfile.c
+++ b/tests-m32/sendfile.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,7 +70,7 @@
 	printf("sendfile(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
 	       (unsigned long) page_len);
 
-	uint32_t *p_off = tail_alloc(sizeof(uint32_t));
+	TAIL_ALLOC_OBJECT_VAR_PTR(uint32_t, p_off);
 	void *p = p_off + 1;
 	*p_off = 0;
 
diff --git a/tests-m32/sendfile.gen.test b/tests-m32/sendfile.gen.test
new file mode 100755
index 0000000..433878f
--- /dev/null
+++ b/tests-m32/sendfile.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sendfile -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/sendfile.test b/tests-m32/sendfile.test
deleted file mode 100755
index 48dba58..0000000
--- a/tests-m32/sendfile.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sendfile syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/sendfile64.c b/tests-m32/sendfile64.c
index 7208c30..de02400 100644
--- a/tests-m32/sendfile64.c
+++ b/tests-m32/sendfile64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,7 +70,7 @@
 	printf("sendfile64(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
 	       (unsigned long) page_len);
 
-	uint64_t *p_off = tail_alloc(sizeof(uint64_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, p_off);
 	void *p = p_off + 1;
 	*p_off = 0;
 
diff --git a/tests-m32/sendfile64.gen.test b/tests-m32/sendfile64.gen.test
new file mode 100755
index 0000000..1655dd3
--- /dev/null
+++ b/tests-m32/sendfile64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sendfile64 -a29); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29
diff --git a/tests-m32/sendfile64.test b/tests-m32/sendfile64.test
deleted file mode 100755
index faa0525..0000000
--- a/tests-m32/sendfile64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sendfile64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29
diff --git a/tests-m32/set_mempolicy.gen.test b/tests-m32/set_mempolicy.gen.test
new file mode 100755
index 0000000..f8c81c7
--- /dev/null
+++ b/tests-m32/set_mempolicy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (set_mempolicy -s3 -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3 -a35
diff --git a/tests-m32/set_mempolicy.test b/tests-m32/set_mempolicy.test
deleted file mode 100755
index 0ed6666..0000000
--- a/tests-m32/set_mempolicy.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check set_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a35
diff --git a/tests-m32/set_ptracer_any.c b/tests-m32/set_ptracer_any.c
index bc2f90c..3b4ea2c 100644
--- a/tests-m32/set_ptracer_any.c
+++ b/tests-m32/set_ptracer_any.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/setdomainname.gen.test b/tests-m32/setdomainname.gen.test
new file mode 100755
index 0000000..2b12e08
--- /dev/null
+++ b/tests-m32/setdomainname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setdomainname -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-m32/setdomainname.test b/tests-m32/setdomainname.test
deleted file mode 100755
index 2159e7c..0000000
--- a/tests-m32/setdomainname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setdomainname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-m32/setfsgid.gen.test b/tests-m32/setfsgid.gen.test
new file mode 100755
index 0000000..caff401
--- /dev/null
+++ b/tests-m32/setfsgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsgid -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-m32/setfsgid.test b/tests-m32/setfsgid.test
deleted file mode 100755
index 0ae2b0a..0000000
--- a/tests-m32/setfsgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-m32/setfsgid32.gen.test b/tests-m32/setfsgid32.gen.test
new file mode 100755
index 0000000..fae29e0
--- /dev/null
+++ b/tests-m32/setfsgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsgid32 -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-m32/setfsgid32.test b/tests-m32/setfsgid32.test
deleted file mode 100755
index 9b7a2bf..0000000
--- a/tests-m32/setfsgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-m32/setfsugid.c b/tests-m32/setfsugid.c
index 79ba34d..7484db5 100644
--- a/tests-m32/setfsugid.c
+++ b/tests-m32/setfsugid.c
@@ -2,6 +2,7 @@
  * Check decoding of setfsuid/setfsgid/setfsuid32/setfsgid32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,7 +48,7 @@
 	const kernel_ulong_t tests[] = {
 		ugid,
 		0xffff0000U | ugid,
-		(kernel_ulong_t) 0xffffffff00000000ULL | ugid,
+		F8ILL_KULONG_MASK | ugid,
 		0xffffU,
 		-1U,
 		-1L,
diff --git a/tests-m32/setfsuid.gen.test b/tests-m32/setfsuid.gen.test
new file mode 100755
index 0000000..e4c4d20
--- /dev/null
+++ b/tests-m32/setfsuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsuid -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-m32/setfsuid.test b/tests-m32/setfsuid.test
deleted file mode 100755
index 18a1021..0000000
--- a/tests-m32/setfsuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-m32/setfsuid32.gen.test b/tests-m32/setfsuid32.gen.test
new file mode 100755
index 0000000..b6cd67d
--- /dev/null
+++ b/tests-m32/setfsuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsuid32 -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-m32/setfsuid32.test b/tests-m32/setfsuid32.test
deleted file mode 100755
index 2dce3cc..0000000
--- a/tests-m32/setfsuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-m32/setgid.gen.test b/tests-m32/setgid.gen.test
new file mode 100755
index 0000000..f10add6
--- /dev/null
+++ b/tests-m32/setgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/setgid.test b/tests-m32/setgid.test
deleted file mode 100755
index a3a9004..0000000
--- a/tests-m32/setgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-m32/setgid32.gen.test b/tests-m32/setgid32.gen.test
new file mode 100755
index 0000000..26f194e
--- /dev/null
+++ b/tests-m32/setgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgid32 -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-m32/setgid32.test b/tests-m32/setgid32.test
deleted file mode 100755
index 11a87e1..0000000
--- a/tests-m32/setgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-m32/setgroups.c b/tests-m32/setgroups.c
index 1ec8333..5645c22 100644
--- a/tests-m32/setgroups.c
+++ b/tests-m32/setgroups.c
@@ -2,6 +2,7 @@
  * Check decoding of setgroups/setgroups32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -75,7 +76,7 @@
 	long rc = syscall(SYSCALL_NR, 0, 0);
 	printf("%s(0, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK, 0);
 	printf("%s(0, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, 1, 0);
@@ -91,7 +92,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(const GID_TYPE, g1);
 	GID_TYPE *const g2 = tail_alloc(sizeof(*g2) * 2);
 	GID_TYPE *const g3 = tail_alloc(sizeof(*g3) * 3);
 
@@ -164,9 +165,7 @@
 		printuid(g3[1]);
 		printf(", ...]) = %s\n", errstr);
 
-		const unsigned long size =
-			(unsigned long) 0xffffffff00000000ULL | ngroups_max;
-		rc = syscall(SYSCALL_NR, size, g3);
+		rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK | ngroups_max, g3);
 		errstr = sprintrc(rc);
 		printf("%s(%d, [", SYSCALL_NAME, ngroups_max);
 		printuid(g3[0]);
diff --git a/tests-m32/setgroups.gen.test b/tests-m32/setgroups.gen.test
new file mode 100755
index 0000000..01ec2e7
--- /dev/null
+++ b/tests-m32/setgroups.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgroups -s2 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2 -a17
diff --git a/tests-m32/setgroups.test b/tests-m32/setgroups.test
deleted file mode 100755
index 0dcc8f7..0000000
--- a/tests-m32/setgroups.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a17
diff --git a/tests-m32/setgroups32.gen.test b/tests-m32/setgroups32.gen.test
new file mode 100755
index 0000000..e9e70ad
--- /dev/null
+++ b/tests-m32/setgroups32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgroups32 -s2 -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2 -a19
diff --git a/tests-m32/setgroups32.test b/tests-m32/setgroups32.test
deleted file mode 100755
index ee4750d..0000000
--- a/tests-m32/setgroups32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a19
diff --git a/tests-m32/sethostname.gen.test b/tests-m32/sethostname.gen.test
new file mode 100755
index 0000000..2827b1d
--- /dev/null
+++ b/tests-m32/sethostname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sethostname -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-m32/sethostname.test b/tests-m32/sethostname.test
deleted file mode 100755
index 78f8c58..0000000
--- a/tests-m32/sethostname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sethostname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-m32/setns.gen.test b/tests-m32/setns.gen.test
new file mode 100755
index 0000000..45fcc60
--- /dev/null
+++ b/tests-m32/setns.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setns -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-m32/setns.test b/tests-m32/setns.test
deleted file mode 100755
index e9a905a..0000000
--- a/tests-m32/setns.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-m32/setregid.gen.test b/tests-m32/setregid.gen.test
new file mode 100755
index 0000000..0125d7a
--- /dev/null
+++ b/tests-m32/setregid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setregid -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-m32/setregid.test b/tests-m32/setregid.test
deleted file mode 100755
index 101c7bd..0000000
--- a/tests-m32/setregid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setregid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests-m32/setregid32.gen.test b/tests-m32/setregid32.gen.test
new file mode 100755
index 0000000..24f1505
--- /dev/null
+++ b/tests-m32/setregid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setregid32 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-m32/setregid32.test b/tests-m32/setregid32.test
deleted file mode 100755
index e57e66c..0000000
--- a/tests-m32/setregid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setregid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-m32/setresgid.gen.test b/tests-m32/setresgid.gen.test
new file mode 100755
index 0000000..ca5bc6b
--- /dev/null
+++ b/tests-m32/setresgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresgid -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-m32/setresgid.test b/tests-m32/setresgid.test
deleted file mode 100755
index 5a69574..0000000
--- a/tests-m32/setresgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-m32/setresgid32.gen.test b/tests-m32/setresgid32.gen.test
new file mode 100755
index 0000000..a5edb90
--- /dev/null
+++ b/tests-m32/setresgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresgid32 -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-m32/setresgid32.test b/tests-m32/setresgid32.test
deleted file mode 100755
index 528b2c9..0000000
--- a/tests-m32/setresgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-m32/setresuid.gen.test b/tests-m32/setresuid.gen.test
new file mode 100755
index 0000000..a6e0664
--- /dev/null
+++ b/tests-m32/setresuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresuid -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-m32/setresuid.test b/tests-m32/setresuid.test
deleted file mode 100755
index f1219e0..0000000
--- a/tests-m32/setresuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-m32/setresuid32.gen.test b/tests-m32/setresuid32.gen.test
new file mode 100755
index 0000000..3fbf36b
--- /dev/null
+++ b/tests-m32/setresuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresuid32 -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-m32/setresuid32.test b/tests-m32/setresuid32.test
deleted file mode 100755
index 942a3a6..0000000
--- a/tests-m32/setresuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-m32/setreuid.gen.test b/tests-m32/setreuid.gen.test
new file mode 100755
index 0000000..4c3dc93
--- /dev/null
+++ b/tests-m32/setreuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setreuid -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-m32/setreuid.test b/tests-m32/setreuid.test
deleted file mode 100755
index b6db3c1..0000000
--- a/tests-m32/setreuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setreuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests-m32/setreuid32.gen.test b/tests-m32/setreuid32.gen.test
new file mode 100755
index 0000000..d179053
--- /dev/null
+++ b/tests-m32/setreuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setreuid32 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-m32/setreuid32.test b/tests-m32/setreuid32.test
deleted file mode 100755
index 23323d4..0000000
--- a/tests-m32/setreuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setreuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-m32/setrlimit.gen.test b/tests-m32/setrlimit.gen.test
new file mode 100755
index 0000000..dfe2da3
--- /dev/null
+++ b/tests-m32/setrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setrlimit -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-m32/setrlimit.test b/tests-m32/setrlimit.test
deleted file mode 100755
index 7920608..0000000
--- a/tests-m32/setrlimit.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getrlimit/ugetrlimit/setrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-m32/setuid.gen.test b/tests-m32/setuid.gen.test
new file mode 100755
index 0000000..98d470f
--- /dev/null
+++ b/tests-m32/setuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setuid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/setuid.test b/tests-m32/setuid.test
deleted file mode 100755
index 9279233..0000000
--- a/tests-m32/setuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-m32/setuid32.gen.test b/tests-m32/setuid32.gen.test
new file mode 100755
index 0000000..7d15495
--- /dev/null
+++ b/tests-m32/setuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setuid32 -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-m32/setuid32.test b/tests-m32/setuid32.test
deleted file mode 100755
index 7998392..0000000
--- a/tests-m32/setuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-m32/shmxt.gen.test b/tests-m32/shmxt.gen.test
new file mode 100755
index 0000000..dd9d35f
--- /dev/null
+++ b/tests-m32/shmxt.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (shmxt -a11 -e trace='/(osf_)?shmat,shmdt'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace='/(osf_)?shmat,shmdt'
diff --git a/tests-m32/shmxt.test b/tests-m32/shmxt.test
deleted file mode 100755
index 3757cfa..0000000
--- a/tests-m32/shmxt.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check shmat and shmdt syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-case "$STRACE_ARCH" in
-	alpha) shmat=osf_shmat ;;
-	*) shmat=shmat ;;
-esac
-
-run_strace_match_diff -e trace=$shmat,shmdt -a11
diff --git a/tests-m32/shutdown.gen.test b/tests-m32/shutdown.gen.test
new file mode 100755
index 0000000..3412513
--- /dev/null
+++ b/tests-m32/shutdown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (shutdown -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-m32/shutdown.test b/tests-m32/shutdown.test
deleted file mode 100755
index 22f0d5a..0000000
--- a/tests-m32/shutdown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of shutdown syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-m32/siginfo.gen.test b/tests-m32/siginfo.gen.test
new file mode 100755
index 0000000..33792b9
--- /dev/null
+++ b/tests-m32/siginfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (siginfo -e trace=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=none
diff --git a/tests-m32/siginfo.test b/tests-m32/siginfo.test
deleted file mode 100755
index 725f714..0000000
--- a/tests-m32/siginfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check SIGCHLD siginfo_t decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=none
diff --git a/tests-m32/signal_receive.gen.test b/tests-m32/signal_receive.gen.test
new file mode 100755
index 0000000..79e8fb8
--- /dev/null
+++ b/tests-m32/signal_receive.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signal_receive -a16 -e trace=kill); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16 -e trace=kill
diff --git a/tests-m32/signal_receive.test b/tests-m32/signal_receive.test
deleted file mode 100755
index 9685b66..0000000
--- a/tests-m32/signal_receive.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check whether strace traces signals properly.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16 -e trace=kill
diff --git a/tests-m32/signalfd4.c b/tests-m32/signalfd4.c
index 47e49b5..4391b92 100644
--- a/tests-m32/signalfd4.c
+++ b/tests-m32/signalfd4.c
@@ -2,6 +2,7 @@
  * Check decoding of signalfd4 syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +32,7 @@
 #include <fcntl.h>
 #include <asm/unistd.h>
 
-#if defined __NR_rt_sigprocmask \
- && defined HAVE_SYS_SIGNALFD_H \
+#if defined HAVE_SYS_SIGNALFD_H \
  && defined HAVE_SIGNALFD \
  && defined O_CLOEXEC
 
@@ -41,24 +41,6 @@
 # include <unistd.h>
 # include <sys/signalfd.h>
 
-static unsigned int
-get_sigset_size(void)
-{
-	const unsigned int big_size = 1024 / 8;
-	unsigned int set_size;
-
-	for (set_size = big_size; set_size; set_size >>= 1) {
-		if (!syscall(__NR_rt_sigprocmask, SIG_SETMASK,
-			     NULL, NULL, set_size))
-			break;
-	}
-
-	if (!set_size)
-		perror_msg_and_fail("rt_sigprocmask");
-
-	return set_size;
-}
-
 int
 main(void)
 {
@@ -80,7 +62,6 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("__NR_rt_sigprocmask && HAVE_SYS_SIGNALFD_H"
-		    " && HAVE_SIGNALFD && O_CLOEXEC")
+SKIP_MAIN_UNDEFINED("HAVE_SYS_SIGNALFD_H && HAVE_SIGNALFD && O_CLOEXEC")
 
 #endif
diff --git a/tests-m32/signalfd4.gen.test b/tests-m32/signalfd4.gen.test
new file mode 100755
index 0000000..e91a9fe
--- /dev/null
+++ b/tests-m32/signalfd4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signalfd4 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/signalfd4.test b/tests-m32/signalfd4.test
deleted file mode 100755
index a615a5b..0000000
--- a/tests-m32/signalfd4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of signalfd4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/sigreturn.c b/tests-m32/sigreturn.c
index dace040..ff9a59f 100644
--- a/tests-m32/sigreturn.c
+++ b/tests-m32/sigreturn.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,23 +26,38 @@
  */
 
 #include "tests.h"
-#include <stdlib.h>
-#include <signal.h>
+#include <asm/unistd.h>
 
-#ifdef ASM_SIGRTMIN
-# define RT_0 ASM_SIGRTMIN
-#else
-/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
-# define RT_0 32
+#if defined __powerpc64__ \
+ || (defined __sparc__ && defined __arch64__)
+/* Old sigreturn is defined but not implemented in the kernel. */
+# undef __NR_sigreturn
 #endif
 
-static void handler(int sig)
+#ifdef __NR_sigreturn
+
+# include <signal.h>
+# include <stdio.h>
+# include <stdlib.h>
+
+# ifdef ASM_SIGRTMIN
+#  define RT_0 ASM_SIGRTMIN
+# else
+/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
+#  define RT_0 32
+# endif
+
+static void
+handler(int sig)
 {
 }
 
-int main(void) {
-	sigset_t set;
+int
+main(void)
+{
+	static sigset_t set;
 	sigemptyset(&set);
+	sigaddset(&set, SIGINT);
 	sigaddset(&set, SIGUSR2);
 	sigaddset(&set, SIGCHLD);
 	sigaddset(&set, RT_0 +  3);
@@ -50,8 +65,28 @@
 	sigaddset(&set, RT_0 +  5);
 	sigaddset(&set, RT_0 + 26);
 	sigaddset(&set, RT_0 + 27);
-	sigprocmask(SIG_SETMASK, &set, NULL);
-	signal(SIGUSR1, handler);
-	raise(SIGUSR1);
+	if (sigprocmask(SIG_SETMASK, &set, NULL))
+		perror_msg_and_fail("sigprocmask");
+	sigemptyset(&set);
+
+	/* This should result to old sigreturn. */
+	if (signal(SIGUSR1, handler) == SIG_ERR)
+		perror_msg_and_fail("sigaction");
+
+	if (raise(SIGUSR1))
+		perror_msg_and_fail("raise");
+
+	static const char *const sigs =
+		(SIGUSR2 < SIGCHLD) ? "INT USR2 CHLD" : "INT CHLD USR2";
+	static const char *const rt_sigs = "RT_3 RT_4 RT_5 RT_26 RT_27";
+	printf("sigreturn({mask=[%s %s]}) = 0\n", sigs, rt_sigs);
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigreturn")
+
+#endif
diff --git a/tests-m32/sigreturn.gen.test b/tests-m32/sigreturn.gen.test
new file mode 100755
index 0000000..f317e89
--- /dev/null
+++ b/tests-m32/sigreturn.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigreturn -esignal='!USR1'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal='!USR1'
diff --git a/tests-m32/sigreturn.test b/tests-m32/sigreturn.test
deleted file mode 100755
index f9a612b..0000000
--- a/tests-m32/sigreturn.test
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-#
-# Check rt_sigprocmask and sigreturn/rt_sigreturn decoding.
-#
-# Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-# 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_prog
-run_strace -esignal $args
-
-mask='\[(USR2 CHLD|CHLD USR2) RT_3 RT_4 RT_5 RT_26 RT_27\]'
-rt_sigprocmask='rt_sigprocmask\(SIG_SETMASK, '"$mask"', NULL, [[:digit:]]+\) += 0'
-osf_sigprocmask='osf_sigprocmask\(SIG_SETMASK, '"$mask"'\) += 0 +\(old mask \[[^]]*\]\)'
-EXPECTED="$LOG.expected"
-
-cat > "$EXPECTED" << __EOF__
-$rt_sigprocmask|$osf_sigprocmask
-(rt_)?sigreturn\\((\\{mask=$mask\\})?\\) += 0
-__EOF__
-
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-
-exit 0
diff --git a/tests-m32/sigsuspend.c b/tests-m32/sigsuspend.c
new file mode 100644
index 0000000..dac6890
--- /dev/null
+++ b/tests-m32/sigsuspend.c
@@ -0,0 +1,117 @@
+/*
+ * Check decoding of sigsuspend syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_sigsuspend
+
+# include <assert.h>
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+# ifdef MIPS
+#  define SIGNAL_MASK_BY_REF 1
+# else
+#  define SIGNAL_MASK_BY_REF 0
+# endif
+
+static long
+k_sigsuspend(const kernel_ulong_t arg1,
+	     const kernel_ulong_t arg2,
+	     const kernel_ulong_t arg3)
+{
+	return syscall(__NR_sigsuspend, arg1, arg2, arg3);
+}
+
+static int signo;
+static const char *sigtxt[] = {
+	[SIGUSR1] = "USR1",
+	[SIGUSR2] = "USR2"
+};
+
+static void
+handler(int i)
+{
+	signo = i;
+}
+
+int
+main(void)
+{
+	union {
+		sigset_t libc_mask;
+		unsigned long old_mask;
+	} u;
+
+	sigemptyset(&u.libc_mask);
+	sigaddset(&u.libc_mask, SIGUSR1);
+	sigaddset(&u.libc_mask, SIGUSR2);
+	if (sigprocmask(SIG_SETMASK, &u.libc_mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+
+	const struct sigaction sa = { .sa_handler = handler };
+	if (sigaction(SIGUSR1, &sa, NULL) || sigaction(SIGUSR2, &sa, NULL))
+		perror_msg_and_fail("sigaction");
+
+	raise(SIGUSR1);
+	raise(SIGUSR2);
+
+	u.old_mask = -1UL;
+	sigdelset(&u.libc_mask, SIGUSR1);
+	const unsigned long mask1 = u.old_mask;
+
+	u.old_mask = -1UL;
+	sigdelset(&u.libc_mask, SIGUSR2);
+	const unsigned long mask2 = u.old_mask;
+
+#if SIGNAL_MASK_BY_REF
+	k_sigsuspend((uintptr_t) &mask1, 0xdeadbeef, (uintptr_t) &mask2);
+#else
+	k_sigsuspend(mask1, 0xdeadbeef, mask2);
+#endif
+	if (EINTR != errno)
+		perror_msg_and_skip("sigsuspend");
+
+	printf("sigsuspend(~[%s]) = ? ERESTARTNOHAND"
+	       " (To be restarted if no handler)\n", sigtxt[signo]);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigsuspend")
+
+#endif
diff --git a/tests-m32/sigsuspend.gen.test b/tests-m32/sigsuspend.gen.test
new file mode 100755
index 0000000..afd0207
--- /dev/null
+++ b/tests-m32/sigsuspend.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigsuspend -a19 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19 -esignal=none
diff --git a/tests-m32/skip_unavailable.c b/tests-m32/skip_unavailable.c
new file mode 100644
index 0000000..074fc3a
--- /dev/null
+++ b/tests-m32/skip_unavailable.c
@@ -0,0 +1,13 @@
+#include "tests.h"
+
+#include <sys/stat.h>
+#include <unistd.h>
+
+void
+skip_if_unavailable(const char *const path)
+{
+	struct stat st;
+
+	if (stat(path, &st))
+		perror_msg_and_skip("stat: %s", path);
+}
diff --git a/tests-m32/socketcall.gen.test b/tests-m32/socketcall.gen.test
new file mode 100755
index 0000000..95c45fd
--- /dev/null
+++ b/tests-m32/socketcall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (socketcall -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-m32/socketcall.test b/tests-m32/socketcall.test
deleted file mode 100755
index 959bc83..0000000
--- a/tests-m32/socketcall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of socketcall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-m32/sockname.c b/tests-m32/sockname.c
index c5072ca..9bab8ed 100644
--- a/tests-m32/sockname.c
+++ b/tests-m32/sockname.c
@@ -2,6 +2,7 @@
  * Check decoding of sockname family syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -74,7 +75,7 @@
 static void
 test_sockname_syscall(const int fd)
 {
-	socklen_t *const plen = tail_alloc(sizeof(*plen));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, plen);
 	*plen = sizeof(struct sockaddr_un);
 	struct sockaddr_un *addr = tail_alloc(*plen);
 
diff --git a/tests-m32/splice.c b/tests-m32/splice.c
index b6f2525..cf07c80 100644
--- a/tests-m32/splice.c
+++ b/tests-m32/splice.c
@@ -2,6 +2,7 @@
  * This file is part of splice strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +41,8 @@
 {
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_in);
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_out);
 	*off_in = 0xdeadbef1facefed1ULL;
 	*off_out = 0xdeadbef2facefed2ULL;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
diff --git a/tests-m32/splice.gen.test b/tests-m32/splice.gen.test
new file mode 100755
index 0000000..83c8406
--- /dev/null
+++ b/tests-m32/splice.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (splice ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/splice.test b/tests-m32/splice.test
deleted file mode 100755
index cc5c327..0000000
--- a/tests-m32/splice.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check splice syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/stat.c b/tests-m32/stat.c
index d4ca7b0..79e9175 100644
--- a/tests-m32/stat.c
+++ b/tests-m32/stat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/stat.gen.test b/tests-m32/stat.gen.test
new file mode 100755
index 0000000..13ccd0b
--- /dev/null
+++ b/tests-m32/stat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (stat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/stat.test b/tests-m32/stat.test
deleted file mode 100755
index ba8938c..0000000
--- a/tests-m32/stat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check stat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/stat64.c b/tests-m32/stat64.c
index 782de33..74927de 100644
--- a/tests-m32/stat64.c
+++ b/tests-m32/stat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-m32/stat64.gen.test b/tests-m32/stat64.gen.test
new file mode 100755
index 0000000..f49df37
--- /dev/null
+++ b/tests-m32/stat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (stat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/stat64.test b/tests-m32/stat64.test
deleted file mode 100755
index abcfb9e..0000000
--- a/tests-m32/stat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check stat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-m32/statfs.expected b/tests-m32/statfs.expected
deleted file mode 100644
index 11e9f0b..0000000
--- a/tests-m32/statfs.expected
+++ /dev/null
@@ -1 +0,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-m32/statfs.gen.test b/tests-m32/statfs.gen.test
new file mode 100755
index 0000000..19b26dd
--- /dev/null
+++ b/tests-m32/statfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statfs -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-m32/statfs.test b/tests-m32/statfs.test
deleted file mode 100755
index 6075576..0000000
--- a/tests-m32/statfs.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# Check statfs syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-# this test probes /proc/self/status
-[ -f /proc/self/status ] ||
-	framework_skip_ '/proc/self/status is not available'
-
-run_strace_match_diff -a17
diff --git a/tests-m32/statfs64.gen.test b/tests-m32/statfs64.gen.test
new file mode 100755
index 0000000..66409f9
--- /dev/null
+++ b/tests-m32/statfs64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statfs64 -a23); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23
diff --git a/tests-m32/statfs64.test b/tests-m32/statfs64.test
deleted file mode 100755
index 9c0aa27..0000000
--- a/tests-m32/statfs64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check statfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests-m32/statx.c b/tests-m32/statx.c
new file mode 100644
index 0000000..f36fb0e
--- /dev/null
+++ b/tests-m32/statx.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_statx
+
+# include <linux/stat.h>
+# include "xlat.h"
+# include "xlat/statx_masks.h"
+# include "xlat/statx_attrs.h"
+# include "xlat/at_statx_sync_types.h"
+
+# define IS_STATX 1
+# define TEST_SYSCALL_STR "statx"
+# define STRUCT_STAT struct statx
+# define STRUCT_STAT_STR "struct statx"
+# define STRUCT_STAT_IS_STAT64 0
+
+static unsigned    TEST_SYSCALL_STATX_FLAGS     = AT_STATX_SYNC_AS_STAT;
+static const char *TEST_SYSCALL_STATX_FLAGS_STR = "AT_STATX_SYNC_AS_STAT";
+static unsigned    TEST_SYSCALL_STATX_MASK      = STATX_ALL;
+static const char *TEST_SYSCALL_STATX_MASK_STR  = "STATX_ALL";
+
+# define TEST_SYSCALL_INVOKE(sample, pst) \
+	syscall(__NR_statx, AT_FDCWD, sample, TEST_SYSCALL_STATX_FLAGS, \
+	        TEST_SYSCALL_STATX_MASK, pst)
+# define PRINT_SYSCALL_HEADER(sample) \
+	do { \
+		int saved_errno = errno; \
+		printf("%s(AT_FDCWD, \"%s\", %s, %s, ", \
+		       TEST_SYSCALL_STR, sample, TEST_SYSCALL_STATX_FLAGS_STR, \
+		       TEST_SYSCALL_STATX_MASK_STR)
+# define PRINT_SYSCALL_FOOTER(rc) \
+		errno = saved_errno; \
+		printf(") = %s\n", sprintrc(rc)); \
+	} while (0)
+
+# include "xstatx.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_statx")
+
+#endif
diff --git a/tests-m32/statx.gen.test b/tests-m32/statx.gen.test
new file mode 100755
index 0000000..bff3e3f
--- /dev/null
+++ b/tests-m32/statx.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statx -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-m32/statx.sh b/tests-m32/statx.sh
deleted file mode 100755
index a630193..0000000
--- a/tests-m32/statx.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of stat family syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -P $NAME.sample -P /dev/full -a32
diff --git a/tests-m32/strace-C.test b/tests-m32/strace-C.test
index ccca9a0..359ddbd 100755
--- a/tests-m32/strace-C.test
+++ b/tests-m32/strace-C.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -a24 -C -enanosleep ./sleep 1
+run_prog ../sleep 0
+run_strace -a24 -C -enanosleep ../sleep 1
 match_grep
diff --git a/tests-m32/strace-E.expected b/tests-m32/strace-E.expected
index d7823b7..3ae2c28 100644
--- a/tests-m32/strace-E.expected
+++ b/tests-m32/strace-E.expected
@@ -1 +1 @@
-execve\("\./sleep", \["\./sleep", "0"\], \[.*"option_E_var=OPTION_E_VAL".*\]\) = 0
+execve\("\.\./sleep", \["\.\./sleep", "0"\], \[.*"option_E_var=OPTION_E_VAL".*\]\) = 0
diff --git a/tests-m32/strace-E.test b/tests-m32/strace-E.test
index d76ec3f..843f27a 100755
--- a/tests-m32/strace-E.test
+++ b/tests-m32/strace-E.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0 > /dev/null
+run_prog ../sleep 0 > /dev/null
 run_strace -E option_E_var=OPTION_E_VAL -v $args
 match_grep
diff --git a/tests-m32/strace-S.test b/tests-m32/strace-S.test
index 3ea315c..64e4a41 100755
--- a/tests-m32/strace-S.test
+++ b/tests-m32/strace-S.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./readv > /dev/null
+run_prog ../readv > /dev/null
 
 test_c()
 {
@@ -13,7 +13,7 @@
 	sortopts="$1"; shift
 	sedexpr="$1"; shift
 
-	run_strace -c -w -S "$sortby" ./readv > /dev/null
+	run_strace -c -w -S "$sortby" ../readv > /dev/null
 	sed -r -n -e "$sedexpr" < "$LOG" > "$OUT"
 
 	[ -s "$OUT" ] ||
@@ -28,5 +28,3 @@
 c='[[:space:]]+([^[:space:]]+)'
 test_c calls '-n -r' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'[[:space:]].*/\4/p'
 test_c name '' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'([[:space:]]+[0-9]+)?'"$c"'$/\6/p'
-
-rm -f "$OUT"
diff --git a/tests-m32/strace-T.test b/tests-m32/strace-T.test
index 7ab84a7..a6dac4e 100755
--- a/tests-m32/strace-T.test
+++ b/tests-m32/strace-T.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -a24 -T -enanosleep ./sleep 1
+run_prog ../sleep 0
+run_strace -a24 -T -enanosleep ../sleep 1
 match_grep
diff --git a/tests-m32/strace-V.test b/tests-m32/strace-V.test
index 9a051e0..d5c3ac0 100755
--- a/tests-m32/strace-V.test
+++ b/tests-m32/strace-V.test
@@ -10,15 +10,22 @@
 
 getval()
 {
-	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' ../config.h
+	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' \
+		../../config.h
+}
+
+config_year=$(getval COPYRIGHT_YEAR)
+
+[ "$year" -ge "$config_year" ] && [ "$config_year" -ge 2017 ] || {
+	echo >&2 "The year derived from config.h (${config_year}) does not pass sanity checks."
+	exit 1
 }
 
 cat > "$EXP" << __EOF__
 $(getval PACKAGE_NAME) -- version $(getval PACKAGE_VERSION)
-Copyright (C) 1991-$year The strace developers <$(getval PACKAGE_URL)>.
+Copyright (C) 1991-${config_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"
+match_diff "$LOG" "$EXP"
diff --git a/tests-m32/strace-ff.test b/tests-m32/strace-ff.test
index 2ce06f1..7107527 100755
--- a/tests-m32/strace-ff.test
+++ b/tests-m32/strace-ff.test
@@ -7,7 +7,7 @@
 run_prog_skip_if_failed \
 	kill -0 $$
 
-./set_ptracer_any ./sleep 1 > "$OUT" &
+../set_ptracer_any ../sleep 1 > "$OUT" &
 tracee_pid=$!
 
 while ! [ -s "$OUT" ]; do
@@ -15,7 +15,6 @@
 		fail_ 'set_ptracer_any sleep failed'
 done
 
-rm -f "$LOG".*
 run_strace -a14 -eexit_group -ff -p $tracee_pid
 
 # check that output matches
@@ -25,5 +24,3 @@
 set -- "$LOG".*
 [ "$LOG.$tracee_pid" = "$*" ] ||
 	fail_ "too many output files: $*"
-
-rm -f "$OUT" "$LOG.$tracee_pid"
diff --git a/tests-m32/strace-k.test b/tests-m32/strace-k.test
index d5e8ed2..e68951e 100755
--- a/tests-m32/strace-k.test
+++ b/tests-m32/strace-k.test
@@ -4,6 +4,7 @@
 #
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -37,7 +38,7 @@
 check_prog sed
 check_prog tr
 
-run_prog ./stack-fcall
+run_prog ../stack-fcall
 run_strace -e getpid -k $args
 
 expected='getpid f3 f2 f1 f0 main '
diff --git a/tests-m32/strace-r.expected b/tests-m32/strace-r.expected
index 8009c35..2a5b977 100644
--- a/tests-m32/strace-r.expected
+++ b/tests-m32/strace-r.expected
@@ -1,2 +1,2 @@
-[ ]{5}0\.0{6} execve\("\./sleep", \["\./sleep", "1"\], \[/\* [[:digit:]]+ vars \*/\]\) = 0
+[ ]{5}0\.0{6} execve\("\.\./sleep", \["\.\./sleep", "1"\], 0x[[:xdigit:]]* /\* [[:digit:]]* vars \*/\) = 0
 [ ]{5}(1\.[01]|0\.9)[[:digit:]]{5} \+\+\+ exited with 0 \+\+\+
diff --git a/tests-m32/strace-r.test b/tests-m32/strace-r.test
index 4ba01f1..00649b5 100755
--- a/tests-m32/strace-r.test
+++ b/tests-m32/strace-r.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -r -eexecve ./sleep 1
+run_prog ../sleep 0
+run_strace -r -eexecve ../sleep 1
 match_grep
diff --git a/tests-m32/strace-t.test b/tests-m32/strace-t.test
index 1d213e6..38070f3 100755
--- a/tests-m32/strace-t.test
+++ b/tests-m32/strace-t.test
@@ -5,16 +5,14 @@
 . "${srcdir=.}/init.sh"
 
 run_prog_skip_if_failed date +%T > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 t0="$(date +%T)"
 run_strace -t -eexecve $args
 t1="$(date +%T)"
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
-($t0|$t1) execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+cat > "$EXP" << __EOF__
+($t0|$t1) execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
+match_grep "$LOG" "$EXP"
diff --git a/tests-m32/strace-tt.test b/tests-m32/strace-tt.test
index 3f80001..3285655 100755
--- a/tests-m32/strace-tt.test
+++ b/tests-m32/strace-tt.test
@@ -6,7 +6,7 @@
 
 run_prog_skip_if_failed date +%s > "$LOG"
 run_prog_skip_if_failed date +%T --date "@$(cat "$LOG")" > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 s0="$(date +%s)"
 run_strace -tt -eexecve $args
@@ -21,8 +21,7 @@
 done
 
 cat > "$EXP" << __EOF__
-($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+($t_reg)\\.[[:digit:]]{6} execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0
 __EOF__
 
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-m32/strace-ttt.test b/tests-m32/strace-ttt.test
index 4439715..7d4435b 100755
--- a/tests-m32/strace-ttt.test
+++ b/tests-m32/strace-ttt.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog_skip_if_failed date +%s > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 s0="$(date +%s)"
 run_strace -ttt -eexecve $args
@@ -19,8 +19,7 @@
 done
 
 cat > "$EXP" << __EOF__
-($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+($t_reg)\\.[[:digit:]]{6} execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]+ vars \\*/\\) = 0
 __EOF__
 
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-m32/struct_flock.c b/tests-m32/struct_flock.c
index 34cf58e..428c038 100644
--- a/tests-m32/struct_flock.c
+++ b/tests-m32/struct_flock.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,7 +33,6 @@
 #include "flock.h"
 
 #define FILE_LEN 4096
-#define EINVAL_STR "-1 EINVAL (Invalid argument)"
 
 #define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd)
 
@@ -45,9 +45,10 @@
 static long
 invoke_test_syscall(const unsigned int cmd, void *const p)
 {
-	const unsigned long op = (unsigned long) 0xffffffff00000000ULL | cmd;
+	const kernel_ulong_t fd = F8ILL_KULONG_MASK;
+	const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd;
 
-	return syscall(TEST_SYSCALL_NR, 0, op, (unsigned long) p);
+	return syscall(TEST_SYSCALL_NR, fd, op, (unsigned long) p);
 }
 
 static void
@@ -58,10 +59,10 @@
 		.l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL,
 		.l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
-	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, EINVAL_STR);
+	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc));
 }
 
 static void
@@ -77,7 +78,7 @@
 	long rc = invoke_test_syscall(F_SETLK, &fl);
 	printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=0, l_len=%d}) = %s\n",
-	       TEST_SYSCALL_STR, FILE_LEN, rc ? EINVAL_STR : "0");
+	       TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc));
 	if (rc)
 		return;
 
diff --git a/tests-m32/sun_path.test b/tests-m32/sun_path.test
index 728328a..f0b7a02 100755
--- a/tests-m32/sun_path.test
+++ b/tests-m32/sun_path.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./net-accept-connect 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
+run_prog ../net-accept-connect 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
 run_strace_merge -ebind,connect,getsockname $args
 match_grep
 
diff --git a/tests-m32/swap.gen.test b/tests-m32/swap.gen.test
new file mode 100755
index 0000000..4ca7891
--- /dev/null
+++ b/tests-m32/swap.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (swap -a23 -e trace=swapon,swapoff); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=swapon,swapoff
diff --git a/tests-m32/swap.test b/tests-m32/swap.test
deleted file mode 100755
index a30e1fd..0000000
--- a/tests-m32/swap.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check swapon and swapoff syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=swapon,swapoff
diff --git a/tests-m32/sxetmask.c b/tests-m32/sxetmask.c
new file mode 100644
index 0000000..0ede9ad
--- /dev/null
+++ b/tests-m32/sxetmask.c
@@ -0,0 +1,124 @@
+/*
+ * Check decoding of sgetmask and ssetmask syscalls.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_sgetmask && defined __NR_ssetmask
+
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+static long
+k_sgetmask(void)
+{
+	return syscall(__NR_sgetmask);
+}
+
+static long
+k_ssetmask(const kernel_ulong_t arg)
+{
+	return syscall(__NR_ssetmask, arg);
+}
+
+int
+main(void)
+{
+	union {
+		sigset_t libc_mask;
+		unsigned long old_mask;
+	} uset, uget;
+	long rc;
+
+	/*
+	 * Block, reset, and raise SIGUSR1.
+	 * If a subsequent ssetmask call fails to set the proper mask,
+	 * the process will be terminated by SIGUSR1.
+	 */
+	sigemptyset(&uset.libc_mask);
+	sigaddset(&uset.libc_mask, SIGUSR1);
+	if (sigprocmask(SIG_SETMASK, &uset.libc_mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+	if (signal(SIGUSR1, SIG_DFL) == SIG_ERR)
+		perror_msg_and_fail("signal");
+	raise(SIGUSR1);
+
+	sigaddset(&uset.libc_mask, SIGUSR2);
+	rc = k_ssetmask((kernel_ulong_t) 0xfacefeed00000000ULL | uset.old_mask);
+	if (rc == -1L) {
+		printf("ssetmask([USR1 USR2]) = %s\n", sprintrc(rc));
+	} else {
+		printf("ssetmask([USR1 USR2]) = %#lx (old mask [USR1])\n", rc);
+		/*
+		 * Use a regular sigprocmask call to check the value
+		 * returned by the ssetmask call being tested.
+		 */
+		if (sigprocmask(SIG_SETMASK, NULL, &uget.libc_mask))
+			perror_msg_and_fail("sigprocmask");
+		if (uset.old_mask != uget.old_mask)
+			error_msg_and_fail("sigprocmask returned %#lx"
+					   " instead of %#lx",
+					   uget.old_mask, uset.old_mask);
+	}
+
+	rc = k_sgetmask();
+	if (rc == -1L) {
+		printf("sgetmask() = %s\n", sprintrc(rc));
+	} else {
+		printf("sgetmask() = %#lx (mask [USR1 USR2])\n", rc);
+		if (uget.old_mask != (unsigned long) rc)
+			error_msg_and_fail("sigprocmask returned %#lx",
+					   uget.old_mask);
+
+		if (sizeof(long) > 4) {
+			sigaddset(&uset.libc_mask, 32 + 27);
+			if (sigprocmask(SIG_SETMASK, &uset.libc_mask, NULL))
+				perror_msg_and_fail("sigprocmask");
+			rc = k_sgetmask();
+			printf("sgetmask() = %#lx"
+			       " (mask [USR1 USR2 RT_27])\n", rc);
+			if (uset.old_mask != (unsigned long) rc)
+				error_msg_and_fail("sigprocmask set %#lx",
+						   uset.old_mask);
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sgetmask && __NR_ssetmask")
+
+#endif
diff --git a/tests-m32/sxetmask.gen.test b/tests-m32/sxetmask.gen.test
new file mode 100755
index 0000000..fea9e4a
--- /dev/null
+++ b/tests-m32/sxetmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sxetmask -a11 -e trace=sgetmask,ssetmask); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=sgetmask,ssetmask
diff --git a/tests-m32/symlink.c b/tests-m32/symlink.c
index 72cb490..3e01cf2 100644
--- a/tests-m32/symlink.c
+++ b/tests-m32/symlink.c
@@ -7,14 +7,12 @@
 # include <unistd.h>
 
 int
-main(void)
+main(int ac, char **av)
 {
-	static const char sample_1[] = "symlink_new";
-	static const char sample_2[] = "symlink";
+	static const char sample[] = "symlink.sample";
 
-	long rc = syscall(__NR_symlink, sample_1, sample_2);
-	printf("symlink(\"%s\", \"%s\") = %ld %s (%m)\n",
-	       sample_1, sample_2, rc, errno2name());
+	long rc = syscall(__NR_symlink, sample, av[0]);
+	printf("symlink(\"%s\", \"%s\") = %s\n", sample, av[0], sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/symlink.gen.test b/tests-m32/symlink.gen.test
new file mode 100755
index 0000000..f41668c
--- /dev/null
+++ b/tests-m32/symlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (symlink -a34); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34
diff --git a/tests-m32/symlink.test b/tests-m32/symlink.test
deleted file mode 100755
index 79b93ba..0000000
--- a/tests-m32/symlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check symlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a34
diff --git a/tests-m32/symlinkat.gen.test b/tests-m32/symlinkat.gen.test
new file mode 100755
index 0000000..39e624a
--- /dev/null
+++ b/tests-m32/symlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (symlinkat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/symlinkat.test b/tests-m32/symlinkat.test
deleted file mode 100755
index d8501ff..0000000
--- a/tests-m32/symlinkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check symlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/sync.gen.test b/tests-m32/sync.gen.test
new file mode 100755
index 0000000..4aaf8c7
--- /dev/null
+++ b/tests-m32/sync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync -a7); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a7
diff --git a/tests-m32/sync.test b/tests-m32/sync.test
deleted file mode 100755
index f6bf6c8..0000000
--- a/tests-m32/sync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a7
diff --git a/tests-m32/sync_file_range.gen.test b/tests-m32/sync_file_range.gen.test
new file mode 100755
index 0000000..0693c12
--- /dev/null
+++ b/tests-m32/sync_file_range.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync_file_range ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/sync_file_range.test b/tests-m32/sync_file_range.test
deleted file mode 100755
index 6aa86d6..0000000
--- a/tests-m32/sync_file_range.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/sync_file_range2.gen.test b/tests-m32/sync_file_range2.gen.test
new file mode 100755
index 0000000..23046b6
--- /dev/null
+++ b/tests-m32/sync_file_range2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync_file_range2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/sync_file_range2.test b/tests-m32/sync_file_range2.test
deleted file mode 100755
index 0d9945e..0000000
--- a/tests-m32/sync_file_range2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync_file_range2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/sysinfo.c b/tests-m32/sysinfo.c
index 377bdc9..b4b348c 100644
--- a/tests-m32/sysinfo.c
+++ b/tests-m32/sysinfo.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 	sysinfo(NULL);
 	printf("sysinfo(NULL) = -1 EFAULT (%m)\n");
 
-	struct sysinfo * const si = tail_alloc(sizeof(*si));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sysinfo, si);
 
 	if (sysinfo(si))
 		perror_msg_and_skip("sysinfo");
diff --git a/tests-m32/sysinfo.gen.test b/tests-m32/sysinfo.gen.test
new file mode 100755
index 0000000..e6469d5
--- /dev/null
+++ b/tests-m32/sysinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sysinfo -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-m32/sysinfo.test b/tests-m32/sysinfo.test
deleted file mode 100755
index 806d8b6..0000000
--- a/tests-m32/sysinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sysinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-m32/syslog.gen.test b/tests-m32/syslog.gen.test
new file mode 100755
index 0000000..5423d5b
--- /dev/null
+++ b/tests-m32/syslog.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (syslog -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-m32/syslog.test b/tests-m32/syslog.test
deleted file mode 100755
index 1c2158e..0000000
--- a/tests-m32/syslog.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check syslog syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-m32/tee.gen.test b/tests-m32/tee.gen.test
new file mode 100755
index 0000000..2a87fae
--- /dev/null
+++ b/tests-m32/tee.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (tee ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/tee.test b/tests-m32/tee.test
deleted file mode 100755
index 76b6000..0000000
--- a/tests-m32/tee.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check tee syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/tests.h b/tests-m32/tests.h
index d4294de..dcc1057 100644
--- a/tests-m32/tests.h
+++ b/tests-m32/tests.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,6 +45,9 @@
 /* Cached sysconf(_SC_PAGESIZE). */
 size_t get_page_size(void);
 
+/* The size of kernel's sigset_t. */
+unsigned int get_sigset_size(void);
+
 /* Print message and strerror(errno) to stderr, then exit(1). */
 void perror_msg_and_fail(const char *, ...)
 	ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
@@ -57,6 +61,9 @@
 void perror_msg_and_skip(const char *, ...)
 	ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
 
+/* Stat the specified file and skip the test if the stat call failed. */
+void skip_if_unavailable(const char *);
+
 /*
  * Allocate memory that ends on the page boundary.
  * Pages allocated by this call are preceeded by an unmapped page
@@ -69,6 +76,22 @@
 	ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((2));
 
 /*
+ * Allocate an object of the specified type at the end
+ * of a mapped memory region.
+ * Assign its address to the specified constant pointer.
+ */
+#define TAIL_ALLOC_OBJECT_CONST_PTR(type_name, type_ptr)	\
+	type_name *const type_ptr = tail_alloc(sizeof(*type_ptr))
+
+/*
+ * Allocate an object of the specified type at the end
+ * of a mapped memory region.
+ * Assign its address to the specified variable pointer.
+ */
+#define TAIL_ALLOC_OBJECT_VAR_PTR(type_name, type_ptr)		\
+	type_name *type_ptr = tail_alloc(sizeof(*type_ptr))
+
+/*
  * 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.
@@ -100,6 +123,12 @@
 /* Print memory in a quoted form. */
 void print_quoted_memory(const char *, size_t);
 
+/* Print time_t and nanoseconds in symbolic format. */
+void print_time_t_nsec(time_t, unsigned long long, int);
+
+/* Print time_t and microseconds in symbolic format. */
+void print_time_t_usec(time_t, unsigned long long, int);
+
 /* Read an int from the file. */
 int read_int_from_file(const char *, int *);
 
diff --git a/tests-m32/threads-execve.c b/tests-m32/threads-execve.c
index 853645f..4eb334f 100644
--- a/tests-m32/threads-execve.c
+++ b/tests-m32/threads-execve.c
@@ -2,6 +2,7 @@
  * Check decoding of threads when a non-leader thread invokes execve.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -136,25 +137,25 @@
 	switch (action % NUMBER_OF_ACTIONS) {
 		case ACTION_exit:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <pid changed to %u ...>\n",
+			       ", %p /* %u vars */ <pid changed to %u ...>\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ), leader);
+			       environ, arglen(environ), leader);
 			break;
 		case ACTION_rt_sigsuspend:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <unfinished ...>\n"
+			       ", %p /* %u vars */ <unfinished ...>\n"
 			       "%-5d <... rt_sigsuspend resumed>) = ?\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ),
+			       environ, arglen(environ),
 			       leader);
 			break;
 		case ACTION_nanosleep:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <unfinished ...>\n"
+			       ", %p /* %u vars */ <unfinished ...>\n"
 			       "%-5d <... nanosleep resumed> <unfinished ...>)"
 			       " = ?\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ),
+			       environ, arglen(environ),
 			       leader);
 			break;
 	}
@@ -180,18 +181,15 @@
 		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",
+		       ", %p /* %u vars */) = 0\n",
 		       leader, argv[0], argv[0], argv[1], argv[2],
-		       arglen(environ));
+		       environ, arglen(environ));
 		execve(argv[0], argv, environ);
 		perror_msg_and_fail("execve");
 	}
diff --git a/tests-m32/threads-execve.test b/tests-m32/threads-execve.test
index 4a77146..02c8924 100755
--- a/tests-m32/threads-execve.test
+++ b/tests-m32/threads-execve.test
@@ -3,6 +3,7 @@
 # Check decoding of threads when a non-leader thread invokes execve.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -40,10 +41,11 @@
 
 # Due to probabilistic nature of the test, try it several times.
 i=0
-while [ $i -le 9 ]; do
+while [ $i -le 19 ]; do
+	i="$(($i+1))"
 	run_strace "$@" > "$EXP"
-	diff -- "$EXP" "$LOG" || continue
-	rm -f "$EXP"
+	sed 1d < "$LOG" > "$OUT"
+	diff -- "$EXP" "$OUT" || continue
 	exit 0
 done
 
diff --git a/tests-m32/time.c b/tests-m32/time.c
index 4a5cde9..c329a79 100644
--- a/tests-m32/time.c
+++ b/tests-m32/time.c
@@ -2,6 +2,7 @@
  * This file is part of time strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,15 +41,24 @@
 int
 main(void)
 {
-	time_t *p = tail_alloc(sizeof(time_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(time_t, p);
 
 	time_t t = syscall(__NR_time, NULL);
 	if ((time_t) -1 == t)
 		perror_msg_and_skip("time");
-	printf("time(NULL) = %jd\n", (intmax_t) t);
+	printf("time(NULL) = %lld (", (long long) t);
+	print_time_t_nsec(t, 0, 0);
+	puts(")");
+
+	t = syscall(__NR_time, p + 1);
+	printf("time(%p) = %s\n", p + 1, sprintrc(t));
 
 	t = syscall(__NR_time, p);
-	printf("time([%jd]) = %jd\n", (intmax_t) *p, (intmax_t) t);
+	printf("time([%lld", (long long) *p);
+	print_time_t_nsec((time_t) *p, 0, 1),
+	printf("]) = %lld (", (long long) t);
+	print_time_t_nsec(t, 0, 0);
+	puts(")");
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/time.gen.test b/tests-m32/time.gen.test
new file mode 100755
index 0000000..ed7ec69
--- /dev/null
+++ b/tests-m32/time.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (time -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/time.test b/tests-m32/time.test
deleted file mode 100755
index 6ab193a..0000000
--- a/tests-m32/time.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check time syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-m32/timer_create.gen.test b/tests-m32/timer_create.gen.test
new file mode 100755
index 0000000..6b4c543
--- /dev/null
+++ b/tests-m32/timer_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timer_create ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/timer_create.test b/tests-m32/timer_create.test
deleted file mode 100755
index 870a179..0000000
--- a/tests-m32/timer_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timer_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/timer_xettime.c b/tests-m32/timer_xettime.c
index 9eabbf0..aacd770 100644
--- a/tests-m32/timer_xettime.c
+++ b/tests-m32/timer_xettime.c
@@ -2,6 +2,7 @@
  * This file is part of timer_xettime strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,6 +48,7 @@
 	printf("timer_settime(%d, TIMER_ABSTIME, NULL, NULL)"
 	       " = -1 EINVAL (%m)\n", 0xdefaced);
 
+	long rc;
 	int tid;
 	struct sigevent sev = { .sigev_notify = SIGEV_NONE };
 
@@ -55,51 +57,61 @@
 	printf("timer_create(CLOCK_MONOTONIC, {sigev_signo=0"
 	       ", sigev_notify=SIGEV_NONE}, [%d]) = 0\n", tid);
 
-	struct {
-		struct itimerspec its;
-		uint32_t pad[4];
-	} old = {
-		.its = {
-			.it_interval = { 0xdeface5, 0xdeface6 },
-			.it_value = { 0xdeface7, 0xdeface8 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.its = {
-			.it_interval = { 0xdeface1, 0xdeface2 },
-			.it_value = { 0xdeface3, 0xdeface4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_new);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_old);
 
-	if (syscall(__NR_timer_settime, tid, 0, &new.its, &old.its))
+	its_new->it_interval.tv_sec = 0xdeadbeefU;
+	its_new->it_interval.tv_nsec = 0xfacefeedU;
+	its_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	its_new->it_value.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = syscall(__NR_timer_settime, tid, 0, its_new, its_old);
+	printf("timer_settime(%d, 0"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}, %p) = %s\n",
+	       tid, (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       its_old, sprintrc(rc));
+
+	its_new->it_interval.tv_sec = 0xdeface1;
+	its_new->it_interval.tv_nsec = 0xdeface2;
+	its_new->it_value.tv_sec = 0xdeface3;
+	its_new->it_value.tv_nsec = 0xdeface4;
+	its_old->it_interval.tv_sec = 0xdeface5;
+	its_old->it_interval.tv_nsec = 0xdeface6;
+	its_old->it_value.tv_sec = 0xdeface7;
+	its_old->it_value.tv_nsec = 0xdeface8;
+
+	if (syscall(__NR_timer_settime, tid, 0, its_new, its_old))
 		perror_msg_and_skip("timer_settime");
 	printf("timer_settime(%d, 0"
-	       ", {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}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
 	       ") = 0\n",
 	       tid,
-	       (intmax_t) new.its.it_interval.tv_sec,
-	       (intmax_t) new.its.it_interval.tv_nsec,
-	       (intmax_t) new.its.it_value.tv_sec,
-	       (intmax_t) new.its.it_value.tv_nsec,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
-	if (syscall(__NR_timer_gettime, tid, &old.its))
+	if (syscall(__NR_timer_gettime, tid, its_old))
 		perror_msg_and_skip("timer_gettime");
 	printf("timer_gettime(%d"
-	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
-	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}) = 0\n",
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}) = 0\n",
 	       tid,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/timer_xettime.gen.test b/tests-m32/timer_xettime.gen.test
new file mode 100755
index 0000000..6e2dffa
--- /dev/null
+++ b/tests-m32/timer_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timer_xettime -e trace=timer_create,timer_settime,timer_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
diff --git a/tests-m32/timer_xettime.test b/tests-m32/timer_xettime.test
deleted file mode 100755
index 08bcdd6..0000000
--- a/tests-m32/timer_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timer_create, timer_settime, and timer_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
diff --git a/tests-m32/timerfd_xettime.c b/tests-m32/timerfd_xettime.c
index ca7124e..1e8a23a 100644
--- a/tests-m32/timerfd_xettime.c
+++ b/tests-m32/timerfd_xettime.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,49 +48,59 @@
 		perror_msg_and_skip("timerfd_create");
 	puts("timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC|TFD_NONBLOCK) = 0");
 
-	struct {
-		struct itimerspec its;
-		uint32_t pad[4];
-	} old = {
-		.its = {
-			.it_interval = { 0xdeface5, 0xdeface6 },
-			.it_value = { 0xdeface7, 0xdeface8 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.its = {
-			.it_interval = { 0xdeface1, 0xdeface2 },
-			.it_value = { 0xdeface3, 0xdeface4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_new);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_old);
 
-	if (syscall(__NR_timerfd_settime, 0, 0, &new.its, &old.its))
+	its_new->it_interval.tv_sec = 0xdeadbeefU;
+	its_new->it_interval.tv_nsec = 0xfacefeedU;
+	its_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	its_new->it_value.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	long rc = syscall(__NR_timerfd_settime, 0, 0, its_new, its_old);
+	printf("timerfd_settime(0, 0"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}, %p) = %s\n",
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       its_old, sprintrc(rc));
+
+	its_new->it_interval.tv_sec = 0xdeface1;
+	its_new->it_interval.tv_nsec = 0xdeface2;
+	its_new->it_value.tv_sec = 0xdeface3;
+	its_new->it_value.tv_nsec = 0xdeface4;
+	its_old->it_interval.tv_sec = 0xdeface5;
+	its_old->it_interval.tv_nsec = 0xdeface6;
+	its_old->it_value.tv_sec = 0xdeface7;
+	its_old->it_value.tv_nsec = 0xdeface8;
+
+	if (syscall(__NR_timerfd_settime, 0, 0, its_new, its_old))
 		perror_msg_and_skip("timerfd_settime");
 	printf("timerfd_settime(0, 0"
-	       ", {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}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
 	       ") = 0\n",
-	       (intmax_t) new.its.it_interval.tv_sec,
-	       (intmax_t) new.its.it_interval.tv_nsec,
-	       (intmax_t) new.its.it_value.tv_sec,
-	       (intmax_t) new.its.it_value.tv_nsec,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
-	if (syscall(__NR_timerfd_gettime, 0, &old.its))
+	if (syscall(__NR_timerfd_gettime, 0, its_old))
 		perror_msg_and_skip("timerfd_gettime");
 	printf("timerfd_gettime(0"
-	       ", {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,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}) = 0\n",
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/timerfd_xettime.gen.test b/tests-m32/timerfd_xettime.gen.test
new file mode 100755
index 0000000..97e560b
--- /dev/null
+++ b/tests-m32/timerfd_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
diff --git a/tests-m32/timerfd_xettime.test b/tests-m32/timerfd_xettime.test
deleted file mode 100755
index 75aa21c..0000000
--- a/tests-m32/timerfd_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timerfd_create, timerfd_settime, and timerfd_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
diff --git a/tests-m32/times-fail.gen.test b/tests-m32/times-fail.gen.test
new file mode 100755
index 0000000..9934d19
--- /dev/null
+++ b/tests-m32/times-fail.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (times-fail -a12 -e trace=times); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12 -e trace=times
diff --git a/tests-m32/times-fail.test b/tests-m32/times-fail.test
deleted file mode 100755
index ee28a06..0000000
--- a/tests-m32/times-fail.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of failing times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -e trace=times
diff --git a/tests-m32/times.gen.test b/tests-m32/times.gen.test
new file mode 100755
index 0000000..ca4ebbe
--- /dev/null
+++ b/tests-m32/times.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (times -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-m32/times.test b/tests-m32/times.test
deleted file mode 100755
index b97e0d3..0000000
--- a/tests-m32/times.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-m32/trace_fstat.gen.test b/tests-m32/trace_fstat.gen.test
new file mode 100755
index 0000000..c3aede1
--- /dev/null
+++ b/tests-m32/trace_fstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
diff --git a/tests-m32/trace_fstat.in b/tests-m32/trace_fstat.in
new file mode 100644
index 0000000..34cfa7e
--- /dev/null
+++ b/tests-m32/trace_fstat.in
@@ -0,0 +1,5 @@
+fstat	-a15
+fstat64	-a17
+fstatat64	-a32
+newfstatat	-a32
+oldfstat	-a21
diff --git a/tests-m32/trace_fstatfs.gen.test b/tests-m32/trace_fstatfs.gen.test
new file mode 100755
index 0000000..063f624
--- /dev/null
+++ b/tests-m32/trace_fstatfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_fstatfs test_trace_expr '' -e%fstatfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%fstatfs
diff --git a/tests-m32/trace_fstatfs.in b/tests-m32/trace_fstatfs.in
new file mode 100644
index 0000000..6441a07
--- /dev/null
+++ b/tests-m32/trace_fstatfs.in
@@ -0,0 +1,2 @@
+fstatfs	-a18
+fstatfs64	-a24
diff --git a/tests-m32/trace_lstat.gen.test b/tests-m32/trace_lstat.gen.test
new file mode 100755
index 0000000..a05b7a1
--- /dev/null
+++ b/tests-m32/trace_lstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_lstat test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full
diff --git a/tests-m32/trace_lstat.in b/tests-m32/trace_lstat.in
new file mode 100644
index 0000000..abbabc4
--- /dev/null
+++ b/tests-m32/trace_lstat.in
@@ -0,0 +1,3 @@
+lstat	-a32
+lstat64	-a32
+oldlstat	-a32
diff --git a/tests-m32/trace_question.gen.test b/tests-m32/trace_question.gen.test
new file mode 100755
index 0000000..76b3578
--- /dev/null
+++ b/tests-m32/trace_question.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_question test_trace_expr '' -e?osf_utimes,?/^pkey_.*); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e?osf_utimes,?/^pkey_.*
diff --git a/tests-m32/trace_question.in b/tests-m32/trace_question.in
new file mode 100644
index 0000000..74d662c
--- /dev/null
+++ b/tests-m32/trace_question.in
@@ -0,0 +1,4 @@
+osf_utimes	-a21
+pkey_alloc	-a17
+pkey_free	-a13
+pkey_mprotect	-a37
diff --git a/tests-m32/trace_stat.gen.test b/tests-m32/trace_stat.gen.test
new file mode 100755
index 0000000..ae95ab8
--- /dev/null
+++ b/tests-m32/trace_stat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_stat test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full
diff --git a/tests-m32/trace_stat.in b/tests-m32/trace_stat.in
new file mode 100644
index 0000000..f105d78
--- /dev/null
+++ b/tests-m32/trace_stat.in
@@ -0,0 +1,3 @@
+oldstat	-a32
+stat	-a32
+stat64	-a32
diff --git a/tests-m32/trace_stat_like.gen.test b/tests-m32/trace_stat_like.gen.test
new file mode 100755
index 0000000..5681a8a
--- /dev/null
+++ b/tests-m32/trace_stat_like.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
diff --git a/tests-m32/trace_stat_like.in b/tests-m32/trace_stat_like.in
new file mode 100644
index 0000000..22bd7f2
--- /dev/null
+++ b/tests-m32/trace_stat_like.in
@@ -0,0 +1,12 @@
+fstat	-a15
+fstat64	-a17
+fstatat64	-a32
+lstat	-a32
+lstat64	-a32
+newfstatat	-a32
+oldfstat	-a21
+oldlstat	-a32
+oldstat	-a32
+stat	-a32
+stat64	-a32
+statx	-a32
diff --git a/tests-m32/trace_statfs.gen.test b/tests-m32/trace_statfs.gen.test
new file mode 100755
index 0000000..957412b
--- /dev/null
+++ b/tests-m32/trace_statfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_statfs test_trace_expr '' -e%statfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%statfs
diff --git a/tests-m32/trace_statfs.in b/tests-m32/trace_statfs.in
new file mode 100644
index 0000000..7c4adfe
--- /dev/null
+++ b/tests-m32/trace_statfs.in
@@ -0,0 +1,2 @@
+statfs	-a17
+statfs64	-a23
diff --git a/tests-m32/trace_statfs_like.gen.test b/tests-m32/trace_statfs_like.gen.test
new file mode 100755
index 0000000..be1a9c0
--- /dev/null
+++ b/tests-m32/trace_statfs_like.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_statfs_like test_trace_expr '' -e%%statfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%%statfs
diff --git a/tests-m32/trace_statfs_like.in b/tests-m32/trace_statfs_like.in
new file mode 100644
index 0000000..285aec6
--- /dev/null
+++ b/tests-m32/trace_statfs_like.in
@@ -0,0 +1,5 @@
+statfs	-a17
+statfs64	-a23
+fstatfs	-a18
+fstatfs64	-a24
+ustat	-a33
diff --git a/tests-m32/truncate.gen.test b/tests-m32/truncate.gen.test
new file mode 100755
index 0000000..0410e73
--- /dev/null
+++ b/tests-m32/truncate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (truncate ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/truncate.test b/tests-m32/truncate.test
deleted file mode 100755
index 6bf1e70..0000000
--- a/tests-m32/truncate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check truncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/truncate64.gen.test b/tests-m32/truncate64.gen.test
new file mode 100755
index 0000000..dae0fe6
--- /dev/null
+++ b/tests-m32/truncate64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (truncate64 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-m32/truncate64.test b/tests-m32/truncate64.test
deleted file mode 100755
index c466806..0000000
--- a/tests-m32/truncate64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check truncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-m32/ugetrlimit.gen.test b/tests-m32/ugetrlimit.gen.test
new file mode 100755
index 0000000..ff27134
--- /dev/null
+++ b/tests-m32/ugetrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ugetrlimit -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-m32/ugetrlimit.test b/tests-m32/ugetrlimit.test
deleted file mode 100755
index f4648ff..0000000
--- a/tests-m32/ugetrlimit.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ugetrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-m32/uio.test b/tests-m32/uio.test
index 020b97e..0184685 100755
--- a/tests-m32/uio.test
+++ b/tests-m32/uio.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog
-run_strace -edesc $args
+run_strace -e%desc $args
 match_grep
 
 exit 0
diff --git a/tests-m32/umask.gen.test b/tests-m32/umask.gen.test
new file mode 100755
index 0000000..60af5e9
--- /dev/null
+++ b/tests-m32/umask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umask -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests-m32/umask.test b/tests-m32/umask.test
deleted file mode 100755
index 1351721..0000000
--- a/tests-m32/umask.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check umask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests-m32/umode_t.c b/tests-m32/umode_t.c
index 5041638..dcd1514 100644
--- a/tests-m32/umode_t.c
+++ b/tests-m32/umode_t.c
@@ -2,6 +2,7 @@
  * Check decoding of umode_t type syscall arguments.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 # define TEST_SYSCALL_PREFIX_STR ""
 #endif
 
-static const char sample[] = TEST_SYSCALL_STR;
+static const char *sample;
 
 static void
 test_syscall(unsigned short mode)
@@ -49,17 +50,18 @@
 
 	if (mode <= 07)
 		printf("%s(%s\"%s\", 00%d) = %ld %s (%m)\n",
-		       sample, TEST_SYSCALL_PREFIX_STR,
+		       TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
 		       sample, (int) mode, rc, errno2name());
 	else
 		printf("%s(%s\"%s\", %#03ho) = %ld %s (%m)\n",
-		       sample, TEST_SYSCALL_PREFIX_STR,
+		       TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
 		       sample, mode, rc, errno2name());
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
+	sample = av[0];
 	test_syscall(0);
 	test_syscall(0xffff);
 	test_syscall(06);
diff --git a/tests-m32/umoven-illptr.gen.test b/tests-m32/umoven-illptr.gen.test
new file mode 100755
index 0000000..eea7b1c
--- /dev/null
+++ b/tests-m32/umoven-illptr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umoven-illptr -a36 -e trace=nanosleep); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36 -e trace=nanosleep
diff --git a/tests-m32/umoven-illptr.test b/tests-m32/umoven-illptr.test
deleted file mode 100755
index 7b8cb31..0000000
--- a/tests-m32/umoven-illptr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of invalid pointer by umoven.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a36 -e trace=nanosleep
diff --git a/tests-m32/umovestr-illptr.gen.test b/tests-m32/umovestr-illptr.gen.test
new file mode 100755
index 0000000..7685d44
--- /dev/null
+++ b/tests-m32/umovestr-illptr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umovestr-illptr -a11 -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=chdir
diff --git a/tests-m32/umovestr-illptr.test b/tests-m32/umovestr-illptr.test
deleted file mode 100755
index 6f1cc86..0000000
--- a/tests-m32/umovestr-illptr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of invalid pointer by umovestr.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a11 -e trace=chdir
diff --git a/tests-m32/umovestr2.test b/tests-m32/umovestr2.test
index 5c5d561..3decbe2 100755
--- a/tests-m32/umovestr2.test
+++ b/tests-m32/umovestr2.test
@@ -9,7 +9,3 @@
 check_prog sed
 sed 1d < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-m32/umovestr3.gen.test b/tests-m32/umovestr3.gen.test
new file mode 100755
index 0000000..b16e1ed
--- /dev/null
+++ b/tests-m32/umovestr3.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umovestr3 -a14 -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=chdir
diff --git a/tests-m32/umovestr3.test b/tests-m32/umovestr3.test
deleted file mode 100755
index d5be283..0000000
--- a/tests-m32/umovestr3.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# yet another umovestr short read test
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14 -e trace=chdir
diff --git a/tests-m32/uname.c b/tests-m32/uname.c
index cd6f51c..96db753 100644
--- a/tests-m32/uname.c
+++ b/tests-m32/uname.c
@@ -10,7 +10,7 @@
 int main(int ac, char **av)
 {
 	int abbrev = ac > 1;
-	struct utsname *const uname = tail_alloc(sizeof(struct utsname));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct utsname, uname);
 	int rc = syscall(__NR_uname, uname);
 	printf("uname({sysname=\"");
 	print_quoted_string(uname->sysname);
diff --git a/tests-m32/uname.test b/tests-m32/uname.test
index 03fe30c..7ca1b5b 100755
--- a/tests-m32/uname.test
+++ b/tests-m32/uname.test
@@ -10,9 +10,8 @@
 run_strace -v -euname $args > "$EXP"
 uniq < "$LOG" > "$OUT"
 
-run_prog "./$NAME" abbrev > /dev/null
+run_prog "../$NAME" abbrev > /dev/null
 run_strace -euname $args >> "$EXP"
 uniq < "$LOG" >> "$OUT"
 
 match_diff "$OUT" "$EXP"
-rm -f "$OUT" "$EXP"
diff --git a/tests-m32/unix-pair-send-recv.test b/tests-m32/unix-pair-send-recv.test
index 4defdeb..10ab7cc 100755
--- a/tests-m32/unix-pair-send-recv.test
+++ b/tests-m32/unix-pair-send-recv.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./unix-pair-send-recv abcdefghijklmnopqrstuvwxyz
+run_prog ../unix-pair-send-recv abcdefghijklmnopqrstuvwxyz
 run_strace -a32 -esignal=none -esend,recv -eread=0 -ewrite=0 $args
 match_diff
 
diff --git a/tests-m32/unix-pair-sendto-recvfrom.test b/tests-m32/unix-pair-sendto-recvfrom.test
index 21afe23..0bd9a04 100755
--- a/tests-m32/unix-pair-sendto-recvfrom.test
+++ b/tests-m32/unix-pair-sendto-recvfrom.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./unix-pair-sendto-recvfrom abcdefghijklmnopqrstuvwxyz
+run_prog ../unix-pair-sendto-recvfrom abcdefghijklmnopqrstuvwxyz
 run_strace -esignal=none -esendto,recvfrom -eread=0 -ewrite=0 $args
 match_diff
 
diff --git a/tests-m32/unlink.gen.test b/tests-m32/unlink.gen.test
new file mode 100755
index 0000000..7b8522b
--- /dev/null
+++ b/tests-m32/unlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unlink -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-m32/unlink.test b/tests-m32/unlink.test
deleted file mode 100755
index 09bf79a..0000000
--- a/tests-m32/unlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check unlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-m32/unlinkat.gen.test b/tests-m32/unlinkat.gen.test
new file mode 100755
index 0000000..5a77c6a
--- /dev/null
+++ b/tests-m32/unlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unlinkat -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-m32/unlinkat.test b/tests-m32/unlinkat.test
deleted file mode 100755
index 864261f..0000000
--- a/tests-m32/unlinkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check unlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-m32/unshare.gen.test b/tests-m32/unshare.gen.test
new file mode 100755
index 0000000..077a458
--- /dev/null
+++ b/tests-m32/unshare.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unshare -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests-m32/unshare.test b/tests-m32/unshare.test
deleted file mode 100755
index ccb9575..0000000
--- a/tests-m32/unshare.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests-m32/userfaultfd.gen.test b/tests-m32/userfaultfd.gen.test
new file mode 100755
index 0000000..4735146
--- /dev/null
+++ b/tests-m32/userfaultfd.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (userfaultfd -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a38
diff --git a/tests-m32/userfaultfd.test b/tests-m32/userfaultfd.test
deleted file mode 100755
index af8b6fb..0000000
--- a/tests-m32/userfaultfd.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check userfaultfd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
diff --git a/tests-m32/ustat.c b/tests-m32/ustat.c
index 57bb29c..3341c70 100644
--- a/tests-m32/ustat.c
+++ b/tests-m32/ustat.c
@@ -47,7 +47,7 @@
 	long rc;
 
 # ifdef HAVE_USTAT_H
-	struct ustat *const ust = tail_alloc(sizeof(*ust));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ustat, ust);
 	struct stat st;
 	if (stat(".", &st))
 		perror_msg_and_fail("stat");
diff --git a/tests-m32/ustat.gen.test b/tests-m32/ustat.gen.test
new file mode 100755
index 0000000..f64b28d
--- /dev/null
+++ b/tests-m32/ustat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ustat -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-m32/ustat.test b/tests-m32/ustat.test
deleted file mode 100755
index 60a88e0..0000000
--- a/tests-m32/ustat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ustat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33
diff --git a/tests-m32/utime.c b/tests-m32/utime.c
index 8fd594f..03e3958 100644
--- a/tests-m32/utime.c
+++ b/tests-m32/utime.c
@@ -2,6 +2,7 @@
  * Check decoding of utime syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,17 +39,6 @@
 # include <stdio.h>
 # include <unistd.h>
 
-
-static void
-print_tm(const struct tm * const p)
-{
-	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)
 {
@@ -60,8 +50,7 @@
 {
 	static const char *const dummy_str = "dummy filename";
 
-	const time_t t = time(NULL);
-	const struct tm * const p = localtime(&t);
+	const time_t t = 1492350678;
 	const struct utimbuf u = { .actime = t, .modtime = t };
 	const struct utimbuf *const tail_u = tail_memdup(&u, sizeof(u));
 	const char *const dummy_filename =
@@ -80,10 +69,10 @@
 
 	rc = k_utime("utime\nfilename", tail_u);
 	const char *errstr = sprintrc(rc);
-	printf("utime(\"utime\\nfilename\", {actime=");
-	print_tm(p);
-	printf(", modtime=");
-	print_tm(p);
+	printf("utime(\"utime\\nfilename\", {actime=%lld", (long long) t);
+	print_time_t_nsec(t, 0, 1);
+	printf(", modtime=%lld", (long long) t);
+	print_time_t_nsec(t, 0, 1);
 	printf("}) = %s\n", errstr);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-m32/utime.gen.test b/tests-m32/utime.gen.test
new file mode 100755
index 0000000..7270556
--- /dev/null
+++ b/tests-m32/utime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utime -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-m32/utime.test b/tests-m32/utime.test
deleted file mode 100755
index bd64c53..0000000
--- a/tests-m32/utime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of utime syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a 16 -e trace=utime
diff --git a/tests-m32/utimensat.c b/tests-m32/utimensat.c
index 6d9faac..ddfd360 100644
--- a/tests-m32/utimensat.c
+++ b/tests-m32/utimensat.c
@@ -1,7 +1,7 @@
 /*
- * This file is part of utimensat strace test.
+ * Check decoding of utimensat syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,66 +28,173 @@
  */
 
 #include "tests.h"
-#include <assert.h>
-#include <errno.h>
 #include <fcntl.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <sys/stat.h>
 #include <sys/time.h>
+#include <unistd.h>
+#include <asm/unistd.h>
 
-#if defined HAVE_UTIMENSAT \
- && defined AT_FDCWD && defined AT_SYMLINK_NOFOLLOW \
- && defined UTIME_NOW && defined UTIME_OMIT
+#if defined __NR_utimensat && defined UTIME_NOW && defined UTIME_OMIT
 
 static void
 print_ts(const struct timespec *ts)
 {
-	printf("{tv_sec=%ju, tv_nsec=%ju}", (uintmax_t) ts->tv_sec,
-		(uintmax_t) ts->tv_nsec);
+	printf("{tv_sec=%lld, tv_nsec=%llu}", (long long) ts->tv_sec,
+		zero_extend_signed_to_ull(ts->tv_nsec));
+	print_time_t_nsec(ts->tv_sec,
+			  zero_extend_signed_to_ull(ts->tv_nsec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_utimensat(const kernel_ulong_t dirfd,
+	    const kernel_ulong_t pathname,
+	    const kernel_ulong_t times,
+	    const kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_utimensat, dirfd, pathname, times, flags);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 int
 main(void)
 {
-	static const char fname[] = "utimensat\nfilename";
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xbadc0deddeadbeef;
+	static const kernel_ulong_t kfdcwd =
+		(kernel_ulong_t) 0xdefaced00000000 | -100U;
+	static const char proto_fname[] = "utimensat\nfilename";
+	static const char qname[] = "\"utimensat\\nfilename\"";
 
-	assert(utimensat(AT_FDCWD, fname, NULL, 0) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	struct timespec *const ts = tail_alloc(sizeof(*ts) * 2);
 
-	#define PREFIX "utimensat(AT_FDCWD, \"utimensat\\nfilename\", "
-	printf(PREFIX "NULL, 0) = -1 ENOENT (%m)\n");
+	(void) close(0);
 
-	struct timeval tv;
-	struct timespec ts[2];
+	/* dirfd */
+	k_utimensat(0, kfname, 0, 0);
+	printf("utimensat(0, %s, NULL, 0) = %s\n", qname, errstr);
 
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_skip("gettimeofday");
+	k_utimensat(bogus_fd, kfname, 0, 0);
+	printf("utimensat(%d, %s, NULL, 0) = %s\n",
+	       (int) bogus_fd, qname, errstr);
 
-	ts[0].tv_sec = tv.tv_sec;
-	ts[0].tv_nsec = tv.tv_usec;
-	ts[1].tv_sec = tv.tv_sec - 1;
-	ts[1].tv_nsec = tv.tv_usec + 1;
+	k_utimensat(-100U, kfname, 0, 0);
+	printf("utimensat(AT_FDCWD, %s, NULL, 0) = %s\n", qname, errstr);
 
-	printf(PREFIX "[");
+	k_utimensat(kfdcwd, kfname, 0, 0);
+	printf("utimensat(AT_FDCWD, %s, NULL, 0) = %s\n", qname, errstr);
+
+	/* pathname */
+	k_utimensat(kfdcwd, 0, 0, 0);
+	printf("utimensat(AT_FDCWD, NULL, NULL, 0) = %s\n", errstr);
+
+	k_utimensat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0, 0);
+	printf("utimensat(AT_FDCWD, \"\", NULL, 0) = %s\n", errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_utimensat(kfdcwd, kfname, 0, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("utimensat(AT_FDCWD, %p, NULL, 0) = %s\n", fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimensat(kfdcwd, f8ill_ptr_to_kulong(fname), 0, 0);
+		printf("utimensat(AT_FDCWD, %#jx, NULL, 0) = %s\n",
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 1), 0);
+	printf("utimensat(AT_FDCWD, %s, %p, 0) = %s\n",
+	       qname, ts + 1, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 2), 0);
+	printf("utimensat(AT_FDCWD, %s, %p, 0)"
+	       " = %s\n", qname, ts + 2, errstr);
+
+	ts[0].tv_sec = 1492358706;
+	ts[0].tv_nsec = 123456789;
+	ts[1].tv_sec = 1492357068;
+	ts[1].tv_nsec = 234567890;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
 	print_ts(&ts[0]);
 	printf(", ");
 	print_ts(&ts[1]);
-	printf("], AT_SYMLINK_NOFOLLOW) = -1 ENOENT ");
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
 
-	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
-	printf("(%m)\n");
+	ts[0].tv_sec = -1;
+	ts[0].tv_nsec = 2000000000;
+	ts[1].tv_sec = (time_t) -0x100000001LL;
+	ts[1].tv_nsec = 2345678900U;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
+
+	ts[0].tv_sec = 0;
+	ts[0].tv_nsec = 0;
+	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts[1].tv_nsec = 0;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
+
+	ts[0].tv_sec = 0xdeadbeefU;
+	ts[0].tv_nsec = 0xfacefeedU;
+	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts[1].tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
 
 	ts[0].tv_nsec = UTIME_NOW;
 	ts[1].tv_nsec = UTIME_OMIT;
-	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
-	printf(PREFIX "[UTIME_NOW, UTIME_OMIT], AT_SYMLINK_NOFOLLOW)"
-	       " = -1 ENOENT (%m)\n");
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_SYMLINK_NOFOLLOW) = %s\n", qname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimensat(kfdcwd, kfname, f8ill_ptr_to_kulong(ts), 0);
+		printf("utimensat(AT_FDCWD, %s, %#jx, 0) = %s\n",
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(ts), errstr);
+	}
+
+	/* flags */
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
+		    (kernel_ulong_t) 0xdefaced00000200);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_REMOVEDIR) = %s\n",
+	       qname, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
+		    (kernel_ulong_t) 0xdefaced00000600);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_REMOVEDIR|AT_SYMLINK_FOLLOW) = %s\n",
+	       qname, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, (kernel_ulong_t) -1ULL);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
+	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff) = %s\n",
+	       qname, errstr);
 
 	puts("+++ exited with 0 +++");
 	return 0;
@@ -95,7 +202,6 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("HAVE_UTIMENSAT && AT_FDCWD && AT_SYMLINK_NOFOLLOW"
-		    " && UTIME_NOW && UTIME_OMIT")
+SKIP_MAIN_UNDEFINED("__NR_utimensat && UTIME_NOW && UTIME_OMIT")
 
 #endif
diff --git a/tests-m32/utimensat.gen.test b/tests-m32/utimensat.gen.test
new file mode 100755
index 0000000..a4d6656
--- /dev/null
+++ b/tests-m32/utimensat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utimensat -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-m32/utimensat.test b/tests-m32/utimensat.test
deleted file mode 100755
index 52e3f31..0000000
--- a/tests-m32/utimensat.test
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Check decoding of utimensat syscall.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e utimensat $args > "$OUT"
-
-check_prog grep
-LC_ALL=C grep -x "utimensat(.*" "$LOG" > /dev/null || {
-        rm -f "$OUT"
-        skip_ 'test executable does not use utimensat syscall'
-}
-
-match_diff "$LOG" "$OUT"
-
-rm -f "$OUT"
-
-exit 0
diff --git a/tests-m32/utimes.c b/tests-m32/utimes.c
index bbfa031..4bef1a6 100644
--- a/tests-m32/utimes.c
+++ b/tests-m32/utimes.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of utimes syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,50 +32,10 @@
 
 #ifdef __NR_utimes
 
-# include <stdint.h>
-# include <stdio.h>
-# include <sys/time.h>
-# include <unistd.h>
-
-int
-main(void)
-{
-	struct timeval tv;
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_fail("gettimeofday");
-
-	static const char sample[] = "utimes_sample";
-
-	long rc = syscall(__NR_utimes, sample, 0);
-	printf("utimes(\"%s\", NULL) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
-
-	struct timeval *const ts = tail_alloc(sizeof(*ts) * 2);
-
-	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(\"\", [{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 +++");
-	return 0;
-}
+# define TEST_SYSCALL_NR	__NR_utimes
+# define TEST_SYSCALL_STR	"utimes"
+# define TEST_STRUCT		struct timeval
+# include "xutimes.c"
 
 #else
 
diff --git a/tests-m32/utimes.gen.test b/tests-m32/utimes.gen.test
new file mode 100755
index 0000000..37ed29c
--- /dev/null
+++ b/tests-m32/utimes.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utimes -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-m32/utimes.test b/tests-m32/utimes.test
deleted file mode 100755
index 99143a0..0000000
--- a/tests-m32/utimes.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check utimes syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-m32/vfork-f.gen.test b/tests-m32/vfork-f.gen.test
new file mode 100755
index 0000000..b3c1c6b
--- /dev/null
+++ b/tests-m32/vfork-f.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vfork-f -a26 -qq -f -e signal=none -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26 -qq -f -e signal=none -e trace=chdir
diff --git a/tests-m32/vfork-f.test b/tests-m32/vfork-f.test
deleted file mode 100755
index ff4422b..0000000
--- a/tests-m32/vfork-f.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check how strace -f follows vfork syscall.
-
-. "${srcdir=.}/fork-f.test"
diff --git a/tests-m32/vhangup.gen.test b/tests-m32/vhangup.gen.test
new file mode 100755
index 0000000..7ac84e5
--- /dev/null
+++ b/tests-m32/vhangup.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vhangup -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-m32/vhangup.test b/tests-m32/vhangup.test
deleted file mode 100755
index 8fe1cac..0000000
--- a/tests-m32/vhangup.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check vhangup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a10
diff --git a/tests-m32/vmsplice.gen.test b/tests-m32/vmsplice.gen.test
new file mode 100755
index 0000000..fe6a07d
--- /dev/null
+++ b/tests-m32/vmsplice.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vmsplice -ewrite=1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -ewrite=1
diff --git a/tests-m32/vmsplice.test b/tests-m32/vmsplice.test
deleted file mode 100755
index 8a80650..0000000
--- a/tests-m32/vmsplice.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of vmsplice syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -ewrite=1
diff --git a/tests-m32/wait4-v.gen.test b/tests-m32/wait4-v.gen.test
new file mode 100755
index 0000000..5b23f42
--- /dev/null
+++ b/tests-m32/wait4-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (wait4-v -v -e signal=none -e trace=wait4); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e signal=none -e trace=wait4
diff --git a/tests-m32/wait4-v.test b/tests-m32/wait4-v.test
deleted file mode 100755
index 58e55f2..0000000
--- a/tests-m32/wait4-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=wait4
diff --git a/tests-m32/wait4.c b/tests-m32/wait4.c
index ccb3ebb..ab0c7a4 100644
--- a/tests-m32/wait4.c
+++ b/tests-m32/wait4.c
@@ -2,6 +2,7 @@
  * Check decoding of wait4 syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +41,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={tv_sec=%lu, tv_usec=%lu}"
-		 ", ru_stime={tv_sec=%lu, tv_usec=%lu}"
+		 "{ru_utime={tv_sec=%lld, tv_usec=%llu}"
+		 ", ru_stime={tv_sec=%lld, tv_usec=%llu}"
 #if VERBOSE
 		 ", ru_maxrss=%lu"
 		 ", ru_ixrss=%lu"
@@ -60,10 +61,10 @@
 #else
 		 ", ...}"
 #endif
-		 , (long) ru->ru_utime.tv_sec
-		 , (long) ru->ru_utime.tv_usec
-		 , (long) ru->ru_stime.tv_sec
-		 , (long) ru->ru_stime.tv_usec
+		 , (long long) ru->ru_utime.tv_sec
+		 , zero_extend_signed_to_ull(ru->ru_utime.tv_usec)
+		 , (long long) ru->ru_stime.tv_sec
+		 , zero_extend_signed_to_ull(ru->ru_stime.tv_usec)
 #if VERBOSE
 		 , (long) ru->ru_maxrss
 		 , (long) ru->ru_ixrss
@@ -119,12 +120,12 @@
 
 	(void) close(0);
 
-	int *const s = tail_alloc(sizeof(*s));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, s);
 	if (wait4(pid, s, WNOHANG|__WALL, NULL))
 		perror_msg_and_fail("wait4 #1");
 	tprintf("wait4(%d, %p, WNOHANG|__WALL, NULL) = 0\n", pid, s);
 
-	struct rusage *const rusage = tail_alloc(sizeof(*rusage));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, rusage);
 	if (wait4(pid, s, WNOHANG|__WALL, rusage))
 		perror_msg_and_fail("wait4 #2");
 	tprintf("wait4(%d, %p, WNOHANG|__WALL, %p) = 0\n", pid, s, rusage);
diff --git a/tests-m32/wait4.gen.test b/tests-m32/wait4.gen.test
new file mode 100755
index 0000000..ae04915
--- /dev/null
+++ b/tests-m32/wait4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (wait4 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-m32/wait4.test b/tests-m32/wait4.test
deleted file mode 100755
index 6338d1f..0000000
--- a/tests-m32/wait4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-m32/waitid-v.gen.test b/tests-m32/waitid-v.gen.test
new file mode 100755
index 0000000..45744cd
--- /dev/null
+++ b/tests-m32/waitid-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitid-v -v -e signal=none -e trace=waitid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e signal=none -e trace=waitid
diff --git a/tests-m32/waitid-v.test b/tests-m32/waitid-v.test
deleted file mode 100755
index eb498cb..0000000
--- a/tests-m32/waitid-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=waitid
diff --git a/tests-m32/waitid.c b/tests-m32/waitid.c
index 6a10299..b56feea 100644
--- a/tests-m32/waitid.c
+++ b/tests-m32/waitid.c
@@ -2,6 +2,7 @@
  * Check decoding of waitid syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,8 +43,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={tv_sec=%lld, tv_usec=%lld}"
-		 ", ru_stime={tv_sec=%lld, tv_usec=%lld}"
+		 "{ru_utime={tv_sec=%lld, tv_usec=%llu}"
+		 ", ru_stime={tv_sec=%lld, tv_usec=%llu}"
 #if VERBOSE
 		 ", ru_maxrss=%llu"
 		 ", ru_ixrss=%llu"
@@ -63,9 +64,9 @@
 		 ", ...}"
 #endif
 		 , (long long) ru->ru_utime.tv_sec
-		 , (long long) ru->ru_utime.tv_usec
+		 , zero_extend_signed_to_ull(ru->ru_utime.tv_usec)
 		 , (long long) ru->ru_stime.tv_sec
-		 , (long long) ru->ru_stime.tv_usec
+		 , zero_extend_signed_to_ull(ru->ru_stime.tv_usec)
 #if VERBOSE
 		 , zero_extend_signed_to_ull(ru->ru_maxrss)
 		 , zero_extend_signed_to_ull(ru->ru_ixrss)
@@ -185,9 +186,9 @@
 		perror_msg_and_fail("waitid #1");
 	tprintf("waitid(P_PID, %d, NULL, WNOHANG|WEXITED, NULL) = 0\n", pid);
 
-	siginfo_t *const sinfo = tail_alloc(sizeof(*sinfo));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, sinfo);
 	memset(sinfo, 0, sizeof(*sinfo));
-	struct rusage *const rusage = tail_alloc(sizeof(*rusage));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, rusage);
 	if (do_waitid(P_PID, pid, sinfo, WNOHANG|WEXITED|WSTOPPED, rusage))
 		perror_msg_and_fail("waitid #2");
 	tprintf("waitid(P_PID, %d, {}, WNOHANG|WEXITED|WSTOPPED, %s) = 0\n",
diff --git a/tests-m32/waitid.gen.test b/tests-m32/waitid.gen.test
new file mode 100755
index 0000000..59f4022
--- /dev/null
+++ b/tests-m32/waitid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitid -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-m32/waitid.test b/tests-m32/waitid.test
deleted file mode 100755
index 3bcba3a..0000000
--- a/tests-m32/waitid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-m32/waitpid.gen.test b/tests-m32/waitpid.gen.test
new file mode 100755
index 0000000..d91e298
--- /dev/null
+++ b/tests-m32/waitpid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitpid -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-m32/waitpid.test b/tests-m32/waitpid.test
deleted file mode 100755
index 93807d1..0000000
--- a/tests-m32/waitpid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of waitpid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-m32/xattr-strings.gen.test b/tests-m32/xattr-strings.gen.test
new file mode 100755
index 0000000..3317892
--- /dev/null
+++ b/tests-m32/xattr-strings.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xattr-strings -a22 -s 4 -e trace=fsetxattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -s 4 -e trace=fsetxattr
diff --git a/tests-m32/xattr-strings.test b/tests-m32/xattr-strings.test
deleted file mode 100755
index 25ef360..0000000
--- a/tests-m32/xattr-strings.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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-m32/xattr.gen.test b/tests-m32/xattr.gen.test
new file mode 100755
index 0000000..030f2ce
--- /dev/null
+++ b/tests-m32/xattr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xattr -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
diff --git a/tests-m32/xattr.test b/tests-m32/xattr.test
deleted file mode 100755
index 8c7a87b..0000000
--- a/tests-m32/xattr.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check *xattr syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-syscalls=
-for n in getxattr setxattr listxattr removexattr; do
-	syscalls="$syscalls,${n},f${n},l${n}"
-done
-
-run_strace_match_diff -a22 -e trace=$syscalls
diff --git a/tests-m32/xet_robust_list.c b/tests-m32/xet_robust_list.c
index 211dec4..a612b92 100644
--- a/tests-m32/xet_robust_list.c
+++ b/tests-m32/xet_robust_list.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,8 +52,8 @@
 {
 	const pid_t pid = getpid();
 	const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid);
-	void **p_head = tail_alloc(sizeof(void *));
-	size_t *p_len = tail_alloc(sizeof(size_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head);
+	TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len);
 
 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
 		perror_msg_and_skip("get_robust_list");
diff --git a/tests-m32/xet_robust_list.gen.test b/tests-m32/xet_robust_list.gen.test
new file mode 100755
index 0000000..798cdff
--- /dev/null
+++ b/tests-m32/xet_robust_list.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xet_robust_list -a24 -e trace=get_robust_list,set_robust_list); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
diff --git a/tests-m32/xet_robust_list.test b/tests-m32/xet_robust_list.test
deleted file mode 100755
index 8a3a382..0000000
--- a/tests-m32/xet_robust_list.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check get_robust_list and set_robust_list syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
diff --git a/tests-m32/xetitimer.c b/tests-m32/xetitimer.c
index 4b17edd..3a81880 100644
--- a/tests-m32/xetitimer.c
+++ b/tests-m32/xetitimer.c
@@ -1,5 +1,7 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of setitimer and getitimer syscalls.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -29,48 +31,153 @@
 #include <stdio.h>
 #include <stdint.h>
 #include <sys/time.h>
+#include <unistd.h>
+#include <asm/unistd.h>
 
 int
 main(void)
 {
-	struct {
-		struct itimerval itv;
-		uint32_t pad[4];
-	} old = {
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.itv = {
-			.it_interval = { 0xc0de1, 0xc0de2 },
-			.it_value = { 0xc0de3, 0xc0de4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
+	static const struct itimerval new = {
+		.it_interval = { 0xc0de1, 0xc0de2 },
+		.it_value = { 0xc0de3, 0xc0de4 }
 	};
+	static const kernel_ulong_t long_timer =
+		F8ILL_KULONG_MASK | ITIMER_REAL;
+	static const kernel_ulong_t bogus_timer =
+		(kernel_ulong_t) 0xfacefeeddeadbeefULL;
 
-	if (setitimer(ITIMER_REAL, &new.itv, &old.itv))
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerval, p_old);
+	struct itimerval *const p_new = tail_memdup(&new, sizeof(new));
+	void *const efault = tail_alloc(sizeof(new) - 8);
+	long rc;
+
+	if (setitimer(ITIMER_REAL, p_new, NULL))
 		perror_msg_and_skip("setitimer");
 	printf("setitimer(ITIMER_REAL"
-	       ", {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,
-	       (intmax_t) new.itv.it_value.tv_usec,
-	       (intmax_t) old.itv.it_interval.tv_sec,
-	       (intmax_t) old.itv.it_interval.tv_usec,
-	       (intmax_t) old.itv.it_value.tv_sec,
-	       (intmax_t) old.itv.it_value.tv_usec);
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", NULL) = 0\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec));
 
-	if (getitimer(ITIMER_REAL, &old.itv))
+	fill_memory(p_old, sizeof(*p_old));
+	if (getitimer(ITIMER_REAL, p_old))
 		perror_msg_and_skip("getitimer");
 	printf("getitimer(ITIMER_REAL"
-	       ", {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,
-	       (intmax_t) old.itv.it_value.tv_usec);
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = 0\n",
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec));
+
+	fill_memory(p_old, sizeof(*p_old));
+	setitimer(ITIMER_REAL, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = 0\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec));
+
+	rc = getitimer(ITIMER_REAL, efault);
+	printf("getitimer(ITIMER_REAL, %p) = %s\n", efault, sprintrc(rc));
+
+	rc = setitimer(ITIMER_REAL, p_new, efault);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       efault, sprintrc(rc));
+
+	rc = setitimer(ITIMER_REAL, efault, p_old);
+	printf("setitimer(ITIMER_REAL, %p, %p) = %s\n",
+	       efault, p_old, sprintrc(rc));
+
+	fill_memory(p_old, sizeof(*p_old));
+	rc = syscall(__NR_setitimer, long_timer, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = %s\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec),
+	       sprintrc(rc));
+
+	fill_memory(p_old, sizeof(*p_old));
+	rc = syscall(__NR_getitimer, long_timer, p_old);
+	printf("getitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = %s\n",
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec),
+	       sprintrc(rc));
+
+	rc = syscall(__NR_setitimer, bogus_timer, p_new, p_old);
+	printf("setitimer(%#x /* ITIMER_??? */"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (int) bogus_timer,
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       p_old, sprintrc(rc));
+
+	rc = syscall(__NR_getitimer, bogus_timer, p_old);
+	printf("getitimer(%#x /* ITIMER_??? */, %p) = %s\n",
+	       (int) bogus_timer, p_old, sprintrc(rc));
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		const kernel_ulong_t ill_new = f8ill_ptr_to_kulong(p_new);
+		const kernel_ulong_t ill_old = f8ill_ptr_to_kulong(p_old);
+
+		rc = syscall(__NR_setitimer, long_timer, ill_new, ill_old);
+		printf("setitimer(ITIMER_REAL, %#llx, %#llx) = %s\n",
+		       (unsigned long long) ill_new,
+		       (unsigned long long) ill_old,
+		       sprintrc(rc));
+
+		rc = syscall(__NR_getitimer, long_timer, ill_old);
+		printf("getitimer(ITIMER_REAL, %#llx) = %s\n",
+		       (unsigned long long) ill_old, sprintrc(rc));
+	}
+
+	p_new->it_interval.tv_sec = 0xdeadbeefU;
+	p_new->it_interval.tv_usec = 0xfacefeedU;
+	p_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	p_new->it_value.tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = setitimer(ITIMER_REAL, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (long long) p_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_new->it_interval.tv_usec),
+	       (long long) p_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_new->it_value.tv_usec),
+	       p_old, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/xetitimer.gen.test b/tests-m32/xetitimer.gen.test
new file mode 100755
index 0000000..0cdb926
--- /dev/null
+++ b/tests-m32/xetitimer.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetitimer -a29 -e trace=setitimer,getitimer); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=setitimer,getitimer
diff --git a/tests-m32/xetitimer.test b/tests-m32/xetitimer.test
deleted file mode 100755
index 4aa00cc..0000000
--- a/tests-m32/xetitimer.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setitimer and getitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=setitimer,getitimer
diff --git a/tests-m32/xetpgid.c b/tests-m32/xetpgid.c
index 24e0d7f..0efffcb 100644
--- a/tests-m32/xetpgid.c
+++ b/tests-m32/xetpgid.c
@@ -2,6 +2,7 @@
  * This file is part of xetpgid strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,13 +40,10 @@
 main(void)
 {
 	const int pid = getpid();
-	long rc = syscall(__NR_getpgid,
-			  (unsigned long) 0xffffffff00000000ULL | pid);
+	long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
 	printf("getpgid(%d) = %ld\n", pid, rc);
 
-	rc = syscall(__NR_setpgid,
-		     (unsigned long) 0xffffffff00000000ULL,
-		     (unsigned long) 0xffffffff00000000ULL | pid);
+	rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid);
 	printf("setpgid(0, %d) = %ld\n", pid, rc);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-m32/xetpgid.gen.test b/tests-m32/xetpgid.gen.test
new file mode 100755
index 0000000..fc57fc4
--- /dev/null
+++ b/tests-m32/xetpgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetpgid -a11 -e trace=getpgid,setpgid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=getpgid,setpgid
diff --git a/tests-m32/xetpgid.test b/tests-m32/xetpgid.test
deleted file mode 100755
index 07f4f9e..0000000
--- a/tests-m32/xetpgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpgid and setpgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=getpgid,setpgid
diff --git a/tests-m32/xetpriority.c b/tests-m32/xetpriority.c
index ed55259..30c59c8 100644
--- a/tests-m32/xetpriority.c
+++ b/tests-m32/xetpriority.c
@@ -12,12 +12,11 @@
 {
 	const int pid = getpid();
 	long rc = syscall(__NR_getpriority, PRIO_PROCESS,
-			  (unsigned long) 0xffffffff00000000ULL | pid);
+			  F8ILL_KULONG_MASK | pid);
 	printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
 
 	rc = syscall(__NR_setpriority, PRIO_PROCESS,
-		     (unsigned long) 0xffffffff00000000ULL | pid,
-		     (unsigned long) 0xffffffff00000000ULL);
+		     F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK);
 	printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-m32/xetpriority.gen.test b/tests-m32/xetpriority.gen.test
new file mode 100755
index 0000000..4b95524
--- /dev/null
+++ b/tests-m32/xetpriority.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetpriority -a29 -e trace=getpriority,setpriority); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=getpriority,setpriority
diff --git a/tests-m32/xetpriority.test b/tests-m32/xetpriority.test
deleted file mode 100755
index 2c84ba4..0000000
--- a/tests-m32/xetpriority.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpriority and setpriority syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29 -e trace=getpriority,setpriority
diff --git a/tests-m32/xettimeofday.c b/tests-m32/xettimeofday.c
index d36c57b..ec422cf 100644
--- a/tests-m32/xettimeofday.c
+++ b/tests-m32/xettimeofday.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,36 +37,49 @@
 int
 main(void)
 {
-	struct {
-		struct timeval tv;
-		uint32_t pad0[2];
-		struct timezone tz;
-		uint32_t pad1[2];
-	} t = {
-		.pad0 = { 0xdeadbeef, 0xbadc0ded },
-		.pad1 = { 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timeval, tv);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timezone, tz);
 
-	if (syscall(__NR_gettimeofday, &t.tv, NULL))
+	if (syscall(__NR_gettimeofday, tv, NULL))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}, NULL) = 0\n",
-	       (intmax_t) t.tv.tv_sec, (intmax_t) t.tv.tv_usec);
+	printf("gettimeofday({tv_sec=%lld, tv_usec=%llu}, NULL) = 0\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
 
-	if (syscall(__NR_gettimeofday, &t.tv, &t.tz))
+	if (syscall(__NR_gettimeofday, tv, tz))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}"
+	printf("gettimeofday({tv_sec=%lld, tv_usec=%llu}"
 	       ", {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);
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
 
-	t.tv.tv_sec = -1;
-	t.tv.tv_usec = 1000000000;
-	assert(syscall(__NR_settimeofday, &t.tv, &t.tz) == -1);
-	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,
-	       t.tz.tz_minuteswest, t.tz.tz_dsttime);
+	tv->tv_sec = -1;
+	tv->tv_usec = 1000000;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
+
+	tv->tv_sec = 0xdeadbeefU;
+	tv->tv_usec = 0xfacefeedU;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
+
+	tv->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv->tv_usec = (long) 0xbadc0dedfacefeedLL;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-m32/xettimeofday.gen.test b/tests-m32/xettimeofday.gen.test
new file mode 100755
index 0000000..1a021e4
--- /dev/null
+++ b/tests-m32/xettimeofday.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xettimeofday -a20 -e trace=gettimeofday,settimeofday); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday
diff --git a/tests-m32/xettimeofday.test b/tests-m32/xettimeofday.test
deleted file mode 100755
index 68764e4..0000000
--- a/tests-m32/xettimeofday.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check gettimeofday and settimeofday syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday
diff --git a/tests-m32/xselect.c b/tests-m32/xselect.c
index 39e87ac..e1638c8 100644
--- a/tests-m32/xselect.c
+++ b/tests-m32/xselect.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +32,7 @@
 
 #include <assert.h>
 #include <stdio.h>
+#include <string.h>
 #include <unistd.h>
 #include <sys/select.h>
 
@@ -38,14 +40,10 @@
 
 int main(void)
 {
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timeval, tv);
+	struct timeval tv_in;
 	int fds[2];
-	struct {
-		struct timeval tv;
-		int pad[2];
-	} tm_in = {
-		.tv = { .tv_sec = 0xc0de1, .tv_usec = 0xc0de2 },
-		.pad = { 0xdeadbeef, 0xbadc0ded }
-	}, tm = tm_in;
+	long rc;
 
 	if (pipe(fds))
 		perror_msg_and_fail("pipe");
@@ -56,7 +54,7 @@
 	FD_ZERO(set);
 	FD_SET(fds[0], set);
 	FD_SET(fds[1], set);
-	int rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, NULL);
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, NULL);
 	if (rc < 0)
 		perror_msg_and_skip(TEST_SYSCALL_STR);
 	assert(rc == 1);
@@ -65,19 +63,73 @@
 	       fds[0], fds[1], fds[0], fds[1]);
 
 	/*
+	 * Odd timeout.
+	 */
+	FD_SET(fds[0], set);
+	FD_SET(fds[1], set);
+	tv->tv_sec = 0xdeadbeefU;
+	tv->tv_usec = 0xfacefeedU;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, tv);
+	if (rc < 0) {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %s\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec), sprintrc(rc));
+	} else {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %ld"
+		       " (left {tv_sec=%lld, tv_usec=%llu})\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv_in.tv_sec,
+		       zero_extend_signed_to_ull(tv_in.tv_usec),
+		       rc, (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec));
+	}
+
+	FD_SET(fds[0], set);
+	FD_SET(fds[1], set);
+	tv->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv->tv_usec = (long) 0xbadc0dedfacefeedLL;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, tv);
+	if (rc < 0) {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %s\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec), sprintrc(rc));
+	} else {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %ld"
+		       " (left {tv_sec=%lld, tv_usec=%llu})\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv_in.tv_sec,
+		       zero_extend_signed_to_ull(tv_in.tv_usec),
+		       rc, (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec));
+	}
+
+	/*
 	 * Another simple one, with a timeout.
 	 */
 	FD_SET(1, set);
 	FD_SET(2, set);
 	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, {tv_sec=%lld, tv_usec=%lld})"
-	       " = 3 (out [1 2 %d], left {tv_sec=%lld, tv_usec=%lld})\n",
+	tv->tv_sec = 0xc0de1;
+	tv->tv_usec = 0xc0de2;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	assert(syscall(TEST_SYSCALL_NR, fds[1] + 1, NULL, set, NULL, tv) == 3);
+	printf("%s(%d, NULL, [1 2 %d %d], NULL, {tv_sec=%lld, tv_usec=%llu})"
+	       " = 3 (out [1 2 %d], left {tv_sec=%lld, tv_usec=%llu})\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,
+	       (long long) tv_in.tv_sec,
+	       zero_extend_signed_to_ull(tv_in.tv_usec),
 	       fds[1],
-	       (long long) tm.tv.tv_sec, (long long) tm.tv.tv_usec);
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
 
 	/*
 	 * Now the crash case that trinity found, negative nfds
@@ -94,9 +146,9 @@
 	 */
 	FD_ZERO(set);
 	FD_SET(fds[0],set);
-	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);
+	tv->tv_sec = 0;
+	tv->tv_usec = 123;
+	assert(syscall(TEST_SYSCALL_NR, FD_SETSIZE + 1, set, set + 1, NULL, tv) == 0);
 	printf("%s(%d, [%d], [], NULL, {tv_sec=0, tv_usec=123}) = 0 (Timeout)\n",
 	       TEST_SYSCALL_STR, FD_SETSIZE + 1, fds[0]);
 
diff --git a/tests-m32/xstatfsx.c b/tests-m32/xstatfsx.c
index d8288f1..cb524ff 100644
--- a/tests-m32/xstatfsx.c
+++ b/tests-m32/xstatfsx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,9 +63,9 @@
 {
 	int fd = open(sample, O_RDONLY);
 	if (fd < 0)
-		perror_msg_and_fail("open: %s", sample);
+		perror_msg_and_skip("open: %s", sample);
 
-	STRUCT_STATFS *const b = tail_alloc(sizeof(*b));
+	TAIL_ALLOC_OBJECT_CONST_PTR(STRUCT_STATFS, b);
 	long rc = SYSCALL_INVOKE(sample, fd, b, sizeof(*b));
 	if (rc)
 		perror_msg_and_skip(SYSCALL_NAME);
diff --git a/tests-m32/xstatx.c b/tests-m32/xstatx.c
index 0d5fca8..8758ef8 100644
--- a/tests-m32/xstatx.c
+++ b/tests-m32/xstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,26 +48,7 @@
 # include <unistd.h>
 # include <sys/sysmacros.h>
 
-static void
-print_time(const time_t t)
-{
-	if (!t) {
-		printf("0");
-		return;
-	}
-
-	struct tm *p = localtime(&t);
-
-	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));
-	}
-}
+# include "statx.h"
 
 # ifndef STRUCT_STAT
 #  define STRUCT_STAT struct stat
@@ -130,6 +112,10 @@
 #  define OLD_STAT 0
 # endif
 
+# ifndef IS_STATX
+#  define IS_STATX 0
+# endif
+
 static void
 print_ftype(const unsigned int mode)
 {
@@ -151,6 +137,8 @@
 	printf("%#o", mode & ~S_IFMT);
 }
 
+# if !IS_STATX
+
 static void
 print_stat(const STRUCT_STAT *st)
 {
@@ -165,12 +153,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
+#  if OLD_STAT
 	printf(", st_blksize=0, st_blocks=0");
-# else /* !OLD_STAT */
+#  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 */
+#  endif /* OLD_STAT */
 
 	switch (st->st_mode & S_IFMT) {
 	case S_IFCHR: case S_IFBLK:
@@ -182,27 +170,87 @@
 		printf(", st_size=%llu", zero_extend_signed_to_ull(st->st_size));
 	}
 
-	printf(", st_atime=");
-	print_time(sign_extend_unsigned_to_ll(st->st_atime));
-# 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));
-# 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));
-# 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
+#  if defined(HAVE_STRUCT_STAT_ST_MTIME_NSEC) && !OLD_STAT
+#   define TIME_NSEC(val)	zero_extend_signed_to_ull(val)
+#   define HAVE_NSEC		1
+#  else
+#   define TIME_NSEC(val)	0ULL
+#   define HAVE_NSEC		0
+#  endif
+
+#define PRINT_ST_TIME(field)						\
+	printf(", st_" #field "=%lld",					\
+	       sign_extend_unsigned_to_ll(st->st_ ## field));		\
+	print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field),	\
+			  TIME_NSEC(st->st_ ## field ## _nsec), 1);	\
+	if (HAVE_NSEC)							\
+		printf(", st_" #field "_nsec=%llu",			\
+		       TIME_NSEC(st->st_ ## field ## _nsec))
+
+	PRINT_ST_TIME(atime);
+	PRINT_ST_TIME(mtime);
+	PRINT_ST_TIME(ctime);
 	printf("}");
 }
 
+# else /* !IS_STATX */
+
+static void
+print_stat(const STRUCT_STAT *st)
+{
+#  define PRINT_FIELD_U(field) \
+	printf(", %s=%llu", #field, (unsigned long long) st->field)
+
+#  define PRINT_FIELD_U32_UID(field) \
+	if (st->field == (uint32_t) -1) \
+		printf(", %s=-1", #field); \
+	else \
+		printf(", %s=%llu", #field, (unsigned long long) st->field)
+
+#  define PRINT_FIELD_TIME(field)					\
+	printf(", %s={tv_sec=%lld, tv_nsec=%u}",			\
+	       #field, (long long) st->field.tv_sec,			\
+	       (unsigned) st->field.tv_nsec);				\
+	print_time_t_nsec(st->field.tv_sec,				\
+			  zero_extend_signed_to_ull(st->field.tv_nsec), 1);
+
+	printf("{stx_mask=");
+	printflags(statx_masks, st->stx_mask, "STATX_???");
+
+	PRINT_FIELD_U(stx_blksize);
+
+	printf(", stx_attributes=");
+	printflags(statx_attrs, st->stx_attributes, "STATX_ATTR_???");
+
+	PRINT_FIELD_U(stx_nlink);
+	PRINT_FIELD_U32_UID(stx_uid);
+	PRINT_FIELD_U32_UID(stx_gid);
+
+	printf(", stx_mode=");
+	print_ftype(st->stx_mode);
+	printf("|");
+	print_perms(st->stx_mode);
+
+	PRINT_FIELD_U(stx_ino);
+	PRINT_FIELD_U(stx_size);
+	PRINT_FIELD_U(stx_blocks);
+
+	printf(", stx_attributes_mask=");
+	printflags(statx_attrs, st->stx_attributes_mask, "STATX_ATTR_???");
+
+	PRINT_FIELD_TIME(stx_atime);
+	PRINT_FIELD_TIME(stx_btime);
+	PRINT_FIELD_TIME(stx_ctime);
+	PRINT_FIELD_TIME(stx_mtime);
+	PRINT_FIELD_U(stx_rdev_major);
+	PRINT_FIELD_U(stx_rdev_minor);
+	PRINT_FIELD_U(stx_dev_major);
+	PRINT_FIELD_U(stx_dev_minor);
+	printf("}");
+}
+
+# endif /* !IS_STATX */
+
 static int
 create_sample(const char *fname, const libc_off_t size)
 {
@@ -229,19 +277,19 @@
 int
 main(void)
 {
-# if !IS_FSTAT
+# if IS_FSTAT
+	skip_if_unavailable("/proc/self/fd/");
+# else
 	static const char full[] = "/dev/full";
 # endif
-	static const char sample[] = TEST_SYSCALL_STR ".sample";
-	STRUCT_STAT st[2];
+	static const char sample[] = "stat.sample";
+	TAIL_ALLOC_OBJECT_CONST_PTR(STRUCT_STAT, st);
 
 	int rc;
 
 	rc = create_sample(sample, SAMPLE_SIZE);
-	if (rc) {
-		(void) unlink(sample);
+	if (rc)
 		return rc;
-	}
 
 # if TEST_BOGUS_STRUCT_STAT
 	STRUCT_STAT *st_cut = tail_alloc(sizeof(long) * 4);
@@ -262,46 +310,71 @@
 # endif
 
 	if ((rc = TEST_SYSCALL_INVOKE(sample, st))) {
-# if OLD_STAT
-		if (errno != EOVERFLOW)
-# endif
-		{
+		if (errno != EOVERFLOW) {
+			rc = (errno == ENOSYS) ? 77 : 1;
 			perror(TEST_SYSCALL_STR);
-			(void) unlink(sample);
-			return 77;
+			return rc;
 		}
 	}
-	(void) unlink(sample);
+
+# if IS_STATX
+#  define ST_SIZE_FIELD stx_size
+# else
+#  define ST_SIZE_FIELD st_size
+# endif
 	if (!rc && zero_extend_signed_to_ull(SAMPLE_SIZE) !=
-	    zero_extend_signed_to_ull(st[0].st_size)) {
+	    zero_extend_signed_to_ull(st->ST_SIZE_FIELD)) {
 		fprintf(stderr, "Size mismatch: "
 				"requested size(%llu) != st_size(%llu)\n",
 			zero_extend_signed_to_ull(SAMPLE_SIZE),
-			zero_extend_signed_to_ull(st[0].st_size));
+			zero_extend_signed_to_ull(st->ST_SIZE_FIELD));
 		fprintf(stderr, "The most likely reason for this is incorrect"
 				" definition of %s.\n"
 				"Here is some diagnostics that might help:\n",
 			STRUCT_STAT_STR);
 
-#define LOG_STAT_OFFSETOF_SIZEOF(object, member)			\
+# 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 */
+# if IS_STATX
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mask);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_blksize);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_attributes);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_nlink);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_uid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_gid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mode);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_ino);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_size);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_blocks);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_attributes_mask);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_atime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_btime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_ctime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mtime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_rdev_major);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_rdev_minor);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_dev_major);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_dev_minor);
+# else
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_dev);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_ino);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_mode);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_nlink);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_uid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_gid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_rdev);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_size);
+#  if !OLD_STAT
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_blksize);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_blocks);
+#  endif /* !OLD_STAT */
+
+# endif /* IS_STATX */
 
 		return 1;
 	}
@@ -313,6 +386,63 @@
 		print_stat(st);
 	PRINT_SYSCALL_FOOTER(rc);
 
+# if IS_STATX
+
+#  define INVOKE() \
+	rc = TEST_SYSCALL_INVOKE(sample, st); \
+	PRINT_SYSCALL_HEADER(sample); \
+	if (rc) \
+		printf("%p", st); \
+	else \
+		print_stat(st); \
+	PRINT_SYSCALL_FOOTER(rc)
+
+#  define SET_FLAGS_INVOKE(flags, flags_str) \
+	TEST_SYSCALL_STATX_FLAGS = flags; \
+	TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
+	INVOKE()
+
+#  define SET_MASK_INVOKE(mask, mask_str) \
+	TEST_SYSCALL_STATX_MASK = mask; \
+	TEST_SYSCALL_STATX_MASK_STR = mask_str; \
+	INVOKE()
+
+	unsigned old_flags = TEST_SYSCALL_STATX_FLAGS;
+	const char *old_flags_str = TEST_SYSCALL_STATX_FLAGS_STR;
+	unsigned old_mask = TEST_SYSCALL_STATX_MASK;
+	const char *old_mask_str = TEST_SYSCALL_STATX_MASK_STR;
+
+	SET_FLAGS_INVOKE(AT_SYMLINK_FOLLOW | 0xffff0000U,
+		"AT_STATX_SYNC_AS_STAT|AT_SYMLINK_FOLLOW|0xffff0000");
+
+	SET_FLAGS_INVOKE(AT_STATX_SYNC_TYPE,
+		"AT_STATX_FORCE_SYNC|AT_STATX_DONT_SYNC");
+
+	SET_FLAGS_INVOKE(0xffffff,
+		"AT_STATX_FORCE_SYNC|AT_STATX_DONT_SYNC|AT_SYMLINK_NOFOLLOW|"
+		"AT_REMOVEDIR|AT_SYMLINK_FOLLOW|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|"
+		"0xff80ff");
+
+	/* We're done playing with flags. */
+	TEST_SYSCALL_STATX_FLAGS = old_flags;
+	TEST_SYSCALL_STATX_FLAGS_STR = old_flags_str;
+
+	SET_MASK_INVOKE(0, "0");
+	SET_MASK_INVOKE(0xfffff000U, "0xfffff000 /* STATX_??? */");
+
+	SET_MASK_INVOKE(0xfffffffbU,
+		"STATX_TYPE|STATX_MODE|STATX_UID|STATX_GID|STATX_ATIME|"
+		"STATX_MTIME|STATX_CTIME|STATX_INO|STATX_SIZE|STATX_BLOCKS|"
+		"STATX_BTIME|0xfffff000");
+
+	SET_MASK_INVOKE(STATX_UID, "STATX_UID");
+
+	/* ...and with mask. */
+	TEST_SYSCALL_STATX_MASK = old_mask;
+	TEST_SYSCALL_STATX_MASK_STR = old_mask_str;
+
+# endif /* IS_STATX */
+
 	puts("+++ exited with 0 +++");
 	return 0;
 }
diff --git a/tests-m32/xutimes.c b/tests-m32/xutimes.c
new file mode 100644
index 0000000..5fd7161
--- /dev/null
+++ b/tests-m32/xutimes.c
@@ -0,0 +1,149 @@
+/*
+ * Check decoding of utimes/osf_utimes syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 TEST_SYSCALL_NR
+# error TEST_SYSCALL_NR must be defined
+#endif
+
+#ifndef TEST_SYSCALL_STR
+# error TEST_SYSCALL_STR must be defined
+#endif
+
+#ifndef TEST_STRUCT
+# error TEST_STRUCT must be defined
+#endif
+
+#include <stdint.h>
+#include <stdio.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+static void
+print_tv(const TEST_STRUCT *const tv)
+{
+	printf("{tv_sec=%lld, tv_usec=%llu}",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
+	print_time_t_usec(tv->tv_sec,
+			  zero_extend_signed_to_ull(tv->tv_usec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_utimes(const kernel_ulong_t pathname, const kernel_ulong_t times)
+{
+	long rc = syscall(TEST_SYSCALL_NR, pathname, times);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	static const char proto_fname[] = TEST_SYSCALL_STR "_sample";
+	static const char qname[] = "\"" TEST_SYSCALL_STR "_sample\"";
+
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	TEST_STRUCT *const tv = tail_alloc(sizeof(*tv) * 2);
+
+	/* pathname */
+	k_utimes(0, 0);
+	printf("%s(NULL, NULL) = %s\n", TEST_SYSCALL_STR, errstr);
+
+	k_utimes(kfname + sizeof(proto_fname) - 1, 0);
+	printf("%s(\"\", NULL) = %s\n", TEST_SYSCALL_STR, errstr);
+
+	k_utimes(kfname, 0);
+	printf("%s(%s, NULL) = %s\n", TEST_SYSCALL_STR, qname, errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_utimes(kfname, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("%s(%p, NULL) = %s\n", TEST_SYSCALL_STR, fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimes(f8ill_ptr_to_kulong(fname), 0);
+		printf("%s(%#jx, NULL) = %s\n", TEST_SYSCALL_STR,
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_utimes(kfname, (uintptr_t) (tv + 1));
+	printf("%s(%s, %p) = %s\n", TEST_SYSCALL_STR,
+	       qname, tv + 1, errstr);
+
+	k_utimes(kfname, (uintptr_t) (tv + 2));
+	printf("%s(%s, %p) = %s\n", TEST_SYSCALL_STR,
+	       qname, tv + 2, errstr);
+
+	tv[0].tv_sec = 0xdeadbeefU;
+	tv[0].tv_usec = 0xfacefeedU;
+	tv[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv[1].tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_sec = 1492358607;
+	tv[0].tv_usec = 1000000;
+	tv[1].tv_sec = 1492356078;
+	tv[1].tv_usec = 1000001;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_usec = 345678;
+	tv[1].tv_usec = 456789;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimes(kfname, f8ill_ptr_to_kulong(tv));
+		printf("%s(%s, %#jx) = %s\n", TEST_SYSCALL_STR,
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(tv), errstr);
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-mx32/Makefile b/tests-mx32/Makefile
index d43833f..783858d 100644
--- a/tests-mx32/Makefile
+++ b/tests-mx32/Makefile
@@ -17,6 +17,7 @@
 # Automake input for strace tests.
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -131,148 +132,38 @@
 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 \
+DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
+	$(srcdir)/../scno.am $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
 	$(top_srcdir)/test-driver
+check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
+	attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
+	attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
+	execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
+	getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
+	ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
+	ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
+	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
+	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
+	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
+	quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
+	seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
+	signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+	threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
+	wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
 subdir = tests-mx32
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
@@ -300,6 +191,7 @@
 	libtests_a-error_msg.$(OBJEXT) \
 	libtests_a-fill_memory.$(OBJEXT) \
 	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-get_sigset_size.$(OBJEXT) \
 	libtests_a-hexdump_strdup.$(OBJEXT) \
 	libtests_a-hexquote_strndup.$(OBJEXT) \
 	libtests_a-inode_of_sockfd.$(OBJEXT) \
@@ -308,10 +200,130 @@
 	libtests_a-overflowuid.$(OBJEXT) \
 	libtests_a-pipe_maxfd.$(OBJEXT) \
 	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-print_time.$(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-signal2name.$(OBJEXT) \
+	libtests_a-skip_unavailable.$(OBJEXT) \
+	libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
+	libtests_a-tprintf.$(OBJEXT)
 libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
+	chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(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) \
+	execveat$(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) finit_module$(EXEEXT) flock$(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) getpid$(EXEEXT) getppid$(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_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
+	ioctl_mtd$(EXEEXT) ioctl_rtc$(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) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(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_name$(EXEEXT) \
+	mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
+	mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
+	mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
+	msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(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_protocol$(EXEEXT) newfstatat$(EXEEXT) \
+	old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
+	oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
+	openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
+	perf_event_open$(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-securebits$(EXEEXT) \
+	prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
+	pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
+	process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
+	pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
+	renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
+	rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
+	rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(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) \
+	seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
+	sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(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) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
+	stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
+	statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
+	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
+	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(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) unlink$(EXEEXT) unlinkat$(EXEEXT) \
+	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
+	utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
+	vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
+	waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
 _newselect_SOURCES = _newselect.c
 _newselect_OBJECTS = _newselect.$(OBJEXT)
 _newselect_LDADD = $(LDADD)
@@ -668,6 +680,14 @@
 getpgrp_OBJECTS = getpgrp.$(OBJEXT)
 getpgrp_LDADD = $(LDADD)
 getpgrp_DEPENDENCIES = libtests.a
+getpid_SOURCES = getpid.c
+getpid_OBJECTS = getpid.$(OBJEXT)
+getpid_LDADD = $(LDADD)
+getpid_DEPENDENCIES = libtests.a
+getppid_SOURCES = getppid.c
+getppid_OBJECTS = getppid.$(OBJEXT)
+getppid_LDADD = $(LDADD)
+getppid_DEPENDENCIES = libtests.a
 getrandom_SOURCES = getrandom.c
 getrandom_OBJECTS = getrandom.$(OBJEXT)
 getrandom_LDADD = $(LDADD)
@@ -704,6 +724,10 @@
 getsockname_OBJECTS = getsockname.$(OBJEXT)
 getsockname_LDADD = $(LDADD)
 getsockname_DEPENDENCIES = libtests.a
+gettid_SOURCES = gettid.c
+gettid_OBJECTS = gettid.$(OBJEXT)
+gettid_LDADD = $(LDADD)
+gettid_DEPENDENCIES = libtests.a
 getuid_SOURCES = getuid.c
 getuid_OBJECTS = getuid.$(OBJEXT)
 getuid_LDADD = $(LDADD)
@@ -732,6 +756,10 @@
 inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
 inotify_init1_LDADD = $(LDADD)
 inotify_init1_DEPENDENCIES = libtests.a
+int_0x80_SOURCES = int_0x80.c
+int_0x80_OBJECTS = int_0x80.$(OBJEXT)
+int_0x80_LDADD = $(LDADD)
+int_0x80_DEPENDENCIES = libtests.a
 ioctl_SOURCES = ioctl.c
 ioctl_OBJECTS = ioctl.$(OBJEXT)
 ioctl_LDADD = $(LDADD)
@@ -772,6 +800,10 @@
 ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
 ioctl_mtd_LDADD = $(LDADD)
 ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_nsfs_SOURCES = ioctl_nsfs.c
+ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
+ioctl_nsfs_LDADD = $(LDADD)
+ioctl_nsfs_DEPENDENCIES = libtests.a
 ioctl_rtc_SOURCES = ioctl_rtc.c
 ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
 ioctl_rtc_LDADD = $(LDADD)
@@ -900,6 +932,10 @@
 lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
 lstat64_LDADD = $(LDADD)
 lstat64_DEPENDENCIES = libtests.a
+madvise_SOURCES = madvise.c
+madvise_OBJECTS = madvise.$(OBJEXT)
+madvise_LDADD = $(LDADD)
+madvise_DEPENDENCIES = libtests.a
 mbind_SOURCES = mbind.c
 mbind_OBJECTS = mbind.$(OBJEXT)
 mbind_LDADD = $(LDADD)
@@ -1092,6 +1128,10 @@
 openat_OBJECTS = openat.$(OBJEXT)
 openat_LDADD = $(LDADD)
 openat_DEPENDENCIES = libtests.a
+osf_utimes_SOURCES = osf_utimes.c
+osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
+osf_utimes_LDADD = $(LDADD)
+osf_utimes_DEPENDENCIES = libtests.a
 pause_SOURCES = pause.c
 pause_OBJECTS = pause.$(OBJEXT)
 pause_LDADD = $(LDADD)
@@ -1145,6 +1185,10 @@
 ppoll_OBJECTS = ppoll.$(OBJEXT)
 ppoll_LDADD = $(LDADD)
 ppoll_DEPENDENCIES = libtests.a
+ppoll_v_SOURCES = ppoll-v.c
+ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
+ppoll_v_LDADD = $(LDADD)
+ppoll_v_DEPENDENCIES = libtests.a
 prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
 prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
 prctl_arg2_intptr_LDADD = $(LDADD)
@@ -1354,6 +1398,10 @@
 rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
 rt_sigqueueinfo_LDADD = $(LDADD)
 rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigreturn_SOURCES = rt_sigreturn.c
+rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
+rt_sigreturn_LDADD = $(LDADD)
+rt_sigreturn_DEPENDENCIES = libtests.a
 rt_sigsuspend_SOURCES = rt_sigsuspend.c
 rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
 rt_sigsuspend_LDADD = $(LDADD)
@@ -1554,6 +1602,10 @@
 sigreturn_OBJECTS = sigreturn.$(OBJEXT)
 sigreturn_LDADD = $(LDADD)
 sigreturn_DEPENDENCIES = libtests.a
+sigsuspend_SOURCES = sigsuspend.c
+sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
+sigsuspend_LDADD = $(LDADD)
+sigsuspend_DEPENDENCIES = libtests.a
 sleep_SOURCES = sleep.c
 sleep_OBJECTS = sleep.$(OBJEXT)
 sleep_LDADD = $(LDADD)
@@ -1588,10 +1640,18 @@
 statfs64_OBJECTS = statfs64.$(OBJEXT)
 statfs64_LDADD = $(LDADD)
 statfs64_DEPENDENCIES = libtests.a
+statx_SOURCES = statx.c
+statx_OBJECTS = statx.$(OBJEXT)
+statx_LDADD = $(LDADD)
+statx_DEPENDENCIES = libtests.a
 swap_SOURCES = swap.c
 swap_OBJECTS = swap.$(OBJEXT)
 swap_LDADD = $(LDADD)
 swap_DEPENDENCIES = libtests.a
+sxetmask_SOURCES = sxetmask.c
+sxetmask_OBJECTS = sxetmask.$(OBJEXT)
+sxetmask_LDADD = $(LDADD)
+sxetmask_DEPENDENCIES = libtests.a
 symlink_SOURCES = symlink.c
 symlink_OBJECTS = symlink.$(OBJEXT)
 symlink_LDADD = $(LDADD)
@@ -1853,35 +1913,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1894,21 +1955,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -1938,35 +2000,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1979,21 +2042,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -2214,7 +2278,7 @@
   bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check recheck
-#am__EXEEXT_1 = strace-k.test
+#am__EXEEXT_2 = strace-k.test
 TEST_SUITE_LOG = test-suite.log
 TEST_EXTENSIONS =  .test
 am__test_logs1 = $(TESTS:=.log)
@@ -2234,12 +2298,12 @@
       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
+ACLOCAL = ${SHELL} /tmp/strace-4.17/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
+AUTOCONF = ${SHELL} /tmp/strace-4.17/missing autoconf
+AUTOHEADER = ${SHELL} /tmp/strace-4.17/missing autoheader
+AUTOMAKE = ${SHELL} /tmp/strace-4.17/missing automake-1.14
 AWK = gawk
 BUILD_EXEEXT = 
 BUILD_OBJEXT = 
@@ -2253,12 +2317,13 @@
 CODE_COVERAGE_CXXFLAGS = 
 CODE_COVERAGE_ENABLED = no
 CODE_COVERAGE_LDFLAGS = 
+COPYRIGHT_YEAR = 2017
 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
+DEB_CHANGELOGTIME = Thu, 25 May 2017 15:09:49 -0700
 DEFS = -DHAVE_CONFIG_H
 DEPDIR = .deps
 ECHO_C = 
@@ -2285,34 +2350,34 @@
 LIBS = 
 LTLIBOBJS = 
 MAINT = #
-MAKEINFO = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing makeinfo
+MAKEINFO = ${SHELL} /tmp/strace-4.17/missing makeinfo
 MIPS_ABI = 
 MKDIR_P = /bin/mkdir -p
 OBJEXT = o
 PACKAGE = strace
 PACKAGE_BUGREPORT = strace-devel@lists.sourceforge.net
 PACKAGE_NAME = strace
-PACKAGE_STRING = strace 4.16
+PACKAGE_STRING = strace 4.17
 PACKAGE_TARNAME = strace
 PACKAGE_URL = https://strace.io
-PACKAGE_VERSION = 4.16
+PACKAGE_VERSION = 4.17
 PATH_SEPARATOR = :
 PERL = /usr/bin/perl
 RANLIB = ranlib
-RPM_CHANGELOGTIME = Wed Feb 15 2017
+RPM_CHANGELOGTIME = Thu May 25 2017
 SED = /bin/sed
 SET_MAKE = 
 SHELL = /bin/sh
 STRIP = 
 VALGRIND = valgrind
 VALGRIND_ENABLED = yes
-VERSION = 4.16
+VERSION = 4.17
 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-mx32
-abs_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16/tests-mx32
-abs_top_builddir = /usr/local/google/home/enh/Downloads/strace-4.16
-abs_top_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16
+abs_builddir = /tmp/strace-4.17/tests-mx32
+abs_srcdir = /tmp/strace-4.17/tests-mx32
+abs_top_builddir = /tmp/strace-4.17
+abs_top_srcdir = /tmp/strace-4.17
 ac_ct_CC = gcc
 ac_ct_CC_FOR_BUILD = gcc
 am__include = include
@@ -2344,7 +2409,7 @@
 htmldir = ${docdir}
 includedir = ${prefix}/include
 infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/install-sh
+install_sh = ${SHELL} /tmp/strace-4.17/install-sh
 libdir = ${exec_prefix}/lib
 libexecdir = ${exec_prefix}/libexec
 libunwind_CPPFLAGS = 
@@ -2389,6 +2454,7 @@
 	error_msg.c \
 	fill_memory.c \
 	get_page_size.c \
+	get_sigset_size.c \
 	hexdump_strdup.c \
 	hexquote_strndup.c \
 	inode_of_sockfd.c \
@@ -2397,9 +2463,11 @@
 	overflowuid.c \
 	pipe_maxfd.c \
 	print_quoted_string.c \
+	print_time.c \
 	printflags.c \
 	printxval.c \
 	signal2name.c \
+	skip_unavailable.c \
 	sprintrc.c \
 	tail_alloc.c \
 	tests.h \
@@ -2409,6 +2477,340 @@
 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 check_LIBRARIES = libtests.a
 LDADD = libtests.a
+
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+  _newselect \
+  accept \
+  accept4 \
+  access \
+  acct \
+  add_key \
+  adjtimex \
+  aio \
+  alarm \
+  bpf \
+  brk \
+  btrfs \
+  caps \
+  chmod \
+  chown \
+  chown32 \
+  chroot \
+  clock_adjtime \
+  clock_nanosleep \
+  clock_xettime \
+  copy_file_range \
+  creat \
+  delete_module \
+  dup \
+  dup2 \
+  dup3 \
+  epoll_create \
+  epoll_create1 \
+  epoll_ctl \
+  epoll_pwait \
+  epoll_wait \
+  erestartsys \
+  eventfd \
+  execve \
+  execveat \
+  faccessat \
+  fadvise64 \
+  fadvise64_64 \
+  fallocate \
+  fanotify_init \
+  fanotify_mark \
+  fchdir \
+  fchmod \
+  fchmodat \
+  fchown \
+  fchown32 \
+  fchownat \
+  fcntl \
+  fcntl64 \
+  fdatasync \
+  file_handle \
+  file_ioctl \
+  finit_module \
+  flock \
+  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 \
+  getpid \
+  getppid \
+  getrandom \
+  getresgid \
+  getresgid32 \
+  getresuid \
+  getresuid32 \
+  getrlimit \
+  getrusage \
+  getsid \
+  getsockname \
+  getuid \
+  getuid32 \
+  getxxid \
+  inet-cmsg \
+  init_module \
+  inotify \
+  inotify_init1 \
+  ioctl \
+  ioctl_block \
+  ioctl_dm \
+  ioctl_evdev \
+  ioctl_loop \
+  ioctl_mtd \
+  ioctl_rtc \
+  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 \
+  lchown \
+  lchown32 \
+  link \
+  linkat \
+  llseek \
+  lookup_dcookie \
+  lseek \
+  lstat \
+  lstat64 \
+  madvise \
+  mbind \
+  membarrier \
+  memfd_create \
+  migrate_pages \
+  mincore \
+  mkdir \
+  mkdirat \
+  mknod \
+  mknodat \
+  mlock \
+  mlock2 \
+  mlockall \
+  mmap \
+  mmap64 \
+  mmsg \
+  mmsg_name \
+  mount \
+  move_pages \
+  mq \
+  mq_sendrecv \
+  mq_sendrecv-read \
+  mq_sendrecv-write \
+  msg_control \
+  msg_name \
+  munlockall \
+  nanosleep \
+  net-icmp_filter \
+  net-sockaddr \
+  net-y-unix \
+  net-yy-inet \
+  net-yy-netlink \
+  net-yy-unix \
+  netlink_protocol \
+  newfstatat \
+  old_mmap \
+  oldfstat \
+  oldlstat \
+  oldselect \
+  oldstat \
+  open \
+  openat \
+  osf_utimes \
+  pause \
+  perf_event_open \
+  personality \
+  pipe \
+  pipe2 \
+  pkey_alloc \
+  pkey_free \
+  pkey_mprotect \
+  poll \
+  ppoll \
+  prctl-arg2-intptr \
+  prctl-dumpable \
+  prctl-name \
+  prctl-no-args \
+  prctl-pdeathsig \
+  prctl-securebits \
+  prctl-tid_address \
+  prctl-tsc \
+  pread64-pwrite64 \
+  preadv \
+  preadv-pwritev \
+  preadv2-pwritev2 \
+  printstr \
+  prlimit64 \
+  process_vm_readv \
+  process_vm_writev \
+  pselect6 \
+  ptrace \
+  pwritev \
+  quotactl \
+  quotactl-xfs \
+  read-write \
+  readahead \
+  readdir \
+  readlink \
+  readlinkat \
+  readv \
+  reboot \
+  recvfrom \
+  recvmmsg-timeout \
+  recvmsg \
+  remap_file_pages \
+  rename \
+  renameat \
+  renameat2 \
+  request_key \
+  rmdir \
+  rt_sigpending \
+  rt_sigprocmask \
+  rt_sigqueueinfo \
+  rt_sigreturn \
+  rt_sigsuspend \
+  rt_sigtimedwait \
+  rt_tgsigqueueinfo \
+  sched_get_priority_mxx \
+  sched_rr_get_interval \
+  sched_xetaffinity \
+  sched_xetattr \
+  sched_xetparam \
+  sched_xetscheduler \
+  sched_yield \
+  seccomp-filter \
+  select \
+  semop \
+  sendfile \
+  sendfile64 \
+  set_mempolicy \
+  setdomainname \
+  setfsgid \
+  setfsgid32 \
+  setfsuid \
+  setfsuid32 \
+  setgid \
+  setgid32 \
+  setgroups \
+  setgroups32 \
+  sethostname \
+  setns \
+  setregid \
+  setregid32 \
+  setresgid \
+  setresgid32 \
+  setresuid \
+  setresuid32 \
+  setreuid \
+  setreuid32 \
+  setrlimit \
+  setuid \
+  setuid32 \
+  shmxt \
+  shutdown \
+  sigaction \
+  sigaltstack \
+  siginfo \
+  signalfd4 \
+  sigreturn \
+  sigsuspend \
+  socketcall \
+  splice \
+  stat \
+  stat64 \
+  statfs \
+  statfs64 \
+  statx \
+  swap \
+  sxetmask \
+  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 \
+  umoven-illptr \
+  umovestr \
+  umovestr-illptr \
+  umovestr2 \
+  umovestr3 \
+  uname \
+  unlink \
+  unlinkat \
+  unshare \
+  userfaultfd \
+  ustat \
+  utime \
+  utimensat \
+  utimes \
+  vhangup \
+  vmsplice \
+  wait4 \
+  waitid \
+  waitpid \
+  xattr \
+  xattr-strings \
+  xet_robust_list \
+  xetitimer \
+  xetpgid \
+  xetpriority \
+  xettimeofday \
+  #
+
 attach_f_p_LDADD = -lrt -lpthread $(LDADD)
 clock_xettime_LDADD = -lrt $(LDADD)
 count_f_LDADD = -lpthread $(LDADD)
@@ -2437,209 +2839,159 @@
 stack_fcall_SOURCES = stack-fcall.c \
 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
 
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
+	access.gen.test acct.gen.test add_key.gen.test \
+	adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
+	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
+	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
+	clock_nanosleep.gen.test clock_xettime.gen.test \
+	copy_file_range.gen.test creat.gen.test delete_module.gen.test \
+	dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
+	epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
+	epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
+	execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
+	fallocate.gen.test fanotify_init.gen.test \
+	fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
+	fchmodat.gen.test fchown.gen.test fchown32.gen.test \
+	fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
+	finit_module.gen.test flock.gen.test fork-f.gen.test \
+	fstat.gen.test fstat64.gen.test fstatat64.gen.test \
+	fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
+	ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
+	get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
+	getdents.gen.test getdents64.gen.test getegid.gen.test \
+	getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
+	getgid.gen.test getgid32.gen.test getgroups.gen.test \
+	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
+	getpid.gen.test getppid.gen.test getrandom.gen.test \
+	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
+	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
+	getsid.gen.test getsockname.gen.test gettid.gen.test \
+	getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
+	init_module.gen.test inotify.gen.test inotify_init1.gen.test \
+	int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
+	ioctl_evdev-v.gen.test ioctl_loop.gen.test \
+	ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
+	ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
+	ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
+	ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
+	iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
+	ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
+	kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
+	keyctl.gen.test kill.gen.test lchown.gen.test \
+	lchown32.gen.test link.gen.test linkat.gen.test \
+	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+	madvise.gen.test mbind.gen.test membarrier.gen.test \
+	memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
+	mlockall.gen.test mmap64.gen.test mmsg.gen.test \
+	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
+	mount.gen.test move_pages.gen.test mq.gen.test \
+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+	mq_sendrecv-write.gen.test msg_control.gen.test \
+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
+	nanosleep.gen.test net-icmp_filter.gen.test \
+	net-sockaddr.gen.test netlink_protocol.gen.test \
+	newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
+	oldlstat.gen.test oldstat.gen.test open.gen.test \
+	openat.gen.test osf_utimes.gen.test pause.gen.test \
+	perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+	perf_event_open_unabbrev.gen.test pipe2.gen.test \
+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
+	ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
+	preadv.gen.test preadv-pwritev.gen.test \
+	preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
+	process_vm_readv.gen.test process_vm_writev.gen.test \
+	pselect6.gen.test ptrace.gen.test pwritev.gen.test \
+	quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
+	quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
+	readdir.gen.test readlink.gen.test readlinkat.gen.test \
+	reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
+	recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
+	rename.gen.test renameat.gen.test renameat2.gen.test \
+	request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
+	rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
+	sched.gen.test sched_get_priority_mxx.gen.test \
+	sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
+	sched_xetattr.gen.test sched_xetparam.gen.test \
+	sched_xetscheduler.gen.test sched_yield.gen.test \
+	seccomp-filter.gen.test seccomp-filter-v.gen.test \
+	select.gen.test semop.gen.test sendfile.gen.test \
+	sendfile64.gen.test set_mempolicy.gen.test \
+	setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
+	setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
+	setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
+	sethostname.gen.test setns.gen.test setregid.gen.test \
+	setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
+	setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
+	setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
+	setuid32.gen.test shmxt.gen.test shutdown.gen.test \
+	siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
+	sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
+	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
+	statfs64.gen.test statx.gen.test swap.gen.test \
+	sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
+	sync.gen.test sync_file_range.gen.test \
+	sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
+	tee.gen.test time.gen.test timer_create.gen.test \
+	timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
+	times-fail.gen.test trace_fstat.gen.test \
+	trace_fstatfs.gen.test trace_lstat.gen.test \
+	trace_question.gen.test trace_stat.gen.test \
+	trace_stat_like.gen.test trace_statfs.gen.test \
+	trace_statfs_like.gen.test truncate.gen.test \
+	truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
+	umoven-illptr.gen.test umovestr-illptr.gen.test \
+	umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
+	unshare.gen.test userfaultfd.gen.test ustat.gen.test \
+	utime.gen.test utimensat.gen.test utimes.gen.test \
+	vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
+	wait4.gen.test wait4-v.gen.test waitid.gen.test \
+	waitid-v.gen.test waitpid.gen.test xattr.gen.test \
+	xattr-strings.gen.test xet_robust_list.gen.test \
+	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
+	xettimeofday.gen.test
 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_nsfs.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 \
@@ -2650,148 +3002,21 @@
 	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 = \
@@ -2804,7 +3029,7 @@
 	detach-sleeping.test \
 	detach-stopped.test \
 	filter-unavailable.test \
-	fork-f.test \
+	get_regs.test \
 	ksysent.test \
 	opipe.test \
 	options-syntax.test \
@@ -2820,7 +3045,6 @@
 	redirect-fds.test \
 	redirect.test \
 	restart_syscall.test \
-	signal_receive.test \
 	strace-C.test \
 	strace-E.test \
 	strace-S.test \
@@ -2832,77 +3056,94 @@
 	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))
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
 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)
+EXTRA_DIST = \
+	caps-abbrev.awk \
+	caps.awk \
+	clock.in \
+	count-f.expected \
+	eventfd.expected \
+	fadvise.h \
+	filter-unavailable.expected \
+	fstatat.c \
+	fstatx.c \
+	gen_pure_executables.sh \
+	gen_tests.in \
+	gen_tests.sh \
+	getresugid.c \
+	init.sh \
+	init_delete_module.h \
+	ioctl-v.sh \
+	ipc.sh \
+	ipc_msgbuf.expected \
+	ksysent.sed \
+	lstatx.c \
+	match.awk \
+	net.expected \
+	oldselect.expected \
+	pipe.expected \
+	process_vm_readv_writev.c \
+	pure_executables.list \
+	qual_fault-exit_group.expected \
+	qual_inject-error-signal.expected \
+	qual_inject-signal.expected \
+	quotactl.h \
+	regex.in \
+	run.sh \
+	sched.in \
+	scno_tampering.sh \
+	setfsugid.c \
+	setresugid.c \
+	setreugid.c \
+	setugid.c \
+	sigaction.awk \
+	sigaltstack.expected \
+	sockname.c \
+	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 \
+	trace_fstat.in \
+	trace_fstatfs.in \
+	trace_lstat.in \
+	trace_question.in \
+	trace_stat.in \
+	trace_stat_like.in \
+	trace_statfs.in \
+	trace_statfs_like.in \
+	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 \
+	xutimes.c \
+	$(TESTS)
 
 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+CLEANFILES = ksysent.h syscallent.i scno.h
 SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
 
@@ -2913,7 +3154,7 @@
 
 .SUFFIXES:
 .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/../scno.am $(am__configure_deps)
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -2934,7 +3175,7 @@
 	    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:
+$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3316,6 +3557,14 @@
 	@rm -f getpgrp$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
 
+getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
+	@rm -f getpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
+
+getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
+	@rm -f getppid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
+
 getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
 	@rm -f getrandom$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
@@ -3352,6 +3601,10 @@
 	@rm -f getsockname$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
 
+gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES) 
+	@rm -f gettid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
+
 getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
 	@rm -f getuid$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
@@ -3380,6 +3633,10 @@
 	@rm -f inotify_init1$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
 
+int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES) 
+	@rm -f int_0x80$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
+
 ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
 	@rm -f ioctl$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
@@ -3420,6 +3677,10 @@
 	@rm -f ioctl_mtd$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
 
+ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES) 
+	@rm -f ioctl_nsfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_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)
@@ -3548,6 +3809,10 @@
 	@rm -f lstat64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
 
+madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES) 
+	@rm -f madvise$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
+
 mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
 	@rm -f mbind$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
@@ -3744,6 +4009,10 @@
 	@rm -f openat$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
 
+osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) 
+	@rm -f osf_utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
+
 pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
 	@rm -f pause$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
@@ -3796,6 +4065,10 @@
 	@rm -f ppoll$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
 
+ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES) 
+	@rm -f ppoll-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_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)
@@ -4004,6 +4277,10 @@
 	@rm -f rt_sigqueueinfo$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
 
+rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
+	@rm -f rt_sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_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)
@@ -4204,6 +4481,10 @@
 	@rm -f sigreturn$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
 
+sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES) 
+	@rm -f sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
+
 sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
 	@rm -f sleep$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
@@ -4236,10 +4517,18 @@
 	@rm -f statfs64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
 
+statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES) 
+	@rm -f statx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
+
 swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
 	@rm -f swap$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
 
+sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES) 
+	@rm -f sxetmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
+
 symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
 	@rm -f symlink$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
@@ -4548,6 +4837,8 @@
 include ./$(DEPDIR)/getgroups32.Po
 include ./$(DEPDIR)/getpeername.Po
 include ./$(DEPDIR)/getpgrp.Po
+include ./$(DEPDIR)/getpid.Po
+include ./$(DEPDIR)/getppid.Po
 include ./$(DEPDIR)/getrandom.Po
 include ./$(DEPDIR)/getresgid.Po
 include ./$(DEPDIR)/getresgid32.Po
@@ -4557,6 +4848,7 @@
 include ./$(DEPDIR)/getrusage.Po
 include ./$(DEPDIR)/getsid.Po
 include ./$(DEPDIR)/getsockname.Po
+include ./$(DEPDIR)/gettid.Po
 include ./$(DEPDIR)/getuid.Po
 include ./$(DEPDIR)/getuid32.Po
 include ./$(DEPDIR)/getxxid.Po
@@ -4564,6 +4856,7 @@
 include ./$(DEPDIR)/init_module.Po
 include ./$(DEPDIR)/inotify.Po
 include ./$(DEPDIR)/inotify_init1.Po
+include ./$(DEPDIR)/int_0x80.Po
 include ./$(DEPDIR)/ioctl.Po
 include ./$(DEPDIR)/ioctl_block.Po
 include ./$(DEPDIR)/ioctl_dm-v.Po
@@ -4574,6 +4867,7 @@
 include ./$(DEPDIR)/ioctl_loop-v.Po
 include ./$(DEPDIR)/ioctl_loop.Po
 include ./$(DEPDIR)/ioctl_mtd.Po
+include ./$(DEPDIR)/ioctl_nsfs.Po
 include ./$(DEPDIR)/ioctl_rtc-v.Po
 include ./$(DEPDIR)/ioctl_rtc.Po
 include ./$(DEPDIR)/ioctl_scsi.Po
@@ -4603,6 +4897,7 @@
 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-get_sigset_size.Po
 include ./$(DEPDIR)/libtests_a-hexdump_strdup.Po
 include ./$(DEPDIR)/libtests_a-hexquote_strndup.Po
 include ./$(DEPDIR)/libtests_a-inode_of_sockfd.Po
@@ -4611,9 +4906,11 @@
 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-print_time.Po
 include ./$(DEPDIR)/libtests_a-printflags.Po
 include ./$(DEPDIR)/libtests_a-printxval.Po
 include ./$(DEPDIR)/libtests_a-signal2name.Po
+include ./$(DEPDIR)/libtests_a-skip_unavailable.Po
 include ./$(DEPDIR)/libtests_a-sprintrc.Po
 include ./$(DEPDIR)/libtests_a-tail_alloc.Po
 include ./$(DEPDIR)/libtests_a-tprintf.Po
@@ -4624,6 +4921,7 @@
 include ./$(DEPDIR)/lseek.Po
 include ./$(DEPDIR)/lstat.Po
 include ./$(DEPDIR)/lstat64-lstat64.Po
+include ./$(DEPDIR)/madvise.Po
 include ./$(DEPDIR)/mbind.Po
 include ./$(DEPDIR)/membarrier.Po
 include ./$(DEPDIR)/memfd_create.Po
@@ -4673,6 +4971,7 @@
 include ./$(DEPDIR)/oldstat.Po
 include ./$(DEPDIR)/open.Po
 include ./$(DEPDIR)/openat.Po
+include ./$(DEPDIR)/osf_utimes.Po
 include ./$(DEPDIR)/pause.Po
 include ./$(DEPDIR)/pc.Po
 include ./$(DEPDIR)/perf_event_open.Po
@@ -4685,6 +4984,7 @@
 include ./$(DEPDIR)/pkey_free.Po
 include ./$(DEPDIR)/pkey_mprotect.Po
 include ./$(DEPDIR)/poll.Po
+include ./$(DEPDIR)/ppoll-v.Po
 include ./$(DEPDIR)/ppoll.Po
 include ./$(DEPDIR)/prctl-arg2-intptr.Po
 include ./$(DEPDIR)/prctl-dumpable.Po
@@ -4738,6 +5038,7 @@
 include ./$(DEPDIR)/rt_sigpending.Po
 include ./$(DEPDIR)/rt_sigprocmask.Po
 include ./$(DEPDIR)/rt_sigqueueinfo.Po
+include ./$(DEPDIR)/rt_sigreturn.Po
 include ./$(DEPDIR)/rt_sigsuspend.Po
 include ./$(DEPDIR)/rt_sigtimedwait.Po
 include ./$(DEPDIR)/rt_tgsigqueueinfo.Po
@@ -4788,6 +5089,7 @@
 include ./$(DEPDIR)/signal_receive.Po
 include ./$(DEPDIR)/signalfd4.Po
 include ./$(DEPDIR)/sigreturn.Po
+include ./$(DEPDIR)/sigsuspend.Po
 include ./$(DEPDIR)/sleep.Po
 include ./$(DEPDIR)/socketcall.Po
 include ./$(DEPDIR)/splice.Po
@@ -4800,7 +5102,9 @@
 include ./$(DEPDIR)/stat64-stat64.Po
 include ./$(DEPDIR)/statfs-statfs.Po
 include ./$(DEPDIR)/statfs64.Po
+include ./$(DEPDIR)/statx.Po
 include ./$(DEPDIR)/swap.Po
+include ./$(DEPDIR)/sxetmask.Po
 include ./$(DEPDIR)/symlink.Po
 include ./$(DEPDIR)/symlinkat.Po
 include ./$(DEPDIR)/sync.Po
@@ -4925,6 +5229,20 @@
 #	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-get_sigset_size.o: get_sigset_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+#	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+
+libtests_a-get_sigset_size.obj: get_sigset_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+#	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_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
@@ -5037,6 +5355,20 @@
 #	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-print_time.o: print_time.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+#	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libtests_a-print_time.obj: print_time.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+#	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.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
@@ -5079,6 +5411,20 @@
 #	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-skip_unavailable.o: skip_unavailable.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+#	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+
+libtests_a-skip_unavailable.obj: skip_unavailable.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+#	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.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
@@ -5603,7 +5949,7 @@
 clean: clean-am
 
 clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	mostlyclean-am
+	clean-local mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -5675,19 +6021,982 @@
 .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 \
+	clean-local 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
 
 
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
 
 # Valgrind check
 #
@@ -5786,6 +7095,11 @@
 ksysent.$(OBJEXT): ksysent.h
 $(objects): scno.h
 
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
 syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
 	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
 
diff --git a/tests-mx32/Makefile.am b/tests-mx32/Makefile.am
deleted file mode 100644
index 58efd3e..0000000
--- a/tests-mx32/Makefile.am
+++ /dev/null
@@ -1,962 +0,0 @@
-# Automake input for strace tests.
-#
-# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
-# 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.
-
-OS = linux
-ARCH = @arch_mx32@
-MPERS_NAME = mx32
-ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) -mx32
-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
-
-check_PROGRAMS = \
-	_newselect \
-	accept \
-	accept4 \
-	access \
-	acct \
-	add_key \
-	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 \
-	chroot \
-	clock_adjtime \
-	clock_nanosleep \
-	clock_xettime \
-	copy_file_range \
-	count-f \
-	creat \
-	delete_module \
-	dup \
-	dup2 \
-	dup3 \
-	epoll_create \
-	epoll_create1 \
-	epoll_ctl \
-	epoll_pwait \
-	epoll_wait \
-	erestartsys \
-	eventfd \
-	execve \
-	execve-v \
-	execveat \
-	execveat-v \
-	faccessat \
-	fadvise64 \
-	fadvise64_64 \
-	fallocate \
-	fanotify_init \
-	fanotify_mark \
-	fchdir \
-	fchmod \
-	fchmodat \
-	fchown \
-	fchown32 \
-	fchownat \
-	fcntl \
-	fcntl64 \
-	fdatasync \
-	file_handle \
-	file_ioctl \
-	filter-unavailable \
-	finit_module \
-	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 \
-	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 \
-	lchown \
-	lchown32 \
-	link \
-	linkat \
-	llseek \
-	lookup_dcookie \
-	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 \
-	mq_sendrecv \
-	mq_sendrecv-read \
-	mq_sendrecv-write \
-	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 \
-	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 \
-	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 \
-	setns \
-	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 \
-	threads-execve \
-	time \
-	timer_create \
-	timer_xettime \
-	timerfd_xettime \
-	times \
-	times-fail \
-	truncate \
-	truncate64 \
-	ugetrlimit \
-	uio \
-	umask \
-	umount \
-	umount2 \
-	umoven-illptr \
-	umovestr \
-	umovestr-illptr \
-	umovestr2 \
-	umovestr3 \
-	uname \
-	unix-pair-send-recv \
-	unix-pair-sendto-recvfrom \
-	unlink \
-	unlinkat \
-	unshare \
-	userfaultfd \
-	ustat \
-	utime \
-	utimensat \
-	utimes \
-	vfork-f \
-	vhangup \
-	vmsplice \
-	wait4 \
-	wait4-v \
-	waitid \
-	waitid-v \
-	waitpid \
-	xattr \
-	xattr-strings \
-	xet_robust_list \
-	xetitimer \
-	xetpgid \
-	xetpriority \
-	xettimeofday \
-	# end of check_PROGRAMS
-
-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
-
-if USE_LIBUNWIND
-LIBUNWIND_TESTS = strace-k.test
-else
-LIBUNWIND_TESTS =
-endif
-
-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
-
-TESTS = $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_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_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 \
-	     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)
-
-ksysent.h: $(srcdir)/ksysent.sed
-	echo '#include <asm/unistd.h>' | \
-		$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
-	LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
-	mv -f $@.t2 $@
-	rm -f $@.t1
-
-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-mx32/Makefile.in b/tests-mx32/Makefile.in
index 47838a3..40fbfd8 100644
--- a/tests-mx32/Makefile.in
+++ b/tests-mx32/Makefile.in
@@ -17,6 +17,7 @@
 # Automake input for strace tests.
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -131,148 +132,38 @@
 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 \
+DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
+	$(srcdir)/../scno.am $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
 	$(top_srcdir)/test-driver
+check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
+	attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
+	attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
+	execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
+	getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
+	ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
+	ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
+	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
+	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
+	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
+	quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
+	seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
+	signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+	threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
+	wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
 subdir = tests-mx32
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
@@ -300,6 +191,7 @@
 	libtests_a-error_msg.$(OBJEXT) \
 	libtests_a-fill_memory.$(OBJEXT) \
 	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-get_sigset_size.$(OBJEXT) \
 	libtests_a-hexdump_strdup.$(OBJEXT) \
 	libtests_a-hexquote_strndup.$(OBJEXT) \
 	libtests_a-inode_of_sockfd.$(OBJEXT) \
@@ -308,10 +200,130 @@
 	libtests_a-overflowuid.$(OBJEXT) \
 	libtests_a-pipe_maxfd.$(OBJEXT) \
 	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-print_time.$(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-signal2name.$(OBJEXT) \
+	libtests_a-skip_unavailable.$(OBJEXT) \
+	libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
+	libtests_a-tprintf.$(OBJEXT)
 libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
+	chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(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) \
+	execveat$(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) finit_module$(EXEEXT) flock$(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) getpid$(EXEEXT) getppid$(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_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
+	ioctl_mtd$(EXEEXT) ioctl_rtc$(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) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(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_name$(EXEEXT) \
+	mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
+	mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
+	mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
+	msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(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_protocol$(EXEEXT) newfstatat$(EXEEXT) \
+	old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
+	oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
+	openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
+	perf_event_open$(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-securebits$(EXEEXT) \
+	prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
+	pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
+	process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
+	pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
+	renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
+	rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
+	rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(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) \
+	seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
+	sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(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) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
+	stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
+	statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
+	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
+	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(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) unlink$(EXEEXT) unlinkat$(EXEEXT) \
+	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
+	utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
+	vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
+	waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
 _newselect_SOURCES = _newselect.c
 _newselect_OBJECTS = _newselect.$(OBJEXT)
 _newselect_LDADD = $(LDADD)
@@ -668,6 +680,14 @@
 getpgrp_OBJECTS = getpgrp.$(OBJEXT)
 getpgrp_LDADD = $(LDADD)
 getpgrp_DEPENDENCIES = libtests.a
+getpid_SOURCES = getpid.c
+getpid_OBJECTS = getpid.$(OBJEXT)
+getpid_LDADD = $(LDADD)
+getpid_DEPENDENCIES = libtests.a
+getppid_SOURCES = getppid.c
+getppid_OBJECTS = getppid.$(OBJEXT)
+getppid_LDADD = $(LDADD)
+getppid_DEPENDENCIES = libtests.a
 getrandom_SOURCES = getrandom.c
 getrandom_OBJECTS = getrandom.$(OBJEXT)
 getrandom_LDADD = $(LDADD)
@@ -704,6 +724,10 @@
 getsockname_OBJECTS = getsockname.$(OBJEXT)
 getsockname_LDADD = $(LDADD)
 getsockname_DEPENDENCIES = libtests.a
+gettid_SOURCES = gettid.c
+gettid_OBJECTS = gettid.$(OBJEXT)
+gettid_LDADD = $(LDADD)
+gettid_DEPENDENCIES = libtests.a
 getuid_SOURCES = getuid.c
 getuid_OBJECTS = getuid.$(OBJEXT)
 getuid_LDADD = $(LDADD)
@@ -732,6 +756,10 @@
 inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
 inotify_init1_LDADD = $(LDADD)
 inotify_init1_DEPENDENCIES = libtests.a
+int_0x80_SOURCES = int_0x80.c
+int_0x80_OBJECTS = int_0x80.$(OBJEXT)
+int_0x80_LDADD = $(LDADD)
+int_0x80_DEPENDENCIES = libtests.a
 ioctl_SOURCES = ioctl.c
 ioctl_OBJECTS = ioctl.$(OBJEXT)
 ioctl_LDADD = $(LDADD)
@@ -772,6 +800,10 @@
 ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
 ioctl_mtd_LDADD = $(LDADD)
 ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_nsfs_SOURCES = ioctl_nsfs.c
+ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
+ioctl_nsfs_LDADD = $(LDADD)
+ioctl_nsfs_DEPENDENCIES = libtests.a
 ioctl_rtc_SOURCES = ioctl_rtc.c
 ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
 ioctl_rtc_LDADD = $(LDADD)
@@ -900,6 +932,10 @@
 lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
 lstat64_LDADD = $(LDADD)
 lstat64_DEPENDENCIES = libtests.a
+madvise_SOURCES = madvise.c
+madvise_OBJECTS = madvise.$(OBJEXT)
+madvise_LDADD = $(LDADD)
+madvise_DEPENDENCIES = libtests.a
 mbind_SOURCES = mbind.c
 mbind_OBJECTS = mbind.$(OBJEXT)
 mbind_LDADD = $(LDADD)
@@ -1092,6 +1128,10 @@
 openat_OBJECTS = openat.$(OBJEXT)
 openat_LDADD = $(LDADD)
 openat_DEPENDENCIES = libtests.a
+osf_utimes_SOURCES = osf_utimes.c
+osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
+osf_utimes_LDADD = $(LDADD)
+osf_utimes_DEPENDENCIES = libtests.a
 pause_SOURCES = pause.c
 pause_OBJECTS = pause.$(OBJEXT)
 pause_LDADD = $(LDADD)
@@ -1145,6 +1185,10 @@
 ppoll_OBJECTS = ppoll.$(OBJEXT)
 ppoll_LDADD = $(LDADD)
 ppoll_DEPENDENCIES = libtests.a
+ppoll_v_SOURCES = ppoll-v.c
+ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
+ppoll_v_LDADD = $(LDADD)
+ppoll_v_DEPENDENCIES = libtests.a
 prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
 prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
 prctl_arg2_intptr_LDADD = $(LDADD)
@@ -1354,6 +1398,10 @@
 rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
 rt_sigqueueinfo_LDADD = $(LDADD)
 rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigreturn_SOURCES = rt_sigreturn.c
+rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
+rt_sigreturn_LDADD = $(LDADD)
+rt_sigreturn_DEPENDENCIES = libtests.a
 rt_sigsuspend_SOURCES = rt_sigsuspend.c
 rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
 rt_sigsuspend_LDADD = $(LDADD)
@@ -1554,6 +1602,10 @@
 sigreturn_OBJECTS = sigreturn.$(OBJEXT)
 sigreturn_LDADD = $(LDADD)
 sigreturn_DEPENDENCIES = libtests.a
+sigsuspend_SOURCES = sigsuspend.c
+sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
+sigsuspend_LDADD = $(LDADD)
+sigsuspend_DEPENDENCIES = libtests.a
 sleep_SOURCES = sleep.c
 sleep_OBJECTS = sleep.$(OBJEXT)
 sleep_LDADD = $(LDADD)
@@ -1588,10 +1640,18 @@
 statfs64_OBJECTS = statfs64.$(OBJEXT)
 statfs64_LDADD = $(LDADD)
 statfs64_DEPENDENCIES = libtests.a
+statx_SOURCES = statx.c
+statx_OBJECTS = statx.$(OBJEXT)
+statx_LDADD = $(LDADD)
+statx_DEPENDENCIES = libtests.a
 swap_SOURCES = swap.c
 swap_OBJECTS = swap.$(OBJEXT)
 swap_LDADD = $(LDADD)
 swap_DEPENDENCIES = libtests.a
+sxetmask_SOURCES = sxetmask.c
+sxetmask_OBJECTS = sxetmask.$(OBJEXT)
+sxetmask_LDADD = $(LDADD)
+sxetmask_DEPENDENCIES = libtests.a
 symlink_SOURCES = symlink.c
 symlink_OBJECTS = symlink.$(OBJEXT)
 symlink_LDADD = $(LDADD)
@@ -1853,35 +1913,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1894,21 +1955,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -1938,35 +2000,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1979,21 +2042,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -2214,7 +2278,7 @@
   bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check recheck
-@USE_LIBUNWIND_TRUE@am__EXEEXT_1 = strace-k.test
+@USE_LIBUNWIND_TRUE@am__EXEEXT_2 = strace-k.test
 TEST_SUITE_LOG = test-suite.log
 TEST_EXTENSIONS = @EXEEXT@ .test
 am__test_logs1 = $(TESTS:=.log)
@@ -2253,6 +2317,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
@@ -2389,6 +2454,7 @@
 	error_msg.c \
 	fill_memory.c \
 	get_page_size.c \
+	get_sigset_size.c \
 	hexdump_strdup.c \
 	hexquote_strndup.c \
 	inode_of_sockfd.c \
@@ -2397,9 +2463,11 @@
 	overflowuid.c \
 	pipe_maxfd.c \
 	print_quoted_string.c \
+	print_time.c \
 	printflags.c \
 	printxval.c \
 	signal2name.c \
+	skip_unavailable.c \
 	sprintrc.c \
 	tail_alloc.c \
 	tests.h \
@@ -2409,6 +2477,340 @@
 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 check_LIBRARIES = libtests.a
 LDADD = libtests.a
+
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+  _newselect \
+  accept \
+  accept4 \
+  access \
+  acct \
+  add_key \
+  adjtimex \
+  aio \
+  alarm \
+  bpf \
+  brk \
+  btrfs \
+  caps \
+  chmod \
+  chown \
+  chown32 \
+  chroot \
+  clock_adjtime \
+  clock_nanosleep \
+  clock_xettime \
+  copy_file_range \
+  creat \
+  delete_module \
+  dup \
+  dup2 \
+  dup3 \
+  epoll_create \
+  epoll_create1 \
+  epoll_ctl \
+  epoll_pwait \
+  epoll_wait \
+  erestartsys \
+  eventfd \
+  execve \
+  execveat \
+  faccessat \
+  fadvise64 \
+  fadvise64_64 \
+  fallocate \
+  fanotify_init \
+  fanotify_mark \
+  fchdir \
+  fchmod \
+  fchmodat \
+  fchown \
+  fchown32 \
+  fchownat \
+  fcntl \
+  fcntl64 \
+  fdatasync \
+  file_handle \
+  file_ioctl \
+  finit_module \
+  flock \
+  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 \
+  getpid \
+  getppid \
+  getrandom \
+  getresgid \
+  getresgid32 \
+  getresuid \
+  getresuid32 \
+  getrlimit \
+  getrusage \
+  getsid \
+  getsockname \
+  getuid \
+  getuid32 \
+  getxxid \
+  inet-cmsg \
+  init_module \
+  inotify \
+  inotify_init1 \
+  ioctl \
+  ioctl_block \
+  ioctl_dm \
+  ioctl_evdev \
+  ioctl_loop \
+  ioctl_mtd \
+  ioctl_rtc \
+  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 \
+  lchown \
+  lchown32 \
+  link \
+  linkat \
+  llseek \
+  lookup_dcookie \
+  lseek \
+  lstat \
+  lstat64 \
+  madvise \
+  mbind \
+  membarrier \
+  memfd_create \
+  migrate_pages \
+  mincore \
+  mkdir \
+  mkdirat \
+  mknod \
+  mknodat \
+  mlock \
+  mlock2 \
+  mlockall \
+  mmap \
+  mmap64 \
+  mmsg \
+  mmsg_name \
+  mount \
+  move_pages \
+  mq \
+  mq_sendrecv \
+  mq_sendrecv-read \
+  mq_sendrecv-write \
+  msg_control \
+  msg_name \
+  munlockall \
+  nanosleep \
+  net-icmp_filter \
+  net-sockaddr \
+  net-y-unix \
+  net-yy-inet \
+  net-yy-netlink \
+  net-yy-unix \
+  netlink_protocol \
+  newfstatat \
+  old_mmap \
+  oldfstat \
+  oldlstat \
+  oldselect \
+  oldstat \
+  open \
+  openat \
+  osf_utimes \
+  pause \
+  perf_event_open \
+  personality \
+  pipe \
+  pipe2 \
+  pkey_alloc \
+  pkey_free \
+  pkey_mprotect \
+  poll \
+  ppoll \
+  prctl-arg2-intptr \
+  prctl-dumpable \
+  prctl-name \
+  prctl-no-args \
+  prctl-pdeathsig \
+  prctl-securebits \
+  prctl-tid_address \
+  prctl-tsc \
+  pread64-pwrite64 \
+  preadv \
+  preadv-pwritev \
+  preadv2-pwritev2 \
+  printstr \
+  prlimit64 \
+  process_vm_readv \
+  process_vm_writev \
+  pselect6 \
+  ptrace \
+  pwritev \
+  quotactl \
+  quotactl-xfs \
+  read-write \
+  readahead \
+  readdir \
+  readlink \
+  readlinkat \
+  readv \
+  reboot \
+  recvfrom \
+  recvmmsg-timeout \
+  recvmsg \
+  remap_file_pages \
+  rename \
+  renameat \
+  renameat2 \
+  request_key \
+  rmdir \
+  rt_sigpending \
+  rt_sigprocmask \
+  rt_sigqueueinfo \
+  rt_sigreturn \
+  rt_sigsuspend \
+  rt_sigtimedwait \
+  rt_tgsigqueueinfo \
+  sched_get_priority_mxx \
+  sched_rr_get_interval \
+  sched_xetaffinity \
+  sched_xetattr \
+  sched_xetparam \
+  sched_xetscheduler \
+  sched_yield \
+  seccomp-filter \
+  select \
+  semop \
+  sendfile \
+  sendfile64 \
+  set_mempolicy \
+  setdomainname \
+  setfsgid \
+  setfsgid32 \
+  setfsuid \
+  setfsuid32 \
+  setgid \
+  setgid32 \
+  setgroups \
+  setgroups32 \
+  sethostname \
+  setns \
+  setregid \
+  setregid32 \
+  setresgid \
+  setresgid32 \
+  setresuid \
+  setresuid32 \
+  setreuid \
+  setreuid32 \
+  setrlimit \
+  setuid \
+  setuid32 \
+  shmxt \
+  shutdown \
+  sigaction \
+  sigaltstack \
+  siginfo \
+  signalfd4 \
+  sigreturn \
+  sigsuspend \
+  socketcall \
+  splice \
+  stat \
+  stat64 \
+  statfs \
+  statfs64 \
+  statx \
+  swap \
+  sxetmask \
+  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 \
+  umoven-illptr \
+  umovestr \
+  umovestr-illptr \
+  umovestr2 \
+  umovestr3 \
+  uname \
+  unlink \
+  unlinkat \
+  unshare \
+  userfaultfd \
+  ustat \
+  utime \
+  utimensat \
+  utimes \
+  vhangup \
+  vmsplice \
+  wait4 \
+  waitid \
+  waitpid \
+  xattr \
+  xattr-strings \
+  xet_robust_list \
+  xetitimer \
+  xetpgid \
+  xetpriority \
+  xettimeofday \
+  #
+
 attach_f_p_LDADD = -lrt -lpthread $(LDADD)
 clock_xettime_LDADD = -lrt $(LDADD)
 count_f_LDADD = -lpthread $(LDADD)
@@ -2437,209 +2839,159 @@
 stack_fcall_SOURCES = stack-fcall.c \
 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
 
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
+	access.gen.test acct.gen.test add_key.gen.test \
+	adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
+	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
+	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
+	clock_nanosleep.gen.test clock_xettime.gen.test \
+	copy_file_range.gen.test creat.gen.test delete_module.gen.test \
+	dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
+	epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
+	epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
+	execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
+	fallocate.gen.test fanotify_init.gen.test \
+	fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
+	fchmodat.gen.test fchown.gen.test fchown32.gen.test \
+	fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
+	finit_module.gen.test flock.gen.test fork-f.gen.test \
+	fstat.gen.test fstat64.gen.test fstatat64.gen.test \
+	fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
+	ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
+	get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
+	getdents.gen.test getdents64.gen.test getegid.gen.test \
+	getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
+	getgid.gen.test getgid32.gen.test getgroups.gen.test \
+	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
+	getpid.gen.test getppid.gen.test getrandom.gen.test \
+	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
+	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
+	getsid.gen.test getsockname.gen.test gettid.gen.test \
+	getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
+	init_module.gen.test inotify.gen.test inotify_init1.gen.test \
+	int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
+	ioctl_evdev-v.gen.test ioctl_loop.gen.test \
+	ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
+	ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
+	ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
+	ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
+	iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
+	ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
+	kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
+	keyctl.gen.test kill.gen.test lchown.gen.test \
+	lchown32.gen.test link.gen.test linkat.gen.test \
+	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+	madvise.gen.test mbind.gen.test membarrier.gen.test \
+	memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
+	mlockall.gen.test mmap64.gen.test mmsg.gen.test \
+	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
+	mount.gen.test move_pages.gen.test mq.gen.test \
+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+	mq_sendrecv-write.gen.test msg_control.gen.test \
+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
+	nanosleep.gen.test net-icmp_filter.gen.test \
+	net-sockaddr.gen.test netlink_protocol.gen.test \
+	newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
+	oldlstat.gen.test oldstat.gen.test open.gen.test \
+	openat.gen.test osf_utimes.gen.test pause.gen.test \
+	perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+	perf_event_open_unabbrev.gen.test pipe2.gen.test \
+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
+	ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
+	preadv.gen.test preadv-pwritev.gen.test \
+	preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
+	process_vm_readv.gen.test process_vm_writev.gen.test \
+	pselect6.gen.test ptrace.gen.test pwritev.gen.test \
+	quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
+	quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
+	readdir.gen.test readlink.gen.test readlinkat.gen.test \
+	reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
+	recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
+	rename.gen.test renameat.gen.test renameat2.gen.test \
+	request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
+	rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
+	sched.gen.test sched_get_priority_mxx.gen.test \
+	sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
+	sched_xetattr.gen.test sched_xetparam.gen.test \
+	sched_xetscheduler.gen.test sched_yield.gen.test \
+	seccomp-filter.gen.test seccomp-filter-v.gen.test \
+	select.gen.test semop.gen.test sendfile.gen.test \
+	sendfile64.gen.test set_mempolicy.gen.test \
+	setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
+	setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
+	setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
+	sethostname.gen.test setns.gen.test setregid.gen.test \
+	setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
+	setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
+	setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
+	setuid32.gen.test shmxt.gen.test shutdown.gen.test \
+	siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
+	sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
+	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
+	statfs64.gen.test statx.gen.test swap.gen.test \
+	sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
+	sync.gen.test sync_file_range.gen.test \
+	sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
+	tee.gen.test time.gen.test timer_create.gen.test \
+	timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
+	times-fail.gen.test trace_fstat.gen.test \
+	trace_fstatfs.gen.test trace_lstat.gen.test \
+	trace_question.gen.test trace_stat.gen.test \
+	trace_stat_like.gen.test trace_statfs.gen.test \
+	trace_statfs_like.gen.test truncate.gen.test \
+	truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
+	umoven-illptr.gen.test umovestr-illptr.gen.test \
+	umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
+	unshare.gen.test userfaultfd.gen.test ustat.gen.test \
+	utime.gen.test utimensat.gen.test utimes.gen.test \
+	vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
+	wait4.gen.test wait4-v.gen.test waitid.gen.test \
+	waitid-v.gen.test waitpid.gen.test xattr.gen.test \
+	xattr-strings.gen.test xet_robust_list.gen.test \
+	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
+	xettimeofday.gen.test
 @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_nsfs.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 \
@@ -2650,148 +3002,21 @@
 	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 = \
@@ -2804,7 +3029,7 @@
 	detach-sleeping.test \
 	detach-stopped.test \
 	filter-unavailable.test \
-	fork-f.test \
+	get_regs.test \
 	ksysent.test \
 	opipe.test \
 	options-syntax.test \
@@ -2820,7 +3045,6 @@
 	redirect-fds.test \
 	redirect.test \
 	restart_syscall.test \
-	signal_receive.test \
 	strace-C.test \
 	strace-E.test \
 	strace-S.test \
@@ -2832,77 +3056,94 @@
 	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))
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
 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)
+EXTRA_DIST = \
+	caps-abbrev.awk \
+	caps.awk \
+	clock.in \
+	count-f.expected \
+	eventfd.expected \
+	fadvise.h \
+	filter-unavailable.expected \
+	fstatat.c \
+	fstatx.c \
+	gen_pure_executables.sh \
+	gen_tests.in \
+	gen_tests.sh \
+	getresugid.c \
+	init.sh \
+	init_delete_module.h \
+	ioctl-v.sh \
+	ipc.sh \
+	ipc_msgbuf.expected \
+	ksysent.sed \
+	lstatx.c \
+	match.awk \
+	net.expected \
+	oldselect.expected \
+	pipe.expected \
+	process_vm_readv_writev.c \
+	pure_executables.list \
+	qual_fault-exit_group.expected \
+	qual_inject-error-signal.expected \
+	qual_inject-signal.expected \
+	quotactl.h \
+	regex.in \
+	run.sh \
+	sched.in \
+	scno_tampering.sh \
+	setfsugid.c \
+	setresugid.c \
+	setreugid.c \
+	setugid.c \
+	sigaction.awk \
+	sigaltstack.expected \
+	sockname.c \
+	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 \
+	trace_fstat.in \
+	trace_fstatfs.in \
+	trace_lstat.in \
+	trace_question.in \
+	trace_stat.in \
+	trace_stat_like.in \
+	trace_statfs.in \
+	trace_statfs_like.in \
+	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 \
+	xutimes.c \
+	$(TESTS)
 
 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+CLEANFILES = ksysent.h syscallent.i scno.h
 SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
 
@@ -2913,7 +3154,7 @@
 
 .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)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -2934,7 +3175,7 @@
 	    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:
+$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3316,6 +3557,14 @@
 	@rm -f getpgrp$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
 
+getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
+	@rm -f getpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
+
+getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
+	@rm -f getppid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
+
 getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
 	@rm -f getrandom$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
@@ -3352,6 +3601,10 @@
 	@rm -f getsockname$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
 
+gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES) 
+	@rm -f gettid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
+
 getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
 	@rm -f getuid$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
@@ -3380,6 +3633,10 @@
 	@rm -f inotify_init1$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
 
+int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES) 
+	@rm -f int_0x80$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
+
 ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
 	@rm -f ioctl$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
@@ -3420,6 +3677,10 @@
 	@rm -f ioctl_mtd$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
 
+ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES) 
+	@rm -f ioctl_nsfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_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)
@@ -3548,6 +3809,10 @@
 	@rm -f lstat64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
 
+madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES) 
+	@rm -f madvise$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
+
 mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
 	@rm -f mbind$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
@@ -3744,6 +4009,10 @@
 	@rm -f openat$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
 
+osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) 
+	@rm -f osf_utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
+
 pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
 	@rm -f pause$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
@@ -3796,6 +4065,10 @@
 	@rm -f ppoll$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
 
+ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES) 
+	@rm -f ppoll-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_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)
@@ -4004,6 +4277,10 @@
 	@rm -f rt_sigqueueinfo$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
 
+rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
+	@rm -f rt_sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_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)
@@ -4204,6 +4481,10 @@
 	@rm -f sigreturn$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
 
+sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES) 
+	@rm -f sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
+
 sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
 	@rm -f sleep$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
@@ -4236,10 +4517,18 @@
 	@rm -f statfs64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
 
+statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES) 
+	@rm -f statx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
+
 swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
 	@rm -f swap$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
 
+sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES) 
+	@rm -f sxetmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
+
 symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
 	@rm -f symlink$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
@@ -4548,6 +4837,8 @@
 @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)/getpid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.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@
@@ -4557,6 +4848,7 @@
 @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)/gettid.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@
@@ -4564,6 +4856,7 @@
 @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)/int_0x80.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@
@@ -4574,6 +4867,7 @@
 @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_nsfs.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@
@@ -4603,6 +4897,7 @@
 @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-get_sigset_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@
@@ -4611,9 +4906,11 @@
 @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-print_time.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-skip_unavailable.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@
@@ -4624,6 +4921,7 @@
 @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)/madvise.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@
@@ -4673,6 +4971,7 @@
 @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)/osf_utimes.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@
@@ -4685,6 +4984,7 @@
 @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-v.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@
@@ -4738,6 +5038,7 @@
 @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_sigreturn.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@
@@ -4788,6 +5089,7 @@
 @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)/sigsuspend.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@
@@ -4800,7 +5102,9 @@
 @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)/statx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sxetmask.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@
@@ -4925,6 +5229,20 @@
 @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-get_sigset_size.o: get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+
+libtests_a-get_sigset_size.obj: get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_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
@@ -5037,6 +5355,20 @@
 @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-print_time.o: print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libtests_a-print_time.obj: print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.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
@@ -5079,6 +5411,20 @@
 @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-skip_unavailable.o: skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+
+libtests_a-skip_unavailable.obj: skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.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
@@ -5603,7 +5949,7 @@
 clean: clean-am
 
 clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	mostlyclean-am
+	clean-local mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -5675,19 +6021,982 @@
 .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 \
+	clean-local 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
 
 
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
 @VALGRIND_CHECK_RULES@
 
 ksysent.h: $(srcdir)/ksysent.sed
@@ -5700,6 +7009,11 @@
 ksysent.$(OBJEXT): ksysent.h
 $(objects): scno.h
 
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
 syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
 	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
 
diff --git a/tests-mx32/_newselect.gen.test b/tests-mx32/_newselect.gen.test
new file mode 100755
index 0000000..490abe4
--- /dev/null
+++ b/tests-mx32/_newselect.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (_newselect ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/_newselect.test b/tests-mx32/_newselect.test
deleted file mode 100755
index 3371d4d..0000000
--- a/tests-mx32/_newselect.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check _newselect syscall decoding.
-
-. "${srcdir=.}/select.test"
diff --git a/tests-mx32/accept.gen.test b/tests-mx32/accept.gen.test
new file mode 100755
index 0000000..3ebba3b
--- /dev/null
+++ b/tests-mx32/accept.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (accept -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-mx32/accept.test b/tests-mx32/accept.test
deleted file mode 100755
index b5e0790..0000000
--- a/tests-mx32/accept.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of accept syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-mx32/accept4.gen.test b/tests-mx32/accept4.gen.test
new file mode 100755
index 0000000..5bd7fe6
--- /dev/null
+++ b/tests-mx32/accept4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (accept4 -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests-mx32/accept4.test b/tests-mx32/accept4.test
deleted file mode 100755
index 722f25a..0000000
--- a/tests-mx32/accept4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of accept4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests-mx32/access.c b/tests-mx32/access.c
index e6f169b..4420ba3 100644
--- a/tests-mx32/access.c
+++ b/tests-mx32/access.c
@@ -19,6 +19,7 @@
 	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests-mx32/access.gen.test b/tests-mx32/access.gen.test
new file mode 100755
index 0000000..7d80e6f
--- /dev/null
+++ b/tests-mx32/access.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (access -a30 -P access_sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -P access_sample
diff --git a/tests-mx32/access.test b/tests-mx32/access.test
deleted file mode 100755
index 3ab2eb4..0000000
--- a/tests-mx32/access.test
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# Check access syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-check_prog grep
-run_prog > /dev/null
-run_strace -eaccess -a30 $args > "$EXP"
-
-# Filter out access() calls made by libc.
-grep -F access_sample < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/acct.gen.test b/tests-mx32/acct.gen.test
new file mode 100755
index 0000000..fa14e85
--- /dev/null
+++ b/tests-mx32/acct.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (acct -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-mx32/acct.test b/tests-mx32/acct.test
deleted file mode 100755
index b9bca75..0000000
--- a/tests-mx32/acct.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check acct syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-mx32/add_key.gen.test b/tests-mx32/add_key.gen.test
new file mode 100755
index 0000000..d6ffbc8
--- /dev/null
+++ b/tests-mx32/add_key.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (add_key -a30 -s12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -s12
diff --git a/tests-mx32/add_key.test b/tests-mx32/add_key.test
deleted file mode 100755
index eadd8c2..0000000
--- a/tests-mx32/add_key.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of add_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -s12
diff --git a/tests-mx32/adjtimex.c b/tests-mx32/adjtimex.c
index 1638b53..4d68ea1 100644
--- a/tests-mx32/adjtimex.c
+++ b/tests-mx32/adjtimex.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of adjtimex strace test.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,38 +33,46 @@
 #include <string.h>
 #include <sys/timex.h>
 
+#include "xlat.h"
+#include "xlat/adjtimex_state.h"
+#include "xlat/adjtimex_status.h"
+
 int
 main(void)
 {
-	adjtimex(NULL);
-	printf("adjtimex\\(NULL\\) = -1 EFAULT \\(%m\\)\n");
+	int state = adjtimex(NULL);
+	printf("adjtimex(NULL) = %s\n", sprintrc(state));
 
-	struct timex * const tx = tail_alloc(sizeof(*tx));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timex, tx);
 	memset(tx, 0, sizeof(*tx));
 
-	int state = adjtimex(tx);
+	state = adjtimex(tx);
 	if (state < 0)
 		perror_msg_and_skip("adjtimex");
 
-	printf("adjtimex\\(\\{modes=0, offset=%jd, freq=%jd, maxerror=%jd"
-	       ", esterror=%jd, status=%s, constant=%jd, precision=%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
-	       "\\}\\) = %d \\(TIME_[A-Z]+\\)\n",
+	printf("adjtimex({modes=0, offset=%jd, freq=%jd, maxerror=%jd"
+	       ", esterror=%jd, status=",
 	       (intmax_t) tx->offset,
 	       (intmax_t) tx->freq,
 	       (intmax_t) tx->maxerror,
-	       (intmax_t) tx->esterror,
-	       tx->status ? "STA_[A-Z]+(\\|STA_[A-Z]+)*" : "0",
+	       (intmax_t) tx->esterror);
+	if (tx->status)
+		printflags(adjtimex_status, (unsigned int) tx->status, NULL);
+	else
+		putchar('0');
+	printf(", constant=%jd, precision=%jd"
+	       ", tolerance=%jd, time={tv_sec=%lld, tv_usec=%llu}, 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
+	       "}) = %d (",
 	       (intmax_t) tx->constant,
 	       (intmax_t) tx->precision,
 	       (intmax_t) tx->tolerance,
-	       (intmax_t) tx->time.tv_sec,
-	       (intmax_t) tx->time.tv_usec,
+	       (long long) tx->time.tv_sec,
+	       zero_extend_signed_to_ull(tx->time.tv_usec),
 	       (intmax_t) tx->tick,
 	       (intmax_t) tx->ppsfreq,
 	       (intmax_t) tx->jitter,
@@ -78,6 +86,9 @@
 	       tx->tai,
 #endif
 	       state);
+	printxval(adjtimex_state, (unsigned int) state, NULL);
+	puts(")");
 
+	puts("+++ exited with 0 +++");
 	return 0;
 }
diff --git a/tests-mx32/adjtimex.gen.test b/tests-mx32/adjtimex.gen.test
new file mode 100755
index 0000000..8db59f2
--- /dev/null
+++ b/tests-mx32/adjtimex.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (adjtimex -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-mx32/adjtimex.test b/tests-mx32/adjtimex.test
deleted file mode 100755
index 0140550..0000000
--- a/tests-mx32/adjtimex.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check adjtimex syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a 15 -e adjtimex $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
diff --git a/tests-mx32/aio.c b/tests-mx32/aio.c
index 0766d23..677a02b 100644
--- a/tests-mx32/aio.c
+++ b/tests-mx32/aio.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -198,15 +199,14 @@
 	};
 	const long *cbvs2 = tail_memdup(proto_cbvs2, sizeof(proto_cbvs2));
 
-	unsigned long *ctx = tail_alloc(sizeof(unsigned long));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned long, ctx);
 	*ctx = 0;
 
 	const unsigned int nr = ARRAY_SIZE(proto_cb);
 	const unsigned long lnr = (unsigned long) (0xdeadbeef00000000ULL | nr);
 
 	const struct io_event *ev = tail_alloc(nr * sizeof(struct io_event));
-	const struct timespec proto_ts = { .tv_nsec = 123456789 };
-	const struct timespec *ts = tail_memdup(&proto_ts, sizeof(proto_ts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
 
 	(void) close(0);
 	if (open("/dev/zero", O_RDONLY))
@@ -263,6 +263,24 @@
 	       bogus_ctx, (long) 0xca7faceddeadf00dLL,
 	       (long) 0xba5e1e505ca571e0LL, ts + 1, sprintrc(rc));
 
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	rc = syscall(__NR_io_getevents, bogus_ctx, 0, 0, 0, ts);
+	printf("io_getevents(%#lx, 0, 0, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       bogus_ctx, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	rc = syscall(__NR_io_getevents, bogus_ctx, 0, 0, 0, ts);
+	printf("io_getevents(%#lx, 0, 0, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       bogus_ctx, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = 0;
+	ts->tv_nsec = 123456789;
 	rc = syscall(__NR_io_getevents, *ctx, nr, nr + 1, ev, ts);
 	printf("io_getevents(%#lx, %ld, %ld, ["
 	       "{data=%#" PRI__x64 ", obj=%p, res=%u, res2=0}, "
diff --git a/tests-mx32/aio.gen.test b/tests-mx32/aio.gen.test
new file mode 100755
index 0000000..8c8cbd5
--- /dev/null
+++ b/tests-mx32/aio.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (aio -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy
diff --git a/tests-mx32/aio.test b/tests-mx32/aio.test
deleted file mode 100755
index 2ba90da..0000000
--- a/tests-mx32/aio.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check io_* syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-syscalls=io_setup,io_submit,io_getevents,io_cancel,io_destroy
-run_strace_match_diff -a14 -e trace=$syscalls
diff --git a/tests-mx32/alarm.gen.test b/tests-mx32/alarm.gen.test
new file mode 100755
index 0000000..ba1dea8
--- /dev/null
+++ b/tests-mx32/alarm.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (alarm -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/alarm.test b/tests-mx32/alarm.test
deleted file mode 100755
index 267b223..0000000
--- a/tests-mx32/alarm.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check alarm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-mx32/attach-f-p-cmd.c b/tests-mx32/attach-f-p-cmd.c
index 77594be..1e9ed99 100644
--- a/tests-mx32/attach-f-p-cmd.c
+++ b/tests-mx32/attach-f-p-cmd.c
@@ -2,6 +2,7 @@
  * This file is part of attach-f-p strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,6 +35,8 @@
 int
 main(void)
 {
+	skip_if_unavailable("/proc/self/task/");
+
 	static const char dir[] = "attach-f-p.test cmd";
 	pid_t pid = getpid();
 	int rc = chdir(dir);
diff --git a/tests-mx32/attach-f-p.test b/tests-mx32/attach-f-p.test
index f417074..368c775 100755
--- a/tests-mx32/attach-f-p.test
+++ b/tests-mx32/attach-f-p.test
@@ -3,6 +3,7 @@
 # Check that -f -p attaches to threads properly.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,22 +30,17 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -f -p is implemented using /proc/$pid/task/
-[ -d /proc/self/task/ ] ||
-	framework_skip_ '/proc/self/task/ is not available'
 run_prog_skip_if_failed \
 	kill -0 $$
-run_prog ./attach-f-p-cmd > /dev/null
+run_prog ../attach-f-p-cmd > /dev/null
 
-rm -f "$OUT"
-./set_ptracer_any sh -c "exec ./attach-f-p >> $OUT" > /dev/null &
+../set_ptracer_any sh -c "exec ../attach-f-p >> $EXP" > /dev/null &
 tracee_pid=$!
 
-while ! [ -s "$OUT" ]; do
+while ! [ -s "$EXP" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
 		fail_ 'set_ptracer_any sh failed'
 done
 
-run_strace -a32 -f -echdir -p $tracee_pid ./attach-f-p-cmd > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace -a32 -f -echdir -p $tracee_pid ../attach-f-p-cmd > "$EXP"
+match_diff "$LOG" "$EXP"
diff --git a/tests-mx32/attach-p-cmd.test b/tests-mx32/attach-p-cmd.test
index 2068cf1..e7c1bfa 100755
--- a/tests-mx32/attach-p-cmd.test
+++ b/tests-mx32/attach-p-cmd.test
@@ -3,6 +3,7 @@
 # Check that simultaneous use of -p option and tracing of a command works.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -32,16 +33,13 @@
 run_prog_skip_if_failed \
 	kill -0 $$
 
-rm -rf attach-p-cmd.test-lock
-rm -f "$OUT"
-./set_ptracer_any ./attach-p-cmd-p >> "$OUT" &
+../set_ptracer_any ../attach-p-cmd-p >> "$EXP" &
 tracee_pid=$!
 
-while ! [ -s "$OUT" ]; do
+while ! [ -s "$EXP" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
-		fail_ 'set_ptracer_any ./attach-p-cmd-p failed'
+		fail_ 'set_ptracer_any ../attach-p-cmd-p failed'
 done
 
-run_strace -a30 -echdir -p $tracee_pid ./attach-p-cmd-cmd > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace -a30 -echdir -p $tracee_pid ../attach-p-cmd-cmd > "$EXP"
+match_diff "$LOG" "$EXP"
diff --git a/tests-mx32/bexecve.test b/tests-mx32/bexecve.test
index f1ab04f..325330e 100755
--- a/tests-mx32/bexecve.test
+++ b/tests-mx32/bexecve.test
@@ -3,6 +3,7 @@
 # Check -bexecve behavior.
 #
 # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -35,14 +36,14 @@
 	$STRACE "$@" 2> "$LOG"
 }
 
-run_strace_redir -enone ./set_ptracer_any true ||
+run_strace_redir -enone ../set_ptracer_any true ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
-run_strace_redir -enone ./set_ptracer_any false
+run_strace_redir -enone ../set_ptracer_any false
 [ $? -eq 1 ] ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
-run_strace_redir -bexecve -enone ./set_ptracer_any false ||
+run_strace_redir -bexecve -enone ../set_ptracer_any false ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
 pattern_detached='[^:]*strace: Process [1-9][0-9]* detached'
diff --git a/tests-mx32/bpf.c b/tests-mx32/bpf.c
index 7ef16c9..40f96a7 100644
--- a/tests-mx32/bpf.c
+++ b/tests-mx32/bpf.c
@@ -109,14 +109,15 @@
 # endif
 
 /* BPF_PROG_ATTACH and BPF_PROG_DETACH commands appear in kernel 4.10. */
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
 static int
 prog_cgroup(int cmd)
 {
 	union bpf_attr attr = {
 		.target_fd = -1,
 		.attach_bpf_fd = -1,
-		.attach_type = 0
+		.attach_type = 0,
+		.attach_flags = 1
 	};
 	void *const t_attr = tail_memdup(&attr, sizeof(attr));
 	return sys_bpf(cmd, (unsigned long) t_attr, sizeof(attr));
@@ -205,11 +206,12 @@
 	BOGUS_BPF(BPF_OBJ_GET);
 # endif
 
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
 	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",
+	       ", attach_type=BPF_CGROUP_INET_INGRESS"
+	       ", attach_flags=BPF_F_ALLOW_OVERRIDE}, %u) = %s\n",
 	       (unsigned) sizeof(union bpf_attr), errstr);
 	BOGUS_BPF(BPF_PROG_ATTACH);
 
diff --git a/tests-mx32/bpf.gen.test b/tests-mx32/bpf.gen.test
new file mode 100755
index 0000000..7ee9e7f
--- /dev/null
+++ b/tests-mx32/bpf.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-mx32/bpf.test b/tests-mx32/bpf.test
deleted file mode 100755
index adf0d57..0000000
--- a/tests-mx32/bpf.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check bpf syscall decoding.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a20
diff --git a/tests-mx32/brk.test b/tests-mx32/brk.test
index 8c0e2e4..3781220 100755
--- a/tests-mx32/brk.test
+++ b/tests-mx32/brk.test
@@ -7,4 +7,3 @@
 run_prog > /dev/null
 run_strace -a10 -ebrk $args > "$EXP"
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-mx32/btrfs-v.test b/tests-mx32/btrfs-v.test
index 1ee17b4..8cc2724 100755
--- a/tests-mx32/btrfs-v.test
+++ b/tests-mx32/btrfs-v.test
@@ -4,12 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./btrfs -v > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -v > /dev/null
+run_strace -a16 -veioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-mx32/btrfs-vw.test b/tests-mx32/btrfs-vw.test
index c7e40ad..913fba1 100755
--- a/tests-mx32/btrfs-vw.test
+++ b/tests-mx32/btrfs-vw.test
@@ -18,12 +18,8 @@
     skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
 fi
 
-run_prog ./btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
+run_strace -a16 -veioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-mx32/btrfs-w.test b/tests-mx32/btrfs-w.test
index 6238dca..031f0b8 100755
--- a/tests-mx32/btrfs-w.test
+++ b/tests-mx32/btrfs-w.test
@@ -18,12 +18,8 @@
     skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
 fi
 
-run_prog ./btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
-run_strace -a16 -eioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
+run_strace -a16 -eioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-mx32/btrfs.c b/tests-mx32/btrfs.c
index b3e23f8..7e5ccff 100644
--- a/tests-mx32/btrfs.c
+++ b/tests-mx32/btrfs.c
@@ -1548,9 +1548,9 @@
 			const char *name = xlookup(btrfs_dev_stats_values, i);
 			if (i)
 				printf(", ");
-			if (name)
-				printf("/* %s */ ", name);
 			printf("%" PRI__u64, args.values[i]);
+			if (name)
+				printf(" /* %s */", name);
 		}
 		printf("]}) = 0\n");
 	}
@@ -1799,13 +1799,13 @@
 		      &supported_features);
 		printf("ioctl(%d, BTRFS_IOC_GET_SUPPORTED_FEATURES, ",
 		       btrfs_test_dir_fd);
-		printf("[ /* supported */ ");
+		printf("[");
 		btrfs_print_features(&supported_features[0]);
-		printf(", /* safe to set */ ");
+		printf(" /* supported */, ");
 		btrfs_print_features(&supported_features[1]);
-		printf(", /* safe to clear */ ");
+		printf(" /* safe to set */, ");
 		btrfs_print_features(&supported_features[2]);
-		printf("]) = 0\n");
+		printf(" /* safe to clear */]) = 0\n");
 	}
 }
 
diff --git a/tests-mx32/btrfs.gen.test b/tests-mx32/btrfs.gen.test
new file mode 100755
index 0000000..a7118ef
--- /dev/null
+++ b/tests-mx32/btrfs.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (btrfs +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/btrfs.test b/tests-mx32/btrfs.test
deleted file mode 100755
index 2121b5b..0000000
--- a/tests-mx32/btrfs.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic btrfs ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/chmod.gen.test b/tests-mx32/chmod.gen.test
new file mode 100755
index 0000000..438665a
--- /dev/null
+++ b/tests-mx32/chmod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chmod -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-mx32/chmod.test b/tests-mx32/chmod.test
deleted file mode 100755
index 70e561a..0000000
--- a/tests-mx32/chmod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-mx32/chown.gen.test b/tests-mx32/chown.gen.test
new file mode 100755
index 0000000..46889a1
--- /dev/null
+++ b/tests-mx32/chown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chown -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-mx32/chown.test b/tests-mx32/chown.test
deleted file mode 100755
index eb356ce..0000000
--- a/tests-mx32/chown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-mx32/chown32.gen.test b/tests-mx32/chown32.gen.test
new file mode 100755
index 0000000..f0f603e
--- /dev/null
+++ b/tests-mx32/chown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chown32 -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests-mx32/chown32.test b/tests-mx32/chown32.test
deleted file mode 100755
index 0fa04c2..0000000
--- a/tests-mx32/chown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
diff --git a/tests-mx32/chroot.gen.test b/tests-mx32/chroot.gen.test
new file mode 100755
index 0000000..6ea81dd
--- /dev/null
+++ b/tests-mx32/chroot.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chroot -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-mx32/chroot.test b/tests-mx32/chroot.test
deleted file mode 100755
index 3b384f5..0000000
--- a/tests-mx32/chroot.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chroot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-mx32/clock.gen.test b/tests-mx32/clock.gen.test
new file mode 100755
index 0000000..b76eaf5
--- /dev/null
+++ b/tests-mx32/clock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock test_trace_expr 'times|fcntl.*' -e/clock); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr 'times|fcntl.*' -e/clock
diff --git a/tests-mx32/clock.in b/tests-mx32/clock.in
new file mode 100755
index 0000000..864de29
--- /dev/null
+++ b/tests-mx32/clock.in
@@ -0,0 +1,3 @@
+clock_adjtime	-a37
+clock_nanosleep
+clock_xettime	-a36
diff --git a/tests-mx32/clock_adjtime.gen.test b/tests-mx32/clock_adjtime.gen.test
new file mode 100755
index 0000000..735e3af
--- /dev/null
+++ b/tests-mx32/clock_adjtime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_adjtime -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests-mx32/clock_adjtime.test b/tests-mx32/clock_adjtime.test
deleted file mode 100755
index df2c060..0000000
--- a/tests-mx32/clock_adjtime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_adjtime syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests-mx32/clock_nanosleep.c b/tests-mx32/clock_nanosleep.c
index 98407d7..72ac2e4 100644
--- a/tests-mx32/clock_nanosleep.c
+++ b/tests-mx32/clock_nanosleep.c
@@ -1,5 +1,8 @@
 /*
+ * Check decoding of clock_nanosleep and clock_gettime syscalls.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,9 +65,10 @@
 
 	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, {tv_sec=%jd, tv_nsec=%jd}, "
-	       "NULL) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, NULL) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       NULL, &rem.ts) == -1);
@@ -73,52 +77,71 @@
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == 0);
-	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);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(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"
-	       ", {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);
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = 0xdeadbeefU;
+	req.ts.tv_nsec = 0xfacefeedU;
+	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
+		       &req.ts, &rem.ts) == -1);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	req.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(syscall(__NR_clock_nanosleep, CLOCK_MONOTONIC, 0,
+		       &req.ts, &rem.ts) == -1);
+	printf("clock_nanosleep(CLOCK_MONOTONIC, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(sigprocmask(SIG_SETMASK, &set, NULL) == 0);
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	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,
-	       (intmax_t) itv.it_value.tv_usec);
 
-	--req.ts.tv_nsec;
+	req.ts.tv_sec = 0;
+	req.ts.tv_nsec = 999999999;
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == -1);
-	printf("clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=%jd, tv_nsec=%jd}, "
-	       "{tv_sec=%jd, tv_nsec=%jd})"
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {tv_sec=%lld, tv_nsec=%llu})"
 	       " = ? 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);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec),
+	       (long long) rem.ts.tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("clock_gettime(CLOCK_REALTIME, {tv_sec=%lld, tv_nsec=%llu}) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	++req.ts.tv_sec;
 	rem.ts.tv_sec = 0xc0de4;
 	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, {tv_sec=%jd, "
-	       "tv_nsec=%jd}, %p)"
+	printf("clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p)"
 	       " = ? ERESTARTNOHAND (To be restarted if no handler)\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-mx32/clock_nanosleep.gen.test b/tests-mx32/clock_nanosleep.gen.test
new file mode 100755
index 0000000..7a6025b
--- /dev/null
+++ b/tests-mx32/clock_nanosleep.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_nanosleep -e trace=clock_nanosleep,clock_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=clock_nanosleep,clock_gettime
diff --git a/tests-mx32/clock_nanosleep.test b/tests-mx32/clock_nanosleep.test
deleted file mode 100755
index ec434a6..0000000
--- a/tests-mx32/clock_nanosleep.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_nanosleep, clock_gettime, and setitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=clock_nanosleep,clock_gettime,setitimer
diff --git a/tests-mx32/clock_xettime.c b/tests-mx32/clock_xettime.c
index 3ef5695..e3ec1b5 100644
--- a/tests-mx32/clock_xettime.c
+++ b/tests-mx32/clock_xettime.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,26 +49,41 @@
 
 	if (syscall(__NR_clock_getres, CLOCK_REALTIME, &t.ts))
 		perror_msg_and_skip("clock_getres CLOCK_REALTIME");
-	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);
+	printf("clock_getres(CLOCK_REALTIME, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = 0\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(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, "
-	       "{tv_sec=%jd, tv_nsec=%jd}) = 0\n",
-	       (intmax_t) t.ts.tv_sec,
-	       (intmax_t) t.ts.tv_nsec);
+	printf("clock_gettime(CLOCK_PROCESS_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = 0\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
 
 	t.ts.tv_sec = 0xdeface1;
 	t.ts.tv_nsec = 0xdeface2;
-	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, {tv_sec=%jd, "
-	       "tv_nsec=%jd}) = -1 EINVAL (%m)\n",
-	       (intmax_t) t.ts.tv_sec,
-	       (intmax_t) t.ts.tv_nsec);
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
+
+	t.ts.tv_sec = 0xdeadbeefU;
+	t.ts.tv_nsec = 0xfacefeedU;
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
+
+	t.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	t.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/clock_xettime.gen.test b/tests-mx32/clock_xettime.gen.test
new file mode 100755
index 0000000..590f058
--- /dev/null
+++ b/tests-mx32/clock_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_xettime -a36 -e trace=clock_getres,clock_gettime,clock_settime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
diff --git a/tests-mx32/clock_xettime.test b/tests-mx32/clock_xettime.test
deleted file mode 100755
index f045a66..0000000
--- a/tests-mx32/clock_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_getres, clock_gettime, and clock_settime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
diff --git a/tests-mx32/copy_file_range.c b/tests-mx32/copy_file_range.c
index 085010a..6bb989d 100644
--- a/tests-mx32/copy_file_range.c
+++ b/tests-mx32/copy_file_range.c
@@ -2,6 +2,7 @@
  * This file is part of copy_file_range strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,8 +42,8 @@
 {
 	const long int fd_in = (long int) 0xdeadbeefffffffff;
 	const long int fd_out = (long int) 0xdeadbeeffffffffe;
-	long long int *const off_in = tail_alloc(sizeof(*off_in));
-	long long int *const off_out = tail_alloc(sizeof(*off_out));
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_in);
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_out);
 	*off_in = 0xdeadbef1facefed1;
 	*off_out = 0xdeadbef2facefed2;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
diff --git a/tests-mx32/copy_file_range.gen.test b/tests-mx32/copy_file_range.gen.test
new file mode 100755
index 0000000..4f3063b
--- /dev/null
+++ b/tests-mx32/copy_file_range.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (copy_file_range ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/copy_file_range.test b/tests-mx32/copy_file_range.test
deleted file mode 100755
index c39f6ac..0000000
--- a/tests-mx32/copy_file_range.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check copy_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/count.test b/tests-mx32/count.test
index e75dc6b..a9752c0 100755
--- a/tests-mx32/count.test
+++ b/tests-mx32/count.test
@@ -3,6 +3,7 @@
 # Check whether -c and -w options work.
 #
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,14 +30,14 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
+run_prog ../sleep 0
 check_prog grep
 
 grep_log()
 {
 	local pattern="$1"; shift
 
-	run_strace "$@" ./sleep 1
+	run_strace "$@" ../sleep 1
 
 	grep nanosleep "$LOG" > /dev/null ||
 		framework_skip_ 'sleep does not use nanosleep'
diff --git a/tests-mx32/creat.gen.test b/tests-mx32/creat.gen.test
new file mode 100755
index 0000000..d2e47d3
--- /dev/null
+++ b/tests-mx32/creat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (creat -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-mx32/creat.test b/tests-mx32/creat.test
deleted file mode 100755
index 069648f..0000000
--- a/tests-mx32/creat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check creat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-mx32/delete_module.c b/tests-mx32/delete_module.c
index 5a31760..0de35fe 100644
--- a/tests-mx32/delete_module.c
+++ b/tests-mx32/delete_module.c
@@ -2,6 +2,7 @@
  * Check decoding of delete_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,8 +49,7 @@
 		unsigned int val_prefix, val_suffix;
 	} flags[] = {
 		{ ARG_STR(0), 0, 0 },
-		{ (kernel_ulong_t) 0xffffffff00000000ULL | O_NONBLOCK,
-			"O_NONBLOCK", 0, 0 },
+		{ F8ILL_KULONG_MASK | 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,
@@ -65,7 +65,7 @@
 	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);
+	rc = syscall(__NR_delete_module, NULL, F8ILL_KULONG_MASK);
 	printf("delete_module(NULL, 0) = %s\n", sprintrc(rc));
 
 	rc = syscall(__NR_delete_module, bogus_param1, flags[0].val);
diff --git a/tests-mx32/delete_module.gen.test b/tests-mx32/delete_module.gen.test
new file mode 100755
index 0000000..4e4c671
--- /dev/null
+++ b/tests-mx32/delete_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (delete_module -a23); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23
diff --git a/tests-mx32/delete_module.test b/tests-mx32/delete_module.test
deleted file mode 100755
index fb86ec9..0000000
--- a/tests-mx32/delete_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of delete_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23
diff --git a/tests-mx32/detach-running.test b/tests-mx32/detach-running.test
index 006efb8..ba5ffbf 100755
--- a/tests-mx32/detach-running.test
+++ b/tests-mx32/detach-running.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from running processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -36,7 +37,7 @@
 
 set -e
 
-./set_ptracer_any sh -c "echo > $LOG; while :; do :; done" > /dev/null &
+../set_ptracer_any sh -c "echo > $LOG; while :; do :; done" > /dev/null &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -54,7 +55,6 @@
 	return 0
 }
 
-rm -f "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests-mx32/detach-sleeping.test b/tests-mx32/detach-sleeping.test
index 54304f3..a0975e3 100755
--- a/tests-mx32/detach-sleeping.test
+++ b/tests-mx32/detach-sleeping.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from sleeping processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -36,8 +37,7 @@
 
 set -e
 
-rm -f "$LOG"
-./set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
+../set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -55,7 +55,6 @@
 	return 0
 }
 
-rm -f "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests-mx32/detach-stopped.test b/tests-mx32/detach-stopped.test
index 8f480e7..a9f9c72 100755
--- a/tests-mx32/detach-stopped.test
+++ b/tests-mx32/detach-stopped.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from stopped processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -41,8 +42,8 @@
 
 set -e
 
-rm -f "$LOG"
-./set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
+> "$LOG"
+../set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -62,7 +63,7 @@
 	return 0
 }
 
-rm -f "$LOG"
+> "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests-mx32/dup.gen.test b/tests-mx32/dup.gen.test
new file mode 100755
index 0000000..e5729c0
--- /dev/null
+++ b/tests-mx32/dup.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-mx32/dup.test b/tests-mx32/dup.test
deleted file mode 100755
index 1dc1919..0000000
--- a/tests-mx32/dup.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests-mx32/dup2.gen.test b/tests-mx32/dup2.gen.test
new file mode 100755
index 0000000..fd1f5c9
--- /dev/null
+++ b/tests-mx32/dup2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup2 -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests-mx32/dup2.test b/tests-mx32/dup2.test
deleted file mode 100755
index 509c5db..0000000
--- a/tests-mx32/dup2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests-mx32/dup3.gen.test b/tests-mx32/dup3.gen.test
new file mode 100755
index 0000000..d6ff7d7
--- /dev/null
+++ b/tests-mx32/dup3.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup3 -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-mx32/dup3.test b/tests-mx32/dup3.test
deleted file mode 100755
index 293f78f..0000000
--- a/tests-mx32/dup3.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup3 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-mx32/epoll_create.gen.test b/tests-mx32/epoll_create.gen.test
new file mode 100755
index 0000000..841da6d
--- /dev/null
+++ b/tests-mx32/epoll_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_create -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-mx32/epoll_create.test b/tests-mx32/epoll_create.test
deleted file mode 100755
index 472a9bd..0000000
--- a/tests-mx32/epoll_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-mx32/epoll_create1.gen.test b/tests-mx32/epoll_create1.gen.test
new file mode 100755
index 0000000..c5e62a0
--- /dev/null
+++ b/tests-mx32/epoll_create1.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_create1 -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-mx32/epoll_create1.test b/tests-mx32/epoll_create1.test
deleted file mode 100755
index 7a926a9..0000000
--- a/tests-mx32/epoll_create1.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_create1 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-mx32/epoll_ctl.c b/tests-mx32/epoll_ctl.c
index e666055..2251b35 100644
--- a/tests-mx32/epoll_ctl.c
+++ b/tests-mx32/epoll_ctl.c
@@ -11,14 +11,14 @@
 static long
 invoke_syscall(unsigned long epfd, unsigned long op, unsigned long fd, void *ev)
 {
-	op |= (unsigned long) 0xffffffff00000000ULL;
-	return syscall(__NR_epoll_ctl, epfd, op, fd, (unsigned long) ev);
+	return syscall(__NR_epoll_ctl, epfd, F8ILL_KULONG_MASK | op,
+		       fd, (unsigned long) ev);
 }
 
 int
 main(void)
 {
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 	ev->events = EPOLLIN;
 
 	long rc = invoke_syscall(-1U, EPOLL_CTL_ADD, -2U, ev);
diff --git a/tests-mx32/epoll_ctl.gen.test b/tests-mx32/epoll_ctl.gen.test
new file mode 100755
index 0000000..68c96eb
--- /dev/null
+++ b/tests-mx32/epoll_ctl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_ctl ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/epoll_ctl.test b/tests-mx32/epoll_ctl.test
deleted file mode 100755
index 1aded54..0000000
--- a/tests-mx32/epoll_ctl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_ctl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/epoll_pwait.c b/tests-mx32/epoll_pwait.c
index eaaa34d..841e722 100644
--- a/tests-mx32/epoll_pwait.c
+++ b/tests-mx32/epoll_pwait.c
@@ -12,7 +12,7 @@
 main(void)
 {
 	sigset_t set[2];
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 
 	long rc = syscall(__NR_epoll_pwait, -1, ev, 1, -2,
 			  set, (kernel_ulong_t) sizeof(set));
diff --git a/tests-mx32/epoll_pwait.gen.test b/tests-mx32/epoll_pwait.gen.test
new file mode 100755
index 0000000..c558efc
--- /dev/null
+++ b/tests-mx32/epoll_pwait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_pwait ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/epoll_pwait.test b/tests-mx32/epoll_pwait.test
deleted file mode 100755
index c7aeeac..0000000
--- a/tests-mx32/epoll_pwait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of epoll_pwait syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/epoll_wait.c b/tests-mx32/epoll_wait.c
index 038bf1f..caa3027 100644
--- a/tests-mx32/epoll_wait.c
+++ b/tests-mx32/epoll_wait.c
@@ -10,7 +10,7 @@
 int
 main(void)
 {
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 
 	long rc = syscall(__NR_epoll_wait, -1, ev, 1, -2);
 	printf("epoll_wait(-1, %p, 1, -2) = %ld %s (%m)\n",
diff --git a/tests-mx32/epoll_wait.gen.test b/tests-mx32/epoll_wait.gen.test
new file mode 100755
index 0000000..024cc0f
--- /dev/null
+++ b/tests-mx32/epoll_wait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_wait -a26); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26
diff --git a/tests-mx32/epoll_wait.test b/tests-mx32/epoll_wait.test
deleted file mode 100755
index 83ae161..0000000
--- a/tests-mx32/epoll_wait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_wait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26
diff --git a/tests-mx32/erestartsys.gen.test b/tests-mx32/erestartsys.gen.test
new file mode 100755
index 0000000..0fc3215
--- /dev/null
+++ b/tests-mx32/erestartsys.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (erestartsys -a34 -e signal=none -e trace=recvfrom); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34 -e signal=none -e trace=recvfrom
diff --git a/tests-mx32/erestartsys.test b/tests-mx32/erestartsys.test
deleted file mode 100755
index 91f711f..0000000
--- a/tests-mx32/erestartsys.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/execve-v.test b/tests-mx32/execve-v.test
index cce5860..52ff0d7 100755
--- a/tests-mx32/execve-v.test
+++ b/tests-mx32/execve-v.test
@@ -11,5 +11,3 @@
 # Filter out execve() call made by strace.
 grep -F test.execve < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/execve.c b/tests-mx32/execve.c
index 74749e7..c558dd3 100644
--- a/tests-mx32/execve.c
+++ b/tests-mx32/execve.c
@@ -2,6 +2,7 @@
  * This file is part of execve strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,13 +63,15 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\", %p, %p, %p, ???]"
 #else
-	       ", [/* 5 vars, unterminated */]"
+	       ", %p /* 5 vars, unterminated */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 	       argv[3], argv[4], argv[5]
 #if VERBOSE
 	       , q_envp[0], q_envp[1], envp[2], envp[3], envp[4]
+#else
+	       , tail_envp
 #endif
 	       );
 
@@ -80,12 +83,14 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\"]"
 #else
-	       ", [/* 2 vars */]"
+	       ", %p /* 2 vars */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
 #if VERBOSE
 	       , q_envp[0], q_envp[1]
+#else
+	       , tail_envp
 #endif
 	       );
 
@@ -94,16 +99,18 @@
 #if VERBOSE
 	       ", [\"%s\"]"
 #else
-	       ", [/* 1 var */]"
+	       ", %p /* 1 var */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[2]
 #if VERBOSE
 	       , q_envp[1]
+#else
+	       , tail_envp + 1
 #endif
 	       );
 
-	char **const empty = tail_alloc(sizeof(*empty));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
 	char **const efault = empty + 1;
 	*empty = NULL;
 
@@ -112,9 +119,13 @@
 #if VERBOSE
 	       ", []"
 #else
-	       ", [/* 0 vars */]"
+	       ", %p /* 0 vars */"
 #endif
-	       ") = -1 ENOENT (%m)\n", Q_FILENAME);
+	       ") = -1 ENOENT (%m)\n", Q_FILENAME
+#if !VERBOSE
+	       , empty
+#endif
+	       );
 
 	char str_a[] = "012345678901234567890123456789012";
 	char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
@@ -141,10 +152,11 @@
 	printf("], [\"%.*s\"...", DEFAULT_STRLEN, b[0]);
 	for (i = 1; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %u vars */", DEFAULT_STRLEN + 1);
+	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
 #endif
-	printf("]) = -1 ENOENT (%m)\n");
+	printf(") = -1 ENOENT (%m)\n");
 
 	execve(FILENAME, a + 1, b + 1);
 	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
@@ -154,10 +166,11 @@
 	printf("], [\"%s\"", b[1]);
 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %d vars */", DEFAULT_STRLEN);
+	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
 #endif
-	printf("]) = -1 ENOENT (%m)\n");
+	printf(") = -1 ENOENT (%m)\n");
 
 	execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
 	printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n",
diff --git a/tests-mx32/execve.test b/tests-mx32/execve.test
index 263b6fc..5635a94 100755
--- a/tests-mx32/execve.test
+++ b/tests-mx32/execve.test
@@ -11,5 +11,3 @@
 # Filter out execve() call made by strace.
 grep -F test.execve < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/execveat-v.gen.test b/tests-mx32/execveat-v.gen.test
new file mode 100755
index 0000000..f7d572f
--- /dev/null
+++ b/tests-mx32/execveat-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (execveat-v -v -e trace=execveat); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=execveat
diff --git a/tests-mx32/execveat-v.test b/tests-mx32/execveat-v.test
deleted file mode 100755
index a905224..0000000
--- a/tests-mx32/execveat-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of execveat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=execveat
diff --git a/tests-mx32/execveat.c b/tests-mx32/execveat.c
index 9083830..8ffc4d5 100644
--- a/tests-mx32/execveat.c
+++ b/tests-mx32/execveat.c
@@ -2,6 +2,7 @@
  * This file is part of execveat strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -67,13 +68,15 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\", %p, %p, %p, ???]"
 #else
-	       ", [/* 5 vars, unterminated */]"
+	       ", %p /* 5 vars, unterminated */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 	       argv[3], argv[4], argv[5],
 #if VERBOSE
 	       q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
+#else
+	       tail_envp,
 #endif
 	       errno2name());
 
@@ -85,12 +88,14 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\"]"
 #else
-	       ", [/* 2 vars */]"
+	       ", %p /* 2 vars */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 #if VERBOSE
 	       q_envp[0], q_envp[1],
+#else
+	       tail_envp,
 #endif
 	       errno2name());
 
@@ -99,16 +104,18 @@
 #if VERBOSE
 	       ", [\"%s\"]"
 #else
-	       ", [/* 1 var */]"
+	       ", %p /* 1 var */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[2],
 #if VERBOSE
 	       q_envp[1],
+#else
+	       tail_envp + 1,
 #endif
 	       errno2name());
 
-	char **const empty = tail_alloc(sizeof(*empty));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
 	char **const efault = empty + 1;
 	*empty = NULL;
 
@@ -117,10 +124,14 @@
 #if VERBOSE
 	       ", []"
 #else
-	       ", [/* 0 vars */]"
+	       ", %p /* 0 vars */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-	       Q_FILENAME, errno2name());
+	       Q_FILENAME,
+#if !VERBOSE
+	       empty,
+#endif
+	       errno2name());
 
 	char str_a[] = "012345678901234567890123456789012";
 	char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
@@ -147,10 +158,11 @@
 	printf("], [\"%.*s\"...", DEFAULT_STRLEN, b[0]);
 	for (i = 1; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %u vars */", DEFAULT_STRLEN + 1);
+	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
 #endif
-	printf("], AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
+	printf(", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       errno2name());
 
 	syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
@@ -161,10 +173,11 @@
 	printf("], [\"%s\"", b[1]);
 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %d vars */", DEFAULT_STRLEN);
+	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
 #endif
-	printf("], AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
+	printf(", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       errno2name());
 
 	syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
diff --git a/tests-mx32/execveat.gen.test b/tests-mx32/execveat.gen.test
new file mode 100755
index 0000000..c92e4d6
--- /dev/null
+++ b/tests-mx32/execveat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (execveat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/execveat.test b/tests-mx32/execveat.test
deleted file mode 100755
index 879e03e..0000000
--- a/tests-mx32/execveat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check execveat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/faccessat.gen.test b/tests-mx32/faccessat.gen.test
new file mode 100755
index 0000000..4ccec2a
--- /dev/null
+++ b/tests-mx32/faccessat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (faccessat -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -P $NAME.sample
diff --git a/tests-mx32/faccessat.test b/tests-mx32/faccessat.test
deleted file mode 100755
index 61e7e2f..0000000
--- a/tests-mx32/faccessat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check faccessat syscall decoding.
-
-. "${srcdir=.}/openat.test"
diff --git a/tests-mx32/fadvise64.test b/tests-mx32/fadvise64.test
index 9f74672..161b28f 100755
--- a/tests-mx32/fadvise64.test
+++ b/tests-mx32/fadvise64.test
@@ -9,4 +9,3 @@
 check_prog grep
 grep -v "^$NAME([0123]," < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/fadvise64_64.gen.test b/tests-mx32/fadvise64_64.gen.test
new file mode 100755
index 0000000..5f95b3c
--- /dev/null
+++ b/tests-mx32/fadvise64_64.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fadvise64_64 +fadvise64.test); do not edit.
+. "${srcdir=.}/fadvise64.test"
diff --git a/tests-mx32/fadvise64_64.test b/tests-mx32/fadvise64_64.test
deleted file mode 100755
index a50fe2b..0000000
--- a/tests-mx32/fadvise64_64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fadvise64_64 syscall.
-
-. "${srcdir=.}/fadvise64.test"
diff --git a/tests-mx32/fallocate.gen.test b/tests-mx32/fallocate.gen.test
new file mode 100755
index 0000000..c6cfdb7
--- /dev/null
+++ b/tests-mx32/fallocate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fallocate -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-mx32/fallocate.test b/tests-mx32/fallocate.test
deleted file mode 100755
index 405187e..0000000
--- a/tests-mx32/fallocate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-mx32/fanotify_init.c b/tests-mx32/fanotify_init.c
index c14b413..15e09ee 100644
--- a/tests-mx32/fanotify_init.c
+++ b/tests-mx32/fanotify_init.c
@@ -2,6 +2,7 @@
  * Check decoding of fanotify_init syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -60,7 +61,7 @@
 main(void)
 {
 	static const struct strval flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "FAN_CLASS_NOTIF" },
+		{ F8ILL_KULONG_MASK, "FAN_CLASS_NOTIF" },
 		{ (kernel_ulong_t) 0xffffffff0000000cULL,
 			"0xc /* FAN_CLASS_??? */" },
 		{ (kernel_ulong_t) 0xdec0deddefaced04ULL,
@@ -70,7 +71,7 @@
 			"FAN_UNLIMITED_QUEUE|FAN_UNLIMITED_MARKS|0xffffffc0" },
 	};
 	static const struct strval event_f_flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ F8ILL_KULONG_MASK, "O_RDONLY" },
 		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
 			"O_WRONLY|0x80000000" }
 	};
diff --git a/tests-mx32/fanotify_init.gen.test b/tests-mx32/fanotify_init.gen.test
new file mode 100755
index 0000000..ee519e6
--- /dev/null
+++ b/tests-mx32/fanotify_init.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_init ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/fanotify_init.test b/tests-mx32/fanotify_init.test
deleted file mode 100755
index 8d26af4..0000000
--- a/tests-mx32/fanotify_init.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fanotify_init syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/fanotify_mark.c b/tests-mx32/fanotify_mark.c
index 43f285d..11cf7d0 100644
--- a/tests-mx32/fanotify_mark.c
+++ b/tests-mx32/fanotify_mark.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -90,11 +91,11 @@
 
 	static const kernel_ulong_t fds[] = {
 		(kernel_ulong_t) 0xdeadfeed12345678ULL,
-		(kernel_ulong_t) 0xffffffff00000000ULL,
+		F8ILL_KULONG_MASK,
 		(kernel_ulong_t) 0xdeb0d1edffffffffULL,
 	};
 	static const struct strval flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "0" },
+		{ F8ILL_KULONG_MASK, "0" },
 		{ (kernel_ulong_t) 0xdec0deddefaced00ULL,
 			"0xefaced00 /* FAN_MARK_??? */" },
 		{ (kernel_ulong_t) 0xda7a105700000040ULL,
diff --git a/tests-mx32/fanotify_mark.gen.test b/tests-mx32/fanotify_mark.gen.test
new file mode 100755
index 0000000..ce16a55
--- /dev/null
+++ b/tests-mx32/fanotify_mark.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark -a32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32
diff --git a/tests-mx32/fanotify_mark.test b/tests-mx32/fanotify_mark.test
deleted file mode 100755
index fd67138..0000000
--- a/tests-mx32/fanotify_mark.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fanotify_mark syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
diff --git a/tests-mx32/fchdir.gen.test b/tests-mx32/fchdir.gen.test
new file mode 100755
index 0000000..c80e141
--- /dev/null
+++ b/tests-mx32/fchdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchdir -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests-mx32/fchdir.test b/tests-mx32/fchdir.test
deleted file mode 100755
index 3a4296e..0000000
--- a/tests-mx32/fchdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests-mx32/fchmod.gen.test b/tests-mx32/fchmod.gen.test
new file mode 100755
index 0000000..f327fb7
--- /dev/null
+++ b/tests-mx32/fchmod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchmod -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-mx32/fchmod.test b/tests-mx32/fchmod.test
deleted file mode 100755
index 4cb1263..0000000
--- a/tests-mx32/fchmod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests-mx32/fchmodat.gen.test b/tests-mx32/fchmodat.gen.test
new file mode 100755
index 0000000..9ee1f01
--- /dev/null
+++ b/tests-mx32/fchmodat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchmodat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/fchmodat.test b/tests-mx32/fchmodat.test
deleted file mode 100755
index 13cbe80..0000000
--- a/tests-mx32/fchmodat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fchmodat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/fchown.gen.test b/tests-mx32/fchown.gen.test
new file mode 100755
index 0000000..63ee545
--- /dev/null
+++ b/tests-mx32/fchown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchown -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-mx32/fchown.test b/tests-mx32/fchown.test
deleted file mode 100755
index 63a0f2e..0000000
--- a/tests-mx32/fchown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16
diff --git a/tests-mx32/fchown32.gen.test b/tests-mx32/fchown32.gen.test
new file mode 100755
index 0000000..d8167dd
--- /dev/null
+++ b/tests-mx32/fchown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchown32 -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-mx32/fchown32.test b/tests-mx32/fchown32.test
deleted file mode 100755
index e837f54..0000000
--- a/tests-mx32/fchown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-mx32/fchownat.gen.test b/tests-mx32/fchownat.gen.test
new file mode 100755
index 0000000..2ec9e32
--- /dev/null
+++ b/tests-mx32/fchownat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchownat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/fchownat.test b/tests-mx32/fchownat.test
deleted file mode 100755
index e5d0f28..0000000
--- a/tests-mx32/fchownat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fchownat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/fcntl.c b/tests-mx32/fcntl.c
index f060cdf..4f62ca2 100644
--- a/tests-mx32/fcntl.c
+++ b/tests-mx32/fcntl.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,9 +45,9 @@
 		.l_start = 0xdefaced1facefeedULL,
 		.l_len = 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, %p) = %s\n",
-	       TEST_SYSCALL_STR, name, &fl, EINVAL_STR);
+	       TEST_SYSCALL_STR, name, &fl, sprintrc(rc));
 }
 
 static void
diff --git a/tests-mx32/fcntl.gen.test b/tests-mx32/fcntl.gen.test
new file mode 100755
index 0000000..83a1af4
--- /dev/null
+++ b/tests-mx32/fcntl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fcntl -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-mx32/fcntl.test b/tests-mx32/fcntl.test
deleted file mode 100755
index 9aea122..0000000
--- a/tests-mx32/fcntl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fcntl decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests-mx32/fcntl64.c b/tests-mx32/fcntl64.c
index 5ecd6eb..068956e 100644
--- a/tests-mx32/fcntl64.c
+++ b/tests-mx32/fcntl64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,10 +45,10 @@
 		.l_start = 0xdefaced1facefeedULL,
 		.l_len = 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
-	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, EINVAL_STR);
+	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc));
 }
 
 static void
@@ -67,7 +68,7 @@
 	long rc = invoke_test_syscall(F_SETLK64, &fl);
 	printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=0, l_len=%d}) = %s\n",
-	       TEST_SYSCALL_STR, FILE_LEN, rc ? EINVAL_STR : "0");
+	       TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc));
 
 	if (rc)
 		return;
diff --git a/tests-mx32/fcntl64.gen.test b/tests-mx32/fcntl64.gen.test
new file mode 100755
index 0000000..9d3b98a
--- /dev/null
+++ b/tests-mx32/fcntl64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fcntl64 -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-mx32/fcntl64.test b/tests-mx32/fcntl64.test
deleted file mode 100755
index 00ba671..0000000
--- a/tests-mx32/fcntl64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fcntl64 syscall decoding.
-
-. "${srcdir=.}/fcntl.test"
diff --git a/tests-mx32/fdatasync.gen.test b/tests-mx32/fdatasync.gen.test
new file mode 100755
index 0000000..0dbea8a
--- /dev/null
+++ b/tests-mx32/fdatasync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fdatasync -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-mx32/fdatasync.test b/tests-mx32/fdatasync.test
deleted file mode 100755
index ff59749..0000000
--- a/tests-mx32/fdatasync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fdatasync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-mx32/file_handle.c b/tests-mx32/file_handle.c
index a5ad6c7..bbdf48b 100644
--- a/tests-mx32/file_handle.c
+++ b/tests-mx32/file_handle.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -187,7 +188,7 @@
 		(kernel_ulong_t) 0x12345678ffffff9cULL,
 	};
 	static const struct strval open_flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ F8ILL_KULONG_MASK, "O_RDONLY" },
 		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
 			"O_WRONLY|0x80000000" }
 	};
@@ -208,7 +209,7 @@
 		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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
 
 	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
 
diff --git a/tests-mx32/file_handle.gen.test b/tests-mx32/file_handle.gen.test
new file mode 100755
index 0000000..8280f9f
--- /dev/null
+++ b/tests-mx32/file_handle.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (file_handle -e trace=name_to_handle_at,open_by_handle_at); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
diff --git a/tests-mx32/file_handle.test b/tests-mx32/file_handle.test
deleted file mode 100755
index 1ccc9d4..0000000
--- a/tests-mx32/file_handle.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check name_to_handle_at and open_by_handle_at syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
diff --git a/tests-mx32/file_ioctl.c b/tests-mx32/file_ioctl.c
index 0fe17b1..ded67a9 100644
--- a/tests-mx32/file_ioctl.c
+++ b/tests-mx32/file_ioctl.c
@@ -13,7 +13,7 @@
 test_fiemap(void)
 {
 	(void) tail_alloc(1);
-	struct fiemap *const args = tail_alloc(sizeof(*args));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fiemap, args);
 
 	printf("ioctl(-1, FS_IOC_FIEMAP, {fm_start=%" PRI__u64
 	       ", fm_length=%" PRI__u64", fm_flags=",
diff --git a/tests-mx32/file_ioctl.gen.test b/tests-mx32/file_ioctl.gen.test
new file mode 100755
index 0000000..f7e58f5
--- /dev/null
+++ b/tests-mx32/file_ioctl.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (file_ioctl +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/file_ioctl.test b/tests-mx32/file_ioctl.test
deleted file mode 100755
index 7b8b8ce..0000000
--- a/tests-mx32/file_ioctl.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check FS_IOC_FIEMAP ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/finit_module.c b/tests-mx32/finit_module.c
index 3f0178f..c97471a 100644
--- a/tests-mx32/finit_module.c
+++ b/tests-mx32/finit_module.c
@@ -2,6 +2,7 @@
  * Check decoding of finit_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -68,7 +69,8 @@
 	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);
+	rc = syscall(__NR_finit_module, F8ILL_KULONG_MASK, NULL,
+		     F8ILL_KULONG_MASK);
 	printf("finit_module(0, NULL, 0) = %s\n", sprintrc(rc));
 
 	rc = syscall(__NR_finit_module, bogus_fd, bogus_param1, flags[0].val);
diff --git a/tests-mx32/finit_module.gen.test b/tests-mx32/finit_module.gen.test
new file mode 100755
index 0000000..f2e56af
--- /dev/null
+++ b/tests-mx32/finit_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (finit_module -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-mx32/finit_module.test b/tests-mx32/finit_module.test
deleted file mode 100755
index bd644f3..0000000
--- a/tests-mx32/finit_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of finit_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-mx32/flock.gen.test b/tests-mx32/flock.gen.test
new file mode 100755
index 0000000..dff2bac
--- /dev/null
+++ b/tests-mx32/flock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (flock -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-mx32/flock.test b/tests-mx32/flock.test
deleted file mode 100755
index 24fcd74..0000000
--- a/tests-mx32/flock.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check flock syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-mx32/fork-f.gen.test b/tests-mx32/fork-f.gen.test
new file mode 100755
index 0000000..b534e13
--- /dev/null
+++ b/tests-mx32/fork-f.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fork-f -a26 -qq -f -e signal=none -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26 -qq -f -e signal=none -e trace=chdir
diff --git a/tests-mx32/fork-f.test b/tests-mx32/fork-f.test
deleted file mode 100755
index d8ca1e3..0000000
--- a/tests-mx32/fork-f.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check how strace -f follows fork syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26 -qq -f -e trace=chdir -e signal=none
diff --git a/tests-mx32/fstat.c b/tests-mx32/fstat.c
index 12df3e1..1482bb1 100644
--- a/tests-mx32/fstat.c
+++ b/tests-mx32/fstat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/fstat.gen.test b/tests-mx32/fstat.gen.test
new file mode 100755
index 0000000..8686ec8
--- /dev/null
+++ b/tests-mx32/fstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstat -a15 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15 -v -P stat.sample
diff --git a/tests-mx32/fstat.test b/tests-mx32/fstat.test
deleted file mode 100755
index 2ba0fba..0000000
--- a/tests-mx32/fstat.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# Check fstat 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-mx32/fstat64.c b/tests-mx32/fstat64.c
index a9c2e07..c63be60 100644
--- a/tests-mx32/fstat64.c
+++ b/tests-mx32/fstat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/fstat64.gen.test b/tests-mx32/fstat64.gen.test
new file mode 100755
index 0000000..a452b84
--- /dev/null
+++ b/tests-mx32/fstat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstat64 -a17 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17 -v -P stat.sample
diff --git a/tests-mx32/fstat64.test b/tests-mx32/fstat64.test
deleted file mode 100755
index 8b4f5ef..0000000
--- a/tests-mx32/fstat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstat64 syscall decoding.
-
-. "${srcdir=.}/fstat.test"
diff --git a/tests-mx32/fstatat.c b/tests-mx32/fstatat.c
index 66138c2..ea331b4 100644
--- a/tests-mx32/fstatat.c
+++ b/tests-mx32/fstatat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/fstatat64.c b/tests-mx32/fstatat64.c
index 03082a8..8de7ba6 100644
--- a/tests-mx32/fstatat64.c
+++ b/tests-mx32/fstatat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/fstatat64.gen.test b/tests-mx32/fstatat64.gen.test
new file mode 100755
index 0000000..8da5c7f
--- /dev/null
+++ b/tests-mx32/fstatat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/fstatat64.test b/tests-mx32/fstatat64.test
deleted file mode 100755
index 484008a..0000000
--- a/tests-mx32/fstatat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/fstatfs.gen.test b/tests-mx32/fstatfs.gen.test
new file mode 100755
index 0000000..3dd04d8
--- /dev/null
+++ b/tests-mx32/fstatfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatfs -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-mx32/fstatfs.test b/tests-mx32/fstatfs.test
deleted file mode 100755
index 646e66f..0000000
--- a/tests-mx32/fstatfs.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatfs syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests-mx32/fstatfs64.gen.test b/tests-mx32/fstatfs64.gen.test
new file mode 100755
index 0000000..b9527be
--- /dev/null
+++ b/tests-mx32/fstatfs64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatfs64 -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-mx32/fstatfs64.test b/tests-mx32/fstatfs64.test
deleted file mode 100755
index 179ff1b..0000000
--- a/tests-mx32/fstatfs64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests-mx32/fstatx.c b/tests-mx32/fstatx.c
index f88d9a9..70804af 100644
--- a/tests-mx32/fstatx.c
+++ b/tests-mx32/fstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/fsync.gen.test b/tests-mx32/fsync.gen.test
new file mode 100755
index 0000000..921e804
--- /dev/null
+++ b/tests-mx32/fsync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fsync -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/fsync.test b/tests-mx32/fsync.test
deleted file mode 100755
index a58b67b..0000000
--- a/tests-mx32/fsync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fsync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-mx32/ftruncate.gen.test b/tests-mx32/ftruncate.gen.test
new file mode 100755
index 0000000..709a851
--- /dev/null
+++ b/tests-mx32/ftruncate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ftruncate -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-mx32/ftruncate.test b/tests-mx32/ftruncate.test
deleted file mode 100755
index ec8a1e0..0000000
--- a/tests-mx32/ftruncate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ftruncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-mx32/ftruncate64.gen.test b/tests-mx32/ftruncate64.gen.test
new file mode 100755
index 0000000..4cb1fe7
--- /dev/null
+++ b/tests-mx32/ftruncate64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ftruncate64 -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-mx32/ftruncate64.test b/tests-mx32/ftruncate64.test
deleted file mode 100755
index 9068210..0000000
--- a/tests-mx32/ftruncate64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ftruncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-mx32/futex.c b/tests-mx32/futex.c
index 586b95d..9a9ab66 100644
--- a/tests-mx32/futex.c
+++ b/tests-mx32/futex.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,8 +56,6 @@
 # include "xlat/futexwakeops.h"
 # include "xlat/futexwakecmps.h"
 
-static struct timespec *tmout;
-
 void futex_error(int *uaddr, int op, unsigned long val, unsigned long timeout,
 	int *uaddr2, unsigned long val3, int rc)
 {
@@ -163,8 +162,8 @@
 int
 main(int argc, char *argv[])
 {
-	int *uaddr = tail_alloc(sizeof(*uaddr));
-	int *uaddr2 = tail_alloc(sizeof(*uaddr2));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, uaddr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, uaddr2);
 	int rc;
 	unsigned i;
 	unsigned j;
@@ -172,7 +171,7 @@
 	uaddr[0] = 0x1deadead;
 	uaddr2[0] = 0xbadf00d;
 
-	tmout = tail_alloc(sizeof(*tmout));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, tmout);
 	tmout->tv_sec = 123;
 	tmout->tv_nsec = 0xbadc0de;
 
@@ -189,37 +188,59 @@
 	/* uaddr is NULL */
 	CHECK_FUTEX(NULL, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
-	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));
+	printf("futex(NULL, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
-		uaddr + 1, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr + 1, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* timeout is faulty */
 	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout + 1, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
 	printf("futex(%p, FUTEX_WAIT, %u, %p) = %s\n",
-		uaddr, 0xfacefeed, tmout + 1, sprintrc(rc));
+	       uaddr, 0xfacefeed, tmout + 1, sprintrc(rc));
+
+	/* timeout is invalid */
+	tmout->tv_sec = 0xdeadbeefU;
+	tmout->tv_nsec = 0xfacefeedU;
+
+	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
+		(rc == -1) && (errno == EINVAL));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
+
+	tmout->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tmout->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
+		(rc == -1) && (errno == EINVAL));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
+
+	tmout->tv_sec = 123;
+	tmout->tv_nsec = 0xbadc0de;
 
 	/* 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, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
-		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = "
-		"%s\n",
-		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT_PRIVATE, %u, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* Next 2 tests are with CLOCKRT bit set */
 
@@ -227,18 +248,18 @@
 	CHECK_FUTEX_ENOSYS(uaddr,
 		FUTEX_CLOCK_REALTIME | FUTEX_WAIT,
 		VAL, tmout, uaddr2, VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT|FUTEX_CLOCK_REALTIME, %u, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
-		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr,
 		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, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
-		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* FUTEX_WAIT_BITSET - FUTEX_WAIT which provides additional bitmask
 	 *                     which should be matched at least in one bit with
@@ -254,50 +275,54 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	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));
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%lld, tv_nsec=%llu}"
+	       ", %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {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));
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%lld, tv_nsec=%llu}"
+	       ", %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* Next 3 tests are with CLOCKRT bit set */
 
 	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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* val3 of 0 is invalid  */
 	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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), 0, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG |
 		FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1, VAL3,
 		(rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, %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));
+	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* FUTEX_WAKE - wake val processes waiting for uaddr
 	 * Possible flags: PRIVATE
@@ -522,9 +547,9 @@
 			CHECK_FUTEX_ENOSYS(uaddr,
 				j ? FUTEX_WAKE_OP_PRIVATE : FUTEX_WAKE_OP,
 				VAL, i, uaddr2, wake_ops[i].val, (rc == 0));
-			printf("futex(%p, FUTEX_WAKE_OP%s, %u, %u, %p, %s) = "
-				"%s\n", uaddr, j ? "_PRIVATE" : "", VAL_PR, i,
-				uaddr2, wake_ops[i].str, sprintrc(rc));
+			printf("futex(%p, FUTEX_WAKE_OP%s, %u, %u, %p, %s)"
+			       " = %s\n", uaddr, j ? "_PRIVATE" : "", VAL_PR,
+			       i, uaddr2, wake_ops[i].str, sprintrc(rc));
 		}
 	}
 
@@ -552,16 +577,16 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_LOCK_PI, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EFAULT));
-	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));
+	printf("futex(%p, FUTEX_LOCK_PI, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr + 1, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = "
-		"%s\n",
-		uaddr + 1, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_LOCK_PI_PRIVATE, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %s\n",
+	       uaddr + 1, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* NULL is passed by invalid_op() in cases valid timeout address is
 	 * needed */
@@ -633,32 +658,32 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), uaddr2, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG |
 		FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME, "
-		"%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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME"
+	       ", %u, {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), uaddr2, sprintrc(rc));
 
 	/* FUTEX_CMP_REQUEUE_PI - version of FUTEX_CMP_REQUEUE which re-queues
 	 *                        on PI-aware futex.
diff --git a/tests-mx32/futimesat.c b/tests-mx32/futimesat.c
index c356629..733fd09 100644
--- a/tests-mx32/futimesat.c
+++ b/tests-mx32/futimesat.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of futimesat syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,46 +37,123 @@
 # include <sys/time.h>
 # include <unistd.h>
 
+static void
+print_tv(const struct timeval *tv)
+{
+	printf("{tv_sec=%lld, tv_usec=%llu}",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
+	print_time_t_usec(tv->tv_sec,
+			  zero_extend_signed_to_ull(tv->tv_usec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_futimesat(const kernel_ulong_t dirfd,
+	    const kernel_ulong_t pathname,
+	    const kernel_ulong_t times)
+{
+	long rc = syscall(__NR_futimesat, dirfd, pathname, times);
+	errstr = sprintrc(rc);
+	return rc;
+}
 
 int
 main(void)
 {
-	struct timeval tv;
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_fail("gettimeofday");
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xbadfaceddeadbeaf;
+	static const kernel_ulong_t kfdcwd =
+		(kernel_ulong_t) 0xdefaced00000000 | -100U;
+	static const char proto_fname[] = "futimesat_sample";
+	static const char qname[] = "\"futimesat_sample\"";
 
-	static const char sample[] = "futimesat_sample";
-	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) 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());
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	struct timeval *const tv = tail_alloc(sizeof(*tv) * 2);
 
 	(void) close(0);
-	rc = syscall(__NR_futimesat, 0, "", ts);
-	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());
+
+	/* dirfd */
+	k_futimesat(0, kfname, 0);
+	printf("futimesat(0, %s, NULL) = %s\n", qname, errstr);
+
+	k_futimesat(bogus_fd, kfname, 0);
+	printf("futimesat(%d, %s, NULL) = %s\n", (int) bogus_fd, qname, errstr);
+
+	k_futimesat(-100U, kfname, 0);
+	printf("futimesat(AT_FDCWD, %s, NULL) = %s\n", qname, errstr);
+
+	k_futimesat(kfdcwd, kfname, 0);
+	printf("futimesat(AT_FDCWD, %s, NULL) = %s\n", qname, errstr);
+
+	/* pathname */
+	k_futimesat(kfdcwd, 0, 0);
+	printf("futimesat(AT_FDCWD, NULL, NULL) = %s\n", errstr);
+
+	k_futimesat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0);
+	printf("futimesat(AT_FDCWD, \"\", NULL) = %s\n", errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_futimesat(kfdcwd, kfname, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("futimesat(AT_FDCWD, %p, NULL) = %s\n", fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_futimesat(kfdcwd, f8ill_ptr_to_kulong(fname), 0);
+		printf("futimesat(AT_FDCWD, %#jx, NULL) = %s\n",
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_futimesat(kfdcwd, kfname, (uintptr_t) (tv + 1));
+	printf("futimesat(AT_FDCWD, %s, %p) = %s\n",
+	       qname, tv + 1, errstr);
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) (tv + 2));
+	printf("futimesat(AT_FDCWD, %s, %p) = %s\n",
+	       qname, tv + 2, errstr);
+
+	tv[0].tv_sec = 0xdeadbeefU;
+	tv[0].tv_usec = 0xfacefeedU;
+	tv[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv[1].tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_sec = 1492356708;
+	tv[0].tv_usec = 567891234;
+	tv[1].tv_sec = 1492357086;
+	tv[1].tv_usec = 678902345;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_usec = 567891;
+	tv[1].tv_usec = 678902;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_futimesat(kfdcwd, kfname, f8ill_ptr_to_kulong(tv));
+		printf("futimesat(AT_FDCWD, %s, %#jx) = %s\n",
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(tv), errstr);
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/futimesat.gen.test b/tests-mx32/futimesat.gen.test
new file mode 100755
index 0000000..c3add8c
--- /dev/null
+++ b/tests-mx32/futimesat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (futimesat -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-mx32/futimesat.test b/tests-mx32/futimesat.test
deleted file mode 100755
index 3a67c04..0000000
--- a/tests-mx32/futimesat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check futimesat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-mx32/gen_pure_executables.sh b/tests-mx32/gen_pure_executables.sh
new file mode 100755
index 0000000..c0e2152
--- /dev/null
+++ b/tests-mx32/gen_pure_executables.sh
@@ -0,0 +1,50 @@
+#!/bin/sh -efu
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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.
+
+usage()
+{
+	cat >&2 <<EOF
+Usage: $0 [<input> [<output>]]
+
+Generate pure_executables.am from <input> list.
+Deduce output file from <input> unless an <output> is specified.
+EOF
+	exit 1
+}
+
+input="${0%/*}/pure_executables.list"
+[ $# -eq 0 ] || { input="$1"; shift; }
+output="$(dirname "$input")/pure_executables.am"
+[ $# -eq 0 ] || { output="$1"; shift; }
+[ $# -eq 0 ] || usage
+
+exec > "$output"
+
+echo "# Generated by $0 from $input; do not edit."
+echo 'PURE_EXECUTABLES = \'
+sed -n 's/^[^#].*/  & \\/p' < "$input"
+echo '  #'
diff --git a/tests-mx32/gen_tests.in b/tests-mx32/gen_tests.in
new file mode 100644
index 0000000..be0a3a2
--- /dev/null
+++ b/tests-mx32/gen_tests.in
@@ -0,0 +1,348 @@
+# Input for gen_tests.sh
+#
+# Copyright (c) 2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+_newselect
+accept	-a22
+accept4	-a37
+access	-a30 -P access_sample
+acct	-a20
+add_key	-a30 -s12
+adjtimex	-a15
+aio	-a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy
+alarm	-a10
+bpf	-a20
+btrfs	+ioctl.test
+chmod	-a28
+chown	-a28
+chown32	-a31
+chroot	-a24
+clock	test_trace_expr 'times|fcntl.*' -e/clock
+clock_adjtime	-a37
+clock_nanosleep	-e trace=clock_nanosleep,clock_gettime
+clock_xettime	-a36 -e trace=clock_getres,clock_gettime,clock_settime
+copy_file_range
+creat	-a20
+delete_module	-a23
+dup	-a8
+dup2	-a13
+dup3	-a24
+epoll_create	-a17
+epoll_create1	-a28
+epoll_ctl
+epoll_pwait
+epoll_wait	-a26
+erestartsys	-a34 -e signal=none -e trace=recvfrom
+execveat
+execveat-v	-v -e trace=execveat
+faccessat	-P $NAME.sample
+fadvise64_64	+fadvise64.test
+fallocate	-a18
+fanotify_init
+fanotify_mark	-a32
+fchdir	-a11
+fchmod	-a15
+fchmodat
+fchown	-a16
+fchown32	-a18
+fchownat
+fcntl	-a8
+fcntl64	-a8
+fdatasync	-a14
+file_handle	-e trace=name_to_handle_at,open_by_handle_at
+file_ioctl	+ioctl.test
+finit_module	-a25
+flock	-a19
+fork-f	-a26 -qq -f -e signal=none -e trace=chdir
+fstat	-a15 -v -P stat.sample
+fstat64	-a17 -v -P stat.sample
+fstatat64	-a32 -v -P stat.sample -P /dev/full
+fstatfs	-a18
+fstatfs64	-a24
+fsync	-a10
+ftruncate	-a24
+ftruncate64	-a36
+futimesat	-a28
+get_mempolicy	-s3 -a38
+getcpu	-a25
+getcwd	-a18
+getdents	-a22 -v
+getdents64	-a24 -v
+getegid	+getuid.test
+getegid32	+getuid.test
+geteuid	+getuid.test
+geteuid32	+getuid.test
+getgid	+getuid.test
+getgid32	+getuid.test
+getgroups	-a17
+getgroups32	-a19
+getpeername	-a27
+getpgrp	-a10
+getpid	-a9
+getppid	-a10
+getrandom	-a32 -s3
+getresgid	-a25
+getresgid32	-a27
+getresuid	-a25
+getresuid32	-a27
+getrlimit	-a27
+getrusage	-v
+getsid	-a10
+getsockname	-a27
+gettid	-a9
+getuid32	+getuid.test
+getxxid	-a10 -e trace=getxpid,getxuid,getxgid
+inet-cmsg	-e trace=recvmsg
+init_module	-a27
+inotify	-a23 -e trace=inotify_add_watch,inotify_rm_watch
+inotify_init1	-a27
+int_0x80	-a11 -e trace=getgid32
+ioctl_block	+ioctl.test
+ioctl_evdev	+ioctl.test
+ioctl_evdev-v	+ioctl-v.sh
+ioctl_loop	+ioctl.test
+ioctl_loop-v	+ioctl-v.sh
+ioctl_mtd	+ioctl.test
+ioctl_rtc	+ioctl.test
+ioctl_rtc-v	+ioctl-v.sh
+ioctl_scsi	+ioctl.test
+ioctl_sg_io_v3	+ioctl.test
+ioctl_sg_io_v4	+ioctl.test
+ioctl_uffdio	+ioctl.test
+ioctl_v4l2	+ioctl.test
+ioperm	-a27
+iopl	-a8
+ioprio	-a18 -e trace=ioprio_get,ioprio_set
+ip_mreq	-e trace=setsockopt
+ipc	-a19
+ipc_msg	+ipc.sh
+ipc_sem	+ipc.sh
+ipc_shm	+ipc.sh
+kcmp	-a27
+kexec_file_load	-s9
+kexec_load	-s9
+keyctl	-a31 -s10
+kill	-a12 -esignal=none
+lchown	-a30
+lchown32	-a32
+link
+linkat
+lookup_dcookie	-a27
+lstat	-a32 -v -P stat.sample -P /dev/full
+lstat64	-a32 -v -P stat.sample -P /dev/full
+madvise	-a33
+mbind
+membarrier	-a36
+memfd_create
+migrate_pages	-a33
+mincore	-a22
+mkdir	-a20
+mkdirat	-a28
+mknod	-a18
+mknodat	-a35
+mlock	-a20 -e trace=mlock,munlock
+mlock2
+mlockall	-a12
+mmap64	+mmap.test
+mmsg	-e read=0 -e write=1 -e trace=recvmmsg,sendmmsg
+mmsg-silent	-a25 -e verbose=none -e trace=sendmmsg,recvmmsg
+mmsg_name	-a25 -e trace=sendmmsg,recvmmsg
+mmsg_name-v	-v -a25 -e trace=sendmmsg,recvmmsg
+mount
+move_pages	-s3
+mq	-a32 -e trace=mq_getsetattr,mq_open,mq_unlink
+mq_sendrecv	-a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-read	-eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-write	-ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+msg_control	-a21 -e trace=sendmsg
+msg_control-v	-v -a21 -e trace=sendmsg
+msg_name	-a20 -e trace=recvmsg
+munlockall	-a13
+nanosleep	-a20
+net-icmp_filter	-e trace=getsockopt,setsockopt
+net-sockaddr	-a24 -e trace=connect
+netlink_protocol	-e trace=%network
+newfstatat	-a32 -v -P stat.sample -P /dev/full
+old_mmap	-a11 -e trace=mmap
+oldfstat	-a18 -v -P stat.sample
+oldlstat	-a32 -v -P stat.sample -P /dev/full
+oldstat	-a32 -v -P stat.sample -P /dev/full
+open	-a30 -P $NAME.sample
+openat	-P $NAME.sample
+osf_utimes	-a21
+pause	-a8 -esignal=none
+perf_event_open	-a1
+perf_event_open_nonverbose	-a34 -e verbose=none -e trace=perf_event_open
+perf_event_open_unabbrev	-a1 -v -e trace=perf_event_open
+pipe2	-a15
+pkey_alloc	-a17
+pkey_free	-a13
+pkey_mprotect	-a37
+ppoll	-s2
+ppoll-v	-v -s2 -e trace=ppoll
+pread64-pwrite64	-a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null
+preadv	-a21
+preadv-pwritev	-a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
+preadv2-pwritev2	-a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
+printstr	-e trace=writev
+prlimit64
+process_vm_readv	-s5 -a37
+process_vm_writev	-s5 -a38
+pselect6
+ptrace	-a23 -e signal=none
+pwritev	-a22 -s7
+quotactl
+quotactl-v	-v -e trace=quotactl
+quotactl-xfs	-e trace=quotactl
+quotactl-xfs-v	-v -e trace=quotactl
+read-write	-a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+readahead	-a1
+readdir	-a16
+readlink	-xx
+readlinkat	-xx
+reboot
+recvfrom	-a35
+recvmmsg-timeout	-a25 -e trace=recvmmsg
+recvmsg	-eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
+regex	test_trace_expr '' -etrace='/^(.*_)?statv?fs'
+remap_file_pages
+rename	-a35
+renameat
+renameat2
+request_key	-a33 -s12
+rmdir	-a22
+rt_sigpending	-a20
+rt_sigprocmask
+rt_sigqueueinfo	-esignal=none
+rt_sigreturn	-esignal='!USR1'
+rt_sigsuspend	-a20 -esignal=none
+rt_sigtimedwait	-a38
+rt_tgsigqueueinfo	-esignal=none
+sched	test_trace_expr times -e/sched
+sched_get_priority_mxx	-a33 -e trace=sched_get_priority_min,sched_get_priority_max
+sched_rr_get_interval	-a31
+sched_xetaffinity	-a28 -e trace=sched_getaffinity,sched_setaffinity
+sched_xetattr	-a29 -e trace=sched_getattr,sched_setattr
+sched_xetparam	-a23 -e trace=sched_getparam,sched_setparam
+sched_xetscheduler	-a22 -e trace=sched_getscheduler,sched_setscheduler
+sched_yield	-a14
+seccomp-filter	-e trace=seccomp
+seccomp-filter-v	-v -e trace=seccomp
+select	-a36
+semop	-a32 -e trace=semop,semtimedop
+sendfile	-a27
+sendfile64	-a29
+set_mempolicy	-s3 -a35
+setdomainname	-a24
+setfsgid	-a12
+setfsgid32	-a14
+setfsuid	-a12
+setfsuid32	-a14
+setgid	-a10
+setgid32	-a12
+setgroups	-s2 -a17
+setgroups32	-s2 -a19
+sethostname	-a22
+setns	-a21
+setregid	-a15
+setregid32	-a17
+setresgid	-a19
+setresgid32	-a21
+setresuid	-a19
+setresuid32	-a21
+setreuid	-a15
+setreuid32	-a17
+setrlimit	-a27
+setuid	-a10
+setuid32	-a12
+shmxt	-a11 -e trace='/(osf_)?shmat,shmdt'
+shutdown	-a24
+siginfo	-e trace=none
+signal_receive	-a16 -e trace=kill
+signalfd4
+sigreturn	-esignal='!USR1'
+sigsuspend	-a19 -esignal=none
+socketcall	-a20
+splice
+stat	-a32 -v -P stat.sample -P /dev/full
+stat64	-a32 -v -P stat.sample -P /dev/full
+statfs	-a17
+statfs64	-a23
+statx	-a32 -v -P stat.sample -P /dev/full
+swap	-a23 -e trace=swapon,swapoff
+sxetmask	-a11 -e trace=sgetmask,ssetmask
+symlink	-a34
+symlinkat
+sync	-a7
+sync_file_range
+sync_file_range2
+sysinfo	-a14
+syslog	-a36
+tee
+time	-a10
+timer_create
+timer_xettime	-e trace=timer_create,timer_settime,timer_gettime
+timerfd_xettime	-e trace=timerfd_create,timerfd_settime,timerfd_gettime
+times	-esignal=none
+times-fail	-a12 -e trace=times
+trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
+trace_fstatfs	test_trace_expr '' -e%fstatfs
+trace_lstat	test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full
+trace_question	test_trace_expr '' -e?osf_utimes,?/^pkey_.*
+trace_stat	test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full
+trace_stat_like	test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
+trace_statfs	test_trace_expr '' -e%statfs
+trace_statfs_like	test_trace_expr '' -e%%statfs
+truncate
+truncate64
+ugetrlimit	-a28
+umask	-a11
+umoven-illptr	-a36 -e trace=nanosleep
+umovestr-illptr	-a11 -e trace=chdir
+umovestr3	-a14 -e trace=chdir
+unlink	-a24
+unlinkat	-a35
+unshare	-a11
+userfaultfd	-a38
+ustat	-a33
+utime	-a16
+utimensat	-a33
+utimes	-a17
+vfork-f	-a26 -qq -f -e signal=none -e trace=chdir
+vhangup	-a10
+vmsplice	-ewrite=1
+wait4	-esignal=none
+wait4-v	-v -e signal=none -e trace=wait4
+waitid	-esignal=none
+waitid-v	-v -e signal=none -e trace=waitid
+waitpid	-a28
+xattr	-a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
+xattr-strings	-a22 -s 4 -e trace=fsetxattr
+xet_robust_list	-a24 -e trace=get_robust_list,set_robust_list
+xetitimer	-a29 -e trace=setitimer,getitimer
+xetpgid	-a11 -e trace=getpgid,setpgid
+xetpriority	-a29 -e trace=getpriority,setpriority
+xettimeofday	-a20 -e trace=gettimeofday,settimeofday
diff --git a/tests-mx32/gen_tests.sh b/tests-mx32/gen_tests.sh
new file mode 100755
index 0000000..b062436
--- /dev/null
+++ b/tests-mx32/gen_tests.sh
@@ -0,0 +1,110 @@
+#!/bin/sh -efu
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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.
+
+usage()
+{
+	cat >&2 <<EOF
+Usage: $0 [<input> [<output>]]
+
+Generate test script(s) from <input> table.
+If a <output> is specified, generate the script for this test only,
+otherwise generate scripts for all tests specified in <input> table.
+EOF
+	exit 1
+}
+
+input="${0%/*}/gen_tests.in"
+[ $# -eq 0 ] || { input="$1"; shift; }
+output=
+[ $# -eq 0 ] || { output="$1"; shift; }
+[ $# -eq 0 ] || usage
+
+if [ -n "$output" ]; then
+	match="${output##*/}"
+	match="${match%.gen.test}"
+	[ -n "$match" ] || usage
+else
+	match=
+	dir="$(dirname "$input")"
+fi
+
+names=
+
+while read -r name args; do {
+	[ -n "${name###*}" ] || continue
+	if [ -z "$match" ]; then
+		names="$names $name"
+		output="$dir/$name.gen.test"
+	else
+		[ "$match" = "$name" ] || continue
+	fi
+
+	hdr="\
+#!/bin/sh -efu
+# Generated by $0 from $input ($name $args); do not edit."
+
+	case "$args" in
+		+*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/${args#+}"
+		EOF
+		;;
+
+		''|-*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/init.sh"
+		run_strace_match_diff $args
+		EOF
+		;;
+
+		*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/init.sh"
+		$args
+		EOF
+		;;
+	esac > "$output"
+
+	chmod a+x "$output"
+} < /dev/null; done < "$input"
+
+if [ -n "$names" ]; then
+	{
+		printf '# Generated by %s from %s; do not edit.\n' "$0" "$input"
+		printf 'GEN_TESTS ='
+		printf ' %s.gen.test' $names
+		echo
+		target='$(srcdir)/%s.gen.test'
+		dep1='$(abs_srcdir)/gen_tests.sh'
+		dep2='$(srcdir)/gen_tests.in'
+		recipe='$(AM_V_GEN) $^ $@'
+		printf "\\n$target: $dep1 $dep2\\n\\t$recipe\\n" $names
+	} > "$dir/gen_tests.am"
+fi
diff --git a/tests-mx32/get_mempolicy.gen.test b/tests-mx32/get_mempolicy.gen.test
new file mode 100755
index 0000000..ec6efb3
--- /dev/null
+++ b/tests-mx32/get_mempolicy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (get_mempolicy -s3 -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3 -a38
diff --git a/tests-mx32/get_mempolicy.test b/tests-mx32/get_mempolicy.test
deleted file mode 100755
index 9227097..0000000
--- a/tests-mx32/get_mempolicy.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check get_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a38
diff --git a/tests-mx32/get_regs.test b/tests-mx32/get_regs.test
new file mode 100755
index 0000000..c673fe9
--- /dev/null
+++ b/tests-mx32/get_regs.test
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Check that get_regs is skipped for filtered syscalls.
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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_prog env
+check_prog grep
+run_prog ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -etrace=none ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -eptrace -o '|grep -c ^ptrace > less' \
+	-- ${STRACE##* } -o "$LOG" $args > /dev/null
+
+[ "$(cat less)" -gt 0 ] ||
+	fail_ "$STRACE $args failed to catch any ptrace syscalls"
+
+run_strace -qq -esignal=none -eraw=all -etrace=all ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -eptrace -o '|grep -c ^ptrace > more' \
+	-- ${STRACE##* } -o "$LOG" $args > /dev/null
+
+[ "$(cat more)" -gt 0 ] ||
+	fail_ "$STRACE $args failed to catch any ptrace syscalls"
+
+[ "$(cat more)" -gt "$(cat less)" ] ||
+	fail_ "$STRACE failed to skip get_regs for filtered syscalls"
diff --git a/tests-mx32/get_sigset_size.c b/tests-mx32/get_sigset_size.c
new file mode 100644
index 0000000..357829d
--- /dev/null
+++ b/tests-mx32/get_sigset_size.c
@@ -0,0 +1,66 @@
+/*
+ * Find out the size of kernel's sigset_t.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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>
+
+/*
+ * If the sigset size specified to rt_sigprocmask is not equal to the size
+ * of kernel's sigset_t, the kernel does not look at anything else and fails
+ * with EINVAL.
+ *
+ * Otherwise, if both pointers specified to rt_sigprocmask are NULL,
+ * the kernel just returns 0.
+ *
+ * This vaguely documented kernel feature can be used to probe
+ * the kernel and find out the size of kernel's sigset_t.
+ */
+
+unsigned int
+get_sigset_size(void)
+{
+	static unsigned int set_size;
+
+	if (!set_size) {
+		static const unsigned int big_size = 1024 / 8;
+
+		for (set_size = big_size; set_size; set_size >>= 1) {
+			if (!syscall(__NR_rt_sigprocmask, SIG_SETMASK,
+				     NULL, NULL, set_size))
+				break;
+		}
+
+		if (!set_size)
+			perror_msg_and_fail("rt_sigprocmask");
+	}
+
+	return set_size;
+}
diff --git a/tests-mx32/getcpu.c b/tests-mx32/getcpu.c
index ec671f1..3cb49cb 100644
--- a/tests-mx32/getcpu.c
+++ b/tests-mx32/getcpu.c
@@ -2,6 +2,7 @@
  * Check decoding of getcpu syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,8 +48,8 @@
 		(unsigned *) tail_alloc(sizeof(* bogus_tcache)) + 1;
 
 	long res;
-	unsigned *cpu = tail_alloc(sizeof(*cpu));
-	unsigned *node = tail_alloc(sizeof(*node));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, cpu);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, node);
 	long * tcache = tail_alloc(128);
 
 	res = syscall(__NR_getcpu, NULL, NULL, NULL);
diff --git a/tests-mx32/getcpu.gen.test b/tests-mx32/getcpu.gen.test
new file mode 100755
index 0000000..44d9a4b
--- /dev/null
+++ b/tests-mx32/getcpu.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getcpu -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-mx32/getcpu.test b/tests-mx32/getcpu.test
deleted file mode 100755
index fe21265..0000000
--- a/tests-mx32/getcpu.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getcpu syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-mx32/getcwd.gen.test b/tests-mx32/getcwd.gen.test
new file mode 100755
index 0000000..af2ff08
--- /dev/null
+++ b/tests-mx32/getcwd.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getcwd -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-mx32/getcwd.test b/tests-mx32/getcwd.test
deleted file mode 100755
index 405187e..0000000
--- a/tests-mx32/getcwd.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-mx32/getdents.c b/tests-mx32/getdents.c
index b787c83..338eab0 100644
--- a/tests-mx32/getdents.c
+++ b/tests-mx32/getdents.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -92,12 +93,10 @@
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "getdents.test.tmp.dir";
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests-mx32/getdents.gen.test b/tests-mx32/getdents.gen.test
new file mode 100755
index 0000000..0db5f20
--- /dev/null
+++ b/tests-mx32/getdents.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getdents -a22 -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -v
diff --git a/tests-mx32/getdents.test b/tests-mx32/getdents.test
deleted file mode 100755
index 23c4ac3..0000000
--- a/tests-mx32/getdents.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check getdents syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a22 -v
diff --git a/tests-mx32/getdents64.c b/tests-mx32/getdents64.c
index 9da2a23..1f6b47e 100644
--- a/tests-mx32/getdents64.c
+++ b/tests-mx32/getdents64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -98,12 +99,10 @@
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "getdents64.test.tmp.dir";
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests-mx32/getdents64.gen.test b/tests-mx32/getdents64.gen.test
new file mode 100755
index 0000000..6e24d40
--- /dev/null
+++ b/tests-mx32/getdents64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getdents64 -a24 -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -v
diff --git a/tests-mx32/getdents64.test b/tests-mx32/getdents64.test
deleted file mode 100755
index 401cfc7..0000000
--- a/tests-mx32/getdents64.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check getdents64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a24 -v
diff --git a/tests-mx32/getegid.gen.test b/tests-mx32/getegid.gen.test
new file mode 100755
index 0000000..d6fecc2
--- /dev/null
+++ b/tests-mx32/getegid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getegid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getegid.test b/tests-mx32/getegid.test
deleted file mode 100755
index 4354158..0000000
--- a/tests-mx32/getegid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getegid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getegid32.gen.test b/tests-mx32/getegid32.gen.test
new file mode 100755
index 0000000..38c4a4b
--- /dev/null
+++ b/tests-mx32/getegid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getegid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getegid32.test b/tests-mx32/getegid32.test
deleted file mode 100755
index a266620..0000000
--- a/tests-mx32/getegid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getegid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/geteuid.gen.test b/tests-mx32/geteuid.gen.test
new file mode 100755
index 0000000..9e8c12f
--- /dev/null
+++ b/tests-mx32/geteuid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (geteuid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/geteuid.test b/tests-mx32/geteuid.test
deleted file mode 100755
index 14ff6a6..0000000
--- a/tests-mx32/geteuid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check geteuid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/geteuid32.gen.test b/tests-mx32/geteuid32.gen.test
new file mode 100755
index 0000000..5b78331
--- /dev/null
+++ b/tests-mx32/geteuid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (geteuid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/geteuid32.test b/tests-mx32/geteuid32.test
deleted file mode 100755
index 9dd173d..0000000
--- a/tests-mx32/geteuid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check geteuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getgid.gen.test b/tests-mx32/getgid.gen.test
new file mode 100755
index 0000000..5a87aee
--- /dev/null
+++ b/tests-mx32/getgid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getgid.test b/tests-mx32/getgid.test
deleted file mode 100755
index f4f0c2e..0000000
--- a/tests-mx32/getgid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getgid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getgid32.gen.test b/tests-mx32/getgid32.gen.test
new file mode 100755
index 0000000..05e2d70
--- /dev/null
+++ b/tests-mx32/getgid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getgid32.test b/tests-mx32/getgid32.test
deleted file mode 100755
index 3bc98d1..0000000
--- a/tests-mx32/getgid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getgid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getgroups.c b/tests-mx32/getgroups.c
index 2617303..c7cd874 100644
--- a/tests-mx32/getgroups.c
+++ b/tests-mx32/getgroups.c
@@ -2,6 +2,7 @@
  * Check decoding of getgroups/getgroups32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -91,7 +92,7 @@
 	if (ngroups < 0)
 		perror_msg_and_fail(SYSCALL_NAME);
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK, 0);
 	printf("%s(0, NULL) = %ld\n", SYSCALL_NAME, rc);
 
 	rc = syscall(SYSCALL_NR, -1U, 0);
@@ -105,7 +106,7 @@
 	rc = syscall(SYSCALL_NR, ngroups_max, 0);
 	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL | ngroups_max, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK | ngroups_max, 0);
 	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
 	/* check how the second argument is decoded */
diff --git a/tests-mx32/getgroups.gen.test b/tests-mx32/getgroups.gen.test
new file mode 100755
index 0000000..48b09be
--- /dev/null
+++ b/tests-mx32/getgroups.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgroups -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-mx32/getgroups.test b/tests-mx32/getgroups.test
deleted file mode 100755
index 2eb3056..0000000
--- a/tests-mx32/getgroups.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-mx32/getgroups32.gen.test b/tests-mx32/getgroups32.gen.test
new file mode 100755
index 0000000..74637d0
--- /dev/null
+++ b/tests-mx32/getgroups32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgroups32 -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-mx32/getgroups32.test b/tests-mx32/getgroups32.test
deleted file mode 100755
index 12a8bcc..0000000
--- a/tests-mx32/getgroups32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-mx32/getpeername.gen.test b/tests-mx32/getpeername.gen.test
new file mode 100755
index 0000000..66fb0a9
--- /dev/null
+++ b/tests-mx32/getpeername.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpeername -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/getpeername.test b/tests-mx32/getpeername.test
deleted file mode 100755
index 81f01bb..0000000
--- a/tests-mx32/getpeername.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getpeername syscall.
-
-. "${srcdir=.}/getsockname.test"
diff --git a/tests-mx32/getpgrp.gen.test b/tests-mx32/getpgrp.gen.test
new file mode 100755
index 0000000..1ec48e9
--- /dev/null
+++ b/tests-mx32/getpgrp.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpgrp -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/getpgrp.test b/tests-mx32/getpgrp.test
deleted file mode 100755
index e116bb5..0000000
--- a/tests-mx32/getpgrp.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpgrp syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-mx32/getpid.c b/tests-mx32/getpid.c
new file mode 100644
index 0000000..96f2d15
--- /dev/null
+++ b/tests-mx32/getpid.c
@@ -0,0 +1,21 @@
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_getpid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	printf("getpid() = %ld\n", syscall(__NR_getpid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getpid")
+
+#endif
diff --git a/tests-mx32/getpid.gen.test b/tests-mx32/getpid.gen.test
new file mode 100755
index 0000000..4691774
--- /dev/null
+++ b/tests-mx32/getpid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpid -a9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a9
diff --git a/tests-mx32/getppid.c b/tests-mx32/getppid.c
new file mode 100644
index 0000000..58901fc
--- /dev/null
+++ b/tests-mx32/getppid.c
@@ -0,0 +1,21 @@
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_getppid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	printf("getppid() = %ld\n", syscall(__NR_getppid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getppid")
+
+#endif
diff --git a/tests-mx32/getppid.gen.test b/tests-mx32/getppid.gen.test
new file mode 100755
index 0000000..52116a0
--- /dev/null
+++ b/tests-mx32/getppid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getppid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/getrandom.gen.test b/tests-mx32/getrandom.gen.test
new file mode 100755
index 0000000..2f5b989
--- /dev/null
+++ b/tests-mx32/getrandom.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrandom -a32 -s3); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -s3
diff --git a/tests-mx32/getrandom.test b/tests-mx32/getrandom.test
deleted file mode 100755
index ad34048..0000000
--- a/tests-mx32/getrandom.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getrandom syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -s3
diff --git a/tests-mx32/getresgid.gen.test b/tests-mx32/getresgid.gen.test
new file mode 100755
index 0000000..f53bccc
--- /dev/null
+++ b/tests-mx32/getresgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresgid -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-mx32/getresgid.test b/tests-mx32/getresgid.test
deleted file mode 100755
index 9f5186e..0000000
--- a/tests-mx32/getresgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-mx32/getresgid32.gen.test b/tests-mx32/getresgid32.gen.test
new file mode 100755
index 0000000..5f00506
--- /dev/null
+++ b/tests-mx32/getresgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresgid32 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/getresgid32.test b/tests-mx32/getresgid32.test
deleted file mode 100755
index a979891..0000000
--- a/tests-mx32/getresgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/getresugid.c b/tests-mx32/getresugid.c
index 0ee721c..af9f015 100644
--- a/tests-mx32/getresugid.c
+++ b/tests-mx32/getresugid.c
@@ -2,6 +2,7 @@
  * Check decoding of getresuid/getresgid/getresuid32/getresgid32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,9 +35,9 @@
 int
 main(void)
 {
-	unsigned UGID_TYPE *const r = tail_alloc(sizeof(*r));
-	unsigned UGID_TYPE *const e = tail_alloc(sizeof(*e));
-	unsigned UGID_TYPE *const s = tail_alloc(sizeof(*s));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, r);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, e);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, s);
 
 	if (syscall(SYSCALL_NR, r, e, s))
 		perror_msg_and_fail(SYSCALL_NAME);
diff --git a/tests-mx32/getresuid.gen.test b/tests-mx32/getresuid.gen.test
new file mode 100755
index 0000000..e947a94
--- /dev/null
+++ b/tests-mx32/getresuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresuid -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests-mx32/getresuid.test b/tests-mx32/getresuid.test
deleted file mode 100755
index eee1ac0..0000000
--- a/tests-mx32/getresuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests-mx32/getresuid32.gen.test b/tests-mx32/getresuid32.gen.test
new file mode 100755
index 0000000..b088a22
--- /dev/null
+++ b/tests-mx32/getresuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresuid32 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/getresuid32.test b/tests-mx32/getresuid32.test
deleted file mode 100755
index fdc76a3..0000000
--- a/tests-mx32/getresuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/getrlimit.gen.test b/tests-mx32/getrlimit.gen.test
new file mode 100755
index 0000000..b97c176
--- /dev/null
+++ b/tests-mx32/getrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrlimit -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/getrlimit.test b/tests-mx32/getrlimit.test
deleted file mode 100755
index 6fd88ae..0000000
--- a/tests-mx32/getrlimit.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getrlimit syscall.
-
-. "${srcdir=.}/setrlimit.test"
diff --git a/tests-mx32/getrusage.c b/tests-mx32/getrusage.c
index 8b76eff..bb52dd9 100644
--- a/tests-mx32/getrusage.c
+++ b/tests-mx32/getrusage.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2016 Fei Jie <feij.fnst@cn.fujitsu.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,27 +36,46 @@
 # include <stdint.h>
 # include <sys/resource.h>
 # include <unistd.h>
+# include <errno.h>
+
+# include "xlat.h"
+# include "xlat/usagewho.h"
 
 int
-main(void)
+invoke_print(int who, const char *who_str, struct rusage *usage)
 {
-	struct rusage *const usage = tail_alloc(sizeof(struct rusage));
-	int rc = syscall(__NR_getrusage, RUSAGE_SELF, usage);
-	printf("getrusage(RUSAGE_SELF, {ru_utime={tv_sec=%jd, tv_usec=%jd}"
-	       ", ru_stime={tv_sec=%jd, tv_usec=%jd}, ru_maxrss=%lu"
+	int rc = syscall(__NR_getrusage, who, usage);
+	int saved_errno = errno;
+	printf("getrusage(%s, {ru_utime={tv_sec=%lld, tv_usec=%llu}"
+	       ", ru_stime={tv_sec=%lld, tv_usec=%llu}, 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",
-	       (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,
+	       ", ru_nsignals=%lu, ru_nvcsw=%lu, ru_nivcsw=%lu}) = %s\n",
+	       who_str,
+	       (long long) usage->ru_utime.tv_sec,
+	       zero_extend_signed_to_ull(usage->ru_utime.tv_usec),
+	       (long long) usage->ru_stime.tv_sec,
+	       zero_extend_signed_to_ull(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,
 	       usage->ru_msgsnd, usage->ru_msgrcv, usage->ru_nsignals,
-	       usage->ru_nvcsw, usage->ru_nivcsw, rc);
+	       usage->ru_nvcsw, usage->ru_nivcsw, sprintrc(rc));
+	errno = saved_errno;
+	return rc;
+}
+
+int
+main(void)
+{
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, usage);
+	if (invoke_print(ARG_STR(RUSAGE_SELF), usage)) {
+		perror_msg_and_fail("RUSAGE_SELF");
+	}
+	if (invoke_print(ARG_STR(RUSAGE_THREAD), usage) && errno != EINVAL) {
+		perror_msg_and_fail("RUSAGE_THREAD");
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/getrusage.gen.test b/tests-mx32/getrusage.gen.test
new file mode 100755
index 0000000..c4fb182
--- /dev/null
+++ b/tests-mx32/getrusage.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrusage -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v
diff --git a/tests-mx32/getrusage.test b/tests-mx32/getrusage.test
deleted file mode 100755
index 4a3e8ed..0000000
--- a/tests-mx32/getrusage.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getrusage syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v
diff --git a/tests-mx32/getsid.gen.test b/tests-mx32/getsid.gen.test
new file mode 100755
index 0000000..123f177
--- /dev/null
+++ b/tests-mx32/getsid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getsid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/getsid.test b/tests-mx32/getsid.test
deleted file mode 100755
index 3fcf979..0000000
--- a/tests-mx32/getsid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getsid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-mx32/getsockname.gen.test b/tests-mx32/getsockname.gen.test
new file mode 100755
index 0000000..cd40d3e
--- /dev/null
+++ b/tests-mx32/getsockname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getsockname -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/getsockname.test b/tests-mx32/getsockname.test
deleted file mode 100755
index 99b2850..0000000
--- a/tests-mx32/getsockname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getsockname syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/gettid.c b/tests-mx32/gettid.c
new file mode 100644
index 0000000..9b13eb8
--- /dev/null
+++ b/tests-mx32/gettid.c
@@ -0,0 +1,12 @@
+#include "tests.h"
+#include <stdio.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+	printf("gettid() = %ld\n", syscall(__NR_gettid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-mx32/gettid.gen.test b/tests-mx32/gettid.gen.test
new file mode 100755
index 0000000..1ceaa53
--- /dev/null
+++ b/tests-mx32/gettid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (gettid -a9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a9
diff --git a/tests-mx32/getuid.test b/tests-mx32/getuid.test
index 9aaf74b..0bad1ff 100755
--- a/tests-mx32/getuid.test
+++ b/tests-mx32/getuid.test
@@ -9,4 +9,3 @@
 run_strace -qq -a9 -e$NAME $args > "$EXP"
 uniq < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$OUT" "$EXP"
diff --git a/tests-mx32/getuid32.gen.test b/tests-mx32/getuid32.gen.test
new file mode 100755
index 0000000..ac0d0ad
--- /dev/null
+++ b/tests-mx32/getuid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getuid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getuid32.test b/tests-mx32/getuid32.test
deleted file mode 100755
index ae0c557..0000000
--- a/tests-mx32/getuid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests-mx32/getxxid.gen.test b/tests-mx32/getxxid.gen.test
new file mode 100755
index 0000000..5aa89f6
--- /dev/null
+++ b/tests-mx32/getxxid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getxxid -a10 -e trace=getxpid,getxuid,getxgid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
diff --git a/tests-mx32/getxxid.test b/tests-mx32/getxxid.test
deleted file mode 100755
index 9b89d7c..0000000
--- a/tests-mx32/getxxid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getxpid, getxuid, and getxgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
diff --git a/tests-mx32/inet-cmsg.gen.test b/tests-mx32/inet-cmsg.gen.test
new file mode 100755
index 0000000..8eeb7c9
--- /dev/null
+++ b/tests-mx32/inet-cmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inet-cmsg -e trace=recvmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=recvmsg
diff --git a/tests-mx32/inet-cmsg.test b/tests-mx32/inet-cmsg.test
deleted file mode 100755
index 52ff5f5..0000000
--- a/tests-mx32/inet-cmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check IPPROTO_IP control messages decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmsg
diff --git a/tests-mx32/init.sh b/tests-mx32/init.sh
index f368b98..2844765 100644
--- a/tests-mx32/init.sh
+++ b/tests-mx32/init.sh
@@ -1,6 +1,7 @@
 #!/bin/sh
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -26,10 +27,9 @@
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 ME_="${0##*/}"
-LOG="$ME_.tmp"
-OUT="$LOG.out"
-EXP="$LOG.exp"
-NAME="${ME_%.test}"
+LOG="log"
+OUT="out"
+EXP="exp"
 
 warn_() { printf >&2 '%s\n' "$*"; }
 fail_() { warn_ "$ME_: failed test: $*"; exit 1; }
@@ -52,7 +52,7 @@
 run_prog()
 {
 	if [ $# -eq 0 ]; then
-		set -- "./$NAME"
+		set -- "../$NAME"
 	fi
 	args="$*"
 	"$@" || {
@@ -72,6 +72,20 @@
 	"$@" || framework_skip_ "$args failed with code $?"
 }
 
+try_run_prog()
+{
+	local rc
+
+	"$@" > /dev/null || {
+		rc=$?
+		if [ $rc -eq 77 ]; then
+			return 1
+		else
+			fail_ "$* failed with code $rc"
+		fi
+	}
+}
+
 run_strace()
 {
 	> "$LOG" || fail_ "failed to write $LOG"
@@ -213,7 +227,6 @@
 	run_prog > /dev/null
 	run_strace "$@" $args > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 # Print kernel version code.
@@ -250,22 +263,110 @@
 	cat < "/proc/$pid/status" | grep "$@"
 }
 
+# Subtracts one program set from another.
+# If an optional regular expression is specified, the lines in the minuend file
+# that match this regular expression are elso excluded from the output.
+#
+# Usage: prog_set_subtract minuend_file subtrahend_file [subtrahend_regexp]
+prog_set_subtract()
+{
+	local min sub re pat
+	min="$1"; shift
+	sub="$1"; shift
+	re="${1-}"
+	pat="$re|$(sed 's/[[:space:]].*//' < "$sub" | tr -s '\n' '|')"
+	grep -E -v -x -e "$pat" < "$min"
+}
+
+# Usage: test_pure_prog_set [--expfile FILE] COMMON_ARGS < tests_file
+# stdin should consist of lines in "test_name strace_args..." format.
+test_pure_prog_set()
+{
+	local expfile
+
+	expfile="$EXP"
+
+	while [ -n "$1" ]; do
+		case "$1" in
+		--expfile)
+			shift
+			expfile="$1"
+			shift
+			;;
+		*)
+			break
+			;;
+		esac
+	done
+
+	while read -r t prog_args; do {
+		# skip lines beginning with "#" symbol
+		[ "${t###}" = "$t" ] || continue
+
+		try_run_prog "../$t" || continue
+		run_strace $prog_args "$@" "../$t" > "$expfile"
+		match_diff "$LOG" "$expfile"
+	} < /dev/null; done
+}
+
+# Run strace against list of programs put in "$NAME.in" and then against the
+# rest of pure_executables.list with the expectation of empty output in the
+# latter case.
+#
+# Usage: source this file after init.sh and call:
+#   test_trace_expr subtrahend_regexp strace_args
+# Environment:
+#   $NAME:	test name, used for "$NAME.in" file containing list of tests
+#		for positive trace expression match;
+#   $srcdir:	used to find pure_executables.list and "$NAME.in" files.
+# Files created:
+#   negative.list: File containing list of tests for negative match.
+test_trace_expr()
+{
+	local subtrahend_regexp
+	subtrahend_regexp="$1"; shift
+	test_pure_prog_set "$@" < "$srcdir/$NAME.in"
+	prog_set_subtract "$srcdir/pure_executables.list" "$srcdir/$NAME.in" \
+		"$subtrahend_regexp" > negative.list
+	test_pure_prog_set --expfile /dev/null -qq -esignal=none "$@" \
+		< negative.list
+}
+
 check_prog cat
 check_prog rm
 
-rm -f "$LOG"
+case "$ME_" in
+	*.gen.test) NAME="${ME_%.gen.test}" ;;
+	*.test) NAME="${ME_%.test}" ;;
+	*) NAME=
+esac
 
-[ -n "${STRACE-}" ] || {
-	STRACE=../strace
-	case "${LOG_COMPILER-} ${LOG_FLAGS-}" in
-		*--suppressions=*--error-exitcode=*--tool=*)
+if [ -n "$NAME" ]; then
+	TESTDIR="$NAME.dir"
+	rm -rf -- "$TESTDIR"
+	mkdir -- "$TESTDIR"
+	cd "$TESTDIR"
+
+	case "$srcdir" in
+		/*) ;;
+		*) srcdir="../$srcdir" ;;
+	esac
+
+	[ -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
-}
+		esac
+	}
+else
+	[ -n "${STRACE-}" ] ||
+		STRACE=../strace
+fi
 
-: "${TIMEOUT_DURATION:=60}"
+: "${TIMEOUT_DURATION:=120}"
 : "${SLEEP_A_BIT:=sleep 1}"
 
 [ -z "${VERBOSE-}" ] ||
diff --git a/tests-mx32/init_delete_module.h b/tests-mx32/init_delete_module.h
index db550c3..cabf26f 100644
--- a/tests-mx32/init_delete_module.h
+++ b/tests-mx32/init_delete_module.h
@@ -3,6 +3,7 @@
  * and delete_module tests.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,9 +43,6 @@
 	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)
 {
diff --git a/tests-mx32/init_module.c b/tests-mx32/init_module.c
index 88ef9ec..8fbb263 100644
--- a/tests-mx32/init_module.c
+++ b/tests-mx32/init_module.c
@@ -2,6 +2,7 @@
  * Check decoding of init_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,9 +56,9 @@
 	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);
+	rc = syscall(__NR_init_module, NULL, F8ILL_KULONG_MASK, NULL);
 	printf("init_module(NULL, %llu, NULL) = %s\n",
-	       (unsigned long long) bogus_zero, sprintrc(rc));
+	       (unsigned long long) F8ILL_KULONG_MASK, sprintrc(rc));
 
 	rc = syscall(__NR_init_module, bogus_addr, 0, bogus_param1);
 	errstr = sprintrc(rc);
diff --git a/tests-mx32/init_module.gen.test b/tests-mx32/init_module.gen.test
new file mode 100755
index 0000000..8948e2e
--- /dev/null
+++ b/tests-mx32/init_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (init_module -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/init_module.test b/tests-mx32/init_module.test
deleted file mode 100755
index ef7c732..0000000
--- a/tests-mx32/init_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of init_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/inotify.gen.test b/tests-mx32/inotify.gen.test
new file mode 100755
index 0000000..7010206
--- /dev/null
+++ b/tests-mx32/inotify.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inotify -a23 -e trace=inotify_add_watch,inotify_rm_watch); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=inotify_add_watch,inotify_rm_watch
diff --git a/tests-mx32/inotify.test b/tests-mx32/inotify.test
deleted file mode 100755
index 436f3bc..0000000
--- a/tests-mx32/inotify.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/inotify_init1.gen.test b/tests-mx32/inotify_init1.gen.test
new file mode 100755
index 0000000..d847b50
--- /dev/null
+++ b/tests-mx32/inotify_init1.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inotify_init1 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/inotify_init1.test b/tests-mx32/inotify_init1.test
deleted file mode 100755
index 1a7c926..0000000
--- a/tests-mx32/inotify_init1.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of inotify_init1 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/int_0x80.c b/tests-mx32/int_0x80.c
new file mode 100644
index 0000000..012694f
--- /dev/null
+++ b/tests-mx32/int_0x80.c
@@ -0,0 +1,52 @@
+/*
+ * Check decoding of int 0x80 on x86_64, x32, and x86.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 __x86_64__ || defined __i386__
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	/* 200 is __NR_getgid32 on x86 and __NR_tkill on x86_64. */
+	__asm__("movl $200, %eax; int $0x80");
+	printf("getgid32() = %d\n", getegid());
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__x86_64__ || __i386__")
+
+#endif
diff --git a/tests-mx32/int_0x80.gen.test b/tests-mx32/int_0x80.gen.test
new file mode 100755
index 0000000..2ab4f2f
--- /dev/null
+++ b/tests-mx32/int_0x80.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (int_0x80 -a11 -e trace=getgid32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=getgid32
diff --git a/tests-mx32/ioctl-v.sh b/tests-mx32/ioctl-v.sh
new file mode 100755
index 0000000..be89671
--- /dev/null
+++ b/tests-mx32/ioctl-v.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check non-abbreviated decoding of ioctls.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a16 -v -eioctl $args > "$EXP"
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
diff --git a/tests-mx32/ioctl.c b/tests-mx32/ioctl.c
index 92a3191..5dc0864 100644
--- a/tests-mx32/ioctl.c
+++ b/tests-mx32/ioctl.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/ioctl.test b/tests-mx32/ioctl.test
index 94bc5d4..1eb469e 100755
--- a/tests-mx32/ioctl.test
+++ b/tests-mx32/ioctl.test
@@ -4,12 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 run_prog > /dev/null
 run_strace -a16 -eioctl $args > "$EXP"
-check_prog grep
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-mx32/ioctl_block.c b/tests-mx32/ioctl_block.c
index f62b0b3..8e883d4 100644
--- a/tests-mx32/ioctl_block.c
+++ b/tests-mx32/ioctl_block.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_block strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -113,7 +114,7 @@
 	ioctl(-1, BLKFRASET, lmagic);
 	printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic);
 
-	int *const val_int = tail_alloc(sizeof(*val_int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
 	*val_int = magic;
 
 	ioctl(-1, BLKROSET, val_int);
@@ -144,7 +145,7 @@
 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
 #endif
 
-	struct blkpg_ioctl_arg *const blkpg = tail_alloc(sizeof(*blkpg));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blkpg_ioctl_arg, blkpg);
 	blkpg->op = 3;
 	blkpg->flags = 0xdeadbeef;
 	blkpg->datalen = 0xbadc0ded;
@@ -156,7 +157,7 @@
 	       "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen,
 	       (unsigned long) blkpg->data);
 
-	struct blkpg_partition *const bp = tail_alloc(sizeof(*bp));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blkpg_partition, bp);
 	bp->start = 0xfac1fed2dad3bef4ULL;
 	bp->length = 0xfac5fed6dad7bef8ULL;
 	bp->pno = magic;
@@ -177,7 +178,7 @@
 	       (int) sizeof(bp->volname) - 1, bp->volname);
 
 #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP
-	struct blk_user_trace_setup *const buts = tail_alloc(sizeof(*buts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts);
 	fill_memory(buts, sizeof(*buts));
 
 	ioctl(-1, BLKTRACESETUP, buts);
diff --git a/tests-mx32/ioctl_block.gen.test b/tests-mx32/ioctl_block.gen.test
new file mode 100755
index 0000000..0ffec6f
--- /dev/null
+++ b/tests-mx32/ioctl_block.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_block +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_block.test b/tests-mx32/ioctl_block.test
deleted file mode 100755
index 0bf2500..0000000
--- a/tests-mx32/ioctl_block.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of BLK* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_dm-v.test b/tests-mx32/ioctl_dm-v.test
index ade3b9e..eed37c2 100755
--- a/tests-mx32/ioctl_dm-v.test
+++ b/tests-mx32/ioctl_dm-v.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-mx32/ioctl_dm.c b/tests-mx32/ioctl_dm.c
index 08f036c..544d70b 100644
--- a/tests-mx32/ioctl_dm.c
+++ b/tests-mx32/ioctl_dm.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Mikulas Patocka <mpatocka@redhat.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -234,15 +235,15 @@
 	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 */ ...}) = "
+	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");
+	printf("ioctl(-1, DM_VERSION, {version=4.1.2, data_size=14"
+	       " /* data_size too small */}) = -1 EBADF (%m)\n");
 
 	/* Unterminated name/uuid */
 	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
@@ -395,8 +396,8 @@
 	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
 	       "target_count=1234, flags=0, "
 # if VERBOSE
-	       "/* misplaced struct dm_target_spec */ ..."
-# else /* !VERBOSE */
+	       "??? /* misplaced struct dm_target_spec */"
+# else
 	       "..."
 # endif /* VERBOSE */
 	       "}) = -1 EBADF (%m)\n", sizeof(*dm_arg), 0xfffffff8);
@@ -491,7 +492,7 @@
 	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 */ ...");
+	printf("\"\\1\\2\"}, ??? /* misplaced struct dm_target_spec */");
 # else /* !VERBOSE */
 	printf("...");
 # endif /* VERBOSE */
@@ -575,7 +576,7 @@
 	       "{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 */"
+	       "??? /* misplaced struct dm_target_msg */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -590,7 +591,7 @@
 	       "{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 */"
+	       "??? /* misplaced struct dm_target_msg */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -706,7 +707,7 @@
 	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", event_nr=0, "
 	       "flags=0, "
 # if VERBOSE
-	       "/* misplaced string */"
+	       "??? /* misplaced string */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -757,10 +758,12 @@
 	       "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 */ "
+	       "{sector_start=0, length=0, target_type=\"\", string=\"\"}"
+	       ", ??? /* misplaced struct dm_target_spec */"
+# else
+	       "..."
 # endif /* VERBOSE */
-	       "...}) = -1 EBADF (%m)\n",
+	       "}) = -1 EBADF (%m)\n",
 	       s.ioc.data_size, s.ioc.data_start);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-mx32/ioctl_dm.test b/tests-mx32/ioctl_dm.test
index 6485205..e9cca03 100755
--- a/tests-mx32/ioctl_dm.test
+++ b/tests-mx32/ioctl_dm.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-mx32/ioctl_evdev-v.gen.test b/tests-mx32/ioctl_evdev-v.gen.test
new file mode 100755
index 0000000..fc7e2f0
--- /dev/null
+++ b/tests-mx32/ioctl_evdev-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_evdev-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests-mx32/ioctl_evdev-v.test b/tests-mx32/ioctl_evdev-v.test
deleted file mode 100755
index 8794101..0000000
--- a/tests-mx32/ioctl_evdev-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding EVIOC* ioctls.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
-check_prog grep
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/ioctl_evdev.c b/tests-mx32/ioctl_evdev.c
index d12323e..6cbc09f 100644
--- a/tests-mx32/ioctl_evdev.c
+++ b/tests-mx32/ioctl_evdev.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_evdev strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -148,7 +149,7 @@
 	void *const page = tail_alloc(size);
 	fill_memory(page, size);
 
-	int *const val_int = tail_alloc(sizeof(*val_int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
 	*val_int = magic;
 
 # ifdef EVIOCSCLOCKID
@@ -172,7 +173,7 @@
 	       pair_int[0], "KEY_ESC");
 
 # ifdef EVIOCSKEYCODE_V2
-	struct input_keymap_entry *const ike = tail_alloc(sizeof(*ike));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct input_keymap_entry, ike);
 	fill_memory(ike, sizeof(*ike));
 	ike->keycode = 2;
 
@@ -196,7 +197,7 @@
 	printf("}) = -1 EBADF (%m)\n");
 # endif
 
-	struct ff_effect *const ffe = tail_alloc(sizeof(*ffe));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ff_effect, ffe);
 	fill_memory(ffe, sizeof(*ffe));
 
 	ffe->type = FF_CONSTANT;
diff --git a/tests-mx32/ioctl_evdev.gen.test b/tests-mx32/ioctl_evdev.gen.test
new file mode 100755
index 0000000..26f0a28
--- /dev/null
+++ b/tests-mx32/ioctl_evdev.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_evdev +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_evdev.test b/tests-mx32/ioctl_evdev.test
deleted file mode 100755
index 7ed2e98..0000000
--- a/tests-mx32/ioctl_evdev.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of EVIOC* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_loop-nv.test b/tests-mx32/ioctl_loop-nv.test
index dcc27e1..7d59cc2 100755
--- a/tests-mx32/ioctl_loop-nv.test
+++ b/tests-mx32/ioctl_loop-nv.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-mx32/ioctl_loop-v.gen.test b/tests-mx32/ioctl_loop-v.gen.test
new file mode 100755
index 0000000..7fd9f66
--- /dev/null
+++ b/tests-mx32/ioctl_loop-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_loop-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests-mx32/ioctl_loop-v.test b/tests-mx32/ioctl_loop-v.test
deleted file mode 100755
index ff3995d..0000000
--- a/tests-mx32/ioctl_loop-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/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-mx32/ioctl_loop.c b/tests-mx32/ioctl_loop.c
index a95e775..4dcbf9a 100644
--- a/tests-mx32/ioctl_loop.c
+++ b/tests-mx32/ioctl_loop.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@gmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -175,8 +176,8 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info, info);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info64, info64);
 
 	/* Unknown loop commands */
 	ioctl(-1, unknown_loop_cmd, magic);
diff --git a/tests-mx32/ioctl_loop.gen.test b/tests-mx32/ioctl_loop.gen.test
new file mode 100755
index 0000000..f7aee8e
--- /dev/null
+++ b/tests-mx32/ioctl_loop.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_loop +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_loop.test b/tests-mx32/ioctl_loop.test
deleted file mode 100755
index 112cd63..0000000
--- a/tests-mx32/ioctl_loop.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/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-mx32/ioctl_mtd.c b/tests-mx32/ioctl_mtd.c
index a37d5d0..71d0c0d 100644
--- a/tests-mx32/ioctl_mtd.c
+++ b/tests-mx32/ioctl_mtd.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_mtd strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -95,13 +96,13 @@
 	ioctl(-1, MTDFILEMODE, MTD_FILE_MODE_NORMAL);
 	printf("ioctl(-1, MTDFILEMODE, MTD_FILE_MODE_NORMAL) = -1 EBADF (%m)\n");
 
-	int *const opt = tail_alloc(sizeof(*opt));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, opt);
 	*opt = MTD_OTP_OFF;
 	ioctl(-1, OTPSELECT, opt);
 	printf("ioctl(-1, MIXER_READ(%u) or OTPSELECT, [MTD_OTP_OFF])"
 	       " = -1 EBADF (%m)\n", (unsigned int) _IOC_NR(OTPSELECT));
 
-	uint64_t *const v64 = tail_alloc(sizeof(*v64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, v64);
 	fill_memory(v64, sizeof(*v64));
 
 	ioctl(-1, MEMGETBADBLOCK, v64);
@@ -114,7 +115,7 @@
 	       " = -1 EBADF (%m)\n",
 	       (unsigned int) _IOC_NR(MEMSETBADBLOCK), *v64);
 
-	struct region_info_user *const riu = tail_alloc(sizeof(*riu));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct region_info_user, riu);
 	fill_memory(riu, sizeof(*riu));
 	ioctl(-1, MEMGETREGIONINFO, riu);
 	printf("ioctl(-1, %s, {regionindex=%#x}) = -1 EBADF (%m)\n",
@@ -124,7 +125,7 @@
 #endif
 	       , riu->regionindex);
 
-	struct erase_info_user *const eiu = tail_alloc(sizeof(*eiu));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct erase_info_user, eiu);
 	fill_memory(eiu, sizeof(*eiu));
 
 	TEST_erase_info_user(MEMERASE, eiu);
@@ -132,7 +133,7 @@
 	TEST_erase_info_user(MEMUNLOCK, eiu);
 	TEST_erase_info_user(MEMISLOCKED, eiu);
 
-	struct erase_info_user64 *const eiu64 = tail_alloc(sizeof(*eiu64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct erase_info_user64, eiu64);
 	fill_memory(eiu64, sizeof(*eiu64));
 	ioctl(-1, MEMERASE64, eiu64);
 	printf("ioctl(-1, MIXER_WRITE(%u) or %s, {start=%#llx, length=%#llx})"
@@ -141,7 +142,7 @@
 	       (unsigned long long) eiu64->start,
 	       (unsigned long long) eiu64->length);
 
-	struct mtd_oob_buf *const oob = tail_alloc(sizeof(*oob));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_oob_buf, oob);
 	fill_memory(oob, sizeof(*oob));
 
 	ioctl(-1, MEMWRITEOOB, oob);
@@ -152,7 +153,7 @@
 	printf("ioctl(-1, MEMREADOOB, {start=%#x, length=%#x, ptr=%p})"
 	       " = -1 EBADF (%m)\n", oob->start, oob->length, oob->ptr);
 
-	struct mtd_oob_buf64 *const oob64 = tail_alloc(sizeof(*oob64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_oob_buf64, oob64);
 	fill_memory(oob64, sizeof(*oob64));
 
 	ioctl(-1, MEMWRITEOOB64, oob64);
@@ -168,14 +169,14 @@
 	       (unsigned long long) oob64->usr_ptr);
 
 
-	struct otp_info *const oi = tail_alloc(sizeof(*oi));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct otp_info, 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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_write_req, wr);
 	fill_memory(wr, sizeof(*wr));
 	wr->mode = MTD_OPS_PLACE_OOB;
 	ioctl(-1, MEMWRITE, wr);
diff --git a/tests-mx32/ioctl_mtd.gen.test b/tests-mx32/ioctl_mtd.gen.test
new file mode 100755
index 0000000..cbc3104
--- /dev/null
+++ b/tests-mx32/ioctl_mtd.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_mtd +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_mtd.test b/tests-mx32/ioctl_mtd.test
deleted file mode 100755
index 0842807..0000000
--- a/tests-mx32/ioctl_mtd.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of 'M' type ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_nsfs.c b/tests-mx32/ioctl_nsfs.c
new file mode 100644
index 0000000..b2dbd1b
--- /dev/null
+++ b/tests-mx32/ioctl_nsfs.c
@@ -0,0 +1,145 @@
+/*
+ * Check decoding of NS_* commands of ioctl syscall.
+ *
+ * Copyright (c) 2017 Nikolay Marchuk <marchuk.nikolay.a@gmail.com>
+ * 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 <fcntl.h>
+#include <sched.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include "nsfs.h"
+
+#ifndef CLONE_NEWUSER
+# define CLONE_NEWUSER 0x10000000
+#endif
+
+static void
+test_no_namespace(void)
+{
+	ioctl(-1, NS_GET_USERNS);
+	printf("ioctl(-1, NS_GET_USERNS) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_PARENT);
+	printf("ioctl(-1, NS_GET_PARENT) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_NSTYPE);
+	printf("ioctl(-1, NS_GET_NSTYPE) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_OWNER_UID, NULL);
+	printf("ioctl(-1, NS_GET_OWNER_UID, NULL) = -1 EBADF (%m)\n");
+}
+
+static void
+test_clone(pid_t pid)
+{
+	char path[sizeof("/proc/%d/ns/user") + sizeof(int)*3];
+	snprintf(path, sizeof(path), "/proc/%d/ns/user", pid);
+
+	int ns_fd = open(path, O_RDONLY);
+	if (ns_fd == -1)
+		perror_msg_and_skip("open: %s", path);
+
+	int userns_fd = ioctl(ns_fd, NS_GET_USERNS);
+	printf("ioctl(%d, NS_GET_USERNS) = %s\n", ns_fd, sprintrc(userns_fd));
+
+	int parent_ns_fd = ioctl(userns_fd, NS_GET_PARENT);
+	printf("ioctl(%d, NS_GET_PARENT) = %s\n",
+	       userns_fd, sprintrc(parent_ns_fd));
+
+	int nstype = ioctl(userns_fd, NS_GET_NSTYPE);
+	if (nstype == -1) {
+		printf("ioctl(%d, NS_GET_NSTYPE) = %s\n",
+		       userns_fd, sprintrc(nstype));
+	} else {
+		printf("ioctl(%d, NS_GET_NSTYPE) = %d (CLONE_NEWUSER)\n",
+		       userns_fd, nstype);
+	}
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, uid);
+	int rc = ioctl(userns_fd, NS_GET_OWNER_UID, uid);
+	if (rc == -1) {
+		printf("ioctl(%d, NS_GET_OWNER_UID, %p) = %s\n",
+		       userns_fd, uid, sprintrc(rc));
+	} else {
+		printf("ioctl(%d, NS_GET_OWNER_UID, [%u]) = %d\n",
+		       userns_fd, *uid, rc);
+	}
+}
+
+static int
+child(void *arg)
+{
+	int *pipefd = (int *) arg;
+	close(pipefd[1]);
+	/* Wait for EOF from pipe. */
+	if (read(pipefd[0], &pipefd[1], 1))
+		perror_msg_and_fail("read");
+	return 0;
+}
+
+#ifdef IA64
+extern int __clone2(int (*)(void *), void *, size_t, int, void *, ...);
+# define clone(fn, child_stack, flags, arg)	\
+		__clone2(fn, child_stack, get_page_size() / 2, flags, arg)
+#endif
+
+static void
+test_user_namespace(void)
+{
+	pid_t pid;
+	int pipefd[2];
+	int status;
+
+	if (pipe(pipefd))
+		perror_msg_and_fail("pipe");
+
+	pid = clone(child, tail_alloc(get_page_size() / 2),
+		    CLONE_NEWUSER | CLONE_UNTRACED | SIGCHLD, pipefd);
+	if (pid == -1) {
+		perror("clone");
+		return;
+	}
+	close(pipefd[0]);
+	test_clone(pid);
+	close(pipefd[1]);
+	if (wait(&status) != pid) {
+		perror_msg_and_fail("wait");
+	} else if (status != 0) {
+		error_msg_and_fail("unexpected child exit status %d", status);
+	}
+}
+
+int
+main(void)
+{
+	test_no_namespace();
+	test_user_namespace();
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-mx32/ioctl_nsfs.test b/tests-mx32/ioctl_nsfs.test
new file mode 100755
index 0000000..acdfb61
--- /dev/null
+++ b/tests-mx32/ioctl_nsfs.test
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check decoding of NS_* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a16 -eioctl -esignal=none $args > "$EXP"
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
diff --git a/tests-mx32/ioctl_rtc-v.gen.test b/tests-mx32/ioctl_rtc-v.gen.test
new file mode 100755
index 0000000..b534a02
--- /dev/null
+++ b/tests-mx32/ioctl_rtc-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_rtc-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests-mx32/ioctl_rtc-v.test b/tests-mx32/ioctl_rtc-v.test
deleted file mode 100755
index a255322..0000000
--- a/tests-mx32/ioctl_rtc-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of RTC_* ioctls.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
-check_prog grep
-grep -v '^ioctl([012],' < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/ioctl_rtc.c b/tests-mx32/ioctl_rtc.c
index 49d7ec7..466a1d3 100644
--- a/tests-mx32/ioctl_rtc.c
+++ b/tests-mx32/ioctl_rtc.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_rtc strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,13 +74,13 @@
 	void *const page = tail_alloc(size);
 	fill_memory(page, size);
 
-	struct rtc_time *rt = tail_alloc(sizeof(*rt));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_time, rt);
 	fill_memory(rt, sizeof(*rt));
 
-	struct rtc_wkalrm *wk = tail_alloc(sizeof(*wk));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_wkalrm, wk);
 	fill_memory(wk, sizeof(*wk));
 
-	struct rtc_pll_info *pll = tail_alloc(sizeof(*pll));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_pll_info, pll);
 	fill_memory(pll, sizeof(*pll));
 
 	/* RTC_ALM_READ */
diff --git a/tests-mx32/ioctl_rtc.gen.test b/tests-mx32/ioctl_rtc.gen.test
new file mode 100755
index 0000000..e430a82
--- /dev/null
+++ b/tests-mx32/ioctl_rtc.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_rtc +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_rtc.test b/tests-mx32/ioctl_rtc.test
deleted file mode 100755
index 4545f2a..0000000
--- a/tests-mx32/ioctl_rtc.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic decoding of RTC_* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_scsi.c b/tests-mx32/ioctl_scsi.c
index 0db94d8..a9ecf28 100644
--- a/tests-mx32/ioctl_scsi.c
+++ b/tests-mx32/ioctl_scsi.c
@@ -69,7 +69,7 @@
 int
 main(void)
 {
-	int *const pint = tail_alloc(sizeof(*pint));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, pint);
 	*pint = (int) 0xfacefeed;
 
 	TEST_NO_ARG(SG_GET_TIMEOUT);
diff --git a/tests-mx32/ioctl_scsi.gen.test b/tests-mx32/ioctl_scsi.gen.test
new file mode 100755
index 0000000..23ac307
--- /dev/null
+++ b/tests-mx32/ioctl_scsi.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_scsi +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_scsi.test b/tests-mx32/ioctl_scsi.test
deleted file mode 100755
index 2710f12..0000000
--- a/tests-mx32/ioctl_scsi.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Check decoding of SCSI ioctl commands.
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_sg_io_v3.c b/tests-mx32/ioctl_sg_io_v3.c
index ef25795..3808b20 100644
--- a/tests-mx32/ioctl_sg_io_v3.c
+++ b/tests-mx32/ioctl_sg_io_v3.c
@@ -43,7 +43,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sg_io_hdr, sg_io);
 	fill_memory(sg_io, sizeof(*sg_io));
 
 	const void *const efault = sg_io + 1;
@@ -53,7 +53,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, 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);
diff --git a/tests-mx32/ioctl_sg_io_v3.gen.test b/tests-mx32/ioctl_sg_io_v3.gen.test
new file mode 100755
index 0000000..e7e5ea5
--- /dev/null
+++ b/tests-mx32/ioctl_sg_io_v3.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_sg_io_v3 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_sg_io_v3.test b/tests-mx32/ioctl_sg_io_v3.test
deleted file mode 100755
index dacacdf..0000000
--- a/tests-mx32/ioctl_sg_io_v3.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ioctl SG_IO v3 commands.
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_sg_io_v4.c b/tests-mx32/ioctl_sg_io_v4.c
index 5f899ee..9c1e9fa 100644
--- a/tests-mx32/ioctl_sg_io_v4.c
+++ b/tests-mx32/ioctl_sg_io_v4.c
@@ -45,7 +45,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sg_io_v4, sg_io);
 	fill_memory(sg_io, sizeof(*sg_io));
 
 	const void *const efault = sg_io + 1;
@@ -55,7 +55,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, pguard);
 	*pguard = (unsigned char) 'Q';
 	ioctl(-1, SG_IO, pguard);
 	printf("ioctl(-1, SG_IO, {guard='Q', %p}) = -1 EBADF (%m)\n", pguard + 1);
diff --git a/tests-mx32/ioctl_sg_io_v4.gen.test b/tests-mx32/ioctl_sg_io_v4.gen.test
new file mode 100755
index 0000000..575ad96
--- /dev/null
+++ b/tests-mx32/ioctl_sg_io_v4.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_sg_io_v4 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_sg_io_v4.test b/tests-mx32/ioctl_sg_io_v4.test
deleted file mode 100755
index 2556722..0000000
--- a/tests-mx32/ioctl_sg_io_v4.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ioctl SG_IO v4 commands.
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_sock_gifconf.c b/tests-mx32/ioctl_sock_gifconf.c
index ae0bea4..f81faef 100644
--- a/tests-mx32/ioctl_sock_gifconf.c
+++ b/tests-mx32/ioctl_sock_gifconf.c
@@ -2,6 +2,7 @@
  * Check decoding of SIOCGIFCONF command of ioctl syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -134,7 +135,7 @@
 main(int argc, char *argv[])
 {
 	struct ifreq *ifr = tail_alloc(2 * sizeof(*ifr));
-	struct ifconf *ifc = tail_alloc(sizeof(*ifc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ifconf, ifc);
 
 	struct sockaddr_in addr;
 	int fd;
diff --git a/tests-mx32/ioctl_sock_gifconf.test b/tests-mx32/ioctl_sock_gifconf.test
index 2e2fc01..22d7ea4 100755
--- a/tests-mx32/ioctl_sock_gifconf.test
+++ b/tests-mx32/ioctl_sock_gifconf.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-mx32/ioctl_uffdio.c b/tests-mx32/ioctl_uffdio.c
index 10b8b84..c98e4a0 100644
--- a/tests-mx32/ioctl_uffdio.c
+++ b/tests-mx32/ioctl_uffdio.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c)      2016 Red Hat, Inc.
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,7 +55,7 @@
 		perror_msg_and_skip("userfaultfd");
 
 	/* ---- API ---- */
-	struct uffdio_api *api_struct = tail_alloc(sizeof(*api_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_api, api_struct);
 
 	/* With a bad fd */
 	memset(api_struct, 0, sizeof(*api_struct));
@@ -127,7 +128,7 @@
 	 * userfaultfd will cause us to stall.
 	 */
 	/* ---- COPY ---- */
-	struct uffdio_copy *copy_struct = tail_alloc(sizeof(*copy_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_copy, copy_struct);
 
 	memset(copy_struct, 0, sizeof(*copy_struct));
 	rc = ioctl(-1, UFFDIO_COPY, copy_struct);
@@ -148,7 +149,7 @@
 	       fd, area2, area1, pagesize, pagesize, rc);
 
 	/* ---- ZEROPAGE ---- */
-	struct uffdio_zeropage *zero_struct = tail_alloc(sizeof(*zero_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_zeropage, zero_struct);
 	madvise(area2, pagesize, MADV_DONTNEED);
 
 	memset(zero_struct, 0, sizeof(*zero_struct));
@@ -169,7 +170,7 @@
 	       fd, area2, pagesize, pagesize, rc);
 
 	/* ---- WAKE ---- */
-	struct uffdio_range *range_struct = tail_alloc(sizeof(*range_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_range, range_struct);
 	memset(range_struct, 0, sizeof(*range_struct));
 
 	rc = ioctl(-1, UFFDIO_WAKE, range_struct);
diff --git a/tests-mx32/ioctl_uffdio.gen.test b/tests-mx32/ioctl_uffdio.gen.test
new file mode 100755
index 0000000..80fd2a6
--- /dev/null
+++ b/tests-mx32/ioctl_uffdio.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_uffdio +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_uffdio.test b/tests-mx32/ioctl_uffdio.test
deleted file mode 100755
index fae9b55..0000000
--- a/tests-mx32/ioctl_uffdio.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check userfaultfd ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_v4l2.c b/tests-mx32/ioctl_v4l2.c
index af8c341..921e7a8 100644
--- a/tests-mx32/ioctl_v4l2.c
+++ b/tests-mx32/ioctl_v4l2.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,6 +57,272 @@
 
 static const unsigned int magic = 0xdeadbeef;
 
+static void
+init_v4l2_format(struct v4l2_format *const f,
+		 const unsigned int buf_type)
+{
+	memset(f, -1, sizeof(*f));
+	f->type = buf_type;
+	switch (buf_type) {
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+		f->fmt.pix.width = 0x657b8160;
+		f->fmt.pix.height = 0x951c0047;
+		f->fmt.pix.pixelformat = magic;
+		f->fmt.pix.field = V4L2_FIELD_NONE;
+		f->fmt.pix.bytesperline = 0xdf20d185;
+		f->fmt.pix.sizeimage = 0x0cf7be41;
+		f->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
+		unsigned int i;
+
+		f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+		f->fmt.pix_mp.width = 0x1f3b774b;
+		f->fmt.pix_mp.height = 0xab96a8d6;
+		f->fmt.pix_mp.pixelformat = magic;
+		f->fmt.pix_mp.field = V4L2_FIELD_NONE;
+		f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
+		struct v4l2_plane_pix_format* cur_pix =
+		       f->fmt.pix_mp.plane_fmt;
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
+		     i++) {
+			cur_pix[i].sizeimage = 0x1e3c531c | i;
+			cur_pix[i].bytesperline = 0xa983d721 | i;
+		}
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+#endif
+	case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+		f->fmt.win.w.left = 0xe8373662;
+		f->fmt.win.w.top = 0x0336d283;
+		f->fmt.win.w.width = 0x9235fe72;
+		f->fmt.win.w.height = 0xbbd886c8;
+		f->fmt.win.field = V4L2_FIELD_ANY;
+		f->fmt.win.chromakey = 0xdb1f991f;
+		f->fmt.win.clipcount = 2;
+		f->fmt.win.clips =
+			tail_alloc(sizeof(*f->fmt.win.clips) *
+			f->fmt.win.clipcount);
+		f->fmt.win.clips[0].c.left = 0x3313d36e;
+		f->fmt.win.clips[0].c.top = 0xcdffe510;
+		f->fmt.win.clips[0].c.width = 0x2064f3a8;
+		f->fmt.win.clips[0].c.height = 0xd06d314a;
+		f->fmt.win.clips[1].c.left = 0xd8c8a83f;
+		f->fmt.win.clips[1].c.top = 0x336e87ba;
+		f->fmt.win.clips[1].c.width = 0x9e3a6fb3;
+		f->fmt.win.clips[1].c.height = 0x05617b76;
+
+		f->fmt.win.bitmap = (void*) -2UL;
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		f->fmt.win.global_alpha = 0xce;
+#endif
+		break;
+	case V4L2_BUF_TYPE_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_VBI_OUTPUT:
+		f->fmt.vbi.sampling_rate = 0x3d9b5b79;
+		f->fmt.vbi.offset = 0x055b3a09;
+		f->fmt.vbi.samples_per_line = 0xf176d436;
+		f->fmt.vbi.sample_format = magic;
+		f->fmt.vbi.start[0] = 0x9858e2eb;
+		f->fmt.vbi.start[1] = 0x8a4dc8c1;
+		f->fmt.vbi.count[0] = 0x4bcf36a3;
+		f->fmt.vbi.count[1] = 0x97dff65f;
+		f->fmt.vbi.flags = V4L2_VBI_INTERLACED;
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: {
+		unsigned int i;
+
+		f->fmt.sliced.service_set = V4L2_SLICED_VPS;
+		f->fmt.sliced.io_size = 0xd897925a;
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.sliced.service_lines[0]);
+		     i++) {
+			f->fmt.sliced.service_lines[0][i] = 0xc38e | i;
+			f->fmt.sliced.service_lines[1][i] = 0x3abb | i;
+		}
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	case V4L2_BUF_TYPE_SDR_OUTPUT:
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	case V4L2_BUF_TYPE_SDR_CAPTURE:
+		f->fmt.sdr.pixelformat = magic;
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		f->fmt.sdr.buffersize = 0x25afabfb;
+#endif
+		break;
+#endif
+	}
+}
+
+static void
+dprint_ioctl_v4l2(struct v4l2_format *const f,
+		  const char* request, const unsigned int buf_type,
+		  const char* buf_type_string)
+{
+	switch (buf_type) {
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.pix={width=%u, height=%u, pixelformat="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
+		       ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.pix.width, f->fmt.pix.height,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+		       f->fmt.pix.bytesperline,
+		       f->fmt.pix.sizeimage);
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
+		unsigned int i;
+
+		printf("ioctl(-1, %s"
+		       ", {type=%s"
+		       ", fmt.pix_mp={width=%u, height=%u, pixelformat="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", field=V4L2_FIELD_NONE, colorspace="
+		       "V4L2_COLORSPACE_JPEG, plane_fmt=[",
+		       request,
+		       buf_type_string,
+		       f->fmt.pix_mp.width, f->fmt.pix_mp.height,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
+		     ++i) {
+			if (i)
+				printf(", ");
+			printf("{sizeimage=%u, bytesperline=%u}",
+			f->fmt.pix_mp.plane_fmt[i].sizeimage,
+			f->fmt.pix_mp.plane_fmt[i].bytesperline);
+		}
+		printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
+		f->fmt.pix_mp.num_planes);
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+#endif
+	case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.win={left=%d, top=%d, width=%u, height=%u"
+		       ", field=V4L2_FIELD_ANY, chromakey=%#x, clips="
+		       "[{left=%d, top=%d, width=%u, height=%u}, "
+		       "{left=%d, top=%d, width=%u, height=%u}]"
+		       ", clipcount=%u, bitmap=%p"
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		       ", global_alpha=%#x"
+#endif
+		       "}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.win.w.left, f->fmt.win.w.top,
+		       f->fmt.win.w.width, f->fmt.win.w.height,
+		       f->fmt.win.chromakey,
+		       f->fmt.win.clips[0].c.left,
+		       f->fmt.win.clips[0].c.top,
+		       f->fmt.win.clips[0].c.width,
+		       f->fmt.win.clips[0].c.height,
+		       f->fmt.win.clips[1].c.left,
+		       f->fmt.win.clips[1].c.top,
+		       f->fmt.win.clips[1].c.width,
+		       f->fmt.win.clips[1].c.height,
+		       f->fmt.win.clipcount, f->fmt.win.bitmap
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		       , f->fmt.win.global_alpha
+#endif
+		       );
+		break;
+	case V4L2_BUF_TYPE_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_VBI_OUTPUT:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.vbi={sampling_rate=%u, offset=%u"
+		       ", samples_per_line=%u, sample_format="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", start=[%u, %u], count=[%u, %u]"
+		       ", flags=V4L2_VBI_INTERLACED}})"
+		       " = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
+		       f->fmt.vbi.samples_per_line,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+		       f->fmt.vbi.start[0], f->fmt.vbi.start[1],
+		       f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: {
+		unsigned int i, j;
+
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.sliced={service_set=V4L2_SLICED_VPS"
+		       ", io_size=%u, service_lines=[",
+		       request,
+		       buf_type_string,
+		       f->fmt.sliced.io_size);
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.sliced.service_lines);
+		     i++) {
+			if (i > 0)
+				printf(", ");
+			printf("[");
+			for (j = 0;
+			     j < ARRAY_SIZE(f->fmt.sliced.service_lines[0]);
+			     j++) {
+				if (j > 0)
+					printf(", ");
+				printf("%#x",
+				       f->fmt.sliced.service_lines[i][j]);
+			}
+			printf("]");
+		}
+		printf("]}}) = -1 EBADF (%m)\n");
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	case V4L2_BUF_TYPE_SDR_OUTPUT:
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	case V4L2_BUF_TYPE_SDR_CAPTURE:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
+		       " '\\x%x', '\\x%x')"
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		       ", buffersize=%u"
+#endif
+		       "}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic)
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		       , f->fmt.sdr.buffersize
+#endif
+		       );
+		break;
+#endif
+	}
+}
+#define print_ioctl_v4l2(v4l2_format, request, buf_type) do { \
+	dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type); \
+} while (0)
+
 int
 main(void )
 {
@@ -76,7 +343,7 @@
 	ioctl(-1, VIDIOC_ENUM_FMT, 0);
 	printf("ioctl(-1, VIDIOC_ENUM_FMT, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_fmtdesc *const p_fmtdesc = tail_alloc(sizeof(*p_fmtdesc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_fmtdesc, p_fmtdesc);
 	p_fmtdesc->index = magic;
 	p_fmtdesc->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	ioctl(-1, VIDIOC_ENUM_FMT, p_fmtdesc);
@@ -88,78 +355,146 @@
 	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));
-	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_format, p_format);
 
+	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	ioctl(-1, VIDIOC_G_FMT, p_format);
 	printf("ioctl(-1, VIDIOC_G_FMT"
 	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE}) = -1 EBADF (%m)\n");
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE}) ="
+	       " -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	p_format->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY}) ="
+	       " -1 EBADF (%m)\n");
+#endif
+	p_format->type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_OVERLAY}) ="
+	       " -1 EBADF (%m)\n");
 
+	p_format->type = V4L2_BUF_TYPE_VBI_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VBI_CAPTURE}) = -1 EBADF (%m)\n");
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	p_format->type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SLICED_VBI_CAPTURE}) = -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	p_format->type = V4L2_BUF_TYPE_SDR_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SDR_CAPTURE}) = -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	p_format->type = V4L2_BUF_TYPE_SDR_OUTPUT;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SDR_OUTPUT}) = -1 EBADF (%m)\n");
+#endif
 	/* VIDIOC_S_FMT */
 	ioctl(-1, VIDIOC_S_FMT, 0);
 	printf("ioctl(-1, VIDIOC_S_FMT, NULL) = -1 EBADF (%m)\n");
 
-	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 = magic;
-	p_format->fmt.pix.field = V4L2_FIELD_NONE;
-	p_format->fmt.pix.bytesperline = 0xdad3beaf;
-	p_format->fmt.pix.sizeimage = 0xdad4beaf;
-	p_format->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
-
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT);
 	ioctl(-1, VIDIOC_S_FMT, p_format);
-	printf("ioctl(-1, VIDIOC_S_FMT, {type=V4L2_BUF_TYPE_VIDEO_OUTPUT"
-	       ", fmt.pix={width=%u, height=%u, pixelformat="
-	       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
-	       ", 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,
-	       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
-	       p_format->fmt.pix.bytesperline, p_format->fmt.pix.sizeimage);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_VIDEO_OUTPUT);
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+#endif
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OVERLAY);
 
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_VBI_CAPTURE);
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_SDR_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_OUTPUT);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_SDR_OUTPUT);
+#endif
 	/* VIDIOC_TRY_FMT */
 	ioctl(-1, VIDIOC_TRY_FMT, 0);
 	printf("ioctl(-1, VIDIOC_TRY_FMT, NULL) = -1 EBADF (%m)\n");
 
-#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
-	memset(p_format, -1, sizeof(*p_format));
-	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 = magic;
-	p_format->fmt.pix_mp.field = V4L2_FIELD_NONE;
-	p_format->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
-	unsigned int i;
-	for (i = 0; i < ARRAY_SIZE(p_format->fmt.pix_mp.plane_fmt); ++i) {
-		p_format->fmt.pix_mp.plane_fmt[i].sizeimage = 0xbadc0de0 | i;
-		p_format->fmt.pix_mp.plane_fmt[i].bytesperline = 0xdadbeaf0 | i;
-	}
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT);
 	ioctl(-1, VIDIOC_TRY_FMT, p_format);
-	printf("ioctl(-1, VIDIOC_TRY_FMT"
-	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE"
-	       ", fmt.pix_mp={width=%u, height=%u, pixelformat="
-	       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
-	       ", field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_JPEG"
-	       ", plane_fmt=[",
-	       p_format->fmt.pix_mp.width, p_format->fmt.pix_mp.height,
-	       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(", ");
-		printf("{sizeimage=%u, bytesperline=%u}",
-		       p_format->fmt.pix_mp.plane_fmt[i].sizeimage,
-		       p_format->fmt.pix_mp.plane_fmt[i].bytesperline);
-	}
-	printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
-	       p_format->fmt.pix_mp.num_planes);
-#else
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT);
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+#endif
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OVERLAY);
+
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_VBI_CAPTURE);
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_SDR_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_OUTPUT);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_SDR_OUTPUT);
+#endif
 	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", p_v4l2_format->type);
-#endif
 
 	/* VIDIOC_REQBUFS */
 	ioctl(-1, VIDIOC_REQBUFS, 0);
@@ -259,8 +594,7 @@
 	printf("ioctl(-1, VIDIOC_S_PARM, {type=%#x /* V4L2_BUF_TYPE_??? */})"
 	       " = -1 EBADF (%m)\n", p_v4l2_streamparm->type);
 
-	struct v4l2_streamparm *const p_streamparm =
-		tail_alloc(sizeof(*p_streamparm));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_streamparm, p_streamparm);
 	p_streamparm->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	p_streamparm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
 	p_streamparm->parm.capture.capturemode = V4L2_MODE_HIGHQUALITY;
@@ -339,6 +673,42 @@
 	       ", value=%d}) = -1 EBADF (%m)\n",
 	       p_v4l2_control->id, p_v4l2_control->value);
 
+	/* VIDIOC_G_TUNER */
+	ioctl(-1, VIDIOC_G_TUNER, 0);
+	printf("ioctl(-1, VIDIOC_G_TUNER, NULL) = -1 EBADF (%m)\n");
+
+	struct v4l2_tuner *const p_v4l2_tuner =
+		page + size - sizeof(*p_v4l2_tuner);
+	ioctl(-1, VIDIOC_G_TUNER, p_v4l2_tuner);
+	printf("ioctl(-1, VIDIOC_G_TUNER, {index=%u})"
+	       " = -1 EBADF (%m)\n", p_v4l2_tuner->index);
+
+	/* VIDIOC_S_TUNER */
+	ioctl(-1, VIDIOC_S_TUNER, 0);
+	printf("ioctl(-1, VIDIOC_S_TUNER, NULL) = -1 EBADF (%m)\n");
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_tuner, p_tuner);
+	p_tuner->index = 0x4fb6df39;
+	strcpy((char*)p_tuner->name, "cum tacent clamant");
+	p_tuner->type = V4L2_TUNER_RADIO;
+	p_tuner->capability = V4L2_TUNER_CAP_LOW;
+	p_tuner->rangelow = 0xa673bc29;
+	p_tuner->rangehigh = 0xbaf16d12;
+	p_tuner->rxsubchans = V4L2_TUNER_SUB_MONO;
+	p_tuner->audmode = V4L2_TUNER_MODE_MONO;
+	p_tuner->signal = 0x10bf92c8;
+	p_tuner->afc = 0x3bf7e18b;
+	ioctl(-1, VIDIOC_S_TUNER, p_tuner);
+	printf("ioctl(-1, VIDIOC_S_TUNER, {index=%u"
+	       ", name=\"cum tacent clamant\""
+	       ", type=V4L2_TUNER_RADIO, capability=V4L2_TUNER_CAP_LOW"
+	       ", rangelow=%u, rangehigh=%u"
+	       ", rxsubchans=V4L2_TUNER_SUB_MONO"
+	       ", audmode=V4L2_TUNER_MODE_MONO, signal=%d, afc=%d"
+	       "}) = -1 EBADF (%m)\n",
+	       p_tuner->index, p_tuner->rangelow,
+	       p_tuner->rangehigh, p_tuner->signal, p_tuner->afc);
+
 	/* VIDIOC_QUERYCTRL */
 	ioctl(-1, VIDIOC_QUERYCTRL, 0);
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, NULL) = -1 EBADF (%m)\n");
@@ -355,8 +725,7 @@
 	       " = -1 EBADF (%m)\n", p_v4l2_queryctrl->id);
 # endif
 
-	struct v4l2_queryctrl *const p_queryctrl =
-		tail_alloc(sizeof(*p_queryctrl));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_queryctrl, p_queryctrl);
 	p_queryctrl->id = V4L2_CID_SATURATION;
 	ioctl(-1, VIDIOC_QUERYCTRL, p_queryctrl);
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, {id=V4L2_CID_SATURATION})"
@@ -414,8 +783,7 @@
 	ioctl(-1, VIDIOC_S_EXT_CTRLS, 0);
 	printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_ext_controls *const p_ext_controls =
-		tail_alloc(sizeof(*p_ext_controls));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_ext_controls, p_ext_controls);
 	p_ext_controls->ctrl_class = V4L2_CTRL_CLASS_USER;
 	p_ext_controls->count = 0;
 	p_ext_controls->controls = (void *) -2UL;
@@ -500,8 +868,7 @@
 	ioctl(-1, VIDIOC_ENUM_FRAMESIZES, 0);
 	printf("ioctl(-1, VIDIOC_ENUM_FRAMESIZES, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_frmsizeenum *const p_frmsizeenum =
-		tail_alloc(sizeof(*p_frmsizeenum));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_frmsizeenum, p_frmsizeenum);
 	p_frmsizeenum->index = magic;
 	p_frmsizeenum->pixel_format = fourcc(cc[0], cc[1], cc[2], cc[3]);
 
diff --git a/tests-mx32/ioctl_v4l2.gen.test b/tests-mx32/ioctl_v4l2.gen.test
new file mode 100755
index 0000000..cbd36ba
--- /dev/null
+++ b/tests-mx32/ioctl_v4l2.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_v4l2 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioctl_v4l2.test b/tests-mx32/ioctl_v4l2.test
deleted file mode 100755
index a092a3c..0000000
--- a/tests-mx32/ioctl_v4l2.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic VIDIOC_* ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests-mx32/ioperm.gen.test b/tests-mx32/ioperm.gen.test
new file mode 100755
index 0000000..154d60a
--- /dev/null
+++ b/tests-mx32/ioperm.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioperm -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/ioperm.test b/tests-mx32/ioperm.test
deleted file mode 100755
index 8c1c1cc..0000000
--- a/tests-mx32/ioperm.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ioperm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/iopl.gen.test b/tests-mx32/iopl.gen.test
new file mode 100755
index 0000000..3d9704c
--- /dev/null
+++ b/tests-mx32/iopl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (iopl -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests-mx32/iopl.test b/tests-mx32/iopl.test
deleted file mode 100755
index d0b5b11..0000000
--- a/tests-mx32/iopl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check iopl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests-mx32/ioprio.gen.test b/tests-mx32/ioprio.gen.test
new file mode 100755
index 0000000..f43f78e
--- /dev/null
+++ b/tests-mx32/ioprio.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioprio -a18 -e trace=ioprio_get,ioprio_set); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18 -e trace=ioprio_get,ioprio_set
diff --git a/tests-mx32/ioprio.test b/tests-mx32/ioprio.test
deleted file mode 100755
index e79310b..0000000
--- a/tests-mx32/ioprio.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/ip_mreq.c b/tests-mx32/ip_mreq.c
index fa0c504..4bcda09 100644
--- a/tests-mx32/ip_mreq.c
+++ b/tests-mx32/ip_mreq.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,8 +45,8 @@
 	static const char multi6addr[] = "ff01::c";
 	static const char interface[] = "127.0.0.1";
 
-	struct ip_mreq *const m4 = tail_alloc(sizeof(*m4));
-	struct ipv6_mreq *const m6 = tail_alloc(sizeof(*m6));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ip_mreq, m4);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ipv6_mreq, m6);
 	unsigned int i;
 	int rc;
 
diff --git a/tests-mx32/ip_mreq.gen.test b/tests-mx32/ip_mreq.gen.test
new file mode 100755
index 0000000..990387a
--- /dev/null
+++ b/tests-mx32/ip_mreq.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ip_mreq -e trace=setsockopt); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=setsockopt
diff --git a/tests-mx32/ip_mreq.test b/tests-mx32/ip_mreq.test
deleted file mode 100755
index d0a9e0f..0000000
--- a/tests-mx32/ip_mreq.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check {IP,IPV6}_{ADD,DROP}_MEMBERSHIP setsockopt decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=setsockopt
diff --git a/tests-mx32/ipc.gen.test b/tests-mx32/ipc.gen.test
new file mode 100755
index 0000000..5ed1f0d
--- /dev/null
+++ b/tests-mx32/ipc.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-mx32/ipc.sh b/tests-mx32/ipc.sh
index 752d4bb..5943c1a 100644
--- a/tests-mx32/ipc.sh
+++ b/tests-mx32/ipc.sh
@@ -5,9 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -eipc $args > "$OUT"
-match_grep "$LOG" "$OUT"
-
-rm -f "$OUT"
+run_strace -eipc $args > "$EXP"
+match_grep "$LOG" "$EXP"
 
 exit 0
diff --git a/tests-mx32/ipc.test b/tests-mx32/ipc.test
deleted file mode 100755
index aa33fa6..0000000
--- a/tests-mx32/ipc.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-mx32/ipc_msg.gen.test b/tests-mx32/ipc_msg.gen.test
new file mode 100755
index 0000000..f4fec80
--- /dev/null
+++ b/tests-mx32/ipc_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests-mx32/ipc_msg.test b/tests-mx32/ipc_msg.test
deleted file mode 100755
index 177495b..0000000
--- a/tests-mx32/ipc_msg.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc msgget/msgctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests-mx32/ipc_sem.c b/tests-mx32/ipc_sem.c
index 8f6382c..0b730c1 100644
--- a/tests-mx32/ipc_sem.c
+++ b/tests-mx32/ipc_sem.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015 Andreas Schwab <schwab@suse.de>
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/ipc_sem.gen.test b/tests-mx32/ipc_sem.gen.test
new file mode 100755
index 0000000..54159a6
--- /dev/null
+++ b/tests-mx32/ipc_sem.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests-mx32/ipc_sem.test b/tests-mx32/ipc_sem.test
deleted file mode 100755
index cc93d07..0000000
--- a/tests-mx32/ipc_sem.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc semget/semctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests-mx32/ipc_shm.gen.test b/tests-mx32/ipc_shm.gen.test
new file mode 100755
index 0000000..505eaba
--- /dev/null
+++ b/tests-mx32/ipc_shm.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests-mx32/ipc_shm.test b/tests-mx32/ipc_shm.test
deleted file mode 100755
index a67ea29..0000000
--- a/tests-mx32/ipc_shm.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc shmget/shmctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests-mx32/kcmp.gen.test b/tests-mx32/kcmp.gen.test
new file mode 100755
index 0000000..da79d7c
--- /dev/null
+++ b/tests-mx32/kcmp.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kcmp -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/kcmp.test b/tests-mx32/kcmp.test
deleted file mode 100755
index d022aeb..0000000
--- a/tests-mx32/kcmp.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kcmp syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/kexec_file_load.c b/tests-mx32/kexec_file_load.c
index be90a37..c939e4f 100644
--- a/tests-mx32/kexec_file_load.c
+++ b/tests-mx32/kexec_file_load.c
@@ -2,6 +2,7 @@
  * Check decoding of kexec_file_load syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/kexec_file_load.gen.test b/tests-mx32/kexec_file_load.gen.test
new file mode 100755
index 0000000..aefaab3
--- /dev/null
+++ b/tests-mx32/kexec_file_load.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kexec_file_load -s9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests-mx32/kexec_file_load.test b/tests-mx32/kexec_file_load.test
deleted file mode 100755
index c95e123..0000000
--- a/tests-mx32/kexec_file_load.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kexec_file_load syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s9
diff --git a/tests-mx32/kexec_load.c b/tests-mx32/kexec_load.c
index 330238d..2a6b441 100644
--- a/tests-mx32/kexec_load.c
+++ b/tests-mx32/kexec_load.c
@@ -2,6 +2,7 @@
  * Check decoding of kexec_load syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,8 +63,7 @@
 	};
 
 	static const kernel_ulong_t bogus_zero =
-		sizeof(long) < sizeof(kernel_long_t) ?
-			(kernel_ulong_t) 0xffffffff00000000ULL : 0;
+		sizeof(long) < sizeof(kernel_long_t) ? F8ILL_KULONG_MASK : 0;
 	static const kernel_ulong_t bogus_entry =
 		(kernel_ulong_t) 0xdeadca57badda7a1ULL;
 	static const kernel_ulong_t bogus_nsegs =
diff --git a/tests-mx32/kexec_load.gen.test b/tests-mx32/kexec_load.gen.test
new file mode 100755
index 0000000..0af9527
--- /dev/null
+++ b/tests-mx32/kexec_load.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kexec_load -s9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests-mx32/kexec_load.test b/tests-mx32/kexec_load.test
deleted file mode 100755
index 4b1511e..0000000
--- a/tests-mx32/kexec_load.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kexec_load syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s9
diff --git a/tests-mx32/keyctl.gen.test b/tests-mx32/keyctl.gen.test
new file mode 100755
index 0000000..82afad9
--- /dev/null
+++ b/tests-mx32/keyctl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl -a31 -s10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31 -s10
diff --git a/tests-mx32/keyctl.test b/tests-mx32/keyctl.test
deleted file mode 100755
index 875a82d..0000000
--- a/tests-mx32/keyctl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of keyctl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31 -s10
diff --git a/tests-mx32/kill.gen.test b/tests-mx32/kill.gen.test
new file mode 100755
index 0000000..08a004e
--- /dev/null
+++ b/tests-mx32/kill.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kill -a12 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12 -esignal=none
diff --git a/tests-mx32/kill.test b/tests-mx32/kill.test
deleted file mode 100755
index 7a3a51a..0000000
--- a/tests-mx32/kill.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kill syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -esignal=none
diff --git a/tests-mx32/ksysent.c b/tests-mx32/ksysent.c
index 8cac93c..f598664 100644
--- a/tests-mx32/ksysent.c
+++ b/tests-mx32/ksysent.c
@@ -2,6 +2,7 @@
  * Validate syscallent.h file.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,6 +41,13 @@
 #define TP 0
 #define TS 0
 #define TM 0
+#define TST 0
+#define TLST 0
+#define TFST 0
+#define TSTA 0
+#define TSF 0
+#define TFSF 0
+#define TSFA 0
 #define NF 0
 #define MA 0
 #define SI 0
diff --git a/tests-mx32/lchown.gen.test b/tests-mx32/lchown.gen.test
new file mode 100755
index 0000000..b31e29d
--- /dev/null
+++ b/tests-mx32/lchown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lchown -a30); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30
diff --git a/tests-mx32/lchown.test b/tests-mx32/lchown.test
deleted file mode 100755
index ceeaa85..0000000
--- a/tests-mx32/lchown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check lchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30
diff --git a/tests-mx32/lchown32.gen.test b/tests-mx32/lchown32.gen.test
new file mode 100755
index 0000000..83be4bc
--- /dev/null
+++ b/tests-mx32/lchown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lchown32 -a32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32
diff --git a/tests-mx32/lchown32.test b/tests-mx32/lchown32.test
deleted file mode 100755
index 6ee1ac9..0000000
--- a/tests-mx32/lchown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check lchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
diff --git a/tests-mx32/link.gen.test b/tests-mx32/link.gen.test
new file mode 100755
index 0000000..b6db34d
--- /dev/null
+++ b/tests-mx32/link.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (link ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/link.test b/tests-mx32/link.test
deleted file mode 100755
index cfa2b0c..0000000
--- a/tests-mx32/link.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check link syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/linkat.gen.test b/tests-mx32/linkat.gen.test
new file mode 100755
index 0000000..54b12b9
--- /dev/null
+++ b/tests-mx32/linkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (linkat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/linkat.test b/tests-mx32/linkat.test
deleted file mode 100755
index 5627de7..0000000
--- a/tests-mx32/linkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check linkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/llseek.test b/tests-mx32/llseek.test
index cf1607e..8dcd65d 100755
--- a/tests-mx32/llseek.test
+++ b/tests-mx32/llseek.test
@@ -9,7 +9,3 @@
 run_strace -e_llseek $args > "$EXP"
 grep -v '^lseek([0-9]' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-mx32/lookup_dcookie.gen.test b/tests-mx32/lookup_dcookie.gen.test
new file mode 100755
index 0000000..6357e19
--- /dev/null
+++ b/tests-mx32/lookup_dcookie.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lookup_dcookie -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/lookup_dcookie.test b/tests-mx32/lookup_dcookie.test
deleted file mode 100755
index 47e1c2d..0000000
--- a/tests-mx32/lookup_dcookie.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of lookup_cookie syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/lseek.test b/tests-mx32/lseek.test
index f96a91d..5b20a7f 100755
--- a/tests-mx32/lseek.test
+++ b/tests-mx32/lseek.test
@@ -9,7 +9,3 @@
 run_strace -a30 -elseek $args > "$EXP"
 grep -v '^lseek([0-9]' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-mx32/lstat.c b/tests-mx32/lstat.c
index 3754f76..8441bf8 100644
--- a/tests-mx32/lstat.c
+++ b/tests-mx32/lstat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/lstat.gen.test b/tests-mx32/lstat.gen.test
new file mode 100755
index 0000000..7231c49
--- /dev/null
+++ b/tests-mx32/lstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/lstat.test b/tests-mx32/lstat.test
deleted file mode 100755
index f513bb4..0000000
--- a/tests-mx32/lstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check lstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/lstat64.c b/tests-mx32/lstat64.c
index da06609..500b60f 100644
--- a/tests-mx32/lstat64.c
+++ b/tests-mx32/lstat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/lstat64.gen.test b/tests-mx32/lstat64.gen.test
new file mode 100755
index 0000000..124cce4
--- /dev/null
+++ b/tests-mx32/lstat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lstat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/lstat64.test b/tests-mx32/lstat64.test
deleted file mode 100755
index fcafe79..0000000
--- a/tests-mx32/lstat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check lstat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/lstatx.c b/tests-mx32/lstatx.c
index cdd1124..8049bea 100644
--- a/tests-mx32/lstatx.c
+++ b/tests-mx32/lstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/madvise.c b/tests-mx32/madvise.c
new file mode 100644
index 0000000..bf9cd78
--- /dev/null
+++ b/tests-mx32/madvise.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdint.h>
+#include <stdio.h>
+#include <sys/mman.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+static const char *errstr;
+
+static long
+k_madvise(const kernel_ulong_t addr,
+	  const kernel_ulong_t length,
+	  const kernel_ulong_t advice)
+{
+	long rc = syscall(__NR_madvise, addr, length, advice);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	const unsigned long length = get_page_size();
+	void *const addr = tail_alloc(length);
+	long rc;
+
+	rc = madvise(addr, length, MADV_NORMAL);
+	printf("madvise(%p, %lu, MADV_NORMAL) = %s\n",
+	       addr, length, sprintrc(rc));
+
+	static const kernel_ulong_t advice =
+		(kernel_ulong_t) 0xfacefeed00000000ULL | MADV_RANDOM;
+	rc = k_madvise((uintptr_t) addr, length, advice);
+	printf("madvise(%p, %lu, MADV_RANDOM) = %s\n",
+	       addr, length, sprintrc(rc));
+
+	static const kernel_ulong_t bogus_length =
+		(kernel_ulong_t) 0xfffffffffffffaceULL;
+	rc = k_madvise(0, bogus_length, MADV_SEQUENTIAL);
+	printf("madvise(NULL, %llu, MADV_SEQUENTIAL) = %s\n",
+	       (unsigned long long) bogus_length, sprintrc(rc));
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		rc = k_madvise(f8ill_ptr_to_kulong(addr), length, MADV_NORMAL);
+		printf("madvise(%#llx, %lu, MADV_NORMAL) = %s\n",
+		       (unsigned long long) f8ill_ptr_to_kulong(addr),
+		       length, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-mx32/madvise.gen.test b/tests-mx32/madvise.gen.test
new file mode 100755
index 0000000..bd36dad
--- /dev/null
+++ b/tests-mx32/madvise.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (madvise -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-mx32/mbind.gen.test b/tests-mx32/mbind.gen.test
new file mode 100755
index 0000000..a0d144d
--- /dev/null
+++ b/tests-mx32/mbind.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mbind ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/mbind.test b/tests-mx32/mbind.test
deleted file mode 100755
index 2a07cac..0000000
--- a/tests-mx32/mbind.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mbind syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/membarrier.gen.test b/tests-mx32/membarrier.gen.test
new file mode 100755
index 0000000..7a6ea10
--- /dev/null
+++ b/tests-mx32/membarrier.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (membarrier -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-mx32/membarrier.test b/tests-mx32/membarrier.test
deleted file mode 100755
index ad1f713..0000000
--- a/tests-mx32/membarrier.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check membarrier syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-mx32/memfd_create.gen.test b/tests-mx32/memfd_create.gen.test
new file mode 100755
index 0000000..11762be
--- /dev/null
+++ b/tests-mx32/memfd_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (memfd_create ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/memfd_create.test b/tests-mx32/memfd_create.test
deleted file mode 100755
index 4361dae..0000000
--- a/tests-mx32/memfd_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of memfd_create syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/migrate_pages.gen.test b/tests-mx32/migrate_pages.gen.test
new file mode 100755
index 0000000..20b7cad
--- /dev/null
+++ b/tests-mx32/migrate_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (migrate_pages -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-mx32/migrate_pages.test b/tests-mx32/migrate_pages.test
deleted file mode 100755
index fad53b7..0000000
--- a/tests-mx32/migrate_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check migrate_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33
diff --git a/tests-mx32/mincore.gen.test b/tests-mx32/mincore.gen.test
new file mode 100755
index 0000000..dc40726
--- /dev/null
+++ b/tests-mx32/mincore.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mincore -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-mx32/mincore.test b/tests-mx32/mincore.test
deleted file mode 100755
index 6af9f49..0000000
--- a/tests-mx32/mincore.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mincore syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-mx32/mkdir.gen.test b/tests-mx32/mkdir.gen.test
new file mode 100755
index 0000000..80b4995
--- /dev/null
+++ b/tests-mx32/mkdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mkdir -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-mx32/mkdir.test b/tests-mx32/mkdir.test
deleted file mode 100755
index 38ed692..0000000
--- a/tests-mx32/mkdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mkdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-mx32/mkdirat.gen.test b/tests-mx32/mkdirat.gen.test
new file mode 100755
index 0000000..0f3fdae
--- /dev/null
+++ b/tests-mx32/mkdirat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mkdirat -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-mx32/mkdirat.test b/tests-mx32/mkdirat.test
deleted file mode 100755
index 0fcb841..0000000
--- a/tests-mx32/mkdirat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mkdirat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-mx32/mknod.c b/tests-mx32/mknod.c
index 4cc1c5c..b387149 100644
--- a/tests-mx32/mknod.c
+++ b/tests-mx32/mknod.c
@@ -8,7 +8,7 @@
 # include <sys/sysmacros.h>
 # include <unistd.h>
 
-static const char sample[] = "mknod";
+static const char *sample;
 
 static long
 call_mknod(unsigned short mode, unsigned long dev)
@@ -18,9 +18,10 @@
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
 	unsigned long dev = (unsigned long) 0xdeadbeefbadc0dedULL;
+	sample = av[0];
 
 	long rc = call_mknod(0, dev);
 	printf("mknod(\"%s\", 000) = %ld %s (%m)\n",
diff --git a/tests-mx32/mknod.gen.test b/tests-mx32/mknod.gen.test
new file mode 100755
index 0000000..870c88b
--- /dev/null
+++ b/tests-mx32/mknod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mknod -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests-mx32/mknod.test b/tests-mx32/mknod.test
deleted file mode 100755
index 195f1e3..0000000
--- a/tests-mx32/mknod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mknod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests-mx32/mknodat.gen.test b/tests-mx32/mknodat.gen.test
new file mode 100755
index 0000000..747fcbe
--- /dev/null
+++ b/tests-mx32/mknodat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mknodat -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-mx32/mknodat.test b/tests-mx32/mknodat.test
deleted file mode 100755
index 1701a36..0000000
--- a/tests-mx32/mknodat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mknodat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-mx32/mlock.gen.test b/tests-mx32/mlock.gen.test
new file mode 100755
index 0000000..2c8ea5e
--- /dev/null
+++ b/tests-mx32/mlock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlock -a20 -e trace=mlock,munlock); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=mlock,munlock
diff --git a/tests-mx32/mlock.test b/tests-mx32/mlock.test
deleted file mode 100755
index 9a73a30..0000000
--- a/tests-mx32/mlock.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mlock and munlock syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=mlock,munlock -a20
diff --git a/tests-mx32/mlock2.gen.test b/tests-mx32/mlock2.gen.test
new file mode 100755
index 0000000..aa1818e
--- /dev/null
+++ b/tests-mx32/mlock2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlock2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/mlock2.test b/tests-mx32/mlock2.test
deleted file mode 100755
index bc412e9..0000000
--- a/tests-mx32/mlock2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mlock2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/mlockall.gen.test b/tests-mx32/mlockall.gen.test
new file mode 100755
index 0000000..06d8ca4
--- /dev/null
+++ b/tests-mx32/mlockall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlockall -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-mx32/mlockall.test b/tests-mx32/mlockall.test
deleted file mode 100755
index d7a6182..0000000
--- a/tests-mx32/mlockall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mlockall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-mx32/mmap.c b/tests-mx32/mmap.c
index f726f63..0321bf5 100644
--- a/tests-mx32/mmap.c
+++ b/tests-mx32/mmap.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -89,10 +90,6 @@
 	printf("mremap(%p, %lu, %lu, MREMAP_MAYMOVE|MREMAP_FIXED"
 	       ", %p) = %p\n", addr, length2, length3, addr + length2, p);
 
-	if (madvise(p, length3, MADV_NORMAL))
-		perror_msg_and_fail("madvise");
-	printf("madvise(%p, %lu, MADV_NORMAL) = 0\n", p, length3);
-
 	if (munmap(p, length3))
 		perror_msg_and_fail("munmap");
 	printf("munmap(%p, %lu) = 0\n", p, length3);
diff --git a/tests-mx32/mmap.test b/tests-mx32/mmap.test
index 0b87114..7ba664e 100755
--- a/tests-mx32/mmap.test
+++ b/tests-mx32/mmap.test
@@ -4,6 +4,7 @@
 # syscalls decoding.
 #
 # Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -50,9 +51,7 @@
 
 syscall=$mmap,madvise,mlockall,mprotect,mremap,msync,munmap
 
-run_prog "./$NAME" $mmap > /dev/null
+run_prog "../$NAME" $mmap > /dev/null
 run_strace -a20 -e$syscall $args > "$EXP"
 sed -n "/^$mmap(NULL, 0, PROT_NONE,/,\$p" < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/mmap64.gen.test b/tests-mx32/mmap64.gen.test
new file mode 100755
index 0000000..5e747b0
--- /dev/null
+++ b/tests-mx32/mmap64.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64 +mmap.test); do not edit.
+. "${srcdir=.}/mmap.test"
diff --git a/tests-mx32/mmap64.test b/tests-mx32/mmap64.test
deleted file mode 100755
index 51f1896..0000000
--- a/tests-mx32/mmap64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mmap/mprotect/munmap syscalls decoding.
-# Target executable was compiled with -D_FILE_OFFSET_BITS=64.
-
-. "${srcdir=.}/mmap.test"
diff --git a/tests-mx32/mmsg-silent.gen.test b/tests-mx32/mmsg-silent.gen.test
new file mode 100755
index 0000000..47863f2
--- /dev/null
+++ b/tests-mx32/mmsg-silent.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg-silent -a25 -e verbose=none -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
diff --git a/tests-mx32/mmsg-silent.test b/tests-mx32/mmsg-silent.test
deleted file mode 100755
index 775e0ad..0000000
--- a/tests-mx32/mmsg-silent.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check silent decoding of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
diff --git a/tests-mx32/mmsg.gen.test b/tests-mx32/mmsg.gen.test
new file mode 100755
index 0000000..4d90e3d
--- /dev/null
+++ b/tests-mx32/mmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg
diff --git a/tests-mx32/mmsg.test b/tests-mx32/mmsg.test
deleted file mode 100755
index a8148ba..0000000
--- a/tests-mx32/mmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check how iovecs in struct mmsghdr are decoded.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmmsg,sendmmsg -e read=0 -e write=1
diff --git a/tests-mx32/mmsg_name-v.gen.test b/tests-mx32/mmsg_name-v.gen.test
new file mode 100755
index 0000000..e34946f
--- /dev/null
+++ b/tests-mx32/mmsg_name-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-mx32/mmsg_name-v.test b/tests-mx32/mmsg_name-v.test
deleted file mode 100755
index ab8dfba..0000000
--- a/tests-mx32/mmsg_name-v.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-mx32/mmsg_name.gen.test b/tests-mx32/mmsg_name.gen.test
new file mode 100755
index 0000000..ac54294
--- /dev/null
+++ b/tests-mx32/mmsg_name.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg_name -a25 -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-mx32/mmsg_name.test b/tests-mx32/mmsg_name.test
deleted file mode 100755
index e18c972..0000000
--- a/tests-mx32/mmsg_name.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests-mx32/mount.gen.test b/tests-mx32/mount.gen.test
new file mode 100755
index 0000000..0b124bc
--- /dev/null
+++ b/tests-mx32/mount.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/mount.test b/tests-mx32/mount.test
deleted file mode 100755
index 40fdca9..0000000
--- a/tests-mx32/mount.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mount syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/move_pages.c b/tests-mx32/move_pages.c
index f4ccafa..5ec25aa 100644
--- a/tests-mx32/move_pages.c
+++ b/tests-mx32/move_pages.c
@@ -2,6 +2,7 @@
  * Check decoding of move_pages syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -126,7 +127,7 @@
 			printf("%d", status[i]);
 		} else {
 			errno = -status[i];
-			printf("%s", errno2name());
+			printf("-%s", errno2name());
 		}
 	}
 	printf("]");
@@ -190,9 +191,9 @@
 	const unsigned page_size = get_page_size();
 	const void *const page = tail_alloc(page_size);
 	const void *const efault = page + page_size;
-	const void **pages = tail_alloc(sizeof(*pages));
-	int *nodes = tail_alloc(sizeof(*nodes));
-	int *status = tail_alloc(sizeof(*status));
+	TAIL_ALLOC_OBJECT_VAR_PTR(const void *, pages);
+	TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes);
+	TAIL_ALLOC_OBJECT_VAR_PTR(int, status);
 
 	print_stat_pages(pid, 0, pages, status);
 	print_move_pages(pid, 0, 0, pages, nodes, status);
diff --git a/tests-mx32/move_pages.gen.test b/tests-mx32/move_pages.gen.test
new file mode 100755
index 0000000..2f060fa
--- /dev/null
+++ b/tests-mx32/move_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (move_pages -s3); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3
diff --git a/tests-mx32/move_pages.test b/tests-mx32/move_pages.test
deleted file mode 100755
index f957717..0000000
--- a/tests-mx32/move_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of move_pages syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3
diff --git a/tests-mx32/mq.c b/tests-mx32/mq.c
index 9c2ffc8..ee2d059 100644
--- a/tests-mx32/mq.c
+++ b/tests-mx32/mq.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,17 +38,19 @@
 # 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("/" NAME, O_CREAT, 0700, NULL))
+	char *name;
+	if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0)
+		perror_msg_and_fail("asprintf");
+
+	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);
+	printf("mq_open(\"%s\", O_RDONLY|O_CREAT, 0700, NULL) = 0\n", name + 1);
 
 	if (mq_getattr(0, &attr))
 		perror_msg_and_skip("mq_getattr");
@@ -63,9 +66,9 @@
 	       (long long) attr.mq_maxmsg,
 	       (long long) attr.mq_msgsize);
 
-	if (mq_unlink("/" NAME))
+	if (mq_unlink(name))
 		perror_msg_and_skip("mq_unlink");
-	printf("mq_unlink(\"%s\") = 0\n", NAME);
+	printf("mq_unlink(\"%s\") = 0\n", name + 1);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/mq.gen.test b/tests-mx32/mq.gen.test
new file mode 100755
index 0000000..8be520d
--- /dev/null
+++ b/tests-mx32/mq.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -e trace=mq_getsetattr,mq_open,mq_unlink
diff --git a/tests-mx32/mq.test b/tests-mx32/mq.test
deleted file mode 100755
index 746b07b..0000000
--- a/tests-mx32/mq.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mq_open, mq_getsetattr, and mq_unlink syscalls.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a28 -e trace=mq_getsetattr,mq_open,mq_unlink
diff --git a/tests-mx32/mq_sendrecv-read.gen.test b/tests-mx32/mq_sendrecv-read.gen.test
new file mode 100755
index 0000000..278e9b7
--- /dev/null
+++ b/tests-mx32/mq_sendrecv-read.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv-read -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests-mx32/mq_sendrecv-read.test b/tests-mx32/mq_sendrecv-read.test
deleted file mode 100755
index eb4ad75..0000000
--- a/tests-mx32/mq_sendrecv-read.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/mq_sendrecv-write.gen.test b/tests-mx32/mq_sendrecv-write.gen.test
new file mode 100755
index 0000000..5963eb4
--- /dev/null
+++ b/tests-mx32/mq_sendrecv-write.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv-write -ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests-mx32/mq_sendrecv-write.test b/tests-mx32/mq_sendrecv-write.test
deleted file mode 100755
index 38277ec..0000000
--- a/tests-mx32/mq_sendrecv-write.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/mq_sendrecv.c b/tests-mx32/mq_sendrecv.c
index c151542..e3ad0d5 100644
--- a/tests-mx32/mq_sendrecv.c
+++ b/tests-mx32/mq_sendrecv.c
@@ -3,6 +3,7 @@
  * mq_unlink syscalls.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,10 +50,6 @@
 
 # include "sigevent.h"
 
-# ifndef MQ_NAME
-#  define MQ_NAME "mq_sendrecv.sample"
-# endif
-
 # ifndef DUMPIO_READ
 #  define DUMPIO_READ 0
 # endif
@@ -61,6 +58,7 @@
 #  define DUMPIO_WRITE 0
 # endif
 
+static char *mq_name;
 
 enum {
 	NUM_ATTRS = 8,
@@ -124,8 +122,8 @@
 {
 	long rc;
 
-	rc = syscall(__NR_mq_unlink, MQ_NAME);
-	printf("mq_unlink(\"" MQ_NAME "\") = %s\n", sprintrc(rc));
+	rc = syscall(__NR_mq_unlink, mq_name);
+	printf("mq_unlink(\"%s\") = %s\n", mq_name, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 }
@@ -147,9 +145,9 @@
 		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));
+		printf(", %u, 42, {tv_sec=%lld, tv_nsec=%llu}) = %s\n", msg_size,
+		       (long long) tmout->tv_sec,
+		       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 		errno = saved_errno;
 
 		if (rc == -1) {
@@ -185,9 +183,9 @@
 			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));
+		printf(", %u, [42], {tv_sec=%lld, tv_nsec=%llu}) = %s\n", MSG_SIZE,
+		       (long long) tmout->tv_sec,
+		       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 		errno = saved_errno;
 
 		if (rc == -1) {
@@ -242,7 +240,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, bogus_prio_ptr);
 	struct timespec *bogus_tmout = tail_memdup(&bogus_tmout_data,
 		sizeof(*bogus_tmout));
 	struct timespec *future_tmout = tail_memdup(&future_tmout_data,
@@ -278,8 +276,8 @@
 	/* 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",
+	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],
@@ -304,12 +302,12 @@
 	/* 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",
+	printf("mq_timedsend(%d, %p, %llu, %u, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %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));
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), sprintrc(rc));
 
 	/* Fully valid message, uncut */
 	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_SIZE - MSG_CUT,
@@ -317,10 +315,10 @@
 	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",
+	printf(", %llu, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
 	       (unsigned long long) MSG_CUT, (unsigned) bogus_prio,
-	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
-	       errstr);
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), errstr);
 
 	/* Partially invalid message, cut at maxstrlen */
 	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_CUT, MSG_SIZE,
@@ -328,10 +326,10 @@
 	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",
+	printf("..., %llu, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
 	       (unsigned long long) MSG_SIZE, (unsigned) bogus_prio,
-	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
-	       errstr);
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), errstr);
 
 
 	/* mq_timedreceive */
@@ -351,11 +349,11 @@
 	/* 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",
+	printf("mq_timedreceive(%d, %p, %llu, %p, {tv_sec=%lld, tv_nsec=%llu}) "
+	       "= %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));
+	       bogus_prio_ptr, (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), sprintrc(rc));
 
 
 	/* mq_notify */
@@ -381,8 +379,8 @@
 	/* 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",
+	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));
@@ -391,8 +389,8 @@
 	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",
+	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));
 
@@ -403,10 +401,10 @@
 	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",
+	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,
@@ -430,12 +428,15 @@
 
 	/* Sending and receiving test */
 
+	if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0)
+		perror_msg_and_fail("asprintf");
+
 # 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,
+	fd = rc = syscall(__NR_mq_open, mq_name,
 		          O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
 	errstr = sprintrc(rc);
 	if (rc < 0)
@@ -448,11 +449,11 @@
 # 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);
+	printf("mq_open(\"%s\", O_RDWR|O_CREAT|O_NONBLOCK, 0700"
+	       ", {mq_flags=%#llx, mq_maxmsg=2, mq_msgsize=%u"
+	       ", mq_curmsgs=%lld}) = %s\n",
+	       mq_name, (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)
diff --git a/tests-mx32/mq_sendrecv.gen.test b/tests-mx32/mq_sendrecv.gen.test
new file mode 100755
index 0000000..d82576f
--- /dev/null
+++ b/tests-mx32/mq_sendrecv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests-mx32/mq_sendrecv.test b/tests-mx32/mq_sendrecv.test
deleted file mode 100755
index 67f4d63..0000000
--- a/tests-mx32/mq_sendrecv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/msg_control-v.gen.test b/tests-mx32/msg_control-v.gen.test
new file mode 100755
index 0000000..0a0de15
--- /dev/null
+++ b/tests-mx32/msg_control-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_control-v -v -a21 -e trace=sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -a21 -e trace=sendmsg
diff --git a/tests-mx32/msg_control-v.test b/tests-mx32/msg_control-v.test
deleted file mode 100755
index 41f9842..0000000
--- a/tests-mx32/msg_control-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a21 -e trace=sendmsg
diff --git a/tests-mx32/msg_control.c b/tests-mx32/msg_control.c
index 709a307..1e64f1a 100644
--- a/tests-mx32/msg_control.c
+++ b/tests-mx32/msg_control.c
@@ -2,6 +2,7 @@
  * Check decoding of struct msghdr ancillary data.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -689,7 +690,7 @@
 	int rc = sendmsg(-1, 0, 0);
 	printf("sendmsg(-1, NULL, 0) = %d %s (%m)\n", rc, errno2name());
 
-	struct msghdr *mh = tail_alloc(sizeof(*mh));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, mh);
 	memset(mh, 0, sizeof(*mh));
 	test_big_len(mh);
 
diff --git a/tests-mx32/msg_control.gen.test b/tests-mx32/msg_control.gen.test
new file mode 100755
index 0000000..446ebcb
--- /dev/null
+++ b/tests-mx32/msg_control.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_control -a21 -e trace=sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21 -e trace=sendmsg
diff --git a/tests-mx32/msg_control.test b/tests-mx32/msg_control.test
deleted file mode 100755
index 809ec7b..0000000
--- a/tests-mx32/msg_control.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21 -e trace=sendmsg
diff --git a/tests-mx32/msg_name.c b/tests-mx32/msg_name.c
index c2ddda2..9e98e4e 100644
--- a/tests-mx32/msg_name.c
+++ b/tests-mx32/msg_name.c
@@ -2,6 +2,7 @@
  * Check decoding of struct msghdr.msg_name* arguments of recvmsg syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,13 +48,13 @@
 static void
 test_msg_name(const int send_fd, const int recv_fd)
 {
-	char *const recv_buf = tail_alloc(sizeof(*recv_buf));
-	struct iovec *const iov = tail_alloc(sizeof(*iov));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char, recv_buf);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = recv_buf;
 	iov->iov_len = sizeof(*recv_buf);
 
-	struct sockaddr_un *const addr = tail_alloc(sizeof(*addr));
-	struct msghdr *const msg = tail_alloc(sizeof(*msg));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sockaddr_un, addr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, msg);
 	msg->msg_name = addr;
 	msg->msg_namelen = sizeof(*addr);
 	msg->msg_iov = iov;
diff --git a/tests-mx32/msg_name.gen.test b/tests-mx32/msg_name.gen.test
new file mode 100755
index 0000000..2d0ae90
--- /dev/null
+++ b/tests-mx32/msg_name.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_name -a20 -e trace=recvmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=recvmsg
diff --git a/tests-mx32/msg_name.test b/tests-mx32/msg_name.test
deleted file mode 100755
index ac06dd5..0000000
--- a/tests-mx32/msg_name.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of struct msghdr.msg_name* arguments of recvmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=recvmsg
diff --git a/tests-mx32/munlockall.gen.test b/tests-mx32/munlockall.gen.test
new file mode 100755
index 0000000..18343cb
--- /dev/null
+++ b/tests-mx32/munlockall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (munlockall -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests-mx32/munlockall.test b/tests-mx32/munlockall.test
deleted file mode 100755
index e25d60a..0000000
--- a/tests-mx32/munlockall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check munlockall syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests-mx32/nanosleep.c b/tests-mx32/nanosleep.c
index 9f0e626..8f9724e 100644
--- a/tests-mx32/nanosleep.c
+++ b/tests-mx32/nanosleep.c
@@ -1,5 +1,8 @@
 /*
+ * Check decoding of nanosleep syscall.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,40 +60,62 @@
 
 	if (nanosleep(&req.ts, NULL))
 		perror_msg_and_fail("nanosleep");
-	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, NULL) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, NULL) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	assert(nanosleep(NULL, &rem.ts) == -1);
 	printf("nanosleep(NULL, %p) = -1 EFAULT (%m)\n", &rem.ts);
 
 	if (nanosleep(&req.ts, &rem.ts))
 		perror_msg_and_fail("nanosleep");
-	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);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	req.ts.tv_nsec = 1000000000;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	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);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = 0xdeadbeefU;
+	req.ts.tv_nsec = 0xfacefeedU;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	req.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = -1;
+	req.ts.tv_nsec = -1;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(sigprocmask(SIG_SETMASK, &set, NULL) == 0);
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	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,
-	       (intmax_t) itv.it_value.tv_usec);
 
+	req.ts.tv_sec = 0;
 	req.ts.tv_nsec = 999999999;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, {tv_sec=%jd, tv_nsec=%jd})"
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}"
+	       ", {tv_sec=%lld, tv_nsec=%llu})"
 	       " = ? 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);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec),
+	       (long long) rem.ts.tv_sec,
+	       zero_extend_signed_to_ull(rem.ts.tv_nsec));
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-mx32/nanosleep.gen.test b/tests-mx32/nanosleep.gen.test
new file mode 100755
index 0000000..ea5b19a
--- /dev/null
+++ b/tests-mx32/nanosleep.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nanosleep -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-mx32/nanosleep.test b/tests-mx32/nanosleep.test
deleted file mode 100755
index 055a8dc..0000000
--- a/tests-mx32/nanosleep.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check nanosleep and setitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=nanosleep,setitimer
diff --git a/tests-mx32/net-icmp_filter.c b/tests-mx32/net-icmp_filter.c
index f3f99f1..71e530d 100644
--- a/tests-mx32/net-icmp_filter.c
+++ b/tests-mx32/net-icmp_filter.c
@@ -2,6 +2,7 @@
  * Check decoding of ICMP_FILTER.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,9 +44,9 @@
 	printf("setsockopt(-1, SOL_RAW, ICMP_FILTER, NULL, 0) = -1 %s (%m)\n",
 	       errno2name());
 
-	socklen_t *const plen = tail_alloc(sizeof(*plen));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, plen);
 	void *const efault = plen + 1;
-	struct icmp_filter *const f = tail_alloc(sizeof(*f));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct icmp_filter, f);
 
 	getsockopt(-1, SOL_RAW, ICMP_FILTER, f, plen);
 	printf("getsockopt(-1, SOL_RAW, ICMP_FILTER, %p, %p) = -1 %s (%m)\n",
diff --git a/tests-mx32/net-icmp_filter.gen.test b/tests-mx32/net-icmp_filter.gen.test
new file mode 100755
index 0000000..bf6c765
--- /dev/null
+++ b/tests-mx32/net-icmp_filter.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-icmp_filter -e trace=getsockopt,setsockopt); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=getsockopt,setsockopt
diff --git a/tests-mx32/net-icmp_filter.test b/tests-mx32/net-icmp_filter.test
deleted file mode 100755
index c05a5e6..0000000
--- a/tests-mx32/net-icmp_filter.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ICMP_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=getsockopt,setsockopt
diff --git a/tests-mx32/net-sockaddr.c b/tests-mx32/net-sockaddr.c
index bf37779..9dc9ecf 100644
--- a/tests-mx32/net-sockaddr.c
+++ b/tests-mx32/net-sockaddr.c
@@ -2,6 +2,7 @@
  * Check decoding of sockaddr structures
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +58,7 @@
 static void
 check_un(void)
 {
-	struct sockaddr_un *un = tail_alloc(sizeof(*un));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_un, un);
 	un->sun_family = AF_UNIX;
 	memset(un->sun_path, '0', sizeof(un->sun_path));
 	unsigned int len = sizeof(*un);
@@ -133,7 +134,7 @@
 	const unsigned short h_port = 12345;
 	static const char h_addr[] = "12.34.56.78";
 
-	struct sockaddr_in *in = tail_alloc(sizeof(*in));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_in, in);
 	in->sin_family = AF_INET;
 	in->sin_port = htons(h_port);
 	in->sin_addr.s_addr = inet_addr(h_addr);
@@ -207,7 +208,7 @@
 	const unsigned int h_flowinfo = 1234567890;
 	static const char h_addr[] = "12:34:56:78:90:ab:cd:ef";
 
-	struct sockaddr_in6 *in6 = tail_alloc(sizeof(*in6));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_in6, in6);
 	in6->sin6_family = AF_INET6;
 	in6->sin6_port = htons(h_port);
 	in6->sin6_flowinfo = htonl(h_flowinfo);
@@ -298,7 +299,7 @@
 static void
 check_nl(void)
 {
-	struct sockaddr_nl *nl = tail_alloc(sizeof(*nl));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_nl, nl);
 	nl->nl_family = AF_NETLINK;
 	nl->nl_pid = 1234567890;
 	nl->nl_groups = 0xfacefeed;
@@ -390,7 +391,7 @@
 check_hci(void)
 {
 	const unsigned short h_port = 12345;
-	struct sockaddr_hci *hci = tail_alloc(sizeof(*hci));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_hci, hci);
 	hci->hci_family = AF_BLUETOOTH;
 	hci->hci_dev = htobs(h_port);
 	hci->hci_channel = HCI_CHANNEL_RAW;
diff --git a/tests-mx32/net-sockaddr.gen.test b/tests-mx32/net-sockaddr.gen.test
new file mode 100755
index 0000000..53c8335
--- /dev/null
+++ b/tests-mx32/net-sockaddr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-sockaddr -a24 -e trace=connect); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -e trace=connect
diff --git a/tests-mx32/net-sockaddr.test b/tests-mx32/net-sockaddr.test
deleted file mode 100755
index cdfe536..0000000
--- a/tests-mx32/net-sockaddr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sockaddr structures.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=connect
diff --git a/tests-mx32/net-y-unix.c b/tests-mx32/net-y-unix.c
index 3efc2f6..df56ad6 100644
--- a/tests-mx32/net-y-unix.c
+++ b/tests-mx32/net-y-unix.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-y-unix strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,19 +38,21 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-int
-main(int ac, const char **av)
-{
-	assert(ac == 2);
+#define TEST_SOCKET "net-y-unix.socket"
 
-	struct sockaddr_un addr = { .sun_family = AF_UNIX };
-	unsigned int sun_path_len = strlen(av[1]);
-	assert(sun_path_len > 0 && sun_path_len <= sizeof(addr.sun_path));
-	strncpy(addr.sun_path, av[1], sizeof(addr.sun_path));
+int
+main(void)
+{
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const struct sockaddr_un addr = {
+		.sun_family = AF_UNIX,
+		.sun_path = TEST_SOCKET
+	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
 
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
-	*len = offsetof(struct sockaddr_un, sun_path) + strlen(av[1]) + 1;
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
+	*len = offsetof(struct sockaddr_un, sun_path) + strlen(TEST_SOCKET) + 1;
 	if (*len > sizeof(addr))
 		*len = sizeof(addr);
 
@@ -61,17 +63,18 @@
 	printf("socket(AF_UNIX, SOCK_STREAM, 0) = %d<socket:[%lu]>\n",
 	       listen_fd, listen_inode);
 
-	(void) unlink(av[1]);
+	(void) unlink(TEST_SOCKET);
 	if (bind(listen_fd, listen_sa, *len))
 		perror_msg_and_skip("bind");
 	printf("bind(%d<socket:[%lu]>, {sa_family=AF_UNIX, sun_path=\"%s\"}"
-	       ", %u) = 0\n", listen_fd, listen_inode, av[1], (unsigned) *len);
+	       ", %u) = 0\n",
+	       listen_fd, listen_inode, TEST_SOCKET, (unsigned) *len);
 
 	if (listen(listen_fd, 1))
 		perror_msg_and_skip("listen");
 	printf("listen(%d<socket:[%lu]>, 1) = 0\n", listen_fd, listen_inode);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_SOCKET, SO_PASSCRED, optval, len))
 		perror_msg_and_fail("getsockopt");
@@ -85,7 +88,7 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	int connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -98,7 +101,7 @@
 		perror_msg_and_fail("connect");
 	printf("connect(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
 	memset(accept_sa, 0, sizeof(addr));
@@ -119,7 +122,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", connect_fd, connect_inode,
-	       av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	char text[] = "text";
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
@@ -163,14 +166,14 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
-	       listen_fd, listen_inode, av[1],
+	       listen_fd, listen_inode, TEST_SOCKET,
 	       (int) sizeof(addr), (int) *len);
 
 	if (connect(connect_fd, listen_sa, *len))
 		perror_msg_and_fail("connect");
 	printf("connect(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -192,7 +195,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
-	       connect_fd, connect_inode, av[1],
+	       connect_fd, connect_inode, TEST_SOCKET,
 	       (int) sizeof(addr), (int) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
@@ -224,7 +227,7 @@
 	assert(close(accept_fd) == 0);
 	printf("close(%d<socket:[%lu]>) = 0\n", accept_fd, accept_inode);
 
-	assert(unlink(av[1]) == 0);
+	assert(unlink(TEST_SOCKET) == 0);
 
 	assert(close(listen_fd) == 0);
 	printf("close(%d<socket:[%lu]>) = 0\n",
diff --git a/tests-mx32/net-y-unix.test b/tests-mx32/net-y-unix.test
index aec8159..fd3fd68 100755
--- a/tests-mx32/net-y-unix.test
+++ b/tests-mx32/net-y-unix.test
@@ -2,7 +2,7 @@
 #
 # Check decoding of network syscalls in -y mode.
 #
-# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,18 +29,11 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -y is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
 
-addr="$NAME-local-stream"
-run_prog "./$NAME" $addr > /dev/null
-
+run_prog > /dev/null
 run_strace -a20 -y -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/net-yy-inet.c b/tests-mx32/net-yy-inet.c
index f76f941..af1262e 100644
--- a/tests-mx32/net-yy-inet.c
+++ b/tests-mx32/net-yy-inet.c
@@ -2,6 +2,7 @@
  * This file is part of net-yy-inet strace test.
  *
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,12 +42,14 @@
 int
 main(void)
 {
+	skip_if_unavailable("/proc/self/fd/");
+
 	const struct sockaddr_in addr = {
 		.sin_family = AF_INET,
 		.sin_addr.s_addr = htonl(INADDR_LOOPBACK)
 	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
 	*len = sizeof(addr);
 
 	const int listen_fd = socket(AF_INET, SOCK_STREAM, 0);
@@ -77,7 +80,7 @@
 	       ", [%u]) = 0\n",
 	       listen_fd, listen_port, listen_port, (unsigned) *len);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_TCP, TCP_MAXSEG, optval, len))
 		perror_msg_and_fail("getsockopt");
diff --git a/tests-mx32/net-yy-inet.test b/tests-mx32/net-yy-inet.test
index 2ebf91f..6b527db 100755
--- a/tests-mx32/net-yy-inet.test
+++ b/tests-mx32/net-yy-inet.test
@@ -3,6 +3,7 @@
 # Check decoding of ip:port pairs associated with socket descriptors
 #
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,18 +30,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_inet_diag
 
-run_prog "./$NAME" > /dev/null
-
+run_prog ../netlink_inet_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/net-yy-netlink.c b/tests-mx32/net-yy-netlink.c
index 64d0efc..6539eda 100644
--- a/tests-mx32/net-yy-netlink.c
+++ b/tests-mx32/net-yy-netlink.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-yy-netlink strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
  * All rights reserved.
  *
@@ -47,13 +47,14 @@
 int
 main(void)
 {
-	unsigned magic = 1234;
+	skip_if_unavailable("/proc/self/fd/");
+
 	struct sockaddr_nl addr = {
 		.nl_family = AF_NETLINK,
-		.nl_pid = 1234
+		.nl_pid = getpid()
 	};
 	struct sockaddr *const sa = tail_memdup(&addr, sizeof(addr));
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
 	*len = sizeof(addr);
 
 	const int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);
@@ -67,17 +68,17 @@
 		perror_msg_and_skip("bind");
 	printf("bind(%d<NETLINK:[%lu]>, {sa_family=AF_NETLINK"
 	       ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n",
-	       fd, inode, magic, (unsigned) *len);
+	       fd, inode, addr.nl_pid, (unsigned) *len);
 
 	if (getsockname(fd, sa, len))
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<NETLINK:[SOCK_DIAG:%u]>, {sa_family=AF_NETLINK"
 	       ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n",
-	       fd, magic, magic, (unsigned) *len);
+	       fd, addr.nl_pid, addr.nl_pid, (unsigned) *len);
 
 	if (close(fd))
 		perror_msg_and_fail("close");
-	printf("close(%d<NETLINK:[SOCK_DIAG:%u]>) = 0\n", fd, magic);
+	printf("close(%d<NETLINK:[SOCK_DIAG:%u]>) = 0\n", fd, addr.nl_pid);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/net-yy-netlink.test b/tests-mx32/net-yy-netlink.test
index bff1d86..3a07e45 100755
--- a/tests-mx32/net-yy-netlink.test
+++ b/tests-mx32/net-yy-netlink.test
@@ -6,6 +6,7 @@
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
 # Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -32,18 +33,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_netlink_diag
 
-run_prog "./$NAME" > /dev/null
-
+run_prog ../netlink_netlink_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/net-yy-unix.c b/tests-mx32/net-yy-unix.c
index 63637bd..f27cdc0 100644
--- a/tests-mx32/net-yy-unix.c
+++ b/tests-mx32/net-yy-unix.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-yy-unix strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,19 +38,21 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-int
-main(int ac, const char **av)
-{
-	assert(ac == 2);
+#define TEST_SOCKET "net-yy-unix.socket"
 
-	struct sockaddr_un addr = { .sun_family = AF_UNIX };
-	unsigned int sun_path_len = strlen(av[1]);
-	assert(sun_path_len > 0 && sun_path_len <= sizeof(addr.sun_path));
-	strncpy(addr.sun_path, av[1], sizeof(addr.sun_path));
+int
+main(void)
+{
+	skip_if_unavailable("/proc/self/fd/");
+
+	struct sockaddr_un addr = {
+		.sun_family = AF_UNIX,
+		.sun_path = TEST_SOCKET
+	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
 
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
-	*len = offsetof(struct sockaddr_un, sun_path) + strlen(av[1]) + 1;
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
+	*len = offsetof(struct sockaddr_un, sun_path) + strlen(TEST_SOCKET) + 1;
 	if (*len > sizeof(addr))
 		*len = sizeof(addr);
 
@@ -61,24 +63,25 @@
 	printf("socket(AF_UNIX, SOCK_STREAM, 0) = %d<UNIX:[%lu]>\n",
 	       listen_fd, listen_inode);
 
-	(void) unlink(av[1]);
+	(void) unlink(TEST_SOCKET);
 	if (bind(listen_fd, listen_sa, *len))
 		perror_msg_and_skip("bind");
 	printf("bind(%d<UNIX:[%lu]>, {sa_family=AF_UNIX, sun_path=\"%s\"}"
-	       ", %u) = 0\n", listen_fd, listen_inode, av[1], (unsigned) *len);
+	       ", %u) = 0\n",
+	       listen_fd, listen_inode, TEST_SOCKET, (unsigned) *len);
 
 	if (listen(listen_fd, 1))
 		perror_msg_and_skip("listen");
 	printf("listen(%d<UNIX:[%lu,\"%s\"]>, 1) = 0\n",
-	       listen_fd, listen_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_SOCKET, SO_PASSCRED, optval, len))
 		perror_msg_and_fail("getsockopt");
 	printf("getsockopt(%d<UNIX:[%lu,\"%s\"]>, SOL_SOCKET, SO_PASSCRED"
 	       ", [%u], [%u]) = 0\n",
-	       listen_fd, listen_inode, av[1], *optval, (unsigned) *len);
+	       listen_fd, listen_inode, TEST_SOCKET, *optval, (unsigned) *len);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -86,7 +89,7 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	int connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -99,7 +102,7 @@
 		perror_msg_and_fail("connect");
 	printf("connect(%d<UNIX:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
 	memset(accept_sa, 0, sizeof(addr));
@@ -110,8 +113,9 @@
 	unsigned long accept_inode = inode_of_sockfd(accept_fd);
 	printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX}"
 	       ", [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
-	       listen_fd, listen_inode, av[1], (int) sizeof(addr), (int) *len,
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET,
+	       (int) sizeof(addr), (int) *len,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -120,7 +124,7 @@
 	printf("getpeername(%d<UNIX:[%lu->%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
 	       connect_fd, connect_inode,
-	       accept_inode, av[1], (int) sizeof(addr), (int) *len);
+	       accept_inode, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	char text[] = "text";
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
@@ -134,7 +138,7 @@
 	       == sizeof(text) - 1);
 	printf("recvfrom(%d<UNIX:[%lu->%lu,\"%s\"]>, \"%s\", %u, MSG_DONTWAIT"
 	       ", NULL, NULL) = %u\n",
-	       accept_fd, accept_inode, connect_inode, av[1], text,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET, text,
 	       (unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
 
 	assert(close(connect_fd) == 0);
@@ -143,7 +147,7 @@
 
 	assert(close(accept_fd) == 0);
 	printf("close(%d<UNIX:[%lu->%lu,\"%s\"]>) = 0\n",
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -166,13 +170,13 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	if (connect(connect_fd, listen_sa, *len))
 		perror_msg_and_fail("connect");
 	printf("connect(%d<UNIX:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -184,9 +188,9 @@
 		((struct sockaddr_un *) accept_sa) -> sun_path + 1;
 	printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=@\"%s\"}, [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
-	       listen_fd, listen_inode, av[1], sun_path1,
+	       listen_fd, listen_inode, TEST_SOCKET, sun_path1,
 	       (int) sizeof(addr), (int) *len,
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -194,7 +198,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<UNIX:[%lu->%lu,@\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", connect_fd, connect_inode,
-	       accept_inode, sun_path1, av[1], (int) sizeof(addr), (int) *len);
+	       accept_inode, sun_path1, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
 	       == sizeof(text) - 1);
@@ -207,7 +211,7 @@
 	       == sizeof(text) - 1);
 	printf("recvfrom(%d<UNIX:[%lu->%lu,\"%s\"]>, \"%s\", %u, MSG_DONTWAIT"
 	       ", NULL, NULL) = %u\n",
-	       accept_fd, accept_inode, connect_inode, av[1], text,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET, text,
 	       (unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
 
 	assert(close(connect_fd) == 0);
@@ -216,13 +220,13 @@
 
 	assert(close(accept_fd) == 0);
 	printf("close(%d<UNIX:[%lu->%lu,\"%s\"]>) = 0\n",
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
-	assert(unlink(av[1]) == 0);
+	assert(unlink(TEST_SOCKET) == 0);
 
 	assert(close(listen_fd) == 0);
 	printf("close(%d<UNIX:[%lu,\"%s\"]>) = 0\n",
-	       listen_fd, listen_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/net-yy-unix.test b/tests-mx32/net-yy-unix.test
index b82761c..59323a4 100755
--- a/tests-mx32/net-yy-unix.test
+++ b/tests-mx32/net-yy-unix.test
@@ -4,7 +4,7 @@
 # associated with unix domain socket descriptors.
 #
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
-# Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -31,19 +31,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_unix_diag
 
-addr="$NAME-local-stream"
-run_prog "./$NAME" $addr > /dev/null
-
+run_prog ../netlink_unix_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/net.test b/tests-mx32/net.test
index cf943ff..8320707 100755
--- a/tests-mx32/net.test
+++ b/tests-mx32/net.test
@@ -4,8 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./net-accept-connect net-local-stream
-run_strace_merge -enetwork $args
+run_prog ../net-accept-connect net-local-stream
+run_strace_merge -e%network $args
 match_grep
 
 exit 0
diff --git a/tests-mx32/netlink_protocol.c b/tests-mx32/netlink_protocol.c
index 34e114b..35f954f 100644
--- a/tests-mx32/netlink_protocol.c
+++ b/tests-mx32/netlink_protocol.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of netlink protocol.
  *
- * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
  * All rights reserved.
  *
@@ -199,6 +199,121 @@
 	printf(", ...], %u, MSG_DONTWAIT, NULL, 0) = %s\n", msg_len, errstr);
 }
 
+static void
+test_nlmsgerr(const int fd)
+{
+	struct nlmsgerr *err;
+	struct nlmsghdr *nlh;
+	void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+	long rc;
+
+	/* error message without enough room for the error code */
+	nlh = nlh0;
+	nlh->nlmsg_len = NLMSG_HDRLEN + 4;
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, %p}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	nlh->nlmsg_len = NLMSG_HDRLEN + 2;
+	nlh = nlh0 - 2;
+	memmove(nlh, nlh0, sizeof(*nlh));
+	memcpy(NLMSG_DATA(nlh), "42", 2);
+
+	rc = sendto(fd, nlh, NLMSG_HDRLEN + 2, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, \"42\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, NLMSG_HDRLEN + 2, NLMSG_HDRLEN + 2, sprintrc(rc));
+
+	/* error message with room for the error code only */
+	nlh = nlh0 - sizeof(err->error);
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(err->error);
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = 42;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=42}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n", fd, nlh->nlmsg_len, nlh->nlmsg_len, sprintrc(rc));
+
+	err->error = -1;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EPERM}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n", fd, nlh->nlmsg_len, nlh->nlmsg_len, sprintrc(rc));
+
+	err->error = -32767;
+	nlh->nlmsg_len += sizeof(err->msg.nlmsg_len);
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-32767, msg=%p}}"
+	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	/* error message with room for the error code and a header */
+	nlh = nlh0 - sizeof(*err);
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(*err);
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = -13;
+	err->msg.nlmsg_len = NLMSG_HDRLEN;
+	err->msg.nlmsg_type = NLMSG_NOOP;
+	err->msg.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST;
+	err->msg.nlmsg_seq = 42;
+	err->msg.nlmsg_pid = 1234;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EACCES"
+	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+	       ", seq=%u, pid=%u}}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
+	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	/* error message with room for the error code, a header, and some data */
+	nlh = nlh0 - sizeof(*err) - 4;
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(*err) + 4;
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = -13;
+	err->msg.nlmsg_len = NLMSG_HDRLEN + 4;
+	err->msg.nlmsg_type = NLMSG_NOOP;
+	err->msg.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST;
+	err->msg.nlmsg_seq = 421;
+	err->msg.nlmsg_pid = 12345;
+	memcpy(NLMSG_DATA(&err->msg), "abcd", 4);
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EACCES"
+	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+	       ", seq=%u, pid=%u}, \"abcd\"}}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n",
+	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
+	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
+	       nlh->nlmsg_len, sprintrc(rc));
+}
+
 int main(void)
 {
 	struct sockaddr_nl addr;
@@ -227,6 +342,7 @@
 	free(path);
 
 	send_query(fd);
+	test_nlmsgerr(fd);
 
 	printf("+++ exited with 0 +++\n");
 
diff --git a/tests-mx32/netlink_protocol.gen.test b/tests-mx32/netlink_protocol.gen.test
new file mode 100755
index 0000000..9a132fa
--- /dev/null
+++ b/tests-mx32/netlink_protocol.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=%network); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=%network
diff --git a/tests-mx32/netlink_protocol.test b/tests-mx32/netlink_protocol.test
deleted file mode 100755
index ab2bb1e..0000000
--- a/tests-mx32/netlink_protocol.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# Check decoding of netlink protocol.
-
-. "${srcdir=.}/init.sh"
-
-# getfdproto is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-    framework_skip_ '/proc/self/fd/ is not available'
-
-run_strace_match_diff -e trace=network
diff --git a/tests-mx32/newfstatat.gen.test b/tests-mx32/newfstatat.gen.test
new file mode 100755
index 0000000..40ec797
--- /dev/null
+++ b/tests-mx32/newfstatat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (newfstatat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/newfstatat.test b/tests-mx32/newfstatat.test
deleted file mode 100755
index 6d83ec0..0000000
--- a/tests-mx32/newfstatat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check newfstatat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/nsyscalls.c b/tests-mx32/nsyscalls.c
index aecf7aa..7fda5ba 100644
--- a/tests-mx32/nsyscalls.c
+++ b/tests-mx32/nsyscalls.c
@@ -2,6 +2,7 @@
  * Check decoding of out-of-range syscalls.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,6 +42,13 @@
 #define TP 0
 #define TS 0
 #define TM 0
+#define TST 0
+#define TLST 0
+#define TFST 0
+#define TSTA 0
+#define TSF 0
+#define TFSF 0
+#define TSFA 0
 #define NF 0
 #define MA 0
 #define SI 0
diff --git a/tests-mx32/old_mmap.gen.test b/tests-mx32/old_mmap.gen.test
new file mode 100755
index 0000000..1913eec
--- /dev/null
+++ b/tests-mx32/old_mmap.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap -a11 -e trace=mmap); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=mmap
diff --git a/tests-mx32/old_mmap.test b/tests-mx32/old_mmap.test
deleted file mode 100755
index af776ff..0000000
--- a/tests-mx32/old_mmap.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of "old mmap" edition of mmap syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=mmap
diff --git a/tests-mx32/oldfstat.c b/tests-mx32/oldfstat.c
index f5a9441..353614c 100644
--- a/tests-mx32/oldfstat.c
+++ b/tests-mx32/oldfstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/oldfstat.gen.test b/tests-mx32/oldfstat.gen.test
new file mode 100755
index 0000000..2b48b39
--- /dev/null
+++ b/tests-mx32/oldfstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldfstat -a18 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18 -v -P stat.sample
diff --git a/tests-mx32/oldfstat.test b/tests-mx32/oldfstat.test
deleted file mode 100755
index 66a1056..0000000
--- a/tests-mx32/oldfstat.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/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-mx32/oldlstat.c b/tests-mx32/oldlstat.c
index 6613237..6f07531 100644
--- a/tests-mx32/oldlstat.c
+++ b/tests-mx32/oldlstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/oldlstat.gen.test b/tests-mx32/oldlstat.gen.test
new file mode 100755
index 0000000..3202b92
--- /dev/null
+++ b/tests-mx32/oldlstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldlstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/oldlstat.test b/tests-mx32/oldlstat.test
deleted file mode 100755
index a0f9ab9..0000000
--- a/tests-mx32/oldlstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check oldlstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/oldstat.c b/tests-mx32/oldstat.c
index d06e2bc..ddacd24 100644
--- a/tests-mx32/oldstat.c
+++ b/tests-mx32/oldstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/oldstat.gen.test b/tests-mx32/oldstat.gen.test
new file mode 100755
index 0000000..f265ac5
--- /dev/null
+++ b/tests-mx32/oldstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/oldstat.test b/tests-mx32/oldstat.test
deleted file mode 100755
index 42d70f7..0000000
--- a/tests-mx32/oldstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check oldstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/open.gen.test b/tests-mx32/open.gen.test
new file mode 100755
index 0000000..eb931a3
--- /dev/null
+++ b/tests-mx32/open.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (open -a30 -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -P $NAME.sample
diff --git a/tests-mx32/open.test b/tests-mx32/open.test
deleted file mode 100755
index 6df19cb..0000000
--- a/tests-mx32/open.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -P $NAME.sample
diff --git a/tests-mx32/openat.gen.test b/tests-mx32/openat.gen.test
new file mode 100755
index 0000000..fe29e1c
--- /dev/null
+++ b/tests-mx32/openat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (openat -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -P $NAME.sample
diff --git a/tests-mx32/openat.test b/tests-mx32/openat.test
deleted file mode 100755
index 68c4cee..0000000
--- a/tests-mx32/openat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check openat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -P $NAME.sample
diff --git a/tests-mx32/opipe.test b/tests-mx32/opipe.test
index 90e6838..f622045 100755
--- a/tests-mx32/opipe.test
+++ b/tests-mx32/opipe.test
@@ -6,11 +6,9 @@
 
 check_prog grep
 run_prog grep chdir $srcdir/umovestr.expected > "$EXP"
-run_prog ./umovestr
+run_prog ../umovestr
 
-> "$LOG" || fail_ "failed to write $LOG"
 $STRACE -o "|cat > $LOG && $SLEEP_A_BIT && grep chdir < $LOG > $OUT" -e chdir $args ||
 	dump_log_and_fail_with "$STRACE $args failed"
 
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/options-syntax.test b/tests-mx32/options-syntax.test
index 592b0e0..4c778b3 100755
--- a/tests-mx32/options-syntax.test
+++ b/tests-mx32/options-syntax.test
@@ -3,6 +3,7 @@
 # Check strace options syntax.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -39,6 +40,16 @@
 			"strace $* failed to print expected diagnostics"
 }
 
+check_exit_status_and_stderr_using_grep()
+{
+	$STRACE "$@" 2> "$LOG" &&
+		dump_log_and_fail_with \
+			"strace $* failed to handle the error properly"
+	match_grep "$LOG" "$EXP" ||
+		dump_log_and_fail_with \
+			"strace $* failed to print expected diagnostics"
+}
+
 strace_exp="${STRACE##* }"
 
 check_e()
@@ -50,6 +61,15 @@
 	check_exit_status_and_stderr "$@"
 }
 
+check_e_using_grep()
+{
+	local pattern="$1"; shift
+	cat > "$EXP" << __EOF__
+$strace_exp: $pattern
+__EOF__
+	check_exit_status_and_stderr_using_grep "$@"
+}
+
 check_h()
 {
 	local pattern="$1"; shift
@@ -72,6 +92,7 @@
 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 '/non_syscall'" -e trace=/non_syscall
 check_e "invalid system call '2147483647'" -e 2147483647
 check_e "invalid system call '2147483648'" -e 2147483648
 check_e "invalid system call '4294967295'" -e 4294967295
@@ -88,6 +109,12 @@
 check_e "invalid descriptor '!'" -eread='0,!'
 check_e "invalid descriptor '!,'" -ewrite='!,'
 
+check_e_using_grep 'regcomp: \+id: [[:alpha:]].+' -e trace='/+id'
+check_e_using_grep 'regcomp: \*id: [[:alpha:]].+' -e trace='/*id'
+check_e_using_grep 'regcomp: \{id: [[:alpha:]].+' -e trace='/{id'
+check_e_using_grep 'regcomp: \(id: [[:alpha:]].+' -e trace='/(id'
+check_e_using_grep 'regcomp: \[id: [[:alpha:]].+' -e trace='/[id'
+
 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
@@ -144,5 +171,3 @@
 [ -z "$args" ] ||
 	dump_log_and_fail_with \
 		"strace $args failed to print expected diagnostics"
-
-rm -f "$EXP"
diff --git a/tests-mx32/osf_utimes.c b/tests-mx32/osf_utimes.c
new file mode 100644
index 0000000..7ac083e
--- /dev/null
+++ b/tests-mx32/osf_utimes.c
@@ -0,0 +1,45 @@
+/*
+ * Check decoding of osf_utimes syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_osf_utimes
+
+# define TEST_SYSCALL_NR	__NR_osf_utimes
+# define TEST_SYSCALL_STR	"osf_utimes"
+# define TEST_STRUCT		struct timeval32
+struct timeval32 { int tv_sec, tv_usec; };
+# include "xutimes.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_osf_utimes")
+
+#endif
diff --git a/tests-mx32/osf_utimes.gen.test b/tests-mx32/osf_utimes.gen.test
new file mode 100755
index 0000000..b6be305
--- /dev/null
+++ b/tests-mx32/osf_utimes.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (osf_utimes -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-mx32/pause.gen.test b/tests-mx32/pause.gen.test
new file mode 100755
index 0000000..76492b6
--- /dev/null
+++ b/tests-mx32/pause.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pause -a8 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8 -esignal=none
diff --git a/tests-mx32/pause.test b/tests-mx32/pause.test
deleted file mode 100755
index c5fdacd..0000000
--- a/tests-mx32/pause.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pause syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8 -esignal=none
diff --git a/tests-mx32/pc.test b/tests-mx32/pc.test
index beadb7d..af09701 100755
--- a/tests-mx32/pc.test
+++ b/tests-mx32/pc.test
@@ -3,6 +3,7 @@
 # Check -i option.
 #
 # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -47,15 +48,11 @@
 [ -n "$addr" ] ||
 	dump_log_and_fail_with
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
+cat > "$EXP" << __EOF__
 \\[[[:xdigit:]]{$len}\\] munmap\\(0x[[:xdigit:]]+, 0\\) += -1 .*
 \\[pid +$pid\\] \\[$ip\\] --- SIGSEGV \\{si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x$addr\\} ---
 \\[pid +$pid\\] \\[\\?{$len}\\] \\+\\+\\+ killed by SIGSEGV( \\(core dumped\\))? \\+\\+\\+
 \\[\\?{$len}\\] \\+\\+\\+ exited with 0 \\+\\+\\+
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-
-exit 0
+match_grep "$LOG" "$EXP"
diff --git a/tests-mx32/perf_event_open.c b/tests-mx32/perf_event_open.c
index 0ffea29..3f544a6 100644
--- a/tests-mx32/perf_event_open.c
+++ b/tests-mx32/perf_event_open.c
@@ -2,6 +2,7 @@
  * Check verbose decoding of perf_event_open syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -681,7 +682,7 @@
 		ATTR_REC(attr_big_size),
 	};
 
-	struct perf_event_attr *small_attr = tail_alloc(sizeof(*small_attr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, small_attr);
 
 	struct {
 		struct perf_event_attr *attr;
diff --git a/tests-mx32/perf_event_open.gen.test b/tests-mx32/perf_event_open.gen.test
new file mode 100755
index 0000000..85336c3
--- /dev/null
+++ b/tests-mx32/perf_event_open.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open -a1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1
diff --git a/tests-mx32/perf_event_open.test b/tests-mx32/perf_event_open.test
deleted file mode 100755
index 499134b..0000000
--- a/tests-mx32/perf_event_open.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check perf_event_open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a1
diff --git a/tests-mx32/perf_event_open_nonverbose.c b/tests-mx32/perf_event_open_nonverbose.c
index 45d7c8f..b67715c 100644
--- a/tests-mx32/perf_event_open_nonverbose.c
+++ b/tests-mx32/perf_event_open_nonverbose.c
@@ -2,6 +2,7 @@
  * Check decoding of perf_event_open syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,7 +63,7 @@
 int
 main(void)
 {
-	struct perf_event_attr *attr = tail_alloc(sizeof(*attr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, attr);
 
 	attr->type = PERF_TYPE_HARDWARE;
 	attr->size = sizeof(*attr);
diff --git a/tests-mx32/perf_event_open_nonverbose.gen.test b/tests-mx32/perf_event_open_nonverbose.gen.test
new file mode 100755
index 0000000..f1ed333
--- /dev/null
+++ b/tests-mx32/perf_event_open_nonverbose.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open_nonverbose -a34 -e verbose=none -e trace=perf_event_open); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34 -e verbose=none -e trace=perf_event_open
diff --git a/tests-mx32/perf_event_open_nonverbose.test b/tests-mx32/perf_event_open_nonverbose.test
deleted file mode 100755
index 404827f..0000000
--- a/tests-mx32/perf_event_open_nonverbose.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/perf_event_open_unabbrev.gen.test b/tests-mx32/perf_event_open_unabbrev.gen.test
new file mode 100755
index 0000000..1d9bd85
--- /dev/null
+++ b/tests-mx32/perf_event_open_unabbrev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open_unabbrev -a1 -v -e trace=perf_event_open); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1 -v -e trace=perf_event_open
diff --git a/tests-mx32/perf_event_open_unabbrev.test b/tests-mx32/perf_event_open_unabbrev.test
deleted file mode 100755
index f17fd17..0000000
--- a/tests-mx32/perf_event_open_unabbrev.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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-mx32/personality.test b/tests-mx32/personality.test
index 8f8c0ad..ab2faf4 100755
--- a/tests-mx32/personality.test
+++ b/tests-mx32/personality.test
@@ -5,8 +5,5 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -a20 -epersonality $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace -a20 -epersonality $args > "$EXP"
+match_grep "$LOG" "$EXP"
diff --git a/tests-mx32/pipe.c b/tests-mx32/pipe.c
index 41c7f21..3df2094 100644
--- a/tests-mx32/pipe.c
+++ b/tests-mx32/pipe.c
@@ -2,6 +2,7 @@
  * Check decoding of pipe syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/pipe2.c b/tests-mx32/pipe2.c
index 375ae74..3a0e046 100644
--- a/tests-mx32/pipe2.c
+++ b/tests-mx32/pipe2.c
@@ -39,18 +39,16 @@
 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);
+	rc = syscall(__NR_pipe2, fds, F8ILL_KULONG_MASK | 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);
+	rc = syscall(__NR_pipe2, efault, F8ILL_KULONG_MASK);
 	printf("pipe2(%p, 0) = %s\n", efault, sprintrc(rc));
 
 	if (F8ILL_KULONG_SUPPORTED) {
diff --git a/tests-mx32/pipe2.gen.test b/tests-mx32/pipe2.gen.test
new file mode 100755
index 0000000..5a06c03
--- /dev/null
+++ b/tests-mx32/pipe2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pipe2 -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-mx32/pipe2.test b/tests-mx32/pipe2.test
deleted file mode 100755
index aff6cd4..0000000
--- a/tests-mx32/pipe2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pipe2 syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a15
diff --git a/tests-mx32/pkey_alloc.gen.test b/tests-mx32/pkey_alloc.gen.test
new file mode 100755
index 0000000..b3e5869
--- /dev/null
+++ b/tests-mx32/pkey_alloc.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_alloc -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-mx32/pkey_alloc.test b/tests-mx32/pkey_alloc.test
deleted file mode 100755
index f168c21..0000000
--- a/tests-mx32/pkey_alloc.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_alloc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-mx32/pkey_free.gen.test b/tests-mx32/pkey_free.gen.test
new file mode 100755
index 0000000..588d1aa
--- /dev/null
+++ b/tests-mx32/pkey_free.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_free -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests-mx32/pkey_free.test b/tests-mx32/pkey_free.test
deleted file mode 100755
index 9c01c3e..0000000
--- a/tests-mx32/pkey_free.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_free syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests-mx32/pkey_mprotect.gen.test b/tests-mx32/pkey_mprotect.gen.test
new file mode 100755
index 0000000..14be231
--- /dev/null
+++ b/tests-mx32/pkey_mprotect.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_mprotect -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests-mx32/pkey_mprotect.test b/tests-mx32/pkey_mprotect.test
deleted file mode 100755
index 922d491..0000000
--- a/tests-mx32/pkey_mprotect.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_mprotect syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests-mx32/poll.test b/tests-mx32/poll.test
index b74be29..d09193d 100755
--- a/tests-mx32/poll.test
+++ b/tests-mx32/poll.test
@@ -5,13 +5,11 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -a16 -vepoll $args > "$OUT"
-match_diff "$LOG" "$OUT"
+run_strace -a16 -vepoll $args > "$EXP"
+match_diff "$LOG" "$EXP"
 
 for abbrev in 0 1 2 3 4 5; do
-	run_prog "./$NAME" $abbrev > /dev/null
-	run_strace -a16 -epoll -s$abbrev $args > "$OUT"
-	match_diff "$LOG" "$OUT"
+	run_prog "../$NAME" $abbrev > /dev/null
+	run_strace -a16 -epoll -s$abbrev $args > "$EXP"
+	match_diff "$LOG" "$EXP"
 done
-
-rm -f "$OUT"
diff --git a/tests-mx32/ppoll-v.c b/tests-mx32/ppoll-v.c
new file mode 100644
index 0000000..cf4fdea
--- /dev/null
+++ b/tests-mx32/ppoll-v.c
@@ -0,0 +1,3 @@
+/* This file is part of ppoll-v strace test. */
+#define VERBOSE 1
+#include "ppoll.c"
diff --git a/tests-mx32/ppoll-v.expected b/tests-mx32/ppoll-v.expected
deleted file mode 100644
index 31070ad..0000000
--- a/tests-mx32/ppoll-v.expected
+++ /dev/null
@@ -1,3 +0,0 @@
-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-mx32/ppoll-v.gen.test b/tests-mx32/ppoll-v.gen.test
new file mode 100755
index 0000000..cd1fcc6
--- /dev/null
+++ b/tests-mx32/ppoll-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ppoll-v -v -s2 -e trace=ppoll); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -s2 -e trace=ppoll
diff --git a/tests-mx32/ppoll.c b/tests-mx32/ppoll.c
index 46d7e81..85a7e0c 100644
--- a/tests-mx32/ppoll.c
+++ b/tests-mx32/ppoll.c
@@ -1,5 +1,7 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of ppoll syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,69 +28,165 @@
  */
 
 #include "tests.h"
-#include <assert.h>
-#include <poll.h>
-#include <signal.h>
-#include <unistd.h>
+#include <asm/unistd.h>
 
-static void
-test1(void)
+#ifdef __NR_ppoll
+
+# include <errno.h>
+# include <poll.h>
+# include <signal.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+sys_ppoll(const kernel_ulong_t ufds,
+	  const kernel_ulong_t nfds,
+	  const kernel_ulong_t tsp,
+	  const kernel_ulong_t sigmask,
+	  const kernel_ulong_t sigsetsize)
 {
-	const struct timespec timeout = { .tv_sec = 42, .tv_nsec = 999999999 };
-	struct pollfd fds[] = {
-		{ .fd = 0, .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
-		{ .fd = 1, .events = POLLOUT | POLLWRNORM | POLLWRBAND },
-		{ .fd = 3, .events = POLLIN | POLLPRI },
-		{ .fd = 4, .events = POLLOUT }
-	};
-
-	sigset_t mask;
-	sigemptyset(&mask);
-	sigaddset(&mask, SIGUSR2);
-	sigaddset(&mask, SIGCHLD);
-
-	int rc = ppoll(fds, sizeof(fds) / sizeof(*fds), &timeout, &mask);
-	if (rc < 0)
-		perror_msg_and_skip("ppoll");
-	assert(rc == 2);
-}
-
-static void
-test2(void)
-{
-	const struct timespec timeout = { .tv_sec = 0, .tv_nsec = 999 };
-	struct pollfd fds[] = {
-		{ .fd = 1, .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
-		{ .fd = 0, .events = POLLOUT | POLLWRNORM | POLLWRBAND }
-	};
-
-	sigset_t mask;
-	sigfillset(&mask);
-	sigdelset(&mask, SIGHUP);
-	sigdelset(&mask, SIGKILL);
-	sigdelset(&mask, SIGSTOP);
-
-	int rc = ppoll(fds, sizeof(fds) / sizeof(*fds), &timeout, &mask);
-	if (rc < 0)
-		perror_msg_and_skip("ppoll");
-	assert(rc == 0);
+	long rc = syscall(__NR_ppoll, ufds, nfds, tsp, sigmask, sigsetsize);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 int
 main(void)
 {
-	int fds[2];
+	static const kernel_ulong_t bogus_nfds =
+		(kernel_ulong_t) 0xdeadbeeffacefeedULL;
+	static const kernel_ulong_t bogus_sigsetsize =
+		(kernel_ulong_t) 0xdeadbeefbadc0dedULL;
+	static const char *const POLLWRNORM_str =
+		(POLLWRNORM == POLLOUT) ? "" : "|POLLWRNORM";
+	static const char *const USR2_CHLD_str =
+		(SIGUSR2 < SIGCHLD) ? "USR2 CHLD" : "CHLD USR2";
+	void *const efault = tail_alloc(1024) + 1024;
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
+	const unsigned int sigset_size = get_sigset_size();
+	void *const sigmask = tail_alloc(sigset_size);
+	struct pollfd *fds;
+	sigset_t mask;
+	int pipe_fd[4];
+	long rc;
 
-	(void) close(0);
-	(void) close(1);
-	(void) close(3);
-	(void) close(4);
-	if (pipe(fds) || pipe(fds))
+	sys_ppoll(0, bogus_nfds, 0, 0, bogus_sigsetsize);
+	if (ENOSYS == errno)
+		perror_msg_and_skip("ppoll");
+	printf("ppoll(NULL, %u, NULL, NULL, %llu) = %s\n",
+	       (unsigned) bogus_nfds, (unsigned long long) bogus_sigsetsize,
+	       errstr);
+
+	sys_ppoll((unsigned long) efault, 42, (unsigned long) efault + 8,
+		  (unsigned long) efault + 16, sigset_size);
+	printf("ppoll(%p, %u, %p, %p, %u) = %s\n",
+	       efault, 42, efault + 8, efault + 16, sigset_size, errstr);
+
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	sys_ppoll(0, 0, (unsigned long) ts, 0, sigset_size);
+	printf("ppoll(NULL, 0, {tv_sec=%lld, tv_nsec=%llu}, NULL, %u) = %s\n",
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+	       sigset_size, errstr);
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedL;
+	sys_ppoll(0, 0, (unsigned long) ts, 0, sigset_size);
+	printf("ppoll(NULL, 0, {tv_sec=%lld, tv_nsec=%llu}, NULL, %u) = %s\n",
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+	       sigset_size, errstr);
+
+	if (pipe(pipe_fd) || pipe(pipe_fd + 2))
 		perror_msg_and_fail("pipe");
 
-	test1();
-	test2();
+	ts->tv_sec = 42;
+	ts->tv_nsec = 999999999;
 
-	assert(ppoll(NULL, 42, NULL, NULL) < 0);
+	const struct pollfd fds1[] = {
+		{ .fd = pipe_fd[0], .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
+		{ .fd = pipe_fd[1], .events = POLLOUT | POLLWRNORM | POLLWRBAND },
+		{ .fd = pipe_fd[2], .events = POLLIN | POLLPRI },
+		{ .fd = pipe_fd[3], .events = POLLOUT }
+	};
+	fds = efault - sizeof(fds1);
+	memcpy(fds, fds1, sizeof(fds1));
+
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGUSR2);
+	sigaddset(&mask, SIGCHLD);
+	memcpy(sigmask, &mask, sigset_size);
+
+	rc = sys_ppoll((unsigned long) fds,
+		       F8ILL_KULONG_MASK | ARRAY_SIZE(fds1), (unsigned long) ts,
+		       (unsigned long) sigmask, sigset_size);
+	if (rc != 2)
+		perror_msg_and_fail("ppoll 1");
+	printf("ppoll([{fd=%d, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}"
+	       ", {fd=%d, events=POLLOUT%s|POLLWRBAND}"
+#if VERBOSE
+	       ", {fd=%d, events=POLLIN|POLLPRI}, {fd=%d, events=POLLOUT}]"
+#else
+	       ", ...]"
+#endif
+	       ", %u, {tv_sec=42, tv_nsec=999999999}, [%s], %u) = %ld"
+	       " ([{fd=%d, revents=POLLOUT%s}, {fd=%d, revents=POLLOUT}]"
+	       ", left {tv_sec=%u, tv_nsec=%u})\n",
+	       pipe_fd[0], pipe_fd[1], POLLWRNORM_str,
+#if VERBOSE
+	       pipe_fd[2], pipe_fd[3],
+#endif
+	       (unsigned) ARRAY_SIZE(fds1), USR2_CHLD_str,
+	       (unsigned) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
+	       pipe_fd[3], (unsigned ) ts->tv_sec, (unsigned) ts->tv_nsec);
+
+	ts->tv_sec = 0;
+	ts->tv_nsec = 999;
+	const struct pollfd fds2[] = {
+		{ .fd = pipe_fd[1], .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
+		{ .fd = pipe_fd[0], .events = POLLOUT | POLLWRNORM | POLLWRBAND }
+	};
+	fds = efault - sizeof(fds2);
+	memcpy(fds, fds2, sizeof(fds2));
+
+	memset(&mask, -1, sizeof(mask));
+	sigdelset(&mask, SIGHUP);
+	sigdelset(&mask, SIGKILL);
+	sigdelset(&mask, SIGSTOP);
+	memcpy(sigmask, &mask, sigset_size);
+
+	rc = sys_ppoll((unsigned long) fds,
+		       F8ILL_KULONG_MASK | ARRAY_SIZE(fds2), (unsigned long) ts,
+		       (unsigned long) sigmask, sigset_size);
+	if (rc != 0)
+		perror_msg_and_fail("ppoll 2");
+	printf("ppoll([{fd=%d, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}"
+	       ", {fd=%d, events=POLLOUT%s|POLLWRBAND}], %u"
+	       ", {tv_sec=0, tv_nsec=999}, ~[HUP KILL STOP], %u)"
+	       " = %ld (Timeout)\n",
+	       pipe_fd[1], pipe_fd[0], POLLWRNORM_str,
+	       (unsigned) ARRAY_SIZE(fds2), sigset_size, rc);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		sys_ppoll(f8ill_ptr_to_kulong(fds), ARRAY_SIZE(fds2),
+			  f8ill_ptr_to_kulong(ts), f8ill_ptr_to_kulong(sigmask),
+			  sigset_size);
+		printf("ppoll(%#llx, %u, %#llx, %#llx, %u) = %s\n",
+		       (unsigned long long) f8ill_ptr_to_kulong(fds),
+		       (unsigned) ARRAY_SIZE(fds2),
+		       (unsigned long long) f8ill_ptr_to_kulong(ts),
+		       (unsigned long long) f8ill_ptr_to_kulong(sigmask),
+		       (unsigned) sigset_size, errstr);
+	}
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_ppoll")
+
+#endif
diff --git a/tests-mx32/ppoll.expected b/tests-mx32/ppoll.expected
deleted file mode 100644
index c38a206..0000000
--- a/tests-mx32/ppoll.expected
+++ /dev/null
@@ -1,3 +0,0 @@
-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-mx32/ppoll.gen.test b/tests-mx32/ppoll.gen.test
new file mode 100755
index 0000000..4c07598
--- /dev/null
+++ b/tests-mx32/ppoll.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ppoll -s2); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2
diff --git a/tests-mx32/ppoll.test b/tests-mx32/ppoll.test
deleted file mode 100755
index 98389ee..0000000
--- a/tests-mx32/ppoll.test
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# Check ppoll syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog
-run_strace -a30 -s2 -e ppoll $args
-match_grep
-run_strace -a30 -v -s2 -e ppoll $args
-match_grep "$LOG" "$srcdir/$NAME-v.expected"
-
-exit 0
diff --git a/tests-mx32/prctl-arg2-intptr.c b/tests-mx32/prctl-arg2-intptr.c
index ee000eb..9cc3308 100644
--- a/tests-mx32/prctl-arg2-intptr.c
+++ b/tests-mx32/prctl-arg2-intptr.c
@@ -4,6 +4,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,7 +71,7 @@
 		{ 11, "PR_GET_FPEXC" },
 	};
 
-	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, ptr);
 	long rc;
 	unsigned int i;
 
diff --git a/tests-mx32/prctl-arg2-intptr.test b/tests-mx32/prctl-arg2-intptr.test
index bcef806..4f9e3a1 100755
--- a/tests-mx32/prctl-arg2-intptr.test
+++ b/tests-mx32/prctl-arg2-intptr.test
@@ -10,5 +10,3 @@
 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-mx32/prctl-dumpable.test b/tests-mx32/prctl-dumpable.test
index 08acb8b..05f1310 100755
--- a/tests-mx32/prctl-dumpable.test
+++ b/tests-mx32/prctl-dumpable.test
@@ -8,5 +8,3 @@
 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-mx32/prctl-name.test b/tests-mx32/prctl-name.test
index 071179c..95d34b6 100755
--- a/tests-mx32/prctl-name.test
+++ b/tests-mx32/prctl-name.test
@@ -8,5 +8,3 @@
 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-mx32/prctl-no-args.c b/tests-mx32/prctl-no-args.c
index 57e1b73..496cd1a 100644
--- a/tests-mx32/prctl-no-args.c
+++ b/tests-mx32/prctl-no-args.c
@@ -4,6 +4,7 @@
  * PR_TASK_PERF_EVENTS_DISABLE, and PR_TASK_PERF_EVENTS_ENABLE.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +58,7 @@
 		{ 32, "PR_TASK_PERF_EVENTS_ENABLE" },
 	};
 
-	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, ptr);
 	unsigned int i;
 
 	for (i = 0; i < ARRAY_SIZE(options); i++) {
diff --git a/tests-mx32/prctl-no-args.test b/tests-mx32/prctl-no-args.test
index ce8ca67..8ff300b 100755
--- a/tests-mx32/prctl-no-args.test
+++ b/tests-mx32/prctl-no-args.test
@@ -10,5 +10,3 @@
 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-mx32/prctl-pdeathsig.c b/tests-mx32/prctl-pdeathsig.c
index c176030..ef56374 100644
--- a/tests-mx32/prctl-pdeathsig.c
+++ b/tests-mx32/prctl-pdeathsig.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@foxmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 	static const kernel_ulong_t bogus_signal =
 		(kernel_ulong_t) 0xbadc0deddeadfeedULL;
 
-	int *pdeathsig = tail_alloc(sizeof(*pdeathsig));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, pdeathsig);
 	long rc;
 
 	rc = syscall(__NR_prctl, PR_SET_PDEATHSIG, bogus_signal);
diff --git a/tests-mx32/prctl-pdeathsig.test b/tests-mx32/prctl-pdeathsig.test
index 2777503..b6e0140 100755
--- a/tests-mx32/prctl-pdeathsig.test
+++ b/tests-mx32/prctl-pdeathsig.test
@@ -9,5 +9,3 @@
 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-mx32/prctl-seccomp-filter-v.test b/tests-mx32/prctl-seccomp-filter-v.test
index 44e4a78..3663ad8 100755
--- a/tests-mx32/prctl-seccomp-filter-v.test
+++ b/tests-mx32/prctl-seccomp-filter-v.test
@@ -9,5 +9,3 @@
 run_strace -v -eprctl $args > "$EXP"
 grep -v '^prctl(PR_GET_' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/prctl-seccomp-strict.test b/tests-mx32/prctl-seccomp-strict.test
index 1f987df..bee85b8 100755
--- a/tests-mx32/prctl-seccomp-strict.test
+++ b/tests-mx32/prctl-seccomp-strict.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 check_prog grep
-set -- "./$NAME"
+set -- "../$NAME"
 "$@" > /dev/null || {
 	case $? in
 		77) skip_ "$* exited with code 77" ;;
@@ -16,4 +16,3 @@
 run_strace -eprctl "$@" > "$EXP"
 grep -v '^prctl(PR_GET_' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests-mx32/prctl-securebits.test b/tests-mx32/prctl-securebits.test
index c91e62a..32b0f2a 100755
--- a/tests-mx32/prctl-securebits.test
+++ b/tests-mx32/prctl-securebits.test
@@ -8,5 +8,3 @@
 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-mx32/prctl-tid_address.c b/tests-mx32/prctl-tid_address.c
index 24e4503..609e549 100644
--- a/tests-mx32/prctl-tid_address.c
+++ b/tests-mx32/prctl-tid_address.c
@@ -2,6 +2,7 @@
  * Check decoding of prctl PR_GET_TID_ADDRESS operation.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,7 +60,7 @@
 		(kernel_ulong_t) 0xfffffffffffffffdULL;
 
 	/* Note that kernel puts kernel-sized pointer even on x32 */
-	kernel_ulong_t *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, ptr);
 	long rc;
 	long set_ok;
 
diff --git a/tests-mx32/prctl-tid_address.test b/tests-mx32/prctl-tid_address.test
index dc7b7c3..62a39e5 100755
--- a/tests-mx32/prctl-tid_address.test
+++ b/tests-mx32/prctl-tid_address.test
@@ -8,5 +8,3 @@
 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-mx32/prctl-tsc.c b/tests-mx32/prctl-tsc.c
index fd9362d..0ddb380 100644
--- a/tests-mx32/prctl-tsc.c
+++ b/tests-mx32/prctl-tsc.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@foxmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,7 +44,7 @@
 	static const kernel_ulong_t bogus_tsc =
 		(kernel_ulong_t) 0xdeadc0defacebeefULL;
 
-	int *tsc = tail_alloc(sizeof(*tsc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, tsc);
 	long rc;
 
 	rc = syscall(__NR_prctl, PR_SET_TSC, 0);
diff --git a/tests-mx32/prctl-tsc.test b/tests-mx32/prctl-tsc.test
index a906ba8..439d9d5 100755
--- a/tests-mx32/prctl-tsc.test
+++ b/tests-mx32/prctl-tsc.test
@@ -9,5 +9,3 @@
 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-mx32/pread64-pwrite64.c b/tests-mx32/pread64-pwrite64.c
index 4a0932a..e9d7a64 100644
--- a/tests-mx32/pread64-pwrite64.c
+++ b/tests-mx32/pread64-pwrite64.c
@@ -2,6 +2,7 @@
  * Check decoding of pread64 and pwrite64 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -123,7 +124,9 @@
 {
 	tprintf("%s", "");
 
-	static char tmp[] = "pread64-pwrite64-tmpfile";
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const char tmp[] = "pread64-pwrite64-tmpfile";
 	if (open(tmp, O_CREAT|O_RDONLY|O_TRUNC, 0600) != 0)
 		perror_msg_and_fail("creat: %s", tmp);
 	if (open(tmp, O_WRONLY) != 1)
diff --git a/tests-mx32/pread64-pwrite64.gen.test b/tests-mx32/pread64-pwrite64.gen.test
new file mode 100755
index 0000000..b53e069
--- /dev/null
+++ b/tests-mx32/pread64-pwrite64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pread64-pwrite64 -a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests-mx32/pread64-pwrite64.test b/tests-mx32/pread64-pwrite64.test
deleted file mode 100755
index e585406..0000000
--- a/tests-mx32/pread64-pwrite64.test
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of pread64 and pwrite64 syscalls.
-
-. "${srcdir=.}/init.sh"
-
-# strace -P is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
-tmpfile=pread64-pwrite64-tmpfile
-> $tmpfile
-
-run_strace_match_diff \
-	-a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 \
-	-P $tmpfile -P /dev/zero -P /dev/null
-
-rm -f $tmpfile
diff --git a/tests-mx32/preadv-pwritev.gen.test b/tests-mx32/preadv-pwritev.gen.test
new file mode 100755
index 0000000..5ed8297
--- /dev/null
+++ b/tests-mx32/preadv-pwritev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv-pwritev -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
diff --git a/tests-mx32/preadv-pwritev.test b/tests-mx32/preadv-pwritev.test
deleted file mode 100755
index cb2a077..0000000
--- a/tests-mx32/preadv-pwritev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of preadv and pwritev syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
diff --git a/tests-mx32/preadv.c b/tests-mx32/preadv.c
index fb5d3ad..a55909b 100644
--- a/tests-mx32/preadv.c
+++ b/tests-mx32/preadv.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,7 +67,7 @@
 {
 	const off_t offset = 0xdefaceddeadbeefLL;
 	char *buf = tail_alloc(LEN);
-	struct iovec *iov = tail_alloc(sizeof(*iov));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = buf;
 	iov->iov_len = LEN;
 
diff --git a/tests-mx32/preadv.gen.test b/tests-mx32/preadv.gen.test
new file mode 100755
index 0000000..8fb7b54
--- /dev/null
+++ b/tests-mx32/preadv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-mx32/preadv.test b/tests-mx32/preadv.test
deleted file mode 100755
index d1abdb7..0000000
--- a/tests-mx32/preadv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check preadv syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-mx32/preadv2-pwritev2.c b/tests-mx32/preadv2-pwritev2.c
index f7c46c0..e31e046 100644
--- a/tests-mx32/preadv2-pwritev2.c
+++ b/tests-mx32/preadv2-pwritev2.c
@@ -2,6 +2,7 @@
  * Check decoding of preadv2 and pwritev2 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -181,26 +182,45 @@
 main(void)
 {
 	const kernel_ulong_t vlen = (kernel_ulong_t) 0xfac1fed2dad3bef4ULL;
-	const unsigned long long pos = 0xfac5fed6dad7bef8;
+	const unsigned long long pos = 0x7ac5fed6dad7bef8;
 	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;
+	long rc;
+	int test_dumpio;
 
 	tprintf("%s", "");
 
-	syscall(__NR_preadv2, -1, NULL, vlen, pos_l, pos_h, 1);
-	if (ENOSYS == errno)
-		test_dumpio = 0;
-	tprintf("preadv2(-1, NULL, %lu, %lld, RWF_HIPRI) = -1 %s (%m)\n",
-		(unsigned long) vlen, pos, errno2name());
+#if defined __x86_64__ && defined __ILP32__
+	/*
+	 * x32 is the only architecture where preadv2 takes 5 arguments,
+	 * see preadv64v2 in kernel sources.
+	 */
+	rc = syscall(__NR_preadv2, -1, NULL, vlen, pos_l, 1);
+#else
+	const kernel_ulong_t pos_h =
+		(sizeof(pos_l) == sizeof(pos)) ?
+		(kernel_ulong_t) 0xbadc0deddeadbeefULL :
+		(kernel_ulong_t) (pos >> 32);
+	rc = syscall(__NR_preadv2, -1, NULL, vlen, pos_l, pos_h, 1);
+#endif
+	if (rc != -1 || (ENOSYS != errno && EBADF != errno))
+		perror_msg_and_fail("preadv2");
+	test_dumpio = EBADF == errno;
+	tprintf("preadv2(-1, NULL, %lu, %lld, RWF_HIPRI) = %s\n",
+		(unsigned long) vlen, pos, sprintrc(rc));
 
-	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",
-		(unsigned long) vlen, pos, errno2name());
+#if defined __x86_64__ && defined __ILP32__
+	/*
+	 * x32 is the only architecture where pwritev2 takes 5 arguments,
+	 * see pwritev64v2 in kernel sources.
+	 */
+	rc = syscall(__NR_pwritev2, -1, NULL, vlen, pos_l, 1);
+#else
+	rc = syscall(__NR_pwritev2, -1, NULL, vlen, pos_l, pos_h, 1);
+#endif
+	if (rc != -1 || (ENOSYS != errno && EBADF != errno))
+		perror_msg_and_fail("pwritev2");
+	tprintf("pwritev2(-1, NULL, %lu, %lld, RWF_HIPRI) = %s\n",
+		(unsigned long) vlen, pos, sprintrc(rc));
 
 	if (test_dumpio)
 		dumpio();
diff --git a/tests-mx32/preadv2-pwritev2.gen.test b/tests-mx32/preadv2-pwritev2.gen.test
new file mode 100755
index 0000000..2f89b41
--- /dev/null
+++ b/tests-mx32/preadv2-pwritev2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv2-pwritev2 -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
diff --git a/tests-mx32/preadv2-pwritev2.test b/tests-mx32/preadv2-pwritev2.test
deleted file mode 100755
index 5641ef4..0000000
--- a/tests-mx32/preadv2-pwritev2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of preadv2 and pwritev2 syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
diff --git a/tests-mx32/print_time.c b/tests-mx32/print_time.c
new file mode 100644
index 0000000..4292329
--- /dev/null
+++ b/tests-mx32/print_time.c
@@ -0,0 +1,75 @@
+/*
+ * Print time_t and nanoseconds in symbolic format.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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>
+
+static void
+print_time_t_ex(const time_t t, const unsigned long long part_sec,
+		const unsigned int max_part_sec, const int width,
+		const int comment)
+{
+
+	if ((!t && !part_sec) || part_sec > max_part_sec)
+		return;
+
+	const struct tm *const p = localtime(&t);
+	char buf[256];
+	if (!p || !strftime(buf, sizeof(buf), "%FT%T", p))
+		return;
+
+	if (comment)
+		fputs(" /* ", stdout);
+
+	fputs(buf, stdout);
+
+	if (part_sec)
+		printf(".%0*llu", width, part_sec);
+
+	if (strftime(buf, sizeof(buf), "%z", p))
+		fputs(buf, stdout);
+
+	if (comment)
+		fputs(" */", stdout);
+
+	return;
+}
+
+void
+print_time_t_nsec(const time_t t, const unsigned long long nsec, int comment)
+{
+	print_time_t_ex(t, nsec, 999999999, 9, comment);
+}
+
+void
+print_time_t_usec(const time_t t, const unsigned long long usec, int comment)
+{
+	print_time_t_ex(t, usec, 999999, 6, comment);
+}
diff --git a/tests-mx32/printstr.gen.test b/tests-mx32/printstr.gen.test
new file mode 100755
index 0000000..c3bd93a
--- /dev/null
+++ b/tests-mx32/printstr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (printstr -e trace=writev); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=writev
diff --git a/tests-mx32/printstr.test b/tests-mx32/printstr.test
deleted file mode 100755
index 5f164eb..0000000
--- a/tests-mx32/printstr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-mx32/prlimit64.gen.test b/tests-mx32/prlimit64.gen.test
new file mode 100755
index 0000000..11964a5
--- /dev/null
+++ b/tests-mx32/prlimit64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (prlimit64 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/prlimit64.test b/tests-mx32/prlimit64.test
deleted file mode 100755
index 2d2240d..0000000
--- a/tests-mx32/prlimit64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of prlimit64 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/process_vm_readv.gen.test b/tests-mx32/process_vm_readv.gen.test
new file mode 100755
index 0000000..3142588
--- /dev/null
+++ b/tests-mx32/process_vm_readv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (process_vm_readv -s5 -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a37
diff --git a/tests-mx32/process_vm_readv.test b/tests-mx32/process_vm_readv.test
deleted file mode 100755
index c092f5a..0000000
--- a/tests-mx32/process_vm_readv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of process_vm_readv syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s5 -a37
diff --git a/tests-mx32/process_vm_writev.gen.test b/tests-mx32/process_vm_writev.gen.test
new file mode 100755
index 0000000..0b912c0
--- /dev/null
+++ b/tests-mx32/process_vm_writev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (process_vm_writev -s5 -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a38
diff --git a/tests-mx32/process_vm_writev.test b/tests-mx32/process_vm_writev.test
deleted file mode 100755
index f690e6a..0000000
--- a/tests-mx32/process_vm_writev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of process_vm_writev syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s5 -a38
diff --git a/tests-mx32/pselect6.c b/tests-mx32/pselect6.c
index f264485..f5939f3 100644
--- a/tests-mx32/pselect6.c
+++ b/tests-mx32/pselect6.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -95,13 +96,13 @@
 	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, "
-	       "{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],
-	       (long long) tm.ts.tv_sec, (long long) tm.ts.tv_nsec);
+	printf("pselect6(%d, NULL, [1 2 %d %d], NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, NULL) = 3 (out [1 2 %d]"
+	       ", left {tv_sec=%lld, tv_nsec=%llu})\n",
+	       fds[1] + 1, fds[0], fds[1], (long long) tm_in.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm_in.ts.tv_nsec),
+	       fds[1], (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec));
 
 	/*
 	 * Now the crash case that trinity found, negative nfds
@@ -122,21 +123,40 @@
 	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, {tv_sec=0, tv_nsec=123}, "
-	       "{[HUP CHLD], %u}) = 0 (Timeout)\n",
+	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.
 	 */
+	tm.ts.tv_sec = 0xdeadbeefU;
+	tm.ts.tv_nsec = 0xfacefeedU;
+	assert(pselect(0, NULL, NULL, NULL, &tm.ts, NULL) == -1);
+	printf("pselect6(0, NULL, NULL, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {NULL, %u}) = %s\n",
+	       (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec),
+	       NSIG_BYTES, sprintrc(-1));
+
+	tm.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tm.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(pselect(0, NULL, NULL, NULL, &tm.ts, NULL) == -1);
+	printf("pselect6(0, NULL, NULL, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {NULL, %u}) = %s\n",
+	       (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec),
+	       NSIG_BYTES, sprintrc(-1));
+
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(setitimer(ITIMER_REAL, &itv, NULL) == 0);
 
+	tm.ts.tv_sec = 0;
 	tm.ts.tv_nsec = 222222222;
 	assert(pselect(0, NULL, NULL, NULL, &tm.ts, &mask) == -1);
-	printf("pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=222222222}, "
-	       "{[HUP CHLD], %u}) = "
-	       "? ERESTARTNOHAND (To be restarted if no handler)\n",
+	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} ---");
 
diff --git a/tests-mx32/pselect6.gen.test b/tests-mx32/pselect6.gen.test
new file mode 100755
index 0000000..c89e705
--- /dev/null
+++ b/tests-mx32/pselect6.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pselect6 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/pselect6.test b/tests-mx32/pselect6.test
deleted file mode 100755
index 203f8e2..0000000
--- a/tests-mx32/pselect6.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check pselect6 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/ptrace.c b/tests-mx32/ptrace.c
index 80ce8cb..9e0ffdc 100644
--- a/tests-mx32/ptrace.c
+++ b/tests-mx32/ptrace.c
@@ -2,6 +2,7 @@
  * Check decoding of ptrace syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -30,16 +31,14 @@
 #include "tests.h"
 #include <asm/unistd.h>
 
-#ifdef __NR_rt_sigprocmask
-
-# include <errno.h>
-# include <signal.h>
-# include <stdio.h>
-# include <string.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include "ptrace.h"
-# include <linux/audit.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include "ptrace.h"
+#include <linux/audit.h>
 
 static const char *errstr;
 
@@ -178,46 +177,38 @@
 	const unsigned long pid =
 		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
 
-	unsigned int sigset_size;
-
-	for (sigset_size = 1024 / 8; sigset_size; sigset_size >>= 1) {
-		if (!syscall(__NR_rt_sigprocmask,
-			     SIG_SETMASK, NULL, NULL, sigset_size))
-			break;
-	}
-	if (!sigset_size)
-		perror_msg_and_fail("rt_sigprocmask");
+	const unsigned int sigset_size = get_sigset_size();
 
 	void *const k_set = tail_alloc(sigset_size);
-	siginfo_t *const sip = tail_alloc(sizeof(*sip));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, sip);
 
 	do_ptrace(bad_request, pid, 0, 0);
 	printf("ptrace(%#lx /* PTRACE_??? */, %u, NULL, NULL) = %s\n",
 	       bad_request, (unsigned) pid, errstr);
 
 	do_ptrace(PTRACE_PEEKDATA, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKDATA, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKDATA, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
 
 	do_ptrace(PTRACE_PEEKTEXT, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKTEXT, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKTEXT, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
 
 	do_ptrace(PTRACE_PEEKUSER, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKUSER, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKUSER, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
@@ -446,10 +437,3 @@
 	puts("+++ exited with 0 +++");
 	return 0;
 }
-
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_rt_sigprocmask")
-
-#endif
diff --git a/tests-mx32/ptrace.gen.test b/tests-mx32/ptrace.gen.test
new file mode 100755
index 0000000..4b93250
--- /dev/null
+++ b/tests-mx32/ptrace.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ptrace -a23 -e signal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e signal=none
diff --git a/tests-mx32/ptrace.test b/tests-mx32/ptrace.test
deleted file mode 100755
index 5add9be..0000000
--- a/tests-mx32/ptrace.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ptrace syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e signal=none
diff --git a/tests-mx32/pure_executables.list b/tests-mx32/pure_executables.list
new file mode 100755
index 0000000..cc65614
--- /dev/null
+++ b/tests-mx32/pure_executables.list
@@ -0,0 +1,330 @@
+# executables without side effects
+_newselect
+accept
+accept4
+access
+acct
+add_key
+adjtimex
+aio
+alarm
+bpf
+brk
+btrfs
+caps
+chmod
+chown
+chown32
+chroot
+clock_adjtime
+clock_nanosleep
+clock_xettime
+copy_file_range
+creat
+delete_module
+dup
+dup2
+dup3
+epoll_create
+epoll_create1
+epoll_ctl
+epoll_pwait
+epoll_wait
+erestartsys
+eventfd
+execve
+execveat
+faccessat
+fadvise64
+fadvise64_64
+fallocate
+fanotify_init
+fanotify_mark
+fchdir
+fchmod
+fchmodat
+fchown
+fchown32
+fchownat
+fcntl
+fcntl64
+fdatasync
+file_handle
+file_ioctl
+finit_module
+flock
+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
+getpid
+getppid
+getrandom
+getresgid
+getresgid32
+getresuid
+getresuid32
+getrlimit
+getrusage
+getsid
+getsockname
+getuid
+getuid32
+getxxid
+inet-cmsg
+init_module
+inotify
+inotify_init1
+ioctl
+ioctl_block
+ioctl_dm
+ioctl_evdev
+ioctl_loop
+ioctl_mtd
+ioctl_rtc
+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
+lchown
+lchown32
+link
+linkat
+llseek
+lookup_dcookie
+lseek
+lstat
+lstat64
+madvise
+mbind
+membarrier
+memfd_create
+migrate_pages
+mincore
+mkdir
+mkdirat
+mknod
+mknodat
+mlock
+mlock2
+mlockall
+mmap
+mmap64
+mmsg
+mmsg_name
+mount
+move_pages
+mq
+mq_sendrecv
+mq_sendrecv-read
+mq_sendrecv-write
+msg_control
+msg_name
+munlockall
+nanosleep
+net-icmp_filter
+net-sockaddr
+net-y-unix
+net-yy-inet
+net-yy-netlink
+net-yy-unix
+netlink_protocol
+newfstatat
+old_mmap
+oldfstat
+oldlstat
+oldselect
+oldstat
+open
+openat
+osf_utimes
+pause
+perf_event_open
+personality
+pipe
+pipe2
+pkey_alloc
+pkey_free
+pkey_mprotect
+poll
+ppoll
+prctl-arg2-intptr
+prctl-dumpable
+prctl-name
+prctl-no-args
+prctl-pdeathsig
+prctl-securebits
+prctl-tid_address
+prctl-tsc
+pread64-pwrite64
+preadv
+preadv-pwritev
+preadv2-pwritev2
+printstr
+prlimit64
+process_vm_readv
+process_vm_writev
+pselect6
+ptrace
+pwritev
+quotactl
+quotactl-xfs
+read-write
+readahead
+readdir
+readlink
+readlinkat
+readv
+reboot
+recvfrom
+recvmmsg-timeout
+recvmsg
+remap_file_pages
+rename
+renameat
+renameat2
+request_key
+rmdir
+rt_sigpending
+rt_sigprocmask
+rt_sigqueueinfo
+rt_sigreturn
+rt_sigsuspend
+rt_sigtimedwait
+rt_tgsigqueueinfo
+sched_get_priority_mxx
+sched_rr_get_interval
+sched_xetaffinity
+sched_xetattr
+sched_xetparam
+sched_xetscheduler
+sched_yield
+seccomp-filter
+select
+semop
+sendfile
+sendfile64
+set_mempolicy
+setdomainname
+setfsgid
+setfsgid32
+setfsuid
+setfsuid32
+setgid
+setgid32
+setgroups
+setgroups32
+sethostname
+setns
+setregid
+setregid32
+setresgid
+setresgid32
+setresuid
+setresuid32
+setreuid
+setreuid32
+setrlimit
+setuid
+setuid32
+shmxt
+shutdown
+sigaction
+sigaltstack
+siginfo
+signalfd4
+sigreturn
+sigsuspend
+socketcall
+splice
+stat
+stat64
+statfs
+statfs64
+statx
+swap
+sxetmask
+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
+umoven-illptr
+umovestr
+umovestr-illptr
+umovestr2
+umovestr3
+uname
+unlink
+unlinkat
+unshare
+userfaultfd
+ustat
+utime
+utimensat
+utimes
+vhangup
+vmsplice
+wait4
+waitid
+waitpid
+xattr
+xattr-strings
+xet_robust_list
+xetitimer
+xetpgid
+xetpriority
+xettimeofday
diff --git a/tests-mx32/pwritev.gen.test b/tests-mx32/pwritev.gen.test
new file mode 100755
index 0000000..e54fd15
--- /dev/null
+++ b/tests-mx32/pwritev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pwritev -a22 -s7); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -s7
diff --git a/tests-mx32/pwritev.test b/tests-mx32/pwritev.test
deleted file mode 100755
index 0aed683..0000000
--- a/tests-mx32/pwritev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check pwritev syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -s7
diff --git a/tests-mx32/qual_fault-exit_group.test b/tests-mx32/qual_fault-exit_group.test
index c98ffc6..34a2da5 100755
--- a/tests-mx32/qual_fault-exit_group.test
+++ b/tests-mx32/qual_fault-exit_group.test
@@ -3,6 +3,7 @@
 # Check decoding of fault injected exit_group syscall.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -41,13 +42,13 @@
 	match_diff
 }
 
-test_with -eexit,exit_group -efault=exit_group:error=ENOSYS ./answer
+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
+	  -efault=\!process:error=1 ../answer
 
 test_with -eexit,exit_group -efault=all:error=ENOSYS \
-	  -efault=exit:error=1:when=2+ ./answer
+	  -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
+	  -efault=\!%desc,%file,%memory,%process,%signal,%network,%ipc:error=1 ../answer
diff --git a/tests-mx32/qual_fault-syntax.test b/tests-mx32/qual_fault-syntax.test
index 85093fc..0cce539 100755
--- a/tests-mx32/qual_fault-syntax.test
+++ b/tests-mx32/qual_fault-syntax.test
@@ -2,7 +2,7 @@
 #
 # Check -e fault= syntax.
 #
-# Copyright (c) 2016=2017 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/qual_fault.c b/tests-mx32/qual_fault.c
index d26dc7c..ab692cb 100644
--- a/tests-mx32/qual_fault.c
+++ b/tests-mx32/qual_fault.c
@@ -2,6 +2,7 @@
  * Check that fault injection works properly.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/qual_fault.test b/tests-mx32/qual_fault.test
index e194a78..f8e57d2 100755
--- a/tests-mx32/qual_fault.test
+++ b/tests-mx32/qual_fault.test
@@ -3,6 +3,7 @@
 # Check that fault injection works properly.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -76,12 +77,11 @@
 
 	run_strace -a11 -e trace=$trace \
 		"$@" -e fault=$fault$when$error $extra \
-		./$NAME $raw "$err" "$first" "$step" $N \
+		../$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
diff --git a/tests-mx32/qual_inject-error-signal.test b/tests-mx32/qual_inject-error-signal.test
index fcbcc39..1fe4612 100755
--- a/tests-mx32/qual_inject-error-signal.test
+++ b/tests-mx32/qual_inject-error-signal.test
@@ -4,5 +4,5 @@
 . "${srcdir=.}/scno_tampering.sh"
 
 run_strace -a12 -echdir,exit_group -einject=chdir:error=ENOENT:signal=USR1 \
-	"./$NAME"
+	"../$NAME"
 match_diff
diff --git a/tests-mx32/qual_inject-retval.test b/tests-mx32/qual_inject-retval.test
index 419030a..5a4efd1 100755
--- a/tests-mx32/qual_inject-retval.test
+++ b/tests-mx32/qual_inject-retval.test
@@ -12,9 +12,8 @@
 	rval="$1"; shift
 
 	run_strace -a12 -e$syscall -einject="$syscall:retval=$rval" "$@" \
-		./qual_inject-retval "$rval" > "$EXP"
+		../qual_inject-retval "$rval" > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 check_injection 0
diff --git a/tests-mx32/qual_inject-signal.test b/tests-mx32/qual_inject-signal.test
index 88002ce..f17e5a0 100755
--- a/tests-mx32/qual_inject-signal.test
+++ b/tests-mx32/qual_inject-signal.test
@@ -4,5 +4,5 @@
 . "${srcdir=.}/init.sh"
 
 run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1 \
-	./$NAME
+	../$NAME
 match_diff
diff --git a/tests-mx32/qual_signal.test b/tests-mx32/qual_signal.test
index 54a37a3..52812b7 100755
--- a/tests-mx32/qual_signal.test
+++ b/tests-mx32/qual_signal.test
@@ -3,6 +3,7 @@
 # Check how strace -e signal=set works.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,10 +35,9 @@
 	local sigs
 	sigs="$1"; shift
 
-	run_prog "./$NAME" "$@" > /dev/null
-	run_strace -e trace=none -e signal="$sigs" "./$NAME" "$@" > "$EXP"
+	run_prog "../$NAME" "$@" > /dev/null
+	run_strace -e trace=none -e signal="$sigs" "../$NAME" "$@" > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 test_sigs()
diff --git a/tests-mx32/qual_syscall.test b/tests-mx32/qual_syscall.test
index f7eb06d..1524405 100755
--- a/tests-mx32/qual_syscall.test
+++ b/tests-mx32/qual_syscall.test
@@ -5,17 +5,17 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./umovestr
-pattern_abbrev_verbose='execve("\./umovestr", \["\./umovestr"\], \[/\* [[:digit:]]* vars \*/\]) = 0'
-pattern_nonabbrev_verbose='execve("\./umovestr", \["\./umovestr"\], \[".*\"\(\.\.\.\)\?\]) = 0'
-pattern_nonverbose='execve("\./umovestr", 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
+run_prog ../umovestr
+pattern_abbrev_verbose='execve("\.\./umovestr", \["\.\./umovestr"\], 0x[[:xdigit:]]* /\* [[:digit:]]* vars \*/) = 0'
+pattern_nonabbrev_verbose='execve("\.\./umovestr", \["\.\./umovestr"\], \[".*\"\(\.\.\.\)\?\]) = 0'
+pattern_nonverbose='execve("\.\./umovestr", 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
 pattern_raw='execve(0x[[:xdigit:]]*, 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
 
 check_output_mismatch()
 {
 	local pattern
 	pattern="$1"; shift
-	run_strace "$@" ./umovestr
+	run_strace "$@" ../umovestr
 	LC_ALL=C grep -x "$pattern" "$LOG" > /dev/null || {
 		printf '%s\n%s\n' \
 			'Failed patterns of expected output:' "$pattern"
@@ -28,15 +28,19 @@
 LC_ALL=C grep '^[[:alnum:]_]*(' > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-check_output_mismatch "$pattern_abbrev_verbose" -e trace=process
+check_output_mismatch "$pattern_abbrev_verbose" -e trace=%process
 LC_ALL=C grep '^chdir' "$LOG" > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-run_strace -e 42 ./umovestr
+run_strace -e 42 ../umovestr
 LC_ALL=C grep '^[[:alnum:]_]*(' "$LOG" > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-for a in execve \!chdir all \!none \
+run_strace -e/ -e42 ../umovestr
+LC_ALL=C grep '^[[:alnum:]_]*(' "$LOG" > /dev/null &&
+	dump_log_and_fail_with "$STRACE $args unexpected output"
+
+for a in execve \!chdir /. all \!none \
 	 file process \!desc \!ipc \!memory \!network \!signal; do
 	check_output_mismatch \
 		"$pattern_abbrev_verbose" -e abbrev="$a" -e execve
diff --git a/tests-mx32/quotactl-v.gen.test b/tests-mx32/quotactl-v.gen.test
new file mode 100755
index 0000000..8659ed2
--- /dev/null
+++ b/tests-mx32/quotactl-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-v -v -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-mx32/quotactl-v.test b/tests-mx32/quotactl-v.test
deleted file mode 100755
index 6adaf82..0000000
--- a/tests-mx32/quotactl-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-mx32/quotactl-xfs-v.gen.test b/tests-mx32/quotactl-xfs-v.gen.test
new file mode 100755
index 0000000..f1f7e0a
--- /dev/null
+++ b/tests-mx32/quotactl-xfs-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-xfs-v -v -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-mx32/quotactl-xfs-v.test b/tests-mx32/quotactl-xfs-v.test
deleted file mode 100755
index d5ffc7d..0000000
--- a/tests-mx32/quotactl-xfs-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
diff --git a/tests-mx32/quotactl-xfs.c b/tests-mx32/quotactl-xfs.c
index e420d1c..b2a884b 100644
--- a/tests-mx32/quotactl-xfs.c
+++ b/tests-mx32/quotactl-xfs.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -207,10 +208,10 @@
 	char unterminated_str[sizeof(void *) * 2 + sizeof("0x")];
 
 	long rc;
-	struct fs_disk_quota *xdq = tail_alloc(sizeof(*xdq));
-	struct fs_quota_stat *xqstat = tail_alloc(sizeof(*xqstat));
-	struct fs_quota_statv *xqstatv = tail_alloc(sizeof(*xqstatv));
-	uint32_t *flags = tail_alloc(sizeof(*flags));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_disk_quota, xdq);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_stat, xqstat);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_statv, xqstatv);
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint32_t, flags);
 	char *unterminated = tail_memdup(unterminated_data,
 		sizeof(unterminated_data));
 
diff --git a/tests-mx32/quotactl-xfs.gen.test b/tests-mx32/quotactl-xfs.gen.test
new file mode 100755
index 0000000..cd7d11c
--- /dev/null
+++ b/tests-mx32/quotactl-xfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-xfs -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=quotactl
diff --git a/tests-mx32/quotactl-xfs.test b/tests-mx32/quotactl-xfs.test
deleted file mode 100755
index 404a737..0000000
--- a/tests-mx32/quotactl-xfs.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=quotactl
diff --git a/tests-mx32/quotactl.c b/tests-mx32/quotactl.c
index 3a7c113..88c3fda 100644
--- a/tests-mx32/quotactl.c
+++ b/tests-mx32/quotactl.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -173,10 +174,10 @@
 	long rc;
 	char *unterminated = tail_memdup(unterminated_data,
 					 sizeof(unterminated_data));
-	struct if_dqblk *dqblk = tail_alloc(sizeof(*dqblk));
-	struct if_dqinfo *dqinfo = tail_alloc(sizeof(*dqinfo));
-	uint32_t *fmt = tail_alloc(sizeof(*fmt));
-	struct if_nextdqblk *nextdqblk = tail_alloc(sizeof(*nextdqblk));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_dqblk, dqblk);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_dqinfo, dqinfo);
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint32_t, fmt);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_nextdqblk, nextdqblk);
 
 
 	snprintf(bogus_special_str, sizeof(bogus_special_str), "%p",
diff --git a/tests-mx32/quotactl.gen.test b/tests-mx32/quotactl.gen.test
new file mode 100755
index 0000000..c6ad6e1
--- /dev/null
+++ b/tests-mx32/quotactl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/quotactl.test b/tests-mx32/quotactl.test
deleted file mode 100755
index d0101f4..0000000
--- a/tests-mx32/quotactl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/read-write.c b/tests-mx32/read-write.c
index 262e07b..ed4c64d 100644
--- a/tests-mx32/read-write.c
+++ b/tests-mx32/read-write.c
@@ -2,6 +2,7 @@
  * Check decoding and dumping of read and write syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -137,7 +138,9 @@
 {
 	tprintf("%s", "");
 
-	static char tmp[] = "read-write-tmpfile";
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const char tmp[] = "read-write-tmpfile";
 	if (open(tmp, O_CREAT|O_RDONLY|O_TRUNC, 0600) != 0)
 		perror_msg_and_fail("creat: %s", tmp);
 	if (open(tmp, O_WRONLY) != 1)
diff --git a/tests-mx32/read-write.gen.test b/tests-mx32/read-write.gen.test
new file mode 100755
index 0000000..df1b3fb
--- /dev/null
+++ b/tests-mx32/read-write.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests-mx32/read-write.test b/tests-mx32/read-write.test
deleted file mode 100755
index 3700541..0000000
--- a/tests-mx32/read-write.test
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of read and write syscalls.
-
-. "${srcdir=.}/init.sh"
-
-# strace -P is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
-tmpfile=read-write-tmpfile
-> $tmpfile
-
-run_strace_match_diff \
-	-a15 -eread=0 -ewrite=1 -e trace=read,write \
-	-P $tmpfile -P /dev/zero -P /dev/null
-
-rm -f $tmpfile
diff --git a/tests-mx32/readahead.c b/tests-mx32/readahead.c
index c11b577..c243ae4 100644
--- a/tests-mx32/readahead.c
+++ b/tests-mx32/readahead.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/readahead.gen.test b/tests-mx32/readahead.gen.test
new file mode 100755
index 0000000..4e88efa
--- /dev/null
+++ b/tests-mx32/readahead.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readahead -a1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1
diff --git a/tests-mx32/readahead.test b/tests-mx32/readahead.test
deleted file mode 100755
index 397c690..0000000
--- a/tests-mx32/readahead.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check readahead syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a1
diff --git a/tests-mx32/readdir.c b/tests-mx32/readdir.c
index 8c48362..a47856f 100644
--- a/tests-mx32/readdir.c
+++ b/tests-mx32/readdir.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -58,9 +59,9 @@
 	"A\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nZ";
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "readdir.test.tmp.dir";
 	struct {
 		unsigned long   d_ino;
 		unsigned long   d_off;
@@ -69,8 +70,6 @@
 	} e;
 	int rc;
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests-mx32/readdir.gen.test b/tests-mx32/readdir.gen.test
new file mode 100755
index 0000000..10da83b
--- /dev/null
+++ b/tests-mx32/readdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readdir -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-mx32/readdir.test b/tests-mx32/readdir.test
deleted file mode 100755
index e313273..0000000
--- a/tests-mx32/readdir.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check readdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a16
diff --git a/tests-mx32/readlink.gen.test b/tests-mx32/readlink.gen.test
new file mode 100755
index 0000000..755fc8b
--- /dev/null
+++ b/tests-mx32/readlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlink -xx); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -xx
diff --git a/tests-mx32/readlink.test b/tests-mx32/readlink.test
deleted file mode 100755
index c026ecb..0000000
--- a/tests-mx32/readlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check readlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -xx
diff --git a/tests-mx32/readlinkat.gen.test b/tests-mx32/readlinkat.gen.test
new file mode 100755
index 0000000..2a50299
--- /dev/null
+++ b/tests-mx32/readlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlinkat -xx); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -xx
diff --git a/tests-mx32/readlinkat.test b/tests-mx32/readlinkat.test
deleted file mode 100755
index 229c8e1..0000000
--- a/tests-mx32/readlinkat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check readlinkat syscall decoding.
-
-. "${srcdir=.}/readlink.test"
diff --git a/tests-mx32/readv.test b/tests-mx32/readv.test
index dc18799..d75e370 100755
--- a/tests-mx32/readv.test
+++ b/tests-mx32/readv.test
@@ -3,6 +3,7 @@
 # Check decoding and dumping of readv and writev syscalls.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 run_strace_match_diff -a16 -e trace=readv,writev \
 	-eread='!all' -ewrite=none -eread='!0,1,2' -ewrite='!0,1,2'
 
-wfd="$(./print_maxfd)"
+wfd="$(../print_maxfd)"
 rfd="$(($wfd - 1))"
 run_strace_match_diff -a16 -e trace=readv,writev \
 	-eread="$rfd" -ewrite="$wfd"
diff --git a/tests-mx32/reboot.gen.test b/tests-mx32/reboot.gen.test
new file mode 100755
index 0000000..0a48dea
--- /dev/null
+++ b/tests-mx32/reboot.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (reboot ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/reboot.test b/tests-mx32/reboot.test
deleted file mode 100755
index a97dd21..0000000
--- a/tests-mx32/reboot.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check reboot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/recvfrom.gen.test b/tests-mx32/recvfrom.gen.test
new file mode 100755
index 0000000..c23780c
--- /dev/null
+++ b/tests-mx32/recvfrom.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvfrom -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-mx32/recvfrom.test b/tests-mx32/recvfrom.test
deleted file mode 100755
index 9dfbc89..0000000
--- a/tests-mx32/recvfrom.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sockaddr related arguments of recvfrom syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-mx32/recvmmsg-timeout.c b/tests-mx32/recvmmsg-timeout.c
index 7cf064d..64ce16a 100644
--- a/tests-mx32/recvmmsg-timeout.c
+++ b/tests-mx32/recvmmsg-timeout.c
@@ -2,6 +2,7 @@
  * Check decoding of timeout argument of recvmmsg syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -50,13 +51,15 @@
 			.msg_iovlen = 1
 		}
 	};
-	struct timespec t = { .tv_sec = 0, .tv_nsec = 12345678 };
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
+	ts->tv_sec = 0;
+	ts->tv_nsec = 12345678;
 
-	int rc = recv_mmsg(-1, &mh, 1, 0, &t);
+	int rc = recv_mmsg(-1, &mh, 1, 0, ts);
 	printf("recvmmsg(-1, %p, 1, 0, {tv_sec=0, tv_nsec=12345678})"
-	       " = %d %s (%m)\n", &mh, rc, errno2name());
+	       " = %s\n", &mh, sprintrc(rc));
 
-	rc = recv_mmsg(fds[0], &mh, 1, 0, &t);
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
 	if (rc < 0)
 		perror_msg_and_skip("recvmmsg");
 	printf("recvmmsg(%d, [{msg_hdr={msg_name=NULL, msg_namelen=0"
@@ -64,7 +67,23 @@
 	       ", msg_controllen=0, msg_flags=0}, msg_len=1}], 1, 0"
 	       ", {tv_sec=0, tv_nsec=12345678}) = "
 	       "%d (left {tv_sec=0, tv_nsec=%d})\n",
-	       fds[0], rc, (int) t.tv_nsec);
+	       fds[0], rc, (int) ts->tv_nsec);
+
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
+	printf("recvmmsg(%d, %p, 1, 0, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       fds[0], &mh, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
+	printf("recvmmsg(%d, %p, 1, 0, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       fds[0], &mh, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/recvmmsg-timeout.gen.test b/tests-mx32/recvmmsg-timeout.gen.test
new file mode 100755
index 0000000..6306de7
--- /dev/null
+++ b/tests-mx32/recvmmsg-timeout.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvmmsg-timeout -a25 -e trace=recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e trace=recvmmsg
diff --git a/tests-mx32/recvmmsg-timeout.test b/tests-mx32/recvmmsg-timeout.test
deleted file mode 100755
index 36a1222..0000000
--- a/tests-mx32/recvmmsg-timeout.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of timeout argument of recvmmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=recvmmsg
diff --git a/tests-mx32/recvmsg.gen.test b/tests-mx32/recvmsg.gen.test
new file mode 100755
index 0000000..fc8ef06
--- /dev/null
+++ b/tests-mx32/recvmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvmsg -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
diff --git a/tests-mx32/recvmsg.test b/tests-mx32/recvmsg.test
deleted file mode 100755
index e373a20..0000000
--- a/tests-mx32/recvmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of recvmsg and sendmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
diff --git a/tests-mx32/redirect-fds.test b/tests-mx32/redirect-fds.test
index ddef8fa..3da6942 100755
--- a/tests-mx32/redirect-fds.test
+++ b/tests-mx32/redirect-fds.test
@@ -3,6 +3,7 @@
 # Check that strace does not leak placeholder descriptors.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -47,18 +48,17 @@
 	a2="$2"
 	a3="$3"
 
+	rm -f "$LOG" "$fd0" "$fd1" "$fd2"
 	touch "$LOG" "$fd0" ||
 		framework_skip_ 'failed to create files'
 
-	set -- "\"./$NAME\"" "\"$1\"" "\"$2\"" "\"$3\""
+	set -- "\"../$NAME\"" "\"$1\"" "\"$2\"" "\"$3\""
 	eval "$@" "<${a1:-&-}" ">${a2:-&-}" "2>${a3:-&-}" ||
 			fail_ "$* failed with code $rc"
 
 	set -- "$STRACE" -o"$LOG" -echdir "$@"
 	eval "$@" "<${a1:-&-}" ">${a2:-&-}" "2>${a3:-&-}" ||
 		dump_log_and_fail_with "$* failed with code $?"
-
-	rm -f "$LOG" "$fd0" "$fd1" "$fd2"
 }
 
 check_fd "$fd0" "$fd1" "$fd2"
diff --git a/tests-mx32/redirect.test b/tests-mx32/redirect.test
index fa0c536..d70754e 100755
--- a/tests-mx32/redirect.test
+++ b/tests-mx32/redirect.test
@@ -3,6 +3,7 @@
 # Ensure that strace does not retain stdin and stdout descriptors.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -74,5 +75,3 @@
 if [ -s "$OUT" ]; then
 	fail_ "$STRACE failed to redirect standard output"
 fi
-
-rm -f -- "$OUT"
diff --git a/tests-mx32/regex.gen.test b/tests-mx32/regex.gen.test
new file mode 100755
index 0000000..71a02d6
--- /dev/null
+++ b/tests-mx32/regex.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (regex test_trace_expr '' -etrace='/^(.*_)?statv?fs'); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -etrace='/^(.*_)?statv?fs'
diff --git a/tests-mx32/regex.in b/tests-mx32/regex.in
new file mode 100755
index 0000000..7c4adfe
--- /dev/null
+++ b/tests-mx32/regex.in
@@ -0,0 +1,2 @@
+statfs	-a17
+statfs64	-a23
diff --git a/tests-mx32/remap_file_pages.gen.test b/tests-mx32/remap_file_pages.gen.test
new file mode 100755
index 0000000..e489473
--- /dev/null
+++ b/tests-mx32/remap_file_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (remap_file_pages ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/remap_file_pages.test b/tests-mx32/remap_file_pages.test
deleted file mode 100755
index 9d51a9a..0000000
--- a/tests-mx32/remap_file_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check remap_file_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/rename.gen.test b/tests-mx32/rename.gen.test
new file mode 100755
index 0000000..07f0180
--- /dev/null
+++ b/tests-mx32/rename.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rename -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-mx32/rename.test b/tests-mx32/rename.test
deleted file mode 100755
index 9067e4c..0000000
--- a/tests-mx32/rename.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rename syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-mx32/renameat.gen.test b/tests-mx32/renameat.gen.test
new file mode 100755
index 0000000..f2879cd
--- /dev/null
+++ b/tests-mx32/renameat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (renameat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/renameat.test b/tests-mx32/renameat.test
deleted file mode 100755
index 9b0a61d..0000000
--- a/tests-mx32/renameat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check renameat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/renameat2.gen.test b/tests-mx32/renameat2.gen.test
new file mode 100755
index 0000000..cd7c34c
--- /dev/null
+++ b/tests-mx32/renameat2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (renameat2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/renameat2.test b/tests-mx32/renameat2.test
deleted file mode 100755
index 4c176bb..0000000
--- a/tests-mx32/renameat2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check renameat2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/request_key.gen.test b/tests-mx32/request_key.gen.test
new file mode 100755
index 0000000..aeac708
--- /dev/null
+++ b/tests-mx32/request_key.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (request_key -a33 -s12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33 -s12
diff --git a/tests-mx32/request_key.test b/tests-mx32/request_key.test
deleted file mode 100755
index 9812a18..0000000
--- a/tests-mx32/request_key.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of request_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -s12
diff --git a/tests-mx32/restart_syscall.c b/tests-mx32/restart_syscall.c
index e492e62..d06f9c2 100644
--- a/tests-mx32/restart_syscall.c
+++ b/tests-mx32/restart_syscall.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,11 +56,11 @@
 	if (nanosleep(&req, &rem))
 		perror_msg_and_fail("nanosleep");
 
-	printf("nanosleep\\(\\{tv_sec=%jd, tv_nsec=%jd\\}, "
-	       "\\{tv_sec=%jd, tv_nsec=%jd\\}\\)"
+	printf("nanosleep\\(\\{tv_sec=%lld, tv_nsec=%llu\\}"
+	       ", \\{tv_sec=%lld, tv_nsec=%llu\\}\\)"
 	       " = \\? 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);
+	       (long long) req.tv_sec, zero_extend_signed_to_ull(req.tv_nsec),
+	       (long long) rem.tv_sec, zero_extend_signed_to_ull(rem.tv_nsec));
 	puts("--- SIGALRM \\{si_signo=SIGALRM, si_code=SI_KERNEL\\} ---");
 #ifdef __arm__
 /* old kernels used to overwrite ARM_r0 with -EINTR */
@@ -67,11 +68,12 @@
 #else
 # define ALTERNATIVE_NANOSLEEP_REQ ""
 #endif
-	printf("(nanosleep\\((%s\\{tv_sec=%jd, tv_nsec=%jd\\}), "
-	       "%p|restart_syscall\\(<\\.\\.\\."
+	printf("(nanosleep\\((%s\\{tv_sec=%lld, tv_nsec=%llu\\})"
+	       ", %p|restart_syscall\\(<\\.\\.\\."
 	       " resuming interrupted nanosleep \\.\\.\\.>)\\) = 0\n",
 	       ALTERNATIVE_NANOSLEEP_REQ,
-	       (intmax_t) req.tv_sec, (intmax_t) req.tv_nsec, &rem);
+	       (long long) req.tv_sec, zero_extend_signed_to_ull(req.tv_nsec),
+	       &rem);
 
 	puts("\\+\\+\\+ exited with 0 \\+\\+\\+");
 	return 0;
diff --git a/tests-mx32/restart_syscall.test b/tests-mx32/restart_syscall.test
index 6dfda16..f7dfa04 100755
--- a/tests-mx32/restart_syscall.test
+++ b/tests-mx32/restart_syscall.test
@@ -6,8 +6,5 @@
 
 run_prog > /dev/null
 syscalls=nanosleep,restart_syscall
-run_strace -a20 -e trace=$syscalls $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace -a20 -e trace=$syscalls $args > "$EXP"
+match_grep "$LOG" "$EXP"
diff --git a/tests-mx32/rmdir.gen.test b/tests-mx32/rmdir.gen.test
new file mode 100755
index 0000000..b511039
--- /dev/null
+++ b/tests-mx32/rmdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rmdir -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-mx32/rmdir.test b/tests-mx32/rmdir.test
deleted file mode 100755
index 81ee66b..0000000
--- a/tests-mx32/rmdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rmdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-mx32/rt_sigpending.c b/tests-mx32/rt_sigpending.c
index accf691..b57921f 100644
--- a/tests-mx32/rt_sigpending.c
+++ b/tests-mx32/rt_sigpending.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigpending strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -78,7 +79,7 @@
 
 	const unsigned int big_size = 1024 / 8;
 	void *k_set = tail_alloc(big_size);
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 
 	sigemptyset(libc_set);
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
diff --git a/tests-mx32/rt_sigpending.gen.test b/tests-mx32/rt_sigpending.gen.test
new file mode 100755
index 0000000..0458876
--- /dev/null
+++ b/tests-mx32/rt_sigpending.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigpending -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-mx32/rt_sigpending.test b/tests-mx32/rt_sigpending.test
deleted file mode 100755
index 40c83a8..0000000
--- a/tests-mx32/rt_sigpending.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigpending syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-mx32/rt_sigprocmask.c b/tests-mx32/rt_sigprocmask.c
index 27e357f..c38ac94 100644
--- a/tests-mx32/rt_sigprocmask.c
+++ b/tests-mx32/rt_sigprocmask.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigprocmask strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -91,7 +92,7 @@
 
 	void *const k_set = tail_alloc(set_size);
 	void *const old_set = tail_alloc(set_size);
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 
 	memset(k_set, 0, set_size);
 	if (k_sigprocmask(SIG_SETMASK, k_set, NULL, set_size))
diff --git a/tests-mx32/rt_sigprocmask.gen.test b/tests-mx32/rt_sigprocmask.gen.test
new file mode 100755
index 0000000..a21c6db
--- /dev/null
+++ b/tests-mx32/rt_sigprocmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigprocmask ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/rt_sigprocmask.test b/tests-mx32/rt_sigprocmask.test
deleted file mode 100755
index 1e60ebd..0000000
--- a/tests-mx32/rt_sigprocmask.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigprocmask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/rt_sigqueueinfo.c b/tests-mx32/rt_sigqueueinfo.c
index aba6776..f803d91 100644
--- a/tests-mx32/rt_sigqueueinfo.c
+++ b/tests-mx32/rt_sigqueueinfo.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/rt_sigqueueinfo.gen.test b/tests-mx32/rt_sigqueueinfo.gen.test
new file mode 100755
index 0000000..7baf0e4
--- /dev/null
+++ b/tests-mx32/rt_sigqueueinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigqueueinfo -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-mx32/rt_sigqueueinfo.test b/tests-mx32/rt_sigqueueinfo.test
deleted file mode 100755
index c03c76f..0000000
--- a/tests-mx32/rt_sigqueueinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of rt_sigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-mx32/rt_sigreturn.c b/tests-mx32/rt_sigreturn.c
new file mode 100644
index 0000000..40d1589
--- /dev/null
+++ b/tests-mx32/rt_sigreturn.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 <stdlib.h>
+
+#ifdef ASM_SIGRTMIN
+# define RT_0 ASM_SIGRTMIN
+#else
+/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
+# define RT_0 32
+#endif
+
+static void
+handler(int no, siginfo_t *si, void *uc)
+{
+}
+
+int
+main(void)
+{
+	static sigset_t set;
+	sigemptyset(&set);
+	sigaddset(&set, SIGINT);
+	sigaddset(&set, SIGUSR2);
+	sigaddset(&set, SIGCHLD);
+	sigaddset(&set, RT_0 +  3);
+	sigaddset(&set, RT_0 +  4);
+	sigaddset(&set, RT_0 +  5);
+	sigaddset(&set, RT_0 + 26);
+	sigaddset(&set, RT_0 + 27);
+	if (sigprocmask(SIG_SETMASK, &set, NULL))
+		perror_msg_and_fail("sigprocmask");
+	sigemptyset(&set);
+
+	static const struct sigaction sa = {
+		.sa_sigaction = handler,
+		.sa_flags = SA_SIGINFO
+	};
+	if (sigaction(SIGUSR1, &sa, NULL))
+		perror_msg_and_fail("sigaction");
+
+	if (raise(SIGUSR1))
+		perror_msg_and_fail("raise");
+
+	static const char *const sigs =
+		(SIGUSR2 < SIGCHLD) ? "INT USR2 CHLD" : "INT CHLD USR2";
+	static const char *const rt_sigs = "RT_3 RT_4 RT_5 RT_26 RT_27";
+	printf("rt_sigreturn({mask=[%s %s]}) = 0\n", sigs, rt_sigs);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests-mx32/rt_sigreturn.gen.test b/tests-mx32/rt_sigreturn.gen.test
new file mode 100755
index 0000000..0672f11
--- /dev/null
+++ b/tests-mx32/rt_sigreturn.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigreturn -esignal='!USR1'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal='!USR1'
diff --git a/tests-mx32/rt_sigsuspend.c b/tests-mx32/rt_sigsuspend.c
index 73e1336..422ec19 100644
--- a/tests-mx32/rt_sigsuspend.c
+++ b/tests-mx32/rt_sigsuspend.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigsuspend strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -88,7 +89,7 @@
 	void *k_set = tail_alloc(big_size);
 	memset(k_set, 0, big_size);
 
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 	sigemptyset(libc_set);
 	sigaddset(libc_set, SIGUSR1);
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
diff --git a/tests-mx32/rt_sigsuspend.gen.test b/tests-mx32/rt_sigsuspend.gen.test
new file mode 100755
index 0000000..d5d1d5f
--- /dev/null
+++ b/tests-mx32/rt_sigsuspend.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigsuspend -a20 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -esignal=none
diff --git a/tests-mx32/rt_sigsuspend.test b/tests-mx32/rt_sigsuspend.test
deleted file mode 100755
index 2e30fd4..0000000
--- a/tests-mx32/rt_sigsuspend.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigsuspend syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -esignal=none
diff --git a/tests-mx32/rt_sigtimedwait.c b/tests-mx32/rt_sigtimedwait.c
index 10311e6..40544c7 100644
--- a/tests-mx32/rt_sigtimedwait.c
+++ b/tests-mx32/rt_sigtimedwait.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigtimedwait strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,25 +55,27 @@
 	for (;;) {
 		assert(k_sigtimedwait(set, NULL, timeout, size) == -1);
 		if (EINTR == errno) {
-			tprintf("rt_sigtimedwait(%s, NULL, "
-				"{tv_sec=%jd, tv_nsec=%jd}, %u)"
+			tprintf("rt_sigtimedwait(%s, NULL"
+				", {tv_sec=%lld, tv_nsec=%llu}, %u)"
 				" = -1 EAGAIN (%m)\n", text,
-				(intmax_t) timeout->tv_sec,
-				(intmax_t) timeout->tv_nsec,
+				(long long) timeout->tv_sec,
+				zero_extend_signed_to_ull(timeout->tv_nsec),
 				size);
 		} else {
 			if (size < sizeof(long))
-				tprintf("rt_sigtimedwait(%p, NULL, "
-					"{tv_sec=%jd, tv_nsec=%jd}"
+				tprintf("rt_sigtimedwait(%p, NULL"
+					", {tv_sec=%lld, tv_nsec=%llu}"
 					", %u) = -1 EINVAL (%m)\n",
-					set, (intmax_t) timeout->tv_sec,
-					(intmax_t) timeout->tv_nsec, size);
+					set, (long long) timeout->tv_sec,
+					zero_extend_signed_to_ull(timeout->tv_nsec),
+					size);
 			else
-				tprintf("rt_sigtimedwait(%s, NULL, "
-					"{tv_sec=%jd, tv_nsec=%jd}"
+				tprintf("rt_sigtimedwait(%s, NULL"
+					", {tv_sec=%lld, tv_nsec=%llu}"
 					", %u) = -1 EINVAL (%m)\n",
-					text, (intmax_t) timeout->tv_sec,
-					(intmax_t) timeout->tv_nsec, size);
+					text, (long long) timeout->tv_sec,
+					zero_extend_signed_to_ull(timeout->tv_nsec),
+					size);
 		}
 		if (!size)
 			break;
@@ -86,8 +89,8 @@
 {
 	tprintf("%s", "");
 
-	siginfo_t *const info = tail_alloc(sizeof(*info));
-	struct timespec *const timeout = tail_alloc(sizeof(*timeout));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, info);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, timeout);
 	timeout->tv_sec = 0;
 	timeout->tv_nsec = 42;
 
@@ -100,37 +103,58 @@
 		assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
 		if (EAGAIN == errno)
 			break;
-		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);
+		tprintf("rt_sigtimedwait(%p, NULL, {tv_sec=%lld, tv_nsec=%llu}"
+			", %u) = -1 EINVAL (%m)\n",
+			k_set, (long long) timeout->tv_sec,
+			zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 	}
 	if (!set_size)
 		perror_msg_and_fail("rt_sigtimedwait");
-	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);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	timeout->tv_sec = 0xdeadbeefU;
+	timeout->tv_nsec = 0xfacefeedU;
+	assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}"
+		", %u) = -1 EINVAL (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
+
+	timeout->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	timeout->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}"
+		", %u) = -1 EINVAL (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
+
+	timeout->tv_sec = 0;
+	timeout->tv_nsec = 42;
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 	sigemptyset(libc_set);
 	sigaddset(libc_set, SIGHUP);
 	memcpy(k_set, libc_set, set_size);
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	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);
+	tprintf("rt_sigtimedwait([HUP], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	sigaddset(libc_set, SIGINT);
 	memcpy(k_set, libc_set, set_size);
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait([HUP INT], %p, {tv_sec=%jd, tv_nsec=%jd}, %u)"
+	tprintf("rt_sigtimedwait([HUP INT], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
 		" = -1 EAGAIN (%m)\n",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	sigaddset(libc_set, SIGQUIT);
 	sigaddset(libc_set, SIGALRM);
@@ -139,17 +163,19 @@
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait(%s, %p, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
+	tprintf("rt_sigtimedwait(%s, %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
 		"[HUP INT QUIT ALRM TERM]",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	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, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+	tprintf("rt_sigtimedwait(~[], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
 		perror_msg_and_fail("sigprocmask");
@@ -164,9 +190,11 @@
 	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}, {tv_sec=%jd, tv_nsec=%jd}, %u) = %d (%s)\n",
+		", si_pid=%d, si_uid=%d}, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = %d (%s)\n",
 		"[HUP INT QUIT ALRM TERM]", "SIGALRM", getpid(), getuid(),
-		(intmax_t) timeout->tv_sec, (intmax_t) timeout->tv_nsec,
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec),
 		set_size, SIGALRM, "SIGALRM");
 
 	raise(SIGALRM);
diff --git a/tests-mx32/rt_sigtimedwait.gen.test b/tests-mx32/rt_sigtimedwait.gen.test
new file mode 100755
index 0000000..2b18e7a
--- /dev/null
+++ b/tests-mx32/rt_sigtimedwait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigtimedwait -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a38
diff --git a/tests-mx32/rt_sigtimedwait.test b/tests-mx32/rt_sigtimedwait.test
deleted file mode 100755
index e15fb77..0000000
--- a/tests-mx32/rt_sigtimedwait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigtimedwait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
diff --git a/tests-mx32/rt_tgsigqueueinfo.c b/tests-mx32/rt_tgsigqueueinfo.c
index ec09348..3b2da2a 100644
--- a/tests-mx32/rt_tgsigqueueinfo.c
+++ b/tests-mx32/rt_tgsigqueueinfo.c
@@ -2,6 +2,7 @@
  * This file is part of rt_tgsigqueueinfo strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,9 +43,9 @@
 k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
 {
 	return syscall(__NR_rt_tgsigqueueinfo,
-		       (unsigned long) 0xffffffff00000000ULL | pid,
-		       (unsigned long) 0xffffffff00000000ULL | pid,
-		       (unsigned long) 0xffffffff00000000ULL | sig,
+		       F8ILL_KULONG_MASK | pid,
+		       F8ILL_KULONG_MASK | pid,
+		       F8ILL_KULONG_MASK | sig,
 		       info);
 }
 
@@ -57,7 +58,7 @@
 	if (sigaction(SIGUSR1, &sa, NULL))
 		perror_msg_and_fail("sigaction");
 
-	siginfo_t *const info = tail_alloc(sizeof(*info));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, info);
 	memset(info, 0, sizeof(*info));
 	info->si_signo = SIGUSR1;
 	info->si_errno = ENOENT;
diff --git a/tests-mx32/rt_tgsigqueueinfo.gen.test b/tests-mx32/rt_tgsigqueueinfo.gen.test
new file mode 100755
index 0000000..407bbff
--- /dev/null
+++ b/tests-mx32/rt_tgsigqueueinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_tgsigqueueinfo -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-mx32/rt_tgsigqueueinfo.test b/tests-mx32/rt_tgsigqueueinfo.test
deleted file mode 100755
index ab24e2d..0000000
--- a/tests-mx32/rt_tgsigqueueinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of rt_tgsigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-mx32/sched.gen.test b/tests-mx32/sched.gen.test
new file mode 100755
index 0000000..6747117
--- /dev/null
+++ b/tests-mx32/sched.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched test_trace_expr times -e/sched); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr times -e/sched
diff --git a/tests-mx32/sched.in b/tests-mx32/sched.in
new file mode 100755
index 0000000..46031d6
--- /dev/null
+++ b/tests-mx32/sched.in
@@ -0,0 +1,7 @@
+sched_xetaffinity	-a28
+sched_xetparam	-a23
+sched_rr_get_interval	-a31
+sched_get_priority_mxx	-a33
+sched_xetattr	-a29
+sched_xetscheduler	-a22
+sched_yield	-a14
diff --git a/tests-mx32/sched_get_priority_mxx.gen.test b/tests-mx32/sched_get_priority_mxx.gen.test
new file mode 100755
index 0000000..a235997
--- /dev/null
+++ b/tests-mx32/sched_get_priority_mxx.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_get_priority_mxx -a33 -e trace=sched_get_priority_min,sched_get_priority_max); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
diff --git a/tests-mx32/sched_get_priority_mxx.test b/tests-mx32/sched_get_priority_mxx.test
deleted file mode 100755
index 0d1a1a7..0000000
--- a/tests-mx32/sched_get_priority_mxx.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_get_priority_min and sched_get_priority_max syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
diff --git a/tests-mx32/sched_rr_get_interval.c b/tests-mx32/sched_rr_get_interval.c
index 0aacd2b..000a0be 100644
--- a/tests-mx32/sched_rr_get_interval.c
+++ b/tests-mx32/sched_rr_get_interval.c
@@ -11,7 +11,7 @@
 int
 main(void)
 {
-	struct timespec *const tp = tail_alloc(sizeof(struct timespec));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, tp);
 	long rc;
 
 	rc = syscall(__NR_sched_rr_get_interval, 0, NULL);
@@ -25,8 +25,10 @@
 
 	rc = syscall(__NR_sched_rr_get_interval, 0, tp);
 	if (rc == 0)
-		printf("sched_rr_get_interval(0, {tv_sec=%jd, tv_nsec=%jd}) = "
-		       "0\n", (intmax_t)tp->tv_sec, (intmax_t)tp->tv_nsec);
+		printf("sched_rr_get_interval(0, {tv_sec=%lld, tv_nsec=%llu})"
+		       " = 0\n",
+		       (long long) tp->tv_sec,
+		       zero_extend_signed_to_ull(tp->tv_nsec));
 	else
 		printf("sched_rr_get_interval(-1, %p) = %s\n", tp,
 			sprintrc(rc));
diff --git a/tests-mx32/sched_rr_get_interval.gen.test b/tests-mx32/sched_rr_get_interval.gen.test
new file mode 100755
index 0000000..493de64
--- /dev/null
+++ b/tests-mx32/sched_rr_get_interval.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_rr_get_interval -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests-mx32/sched_rr_get_interval.test b/tests-mx32/sched_rr_get_interval.test
deleted file mode 100755
index 828ba5d..0000000
--- a/tests-mx32/sched_rr_get_interval.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_rr_get_interval syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
diff --git a/tests-mx32/sched_xetaffinity.gen.test b/tests-mx32/sched_xetaffinity.gen.test
new file mode 100755
index 0000000..7a1c75b
--- /dev/null
+++ b/tests-mx32/sched_xetaffinity.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetaffinity -a28 -e trace=sched_getaffinity,sched_setaffinity); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
diff --git a/tests-mx32/sched_xetaffinity.test b/tests-mx32/sched_xetaffinity.test
deleted file mode 100755
index 246ea21..0000000
--- a/tests-mx32/sched_xetaffinity.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getaffinity and sched_setaffinity syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
diff --git a/tests-mx32/sched_xetattr.c b/tests-mx32/sched_xetattr.c
index 1b48491..a9bd2ba 100644
--- a/tests-mx32/sched_xetattr.c
+++ b/tests-mx32/sched_xetattr.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,95 +32,214 @@
 
 # include <inttypes.h>
 # include <stdio.h>
+# include <sched.h>
 # include <unistd.h>
+# include "sched_attr.h"
+# include "xlat.h"
+# include "xlat/schedulers.h"
+
+static const char *errstr;
+
+static long
+sys_sched_getattr(kernel_ulong_t pid, kernel_ulong_t attr,
+		  kernel_ulong_t size, kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_sched_getattr, pid, attr, size, flags);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+static long
+sys_sched_setattr(kernel_ulong_t pid, kernel_ulong_t attr, kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_sched_setattr, pid, attr, flags);
+	errstr = sprintrc(rc);
+	return rc;
+}
 
 int
 main(void)
 {
-	struct {
-		uint32_t size;
-		uint32_t sched_policy;
-		uint64_t sched_flags;
-		int32_t  sched_nice;
-		uint32_t sched_priority;
-		uint64_t sched_runtime;
-		uint64_t sched_deadline;
-		uint64_t sched_period;
-	} *sched_attr = tail_alloc(sizeof(*sched_attr));
+	static const kernel_ulong_t bogus_pid =
+		(kernel_ulong_t) 0xdefacedfacefeedULL;
+	static const kernel_ulong_t bogus_size =
+		(kernel_ulong_t) 0xdefacedcafef00dULL;
+	static const kernel_ulong_t bogus_flags =
+		(kernel_ulong_t) 0xdefaceddeadc0deULL;
 
-	long rc = syscall(__NR_sched_getattr, 0xdeadface, NULL, 0, 0);
-	printf("sched_getattr\\(%d, NULL, 0, 0\\) += %s\n",
-		0xdeadface, sprintrc_grep(rc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize);
+	void *const efault = attr + 1;
 
-	rc = syscall(__NR_sched_getattr, -1,
-		     sched_attr, 0xbadfaced, 0xc0defeed);
-	printf("sched_getattr\\(-1, %p, %u, %u\\) += %s\n",
-		sched_attr, 0xbadfaced, 0xc0defeed, sprintrc_grep(rc));
+	sys_sched_getattr(0, 0, 0, 0);
+	printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr);
 
-	rc = syscall(__NR_sched_getattr, 0,
-		     sched_attr + 1, sizeof(*sched_attr), 0);
-	printf("sched_getattr\\(0, %p, %u, 0\\) += %s\n",
-		sched_attr + 1, (unsigned)sizeof(*sched_attr),
-		sprintrc_grep(rc));
+	sys_sched_getattr(0, (unsigned long) attr, 0, 0);
+	printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr);
 
-	if (syscall(__NR_sched_getattr, 0, sched_attr, sizeof(*sched_attr), 0))
+	sys_sched_getattr(bogus_pid, 0, 0, 0);
+	printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr);
+
+	sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags);
+	printf("sched_getattr(-1, %p, %s%u, %u) = %s\n",
+	       attr,
+# if defined __arm64__ || defined __aarch64__
+	       "0xdefaced<<32|",
+# else
+	       "",
+# endif
+	       (unsigned) bogus_size, (unsigned) bogus_flags, errstr);
+
+	sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0);
+	printf("sched_getattr(0, %p, %u, 0) = %s\n",
+	       efault, (unsigned) sizeof(*attr), errstr);
+
+	if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0))
 		perror_msg_and_skip("sched_getattr");
-
-	printf("sched_getattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+"
-	       ", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-	       ", sched_period=%" PRIu64 "\\}, %u, 0\\) += 0\n",
-	       sched_attr->size,
-	       sched_attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
-	       sched_attr->sched_nice,
-	       sched_attr->sched_priority,
-	       sched_attr->sched_runtime,
-	       sched_attr->sched_deadline,
-	       sched_attr->sched_period,
-	       (unsigned) sizeof(*sched_attr));
+	       ", sched_period=%" PRIu64 "}, %u, 0) = 0\n",
+	       attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period,
+	       (unsigned) sizeof(*attr));
 
-	sched_attr->sched_flags |= 1;
-	if (syscall(__NR_sched_setattr, 0, sched_attr, 0))
+# if defined __arm64__ || defined __aarch64__
+	long rc =
+# endif
+	sys_sched_getattr(F8ILL_KULONG_MASK, (unsigned long) attr,
+			  F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK);
+# if defined __arm64__ || defined __aarch64__
+	if (rc) {
+		printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n",
+		       attr, (unsigned) sizeof(*attr), errstr);
+	} else
+# endif
+	{
+		printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
+		printxval(schedulers, attr->sched_policy, NULL);
+		printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+		       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+		       ", sched_period=%" PRIu64 "}, %u, 0) = 0\n",
+		       attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
+		       attr->sched_nice,
+		       attr->sched_priority,
+		       attr->sched_runtime,
+		       attr->sched_deadline,
+		       attr->sched_period,
+		       (unsigned) sizeof(*attr));
+	}
+
+	sys_sched_setattr(bogus_pid, 0, 0);
+	printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr);
+
+	attr->sched_flags |= 1;
+
+	if (sys_sched_setattr(0, (unsigned long) attr, 0))
 		perror_msg_and_skip("sched_setattr");
-
-	printf("sched_setattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+"
-	       ", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-	       ", sched_period=%" PRIu64 "\\}, 0\\) += 0\n",
-	       sched_attr->size,
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
 	       "SCHED_FLAG_RESET_ON_FORK",
-	       sched_attr->sched_nice,
-	       sched_attr->sched_priority,
-	       sched_attr->sched_runtime,
-	       sched_attr->sched_deadline,
-	       sched_attr->sched_period);
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
 
-	sched_attr->size = 0x90807060;
-	sched_attr->sched_policy = 0xca7faced;
-	sched_attr->sched_flags = 0xbadc0ded1057da7aULL;
-	sched_attr->sched_nice = 0xafbfcfdf;
-	sched_attr->sched_priority = 0xb8c8d8e8;
-	sched_attr->sched_runtime = 0xbadcaffedeadf157ULL;
-	sched_attr->sched_deadline = 0xc0de70a57badac75ULL;
-	sched_attr->sched_period = 0xded1ca7edda7aca7ULL;
+	sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr,
+			  F8ILL_KULONG_MASK);
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
+	       "SCHED_FLAG_RESET_ON_FORK",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
 
-	rc = syscall(__NR_sched_setattr, 0xfacec0de, sched_attr, 0xbeeff00d);
+	*psize = attr->size;
 
-	printf("sched_setattr\\(%d, \\{size=%u, "
-		"sched_policy=%#x /\\* SCHED_\\?\\?\\? \\*/, "
-		"sched_flags=%#" PRIx64 " /\\* SCHED_FLAG_\\?\\?\\? \\*/, "
-		"sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
-		"sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 "\\}, "
-		"%u\\) += %s\n",
-		0xfacec0de, sched_attr->size,
-		sched_attr->sched_policy,
-		sched_attr->sched_flags,
-		sched_attr->sched_nice,
-		sched_attr->sched_priority,
-		sched_attr->sched_runtime,
-		sched_attr->sched_deadline,
-		sched_attr->sched_period, 0xbeeff00d, sprintrc_grep(rc));
+	sys_sched_setattr(0, (unsigned long) psize, 0);
+	printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr);
 
+	attr->size = 0;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
+	       "SCHED_FLAG_RESET_ON_FORK",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
+
+	attr->size = 1;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
+	       1, attr->size, errstr);
+
+	attr->size = SCHED_ATTR_MIN_SIZE - 1;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
+	       SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr);
+
+	attr->size = 0x90807060;
+	attr->sched_policy = 0xca7faced;
+	attr->sched_flags = 0xbadc0ded1057da7aULL;
+	attr->sched_nice = 0xafbfcfdf;
+	attr->sched_priority = 0xb8c8d8e8;
+	attr->sched_runtime = 0xbadcaffedeadf157ULL;
+	attr->sched_deadline = 0xc0de70a57badac75ULL;
+	attr->sched_period = 0xded1ca7edda7aca7ULL;
+
+	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
+	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
+	       "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, "
+	       "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
+	       "sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 ", ...}, %u)"
+	       " = %s\n",
+	       (int) bogus_pid,
+	       attr->size,
+	       attr->sched_policy,
+	       attr->sched_flags,
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period,
+	       (unsigned) bogus_flags, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
+
+		sys_sched_getattr(0, ill, sizeof(*attr), 0);
+		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
+		       (unsigned long long) ill, (unsigned) sizeof(*attr),
+		       errstr);
+
+		sys_sched_setattr(0, ill, 0);
+		printf("sched_setattr(0, %#llx, 0) = %s\n",
+		       (unsigned long long) ill, errstr);
+	}
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests-mx32/sched_xetattr.gen.test b/tests-mx32/sched_xetattr.gen.test
new file mode 100755
index 0000000..e4f31c5
--- /dev/null
+++ b/tests-mx32/sched_xetattr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetattr -a29 -e trace=sched_getattr,sched_setattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=sched_getattr,sched_setattr
diff --git a/tests-mx32/sched_xetattr.test b/tests-mx32/sched_xetattr.test
deleted file mode 100755
index c2c7914..0000000
--- a/tests-mx32/sched_xetattr.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check sched_getattr and sched_setattr syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e sched_getattr,sched_setattr $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
diff --git a/tests-mx32/sched_xetparam.gen.test b/tests-mx32/sched_xetparam.gen.test
new file mode 100755
index 0000000..220ffb2
--- /dev/null
+++ b/tests-mx32/sched_xetparam.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetparam -a23 -e trace=sched_getparam,sched_setparam); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
diff --git a/tests-mx32/sched_xetparam.test b/tests-mx32/sched_xetparam.test
deleted file mode 100755
index c9fede1..0000000
--- a/tests-mx32/sched_xetparam.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getparam and sched_setparam syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
diff --git a/tests-mx32/sched_xetscheduler.c b/tests-mx32/sched_xetscheduler.c
index 7faee8c..8248a0c 100644
--- a/tests-mx32/sched_xetscheduler.c
+++ b/tests-mx32/sched_xetscheduler.c
@@ -10,7 +10,7 @@
 int
 main(void)
 {
-	struct sched_param *const param = tail_alloc(sizeof(struct sched_param));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param);
 	long rc = syscall(__NR_sched_getscheduler, 0);
 	const char *scheduler;
 	switch (rc) {
diff --git a/tests-mx32/sched_xetscheduler.gen.test b/tests-mx32/sched_xetscheduler.gen.test
new file mode 100755
index 0000000..0a80072
--- /dev/null
+++ b/tests-mx32/sched_xetscheduler.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetscheduler -a22 -e trace=sched_getscheduler,sched_setscheduler); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
diff --git a/tests-mx32/sched_xetscheduler.test b/tests-mx32/sched_xetscheduler.test
deleted file mode 100755
index 07c93f3..0000000
--- a/tests-mx32/sched_xetscheduler.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getscheduler and sched_setscheduler syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
diff --git a/tests-mx32/sched_yield.gen.test b/tests-mx32/sched_yield.gen.test
new file mode 100755
index 0000000..3f4542f
--- /dev/null
+++ b/tests-mx32/sched_yield.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_yield -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-mx32/sched_yield.test b/tests-mx32/sched_yield.test
deleted file mode 100755
index f0c2c30..0000000
--- a/tests-mx32/sched_yield.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_yield syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-mx32/scm_rights-fd.test b/tests-mx32/scm_rights-fd.test
index 8447375..279666e 100755
--- a/tests-mx32/scm_rights-fd.test
+++ b/tests-mx32/scm_rights-fd.test
@@ -3,6 +3,7 @@
 # Check how SCM_RIGHTS and SCM_CREDENTIALS control messages are decoded in -y mode.
 #
 # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,22 +35,19 @@
 	framework_skip_ '/proc/self/fd/ is not available'
 
 check_prog mkdir
-check_prog rm
 check_prog seq
 check_prog touch
 
-dir="$LOG.dir"
-rm -rf -- "$dir"
-mkdir -- "$dir" ||
+mkdir dir ||
 	framework_skip_ 'failed to create a directory'
 
-file="$dir/$(for i in $(seq 1 127); do echo A; done; echo Z)"
+file="dir/$(for i in $(seq 1 127); do echo A; done; echo Z)"
 
 touch -- "$file" ||
 	framework_skip_ 'failed to create a file'
 
-run_prog ./scm_rights /dev/zero
-run_strace -y -x -enetwork $args "$file"
+run_prog ../scm_rights /dev/zero
+run_strace -y -x -e%network $args "$file"
 
 hex='[[:xdigit:]]'
 n='[1-9][0-9]*'
@@ -66,15 +64,9 @@
 rights='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, cmsg_data='"$rights_data"'\}'
 creds='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data='"$ids"'\}'
 
-EXPECTED="$LOG.expected"
-
-cat > "$EXPECTED" << __EOF__
+cat > "$EXP" << __EOF__
 sendmsg\\(3$socket, $msg_head\\[$rights\\]$msg_tail\\}, 0\\) = 15
 recvmsg\\(0$socket, $msg_head\\[$creds, $rights\\]$msg_tail\\}, 0\\) = 15
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-rm -rf -- "$dir"
-
-exit 0
+match_grep "$LOG" "$EXP"
diff --git a/tests-mx32/scm_rights.c b/tests-mx32/scm_rights.c
index 42caed7..632cf91 100644
--- a/tests-mx32/scm_rights.c
+++ b/tests-mx32/scm_rights.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,11 +45,11 @@
 	void *data = tail_alloc(data_size);
 	memcpy(data, sample, data_size);
 
-	struct iovec *iov = tail_alloc(sizeof(struct iovec));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = data;
 	iov->iov_len = data_size;
 
-	struct msghdr *mh = tail_alloc(sizeof(struct msghdr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, mh);
 	memset(mh, 0, sizeof(*mh));
 	mh->msg_iov = iov;
 	mh->msg_iovlen = 1;
diff --git a/tests-mx32/scno_tampering.sh b/tests-mx32/scno_tampering.sh
index 6aa7843..094175e 100755
--- a/tests-mx32/scno_tampering.sh
+++ b/tests-mx32/scno_tampering.sh
@@ -3,6 +3,7 @@
 # Skip the test if arch+kernel combination is not supported.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/seccomp-filter-v.c b/tests-mx32/seccomp-filter-v.c
index dbf686d..fe88ac7 100644
--- a/tests-mx32/seccomp-filter-v.c
+++ b/tests-mx32/seccomp-filter-v.c
@@ -2,6 +2,7 @@
  * Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -105,7 +106,7 @@
 		tail_memdup(filter_c, sizeof(filter_c));
 	struct sock_filter *const big_filter =
 		tail_alloc(sizeof(*big_filter) * (BPF_MAXINSNS + 1));
-	struct sock_fprog *const prog = tail_alloc(sizeof(*prog));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sock_fprog, prog);
 
 	int fds[2];
 	if (pipe(fds))
diff --git a/tests-mx32/seccomp-filter-v.gen.test b/tests-mx32/seccomp-filter-v.gen.test
new file mode 100755
index 0000000..efce637
--- /dev/null
+++ b/tests-mx32/seccomp-filter-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (seccomp-filter-v -v -e trace=seccomp); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=seccomp
diff --git a/tests-mx32/seccomp-filter-v.test b/tests-mx32/seccomp-filter-v.test
deleted file mode 100755
index f873eb6..0000000
--- a/tests-mx32/seccomp-filter-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=seccomp
diff --git a/tests-mx32/seccomp-filter.c b/tests-mx32/seccomp-filter.c
index d4d76dd..e2bea06 100644
--- a/tests-mx32/seccomp-filter.c
+++ b/tests-mx32/seccomp-filter.c
@@ -2,6 +2,7 @@
  * Check decoding of seccomp SECCOMP_SET_MODE_FILTER.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,7 +50,7 @@
 {
 	struct sock_filter *const filter = tail_alloc(sizeof(*filter) * N);
 	const void *const efault = tail_alloc(1);
-	struct sock_fprog *const prog = tail_alloc(sizeof(*prog));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sock_fprog, prog);
 	long rc;
 
 	prog->filter = filter;
diff --git a/tests-mx32/seccomp-filter.gen.test b/tests-mx32/seccomp-filter.gen.test
new file mode 100755
index 0000000..52af0d5
--- /dev/null
+++ b/tests-mx32/seccomp-filter.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (seccomp-filter -e trace=seccomp); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=seccomp
diff --git a/tests-mx32/seccomp-filter.test b/tests-mx32/seccomp-filter.test
deleted file mode 100755
index 65c6d49..0000000
--- a/tests-mx32/seccomp-filter.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=seccomp
diff --git a/tests-mx32/seccomp-strict.test b/tests-mx32/seccomp-strict.test
index b354c6a..b039871 100755
--- a/tests-mx32/seccomp-strict.test
+++ b/tests-mx32/seccomp-strict.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-set -- "./$NAME"
+set -- "../$NAME"
 "$@" > /dev/null || {
 	case $? in
 		77) skip_ "$* exited with code 77" ;;
@@ -14,4 +14,3 @@
 }
 run_strace -eseccomp "$@" > "$EXP"
 match_diff "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-mx32/select.gen.test b/tests-mx32/select.gen.test
new file mode 100755
index 0000000..cb3b8f1
--- /dev/null
+++ b/tests-mx32/select.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (select -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-mx32/select.test b/tests-mx32/select.test
deleted file mode 100755
index 60b88ca..0000000
--- a/tests-mx32/select.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check select syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-mx32/semop.c b/tests-mx32/semop.c
index a2ff263..3d1f384 100644
--- a/tests-mx32/semop.c
+++ b/tests-mx32/semop.c
@@ -33,9 +33,7 @@
 	static void * const bogus_sops = (void *) -1L;
 	static const size_t bogus_nsops = (size_t) 0xdefaceddeadbeefULL;
 
-	static const struct timespec ts_data = { 1, 123456789 };
-
-	struct timespec *ts = tail_memdup(&ts_data, sizeof(*ts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
 	int rc;
 
 	id = semget(IPC_PRIVATE, 1, 0600);
@@ -47,8 +45,8 @@
 	if (semctl(id, 0, SETVAL, sem_union) == -1)
 		perror_msg_and_skip("semctl");
 
-	struct sembuf *const sem_b = tail_alloc(sizeof(*sem_b));
-	struct sembuf *const sem_b2 = tail_alloc(sizeof(*sem_b2));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sembuf, sem_b);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sembuf, sem_b2);
 
 	rc = semop(bogus_semid, NULL, bogus_nsops);
 	printf("semop(%d, NULL, %u) = %s\n",
@@ -91,15 +89,17 @@
 	printf("semtimedop(%d, %p, 1, %p) = %s\n",
 		id, sem_b + 1, ts + 1, sprintrc(rc));
 
+	ts->tv_sec = 1;
+	ts->tv_nsec = 123456789;
 	rc = semtimedop(bogus_semid, sem_b2, 2, ts);
-	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n",
+	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u"
+		", {tv_sec=%lld, tv_nsec=%llu}) = %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|" : "",
 		sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT),
 		sem_b2 + 1, 2,
-		(intmax_t) ts->tv_sec, (intmax_t) ts->tv_nsec,
+		(long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
 		sprintrc(rc));
 
 	sem_b->sem_op = 1;
@@ -110,9 +110,27 @@
 	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, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = 0\n", id,
-		(intmax_t) ts->tv_sec, (intmax_t) ts->tv_nsec);
+	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = 0\n", id,
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec));
+
+	sem_b->sem_op = 1;
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	rc = semtimedop(id, sem_b, 1, ts);
+	printf("semtimedop(%d, [{0, 1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       id, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	sem_b->sem_op = -1;
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	rc = semtimedop(id, sem_b, 1, ts);
+	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       id, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/semop.gen.test b/tests-mx32/semop.gen.test
new file mode 100755
index 0000000..21b67ea
--- /dev/null
+++ b/tests-mx32/semop.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (semop -a32 -e trace=semop,semtimedop); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -e trace=semop,semtimedop
diff --git a/tests-mx32/semop.test b/tests-mx32/semop.test
deleted file mode 100755
index 3e77d2f..0000000
--- a/tests-mx32/semop.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check semop syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -e trace=semop,semtimedop
diff --git a/tests-mx32/sendfile.c b/tests-mx32/sendfile.c
index 23f096b..9253c10 100644
--- a/tests-mx32/sendfile.c
+++ b/tests-mx32/sendfile.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,7 +70,7 @@
 	printf("sendfile(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
 	       (unsigned long) page_len);
 
-	uint32_t *p_off = tail_alloc(sizeof(uint32_t));
+	TAIL_ALLOC_OBJECT_VAR_PTR(uint32_t, p_off);
 	void *p = p_off + 1;
 	*p_off = 0;
 
diff --git a/tests-mx32/sendfile.gen.test b/tests-mx32/sendfile.gen.test
new file mode 100755
index 0000000..433878f
--- /dev/null
+++ b/tests-mx32/sendfile.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sendfile -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/sendfile.test b/tests-mx32/sendfile.test
deleted file mode 100755
index 48dba58..0000000
--- a/tests-mx32/sendfile.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sendfile syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/sendfile64.c b/tests-mx32/sendfile64.c
index 7208c30..de02400 100644
--- a/tests-mx32/sendfile64.c
+++ b/tests-mx32/sendfile64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,7 +70,7 @@
 	printf("sendfile64(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
 	       (unsigned long) page_len);
 
-	uint64_t *p_off = tail_alloc(sizeof(uint64_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, p_off);
 	void *p = p_off + 1;
 	*p_off = 0;
 
diff --git a/tests-mx32/sendfile64.gen.test b/tests-mx32/sendfile64.gen.test
new file mode 100755
index 0000000..1655dd3
--- /dev/null
+++ b/tests-mx32/sendfile64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sendfile64 -a29); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29
diff --git a/tests-mx32/sendfile64.test b/tests-mx32/sendfile64.test
deleted file mode 100755
index faa0525..0000000
--- a/tests-mx32/sendfile64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sendfile64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29
diff --git a/tests-mx32/set_mempolicy.gen.test b/tests-mx32/set_mempolicy.gen.test
new file mode 100755
index 0000000..f8c81c7
--- /dev/null
+++ b/tests-mx32/set_mempolicy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (set_mempolicy -s3 -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3 -a35
diff --git a/tests-mx32/set_mempolicy.test b/tests-mx32/set_mempolicy.test
deleted file mode 100755
index 0ed6666..0000000
--- a/tests-mx32/set_mempolicy.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check set_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a35
diff --git a/tests-mx32/set_ptracer_any.c b/tests-mx32/set_ptracer_any.c
index bc2f90c..3b4ea2c 100644
--- a/tests-mx32/set_ptracer_any.c
+++ b/tests-mx32/set_ptracer_any.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/setdomainname.gen.test b/tests-mx32/setdomainname.gen.test
new file mode 100755
index 0000000..2b12e08
--- /dev/null
+++ b/tests-mx32/setdomainname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setdomainname -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-mx32/setdomainname.test b/tests-mx32/setdomainname.test
deleted file mode 100755
index 2159e7c..0000000
--- a/tests-mx32/setdomainname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setdomainname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-mx32/setfsgid.gen.test b/tests-mx32/setfsgid.gen.test
new file mode 100755
index 0000000..caff401
--- /dev/null
+++ b/tests-mx32/setfsgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsgid -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-mx32/setfsgid.test b/tests-mx32/setfsgid.test
deleted file mode 100755
index 0ae2b0a..0000000
--- a/tests-mx32/setfsgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-mx32/setfsgid32.gen.test b/tests-mx32/setfsgid32.gen.test
new file mode 100755
index 0000000..fae29e0
--- /dev/null
+++ b/tests-mx32/setfsgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsgid32 -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-mx32/setfsgid32.test b/tests-mx32/setfsgid32.test
deleted file mode 100755
index 9b7a2bf..0000000
--- a/tests-mx32/setfsgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-mx32/setfsugid.c b/tests-mx32/setfsugid.c
index 79ba34d..7484db5 100644
--- a/tests-mx32/setfsugid.c
+++ b/tests-mx32/setfsugid.c
@@ -2,6 +2,7 @@
  * Check decoding of setfsuid/setfsgid/setfsuid32/setfsgid32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,7 +48,7 @@
 	const kernel_ulong_t tests[] = {
 		ugid,
 		0xffff0000U | ugid,
-		(kernel_ulong_t) 0xffffffff00000000ULL | ugid,
+		F8ILL_KULONG_MASK | ugid,
 		0xffffU,
 		-1U,
 		-1L,
diff --git a/tests-mx32/setfsuid.gen.test b/tests-mx32/setfsuid.gen.test
new file mode 100755
index 0000000..e4c4d20
--- /dev/null
+++ b/tests-mx32/setfsuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsuid -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-mx32/setfsuid.test b/tests-mx32/setfsuid.test
deleted file mode 100755
index 18a1021..0000000
--- a/tests-mx32/setfsuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-mx32/setfsuid32.gen.test b/tests-mx32/setfsuid32.gen.test
new file mode 100755
index 0000000..b6cd67d
--- /dev/null
+++ b/tests-mx32/setfsuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsuid32 -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-mx32/setfsuid32.test b/tests-mx32/setfsuid32.test
deleted file mode 100755
index 2dce3cc..0000000
--- a/tests-mx32/setfsuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-mx32/setgid.gen.test b/tests-mx32/setgid.gen.test
new file mode 100755
index 0000000..f10add6
--- /dev/null
+++ b/tests-mx32/setgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/setgid.test b/tests-mx32/setgid.test
deleted file mode 100755
index a3a9004..0000000
--- a/tests-mx32/setgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-mx32/setgid32.gen.test b/tests-mx32/setgid32.gen.test
new file mode 100755
index 0000000..26f194e
--- /dev/null
+++ b/tests-mx32/setgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgid32 -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-mx32/setgid32.test b/tests-mx32/setgid32.test
deleted file mode 100755
index 11a87e1..0000000
--- a/tests-mx32/setgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-mx32/setgroups.c b/tests-mx32/setgroups.c
index 1ec8333..5645c22 100644
--- a/tests-mx32/setgroups.c
+++ b/tests-mx32/setgroups.c
@@ -2,6 +2,7 @@
  * Check decoding of setgroups/setgroups32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -75,7 +76,7 @@
 	long rc = syscall(SYSCALL_NR, 0, 0);
 	printf("%s(0, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK, 0);
 	printf("%s(0, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, 1, 0);
@@ -91,7 +92,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(const GID_TYPE, g1);
 	GID_TYPE *const g2 = tail_alloc(sizeof(*g2) * 2);
 	GID_TYPE *const g3 = tail_alloc(sizeof(*g3) * 3);
 
@@ -164,9 +165,7 @@
 		printuid(g3[1]);
 		printf(", ...]) = %s\n", errstr);
 
-		const unsigned long size =
-			(unsigned long) 0xffffffff00000000ULL | ngroups_max;
-		rc = syscall(SYSCALL_NR, size, g3);
+		rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK | ngroups_max, g3);
 		errstr = sprintrc(rc);
 		printf("%s(%d, [", SYSCALL_NAME, ngroups_max);
 		printuid(g3[0]);
diff --git a/tests-mx32/setgroups.gen.test b/tests-mx32/setgroups.gen.test
new file mode 100755
index 0000000..01ec2e7
--- /dev/null
+++ b/tests-mx32/setgroups.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgroups -s2 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2 -a17
diff --git a/tests-mx32/setgroups.test b/tests-mx32/setgroups.test
deleted file mode 100755
index 0dcc8f7..0000000
--- a/tests-mx32/setgroups.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a17
diff --git a/tests-mx32/setgroups32.gen.test b/tests-mx32/setgroups32.gen.test
new file mode 100755
index 0000000..e9e70ad
--- /dev/null
+++ b/tests-mx32/setgroups32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgroups32 -s2 -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2 -a19
diff --git a/tests-mx32/setgroups32.test b/tests-mx32/setgroups32.test
deleted file mode 100755
index ee4750d..0000000
--- a/tests-mx32/setgroups32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a19
diff --git a/tests-mx32/sethostname.gen.test b/tests-mx32/sethostname.gen.test
new file mode 100755
index 0000000..2827b1d
--- /dev/null
+++ b/tests-mx32/sethostname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sethostname -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests-mx32/sethostname.test b/tests-mx32/sethostname.test
deleted file mode 100755
index 78f8c58..0000000
--- a/tests-mx32/sethostname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sethostname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests-mx32/setns.gen.test b/tests-mx32/setns.gen.test
new file mode 100755
index 0000000..45fcc60
--- /dev/null
+++ b/tests-mx32/setns.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setns -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-mx32/setns.test b/tests-mx32/setns.test
deleted file mode 100755
index e9a905a..0000000
--- a/tests-mx32/setns.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-mx32/setregid.gen.test b/tests-mx32/setregid.gen.test
new file mode 100755
index 0000000..0125d7a
--- /dev/null
+++ b/tests-mx32/setregid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setregid -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-mx32/setregid.test b/tests-mx32/setregid.test
deleted file mode 100755
index 101c7bd..0000000
--- a/tests-mx32/setregid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setregid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests-mx32/setregid32.gen.test b/tests-mx32/setregid32.gen.test
new file mode 100755
index 0000000..24f1505
--- /dev/null
+++ b/tests-mx32/setregid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setregid32 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-mx32/setregid32.test b/tests-mx32/setregid32.test
deleted file mode 100755
index e57e66c..0000000
--- a/tests-mx32/setregid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setregid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-mx32/setresgid.gen.test b/tests-mx32/setresgid.gen.test
new file mode 100755
index 0000000..ca5bc6b
--- /dev/null
+++ b/tests-mx32/setresgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresgid -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-mx32/setresgid.test b/tests-mx32/setresgid.test
deleted file mode 100755
index 5a69574..0000000
--- a/tests-mx32/setresgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-mx32/setresgid32.gen.test b/tests-mx32/setresgid32.gen.test
new file mode 100755
index 0000000..a5edb90
--- /dev/null
+++ b/tests-mx32/setresgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresgid32 -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-mx32/setresgid32.test b/tests-mx32/setresgid32.test
deleted file mode 100755
index 528b2c9..0000000
--- a/tests-mx32/setresgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-mx32/setresuid.gen.test b/tests-mx32/setresuid.gen.test
new file mode 100755
index 0000000..a6e0664
--- /dev/null
+++ b/tests-mx32/setresuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresuid -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests-mx32/setresuid.test b/tests-mx32/setresuid.test
deleted file mode 100755
index f1219e0..0000000
--- a/tests-mx32/setresuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests-mx32/setresuid32.gen.test b/tests-mx32/setresuid32.gen.test
new file mode 100755
index 0000000..3fbf36b
--- /dev/null
+++ b/tests-mx32/setresuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresuid32 -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests-mx32/setresuid32.test b/tests-mx32/setresuid32.test
deleted file mode 100755
index 942a3a6..0000000
--- a/tests-mx32/setresuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-mx32/setreuid.gen.test b/tests-mx32/setreuid.gen.test
new file mode 100755
index 0000000..4c3dc93
--- /dev/null
+++ b/tests-mx32/setreuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setreuid -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-mx32/setreuid.test b/tests-mx32/setreuid.test
deleted file mode 100755
index b6db3c1..0000000
--- a/tests-mx32/setreuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setreuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests-mx32/setreuid32.gen.test b/tests-mx32/setreuid32.gen.test
new file mode 100755
index 0000000..d179053
--- /dev/null
+++ b/tests-mx32/setreuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setreuid32 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-mx32/setreuid32.test b/tests-mx32/setreuid32.test
deleted file mode 100755
index 23323d4..0000000
--- a/tests-mx32/setreuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setreuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests-mx32/setrlimit.gen.test b/tests-mx32/setrlimit.gen.test
new file mode 100755
index 0000000..dfe2da3
--- /dev/null
+++ b/tests-mx32/setrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setrlimit -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests-mx32/setrlimit.test b/tests-mx32/setrlimit.test
deleted file mode 100755
index 7920608..0000000
--- a/tests-mx32/setrlimit.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getrlimit/ugetrlimit/setrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests-mx32/setuid.gen.test b/tests-mx32/setuid.gen.test
new file mode 100755
index 0000000..98d470f
--- /dev/null
+++ b/tests-mx32/setuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setuid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/setuid.test b/tests-mx32/setuid.test
deleted file mode 100755
index 9279233..0000000
--- a/tests-mx32/setuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-mx32/setuid32.gen.test b/tests-mx32/setuid32.gen.test
new file mode 100755
index 0000000..7d15495
--- /dev/null
+++ b/tests-mx32/setuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setuid32 -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests-mx32/setuid32.test b/tests-mx32/setuid32.test
deleted file mode 100755
index 7998392..0000000
--- a/tests-mx32/setuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests-mx32/shmxt.gen.test b/tests-mx32/shmxt.gen.test
new file mode 100755
index 0000000..dd9d35f
--- /dev/null
+++ b/tests-mx32/shmxt.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (shmxt -a11 -e trace='/(osf_)?shmat,shmdt'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace='/(osf_)?shmat,shmdt'
diff --git a/tests-mx32/shmxt.test b/tests-mx32/shmxt.test
deleted file mode 100755
index 3757cfa..0000000
--- a/tests-mx32/shmxt.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check shmat and shmdt syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-case "$STRACE_ARCH" in
-	alpha) shmat=osf_shmat ;;
-	*) shmat=shmat ;;
-esac
-
-run_strace_match_diff -e trace=$shmat,shmdt -a11
diff --git a/tests-mx32/shutdown.gen.test b/tests-mx32/shutdown.gen.test
new file mode 100755
index 0000000..3412513
--- /dev/null
+++ b/tests-mx32/shutdown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (shutdown -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-mx32/shutdown.test b/tests-mx32/shutdown.test
deleted file mode 100755
index 22f0d5a..0000000
--- a/tests-mx32/shutdown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of shutdown syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-mx32/siginfo.gen.test b/tests-mx32/siginfo.gen.test
new file mode 100755
index 0000000..33792b9
--- /dev/null
+++ b/tests-mx32/siginfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (siginfo -e trace=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=none
diff --git a/tests-mx32/siginfo.test b/tests-mx32/siginfo.test
deleted file mode 100755
index 725f714..0000000
--- a/tests-mx32/siginfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check SIGCHLD siginfo_t decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=none
diff --git a/tests-mx32/signal_receive.gen.test b/tests-mx32/signal_receive.gen.test
new file mode 100755
index 0000000..79e8fb8
--- /dev/null
+++ b/tests-mx32/signal_receive.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signal_receive -a16 -e trace=kill); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16 -e trace=kill
diff --git a/tests-mx32/signal_receive.test b/tests-mx32/signal_receive.test
deleted file mode 100755
index 9685b66..0000000
--- a/tests-mx32/signal_receive.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check whether strace traces signals properly.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16 -e trace=kill
diff --git a/tests-mx32/signalfd4.c b/tests-mx32/signalfd4.c
index 47e49b5..4391b92 100644
--- a/tests-mx32/signalfd4.c
+++ b/tests-mx32/signalfd4.c
@@ -2,6 +2,7 @@
  * Check decoding of signalfd4 syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +32,7 @@
 #include <fcntl.h>
 #include <asm/unistd.h>
 
-#if defined __NR_rt_sigprocmask \
- && defined HAVE_SYS_SIGNALFD_H \
+#if defined HAVE_SYS_SIGNALFD_H \
  && defined HAVE_SIGNALFD \
  && defined O_CLOEXEC
 
@@ -41,24 +41,6 @@
 # include <unistd.h>
 # include <sys/signalfd.h>
 
-static unsigned int
-get_sigset_size(void)
-{
-	const unsigned int big_size = 1024 / 8;
-	unsigned int set_size;
-
-	for (set_size = big_size; set_size; set_size >>= 1) {
-		if (!syscall(__NR_rt_sigprocmask, SIG_SETMASK,
-			     NULL, NULL, set_size))
-			break;
-	}
-
-	if (!set_size)
-		perror_msg_and_fail("rt_sigprocmask");
-
-	return set_size;
-}
-
 int
 main(void)
 {
@@ -80,7 +62,6 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("__NR_rt_sigprocmask && HAVE_SYS_SIGNALFD_H"
-		    " && HAVE_SIGNALFD && O_CLOEXEC")
+SKIP_MAIN_UNDEFINED("HAVE_SYS_SIGNALFD_H && HAVE_SIGNALFD && O_CLOEXEC")
 
 #endif
diff --git a/tests-mx32/signalfd4.gen.test b/tests-mx32/signalfd4.gen.test
new file mode 100755
index 0000000..e91a9fe
--- /dev/null
+++ b/tests-mx32/signalfd4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signalfd4 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/signalfd4.test b/tests-mx32/signalfd4.test
deleted file mode 100755
index a615a5b..0000000
--- a/tests-mx32/signalfd4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of signalfd4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/sigreturn.c b/tests-mx32/sigreturn.c
index dace040..ff9a59f 100644
--- a/tests-mx32/sigreturn.c
+++ b/tests-mx32/sigreturn.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,23 +26,38 @@
  */
 
 #include "tests.h"
-#include <stdlib.h>
-#include <signal.h>
+#include <asm/unistd.h>
 
-#ifdef ASM_SIGRTMIN
-# define RT_0 ASM_SIGRTMIN
-#else
-/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
-# define RT_0 32
+#if defined __powerpc64__ \
+ || (defined __sparc__ && defined __arch64__)
+/* Old sigreturn is defined but not implemented in the kernel. */
+# undef __NR_sigreturn
 #endif
 
-static void handler(int sig)
+#ifdef __NR_sigreturn
+
+# include <signal.h>
+# include <stdio.h>
+# include <stdlib.h>
+
+# ifdef ASM_SIGRTMIN
+#  define RT_0 ASM_SIGRTMIN
+# else
+/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
+#  define RT_0 32
+# endif
+
+static void
+handler(int sig)
 {
 }
 
-int main(void) {
-	sigset_t set;
+int
+main(void)
+{
+	static sigset_t set;
 	sigemptyset(&set);
+	sigaddset(&set, SIGINT);
 	sigaddset(&set, SIGUSR2);
 	sigaddset(&set, SIGCHLD);
 	sigaddset(&set, RT_0 +  3);
@@ -50,8 +65,28 @@
 	sigaddset(&set, RT_0 +  5);
 	sigaddset(&set, RT_0 + 26);
 	sigaddset(&set, RT_0 + 27);
-	sigprocmask(SIG_SETMASK, &set, NULL);
-	signal(SIGUSR1, handler);
-	raise(SIGUSR1);
+	if (sigprocmask(SIG_SETMASK, &set, NULL))
+		perror_msg_and_fail("sigprocmask");
+	sigemptyset(&set);
+
+	/* This should result to old sigreturn. */
+	if (signal(SIGUSR1, handler) == SIG_ERR)
+		perror_msg_and_fail("sigaction");
+
+	if (raise(SIGUSR1))
+		perror_msg_and_fail("raise");
+
+	static const char *const sigs =
+		(SIGUSR2 < SIGCHLD) ? "INT USR2 CHLD" : "INT CHLD USR2";
+	static const char *const rt_sigs = "RT_3 RT_4 RT_5 RT_26 RT_27";
+	printf("sigreturn({mask=[%s %s]}) = 0\n", sigs, rt_sigs);
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigreturn")
+
+#endif
diff --git a/tests-mx32/sigreturn.gen.test b/tests-mx32/sigreturn.gen.test
new file mode 100755
index 0000000..f317e89
--- /dev/null
+++ b/tests-mx32/sigreturn.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigreturn -esignal='!USR1'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal='!USR1'
diff --git a/tests-mx32/sigreturn.test b/tests-mx32/sigreturn.test
deleted file mode 100755
index f9a612b..0000000
--- a/tests-mx32/sigreturn.test
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-#
-# Check rt_sigprocmask and sigreturn/rt_sigreturn decoding.
-#
-# Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-# 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_prog
-run_strace -esignal $args
-
-mask='\[(USR2 CHLD|CHLD USR2) RT_3 RT_4 RT_5 RT_26 RT_27\]'
-rt_sigprocmask='rt_sigprocmask\(SIG_SETMASK, '"$mask"', NULL, [[:digit:]]+\) += 0'
-osf_sigprocmask='osf_sigprocmask\(SIG_SETMASK, '"$mask"'\) += 0 +\(old mask \[[^]]*\]\)'
-EXPECTED="$LOG.expected"
-
-cat > "$EXPECTED" << __EOF__
-$rt_sigprocmask|$osf_sigprocmask
-(rt_)?sigreturn\\((\\{mask=$mask\\})?\\) += 0
-__EOF__
-
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-
-exit 0
diff --git a/tests-mx32/sigsuspend.c b/tests-mx32/sigsuspend.c
new file mode 100644
index 0000000..dac6890
--- /dev/null
+++ b/tests-mx32/sigsuspend.c
@@ -0,0 +1,117 @@
+/*
+ * Check decoding of sigsuspend syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_sigsuspend
+
+# include <assert.h>
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+# ifdef MIPS
+#  define SIGNAL_MASK_BY_REF 1
+# else
+#  define SIGNAL_MASK_BY_REF 0
+# endif
+
+static long
+k_sigsuspend(const kernel_ulong_t arg1,
+	     const kernel_ulong_t arg2,
+	     const kernel_ulong_t arg3)
+{
+	return syscall(__NR_sigsuspend, arg1, arg2, arg3);
+}
+
+static int signo;
+static const char *sigtxt[] = {
+	[SIGUSR1] = "USR1",
+	[SIGUSR2] = "USR2"
+};
+
+static void
+handler(int i)
+{
+	signo = i;
+}
+
+int
+main(void)
+{
+	union {
+		sigset_t libc_mask;
+		unsigned long old_mask;
+	} u;
+
+	sigemptyset(&u.libc_mask);
+	sigaddset(&u.libc_mask, SIGUSR1);
+	sigaddset(&u.libc_mask, SIGUSR2);
+	if (sigprocmask(SIG_SETMASK, &u.libc_mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+
+	const struct sigaction sa = { .sa_handler = handler };
+	if (sigaction(SIGUSR1, &sa, NULL) || sigaction(SIGUSR2, &sa, NULL))
+		perror_msg_and_fail("sigaction");
+
+	raise(SIGUSR1);
+	raise(SIGUSR2);
+
+	u.old_mask = -1UL;
+	sigdelset(&u.libc_mask, SIGUSR1);
+	const unsigned long mask1 = u.old_mask;
+
+	u.old_mask = -1UL;
+	sigdelset(&u.libc_mask, SIGUSR2);
+	const unsigned long mask2 = u.old_mask;
+
+#if SIGNAL_MASK_BY_REF
+	k_sigsuspend((uintptr_t) &mask1, 0xdeadbeef, (uintptr_t) &mask2);
+#else
+	k_sigsuspend(mask1, 0xdeadbeef, mask2);
+#endif
+	if (EINTR != errno)
+		perror_msg_and_skip("sigsuspend");
+
+	printf("sigsuspend(~[%s]) = ? ERESTARTNOHAND"
+	       " (To be restarted if no handler)\n", sigtxt[signo]);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigsuspend")
+
+#endif
diff --git a/tests-mx32/sigsuspend.gen.test b/tests-mx32/sigsuspend.gen.test
new file mode 100755
index 0000000..afd0207
--- /dev/null
+++ b/tests-mx32/sigsuspend.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigsuspend -a19 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19 -esignal=none
diff --git a/tests-mx32/skip_unavailable.c b/tests-mx32/skip_unavailable.c
new file mode 100644
index 0000000..074fc3a
--- /dev/null
+++ b/tests-mx32/skip_unavailable.c
@@ -0,0 +1,13 @@
+#include "tests.h"
+
+#include <sys/stat.h>
+#include <unistd.h>
+
+void
+skip_if_unavailable(const char *const path)
+{
+	struct stat st;
+
+	if (stat(path, &st))
+		perror_msg_and_skip("stat: %s", path);
+}
diff --git a/tests-mx32/socketcall.gen.test b/tests-mx32/socketcall.gen.test
new file mode 100755
index 0000000..95c45fd
--- /dev/null
+++ b/tests-mx32/socketcall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (socketcall -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests-mx32/socketcall.test b/tests-mx32/socketcall.test
deleted file mode 100755
index 959bc83..0000000
--- a/tests-mx32/socketcall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of socketcall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests-mx32/sockname.c b/tests-mx32/sockname.c
index c5072ca..9bab8ed 100644
--- a/tests-mx32/sockname.c
+++ b/tests-mx32/sockname.c
@@ -2,6 +2,7 @@
  * Check decoding of sockname family syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -74,7 +75,7 @@
 static void
 test_sockname_syscall(const int fd)
 {
-	socklen_t *const plen = tail_alloc(sizeof(*plen));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, plen);
 	*plen = sizeof(struct sockaddr_un);
 	struct sockaddr_un *addr = tail_alloc(*plen);
 
diff --git a/tests-mx32/splice.c b/tests-mx32/splice.c
index b6f2525..cf07c80 100644
--- a/tests-mx32/splice.c
+++ b/tests-mx32/splice.c
@@ -2,6 +2,7 @@
  * This file is part of splice strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +41,8 @@
 {
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_in);
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_out);
 	*off_in = 0xdeadbef1facefed1ULL;
 	*off_out = 0xdeadbef2facefed2ULL;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
diff --git a/tests-mx32/splice.gen.test b/tests-mx32/splice.gen.test
new file mode 100755
index 0000000..83c8406
--- /dev/null
+++ b/tests-mx32/splice.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (splice ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/splice.test b/tests-mx32/splice.test
deleted file mode 100755
index cc5c327..0000000
--- a/tests-mx32/splice.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check splice syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/stat.c b/tests-mx32/stat.c
index d4ca7b0..79e9175 100644
--- a/tests-mx32/stat.c
+++ b/tests-mx32/stat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/stat.gen.test b/tests-mx32/stat.gen.test
new file mode 100755
index 0000000..13ccd0b
--- /dev/null
+++ b/tests-mx32/stat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (stat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/stat.test b/tests-mx32/stat.test
deleted file mode 100755
index ba8938c..0000000
--- a/tests-mx32/stat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check stat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/stat64.c b/tests-mx32/stat64.c
index 782de33..74927de 100644
--- a/tests-mx32/stat64.c
+++ b/tests-mx32/stat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests-mx32/stat64.gen.test b/tests-mx32/stat64.gen.test
new file mode 100755
index 0000000..f49df37
--- /dev/null
+++ b/tests-mx32/stat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (stat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/stat64.test b/tests-mx32/stat64.test
deleted file mode 100755
index abcfb9e..0000000
--- a/tests-mx32/stat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check stat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests-mx32/statfs.expected b/tests-mx32/statfs.expected
deleted file mode 100644
index 11e9f0b..0000000
--- a/tests-mx32/statfs.expected
+++ /dev/null
@@ -1 +0,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-mx32/statfs.gen.test b/tests-mx32/statfs.gen.test
new file mode 100755
index 0000000..19b26dd
--- /dev/null
+++ b/tests-mx32/statfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statfs -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-mx32/statfs.test b/tests-mx32/statfs.test
deleted file mode 100755
index 6075576..0000000
--- a/tests-mx32/statfs.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# Check statfs syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-# this test probes /proc/self/status
-[ -f /proc/self/status ] ||
-	framework_skip_ '/proc/self/status is not available'
-
-run_strace_match_diff -a17
diff --git a/tests-mx32/statfs64.gen.test b/tests-mx32/statfs64.gen.test
new file mode 100755
index 0000000..66409f9
--- /dev/null
+++ b/tests-mx32/statfs64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statfs64 -a23); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23
diff --git a/tests-mx32/statfs64.test b/tests-mx32/statfs64.test
deleted file mode 100755
index 9c0aa27..0000000
--- a/tests-mx32/statfs64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check statfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests-mx32/statx.c b/tests-mx32/statx.c
new file mode 100644
index 0000000..f36fb0e
--- /dev/null
+++ b/tests-mx32/statx.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_statx
+
+# include <linux/stat.h>
+# include "xlat.h"
+# include "xlat/statx_masks.h"
+# include "xlat/statx_attrs.h"
+# include "xlat/at_statx_sync_types.h"
+
+# define IS_STATX 1
+# define TEST_SYSCALL_STR "statx"
+# define STRUCT_STAT struct statx
+# define STRUCT_STAT_STR "struct statx"
+# define STRUCT_STAT_IS_STAT64 0
+
+static unsigned    TEST_SYSCALL_STATX_FLAGS     = AT_STATX_SYNC_AS_STAT;
+static const char *TEST_SYSCALL_STATX_FLAGS_STR = "AT_STATX_SYNC_AS_STAT";
+static unsigned    TEST_SYSCALL_STATX_MASK      = STATX_ALL;
+static const char *TEST_SYSCALL_STATX_MASK_STR  = "STATX_ALL";
+
+# define TEST_SYSCALL_INVOKE(sample, pst) \
+	syscall(__NR_statx, AT_FDCWD, sample, TEST_SYSCALL_STATX_FLAGS, \
+	        TEST_SYSCALL_STATX_MASK, pst)
+# define PRINT_SYSCALL_HEADER(sample) \
+	do { \
+		int saved_errno = errno; \
+		printf("%s(AT_FDCWD, \"%s\", %s, %s, ", \
+		       TEST_SYSCALL_STR, sample, TEST_SYSCALL_STATX_FLAGS_STR, \
+		       TEST_SYSCALL_STATX_MASK_STR)
+# define PRINT_SYSCALL_FOOTER(rc) \
+		errno = saved_errno; \
+		printf(") = %s\n", sprintrc(rc)); \
+	} while (0)
+
+# include "xstatx.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_statx")
+
+#endif
diff --git a/tests-mx32/statx.gen.test b/tests-mx32/statx.gen.test
new file mode 100755
index 0000000..bff3e3f
--- /dev/null
+++ b/tests-mx32/statx.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statx -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/statx.sh b/tests-mx32/statx.sh
deleted file mode 100755
index a630193..0000000
--- a/tests-mx32/statx.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of stat family syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -P $NAME.sample -P /dev/full -a32
diff --git a/tests-mx32/strace-C.test b/tests-mx32/strace-C.test
index ccca9a0..359ddbd 100755
--- a/tests-mx32/strace-C.test
+++ b/tests-mx32/strace-C.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -a24 -C -enanosleep ./sleep 1
+run_prog ../sleep 0
+run_strace -a24 -C -enanosleep ../sleep 1
 match_grep
diff --git a/tests-mx32/strace-E.expected b/tests-mx32/strace-E.expected
index d7823b7..3ae2c28 100644
--- a/tests-mx32/strace-E.expected
+++ b/tests-mx32/strace-E.expected
@@ -1 +1 @@
-execve\("\./sleep", \["\./sleep", "0"\], \[.*"option_E_var=OPTION_E_VAL".*\]\) = 0
+execve\("\.\./sleep", \["\.\./sleep", "0"\], \[.*"option_E_var=OPTION_E_VAL".*\]\) = 0
diff --git a/tests-mx32/strace-E.test b/tests-mx32/strace-E.test
index d76ec3f..843f27a 100755
--- a/tests-mx32/strace-E.test
+++ b/tests-mx32/strace-E.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0 > /dev/null
+run_prog ../sleep 0 > /dev/null
 run_strace -E option_E_var=OPTION_E_VAL -v $args
 match_grep
diff --git a/tests-mx32/strace-S.test b/tests-mx32/strace-S.test
index 3ea315c..64e4a41 100755
--- a/tests-mx32/strace-S.test
+++ b/tests-mx32/strace-S.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./readv > /dev/null
+run_prog ../readv > /dev/null
 
 test_c()
 {
@@ -13,7 +13,7 @@
 	sortopts="$1"; shift
 	sedexpr="$1"; shift
 
-	run_strace -c -w -S "$sortby" ./readv > /dev/null
+	run_strace -c -w -S "$sortby" ../readv > /dev/null
 	sed -r -n -e "$sedexpr" < "$LOG" > "$OUT"
 
 	[ -s "$OUT" ] ||
@@ -28,5 +28,3 @@
 c='[[:space:]]+([^[:space:]]+)'
 test_c calls '-n -r' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'[[:space:]].*/\4/p'
 test_c name '' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'([[:space:]]+[0-9]+)?'"$c"'$/\6/p'
-
-rm -f "$OUT"
diff --git a/tests-mx32/strace-T.test b/tests-mx32/strace-T.test
index 7ab84a7..a6dac4e 100755
--- a/tests-mx32/strace-T.test
+++ b/tests-mx32/strace-T.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -a24 -T -enanosleep ./sleep 1
+run_prog ../sleep 0
+run_strace -a24 -T -enanosleep ../sleep 1
 match_grep
diff --git a/tests-mx32/strace-V.test b/tests-mx32/strace-V.test
index 9a051e0..d5c3ac0 100755
--- a/tests-mx32/strace-V.test
+++ b/tests-mx32/strace-V.test
@@ -10,15 +10,22 @@
 
 getval()
 {
-	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' ../config.h
+	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' \
+		../../config.h
+}
+
+config_year=$(getval COPYRIGHT_YEAR)
+
+[ "$year" -ge "$config_year" ] && [ "$config_year" -ge 2017 ] || {
+	echo >&2 "The year derived from config.h (${config_year}) does not pass sanity checks."
+	exit 1
 }
 
 cat > "$EXP" << __EOF__
 $(getval PACKAGE_NAME) -- version $(getval PACKAGE_VERSION)
-Copyright (C) 1991-$year The strace developers <$(getval PACKAGE_URL)>.
+Copyright (C) 1991-${config_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"
+match_diff "$LOG" "$EXP"
diff --git a/tests-mx32/strace-ff.test b/tests-mx32/strace-ff.test
index 2ce06f1..7107527 100755
--- a/tests-mx32/strace-ff.test
+++ b/tests-mx32/strace-ff.test
@@ -7,7 +7,7 @@
 run_prog_skip_if_failed \
 	kill -0 $$
 
-./set_ptracer_any ./sleep 1 > "$OUT" &
+../set_ptracer_any ../sleep 1 > "$OUT" &
 tracee_pid=$!
 
 while ! [ -s "$OUT" ]; do
@@ -15,7 +15,6 @@
 		fail_ 'set_ptracer_any sleep failed'
 done
 
-rm -f "$LOG".*
 run_strace -a14 -eexit_group -ff -p $tracee_pid
 
 # check that output matches
@@ -25,5 +24,3 @@
 set -- "$LOG".*
 [ "$LOG.$tracee_pid" = "$*" ] ||
 	fail_ "too many output files: $*"
-
-rm -f "$OUT" "$LOG.$tracee_pid"
diff --git a/tests-mx32/strace-k.test b/tests-mx32/strace-k.test
index d5e8ed2..e68951e 100755
--- a/tests-mx32/strace-k.test
+++ b/tests-mx32/strace-k.test
@@ -4,6 +4,7 @@
 #
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -37,7 +38,7 @@
 check_prog sed
 check_prog tr
 
-run_prog ./stack-fcall
+run_prog ../stack-fcall
 run_strace -e getpid -k $args
 
 expected='getpid f3 f2 f1 f0 main '
diff --git a/tests-mx32/strace-r.expected b/tests-mx32/strace-r.expected
index 8009c35..2a5b977 100644
--- a/tests-mx32/strace-r.expected
+++ b/tests-mx32/strace-r.expected
@@ -1,2 +1,2 @@
-[ ]{5}0\.0{6} execve\("\./sleep", \["\./sleep", "1"\], \[/\* [[:digit:]]+ vars \*/\]\) = 0
+[ ]{5}0\.0{6} execve\("\.\./sleep", \["\.\./sleep", "1"\], 0x[[:xdigit:]]* /\* [[:digit:]]* vars \*/\) = 0
 [ ]{5}(1\.[01]|0\.9)[[:digit:]]{5} \+\+\+ exited with 0 \+\+\+
diff --git a/tests-mx32/strace-r.test b/tests-mx32/strace-r.test
index 4ba01f1..00649b5 100755
--- a/tests-mx32/strace-r.test
+++ b/tests-mx32/strace-r.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -r -eexecve ./sleep 1
+run_prog ../sleep 0
+run_strace -r -eexecve ../sleep 1
 match_grep
diff --git a/tests-mx32/strace-t.test b/tests-mx32/strace-t.test
index 1d213e6..38070f3 100755
--- a/tests-mx32/strace-t.test
+++ b/tests-mx32/strace-t.test
@@ -5,16 +5,14 @@
 . "${srcdir=.}/init.sh"
 
 run_prog_skip_if_failed date +%T > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 t0="$(date +%T)"
 run_strace -t -eexecve $args
 t1="$(date +%T)"
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
-($t0|$t1) execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+cat > "$EXP" << __EOF__
+($t0|$t1) execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
+match_grep "$LOG" "$EXP"
diff --git a/tests-mx32/strace-tt.test b/tests-mx32/strace-tt.test
index 3f80001..3285655 100755
--- a/tests-mx32/strace-tt.test
+++ b/tests-mx32/strace-tt.test
@@ -6,7 +6,7 @@
 
 run_prog_skip_if_failed date +%s > "$LOG"
 run_prog_skip_if_failed date +%T --date "@$(cat "$LOG")" > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 s0="$(date +%s)"
 run_strace -tt -eexecve $args
@@ -21,8 +21,7 @@
 done
 
 cat > "$EXP" << __EOF__
-($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+($t_reg)\\.[[:digit:]]{6} execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0
 __EOF__
 
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-mx32/strace-ttt.test b/tests-mx32/strace-ttt.test
index 4439715..7d4435b 100755
--- a/tests-mx32/strace-ttt.test
+++ b/tests-mx32/strace-ttt.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog_skip_if_failed date +%s > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 s0="$(date +%s)"
 run_strace -ttt -eexecve $args
@@ -19,8 +19,7 @@
 done
 
 cat > "$EXP" << __EOF__
-($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+($t_reg)\\.[[:digit:]]{6} execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]+ vars \\*/\\) = 0
 __EOF__
 
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests-mx32/struct_flock.c b/tests-mx32/struct_flock.c
index 34cf58e..428c038 100644
--- a/tests-mx32/struct_flock.c
+++ b/tests-mx32/struct_flock.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,7 +33,6 @@
 #include "flock.h"
 
 #define FILE_LEN 4096
-#define EINVAL_STR "-1 EINVAL (Invalid argument)"
 
 #define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd)
 
@@ -45,9 +45,10 @@
 static long
 invoke_test_syscall(const unsigned int cmd, void *const p)
 {
-	const unsigned long op = (unsigned long) 0xffffffff00000000ULL | cmd;
+	const kernel_ulong_t fd = F8ILL_KULONG_MASK;
+	const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd;
 
-	return syscall(TEST_SYSCALL_NR, 0, op, (unsigned long) p);
+	return syscall(TEST_SYSCALL_NR, fd, op, (unsigned long) p);
 }
 
 static void
@@ -58,10 +59,10 @@
 		.l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL,
 		.l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
-	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, EINVAL_STR);
+	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc));
 }
 
 static void
@@ -77,7 +78,7 @@
 	long rc = invoke_test_syscall(F_SETLK, &fl);
 	printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=0, l_len=%d}) = %s\n",
-	       TEST_SYSCALL_STR, FILE_LEN, rc ? EINVAL_STR : "0");
+	       TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc));
 	if (rc)
 		return;
 
diff --git a/tests-mx32/sun_path.test b/tests-mx32/sun_path.test
index 728328a..f0b7a02 100755
--- a/tests-mx32/sun_path.test
+++ b/tests-mx32/sun_path.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./net-accept-connect 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
+run_prog ../net-accept-connect 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
 run_strace_merge -ebind,connect,getsockname $args
 match_grep
 
diff --git a/tests-mx32/swap.gen.test b/tests-mx32/swap.gen.test
new file mode 100755
index 0000000..4ca7891
--- /dev/null
+++ b/tests-mx32/swap.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (swap -a23 -e trace=swapon,swapoff); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=swapon,swapoff
diff --git a/tests-mx32/swap.test b/tests-mx32/swap.test
deleted file mode 100755
index a30e1fd..0000000
--- a/tests-mx32/swap.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check swapon and swapoff syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=swapon,swapoff
diff --git a/tests-mx32/sxetmask.c b/tests-mx32/sxetmask.c
new file mode 100644
index 0000000..0ede9ad
--- /dev/null
+++ b/tests-mx32/sxetmask.c
@@ -0,0 +1,124 @@
+/*
+ * Check decoding of sgetmask and ssetmask syscalls.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_sgetmask && defined __NR_ssetmask
+
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+static long
+k_sgetmask(void)
+{
+	return syscall(__NR_sgetmask);
+}
+
+static long
+k_ssetmask(const kernel_ulong_t arg)
+{
+	return syscall(__NR_ssetmask, arg);
+}
+
+int
+main(void)
+{
+	union {
+		sigset_t libc_mask;
+		unsigned long old_mask;
+	} uset, uget;
+	long rc;
+
+	/*
+	 * Block, reset, and raise SIGUSR1.
+	 * If a subsequent ssetmask call fails to set the proper mask,
+	 * the process will be terminated by SIGUSR1.
+	 */
+	sigemptyset(&uset.libc_mask);
+	sigaddset(&uset.libc_mask, SIGUSR1);
+	if (sigprocmask(SIG_SETMASK, &uset.libc_mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+	if (signal(SIGUSR1, SIG_DFL) == SIG_ERR)
+		perror_msg_and_fail("signal");
+	raise(SIGUSR1);
+
+	sigaddset(&uset.libc_mask, SIGUSR2);
+	rc = k_ssetmask((kernel_ulong_t) 0xfacefeed00000000ULL | uset.old_mask);
+	if (rc == -1L) {
+		printf("ssetmask([USR1 USR2]) = %s\n", sprintrc(rc));
+	} else {
+		printf("ssetmask([USR1 USR2]) = %#lx (old mask [USR1])\n", rc);
+		/*
+		 * Use a regular sigprocmask call to check the value
+		 * returned by the ssetmask call being tested.
+		 */
+		if (sigprocmask(SIG_SETMASK, NULL, &uget.libc_mask))
+			perror_msg_and_fail("sigprocmask");
+		if (uset.old_mask != uget.old_mask)
+			error_msg_and_fail("sigprocmask returned %#lx"
+					   " instead of %#lx",
+					   uget.old_mask, uset.old_mask);
+	}
+
+	rc = k_sgetmask();
+	if (rc == -1L) {
+		printf("sgetmask() = %s\n", sprintrc(rc));
+	} else {
+		printf("sgetmask() = %#lx (mask [USR1 USR2])\n", rc);
+		if (uget.old_mask != (unsigned long) rc)
+			error_msg_and_fail("sigprocmask returned %#lx",
+					   uget.old_mask);
+
+		if (sizeof(long) > 4) {
+			sigaddset(&uset.libc_mask, 32 + 27);
+			if (sigprocmask(SIG_SETMASK, &uset.libc_mask, NULL))
+				perror_msg_and_fail("sigprocmask");
+			rc = k_sgetmask();
+			printf("sgetmask() = %#lx"
+			       " (mask [USR1 USR2 RT_27])\n", rc);
+			if (uset.old_mask != (unsigned long) rc)
+				error_msg_and_fail("sigprocmask set %#lx",
+						   uset.old_mask);
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sgetmask && __NR_ssetmask")
+
+#endif
diff --git a/tests-mx32/sxetmask.gen.test b/tests-mx32/sxetmask.gen.test
new file mode 100755
index 0000000..fea9e4a
--- /dev/null
+++ b/tests-mx32/sxetmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sxetmask -a11 -e trace=sgetmask,ssetmask); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=sgetmask,ssetmask
diff --git a/tests-mx32/symlink.c b/tests-mx32/symlink.c
index 72cb490..3e01cf2 100644
--- a/tests-mx32/symlink.c
+++ b/tests-mx32/symlink.c
@@ -7,14 +7,12 @@
 # include <unistd.h>
 
 int
-main(void)
+main(int ac, char **av)
 {
-	static const char sample_1[] = "symlink_new";
-	static const char sample_2[] = "symlink";
+	static const char sample[] = "symlink.sample";
 
-	long rc = syscall(__NR_symlink, sample_1, sample_2);
-	printf("symlink(\"%s\", \"%s\") = %ld %s (%m)\n",
-	       sample_1, sample_2, rc, errno2name());
+	long rc = syscall(__NR_symlink, sample, av[0]);
+	printf("symlink(\"%s\", \"%s\") = %s\n", sample, av[0], sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/symlink.gen.test b/tests-mx32/symlink.gen.test
new file mode 100755
index 0000000..f41668c
--- /dev/null
+++ b/tests-mx32/symlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (symlink -a34); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34
diff --git a/tests-mx32/symlink.test b/tests-mx32/symlink.test
deleted file mode 100755
index 79b93ba..0000000
--- a/tests-mx32/symlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check symlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a34
diff --git a/tests-mx32/symlinkat.gen.test b/tests-mx32/symlinkat.gen.test
new file mode 100755
index 0000000..39e624a
--- /dev/null
+++ b/tests-mx32/symlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (symlinkat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/symlinkat.test b/tests-mx32/symlinkat.test
deleted file mode 100755
index d8501ff..0000000
--- a/tests-mx32/symlinkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check symlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/sync.gen.test b/tests-mx32/sync.gen.test
new file mode 100755
index 0000000..4aaf8c7
--- /dev/null
+++ b/tests-mx32/sync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync -a7); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a7
diff --git a/tests-mx32/sync.test b/tests-mx32/sync.test
deleted file mode 100755
index f6bf6c8..0000000
--- a/tests-mx32/sync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a7
diff --git a/tests-mx32/sync_file_range.gen.test b/tests-mx32/sync_file_range.gen.test
new file mode 100755
index 0000000..0693c12
--- /dev/null
+++ b/tests-mx32/sync_file_range.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync_file_range ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/sync_file_range.test b/tests-mx32/sync_file_range.test
deleted file mode 100755
index 6aa86d6..0000000
--- a/tests-mx32/sync_file_range.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/sync_file_range2.gen.test b/tests-mx32/sync_file_range2.gen.test
new file mode 100755
index 0000000..23046b6
--- /dev/null
+++ b/tests-mx32/sync_file_range2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync_file_range2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/sync_file_range2.test b/tests-mx32/sync_file_range2.test
deleted file mode 100755
index 0d9945e..0000000
--- a/tests-mx32/sync_file_range2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync_file_range2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/sysinfo.c b/tests-mx32/sysinfo.c
index 377bdc9..b4b348c 100644
--- a/tests-mx32/sysinfo.c
+++ b/tests-mx32/sysinfo.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 	sysinfo(NULL);
 	printf("sysinfo(NULL) = -1 EFAULT (%m)\n");
 
-	struct sysinfo * const si = tail_alloc(sizeof(*si));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sysinfo, si);
 
 	if (sysinfo(si))
 		perror_msg_and_skip("sysinfo");
diff --git a/tests-mx32/sysinfo.gen.test b/tests-mx32/sysinfo.gen.test
new file mode 100755
index 0000000..e6469d5
--- /dev/null
+++ b/tests-mx32/sysinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sysinfo -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests-mx32/sysinfo.test b/tests-mx32/sysinfo.test
deleted file mode 100755
index 806d8b6..0000000
--- a/tests-mx32/sysinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sysinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests-mx32/syslog.gen.test b/tests-mx32/syslog.gen.test
new file mode 100755
index 0000000..5423d5b
--- /dev/null
+++ b/tests-mx32/syslog.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (syslog -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests-mx32/syslog.test b/tests-mx32/syslog.test
deleted file mode 100755
index 1c2158e..0000000
--- a/tests-mx32/syslog.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check syslog syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests-mx32/tee.gen.test b/tests-mx32/tee.gen.test
new file mode 100755
index 0000000..2a87fae
--- /dev/null
+++ b/tests-mx32/tee.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (tee ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/tee.test b/tests-mx32/tee.test
deleted file mode 100755
index 76b6000..0000000
--- a/tests-mx32/tee.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check tee syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/tests.h b/tests-mx32/tests.h
index d4294de..dcc1057 100644
--- a/tests-mx32/tests.h
+++ b/tests-mx32/tests.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,6 +45,9 @@
 /* Cached sysconf(_SC_PAGESIZE). */
 size_t get_page_size(void);
 
+/* The size of kernel's sigset_t. */
+unsigned int get_sigset_size(void);
+
 /* Print message and strerror(errno) to stderr, then exit(1). */
 void perror_msg_and_fail(const char *, ...)
 	ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
@@ -57,6 +61,9 @@
 void perror_msg_and_skip(const char *, ...)
 	ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
 
+/* Stat the specified file and skip the test if the stat call failed. */
+void skip_if_unavailable(const char *);
+
 /*
  * Allocate memory that ends on the page boundary.
  * Pages allocated by this call are preceeded by an unmapped page
@@ -69,6 +76,22 @@
 	ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((2));
 
 /*
+ * Allocate an object of the specified type at the end
+ * of a mapped memory region.
+ * Assign its address to the specified constant pointer.
+ */
+#define TAIL_ALLOC_OBJECT_CONST_PTR(type_name, type_ptr)	\
+	type_name *const type_ptr = tail_alloc(sizeof(*type_ptr))
+
+/*
+ * Allocate an object of the specified type at the end
+ * of a mapped memory region.
+ * Assign its address to the specified variable pointer.
+ */
+#define TAIL_ALLOC_OBJECT_VAR_PTR(type_name, type_ptr)		\
+	type_name *type_ptr = tail_alloc(sizeof(*type_ptr))
+
+/*
  * 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.
@@ -100,6 +123,12 @@
 /* Print memory in a quoted form. */
 void print_quoted_memory(const char *, size_t);
 
+/* Print time_t and nanoseconds in symbolic format. */
+void print_time_t_nsec(time_t, unsigned long long, int);
+
+/* Print time_t and microseconds in symbolic format. */
+void print_time_t_usec(time_t, unsigned long long, int);
+
 /* Read an int from the file. */
 int read_int_from_file(const char *, int *);
 
diff --git a/tests-mx32/threads-execve.c b/tests-mx32/threads-execve.c
index 853645f..4eb334f 100644
--- a/tests-mx32/threads-execve.c
+++ b/tests-mx32/threads-execve.c
@@ -2,6 +2,7 @@
  * Check decoding of threads when a non-leader thread invokes execve.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -136,25 +137,25 @@
 	switch (action % NUMBER_OF_ACTIONS) {
 		case ACTION_exit:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <pid changed to %u ...>\n",
+			       ", %p /* %u vars */ <pid changed to %u ...>\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ), leader);
+			       environ, arglen(environ), leader);
 			break;
 		case ACTION_rt_sigsuspend:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <unfinished ...>\n"
+			       ", %p /* %u vars */ <unfinished ...>\n"
 			       "%-5d <... rt_sigsuspend resumed>) = ?\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ),
+			       environ, arglen(environ),
 			       leader);
 			break;
 		case ACTION_nanosleep:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <unfinished ...>\n"
+			       ", %p /* %u vars */ <unfinished ...>\n"
 			       "%-5d <... nanosleep resumed> <unfinished ...>)"
 			       " = ?\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ),
+			       environ, arglen(environ),
 			       leader);
 			break;
 	}
@@ -180,18 +181,15 @@
 		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",
+		       ", %p /* %u vars */) = 0\n",
 		       leader, argv[0], argv[0], argv[1], argv[2],
-		       arglen(environ));
+		       environ, arglen(environ));
 		execve(argv[0], argv, environ);
 		perror_msg_and_fail("execve");
 	}
diff --git a/tests-mx32/threads-execve.test b/tests-mx32/threads-execve.test
index 4a77146..02c8924 100755
--- a/tests-mx32/threads-execve.test
+++ b/tests-mx32/threads-execve.test
@@ -3,6 +3,7 @@
 # Check decoding of threads when a non-leader thread invokes execve.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -40,10 +41,11 @@
 
 # Due to probabilistic nature of the test, try it several times.
 i=0
-while [ $i -le 9 ]; do
+while [ $i -le 19 ]; do
+	i="$(($i+1))"
 	run_strace "$@" > "$EXP"
-	diff -- "$EXP" "$LOG" || continue
-	rm -f "$EXP"
+	sed 1d < "$LOG" > "$OUT"
+	diff -- "$EXP" "$OUT" || continue
 	exit 0
 done
 
diff --git a/tests-mx32/time.c b/tests-mx32/time.c
index 4a5cde9..c329a79 100644
--- a/tests-mx32/time.c
+++ b/tests-mx32/time.c
@@ -2,6 +2,7 @@
  * This file is part of time strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,15 +41,24 @@
 int
 main(void)
 {
-	time_t *p = tail_alloc(sizeof(time_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(time_t, p);
 
 	time_t t = syscall(__NR_time, NULL);
 	if ((time_t) -1 == t)
 		perror_msg_and_skip("time");
-	printf("time(NULL) = %jd\n", (intmax_t) t);
+	printf("time(NULL) = %lld (", (long long) t);
+	print_time_t_nsec(t, 0, 0);
+	puts(")");
+
+	t = syscall(__NR_time, p + 1);
+	printf("time(%p) = %s\n", p + 1, sprintrc(t));
 
 	t = syscall(__NR_time, p);
-	printf("time([%jd]) = %jd\n", (intmax_t) *p, (intmax_t) t);
+	printf("time([%lld", (long long) *p);
+	print_time_t_nsec((time_t) *p, 0, 1),
+	printf("]) = %lld (", (long long) t);
+	print_time_t_nsec(t, 0, 0);
+	puts(")");
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/time.gen.test b/tests-mx32/time.gen.test
new file mode 100755
index 0000000..ed7ec69
--- /dev/null
+++ b/tests-mx32/time.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (time -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/time.test b/tests-mx32/time.test
deleted file mode 100755
index 6ab193a..0000000
--- a/tests-mx32/time.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check time syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests-mx32/timer_create.gen.test b/tests-mx32/timer_create.gen.test
new file mode 100755
index 0000000..6b4c543
--- /dev/null
+++ b/tests-mx32/timer_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timer_create ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/timer_create.test b/tests-mx32/timer_create.test
deleted file mode 100755
index 870a179..0000000
--- a/tests-mx32/timer_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timer_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/timer_xettime.c b/tests-mx32/timer_xettime.c
index 9eabbf0..aacd770 100644
--- a/tests-mx32/timer_xettime.c
+++ b/tests-mx32/timer_xettime.c
@@ -2,6 +2,7 @@
  * This file is part of timer_xettime strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,6 +48,7 @@
 	printf("timer_settime(%d, TIMER_ABSTIME, NULL, NULL)"
 	       " = -1 EINVAL (%m)\n", 0xdefaced);
 
+	long rc;
 	int tid;
 	struct sigevent sev = { .sigev_notify = SIGEV_NONE };
 
@@ -55,51 +57,61 @@
 	printf("timer_create(CLOCK_MONOTONIC, {sigev_signo=0"
 	       ", sigev_notify=SIGEV_NONE}, [%d]) = 0\n", tid);
 
-	struct {
-		struct itimerspec its;
-		uint32_t pad[4];
-	} old = {
-		.its = {
-			.it_interval = { 0xdeface5, 0xdeface6 },
-			.it_value = { 0xdeface7, 0xdeface8 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.its = {
-			.it_interval = { 0xdeface1, 0xdeface2 },
-			.it_value = { 0xdeface3, 0xdeface4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_new);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_old);
 
-	if (syscall(__NR_timer_settime, tid, 0, &new.its, &old.its))
+	its_new->it_interval.tv_sec = 0xdeadbeefU;
+	its_new->it_interval.tv_nsec = 0xfacefeedU;
+	its_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	its_new->it_value.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = syscall(__NR_timer_settime, tid, 0, its_new, its_old);
+	printf("timer_settime(%d, 0"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}, %p) = %s\n",
+	       tid, (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       its_old, sprintrc(rc));
+
+	its_new->it_interval.tv_sec = 0xdeface1;
+	its_new->it_interval.tv_nsec = 0xdeface2;
+	its_new->it_value.tv_sec = 0xdeface3;
+	its_new->it_value.tv_nsec = 0xdeface4;
+	its_old->it_interval.tv_sec = 0xdeface5;
+	its_old->it_interval.tv_nsec = 0xdeface6;
+	its_old->it_value.tv_sec = 0xdeface7;
+	its_old->it_value.tv_nsec = 0xdeface8;
+
+	if (syscall(__NR_timer_settime, tid, 0, its_new, its_old))
 		perror_msg_and_skip("timer_settime");
 	printf("timer_settime(%d, 0"
-	       ", {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}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
 	       ") = 0\n",
 	       tid,
-	       (intmax_t) new.its.it_interval.tv_sec,
-	       (intmax_t) new.its.it_interval.tv_nsec,
-	       (intmax_t) new.its.it_value.tv_sec,
-	       (intmax_t) new.its.it_value.tv_nsec,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
-	if (syscall(__NR_timer_gettime, tid, &old.its))
+	if (syscall(__NR_timer_gettime, tid, its_old))
 		perror_msg_and_skip("timer_gettime");
 	printf("timer_gettime(%d"
-	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
-	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}) = 0\n",
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}) = 0\n",
 	       tid,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/timer_xettime.gen.test b/tests-mx32/timer_xettime.gen.test
new file mode 100755
index 0000000..6e2dffa
--- /dev/null
+++ b/tests-mx32/timer_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timer_xettime -e trace=timer_create,timer_settime,timer_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
diff --git a/tests-mx32/timer_xettime.test b/tests-mx32/timer_xettime.test
deleted file mode 100755
index 08bcdd6..0000000
--- a/tests-mx32/timer_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timer_create, timer_settime, and timer_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
diff --git a/tests-mx32/timerfd_xettime.c b/tests-mx32/timerfd_xettime.c
index ca7124e..1e8a23a 100644
--- a/tests-mx32/timerfd_xettime.c
+++ b/tests-mx32/timerfd_xettime.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,49 +48,59 @@
 		perror_msg_and_skip("timerfd_create");
 	puts("timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC|TFD_NONBLOCK) = 0");
 
-	struct {
-		struct itimerspec its;
-		uint32_t pad[4];
-	} old = {
-		.its = {
-			.it_interval = { 0xdeface5, 0xdeface6 },
-			.it_value = { 0xdeface7, 0xdeface8 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.its = {
-			.it_interval = { 0xdeface1, 0xdeface2 },
-			.it_value = { 0xdeface3, 0xdeface4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_new);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_old);
 
-	if (syscall(__NR_timerfd_settime, 0, 0, &new.its, &old.its))
+	its_new->it_interval.tv_sec = 0xdeadbeefU;
+	its_new->it_interval.tv_nsec = 0xfacefeedU;
+	its_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	its_new->it_value.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	long rc = syscall(__NR_timerfd_settime, 0, 0, its_new, its_old);
+	printf("timerfd_settime(0, 0"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}, %p) = %s\n",
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       its_old, sprintrc(rc));
+
+	its_new->it_interval.tv_sec = 0xdeface1;
+	its_new->it_interval.tv_nsec = 0xdeface2;
+	its_new->it_value.tv_sec = 0xdeface3;
+	its_new->it_value.tv_nsec = 0xdeface4;
+	its_old->it_interval.tv_sec = 0xdeface5;
+	its_old->it_interval.tv_nsec = 0xdeface6;
+	its_old->it_value.tv_sec = 0xdeface7;
+	its_old->it_value.tv_nsec = 0xdeface8;
+
+	if (syscall(__NR_timerfd_settime, 0, 0, its_new, its_old))
 		perror_msg_and_skip("timerfd_settime");
 	printf("timerfd_settime(0, 0"
-	       ", {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}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
 	       ") = 0\n",
-	       (intmax_t) new.its.it_interval.tv_sec,
-	       (intmax_t) new.its.it_interval.tv_nsec,
-	       (intmax_t) new.its.it_value.tv_sec,
-	       (intmax_t) new.its.it_value.tv_nsec,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
-	if (syscall(__NR_timerfd_gettime, 0, &old.its))
+	if (syscall(__NR_timerfd_gettime, 0, its_old))
 		perror_msg_and_skip("timerfd_gettime");
 	printf("timerfd_gettime(0"
-	       ", {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,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}) = 0\n",
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/timerfd_xettime.gen.test b/tests-mx32/timerfd_xettime.gen.test
new file mode 100755
index 0000000..97e560b
--- /dev/null
+++ b/tests-mx32/timerfd_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
diff --git a/tests-mx32/timerfd_xettime.test b/tests-mx32/timerfd_xettime.test
deleted file mode 100755
index 75aa21c..0000000
--- a/tests-mx32/timerfd_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timerfd_create, timerfd_settime, and timerfd_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
diff --git a/tests-mx32/times-fail.gen.test b/tests-mx32/times-fail.gen.test
new file mode 100755
index 0000000..9934d19
--- /dev/null
+++ b/tests-mx32/times-fail.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (times-fail -a12 -e trace=times); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12 -e trace=times
diff --git a/tests-mx32/times-fail.test b/tests-mx32/times-fail.test
deleted file mode 100755
index ee28a06..0000000
--- a/tests-mx32/times-fail.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of failing times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -e trace=times
diff --git a/tests-mx32/times.gen.test b/tests-mx32/times.gen.test
new file mode 100755
index 0000000..ca4ebbe
--- /dev/null
+++ b/tests-mx32/times.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (times -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-mx32/times.test b/tests-mx32/times.test
deleted file mode 100755
index b97e0d3..0000000
--- a/tests-mx32/times.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-mx32/trace_fstat.gen.test b/tests-mx32/trace_fstat.gen.test
new file mode 100755
index 0000000..c3aede1
--- /dev/null
+++ b/tests-mx32/trace_fstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/trace_fstat.in b/tests-mx32/trace_fstat.in
new file mode 100644
index 0000000..34cfa7e
--- /dev/null
+++ b/tests-mx32/trace_fstat.in
@@ -0,0 +1,5 @@
+fstat	-a15
+fstat64	-a17
+fstatat64	-a32
+newfstatat	-a32
+oldfstat	-a21
diff --git a/tests-mx32/trace_fstatfs.gen.test b/tests-mx32/trace_fstatfs.gen.test
new file mode 100755
index 0000000..063f624
--- /dev/null
+++ b/tests-mx32/trace_fstatfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_fstatfs test_trace_expr '' -e%fstatfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%fstatfs
diff --git a/tests-mx32/trace_fstatfs.in b/tests-mx32/trace_fstatfs.in
new file mode 100644
index 0000000..6441a07
--- /dev/null
+++ b/tests-mx32/trace_fstatfs.in
@@ -0,0 +1,2 @@
+fstatfs	-a18
+fstatfs64	-a24
diff --git a/tests-mx32/trace_lstat.gen.test b/tests-mx32/trace_lstat.gen.test
new file mode 100755
index 0000000..a05b7a1
--- /dev/null
+++ b/tests-mx32/trace_lstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_lstat test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/trace_lstat.in b/tests-mx32/trace_lstat.in
new file mode 100644
index 0000000..abbabc4
--- /dev/null
+++ b/tests-mx32/trace_lstat.in
@@ -0,0 +1,3 @@
+lstat	-a32
+lstat64	-a32
+oldlstat	-a32
diff --git a/tests-mx32/trace_question.gen.test b/tests-mx32/trace_question.gen.test
new file mode 100755
index 0000000..76b3578
--- /dev/null
+++ b/tests-mx32/trace_question.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_question test_trace_expr '' -e?osf_utimes,?/^pkey_.*); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e?osf_utimes,?/^pkey_.*
diff --git a/tests-mx32/trace_question.in b/tests-mx32/trace_question.in
new file mode 100644
index 0000000..74d662c
--- /dev/null
+++ b/tests-mx32/trace_question.in
@@ -0,0 +1,4 @@
+osf_utimes	-a21
+pkey_alloc	-a17
+pkey_free	-a13
+pkey_mprotect	-a37
diff --git a/tests-mx32/trace_stat.gen.test b/tests-mx32/trace_stat.gen.test
new file mode 100755
index 0000000..ae95ab8
--- /dev/null
+++ b/tests-mx32/trace_stat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_stat test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/trace_stat.in b/tests-mx32/trace_stat.in
new file mode 100644
index 0000000..f105d78
--- /dev/null
+++ b/tests-mx32/trace_stat.in
@@ -0,0 +1,3 @@
+oldstat	-a32
+stat	-a32
+stat64	-a32
diff --git a/tests-mx32/trace_stat_like.gen.test b/tests-mx32/trace_stat_like.gen.test
new file mode 100755
index 0000000..5681a8a
--- /dev/null
+++ b/tests-mx32/trace_stat_like.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
diff --git a/tests-mx32/trace_stat_like.in b/tests-mx32/trace_stat_like.in
new file mode 100644
index 0000000..22bd7f2
--- /dev/null
+++ b/tests-mx32/trace_stat_like.in
@@ -0,0 +1,12 @@
+fstat	-a15
+fstat64	-a17
+fstatat64	-a32
+lstat	-a32
+lstat64	-a32
+newfstatat	-a32
+oldfstat	-a21
+oldlstat	-a32
+oldstat	-a32
+stat	-a32
+stat64	-a32
+statx	-a32
diff --git a/tests-mx32/trace_statfs.gen.test b/tests-mx32/trace_statfs.gen.test
new file mode 100755
index 0000000..957412b
--- /dev/null
+++ b/tests-mx32/trace_statfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_statfs test_trace_expr '' -e%statfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%statfs
diff --git a/tests-mx32/trace_statfs.in b/tests-mx32/trace_statfs.in
new file mode 100644
index 0000000..7c4adfe
--- /dev/null
+++ b/tests-mx32/trace_statfs.in
@@ -0,0 +1,2 @@
+statfs	-a17
+statfs64	-a23
diff --git a/tests-mx32/trace_statfs_like.gen.test b/tests-mx32/trace_statfs_like.gen.test
new file mode 100755
index 0000000..be1a9c0
--- /dev/null
+++ b/tests-mx32/trace_statfs_like.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_statfs_like test_trace_expr '' -e%%statfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%%statfs
diff --git a/tests-mx32/trace_statfs_like.in b/tests-mx32/trace_statfs_like.in
new file mode 100644
index 0000000..285aec6
--- /dev/null
+++ b/tests-mx32/trace_statfs_like.in
@@ -0,0 +1,5 @@
+statfs	-a17
+statfs64	-a23
+fstatfs	-a18
+fstatfs64	-a24
+ustat	-a33
diff --git a/tests-mx32/truncate.gen.test b/tests-mx32/truncate.gen.test
new file mode 100755
index 0000000..0410e73
--- /dev/null
+++ b/tests-mx32/truncate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (truncate ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/truncate.test b/tests-mx32/truncate.test
deleted file mode 100755
index 6bf1e70..0000000
--- a/tests-mx32/truncate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check truncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/truncate64.gen.test b/tests-mx32/truncate64.gen.test
new file mode 100755
index 0000000..dae0fe6
--- /dev/null
+++ b/tests-mx32/truncate64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (truncate64 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests-mx32/truncate64.test b/tests-mx32/truncate64.test
deleted file mode 100755
index c466806..0000000
--- a/tests-mx32/truncate64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check truncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests-mx32/ugetrlimit.gen.test b/tests-mx32/ugetrlimit.gen.test
new file mode 100755
index 0000000..ff27134
--- /dev/null
+++ b/tests-mx32/ugetrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ugetrlimit -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-mx32/ugetrlimit.test b/tests-mx32/ugetrlimit.test
deleted file mode 100755
index f4648ff..0000000
--- a/tests-mx32/ugetrlimit.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ugetrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-mx32/uio.test b/tests-mx32/uio.test
index 020b97e..0184685 100755
--- a/tests-mx32/uio.test
+++ b/tests-mx32/uio.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog
-run_strace -edesc $args
+run_strace -e%desc $args
 match_grep
 
 exit 0
diff --git a/tests-mx32/umask.gen.test b/tests-mx32/umask.gen.test
new file mode 100755
index 0000000..60af5e9
--- /dev/null
+++ b/tests-mx32/umask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umask -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests-mx32/umask.test b/tests-mx32/umask.test
deleted file mode 100755
index 1351721..0000000
--- a/tests-mx32/umask.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check umask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests-mx32/umode_t.c b/tests-mx32/umode_t.c
index 5041638..dcd1514 100644
--- a/tests-mx32/umode_t.c
+++ b/tests-mx32/umode_t.c
@@ -2,6 +2,7 @@
  * Check decoding of umode_t type syscall arguments.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 # define TEST_SYSCALL_PREFIX_STR ""
 #endif
 
-static const char sample[] = TEST_SYSCALL_STR;
+static const char *sample;
 
 static void
 test_syscall(unsigned short mode)
@@ -49,17 +50,18 @@
 
 	if (mode <= 07)
 		printf("%s(%s\"%s\", 00%d) = %ld %s (%m)\n",
-		       sample, TEST_SYSCALL_PREFIX_STR,
+		       TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
 		       sample, (int) mode, rc, errno2name());
 	else
 		printf("%s(%s\"%s\", %#03ho) = %ld %s (%m)\n",
-		       sample, TEST_SYSCALL_PREFIX_STR,
+		       TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
 		       sample, mode, rc, errno2name());
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
+	sample = av[0];
 	test_syscall(0);
 	test_syscall(0xffff);
 	test_syscall(06);
diff --git a/tests-mx32/umoven-illptr.gen.test b/tests-mx32/umoven-illptr.gen.test
new file mode 100755
index 0000000..eea7b1c
--- /dev/null
+++ b/tests-mx32/umoven-illptr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umoven-illptr -a36 -e trace=nanosleep); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36 -e trace=nanosleep
diff --git a/tests-mx32/umoven-illptr.test b/tests-mx32/umoven-illptr.test
deleted file mode 100755
index 7b8cb31..0000000
--- a/tests-mx32/umoven-illptr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of invalid pointer by umoven.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a36 -e trace=nanosleep
diff --git a/tests-mx32/umovestr-illptr.gen.test b/tests-mx32/umovestr-illptr.gen.test
new file mode 100755
index 0000000..7685d44
--- /dev/null
+++ b/tests-mx32/umovestr-illptr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umovestr-illptr -a11 -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=chdir
diff --git a/tests-mx32/umovestr-illptr.test b/tests-mx32/umovestr-illptr.test
deleted file mode 100755
index 6f1cc86..0000000
--- a/tests-mx32/umovestr-illptr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of invalid pointer by umovestr.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a11 -e trace=chdir
diff --git a/tests-mx32/umovestr2.test b/tests-mx32/umovestr2.test
index 5c5d561..3decbe2 100755
--- a/tests-mx32/umovestr2.test
+++ b/tests-mx32/umovestr2.test
@@ -9,7 +9,3 @@
 check_prog sed
 sed 1d < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests-mx32/umovestr3.gen.test b/tests-mx32/umovestr3.gen.test
new file mode 100755
index 0000000..b16e1ed
--- /dev/null
+++ b/tests-mx32/umovestr3.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umovestr3 -a14 -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=chdir
diff --git a/tests-mx32/umovestr3.test b/tests-mx32/umovestr3.test
deleted file mode 100755
index d5be283..0000000
--- a/tests-mx32/umovestr3.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# yet another umovestr short read test
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14 -e trace=chdir
diff --git a/tests-mx32/uname.c b/tests-mx32/uname.c
index cd6f51c..96db753 100644
--- a/tests-mx32/uname.c
+++ b/tests-mx32/uname.c
@@ -10,7 +10,7 @@
 int main(int ac, char **av)
 {
 	int abbrev = ac > 1;
-	struct utsname *const uname = tail_alloc(sizeof(struct utsname));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct utsname, uname);
 	int rc = syscall(__NR_uname, uname);
 	printf("uname({sysname=\"");
 	print_quoted_string(uname->sysname);
diff --git a/tests-mx32/uname.test b/tests-mx32/uname.test
index 03fe30c..7ca1b5b 100755
--- a/tests-mx32/uname.test
+++ b/tests-mx32/uname.test
@@ -10,9 +10,8 @@
 run_strace -v -euname $args > "$EXP"
 uniq < "$LOG" > "$OUT"
 
-run_prog "./$NAME" abbrev > /dev/null
+run_prog "../$NAME" abbrev > /dev/null
 run_strace -euname $args >> "$EXP"
 uniq < "$LOG" >> "$OUT"
 
 match_diff "$OUT" "$EXP"
-rm -f "$OUT" "$EXP"
diff --git a/tests-mx32/unix-pair-send-recv.test b/tests-mx32/unix-pair-send-recv.test
index 4defdeb..10ab7cc 100755
--- a/tests-mx32/unix-pair-send-recv.test
+++ b/tests-mx32/unix-pair-send-recv.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./unix-pair-send-recv abcdefghijklmnopqrstuvwxyz
+run_prog ../unix-pair-send-recv abcdefghijklmnopqrstuvwxyz
 run_strace -a32 -esignal=none -esend,recv -eread=0 -ewrite=0 $args
 match_diff
 
diff --git a/tests-mx32/unix-pair-sendto-recvfrom.test b/tests-mx32/unix-pair-sendto-recvfrom.test
index 21afe23..0bd9a04 100755
--- a/tests-mx32/unix-pair-sendto-recvfrom.test
+++ b/tests-mx32/unix-pair-sendto-recvfrom.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./unix-pair-sendto-recvfrom abcdefghijklmnopqrstuvwxyz
+run_prog ../unix-pair-sendto-recvfrom abcdefghijklmnopqrstuvwxyz
 run_strace -esignal=none -esendto,recvfrom -eread=0 -ewrite=0 $args
 match_diff
 
diff --git a/tests-mx32/unlink.gen.test b/tests-mx32/unlink.gen.test
new file mode 100755
index 0000000..7b8522b
--- /dev/null
+++ b/tests-mx32/unlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unlink -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests-mx32/unlink.test b/tests-mx32/unlink.test
deleted file mode 100755
index 09bf79a..0000000
--- a/tests-mx32/unlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check unlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests-mx32/unlinkat.gen.test b/tests-mx32/unlinkat.gen.test
new file mode 100755
index 0000000..5a77c6a
--- /dev/null
+++ b/tests-mx32/unlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unlinkat -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests-mx32/unlinkat.test b/tests-mx32/unlinkat.test
deleted file mode 100755
index 864261f..0000000
--- a/tests-mx32/unlinkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check unlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests-mx32/unshare.gen.test b/tests-mx32/unshare.gen.test
new file mode 100755
index 0000000..077a458
--- /dev/null
+++ b/tests-mx32/unshare.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unshare -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests-mx32/unshare.test b/tests-mx32/unshare.test
deleted file mode 100755
index ccb9575..0000000
--- a/tests-mx32/unshare.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests-mx32/userfaultfd.gen.test b/tests-mx32/userfaultfd.gen.test
new file mode 100755
index 0000000..4735146
--- /dev/null
+++ b/tests-mx32/userfaultfd.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (userfaultfd -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a38
diff --git a/tests-mx32/userfaultfd.test b/tests-mx32/userfaultfd.test
deleted file mode 100755
index af8b6fb..0000000
--- a/tests-mx32/userfaultfd.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check userfaultfd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
diff --git a/tests-mx32/ustat.c b/tests-mx32/ustat.c
index 57bb29c..3341c70 100644
--- a/tests-mx32/ustat.c
+++ b/tests-mx32/ustat.c
@@ -47,7 +47,7 @@
 	long rc;
 
 # ifdef HAVE_USTAT_H
-	struct ustat *const ust = tail_alloc(sizeof(*ust));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ustat, ust);
 	struct stat st;
 	if (stat(".", &st))
 		perror_msg_and_fail("stat");
diff --git a/tests-mx32/ustat.gen.test b/tests-mx32/ustat.gen.test
new file mode 100755
index 0000000..f64b28d
--- /dev/null
+++ b/tests-mx32/ustat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ustat -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-mx32/ustat.test b/tests-mx32/ustat.test
deleted file mode 100755
index 60a88e0..0000000
--- a/tests-mx32/ustat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ustat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33
diff --git a/tests-mx32/utime.c b/tests-mx32/utime.c
index 8fd594f..03e3958 100644
--- a/tests-mx32/utime.c
+++ b/tests-mx32/utime.c
@@ -2,6 +2,7 @@
  * Check decoding of utime syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,17 +39,6 @@
 # include <stdio.h>
 # include <unistd.h>
 
-
-static void
-print_tm(const struct tm * const p)
-{
-	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)
 {
@@ -60,8 +50,7 @@
 {
 	static const char *const dummy_str = "dummy filename";
 
-	const time_t t = time(NULL);
-	const struct tm * const p = localtime(&t);
+	const time_t t = 1492350678;
 	const struct utimbuf u = { .actime = t, .modtime = t };
 	const struct utimbuf *const tail_u = tail_memdup(&u, sizeof(u));
 	const char *const dummy_filename =
@@ -80,10 +69,10 @@
 
 	rc = k_utime("utime\nfilename", tail_u);
 	const char *errstr = sprintrc(rc);
-	printf("utime(\"utime\\nfilename\", {actime=");
-	print_tm(p);
-	printf(", modtime=");
-	print_tm(p);
+	printf("utime(\"utime\\nfilename\", {actime=%lld", (long long) t);
+	print_time_t_nsec(t, 0, 1);
+	printf(", modtime=%lld", (long long) t);
+	print_time_t_nsec(t, 0, 1);
 	printf("}) = %s\n", errstr);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-mx32/utime.gen.test b/tests-mx32/utime.gen.test
new file mode 100755
index 0000000..7270556
--- /dev/null
+++ b/tests-mx32/utime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utime -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests-mx32/utime.test b/tests-mx32/utime.test
deleted file mode 100755
index bd64c53..0000000
--- a/tests-mx32/utime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of utime syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a 16 -e trace=utime
diff --git a/tests-mx32/utimensat.c b/tests-mx32/utimensat.c
index 6d9faac..ddfd360 100644
--- a/tests-mx32/utimensat.c
+++ b/tests-mx32/utimensat.c
@@ -1,7 +1,7 @@
 /*
- * This file is part of utimensat strace test.
+ * Check decoding of utimensat syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,66 +28,173 @@
  */
 
 #include "tests.h"
-#include <assert.h>
-#include <errno.h>
 #include <fcntl.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <sys/stat.h>
 #include <sys/time.h>
+#include <unistd.h>
+#include <asm/unistd.h>
 
-#if defined HAVE_UTIMENSAT \
- && defined AT_FDCWD && defined AT_SYMLINK_NOFOLLOW \
- && defined UTIME_NOW && defined UTIME_OMIT
+#if defined __NR_utimensat && defined UTIME_NOW && defined UTIME_OMIT
 
 static void
 print_ts(const struct timespec *ts)
 {
-	printf("{tv_sec=%ju, tv_nsec=%ju}", (uintmax_t) ts->tv_sec,
-		(uintmax_t) ts->tv_nsec);
+	printf("{tv_sec=%lld, tv_nsec=%llu}", (long long) ts->tv_sec,
+		zero_extend_signed_to_ull(ts->tv_nsec));
+	print_time_t_nsec(ts->tv_sec,
+			  zero_extend_signed_to_ull(ts->tv_nsec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_utimensat(const kernel_ulong_t dirfd,
+	    const kernel_ulong_t pathname,
+	    const kernel_ulong_t times,
+	    const kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_utimensat, dirfd, pathname, times, flags);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 int
 main(void)
 {
-	static const char fname[] = "utimensat\nfilename";
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xbadc0deddeadbeef;
+	static const kernel_ulong_t kfdcwd =
+		(kernel_ulong_t) 0xdefaced00000000 | -100U;
+	static const char proto_fname[] = "utimensat\nfilename";
+	static const char qname[] = "\"utimensat\\nfilename\"";
 
-	assert(utimensat(AT_FDCWD, fname, NULL, 0) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	struct timespec *const ts = tail_alloc(sizeof(*ts) * 2);
 
-	#define PREFIX "utimensat(AT_FDCWD, \"utimensat\\nfilename\", "
-	printf(PREFIX "NULL, 0) = -1 ENOENT (%m)\n");
+	(void) close(0);
 
-	struct timeval tv;
-	struct timespec ts[2];
+	/* dirfd */
+	k_utimensat(0, kfname, 0, 0);
+	printf("utimensat(0, %s, NULL, 0) = %s\n", qname, errstr);
 
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_skip("gettimeofday");
+	k_utimensat(bogus_fd, kfname, 0, 0);
+	printf("utimensat(%d, %s, NULL, 0) = %s\n",
+	       (int) bogus_fd, qname, errstr);
 
-	ts[0].tv_sec = tv.tv_sec;
-	ts[0].tv_nsec = tv.tv_usec;
-	ts[1].tv_sec = tv.tv_sec - 1;
-	ts[1].tv_nsec = tv.tv_usec + 1;
+	k_utimensat(-100U, kfname, 0, 0);
+	printf("utimensat(AT_FDCWD, %s, NULL, 0) = %s\n", qname, errstr);
 
-	printf(PREFIX "[");
+	k_utimensat(kfdcwd, kfname, 0, 0);
+	printf("utimensat(AT_FDCWD, %s, NULL, 0) = %s\n", qname, errstr);
+
+	/* pathname */
+	k_utimensat(kfdcwd, 0, 0, 0);
+	printf("utimensat(AT_FDCWD, NULL, NULL, 0) = %s\n", errstr);
+
+	k_utimensat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0, 0);
+	printf("utimensat(AT_FDCWD, \"\", NULL, 0) = %s\n", errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_utimensat(kfdcwd, kfname, 0, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("utimensat(AT_FDCWD, %p, NULL, 0) = %s\n", fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimensat(kfdcwd, f8ill_ptr_to_kulong(fname), 0, 0);
+		printf("utimensat(AT_FDCWD, %#jx, NULL, 0) = %s\n",
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 1), 0);
+	printf("utimensat(AT_FDCWD, %s, %p, 0) = %s\n",
+	       qname, ts + 1, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 2), 0);
+	printf("utimensat(AT_FDCWD, %s, %p, 0)"
+	       " = %s\n", qname, ts + 2, errstr);
+
+	ts[0].tv_sec = 1492358706;
+	ts[0].tv_nsec = 123456789;
+	ts[1].tv_sec = 1492357068;
+	ts[1].tv_nsec = 234567890;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
 	print_ts(&ts[0]);
 	printf(", ");
 	print_ts(&ts[1]);
-	printf("], AT_SYMLINK_NOFOLLOW) = -1 ENOENT ");
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
 
-	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
-	printf("(%m)\n");
+	ts[0].tv_sec = -1;
+	ts[0].tv_nsec = 2000000000;
+	ts[1].tv_sec = (time_t) -0x100000001LL;
+	ts[1].tv_nsec = 2345678900U;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
+
+	ts[0].tv_sec = 0;
+	ts[0].tv_nsec = 0;
+	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts[1].tv_nsec = 0;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
+
+	ts[0].tv_sec = 0xdeadbeefU;
+	ts[0].tv_nsec = 0xfacefeedU;
+	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts[1].tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
 
 	ts[0].tv_nsec = UTIME_NOW;
 	ts[1].tv_nsec = UTIME_OMIT;
-	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
-	printf(PREFIX "[UTIME_NOW, UTIME_OMIT], AT_SYMLINK_NOFOLLOW)"
-	       " = -1 ENOENT (%m)\n");
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_SYMLINK_NOFOLLOW) = %s\n", qname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimensat(kfdcwd, kfname, f8ill_ptr_to_kulong(ts), 0);
+		printf("utimensat(AT_FDCWD, %s, %#jx, 0) = %s\n",
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(ts), errstr);
+	}
+
+	/* flags */
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
+		    (kernel_ulong_t) 0xdefaced00000200);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_REMOVEDIR) = %s\n",
+	       qname, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
+		    (kernel_ulong_t) 0xdefaced00000600);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_REMOVEDIR|AT_SYMLINK_FOLLOW) = %s\n",
+	       qname, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, (kernel_ulong_t) -1ULL);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
+	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff) = %s\n",
+	       qname, errstr);
 
 	puts("+++ exited with 0 +++");
 	return 0;
@@ -95,7 +202,6 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("HAVE_UTIMENSAT && AT_FDCWD && AT_SYMLINK_NOFOLLOW"
-		    " && UTIME_NOW && UTIME_OMIT")
+SKIP_MAIN_UNDEFINED("__NR_utimensat && UTIME_NOW && UTIME_OMIT")
 
 #endif
diff --git a/tests-mx32/utimensat.gen.test b/tests-mx32/utimensat.gen.test
new file mode 100755
index 0000000..a4d6656
--- /dev/null
+++ b/tests-mx32/utimensat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utimensat -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests-mx32/utimensat.test b/tests-mx32/utimensat.test
deleted file mode 100755
index 52e3f31..0000000
--- a/tests-mx32/utimensat.test
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Check decoding of utimensat syscall.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e utimensat $args > "$OUT"
-
-check_prog grep
-LC_ALL=C grep -x "utimensat(.*" "$LOG" > /dev/null || {
-        rm -f "$OUT"
-        skip_ 'test executable does not use utimensat syscall'
-}
-
-match_diff "$LOG" "$OUT"
-
-rm -f "$OUT"
-
-exit 0
diff --git a/tests-mx32/utimes.c b/tests-mx32/utimes.c
index bbfa031..4bef1a6 100644
--- a/tests-mx32/utimes.c
+++ b/tests-mx32/utimes.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of utimes syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,50 +32,10 @@
 
 #ifdef __NR_utimes
 
-# include <stdint.h>
-# include <stdio.h>
-# include <sys/time.h>
-# include <unistd.h>
-
-int
-main(void)
-{
-	struct timeval tv;
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_fail("gettimeofday");
-
-	static const char sample[] = "utimes_sample";
-
-	long rc = syscall(__NR_utimes, sample, 0);
-	printf("utimes(\"%s\", NULL) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
-
-	struct timeval *const ts = tail_alloc(sizeof(*ts) * 2);
-
-	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(\"\", [{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 +++");
-	return 0;
-}
+# define TEST_SYSCALL_NR	__NR_utimes
+# define TEST_SYSCALL_STR	"utimes"
+# define TEST_STRUCT		struct timeval
+# include "xutimes.c"
 
 #else
 
diff --git a/tests-mx32/utimes.gen.test b/tests-mx32/utimes.gen.test
new file mode 100755
index 0000000..37ed29c
--- /dev/null
+++ b/tests-mx32/utimes.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utimes -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests-mx32/utimes.test b/tests-mx32/utimes.test
deleted file mode 100755
index 99143a0..0000000
--- a/tests-mx32/utimes.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check utimes syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests-mx32/vfork-f.gen.test b/tests-mx32/vfork-f.gen.test
new file mode 100755
index 0000000..b3c1c6b
--- /dev/null
+++ b/tests-mx32/vfork-f.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vfork-f -a26 -qq -f -e signal=none -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26 -qq -f -e signal=none -e trace=chdir
diff --git a/tests-mx32/vfork-f.test b/tests-mx32/vfork-f.test
deleted file mode 100755
index ff4422b..0000000
--- a/tests-mx32/vfork-f.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check how strace -f follows vfork syscall.
-
-. "${srcdir=.}/fork-f.test"
diff --git a/tests-mx32/vhangup.gen.test b/tests-mx32/vhangup.gen.test
new file mode 100755
index 0000000..7ac84e5
--- /dev/null
+++ b/tests-mx32/vhangup.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vhangup -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests-mx32/vhangup.test b/tests-mx32/vhangup.test
deleted file mode 100755
index 8fe1cac..0000000
--- a/tests-mx32/vhangup.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check vhangup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a10
diff --git a/tests-mx32/vmsplice.gen.test b/tests-mx32/vmsplice.gen.test
new file mode 100755
index 0000000..fe6a07d
--- /dev/null
+++ b/tests-mx32/vmsplice.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vmsplice -ewrite=1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -ewrite=1
diff --git a/tests-mx32/vmsplice.test b/tests-mx32/vmsplice.test
deleted file mode 100755
index 8a80650..0000000
--- a/tests-mx32/vmsplice.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of vmsplice syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -ewrite=1
diff --git a/tests-mx32/wait4-v.gen.test b/tests-mx32/wait4-v.gen.test
new file mode 100755
index 0000000..5b23f42
--- /dev/null
+++ b/tests-mx32/wait4-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (wait4-v -v -e signal=none -e trace=wait4); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e signal=none -e trace=wait4
diff --git a/tests-mx32/wait4-v.test b/tests-mx32/wait4-v.test
deleted file mode 100755
index 58e55f2..0000000
--- a/tests-mx32/wait4-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=wait4
diff --git a/tests-mx32/wait4.c b/tests-mx32/wait4.c
index ccb3ebb..ab0c7a4 100644
--- a/tests-mx32/wait4.c
+++ b/tests-mx32/wait4.c
@@ -2,6 +2,7 @@
  * Check decoding of wait4 syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +41,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={tv_sec=%lu, tv_usec=%lu}"
-		 ", ru_stime={tv_sec=%lu, tv_usec=%lu}"
+		 "{ru_utime={tv_sec=%lld, tv_usec=%llu}"
+		 ", ru_stime={tv_sec=%lld, tv_usec=%llu}"
 #if VERBOSE
 		 ", ru_maxrss=%lu"
 		 ", ru_ixrss=%lu"
@@ -60,10 +61,10 @@
 #else
 		 ", ...}"
 #endif
-		 , (long) ru->ru_utime.tv_sec
-		 , (long) ru->ru_utime.tv_usec
-		 , (long) ru->ru_stime.tv_sec
-		 , (long) ru->ru_stime.tv_usec
+		 , (long long) ru->ru_utime.tv_sec
+		 , zero_extend_signed_to_ull(ru->ru_utime.tv_usec)
+		 , (long long) ru->ru_stime.tv_sec
+		 , zero_extend_signed_to_ull(ru->ru_stime.tv_usec)
 #if VERBOSE
 		 , (long) ru->ru_maxrss
 		 , (long) ru->ru_ixrss
@@ -119,12 +120,12 @@
 
 	(void) close(0);
 
-	int *const s = tail_alloc(sizeof(*s));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, s);
 	if (wait4(pid, s, WNOHANG|__WALL, NULL))
 		perror_msg_and_fail("wait4 #1");
 	tprintf("wait4(%d, %p, WNOHANG|__WALL, NULL) = 0\n", pid, s);
 
-	struct rusage *const rusage = tail_alloc(sizeof(*rusage));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, rusage);
 	if (wait4(pid, s, WNOHANG|__WALL, rusage))
 		perror_msg_and_fail("wait4 #2");
 	tprintf("wait4(%d, %p, WNOHANG|__WALL, %p) = 0\n", pid, s, rusage);
diff --git a/tests-mx32/wait4.gen.test b/tests-mx32/wait4.gen.test
new file mode 100755
index 0000000..ae04915
--- /dev/null
+++ b/tests-mx32/wait4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (wait4 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-mx32/wait4.test b/tests-mx32/wait4.test
deleted file mode 100755
index 6338d1f..0000000
--- a/tests-mx32/wait4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-mx32/waitid-v.gen.test b/tests-mx32/waitid-v.gen.test
new file mode 100755
index 0000000..45744cd
--- /dev/null
+++ b/tests-mx32/waitid-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitid-v -v -e signal=none -e trace=waitid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e signal=none -e trace=waitid
diff --git a/tests-mx32/waitid-v.test b/tests-mx32/waitid-v.test
deleted file mode 100755
index eb498cb..0000000
--- a/tests-mx32/waitid-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=waitid
diff --git a/tests-mx32/waitid.c b/tests-mx32/waitid.c
index 6a10299..b56feea 100644
--- a/tests-mx32/waitid.c
+++ b/tests-mx32/waitid.c
@@ -2,6 +2,7 @@
  * Check decoding of waitid syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,8 +43,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={tv_sec=%lld, tv_usec=%lld}"
-		 ", ru_stime={tv_sec=%lld, tv_usec=%lld}"
+		 "{ru_utime={tv_sec=%lld, tv_usec=%llu}"
+		 ", ru_stime={tv_sec=%lld, tv_usec=%llu}"
 #if VERBOSE
 		 ", ru_maxrss=%llu"
 		 ", ru_ixrss=%llu"
@@ -63,9 +64,9 @@
 		 ", ...}"
 #endif
 		 , (long long) ru->ru_utime.tv_sec
-		 , (long long) ru->ru_utime.tv_usec
+		 , zero_extend_signed_to_ull(ru->ru_utime.tv_usec)
 		 , (long long) ru->ru_stime.tv_sec
-		 , (long long) ru->ru_stime.tv_usec
+		 , zero_extend_signed_to_ull(ru->ru_stime.tv_usec)
 #if VERBOSE
 		 , zero_extend_signed_to_ull(ru->ru_maxrss)
 		 , zero_extend_signed_to_ull(ru->ru_ixrss)
@@ -185,9 +186,9 @@
 		perror_msg_and_fail("waitid #1");
 	tprintf("waitid(P_PID, %d, NULL, WNOHANG|WEXITED, NULL) = 0\n", pid);
 
-	siginfo_t *const sinfo = tail_alloc(sizeof(*sinfo));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, sinfo);
 	memset(sinfo, 0, sizeof(*sinfo));
-	struct rusage *const rusage = tail_alloc(sizeof(*rusage));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, rusage);
 	if (do_waitid(P_PID, pid, sinfo, WNOHANG|WEXITED|WSTOPPED, rusage))
 		perror_msg_and_fail("waitid #2");
 	tprintf("waitid(P_PID, %d, {}, WNOHANG|WEXITED|WSTOPPED, %s) = 0\n",
diff --git a/tests-mx32/waitid.gen.test b/tests-mx32/waitid.gen.test
new file mode 100755
index 0000000..59f4022
--- /dev/null
+++ b/tests-mx32/waitid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitid -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests-mx32/waitid.test b/tests-mx32/waitid.test
deleted file mode 100755
index 3bcba3a..0000000
--- a/tests-mx32/waitid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests-mx32/waitpid.gen.test b/tests-mx32/waitpid.gen.test
new file mode 100755
index 0000000..d91e298
--- /dev/null
+++ b/tests-mx32/waitpid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitpid -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests-mx32/waitpid.test b/tests-mx32/waitpid.test
deleted file mode 100755
index 93807d1..0000000
--- a/tests-mx32/waitpid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of waitpid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests-mx32/xattr-strings.gen.test b/tests-mx32/xattr-strings.gen.test
new file mode 100755
index 0000000..3317892
--- /dev/null
+++ b/tests-mx32/xattr-strings.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xattr-strings -a22 -s 4 -e trace=fsetxattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -s 4 -e trace=fsetxattr
diff --git a/tests-mx32/xattr-strings.test b/tests-mx32/xattr-strings.test
deleted file mode 100755
index 25ef360..0000000
--- a/tests-mx32/xattr-strings.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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-mx32/xattr.gen.test b/tests-mx32/xattr.gen.test
new file mode 100755
index 0000000..030f2ce
--- /dev/null
+++ b/tests-mx32/xattr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xattr -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
diff --git a/tests-mx32/xattr.test b/tests-mx32/xattr.test
deleted file mode 100755
index 8c7a87b..0000000
--- a/tests-mx32/xattr.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check *xattr syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-syscalls=
-for n in getxattr setxattr listxattr removexattr; do
-	syscalls="$syscalls,${n},f${n},l${n}"
-done
-
-run_strace_match_diff -a22 -e trace=$syscalls
diff --git a/tests-mx32/xet_robust_list.c b/tests-mx32/xet_robust_list.c
index 211dec4..a612b92 100644
--- a/tests-mx32/xet_robust_list.c
+++ b/tests-mx32/xet_robust_list.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,8 +52,8 @@
 {
 	const pid_t pid = getpid();
 	const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid);
-	void **p_head = tail_alloc(sizeof(void *));
-	size_t *p_len = tail_alloc(sizeof(size_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head);
+	TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len);
 
 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
 		perror_msg_and_skip("get_robust_list");
diff --git a/tests-mx32/xet_robust_list.gen.test b/tests-mx32/xet_robust_list.gen.test
new file mode 100755
index 0000000..798cdff
--- /dev/null
+++ b/tests-mx32/xet_robust_list.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xet_robust_list -a24 -e trace=get_robust_list,set_robust_list); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
diff --git a/tests-mx32/xet_robust_list.test b/tests-mx32/xet_robust_list.test
deleted file mode 100755
index 8a3a382..0000000
--- a/tests-mx32/xet_robust_list.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check get_robust_list and set_robust_list syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
diff --git a/tests-mx32/xetitimer.c b/tests-mx32/xetitimer.c
index 4b17edd..3a81880 100644
--- a/tests-mx32/xetitimer.c
+++ b/tests-mx32/xetitimer.c
@@ -1,5 +1,7 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of setitimer and getitimer syscalls.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -29,48 +31,153 @@
 #include <stdio.h>
 #include <stdint.h>
 #include <sys/time.h>
+#include <unistd.h>
+#include <asm/unistd.h>
 
 int
 main(void)
 {
-	struct {
-		struct itimerval itv;
-		uint32_t pad[4];
-	} old = {
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.itv = {
-			.it_interval = { 0xc0de1, 0xc0de2 },
-			.it_value = { 0xc0de3, 0xc0de4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
+	static const struct itimerval new = {
+		.it_interval = { 0xc0de1, 0xc0de2 },
+		.it_value = { 0xc0de3, 0xc0de4 }
 	};
+	static const kernel_ulong_t long_timer =
+		F8ILL_KULONG_MASK | ITIMER_REAL;
+	static const kernel_ulong_t bogus_timer =
+		(kernel_ulong_t) 0xfacefeeddeadbeefULL;
 
-	if (setitimer(ITIMER_REAL, &new.itv, &old.itv))
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerval, p_old);
+	struct itimerval *const p_new = tail_memdup(&new, sizeof(new));
+	void *const efault = tail_alloc(sizeof(new) - 8);
+	long rc;
+
+	if (setitimer(ITIMER_REAL, p_new, NULL))
 		perror_msg_and_skip("setitimer");
 	printf("setitimer(ITIMER_REAL"
-	       ", {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,
-	       (intmax_t) new.itv.it_value.tv_usec,
-	       (intmax_t) old.itv.it_interval.tv_sec,
-	       (intmax_t) old.itv.it_interval.tv_usec,
-	       (intmax_t) old.itv.it_value.tv_sec,
-	       (intmax_t) old.itv.it_value.tv_usec);
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", NULL) = 0\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec));
 
-	if (getitimer(ITIMER_REAL, &old.itv))
+	fill_memory(p_old, sizeof(*p_old));
+	if (getitimer(ITIMER_REAL, p_old))
 		perror_msg_and_skip("getitimer");
 	printf("getitimer(ITIMER_REAL"
-	       ", {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,
-	       (intmax_t) old.itv.it_value.tv_usec);
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = 0\n",
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec));
+
+	fill_memory(p_old, sizeof(*p_old));
+	setitimer(ITIMER_REAL, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = 0\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec));
+
+	rc = getitimer(ITIMER_REAL, efault);
+	printf("getitimer(ITIMER_REAL, %p) = %s\n", efault, sprintrc(rc));
+
+	rc = setitimer(ITIMER_REAL, p_new, efault);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       efault, sprintrc(rc));
+
+	rc = setitimer(ITIMER_REAL, efault, p_old);
+	printf("setitimer(ITIMER_REAL, %p, %p) = %s\n",
+	       efault, p_old, sprintrc(rc));
+
+	fill_memory(p_old, sizeof(*p_old));
+	rc = syscall(__NR_setitimer, long_timer, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = %s\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec),
+	       sprintrc(rc));
+
+	fill_memory(p_old, sizeof(*p_old));
+	rc = syscall(__NR_getitimer, long_timer, p_old);
+	printf("getitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = %s\n",
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec),
+	       sprintrc(rc));
+
+	rc = syscall(__NR_setitimer, bogus_timer, p_new, p_old);
+	printf("setitimer(%#x /* ITIMER_??? */"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (int) bogus_timer,
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       p_old, sprintrc(rc));
+
+	rc = syscall(__NR_getitimer, bogus_timer, p_old);
+	printf("getitimer(%#x /* ITIMER_??? */, %p) = %s\n",
+	       (int) bogus_timer, p_old, sprintrc(rc));
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		const kernel_ulong_t ill_new = f8ill_ptr_to_kulong(p_new);
+		const kernel_ulong_t ill_old = f8ill_ptr_to_kulong(p_old);
+
+		rc = syscall(__NR_setitimer, long_timer, ill_new, ill_old);
+		printf("setitimer(ITIMER_REAL, %#llx, %#llx) = %s\n",
+		       (unsigned long long) ill_new,
+		       (unsigned long long) ill_old,
+		       sprintrc(rc));
+
+		rc = syscall(__NR_getitimer, long_timer, ill_old);
+		printf("getitimer(ITIMER_REAL, %#llx) = %s\n",
+		       (unsigned long long) ill_old, sprintrc(rc));
+	}
+
+	p_new->it_interval.tv_sec = 0xdeadbeefU;
+	p_new->it_interval.tv_usec = 0xfacefeedU;
+	p_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	p_new->it_value.tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = setitimer(ITIMER_REAL, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (long long) p_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_new->it_interval.tv_usec),
+	       (long long) p_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_new->it_value.tv_usec),
+	       p_old, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/xetitimer.gen.test b/tests-mx32/xetitimer.gen.test
new file mode 100755
index 0000000..0cdb926
--- /dev/null
+++ b/tests-mx32/xetitimer.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetitimer -a29 -e trace=setitimer,getitimer); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=setitimer,getitimer
diff --git a/tests-mx32/xetitimer.test b/tests-mx32/xetitimer.test
deleted file mode 100755
index 4aa00cc..0000000
--- a/tests-mx32/xetitimer.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setitimer and getitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=setitimer,getitimer
diff --git a/tests-mx32/xetpgid.c b/tests-mx32/xetpgid.c
index 24e0d7f..0efffcb 100644
--- a/tests-mx32/xetpgid.c
+++ b/tests-mx32/xetpgid.c
@@ -2,6 +2,7 @@
  * This file is part of xetpgid strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,13 +40,10 @@
 main(void)
 {
 	const int pid = getpid();
-	long rc = syscall(__NR_getpgid,
-			  (unsigned long) 0xffffffff00000000ULL | pid);
+	long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
 	printf("getpgid(%d) = %ld\n", pid, rc);
 
-	rc = syscall(__NR_setpgid,
-		     (unsigned long) 0xffffffff00000000ULL,
-		     (unsigned long) 0xffffffff00000000ULL | pid);
+	rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid);
 	printf("setpgid(0, %d) = %ld\n", pid, rc);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-mx32/xetpgid.gen.test b/tests-mx32/xetpgid.gen.test
new file mode 100755
index 0000000..fc57fc4
--- /dev/null
+++ b/tests-mx32/xetpgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetpgid -a11 -e trace=getpgid,setpgid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=getpgid,setpgid
diff --git a/tests-mx32/xetpgid.test b/tests-mx32/xetpgid.test
deleted file mode 100755
index 07f4f9e..0000000
--- a/tests-mx32/xetpgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpgid and setpgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=getpgid,setpgid
diff --git a/tests-mx32/xetpriority.c b/tests-mx32/xetpriority.c
index ed55259..30c59c8 100644
--- a/tests-mx32/xetpriority.c
+++ b/tests-mx32/xetpriority.c
@@ -12,12 +12,11 @@
 {
 	const int pid = getpid();
 	long rc = syscall(__NR_getpriority, PRIO_PROCESS,
-			  (unsigned long) 0xffffffff00000000ULL | pid);
+			  F8ILL_KULONG_MASK | pid);
 	printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
 
 	rc = syscall(__NR_setpriority, PRIO_PROCESS,
-		     (unsigned long) 0xffffffff00000000ULL | pid,
-		     (unsigned long) 0xffffffff00000000ULL);
+		     F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK);
 	printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
diff --git a/tests-mx32/xetpriority.gen.test b/tests-mx32/xetpriority.gen.test
new file mode 100755
index 0000000..4b95524
--- /dev/null
+++ b/tests-mx32/xetpriority.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetpriority -a29 -e trace=getpriority,setpriority); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=getpriority,setpriority
diff --git a/tests-mx32/xetpriority.test b/tests-mx32/xetpriority.test
deleted file mode 100755
index 2c84ba4..0000000
--- a/tests-mx32/xetpriority.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpriority and setpriority syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29 -e trace=getpriority,setpriority
diff --git a/tests-mx32/xettimeofday.c b/tests-mx32/xettimeofday.c
index d36c57b..ec422cf 100644
--- a/tests-mx32/xettimeofday.c
+++ b/tests-mx32/xettimeofday.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,36 +37,49 @@
 int
 main(void)
 {
-	struct {
-		struct timeval tv;
-		uint32_t pad0[2];
-		struct timezone tz;
-		uint32_t pad1[2];
-	} t = {
-		.pad0 = { 0xdeadbeef, 0xbadc0ded },
-		.pad1 = { 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timeval, tv);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timezone, tz);
 
-	if (syscall(__NR_gettimeofday, &t.tv, NULL))
+	if (syscall(__NR_gettimeofday, tv, NULL))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}, NULL) = 0\n",
-	       (intmax_t) t.tv.tv_sec, (intmax_t) t.tv.tv_usec);
+	printf("gettimeofday({tv_sec=%lld, tv_usec=%llu}, NULL) = 0\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
 
-	if (syscall(__NR_gettimeofday, &t.tv, &t.tz))
+	if (syscall(__NR_gettimeofday, tv, tz))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}"
+	printf("gettimeofday({tv_sec=%lld, tv_usec=%llu}"
 	       ", {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);
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
 
-	t.tv.tv_sec = -1;
-	t.tv.tv_usec = 1000000000;
-	assert(syscall(__NR_settimeofday, &t.tv, &t.tz) == -1);
-	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,
-	       t.tz.tz_minuteswest, t.tz.tz_dsttime);
+	tv->tv_sec = -1;
+	tv->tv_usec = 1000000;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
+
+	tv->tv_sec = 0xdeadbeefU;
+	tv->tv_usec = 0xfacefeedU;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
+
+	tv->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv->tv_usec = (long) 0xbadc0dedfacefeedLL;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests-mx32/xettimeofday.gen.test b/tests-mx32/xettimeofday.gen.test
new file mode 100755
index 0000000..1a021e4
--- /dev/null
+++ b/tests-mx32/xettimeofday.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xettimeofday -a20 -e trace=gettimeofday,settimeofday); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday
diff --git a/tests-mx32/xettimeofday.test b/tests-mx32/xettimeofday.test
deleted file mode 100755
index 68764e4..0000000
--- a/tests-mx32/xettimeofday.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check gettimeofday and settimeofday syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday
diff --git a/tests-mx32/xselect.c b/tests-mx32/xselect.c
index 39e87ac..e1638c8 100644
--- a/tests-mx32/xselect.c
+++ b/tests-mx32/xselect.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +32,7 @@
 
 #include <assert.h>
 #include <stdio.h>
+#include <string.h>
 #include <unistd.h>
 #include <sys/select.h>
 
@@ -38,14 +40,10 @@
 
 int main(void)
 {
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timeval, tv);
+	struct timeval tv_in;
 	int fds[2];
-	struct {
-		struct timeval tv;
-		int pad[2];
-	} tm_in = {
-		.tv = { .tv_sec = 0xc0de1, .tv_usec = 0xc0de2 },
-		.pad = { 0xdeadbeef, 0xbadc0ded }
-	}, tm = tm_in;
+	long rc;
 
 	if (pipe(fds))
 		perror_msg_and_fail("pipe");
@@ -56,7 +54,7 @@
 	FD_ZERO(set);
 	FD_SET(fds[0], set);
 	FD_SET(fds[1], set);
-	int rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, NULL);
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, NULL);
 	if (rc < 0)
 		perror_msg_and_skip(TEST_SYSCALL_STR);
 	assert(rc == 1);
@@ -65,19 +63,73 @@
 	       fds[0], fds[1], fds[0], fds[1]);
 
 	/*
+	 * Odd timeout.
+	 */
+	FD_SET(fds[0], set);
+	FD_SET(fds[1], set);
+	tv->tv_sec = 0xdeadbeefU;
+	tv->tv_usec = 0xfacefeedU;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, tv);
+	if (rc < 0) {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %s\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec), sprintrc(rc));
+	} else {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %ld"
+		       " (left {tv_sec=%lld, tv_usec=%llu})\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv_in.tv_sec,
+		       zero_extend_signed_to_ull(tv_in.tv_usec),
+		       rc, (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec));
+	}
+
+	FD_SET(fds[0], set);
+	FD_SET(fds[1], set);
+	tv->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv->tv_usec = (long) 0xbadc0dedfacefeedLL;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, tv);
+	if (rc < 0) {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %s\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec), sprintrc(rc));
+	} else {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %ld"
+		       " (left {tv_sec=%lld, tv_usec=%llu})\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv_in.tv_sec,
+		       zero_extend_signed_to_ull(tv_in.tv_usec),
+		       rc, (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec));
+	}
+
+	/*
 	 * Another simple one, with a timeout.
 	 */
 	FD_SET(1, set);
 	FD_SET(2, set);
 	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, {tv_sec=%lld, tv_usec=%lld})"
-	       " = 3 (out [1 2 %d], left {tv_sec=%lld, tv_usec=%lld})\n",
+	tv->tv_sec = 0xc0de1;
+	tv->tv_usec = 0xc0de2;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	assert(syscall(TEST_SYSCALL_NR, fds[1] + 1, NULL, set, NULL, tv) == 3);
+	printf("%s(%d, NULL, [1 2 %d %d], NULL, {tv_sec=%lld, tv_usec=%llu})"
+	       " = 3 (out [1 2 %d], left {tv_sec=%lld, tv_usec=%llu})\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,
+	       (long long) tv_in.tv_sec,
+	       zero_extend_signed_to_ull(tv_in.tv_usec),
 	       fds[1],
-	       (long long) tm.tv.tv_sec, (long long) tm.tv.tv_usec);
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
 
 	/*
 	 * Now the crash case that trinity found, negative nfds
@@ -94,9 +146,9 @@
 	 */
 	FD_ZERO(set);
 	FD_SET(fds[0],set);
-	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);
+	tv->tv_sec = 0;
+	tv->tv_usec = 123;
+	assert(syscall(TEST_SYSCALL_NR, FD_SETSIZE + 1, set, set + 1, NULL, tv) == 0);
 	printf("%s(%d, [%d], [], NULL, {tv_sec=0, tv_usec=123}) = 0 (Timeout)\n",
 	       TEST_SYSCALL_STR, FD_SETSIZE + 1, fds[0]);
 
diff --git a/tests-mx32/xstatfsx.c b/tests-mx32/xstatfsx.c
index d8288f1..cb524ff 100644
--- a/tests-mx32/xstatfsx.c
+++ b/tests-mx32/xstatfsx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,9 +63,9 @@
 {
 	int fd = open(sample, O_RDONLY);
 	if (fd < 0)
-		perror_msg_and_fail("open: %s", sample);
+		perror_msg_and_skip("open: %s", sample);
 
-	STRUCT_STATFS *const b = tail_alloc(sizeof(*b));
+	TAIL_ALLOC_OBJECT_CONST_PTR(STRUCT_STATFS, b);
 	long rc = SYSCALL_INVOKE(sample, fd, b, sizeof(*b));
 	if (rc)
 		perror_msg_and_skip(SYSCALL_NAME);
diff --git a/tests-mx32/xstatx.c b/tests-mx32/xstatx.c
index 0d5fca8..8758ef8 100644
--- a/tests-mx32/xstatx.c
+++ b/tests-mx32/xstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,26 +48,7 @@
 # include <unistd.h>
 # include <sys/sysmacros.h>
 
-static void
-print_time(const time_t t)
-{
-	if (!t) {
-		printf("0");
-		return;
-	}
-
-	struct tm *p = localtime(&t);
-
-	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));
-	}
-}
+# include "statx.h"
 
 # ifndef STRUCT_STAT
 #  define STRUCT_STAT struct stat
@@ -130,6 +112,10 @@
 #  define OLD_STAT 0
 # endif
 
+# ifndef IS_STATX
+#  define IS_STATX 0
+# endif
+
 static void
 print_ftype(const unsigned int mode)
 {
@@ -151,6 +137,8 @@
 	printf("%#o", mode & ~S_IFMT);
 }
 
+# if !IS_STATX
+
 static void
 print_stat(const STRUCT_STAT *st)
 {
@@ -165,12 +153,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
+#  if OLD_STAT
 	printf(", st_blksize=0, st_blocks=0");
-# else /* !OLD_STAT */
+#  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 */
+#  endif /* OLD_STAT */
 
 	switch (st->st_mode & S_IFMT) {
 	case S_IFCHR: case S_IFBLK:
@@ -182,27 +170,87 @@
 		printf(", st_size=%llu", zero_extend_signed_to_ull(st->st_size));
 	}
 
-	printf(", st_atime=");
-	print_time(sign_extend_unsigned_to_ll(st->st_atime));
-# 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));
-# 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));
-# 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
+#  if defined(HAVE_STRUCT_STAT_ST_MTIME_NSEC) && !OLD_STAT
+#   define TIME_NSEC(val)	zero_extend_signed_to_ull(val)
+#   define HAVE_NSEC		1
+#  else
+#   define TIME_NSEC(val)	0ULL
+#   define HAVE_NSEC		0
+#  endif
+
+#define PRINT_ST_TIME(field)						\
+	printf(", st_" #field "=%lld",					\
+	       sign_extend_unsigned_to_ll(st->st_ ## field));		\
+	print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field),	\
+			  TIME_NSEC(st->st_ ## field ## _nsec), 1);	\
+	if (HAVE_NSEC)							\
+		printf(", st_" #field "_nsec=%llu",			\
+		       TIME_NSEC(st->st_ ## field ## _nsec))
+
+	PRINT_ST_TIME(atime);
+	PRINT_ST_TIME(mtime);
+	PRINT_ST_TIME(ctime);
 	printf("}");
 }
 
+# else /* !IS_STATX */
+
+static void
+print_stat(const STRUCT_STAT *st)
+{
+#  define PRINT_FIELD_U(field) \
+	printf(", %s=%llu", #field, (unsigned long long) st->field)
+
+#  define PRINT_FIELD_U32_UID(field) \
+	if (st->field == (uint32_t) -1) \
+		printf(", %s=-1", #field); \
+	else \
+		printf(", %s=%llu", #field, (unsigned long long) st->field)
+
+#  define PRINT_FIELD_TIME(field)					\
+	printf(", %s={tv_sec=%lld, tv_nsec=%u}",			\
+	       #field, (long long) st->field.tv_sec,			\
+	       (unsigned) st->field.tv_nsec);				\
+	print_time_t_nsec(st->field.tv_sec,				\
+			  zero_extend_signed_to_ull(st->field.tv_nsec), 1);
+
+	printf("{stx_mask=");
+	printflags(statx_masks, st->stx_mask, "STATX_???");
+
+	PRINT_FIELD_U(stx_blksize);
+
+	printf(", stx_attributes=");
+	printflags(statx_attrs, st->stx_attributes, "STATX_ATTR_???");
+
+	PRINT_FIELD_U(stx_nlink);
+	PRINT_FIELD_U32_UID(stx_uid);
+	PRINT_FIELD_U32_UID(stx_gid);
+
+	printf(", stx_mode=");
+	print_ftype(st->stx_mode);
+	printf("|");
+	print_perms(st->stx_mode);
+
+	PRINT_FIELD_U(stx_ino);
+	PRINT_FIELD_U(stx_size);
+	PRINT_FIELD_U(stx_blocks);
+
+	printf(", stx_attributes_mask=");
+	printflags(statx_attrs, st->stx_attributes_mask, "STATX_ATTR_???");
+
+	PRINT_FIELD_TIME(stx_atime);
+	PRINT_FIELD_TIME(stx_btime);
+	PRINT_FIELD_TIME(stx_ctime);
+	PRINT_FIELD_TIME(stx_mtime);
+	PRINT_FIELD_U(stx_rdev_major);
+	PRINT_FIELD_U(stx_rdev_minor);
+	PRINT_FIELD_U(stx_dev_major);
+	PRINT_FIELD_U(stx_dev_minor);
+	printf("}");
+}
+
+# endif /* !IS_STATX */
+
 static int
 create_sample(const char *fname, const libc_off_t size)
 {
@@ -229,19 +277,19 @@
 int
 main(void)
 {
-# if !IS_FSTAT
+# if IS_FSTAT
+	skip_if_unavailable("/proc/self/fd/");
+# else
 	static const char full[] = "/dev/full";
 # endif
-	static const char sample[] = TEST_SYSCALL_STR ".sample";
-	STRUCT_STAT st[2];
+	static const char sample[] = "stat.sample";
+	TAIL_ALLOC_OBJECT_CONST_PTR(STRUCT_STAT, st);
 
 	int rc;
 
 	rc = create_sample(sample, SAMPLE_SIZE);
-	if (rc) {
-		(void) unlink(sample);
+	if (rc)
 		return rc;
-	}
 
 # if TEST_BOGUS_STRUCT_STAT
 	STRUCT_STAT *st_cut = tail_alloc(sizeof(long) * 4);
@@ -262,46 +310,71 @@
 # endif
 
 	if ((rc = TEST_SYSCALL_INVOKE(sample, st))) {
-# if OLD_STAT
-		if (errno != EOVERFLOW)
-# endif
-		{
+		if (errno != EOVERFLOW) {
+			rc = (errno == ENOSYS) ? 77 : 1;
 			perror(TEST_SYSCALL_STR);
-			(void) unlink(sample);
-			return 77;
+			return rc;
 		}
 	}
-	(void) unlink(sample);
+
+# if IS_STATX
+#  define ST_SIZE_FIELD stx_size
+# else
+#  define ST_SIZE_FIELD st_size
+# endif
 	if (!rc && zero_extend_signed_to_ull(SAMPLE_SIZE) !=
-	    zero_extend_signed_to_ull(st[0].st_size)) {
+	    zero_extend_signed_to_ull(st->ST_SIZE_FIELD)) {
 		fprintf(stderr, "Size mismatch: "
 				"requested size(%llu) != st_size(%llu)\n",
 			zero_extend_signed_to_ull(SAMPLE_SIZE),
-			zero_extend_signed_to_ull(st[0].st_size));
+			zero_extend_signed_to_ull(st->ST_SIZE_FIELD));
 		fprintf(stderr, "The most likely reason for this is incorrect"
 				" definition of %s.\n"
 				"Here is some diagnostics that might help:\n",
 			STRUCT_STAT_STR);
 
-#define LOG_STAT_OFFSETOF_SIZEOF(object, member)			\
+# 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 */
+# if IS_STATX
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mask);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_blksize);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_attributes);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_nlink);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_uid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_gid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mode);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_ino);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_size);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_blocks);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_attributes_mask);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_atime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_btime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_ctime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mtime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_rdev_major);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_rdev_minor);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_dev_major);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_dev_minor);
+# else
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_dev);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_ino);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_mode);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_nlink);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_uid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_gid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_rdev);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_size);
+#  if !OLD_STAT
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_blksize);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_blocks);
+#  endif /* !OLD_STAT */
+
+# endif /* IS_STATX */
 
 		return 1;
 	}
@@ -313,6 +386,63 @@
 		print_stat(st);
 	PRINT_SYSCALL_FOOTER(rc);
 
+# if IS_STATX
+
+#  define INVOKE() \
+	rc = TEST_SYSCALL_INVOKE(sample, st); \
+	PRINT_SYSCALL_HEADER(sample); \
+	if (rc) \
+		printf("%p", st); \
+	else \
+		print_stat(st); \
+	PRINT_SYSCALL_FOOTER(rc)
+
+#  define SET_FLAGS_INVOKE(flags, flags_str) \
+	TEST_SYSCALL_STATX_FLAGS = flags; \
+	TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
+	INVOKE()
+
+#  define SET_MASK_INVOKE(mask, mask_str) \
+	TEST_SYSCALL_STATX_MASK = mask; \
+	TEST_SYSCALL_STATX_MASK_STR = mask_str; \
+	INVOKE()
+
+	unsigned old_flags = TEST_SYSCALL_STATX_FLAGS;
+	const char *old_flags_str = TEST_SYSCALL_STATX_FLAGS_STR;
+	unsigned old_mask = TEST_SYSCALL_STATX_MASK;
+	const char *old_mask_str = TEST_SYSCALL_STATX_MASK_STR;
+
+	SET_FLAGS_INVOKE(AT_SYMLINK_FOLLOW | 0xffff0000U,
+		"AT_STATX_SYNC_AS_STAT|AT_SYMLINK_FOLLOW|0xffff0000");
+
+	SET_FLAGS_INVOKE(AT_STATX_SYNC_TYPE,
+		"AT_STATX_FORCE_SYNC|AT_STATX_DONT_SYNC");
+
+	SET_FLAGS_INVOKE(0xffffff,
+		"AT_STATX_FORCE_SYNC|AT_STATX_DONT_SYNC|AT_SYMLINK_NOFOLLOW|"
+		"AT_REMOVEDIR|AT_SYMLINK_FOLLOW|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|"
+		"0xff80ff");
+
+	/* We're done playing with flags. */
+	TEST_SYSCALL_STATX_FLAGS = old_flags;
+	TEST_SYSCALL_STATX_FLAGS_STR = old_flags_str;
+
+	SET_MASK_INVOKE(0, "0");
+	SET_MASK_INVOKE(0xfffff000U, "0xfffff000 /* STATX_??? */");
+
+	SET_MASK_INVOKE(0xfffffffbU,
+		"STATX_TYPE|STATX_MODE|STATX_UID|STATX_GID|STATX_ATIME|"
+		"STATX_MTIME|STATX_CTIME|STATX_INO|STATX_SIZE|STATX_BLOCKS|"
+		"STATX_BTIME|0xfffff000");
+
+	SET_MASK_INVOKE(STATX_UID, "STATX_UID");
+
+	/* ...and with mask. */
+	TEST_SYSCALL_STATX_MASK = old_mask;
+	TEST_SYSCALL_STATX_MASK_STR = old_mask_str;
+
+# endif /* IS_STATX */
+
 	puts("+++ exited with 0 +++");
 	return 0;
 }
diff --git a/tests-mx32/xutimes.c b/tests-mx32/xutimes.c
new file mode 100644
index 0000000..5fd7161
--- /dev/null
+++ b/tests-mx32/xutimes.c
@@ -0,0 +1,149 @@
+/*
+ * Check decoding of utimes/osf_utimes syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 TEST_SYSCALL_NR
+# error TEST_SYSCALL_NR must be defined
+#endif
+
+#ifndef TEST_SYSCALL_STR
+# error TEST_SYSCALL_STR must be defined
+#endif
+
+#ifndef TEST_STRUCT
+# error TEST_STRUCT must be defined
+#endif
+
+#include <stdint.h>
+#include <stdio.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+static void
+print_tv(const TEST_STRUCT *const tv)
+{
+	printf("{tv_sec=%lld, tv_usec=%llu}",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
+	print_time_t_usec(tv->tv_sec,
+			  zero_extend_signed_to_ull(tv->tv_usec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_utimes(const kernel_ulong_t pathname, const kernel_ulong_t times)
+{
+	long rc = syscall(TEST_SYSCALL_NR, pathname, times);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	static const char proto_fname[] = TEST_SYSCALL_STR "_sample";
+	static const char qname[] = "\"" TEST_SYSCALL_STR "_sample\"";
+
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	TEST_STRUCT *const tv = tail_alloc(sizeof(*tv) * 2);
+
+	/* pathname */
+	k_utimes(0, 0);
+	printf("%s(NULL, NULL) = %s\n", TEST_SYSCALL_STR, errstr);
+
+	k_utimes(kfname + sizeof(proto_fname) - 1, 0);
+	printf("%s(\"\", NULL) = %s\n", TEST_SYSCALL_STR, errstr);
+
+	k_utimes(kfname, 0);
+	printf("%s(%s, NULL) = %s\n", TEST_SYSCALL_STR, qname, errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_utimes(kfname, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("%s(%p, NULL) = %s\n", TEST_SYSCALL_STR, fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimes(f8ill_ptr_to_kulong(fname), 0);
+		printf("%s(%#jx, NULL) = %s\n", TEST_SYSCALL_STR,
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_utimes(kfname, (uintptr_t) (tv + 1));
+	printf("%s(%s, %p) = %s\n", TEST_SYSCALL_STR,
+	       qname, tv + 1, errstr);
+
+	k_utimes(kfname, (uintptr_t) (tv + 2));
+	printf("%s(%s, %p) = %s\n", TEST_SYSCALL_STR,
+	       qname, tv + 2, errstr);
+
+	tv[0].tv_sec = 0xdeadbeefU;
+	tv[0].tv_usec = 0xfacefeedU;
+	tv[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv[1].tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_sec = 1492358607;
+	tv[0].tv_usec = 1000000;
+	tv[1].tv_sec = 1492356078;
+	tv[1].tv_usec = 1000001;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_usec = 345678;
+	tv[1].tv_usec = 456789;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimes(kfname, f8ill_ptr_to_kulong(tv));
+		printf("%s(%s, %#jx) = %s\n", TEST_SYSCALL_STR,
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(tv), errstr);
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/Makefile b/tests/Makefile
index 53b7a6c..f2071c4 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -17,6 +17,7 @@
 # Automake input for strace tests.
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -131,148 +132,38 @@
 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 \
+DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
+	$(srcdir)/../scno.am $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
 	$(top_srcdir)/test-driver
+check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
+	attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
+	attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
+	execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
+	getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
+	ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
+	ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
+	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
+	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
+	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
+	quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
+	seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
+	signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+	threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
+	wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
 subdir = tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
@@ -300,6 +191,7 @@
 	libtests_a-error_msg.$(OBJEXT) \
 	libtests_a-fill_memory.$(OBJEXT) \
 	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-get_sigset_size.$(OBJEXT) \
 	libtests_a-hexdump_strdup.$(OBJEXT) \
 	libtests_a-hexquote_strndup.$(OBJEXT) \
 	libtests_a-inode_of_sockfd.$(OBJEXT) \
@@ -308,10 +200,130 @@
 	libtests_a-overflowuid.$(OBJEXT) \
 	libtests_a-pipe_maxfd.$(OBJEXT) \
 	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-print_time.$(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-signal2name.$(OBJEXT) \
+	libtests_a-skip_unavailable.$(OBJEXT) \
+	libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
+	libtests_a-tprintf.$(OBJEXT)
 libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
+	chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(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) \
+	execveat$(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) finit_module$(EXEEXT) flock$(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) getpid$(EXEEXT) getppid$(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_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
+	ioctl_mtd$(EXEEXT) ioctl_rtc$(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) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(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_name$(EXEEXT) \
+	mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
+	mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
+	mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
+	msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(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_protocol$(EXEEXT) newfstatat$(EXEEXT) \
+	old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
+	oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
+	openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
+	perf_event_open$(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-securebits$(EXEEXT) \
+	prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
+	pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
+	process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
+	pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
+	renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
+	rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
+	rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(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) \
+	seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
+	sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(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) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
+	stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
+	statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
+	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
+	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(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) unlink$(EXEEXT) unlinkat$(EXEEXT) \
+	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
+	utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
+	vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
+	waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
 _newselect_SOURCES = _newselect.c
 _newselect_OBJECTS = _newselect.$(OBJEXT)
 _newselect_LDADD = $(LDADD)
@@ -668,6 +680,14 @@
 getpgrp_OBJECTS = getpgrp.$(OBJEXT)
 getpgrp_LDADD = $(LDADD)
 getpgrp_DEPENDENCIES = libtests.a
+getpid_SOURCES = getpid.c
+getpid_OBJECTS = getpid.$(OBJEXT)
+getpid_LDADD = $(LDADD)
+getpid_DEPENDENCIES = libtests.a
+getppid_SOURCES = getppid.c
+getppid_OBJECTS = getppid.$(OBJEXT)
+getppid_LDADD = $(LDADD)
+getppid_DEPENDENCIES = libtests.a
 getrandom_SOURCES = getrandom.c
 getrandom_OBJECTS = getrandom.$(OBJEXT)
 getrandom_LDADD = $(LDADD)
@@ -704,6 +724,10 @@
 getsockname_OBJECTS = getsockname.$(OBJEXT)
 getsockname_LDADD = $(LDADD)
 getsockname_DEPENDENCIES = libtests.a
+gettid_SOURCES = gettid.c
+gettid_OBJECTS = gettid.$(OBJEXT)
+gettid_LDADD = $(LDADD)
+gettid_DEPENDENCIES = libtests.a
 getuid_SOURCES = getuid.c
 getuid_OBJECTS = getuid.$(OBJEXT)
 getuid_LDADD = $(LDADD)
@@ -732,6 +756,10 @@
 inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
 inotify_init1_LDADD = $(LDADD)
 inotify_init1_DEPENDENCIES = libtests.a
+int_0x80_SOURCES = int_0x80.c
+int_0x80_OBJECTS = int_0x80.$(OBJEXT)
+int_0x80_LDADD = $(LDADD)
+int_0x80_DEPENDENCIES = libtests.a
 ioctl_SOURCES = ioctl.c
 ioctl_OBJECTS = ioctl.$(OBJEXT)
 ioctl_LDADD = $(LDADD)
@@ -772,6 +800,10 @@
 ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
 ioctl_mtd_LDADD = $(LDADD)
 ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_nsfs_SOURCES = ioctl_nsfs.c
+ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
+ioctl_nsfs_LDADD = $(LDADD)
+ioctl_nsfs_DEPENDENCIES = libtests.a
 ioctl_rtc_SOURCES = ioctl_rtc.c
 ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
 ioctl_rtc_LDADD = $(LDADD)
@@ -900,6 +932,10 @@
 lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
 lstat64_LDADD = $(LDADD)
 lstat64_DEPENDENCIES = libtests.a
+madvise_SOURCES = madvise.c
+madvise_OBJECTS = madvise.$(OBJEXT)
+madvise_LDADD = $(LDADD)
+madvise_DEPENDENCIES = libtests.a
 mbind_SOURCES = mbind.c
 mbind_OBJECTS = mbind.$(OBJEXT)
 mbind_LDADD = $(LDADD)
@@ -1092,6 +1128,10 @@
 openat_OBJECTS = openat.$(OBJEXT)
 openat_LDADD = $(LDADD)
 openat_DEPENDENCIES = libtests.a
+osf_utimes_SOURCES = osf_utimes.c
+osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
+osf_utimes_LDADD = $(LDADD)
+osf_utimes_DEPENDENCIES = libtests.a
 pause_SOURCES = pause.c
 pause_OBJECTS = pause.$(OBJEXT)
 pause_LDADD = $(LDADD)
@@ -1145,6 +1185,10 @@
 ppoll_OBJECTS = ppoll.$(OBJEXT)
 ppoll_LDADD = $(LDADD)
 ppoll_DEPENDENCIES = libtests.a
+ppoll_v_SOURCES = ppoll-v.c
+ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
+ppoll_v_LDADD = $(LDADD)
+ppoll_v_DEPENDENCIES = libtests.a
 prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
 prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
 prctl_arg2_intptr_LDADD = $(LDADD)
@@ -1354,6 +1398,10 @@
 rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
 rt_sigqueueinfo_LDADD = $(LDADD)
 rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigreturn_SOURCES = rt_sigreturn.c
+rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
+rt_sigreturn_LDADD = $(LDADD)
+rt_sigreturn_DEPENDENCIES = libtests.a
 rt_sigsuspend_SOURCES = rt_sigsuspend.c
 rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
 rt_sigsuspend_LDADD = $(LDADD)
@@ -1554,6 +1602,10 @@
 sigreturn_OBJECTS = sigreturn.$(OBJEXT)
 sigreturn_LDADD = $(LDADD)
 sigreturn_DEPENDENCIES = libtests.a
+sigsuspend_SOURCES = sigsuspend.c
+sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
+sigsuspend_LDADD = $(LDADD)
+sigsuspend_DEPENDENCIES = libtests.a
 sleep_SOURCES = sleep.c
 sleep_OBJECTS = sleep.$(OBJEXT)
 sleep_LDADD = $(LDADD)
@@ -1588,10 +1640,18 @@
 statfs64_OBJECTS = statfs64.$(OBJEXT)
 statfs64_LDADD = $(LDADD)
 statfs64_DEPENDENCIES = libtests.a
+statx_SOURCES = statx.c
+statx_OBJECTS = statx.$(OBJEXT)
+statx_LDADD = $(LDADD)
+statx_DEPENDENCIES = libtests.a
 swap_SOURCES = swap.c
 swap_OBJECTS = swap.$(OBJEXT)
 swap_LDADD = $(LDADD)
 swap_DEPENDENCIES = libtests.a
+sxetmask_SOURCES = sxetmask.c
+sxetmask_OBJECTS = sxetmask.$(OBJEXT)
+sxetmask_LDADD = $(LDADD)
+sxetmask_DEPENDENCIES = libtests.a
 symlink_SOURCES = symlink.c
 symlink_OBJECTS = symlink.$(OBJEXT)
 symlink_LDADD = $(LDADD)
@@ -1853,35 +1913,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1894,21 +1955,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -1938,35 +2000,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1979,21 +2042,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -2214,7 +2278,7 @@
   bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check recheck
-#am__EXEEXT_1 = strace-k.test
+#am__EXEEXT_2 = strace-k.test
 TEST_SUITE_LOG = test-suite.log
 TEST_EXTENSIONS =  .test
 am__test_logs1 = $(TESTS:=.log)
@@ -2234,12 +2298,12 @@
       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
+ACLOCAL = ${SHELL} /tmp/strace-4.17/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
+AUTOCONF = ${SHELL} /tmp/strace-4.17/missing autoconf
+AUTOHEADER = ${SHELL} /tmp/strace-4.17/missing autoheader
+AUTOMAKE = ${SHELL} /tmp/strace-4.17/missing automake-1.14
 AWK = gawk
 BUILD_EXEEXT = 
 BUILD_OBJEXT = 
@@ -2253,12 +2317,13 @@
 CODE_COVERAGE_CXXFLAGS = 
 CODE_COVERAGE_ENABLED = no
 CODE_COVERAGE_LDFLAGS = 
+COPYRIGHT_YEAR = 2017
 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
+DEB_CHANGELOGTIME = Thu, 25 May 2017 15:09:49 -0700
 DEFS = -DHAVE_CONFIG_H
 DEPDIR = .deps
 ECHO_C = 
@@ -2285,34 +2350,34 @@
 LIBS = 
 LTLIBOBJS = 
 MAINT = #
-MAKEINFO = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing makeinfo
+MAKEINFO = ${SHELL} /tmp/strace-4.17/missing makeinfo
 MIPS_ABI = 
 MKDIR_P = /bin/mkdir -p
 OBJEXT = o
 PACKAGE = strace
 PACKAGE_BUGREPORT = strace-devel@lists.sourceforge.net
 PACKAGE_NAME = strace
-PACKAGE_STRING = strace 4.16
+PACKAGE_STRING = strace 4.17
 PACKAGE_TARNAME = strace
 PACKAGE_URL = https://strace.io
-PACKAGE_VERSION = 4.16
+PACKAGE_VERSION = 4.17
 PATH_SEPARATOR = :
 PERL = /usr/bin/perl
 RANLIB = ranlib
-RPM_CHANGELOGTIME = Wed Feb 15 2017
+RPM_CHANGELOGTIME = Thu May 25 2017
 SED = /bin/sed
 SET_MAKE = 
 SHELL = /bin/sh
 STRIP = 
 VALGRIND = valgrind
 VALGRIND_ENABLED = yes
-VERSION = 4.16
+VERSION = 4.17
 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
+abs_builddir = /tmp/strace-4.17/tests
+abs_srcdir = /tmp/strace-4.17/tests
+abs_top_builddir = /tmp/strace-4.17
+abs_top_srcdir = /tmp/strace-4.17
 ac_ct_CC = gcc
 ac_ct_CC_FOR_BUILD = gcc
 am__include = include
@@ -2344,7 +2409,7 @@
 htmldir = ${docdir}
 includedir = ${prefix}/include
 infodir = ${datarootdir}/info
-install_sh = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/install-sh
+install_sh = ${SHELL} /tmp/strace-4.17/install-sh
 libdir = ${exec_prefix}/lib
 libexecdir = ${exec_prefix}/libexec
 libunwind_CPPFLAGS = 
@@ -2389,6 +2454,7 @@
 	error_msg.c \
 	fill_memory.c \
 	get_page_size.c \
+	get_sigset_size.c \
 	hexdump_strdup.c \
 	hexquote_strndup.c \
 	inode_of_sockfd.c \
@@ -2397,9 +2463,11 @@
 	overflowuid.c \
 	pipe_maxfd.c \
 	print_quoted_string.c \
+	print_time.c \
 	printflags.c \
 	printxval.c \
 	signal2name.c \
+	skip_unavailable.c \
 	sprintrc.c \
 	tail_alloc.c \
 	tests.h \
@@ -2409,6 +2477,340 @@
 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 check_LIBRARIES = libtests.a
 LDADD = libtests.a
+
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+  _newselect \
+  accept \
+  accept4 \
+  access \
+  acct \
+  add_key \
+  adjtimex \
+  aio \
+  alarm \
+  bpf \
+  brk \
+  btrfs \
+  caps \
+  chmod \
+  chown \
+  chown32 \
+  chroot \
+  clock_adjtime \
+  clock_nanosleep \
+  clock_xettime \
+  copy_file_range \
+  creat \
+  delete_module \
+  dup \
+  dup2 \
+  dup3 \
+  epoll_create \
+  epoll_create1 \
+  epoll_ctl \
+  epoll_pwait \
+  epoll_wait \
+  erestartsys \
+  eventfd \
+  execve \
+  execveat \
+  faccessat \
+  fadvise64 \
+  fadvise64_64 \
+  fallocate \
+  fanotify_init \
+  fanotify_mark \
+  fchdir \
+  fchmod \
+  fchmodat \
+  fchown \
+  fchown32 \
+  fchownat \
+  fcntl \
+  fcntl64 \
+  fdatasync \
+  file_handle \
+  file_ioctl \
+  finit_module \
+  flock \
+  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 \
+  getpid \
+  getppid \
+  getrandom \
+  getresgid \
+  getresgid32 \
+  getresuid \
+  getresuid32 \
+  getrlimit \
+  getrusage \
+  getsid \
+  getsockname \
+  getuid \
+  getuid32 \
+  getxxid \
+  inet-cmsg \
+  init_module \
+  inotify \
+  inotify_init1 \
+  ioctl \
+  ioctl_block \
+  ioctl_dm \
+  ioctl_evdev \
+  ioctl_loop \
+  ioctl_mtd \
+  ioctl_rtc \
+  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 \
+  lchown \
+  lchown32 \
+  link \
+  linkat \
+  llseek \
+  lookup_dcookie \
+  lseek \
+  lstat \
+  lstat64 \
+  madvise \
+  mbind \
+  membarrier \
+  memfd_create \
+  migrate_pages \
+  mincore \
+  mkdir \
+  mkdirat \
+  mknod \
+  mknodat \
+  mlock \
+  mlock2 \
+  mlockall \
+  mmap \
+  mmap64 \
+  mmsg \
+  mmsg_name \
+  mount \
+  move_pages \
+  mq \
+  mq_sendrecv \
+  mq_sendrecv-read \
+  mq_sendrecv-write \
+  msg_control \
+  msg_name \
+  munlockall \
+  nanosleep \
+  net-icmp_filter \
+  net-sockaddr \
+  net-y-unix \
+  net-yy-inet \
+  net-yy-netlink \
+  net-yy-unix \
+  netlink_protocol \
+  newfstatat \
+  old_mmap \
+  oldfstat \
+  oldlstat \
+  oldselect \
+  oldstat \
+  open \
+  openat \
+  osf_utimes \
+  pause \
+  perf_event_open \
+  personality \
+  pipe \
+  pipe2 \
+  pkey_alloc \
+  pkey_free \
+  pkey_mprotect \
+  poll \
+  ppoll \
+  prctl-arg2-intptr \
+  prctl-dumpable \
+  prctl-name \
+  prctl-no-args \
+  prctl-pdeathsig \
+  prctl-securebits \
+  prctl-tid_address \
+  prctl-tsc \
+  pread64-pwrite64 \
+  preadv \
+  preadv-pwritev \
+  preadv2-pwritev2 \
+  printstr \
+  prlimit64 \
+  process_vm_readv \
+  process_vm_writev \
+  pselect6 \
+  ptrace \
+  pwritev \
+  quotactl \
+  quotactl-xfs \
+  read-write \
+  readahead \
+  readdir \
+  readlink \
+  readlinkat \
+  readv \
+  reboot \
+  recvfrom \
+  recvmmsg-timeout \
+  recvmsg \
+  remap_file_pages \
+  rename \
+  renameat \
+  renameat2 \
+  request_key \
+  rmdir \
+  rt_sigpending \
+  rt_sigprocmask \
+  rt_sigqueueinfo \
+  rt_sigreturn \
+  rt_sigsuspend \
+  rt_sigtimedwait \
+  rt_tgsigqueueinfo \
+  sched_get_priority_mxx \
+  sched_rr_get_interval \
+  sched_xetaffinity \
+  sched_xetattr \
+  sched_xetparam \
+  sched_xetscheduler \
+  sched_yield \
+  seccomp-filter \
+  select \
+  semop \
+  sendfile \
+  sendfile64 \
+  set_mempolicy \
+  setdomainname \
+  setfsgid \
+  setfsgid32 \
+  setfsuid \
+  setfsuid32 \
+  setgid \
+  setgid32 \
+  setgroups \
+  setgroups32 \
+  sethostname \
+  setns \
+  setregid \
+  setregid32 \
+  setresgid \
+  setresgid32 \
+  setresuid \
+  setresuid32 \
+  setreuid \
+  setreuid32 \
+  setrlimit \
+  setuid \
+  setuid32 \
+  shmxt \
+  shutdown \
+  sigaction \
+  sigaltstack \
+  siginfo \
+  signalfd4 \
+  sigreturn \
+  sigsuspend \
+  socketcall \
+  splice \
+  stat \
+  stat64 \
+  statfs \
+  statfs64 \
+  statx \
+  swap \
+  sxetmask \
+  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 \
+  umoven-illptr \
+  umovestr \
+  umovestr-illptr \
+  umovestr2 \
+  umovestr3 \
+  uname \
+  unlink \
+  unlinkat \
+  unshare \
+  userfaultfd \
+  ustat \
+  utime \
+  utimensat \
+  utimes \
+  vhangup \
+  vmsplice \
+  wait4 \
+  waitid \
+  waitpid \
+  xattr \
+  xattr-strings \
+  xet_robust_list \
+  xetitimer \
+  xetpgid \
+  xetpriority \
+  xettimeofday \
+  #
+
 attach_f_p_LDADD = -lrt -lpthread $(LDADD)
 clock_xettime_LDADD = -lrt $(LDADD)
 count_f_LDADD = -lpthread $(LDADD)
@@ -2437,209 +2839,159 @@
 stack_fcall_SOURCES = stack-fcall.c \
 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
 
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
+	access.gen.test acct.gen.test add_key.gen.test \
+	adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
+	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
+	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
+	clock_nanosleep.gen.test clock_xettime.gen.test \
+	copy_file_range.gen.test creat.gen.test delete_module.gen.test \
+	dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
+	epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
+	epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
+	execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
+	fallocate.gen.test fanotify_init.gen.test \
+	fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
+	fchmodat.gen.test fchown.gen.test fchown32.gen.test \
+	fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
+	finit_module.gen.test flock.gen.test fork-f.gen.test \
+	fstat.gen.test fstat64.gen.test fstatat64.gen.test \
+	fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
+	ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
+	get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
+	getdents.gen.test getdents64.gen.test getegid.gen.test \
+	getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
+	getgid.gen.test getgid32.gen.test getgroups.gen.test \
+	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
+	getpid.gen.test getppid.gen.test getrandom.gen.test \
+	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
+	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
+	getsid.gen.test getsockname.gen.test gettid.gen.test \
+	getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
+	init_module.gen.test inotify.gen.test inotify_init1.gen.test \
+	int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
+	ioctl_evdev-v.gen.test ioctl_loop.gen.test \
+	ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
+	ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
+	ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
+	ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
+	iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
+	ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
+	kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
+	keyctl.gen.test kill.gen.test lchown.gen.test \
+	lchown32.gen.test link.gen.test linkat.gen.test \
+	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+	madvise.gen.test mbind.gen.test membarrier.gen.test \
+	memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
+	mlockall.gen.test mmap64.gen.test mmsg.gen.test \
+	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
+	mount.gen.test move_pages.gen.test mq.gen.test \
+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+	mq_sendrecv-write.gen.test msg_control.gen.test \
+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
+	nanosleep.gen.test net-icmp_filter.gen.test \
+	net-sockaddr.gen.test netlink_protocol.gen.test \
+	newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
+	oldlstat.gen.test oldstat.gen.test open.gen.test \
+	openat.gen.test osf_utimes.gen.test pause.gen.test \
+	perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+	perf_event_open_unabbrev.gen.test pipe2.gen.test \
+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
+	ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
+	preadv.gen.test preadv-pwritev.gen.test \
+	preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
+	process_vm_readv.gen.test process_vm_writev.gen.test \
+	pselect6.gen.test ptrace.gen.test pwritev.gen.test \
+	quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
+	quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
+	readdir.gen.test readlink.gen.test readlinkat.gen.test \
+	reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
+	recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
+	rename.gen.test renameat.gen.test renameat2.gen.test \
+	request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
+	rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
+	sched.gen.test sched_get_priority_mxx.gen.test \
+	sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
+	sched_xetattr.gen.test sched_xetparam.gen.test \
+	sched_xetscheduler.gen.test sched_yield.gen.test \
+	seccomp-filter.gen.test seccomp-filter-v.gen.test \
+	select.gen.test semop.gen.test sendfile.gen.test \
+	sendfile64.gen.test set_mempolicy.gen.test \
+	setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
+	setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
+	setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
+	sethostname.gen.test setns.gen.test setregid.gen.test \
+	setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
+	setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
+	setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
+	setuid32.gen.test shmxt.gen.test shutdown.gen.test \
+	siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
+	sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
+	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
+	statfs64.gen.test statx.gen.test swap.gen.test \
+	sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
+	sync.gen.test sync_file_range.gen.test \
+	sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
+	tee.gen.test time.gen.test timer_create.gen.test \
+	timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
+	times-fail.gen.test trace_fstat.gen.test \
+	trace_fstatfs.gen.test trace_lstat.gen.test \
+	trace_question.gen.test trace_stat.gen.test \
+	trace_stat_like.gen.test trace_statfs.gen.test \
+	trace_statfs_like.gen.test truncate.gen.test \
+	truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
+	umoven-illptr.gen.test umovestr-illptr.gen.test \
+	umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
+	unshare.gen.test userfaultfd.gen.test ustat.gen.test \
+	utime.gen.test utimensat.gen.test utimes.gen.test \
+	vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
+	wait4.gen.test wait4-v.gen.test waitid.gen.test \
+	waitid-v.gen.test waitpid.gen.test xattr.gen.test \
+	xattr-strings.gen.test xet_robust_list.gen.test \
+	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
+	xettimeofday.gen.test
 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_nsfs.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 \
@@ -2650,148 +3002,21 @@
 	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 = \
@@ -2804,7 +3029,7 @@
 	detach-sleeping.test \
 	detach-stopped.test \
 	filter-unavailable.test \
-	fork-f.test \
+	get_regs.test \
 	ksysent.test \
 	opipe.test \
 	options-syntax.test \
@@ -2820,7 +3045,6 @@
 	redirect-fds.test \
 	redirect.test \
 	restart_syscall.test \
-	signal_receive.test \
 	strace-C.test \
 	strace-E.test \
 	strace-S.test \
@@ -2832,77 +3056,94 @@
 	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))
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
 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)
+EXTRA_DIST = \
+	caps-abbrev.awk \
+	caps.awk \
+	clock.in \
+	count-f.expected \
+	eventfd.expected \
+	fadvise.h \
+	filter-unavailable.expected \
+	fstatat.c \
+	fstatx.c \
+	gen_pure_executables.sh \
+	gen_tests.in \
+	gen_tests.sh \
+	getresugid.c \
+	init.sh \
+	init_delete_module.h \
+	ioctl-v.sh \
+	ipc.sh \
+	ipc_msgbuf.expected \
+	ksysent.sed \
+	lstatx.c \
+	match.awk \
+	net.expected \
+	oldselect.expected \
+	pipe.expected \
+	process_vm_readv_writev.c \
+	pure_executables.list \
+	qual_fault-exit_group.expected \
+	qual_inject-error-signal.expected \
+	qual_inject-signal.expected \
+	quotactl.h \
+	regex.in \
+	run.sh \
+	sched.in \
+	scno_tampering.sh \
+	setfsugid.c \
+	setresugid.c \
+	setreugid.c \
+	setugid.c \
+	sigaction.awk \
+	sigaltstack.expected \
+	sockname.c \
+	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 \
+	trace_fstat.in \
+	trace_fstatfs.in \
+	trace_lstat.in \
+	trace_question.in \
+	trace_stat.in \
+	trace_stat_like.in \
+	trace_statfs.in \
+	trace_statfs_like.in \
+	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 \
+	xutimes.c \
+	$(TESTS)
 
 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+CLEANFILES = ksysent.h syscallent.i scno.h
 SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
 
@@ -2913,7 +3154,7 @@
 
 .SUFFIXES:
 .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/../scno.am $(am__configure_deps)
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -2934,7 +3175,7 @@
 	    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:
+$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3316,6 +3557,14 @@
 	@rm -f getpgrp$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
 
+getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
+	@rm -f getpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
+
+getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
+	@rm -f getppid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
+
 getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
 	@rm -f getrandom$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
@@ -3352,6 +3601,10 @@
 	@rm -f getsockname$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
 
+gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES) 
+	@rm -f gettid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
+
 getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
 	@rm -f getuid$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
@@ -3380,6 +3633,10 @@
 	@rm -f inotify_init1$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
 
+int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES) 
+	@rm -f int_0x80$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
+
 ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
 	@rm -f ioctl$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
@@ -3420,6 +3677,10 @@
 	@rm -f ioctl_mtd$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
 
+ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES) 
+	@rm -f ioctl_nsfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_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)
@@ -3548,6 +3809,10 @@
 	@rm -f lstat64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
 
+madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES) 
+	@rm -f madvise$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
+
 mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
 	@rm -f mbind$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
@@ -3744,6 +4009,10 @@
 	@rm -f openat$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
 
+osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) 
+	@rm -f osf_utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
+
 pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
 	@rm -f pause$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
@@ -3796,6 +4065,10 @@
 	@rm -f ppoll$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
 
+ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES) 
+	@rm -f ppoll-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_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)
@@ -4004,6 +4277,10 @@
 	@rm -f rt_sigqueueinfo$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
 
+rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
+	@rm -f rt_sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_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)
@@ -4204,6 +4481,10 @@
 	@rm -f sigreturn$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
 
+sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES) 
+	@rm -f sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
+
 sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
 	@rm -f sleep$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
@@ -4236,10 +4517,18 @@
 	@rm -f statfs64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
 
+statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES) 
+	@rm -f statx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
+
 swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
 	@rm -f swap$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
 
+sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES) 
+	@rm -f sxetmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
+
 symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
 	@rm -f symlink$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
@@ -4548,6 +4837,8 @@
 include ./$(DEPDIR)/getgroups32.Po
 include ./$(DEPDIR)/getpeername.Po
 include ./$(DEPDIR)/getpgrp.Po
+include ./$(DEPDIR)/getpid.Po
+include ./$(DEPDIR)/getppid.Po
 include ./$(DEPDIR)/getrandom.Po
 include ./$(DEPDIR)/getresgid.Po
 include ./$(DEPDIR)/getresgid32.Po
@@ -4557,6 +4848,7 @@
 include ./$(DEPDIR)/getrusage.Po
 include ./$(DEPDIR)/getsid.Po
 include ./$(DEPDIR)/getsockname.Po
+include ./$(DEPDIR)/gettid.Po
 include ./$(DEPDIR)/getuid.Po
 include ./$(DEPDIR)/getuid32.Po
 include ./$(DEPDIR)/getxxid.Po
@@ -4564,6 +4856,7 @@
 include ./$(DEPDIR)/init_module.Po
 include ./$(DEPDIR)/inotify.Po
 include ./$(DEPDIR)/inotify_init1.Po
+include ./$(DEPDIR)/int_0x80.Po
 include ./$(DEPDIR)/ioctl.Po
 include ./$(DEPDIR)/ioctl_block.Po
 include ./$(DEPDIR)/ioctl_dm-v.Po
@@ -4574,6 +4867,7 @@
 include ./$(DEPDIR)/ioctl_loop-v.Po
 include ./$(DEPDIR)/ioctl_loop.Po
 include ./$(DEPDIR)/ioctl_mtd.Po
+include ./$(DEPDIR)/ioctl_nsfs.Po
 include ./$(DEPDIR)/ioctl_rtc-v.Po
 include ./$(DEPDIR)/ioctl_rtc.Po
 include ./$(DEPDIR)/ioctl_scsi.Po
@@ -4603,6 +4897,7 @@
 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-get_sigset_size.Po
 include ./$(DEPDIR)/libtests_a-hexdump_strdup.Po
 include ./$(DEPDIR)/libtests_a-hexquote_strndup.Po
 include ./$(DEPDIR)/libtests_a-inode_of_sockfd.Po
@@ -4611,9 +4906,11 @@
 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-print_time.Po
 include ./$(DEPDIR)/libtests_a-printflags.Po
 include ./$(DEPDIR)/libtests_a-printxval.Po
 include ./$(DEPDIR)/libtests_a-signal2name.Po
+include ./$(DEPDIR)/libtests_a-skip_unavailable.Po
 include ./$(DEPDIR)/libtests_a-sprintrc.Po
 include ./$(DEPDIR)/libtests_a-tail_alloc.Po
 include ./$(DEPDIR)/libtests_a-tprintf.Po
@@ -4624,6 +4921,7 @@
 include ./$(DEPDIR)/lseek.Po
 include ./$(DEPDIR)/lstat.Po
 include ./$(DEPDIR)/lstat64-lstat64.Po
+include ./$(DEPDIR)/madvise.Po
 include ./$(DEPDIR)/mbind.Po
 include ./$(DEPDIR)/membarrier.Po
 include ./$(DEPDIR)/memfd_create.Po
@@ -4673,6 +4971,7 @@
 include ./$(DEPDIR)/oldstat.Po
 include ./$(DEPDIR)/open.Po
 include ./$(DEPDIR)/openat.Po
+include ./$(DEPDIR)/osf_utimes.Po
 include ./$(DEPDIR)/pause.Po
 include ./$(DEPDIR)/pc.Po
 include ./$(DEPDIR)/perf_event_open.Po
@@ -4685,6 +4984,7 @@
 include ./$(DEPDIR)/pkey_free.Po
 include ./$(DEPDIR)/pkey_mprotect.Po
 include ./$(DEPDIR)/poll.Po
+include ./$(DEPDIR)/ppoll-v.Po
 include ./$(DEPDIR)/ppoll.Po
 include ./$(DEPDIR)/prctl-arg2-intptr.Po
 include ./$(DEPDIR)/prctl-dumpable.Po
@@ -4738,6 +5038,7 @@
 include ./$(DEPDIR)/rt_sigpending.Po
 include ./$(DEPDIR)/rt_sigprocmask.Po
 include ./$(DEPDIR)/rt_sigqueueinfo.Po
+include ./$(DEPDIR)/rt_sigreturn.Po
 include ./$(DEPDIR)/rt_sigsuspend.Po
 include ./$(DEPDIR)/rt_sigtimedwait.Po
 include ./$(DEPDIR)/rt_tgsigqueueinfo.Po
@@ -4788,6 +5089,7 @@
 include ./$(DEPDIR)/signal_receive.Po
 include ./$(DEPDIR)/signalfd4.Po
 include ./$(DEPDIR)/sigreturn.Po
+include ./$(DEPDIR)/sigsuspend.Po
 include ./$(DEPDIR)/sleep.Po
 include ./$(DEPDIR)/socketcall.Po
 include ./$(DEPDIR)/splice.Po
@@ -4800,7 +5102,9 @@
 include ./$(DEPDIR)/stat64-stat64.Po
 include ./$(DEPDIR)/statfs-statfs.Po
 include ./$(DEPDIR)/statfs64.Po
+include ./$(DEPDIR)/statx.Po
 include ./$(DEPDIR)/swap.Po
+include ./$(DEPDIR)/sxetmask.Po
 include ./$(DEPDIR)/symlink.Po
 include ./$(DEPDIR)/symlinkat.Po
 include ./$(DEPDIR)/sync.Po
@@ -4925,6 +5229,20 @@
 #	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-get_sigset_size.o: get_sigset_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+#	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+
+libtests_a-get_sigset_size.obj: get_sigset_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+#	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_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
@@ -5037,6 +5355,20 @@
 #	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-print_time.o: print_time.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+#	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libtests_a-print_time.obj: print_time.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+#	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.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
@@ -5079,6 +5411,20 @@
 #	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-skip_unavailable.o: skip_unavailable.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+#	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+
+libtests_a-skip_unavailable.obj: skip_unavailable.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+#	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.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
@@ -5603,7 +5949,7 @@
 clean: clean-am
 
 clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	mostlyclean-am
+	clean-local mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -5675,19 +6021,982 @@
 .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 \
+	clean-local 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
 
 
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
 
 # Valgrind check
 #
@@ -5786,6 +7095,11 @@
 ksysent.$(OBJEXT): ksysent.h
 $(objects): scno.h
 
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
 syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
 	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
 
diff --git a/tests/Makefile.am b/tests/Makefile.am
deleted file mode 100644
index 311d3bb..0000000
--- a/tests/Makefile.am
+++ /dev/null
@@ -1,962 +0,0 @@
-# Automake input for strace tests.
-#
-# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
-# 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.
-
-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
-
-check_PROGRAMS = \
-	_newselect \
-	accept \
-	accept4 \
-	access \
-	acct \
-	add_key \
-	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 \
-	chroot \
-	clock_adjtime \
-	clock_nanosleep \
-	clock_xettime \
-	copy_file_range \
-	count-f \
-	creat \
-	delete_module \
-	dup \
-	dup2 \
-	dup3 \
-	epoll_create \
-	epoll_create1 \
-	epoll_ctl \
-	epoll_pwait \
-	epoll_wait \
-	erestartsys \
-	eventfd \
-	execve \
-	execve-v \
-	execveat \
-	execveat-v \
-	faccessat \
-	fadvise64 \
-	fadvise64_64 \
-	fallocate \
-	fanotify_init \
-	fanotify_mark \
-	fchdir \
-	fchmod \
-	fchmodat \
-	fchown \
-	fchown32 \
-	fchownat \
-	fcntl \
-	fcntl64 \
-	fdatasync \
-	file_handle \
-	file_ioctl \
-	filter-unavailable \
-	finit_module \
-	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 \
-	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 \
-	lchown \
-	lchown32 \
-	link \
-	linkat \
-	llseek \
-	lookup_dcookie \
-	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 \
-	mq_sendrecv \
-	mq_sendrecv-read \
-	mq_sendrecv-write \
-	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 \
-	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 \
-	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 \
-	setns \
-	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 \
-	threads-execve \
-	time \
-	timer_create \
-	timer_xettime \
-	timerfd_xettime \
-	times \
-	times-fail \
-	truncate \
-	truncate64 \
-	ugetrlimit \
-	uio \
-	umask \
-	umount \
-	umount2 \
-	umoven-illptr \
-	umovestr \
-	umovestr-illptr \
-	umovestr2 \
-	umovestr3 \
-	uname \
-	unix-pair-send-recv \
-	unix-pair-sendto-recvfrom \
-	unlink \
-	unlinkat \
-	unshare \
-	userfaultfd \
-	ustat \
-	utime \
-	utimensat \
-	utimes \
-	vfork-f \
-	vhangup \
-	vmsplice \
-	wait4 \
-	wait4-v \
-	waitid \
-	waitid-v \
-	waitpid \
-	xattr \
-	xattr-strings \
-	xet_robust_list \
-	xetitimer \
-	xetpgid \
-	xetpriority \
-	xettimeofday \
-	# end of check_PROGRAMS
-
-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
-
-if USE_LIBUNWIND
-LIBUNWIND_TESTS = strace-k.test
-else
-LIBUNWIND_TESTS =
-endif
-
-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
-
-TESTS = $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_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_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 \
-	     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)
-
-ksysent.h: $(srcdir)/ksysent.sed
-	echo '#include <asm/unistd.h>' | \
-		$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
-	LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
-	mv -f $@.t2 $@
-	rm -f $@.t1
-
-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
index 3a4d792..4a51782 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -17,6 +17,7 @@
 # Automake input for strace tests.
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -131,148 +132,38 @@
 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 \
+DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
+	$(srcdir)/../scno.am $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
 	$(top_srcdir)/test-driver
+check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
+	attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
+	attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
+	execve-v$(EXEEXT) execveat-v$(EXEEXT) \
+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
+	getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
+	ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
+	ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
+	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
+	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
+	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
+	quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
+	seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
+	signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
+	threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
+	wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
 subdir = tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
@@ -300,6 +191,7 @@
 	libtests_a-error_msg.$(OBJEXT) \
 	libtests_a-fill_memory.$(OBJEXT) \
 	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-get_sigset_size.$(OBJEXT) \
 	libtests_a-hexdump_strdup.$(OBJEXT) \
 	libtests_a-hexquote_strndup.$(OBJEXT) \
 	libtests_a-inode_of_sockfd.$(OBJEXT) \
@@ -308,10 +200,130 @@
 	libtests_a-overflowuid.$(OBJEXT) \
 	libtests_a-pipe_maxfd.$(OBJEXT) \
 	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-print_time.$(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-signal2name.$(OBJEXT) \
+	libtests_a-skip_unavailable.$(OBJEXT) \
+	libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
+	libtests_a-tprintf.$(OBJEXT)
 libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
+	chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(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) \
+	execveat$(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) finit_module$(EXEEXT) flock$(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) getpid$(EXEEXT) getppid$(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_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
+	ioctl_mtd$(EXEEXT) ioctl_rtc$(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) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(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_name$(EXEEXT) \
+	mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
+	mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
+	mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
+	msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(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_protocol$(EXEEXT) newfstatat$(EXEEXT) \
+	old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
+	oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
+	openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
+	perf_event_open$(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-securebits$(EXEEXT) \
+	prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
+	pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
+	process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
+	pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
+	renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
+	rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
+	rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(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) \
+	seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
+	sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(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) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
+	stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
+	statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
+	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
+	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(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) unlink$(EXEEXT) unlinkat$(EXEEXT) \
+	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
+	utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
+	vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
+	waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
 _newselect_SOURCES = _newselect.c
 _newselect_OBJECTS = _newselect.$(OBJEXT)
 _newselect_LDADD = $(LDADD)
@@ -668,6 +680,14 @@
 getpgrp_OBJECTS = getpgrp.$(OBJEXT)
 getpgrp_LDADD = $(LDADD)
 getpgrp_DEPENDENCIES = libtests.a
+getpid_SOURCES = getpid.c
+getpid_OBJECTS = getpid.$(OBJEXT)
+getpid_LDADD = $(LDADD)
+getpid_DEPENDENCIES = libtests.a
+getppid_SOURCES = getppid.c
+getppid_OBJECTS = getppid.$(OBJEXT)
+getppid_LDADD = $(LDADD)
+getppid_DEPENDENCIES = libtests.a
 getrandom_SOURCES = getrandom.c
 getrandom_OBJECTS = getrandom.$(OBJEXT)
 getrandom_LDADD = $(LDADD)
@@ -704,6 +724,10 @@
 getsockname_OBJECTS = getsockname.$(OBJEXT)
 getsockname_LDADD = $(LDADD)
 getsockname_DEPENDENCIES = libtests.a
+gettid_SOURCES = gettid.c
+gettid_OBJECTS = gettid.$(OBJEXT)
+gettid_LDADD = $(LDADD)
+gettid_DEPENDENCIES = libtests.a
 getuid_SOURCES = getuid.c
 getuid_OBJECTS = getuid.$(OBJEXT)
 getuid_LDADD = $(LDADD)
@@ -732,6 +756,10 @@
 inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
 inotify_init1_LDADD = $(LDADD)
 inotify_init1_DEPENDENCIES = libtests.a
+int_0x80_SOURCES = int_0x80.c
+int_0x80_OBJECTS = int_0x80.$(OBJEXT)
+int_0x80_LDADD = $(LDADD)
+int_0x80_DEPENDENCIES = libtests.a
 ioctl_SOURCES = ioctl.c
 ioctl_OBJECTS = ioctl.$(OBJEXT)
 ioctl_LDADD = $(LDADD)
@@ -772,6 +800,10 @@
 ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
 ioctl_mtd_LDADD = $(LDADD)
 ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_nsfs_SOURCES = ioctl_nsfs.c
+ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
+ioctl_nsfs_LDADD = $(LDADD)
+ioctl_nsfs_DEPENDENCIES = libtests.a
 ioctl_rtc_SOURCES = ioctl_rtc.c
 ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
 ioctl_rtc_LDADD = $(LDADD)
@@ -900,6 +932,10 @@
 lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
 lstat64_LDADD = $(LDADD)
 lstat64_DEPENDENCIES = libtests.a
+madvise_SOURCES = madvise.c
+madvise_OBJECTS = madvise.$(OBJEXT)
+madvise_LDADD = $(LDADD)
+madvise_DEPENDENCIES = libtests.a
 mbind_SOURCES = mbind.c
 mbind_OBJECTS = mbind.$(OBJEXT)
 mbind_LDADD = $(LDADD)
@@ -1092,6 +1128,10 @@
 openat_OBJECTS = openat.$(OBJEXT)
 openat_LDADD = $(LDADD)
 openat_DEPENDENCIES = libtests.a
+osf_utimes_SOURCES = osf_utimes.c
+osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
+osf_utimes_LDADD = $(LDADD)
+osf_utimes_DEPENDENCIES = libtests.a
 pause_SOURCES = pause.c
 pause_OBJECTS = pause.$(OBJEXT)
 pause_LDADD = $(LDADD)
@@ -1145,6 +1185,10 @@
 ppoll_OBJECTS = ppoll.$(OBJEXT)
 ppoll_LDADD = $(LDADD)
 ppoll_DEPENDENCIES = libtests.a
+ppoll_v_SOURCES = ppoll-v.c
+ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
+ppoll_v_LDADD = $(LDADD)
+ppoll_v_DEPENDENCIES = libtests.a
 prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
 prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
 prctl_arg2_intptr_LDADD = $(LDADD)
@@ -1354,6 +1398,10 @@
 rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
 rt_sigqueueinfo_LDADD = $(LDADD)
 rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigreturn_SOURCES = rt_sigreturn.c
+rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
+rt_sigreturn_LDADD = $(LDADD)
+rt_sigreturn_DEPENDENCIES = libtests.a
 rt_sigsuspend_SOURCES = rt_sigsuspend.c
 rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
 rt_sigsuspend_LDADD = $(LDADD)
@@ -1554,6 +1602,10 @@
 sigreturn_OBJECTS = sigreturn.$(OBJEXT)
 sigreturn_LDADD = $(LDADD)
 sigreturn_DEPENDENCIES = libtests.a
+sigsuspend_SOURCES = sigsuspend.c
+sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
+sigsuspend_LDADD = $(LDADD)
+sigsuspend_DEPENDENCIES = libtests.a
 sleep_SOURCES = sleep.c
 sleep_OBJECTS = sleep.$(OBJEXT)
 sleep_LDADD = $(LDADD)
@@ -1588,10 +1640,18 @@
 statfs64_OBJECTS = statfs64.$(OBJEXT)
 statfs64_LDADD = $(LDADD)
 statfs64_DEPENDENCIES = libtests.a
+statx_SOURCES = statx.c
+statx_OBJECTS = statx.$(OBJEXT)
+statx_LDADD = $(LDADD)
+statx_DEPENDENCIES = libtests.a
 swap_SOURCES = swap.c
 swap_OBJECTS = swap.$(OBJEXT)
 swap_LDADD = $(LDADD)
 swap_DEPENDENCIES = libtests.a
+sxetmask_SOURCES = sxetmask.c
+sxetmask_OBJECTS = sxetmask.$(OBJEXT)
+sxetmask_LDADD = $(LDADD)
+sxetmask_DEPENDENCIES = libtests.a
 symlink_SOURCES = symlink.c
 symlink_OBJECTS = symlink.$(OBJEXT)
 symlink_LDADD = $(LDADD)
@@ -1853,35 +1913,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1894,21 +1955,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -1938,35 +2000,36 @@
 	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 \
+	getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
+	getresgid.c getresgid32.c getresuid.c getresuid32.c \
+	getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
+	getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
+	inotify.c inotify_init1.c int_0x80.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 \
+	ioctl_nsfs.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 \
+	lseek.c lstat.c lstat64.c madvise.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 osf_utimes.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 \
+	ppoll-v.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 \
@@ -1979,21 +2042,22 @@
 	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 \
+	rt_sigreturn.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 \
+	sigsuspend.c sleep.c socketcall.c splice.c \
+	$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
+	statx.c swap.c sxetmask.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 \
@@ -2214,7 +2278,7 @@
   bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check recheck
-@USE_LIBUNWIND_TRUE@am__EXEEXT_1 = strace-k.test
+@USE_LIBUNWIND_TRUE@am__EXEEXT_2 = strace-k.test
 TEST_SUITE_LOG = test-suite.log
 TEST_EXTENSIONS = @EXEEXT@ .test
 am__test_logs1 = $(TESTS:=.log)
@@ -2253,6 +2317,7 @@
 CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
 CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
 CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+COPYRIGHT_YEAR = @COPYRIGHT_YEAR@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
@@ -2389,6 +2454,7 @@
 	error_msg.c \
 	fill_memory.c \
 	get_page_size.c \
+	get_sigset_size.c \
 	hexdump_strdup.c \
 	hexquote_strndup.c \
 	inode_of_sockfd.c \
@@ -2397,9 +2463,11 @@
 	overflowuid.c \
 	pipe_maxfd.c \
 	print_quoted_string.c \
+	print_time.c \
 	printflags.c \
 	printxval.c \
 	signal2name.c \
+	skip_unavailable.c \
 	sprintrc.c \
 	tail_alloc.c \
 	tests.h \
@@ -2409,6 +2477,340 @@
 libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 check_LIBRARIES = libtests.a
 LDADD = libtests.a
+
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+  _newselect \
+  accept \
+  accept4 \
+  access \
+  acct \
+  add_key \
+  adjtimex \
+  aio \
+  alarm \
+  bpf \
+  brk \
+  btrfs \
+  caps \
+  chmod \
+  chown \
+  chown32 \
+  chroot \
+  clock_adjtime \
+  clock_nanosleep \
+  clock_xettime \
+  copy_file_range \
+  creat \
+  delete_module \
+  dup \
+  dup2 \
+  dup3 \
+  epoll_create \
+  epoll_create1 \
+  epoll_ctl \
+  epoll_pwait \
+  epoll_wait \
+  erestartsys \
+  eventfd \
+  execve \
+  execveat \
+  faccessat \
+  fadvise64 \
+  fadvise64_64 \
+  fallocate \
+  fanotify_init \
+  fanotify_mark \
+  fchdir \
+  fchmod \
+  fchmodat \
+  fchown \
+  fchown32 \
+  fchownat \
+  fcntl \
+  fcntl64 \
+  fdatasync \
+  file_handle \
+  file_ioctl \
+  finit_module \
+  flock \
+  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 \
+  getpid \
+  getppid \
+  getrandom \
+  getresgid \
+  getresgid32 \
+  getresuid \
+  getresuid32 \
+  getrlimit \
+  getrusage \
+  getsid \
+  getsockname \
+  getuid \
+  getuid32 \
+  getxxid \
+  inet-cmsg \
+  init_module \
+  inotify \
+  inotify_init1 \
+  ioctl \
+  ioctl_block \
+  ioctl_dm \
+  ioctl_evdev \
+  ioctl_loop \
+  ioctl_mtd \
+  ioctl_rtc \
+  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 \
+  lchown \
+  lchown32 \
+  link \
+  linkat \
+  llseek \
+  lookup_dcookie \
+  lseek \
+  lstat \
+  lstat64 \
+  madvise \
+  mbind \
+  membarrier \
+  memfd_create \
+  migrate_pages \
+  mincore \
+  mkdir \
+  mkdirat \
+  mknod \
+  mknodat \
+  mlock \
+  mlock2 \
+  mlockall \
+  mmap \
+  mmap64 \
+  mmsg \
+  mmsg_name \
+  mount \
+  move_pages \
+  mq \
+  mq_sendrecv \
+  mq_sendrecv-read \
+  mq_sendrecv-write \
+  msg_control \
+  msg_name \
+  munlockall \
+  nanosleep \
+  net-icmp_filter \
+  net-sockaddr \
+  net-y-unix \
+  net-yy-inet \
+  net-yy-netlink \
+  net-yy-unix \
+  netlink_protocol \
+  newfstatat \
+  old_mmap \
+  oldfstat \
+  oldlstat \
+  oldselect \
+  oldstat \
+  open \
+  openat \
+  osf_utimes \
+  pause \
+  perf_event_open \
+  personality \
+  pipe \
+  pipe2 \
+  pkey_alloc \
+  pkey_free \
+  pkey_mprotect \
+  poll \
+  ppoll \
+  prctl-arg2-intptr \
+  prctl-dumpable \
+  prctl-name \
+  prctl-no-args \
+  prctl-pdeathsig \
+  prctl-securebits \
+  prctl-tid_address \
+  prctl-tsc \
+  pread64-pwrite64 \
+  preadv \
+  preadv-pwritev \
+  preadv2-pwritev2 \
+  printstr \
+  prlimit64 \
+  process_vm_readv \
+  process_vm_writev \
+  pselect6 \
+  ptrace \
+  pwritev \
+  quotactl \
+  quotactl-xfs \
+  read-write \
+  readahead \
+  readdir \
+  readlink \
+  readlinkat \
+  readv \
+  reboot \
+  recvfrom \
+  recvmmsg-timeout \
+  recvmsg \
+  remap_file_pages \
+  rename \
+  renameat \
+  renameat2 \
+  request_key \
+  rmdir \
+  rt_sigpending \
+  rt_sigprocmask \
+  rt_sigqueueinfo \
+  rt_sigreturn \
+  rt_sigsuspend \
+  rt_sigtimedwait \
+  rt_tgsigqueueinfo \
+  sched_get_priority_mxx \
+  sched_rr_get_interval \
+  sched_xetaffinity \
+  sched_xetattr \
+  sched_xetparam \
+  sched_xetscheduler \
+  sched_yield \
+  seccomp-filter \
+  select \
+  semop \
+  sendfile \
+  sendfile64 \
+  set_mempolicy \
+  setdomainname \
+  setfsgid \
+  setfsgid32 \
+  setfsuid \
+  setfsuid32 \
+  setgid \
+  setgid32 \
+  setgroups \
+  setgroups32 \
+  sethostname \
+  setns \
+  setregid \
+  setregid32 \
+  setresgid \
+  setresgid32 \
+  setresuid \
+  setresuid32 \
+  setreuid \
+  setreuid32 \
+  setrlimit \
+  setuid \
+  setuid32 \
+  shmxt \
+  shutdown \
+  sigaction \
+  sigaltstack \
+  siginfo \
+  signalfd4 \
+  sigreturn \
+  sigsuspend \
+  socketcall \
+  splice \
+  stat \
+  stat64 \
+  statfs \
+  statfs64 \
+  statx \
+  swap \
+  sxetmask \
+  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 \
+  umoven-illptr \
+  umovestr \
+  umovestr-illptr \
+  umovestr2 \
+  umovestr3 \
+  uname \
+  unlink \
+  unlinkat \
+  unshare \
+  userfaultfd \
+  ustat \
+  utime \
+  utimensat \
+  utimes \
+  vhangup \
+  vmsplice \
+  wait4 \
+  waitid \
+  waitpid \
+  xattr \
+  xattr-strings \
+  xet_robust_list \
+  xetitimer \
+  xetpgid \
+  xetpriority \
+  xettimeofday \
+  #
+
 attach_f_p_LDADD = -lrt -lpthread $(LDADD)
 clock_xettime_LDADD = -lrt $(LDADD)
 count_f_LDADD = -lpthread $(LDADD)
@@ -2437,209 +2839,159 @@
 stack_fcall_SOURCES = stack-fcall.c \
 	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
 
+
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
+	access.gen.test acct.gen.test add_key.gen.test \
+	adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
+	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
+	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
+	clock_nanosleep.gen.test clock_xettime.gen.test \
+	copy_file_range.gen.test creat.gen.test delete_module.gen.test \
+	dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
+	epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
+	epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
+	execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
+	fallocate.gen.test fanotify_init.gen.test \
+	fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
+	fchmodat.gen.test fchown.gen.test fchown32.gen.test \
+	fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
+	finit_module.gen.test flock.gen.test fork-f.gen.test \
+	fstat.gen.test fstat64.gen.test fstatat64.gen.test \
+	fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
+	ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
+	get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
+	getdents.gen.test getdents64.gen.test getegid.gen.test \
+	getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
+	getgid.gen.test getgid32.gen.test getgroups.gen.test \
+	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
+	getpid.gen.test getppid.gen.test getrandom.gen.test \
+	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
+	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
+	getsid.gen.test getsockname.gen.test gettid.gen.test \
+	getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
+	init_module.gen.test inotify.gen.test inotify_init1.gen.test \
+	int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
+	ioctl_evdev-v.gen.test ioctl_loop.gen.test \
+	ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
+	ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
+	ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
+	ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
+	iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
+	ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
+	kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
+	keyctl.gen.test kill.gen.test lchown.gen.test \
+	lchown32.gen.test link.gen.test linkat.gen.test \
+	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+	madvise.gen.test mbind.gen.test membarrier.gen.test \
+	memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
+	mlockall.gen.test mmap64.gen.test mmsg.gen.test \
+	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
+	mount.gen.test move_pages.gen.test mq.gen.test \
+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
+	mq_sendrecv-write.gen.test msg_control.gen.test \
+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
+	nanosleep.gen.test net-icmp_filter.gen.test \
+	net-sockaddr.gen.test netlink_protocol.gen.test \
+	newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
+	oldlstat.gen.test oldstat.gen.test open.gen.test \
+	openat.gen.test osf_utimes.gen.test pause.gen.test \
+	perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+	perf_event_open_unabbrev.gen.test pipe2.gen.test \
+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
+	ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
+	preadv.gen.test preadv-pwritev.gen.test \
+	preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
+	process_vm_readv.gen.test process_vm_writev.gen.test \
+	pselect6.gen.test ptrace.gen.test pwritev.gen.test \
+	quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
+	quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
+	readdir.gen.test readlink.gen.test readlinkat.gen.test \
+	reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
+	recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
+	rename.gen.test renameat.gen.test renameat2.gen.test \
+	request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
+	rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
+	sched.gen.test sched_get_priority_mxx.gen.test \
+	sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
+	sched_xetattr.gen.test sched_xetparam.gen.test \
+	sched_xetscheduler.gen.test sched_yield.gen.test \
+	seccomp-filter.gen.test seccomp-filter-v.gen.test \
+	select.gen.test semop.gen.test sendfile.gen.test \
+	sendfile64.gen.test set_mempolicy.gen.test \
+	setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
+	setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
+	setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
+	sethostname.gen.test setns.gen.test setregid.gen.test \
+	setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
+	setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
+	setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
+	setuid32.gen.test shmxt.gen.test shutdown.gen.test \
+	siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
+	sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
+	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
+	statfs64.gen.test statx.gen.test swap.gen.test \
+	sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
+	sync.gen.test sync_file_range.gen.test \
+	sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
+	tee.gen.test time.gen.test timer_create.gen.test \
+	timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
+	times-fail.gen.test trace_fstat.gen.test \
+	trace_fstatfs.gen.test trace_lstat.gen.test \
+	trace_question.gen.test trace_stat.gen.test \
+	trace_stat_like.gen.test trace_statfs.gen.test \
+	trace_statfs_like.gen.test truncate.gen.test \
+	truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
+	umoven-illptr.gen.test umovestr-illptr.gen.test \
+	umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
+	unshare.gen.test userfaultfd.gen.test ustat.gen.test \
+	utime.gen.test utimensat.gen.test utimes.gen.test \
+	vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
+	wait4.gen.test wait4-v.gen.test waitid.gen.test \
+	waitid-v.gen.test waitpid.gen.test xattr.gen.test \
+	xattr-strings.gen.test xet_robust_list.gen.test \
+	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
+	xettimeofday.gen.test
 @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_nsfs.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 \
@@ -2650,148 +3002,21 @@
 	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 = \
@@ -2804,7 +3029,7 @@
 	detach-sleeping.test \
 	detach-stopped.test \
 	filter-unavailable.test \
-	fork-f.test \
+	get_regs.test \
 	ksysent.test \
 	opipe.test \
 	options-syntax.test \
@@ -2820,7 +3045,6 @@
 	redirect-fds.test \
 	redirect.test \
 	restart_syscall.test \
-	signal_receive.test \
 	strace-C.test \
 	strace-E.test \
 	strace-S.test \
@@ -2832,77 +3056,94 @@
 	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))
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
 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)
+EXTRA_DIST = \
+	caps-abbrev.awk \
+	caps.awk \
+	clock.in \
+	count-f.expected \
+	eventfd.expected \
+	fadvise.h \
+	filter-unavailable.expected \
+	fstatat.c \
+	fstatx.c \
+	gen_pure_executables.sh \
+	gen_tests.in \
+	gen_tests.sh \
+	getresugid.c \
+	init.sh \
+	init_delete_module.h \
+	ioctl-v.sh \
+	ipc.sh \
+	ipc_msgbuf.expected \
+	ksysent.sed \
+	lstatx.c \
+	match.awk \
+	net.expected \
+	oldselect.expected \
+	pipe.expected \
+	process_vm_readv_writev.c \
+	pure_executables.list \
+	qual_fault-exit_group.expected \
+	qual_inject-error-signal.expected \
+	qual_inject-signal.expected \
+	quotactl.h \
+	regex.in \
+	run.sh \
+	sched.in \
+	scno_tampering.sh \
+	setfsugid.c \
+	setresugid.c \
+	setreugid.c \
+	setugid.c \
+	sigaction.awk \
+	sigaltstack.expected \
+	sockname.c \
+	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 \
+	trace_fstat.in \
+	trace_fstatfs.in \
+	trace_lstat.in \
+	trace_question.in \
+	trace_stat.in \
+	trace_stat_like.in \
+	trace_statfs.in \
+	trace_statfs_like.in \
+	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 \
+	xutimes.c \
+	$(TESTS)
 
 objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+CLEANFILES = ksysent.h syscallent.i scno.h
 SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
 
@@ -2913,7 +3154,7 @@
 
 .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)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -2934,7 +3175,7 @@
 	    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:
+$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -3316,6 +3557,14 @@
 	@rm -f getpgrp$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
 
+getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
+	@rm -f getpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
+
+getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
+	@rm -f getppid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
+
 getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
 	@rm -f getrandom$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
@@ -3352,6 +3601,10 @@
 	@rm -f getsockname$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
 
+gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES) 
+	@rm -f gettid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
+
 getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
 	@rm -f getuid$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
@@ -3380,6 +3633,10 @@
 	@rm -f inotify_init1$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
 
+int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES) 
+	@rm -f int_0x80$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
+
 ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
 	@rm -f ioctl$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
@@ -3420,6 +3677,10 @@
 	@rm -f ioctl_mtd$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
 
+ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES) 
+	@rm -f ioctl_nsfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_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)
@@ -3548,6 +3809,10 @@
 	@rm -f lstat64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
 
+madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES) 
+	@rm -f madvise$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
+
 mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
 	@rm -f mbind$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
@@ -3744,6 +4009,10 @@
 	@rm -f openat$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
 
+osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES) 
+	@rm -f osf_utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
+
 pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
 	@rm -f pause$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
@@ -3796,6 +4065,10 @@
 	@rm -f ppoll$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
 
+ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES) 
+	@rm -f ppoll-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_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)
@@ -4004,6 +4277,10 @@
 	@rm -f rt_sigqueueinfo$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
 
+rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
+	@rm -f rt_sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_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)
@@ -4204,6 +4481,10 @@
 	@rm -f sigreturn$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
 
+sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES) 
+	@rm -f sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
+
 sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
 	@rm -f sleep$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
@@ -4236,10 +4517,18 @@
 	@rm -f statfs64$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
 
+statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES) 
+	@rm -f statx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
+
 swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
 	@rm -f swap$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
 
+sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES) 
+	@rm -f sxetmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
+
 symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
 	@rm -f symlink$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
@@ -4548,6 +4837,8 @@
 @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)/getpid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.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@
@@ -4557,6 +4848,7 @@
 @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)/gettid.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@
@@ -4564,6 +4856,7 @@
 @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)/int_0x80.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@
@@ -4574,6 +4867,7 @@
 @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_nsfs.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@
@@ -4603,6 +4897,7 @@
 @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-get_sigset_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@
@@ -4611,9 +4906,11 @@
 @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-print_time.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-skip_unavailable.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@
@@ -4624,6 +4921,7 @@
 @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)/madvise.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@
@@ -4673,6 +4971,7 @@
 @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)/osf_utimes.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@
@@ -4685,6 +4984,7 @@
 @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-v.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@
@@ -4738,6 +5038,7 @@
 @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_sigreturn.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@
@@ -4788,6 +5089,7 @@
 @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)/sigsuspend.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@
@@ -4800,7 +5102,9 @@
 @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)/statx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sxetmask.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@
@@ -4925,6 +5229,20 @@
 @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-get_sigset_size.o: get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
+
+libtests_a-get_sigset_size.obj: get_sigset_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_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_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_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
@@ -5037,6 +5355,20 @@
 @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-print_time.o: print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
+
+libtests_a-print_time.obj: print_time.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_time.c' object='libtests_a-print_time.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_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.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
@@ -5079,6 +5411,20 @@
 @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-skip_unavailable.o: skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
+
+libtests_a-skip_unavailable.obj: skip_unavailable.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.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-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.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
@@ -5603,7 +5949,7 @@
 clean: clean-am
 
 clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	mostlyclean-am
+	clean-local mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -5675,19 +6021,982 @@
 .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 \
+	clean-local 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
 
 
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+	$(AM_V_GEN) $^ $@
+
 @VALGRIND_CHECK_RULES@
 
 ksysent.h: $(srcdir)/ksysent.sed
@@ -5700,6 +7009,11 @@
 ksysent.$(OBJEXT): ksysent.h
 $(objects): scno.h
 
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+	-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
 syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
 	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
 
diff --git a/tests/_newselect.gen.test b/tests/_newselect.gen.test
new file mode 100755
index 0000000..490abe4
--- /dev/null
+++ b/tests/_newselect.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (_newselect ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/_newselect.test b/tests/_newselect.test
deleted file mode 100755
index 3371d4d..0000000
--- a/tests/_newselect.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check _newselect syscall decoding.
-
-. "${srcdir=.}/select.test"
diff --git a/tests/accept.gen.test b/tests/accept.gen.test
new file mode 100755
index 0000000..3ebba3b
--- /dev/null
+++ b/tests/accept.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (accept -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests/accept.test b/tests/accept.test
deleted file mode 100755
index b5e0790..0000000
--- a/tests/accept.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of accept syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests/accept4.gen.test b/tests/accept4.gen.test
new file mode 100755
index 0000000..5bd7fe6
--- /dev/null
+++ b/tests/accept4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (accept4 -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests/accept4.test b/tests/accept4.test
deleted file mode 100755
index 722f25a..0000000
--- a/tests/accept4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of accept4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests/access.c b/tests/access.c
index e6f169b..4420ba3 100644
--- a/tests/access.c
+++ b/tests/access.c
@@ -19,6 +19,7 @@
 	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests/access.gen.test b/tests/access.gen.test
new file mode 100755
index 0000000..7d80e6f
--- /dev/null
+++ b/tests/access.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (access -a30 -P access_sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -P access_sample
diff --git a/tests/access.test b/tests/access.test
deleted file mode 100755
index 3ab2eb4..0000000
--- a/tests/access.test
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# Check access syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-check_prog grep
-run_prog > /dev/null
-run_strace -eaccess -a30 $args > "$EXP"
-
-# Filter out access() calls made by libc.
-grep -F access_sample < "$LOG" > "$OUT"
-match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests/acct.gen.test b/tests/acct.gen.test
new file mode 100755
index 0000000..fa14e85
--- /dev/null
+++ b/tests/acct.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (acct -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests/acct.test b/tests/acct.test
deleted file mode 100755
index b9bca75..0000000
--- a/tests/acct.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check acct syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests/add_key.gen.test b/tests/add_key.gen.test
new file mode 100755
index 0000000..d6ffbc8
--- /dev/null
+++ b/tests/add_key.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (add_key -a30 -s12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -s12
diff --git a/tests/add_key.test b/tests/add_key.test
deleted file mode 100755
index eadd8c2..0000000
--- a/tests/add_key.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of add_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -s12
diff --git a/tests/adjtimex.c b/tests/adjtimex.c
index 1638b53..4d68ea1 100644
--- a/tests/adjtimex.c
+++ b/tests/adjtimex.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of adjtimex strace test.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,38 +33,46 @@
 #include <string.h>
 #include <sys/timex.h>
 
+#include "xlat.h"
+#include "xlat/adjtimex_state.h"
+#include "xlat/adjtimex_status.h"
+
 int
 main(void)
 {
-	adjtimex(NULL);
-	printf("adjtimex\\(NULL\\) = -1 EFAULT \\(%m\\)\n");
+	int state = adjtimex(NULL);
+	printf("adjtimex(NULL) = %s\n", sprintrc(state));
 
-	struct timex * const tx = tail_alloc(sizeof(*tx));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timex, tx);
 	memset(tx, 0, sizeof(*tx));
 
-	int state = adjtimex(tx);
+	state = adjtimex(tx);
 	if (state < 0)
 		perror_msg_and_skip("adjtimex");
 
-	printf("adjtimex\\(\\{modes=0, offset=%jd, freq=%jd, maxerror=%jd"
-	       ", esterror=%jd, status=%s, constant=%jd, precision=%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
-	       "\\}\\) = %d \\(TIME_[A-Z]+\\)\n",
+	printf("adjtimex({modes=0, offset=%jd, freq=%jd, maxerror=%jd"
+	       ", esterror=%jd, status=",
 	       (intmax_t) tx->offset,
 	       (intmax_t) tx->freq,
 	       (intmax_t) tx->maxerror,
-	       (intmax_t) tx->esterror,
-	       tx->status ? "STA_[A-Z]+(\\|STA_[A-Z]+)*" : "0",
+	       (intmax_t) tx->esterror);
+	if (tx->status)
+		printflags(adjtimex_status, (unsigned int) tx->status, NULL);
+	else
+		putchar('0');
+	printf(", constant=%jd, precision=%jd"
+	       ", tolerance=%jd, time={tv_sec=%lld, tv_usec=%llu}, 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
+	       "}) = %d (",
 	       (intmax_t) tx->constant,
 	       (intmax_t) tx->precision,
 	       (intmax_t) tx->tolerance,
-	       (intmax_t) tx->time.tv_sec,
-	       (intmax_t) tx->time.tv_usec,
+	       (long long) tx->time.tv_sec,
+	       zero_extend_signed_to_ull(tx->time.tv_usec),
 	       (intmax_t) tx->tick,
 	       (intmax_t) tx->ppsfreq,
 	       (intmax_t) tx->jitter,
@@ -78,6 +86,9 @@
 	       tx->tai,
 #endif
 	       state);
+	printxval(adjtimex_state, (unsigned int) state, NULL);
+	puts(")");
 
+	puts("+++ exited with 0 +++");
 	return 0;
 }
diff --git a/tests/adjtimex.gen.test b/tests/adjtimex.gen.test
new file mode 100755
index 0000000..8db59f2
--- /dev/null
+++ b/tests/adjtimex.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (adjtimex -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests/adjtimex.test b/tests/adjtimex.test
deleted file mode 100755
index 0140550..0000000
--- a/tests/adjtimex.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check adjtimex syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a 15 -e adjtimex $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
diff --git a/tests/aio.c b/tests/aio.c
index 0766d23..677a02b 100644
--- a/tests/aio.c
+++ b/tests/aio.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -198,15 +199,14 @@
 	};
 	const long *cbvs2 = tail_memdup(proto_cbvs2, sizeof(proto_cbvs2));
 
-	unsigned long *ctx = tail_alloc(sizeof(unsigned long));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned long, ctx);
 	*ctx = 0;
 
 	const unsigned int nr = ARRAY_SIZE(proto_cb);
 	const unsigned long lnr = (unsigned long) (0xdeadbeef00000000ULL | nr);
 
 	const struct io_event *ev = tail_alloc(nr * sizeof(struct io_event));
-	const struct timespec proto_ts = { .tv_nsec = 123456789 };
-	const struct timespec *ts = tail_memdup(&proto_ts, sizeof(proto_ts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
 
 	(void) close(0);
 	if (open("/dev/zero", O_RDONLY))
@@ -263,6 +263,24 @@
 	       bogus_ctx, (long) 0xca7faceddeadf00dLL,
 	       (long) 0xba5e1e505ca571e0LL, ts + 1, sprintrc(rc));
 
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	rc = syscall(__NR_io_getevents, bogus_ctx, 0, 0, 0, ts);
+	printf("io_getevents(%#lx, 0, 0, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       bogus_ctx, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	rc = syscall(__NR_io_getevents, bogus_ctx, 0, 0, 0, ts);
+	printf("io_getevents(%#lx, 0, 0, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       bogus_ctx, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = 0;
+	ts->tv_nsec = 123456789;
 	rc = syscall(__NR_io_getevents, *ctx, nr, nr + 1, ev, ts);
 	printf("io_getevents(%#lx, %ld, %ld, ["
 	       "{data=%#" PRI__x64 ", obj=%p, res=%u, res2=0}, "
diff --git a/tests/aio.gen.test b/tests/aio.gen.test
new file mode 100755
index 0000000..8c8cbd5
--- /dev/null
+++ b/tests/aio.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (aio -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy
diff --git a/tests/aio.test b/tests/aio.test
deleted file mode 100755
index 2ba90da..0000000
--- a/tests/aio.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check io_* syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-syscalls=io_setup,io_submit,io_getevents,io_cancel,io_destroy
-run_strace_match_diff -a14 -e trace=$syscalls
diff --git a/tests/alarm.gen.test b/tests/alarm.gen.test
new file mode 100755
index 0000000..ba1dea8
--- /dev/null
+++ b/tests/alarm.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (alarm -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/alarm.test b/tests/alarm.test
deleted file mode 100755
index 267b223..0000000
--- a/tests/alarm.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check alarm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests/attach-f-p-cmd.c b/tests/attach-f-p-cmd.c
index 77594be..1e9ed99 100644
--- a/tests/attach-f-p-cmd.c
+++ b/tests/attach-f-p-cmd.c
@@ -2,6 +2,7 @@
  * This file is part of attach-f-p strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,6 +35,8 @@
 int
 main(void)
 {
+	skip_if_unavailable("/proc/self/task/");
+
 	static const char dir[] = "attach-f-p.test cmd";
 	pid_t pid = getpid();
 	int rc = chdir(dir);
diff --git a/tests/attach-f-p.test b/tests/attach-f-p.test
index f417074..368c775 100755
--- a/tests/attach-f-p.test
+++ b/tests/attach-f-p.test
@@ -3,6 +3,7 @@
 # Check that -f -p attaches to threads properly.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,22 +30,17 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -f -p is implemented using /proc/$pid/task/
-[ -d /proc/self/task/ ] ||
-	framework_skip_ '/proc/self/task/ is not available'
 run_prog_skip_if_failed \
 	kill -0 $$
-run_prog ./attach-f-p-cmd > /dev/null
+run_prog ../attach-f-p-cmd > /dev/null
 
-rm -f "$OUT"
-./set_ptracer_any sh -c "exec ./attach-f-p >> $OUT" > /dev/null &
+../set_ptracer_any sh -c "exec ../attach-f-p >> $EXP" > /dev/null &
 tracee_pid=$!
 
-while ! [ -s "$OUT" ]; do
+while ! [ -s "$EXP" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
 		fail_ 'set_ptracer_any sh failed'
 done
 
-run_strace -a32 -f -echdir -p $tracee_pid ./attach-f-p-cmd > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace -a32 -f -echdir -p $tracee_pid ../attach-f-p-cmd > "$EXP"
+match_diff "$LOG" "$EXP"
diff --git a/tests/attach-p-cmd.test b/tests/attach-p-cmd.test
index 2068cf1..e7c1bfa 100755
--- a/tests/attach-p-cmd.test
+++ b/tests/attach-p-cmd.test
@@ -3,6 +3,7 @@
 # Check that simultaneous use of -p option and tracing of a command works.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -32,16 +33,13 @@
 run_prog_skip_if_failed \
 	kill -0 $$
 
-rm -rf attach-p-cmd.test-lock
-rm -f "$OUT"
-./set_ptracer_any ./attach-p-cmd-p >> "$OUT" &
+../set_ptracer_any ../attach-p-cmd-p >> "$EXP" &
 tracee_pid=$!
 
-while ! [ -s "$OUT" ]; do
+while ! [ -s "$EXP" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
-		fail_ 'set_ptracer_any ./attach-p-cmd-p failed'
+		fail_ 'set_ptracer_any ../attach-p-cmd-p failed'
 done
 
-run_strace -a30 -echdir -p $tracee_pid ./attach-p-cmd-cmd > "$OUT"
-match_diff "$LOG" "$OUT"
-rm -f "$OUT"
+run_strace -a30 -echdir -p $tracee_pid ../attach-p-cmd-cmd > "$EXP"
+match_diff "$LOG" "$EXP"
diff --git a/tests/bexecve.test b/tests/bexecve.test
index f1ab04f..325330e 100755
--- a/tests/bexecve.test
+++ b/tests/bexecve.test
@@ -3,6 +3,7 @@
 # Check -bexecve behavior.
 #
 # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -35,14 +36,14 @@
 	$STRACE "$@" 2> "$LOG"
 }
 
-run_strace_redir -enone ./set_ptracer_any true ||
+run_strace_redir -enone ../set_ptracer_any true ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
-run_strace_redir -enone ./set_ptracer_any false
+run_strace_redir -enone ../set_ptracer_any false
 [ $? -eq 1 ] ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
-run_strace_redir -bexecve -enone ./set_ptracer_any false ||
+run_strace_redir -bexecve -enone ../set_ptracer_any false ||
 	dump_log_and_fail_with "$STRACE $args: unexpected exit status"
 
 pattern_detached='[^:]*strace: Process [1-9][0-9]* detached'
diff --git a/tests/bpf.c b/tests/bpf.c
index 7ef16c9..40f96a7 100644
--- a/tests/bpf.c
+++ b/tests/bpf.c
@@ -109,14 +109,15 @@
 # endif
 
 /* BPF_PROG_ATTACH and BPF_PROG_DETACH commands appear in kernel 4.10. */
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
 static int
 prog_cgroup(int cmd)
 {
 	union bpf_attr attr = {
 		.target_fd = -1,
 		.attach_bpf_fd = -1,
-		.attach_type = 0
+		.attach_type = 0,
+		.attach_flags = 1
 	};
 	void *const t_attr = tail_memdup(&attr, sizeof(attr));
 	return sys_bpf(cmd, (unsigned long) t_attr, sizeof(attr));
@@ -205,11 +206,12 @@
 	BOGUS_BPF(BPF_OBJ_GET);
 # endif
 
-# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_FLAGS
 	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",
+	       ", attach_type=BPF_CGROUP_INET_INGRESS"
+	       ", attach_flags=BPF_F_ALLOW_OVERRIDE}, %u) = %s\n",
 	       (unsigned) sizeof(union bpf_attr), errstr);
 	BOGUS_BPF(BPF_PROG_ATTACH);
 
diff --git a/tests/bpf.gen.test b/tests/bpf.gen.test
new file mode 100755
index 0000000..7ee9e7f
--- /dev/null
+++ b/tests/bpf.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (bpf -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests/bpf.test b/tests/bpf.test
deleted file mode 100755
index adf0d57..0000000
--- a/tests/bpf.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check bpf syscall decoding.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a20
diff --git a/tests/brk.test b/tests/brk.test
index 8c0e2e4..3781220 100755
--- a/tests/brk.test
+++ b/tests/brk.test
@@ -7,4 +7,3 @@
 run_prog > /dev/null
 run_strace -a10 -ebrk $args > "$EXP"
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests/btrfs-v.test b/tests/btrfs-v.test
index 1ee17b4..8cc2724 100755
--- a/tests/btrfs-v.test
+++ b/tests/btrfs-v.test
@@ -4,12 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./btrfs -v > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -v > /dev/null
+run_strace -a16 -veioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests/btrfs-vw.test b/tests/btrfs-vw.test
index c7e40ad..913fba1 100755
--- a/tests/btrfs-vw.test
+++ b/tests/btrfs-vw.test
@@ -18,12 +18,8 @@
     skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
 fi
 
-run_prog ./btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
-run_strace -a16 -veioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -v -w "${BTRFS_MOUNTPOINT}" > /dev/null
+run_strace -a16 -veioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests/btrfs-w.test b/tests/btrfs-w.test
index 6238dca..031f0b8 100755
--- a/tests/btrfs-w.test
+++ b/tests/btrfs-w.test
@@ -18,12 +18,8 @@
     skip_ "\$BTRFS_MOUNTPOINT does not point to a directory"
 fi
 
-run_prog ./btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
-run_strace -a16 -eioctl $args > "$EXP"
 check_prog grep
+run_prog ../btrfs -w "${BTRFS_MOUNTPOINT}" > /dev/null
+run_strace -a16 -eioctl $args > "$EXP"
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests/btrfs.c b/tests/btrfs.c
index b3e23f8..7e5ccff 100644
--- a/tests/btrfs.c
+++ b/tests/btrfs.c
@@ -1548,9 +1548,9 @@
 			const char *name = xlookup(btrfs_dev_stats_values, i);
 			if (i)
 				printf(", ");
-			if (name)
-				printf("/* %s */ ", name);
 			printf("%" PRI__u64, args.values[i]);
+			if (name)
+				printf(" /* %s */", name);
 		}
 		printf("]}) = 0\n");
 	}
@@ -1799,13 +1799,13 @@
 		      &supported_features);
 		printf("ioctl(%d, BTRFS_IOC_GET_SUPPORTED_FEATURES, ",
 		       btrfs_test_dir_fd);
-		printf("[ /* supported */ ");
+		printf("[");
 		btrfs_print_features(&supported_features[0]);
-		printf(", /* safe to set */ ");
+		printf(" /* supported */, ");
 		btrfs_print_features(&supported_features[1]);
-		printf(", /* safe to clear */ ");
+		printf(" /* safe to set */, ");
 		btrfs_print_features(&supported_features[2]);
-		printf("]) = 0\n");
+		printf(" /* safe to clear */]) = 0\n");
 	}
 }
 
diff --git a/tests/btrfs.gen.test b/tests/btrfs.gen.test
new file mode 100755
index 0000000..a7118ef
--- /dev/null
+++ b/tests/btrfs.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (btrfs +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/btrfs.test b/tests/btrfs.test
deleted file mode 100755
index 2121b5b..0000000
--- a/tests/btrfs.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic btrfs ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/chmod.gen.test b/tests/chmod.gen.test
new file mode 100755
index 0000000..438665a
--- /dev/null
+++ b/tests/chmod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chmod -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests/chmod.test b/tests/chmod.test
deleted file mode 100755
index 70e561a..0000000
--- a/tests/chmod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests/chown.gen.test b/tests/chown.gen.test
new file mode 100755
index 0000000..46889a1
--- /dev/null
+++ b/tests/chown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chown -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests/chown.test b/tests/chown.test
deleted file mode 100755
index eb356ce..0000000
--- a/tests/chown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests/chown32.gen.test b/tests/chown32.gen.test
new file mode 100755
index 0000000..f0f603e
--- /dev/null
+++ b/tests/chown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chown32 -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests/chown32.test b/tests/chown32.test
deleted file mode 100755
index 0fa04c2..0000000
--- a/tests/chown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
diff --git a/tests/chroot.gen.test b/tests/chroot.gen.test
new file mode 100755
index 0000000..6ea81dd
--- /dev/null
+++ b/tests/chroot.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (chroot -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests/chroot.test b/tests/chroot.test
deleted file mode 100755
index 3b384f5..0000000
--- a/tests/chroot.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check chroot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests/clock.gen.test b/tests/clock.gen.test
new file mode 100755
index 0000000..b76eaf5
--- /dev/null
+++ b/tests/clock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock test_trace_expr 'times|fcntl.*' -e/clock); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr 'times|fcntl.*' -e/clock
diff --git a/tests/clock.in b/tests/clock.in
new file mode 100755
index 0000000..864de29
--- /dev/null
+++ b/tests/clock.in
@@ -0,0 +1,3 @@
+clock_adjtime	-a37
+clock_nanosleep
+clock_xettime	-a36
diff --git a/tests/clock_adjtime.gen.test b/tests/clock_adjtime.gen.test
new file mode 100755
index 0000000..735e3af
--- /dev/null
+++ b/tests/clock_adjtime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_adjtime -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests/clock_adjtime.test b/tests/clock_adjtime.test
deleted file mode 100755
index df2c060..0000000
--- a/tests/clock_adjtime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_adjtime syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests/clock_nanosleep.c b/tests/clock_nanosleep.c
index 98407d7..72ac2e4 100644
--- a/tests/clock_nanosleep.c
+++ b/tests/clock_nanosleep.c
@@ -1,5 +1,8 @@
 /*
+ * Check decoding of clock_nanosleep and clock_gettime syscalls.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,9 +65,10 @@
 
 	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, {tv_sec=%jd, tv_nsec=%jd}, "
-	       "NULL) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, NULL) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       NULL, &rem.ts) == -1);
@@ -73,52 +77,71 @@
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == 0);
-	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);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(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"
-	       ", {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);
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = 0xdeadbeefU;
+	req.ts.tv_nsec = 0xfacefeedU;
+	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
+		       &req.ts, &rem.ts) == -1);
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	req.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(syscall(__NR_clock_nanosleep, CLOCK_MONOTONIC, 0,
+		       &req.ts, &rem.ts) == -1);
+	printf("clock_nanosleep(CLOCK_MONOTONIC, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(sigprocmask(SIG_SETMASK, &set, NULL) == 0);
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	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,
-	       (intmax_t) itv.it_value.tv_usec);
 
-	--req.ts.tv_nsec;
+	req.ts.tv_sec = 0;
+	req.ts.tv_nsec = 999999999;
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == -1);
-	printf("clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=%jd, tv_nsec=%jd}, "
-	       "{tv_sec=%jd, tv_nsec=%jd})"
+	printf("clock_nanosleep(CLOCK_REALTIME, 0"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {tv_sec=%lld, tv_nsec=%llu})"
 	       " = ? 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);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec),
+	       (long long) rem.ts.tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("clock_gettime(CLOCK_REALTIME, {tv_sec=%lld, tv_nsec=%llu}) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	++req.ts.tv_sec;
 	rem.ts.tv_sec = 0xc0de4;
 	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, {tv_sec=%jd, "
-	       "tv_nsec=%jd}, %p)"
+	printf("clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p)"
 	       " = ? ERESTARTNOHAND (To be restarted if no handler)\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/clock_nanosleep.gen.test b/tests/clock_nanosleep.gen.test
new file mode 100755
index 0000000..7a6025b
--- /dev/null
+++ b/tests/clock_nanosleep.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_nanosleep -e trace=clock_nanosleep,clock_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=clock_nanosleep,clock_gettime
diff --git a/tests/clock_nanosleep.test b/tests/clock_nanosleep.test
deleted file mode 100755
index ec434a6..0000000
--- a/tests/clock_nanosleep.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_nanosleep, clock_gettime, and setitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=clock_nanosleep,clock_gettime,setitimer
diff --git a/tests/clock_xettime.c b/tests/clock_xettime.c
index 3ef5695..e3ec1b5 100644
--- a/tests/clock_xettime.c
+++ b/tests/clock_xettime.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,26 +49,41 @@
 
 	if (syscall(__NR_clock_getres, CLOCK_REALTIME, &t.ts))
 		perror_msg_and_skip("clock_getres CLOCK_REALTIME");
-	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);
+	printf("clock_getres(CLOCK_REALTIME, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = 0\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(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, "
-	       "{tv_sec=%jd, tv_nsec=%jd}) = 0\n",
-	       (intmax_t) t.ts.tv_sec,
-	       (intmax_t) t.ts.tv_nsec);
+	printf("clock_gettime(CLOCK_PROCESS_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = 0\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
 
 	t.ts.tv_sec = 0xdeface1;
 	t.ts.tv_nsec = 0xdeface2;
-	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, {tv_sec=%jd, "
-	       "tv_nsec=%jd}) = -1 EINVAL (%m)\n",
-	       (intmax_t) t.ts.tv_sec,
-	       (intmax_t) t.ts.tv_nsec);
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
+
+	t.ts.tv_sec = 0xdeadbeefU;
+	t.ts.tv_nsec = 0xfacefeedU;
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
+
+	t.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	t.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts);
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = -1 EINVAL (%m)\n",
+	       (long long) t.ts.tv_sec,
+	       zero_extend_signed_to_ull(t.ts.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/clock_xettime.gen.test b/tests/clock_xettime.gen.test
new file mode 100755
index 0000000..590f058
--- /dev/null
+++ b/tests/clock_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (clock_xettime -a36 -e trace=clock_getres,clock_gettime,clock_settime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
diff --git a/tests/clock_xettime.test b/tests/clock_xettime.test
deleted file mode 100755
index f045a66..0000000
--- a/tests/clock_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check clock_getres, clock_gettime, and clock_settime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36 -e trace=clock_getres,clock_gettime,clock_settime
diff --git a/tests/copy_file_range.c b/tests/copy_file_range.c
index 085010a..6bb989d 100644
--- a/tests/copy_file_range.c
+++ b/tests/copy_file_range.c
@@ -2,6 +2,7 @@
  * This file is part of copy_file_range strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,8 +42,8 @@
 {
 	const long int fd_in = (long int) 0xdeadbeefffffffff;
 	const long int fd_out = (long int) 0xdeadbeeffffffffe;
-	long long int *const off_in = tail_alloc(sizeof(*off_in));
-	long long int *const off_out = tail_alloc(sizeof(*off_out));
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_in);
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_out);
 	*off_in = 0xdeadbef1facefed1;
 	*off_out = 0xdeadbef2facefed2;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
diff --git a/tests/copy_file_range.gen.test b/tests/copy_file_range.gen.test
new file mode 100755
index 0000000..4f3063b
--- /dev/null
+++ b/tests/copy_file_range.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (copy_file_range ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/copy_file_range.test b/tests/copy_file_range.test
deleted file mode 100755
index c39f6ac..0000000
--- a/tests/copy_file_range.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check copy_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/count.test b/tests/count.test
index e75dc6b..a9752c0 100755
--- a/tests/count.test
+++ b/tests/count.test
@@ -3,6 +3,7 @@
 # Check whether -c and -w options work.
 #
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,14 +30,14 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
+run_prog ../sleep 0
 check_prog grep
 
 grep_log()
 {
 	local pattern="$1"; shift
 
-	run_strace "$@" ./sleep 1
+	run_strace "$@" ../sleep 1
 
 	grep nanosleep "$LOG" > /dev/null ||
 		framework_skip_ 'sleep does not use nanosleep'
diff --git a/tests/creat.gen.test b/tests/creat.gen.test
new file mode 100755
index 0000000..d2e47d3
--- /dev/null
+++ b/tests/creat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (creat -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests/creat.test b/tests/creat.test
deleted file mode 100755
index 069648f..0000000
--- a/tests/creat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check creat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests/delete_module.c b/tests/delete_module.c
index 5a31760..0de35fe 100644
--- a/tests/delete_module.c
+++ b/tests/delete_module.c
@@ -2,6 +2,7 @@
  * Check decoding of delete_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -48,8 +49,7 @@
 		unsigned int val_prefix, val_suffix;
 	} flags[] = {
 		{ ARG_STR(0), 0, 0 },
-		{ (kernel_ulong_t) 0xffffffff00000000ULL | O_NONBLOCK,
-			"O_NONBLOCK", 0, 0 },
+		{ F8ILL_KULONG_MASK | 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,
@@ -65,7 +65,7 @@
 	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);
+	rc = syscall(__NR_delete_module, NULL, F8ILL_KULONG_MASK);
 	printf("delete_module(NULL, 0) = %s\n", sprintrc(rc));
 
 	rc = syscall(__NR_delete_module, bogus_param1, flags[0].val);
diff --git a/tests/delete_module.gen.test b/tests/delete_module.gen.test
new file mode 100755
index 0000000..4e4c671
--- /dev/null
+++ b/tests/delete_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (delete_module -a23); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23
diff --git a/tests/delete_module.test b/tests/delete_module.test
deleted file mode 100755
index fb86ec9..0000000
--- a/tests/delete_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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 006efb8..ba5ffbf 100755
--- a/tests/detach-running.test
+++ b/tests/detach-running.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from running processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -36,7 +37,7 @@
 
 set -e
 
-./set_ptracer_any sh -c "echo > $LOG; while :; do :; done" > /dev/null &
+../set_ptracer_any sh -c "echo > $LOG; while :; do :; done" > /dev/null &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -54,7 +55,6 @@
 	return 0
 }
 
-rm -f "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests/detach-sleeping.test b/tests/detach-sleeping.test
index 54304f3..a0975e3 100755
--- a/tests/detach-sleeping.test
+++ b/tests/detach-sleeping.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from sleeping processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -36,8 +37,7 @@
 
 set -e
 
-rm -f "$LOG"
-./set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
+../set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -55,7 +55,6 @@
 	return 0
 }
 
-rm -f "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests/detach-stopped.test b/tests/detach-stopped.test
index 8f480e7..a9f9c72 100755
--- a/tests/detach-stopped.test
+++ b/tests/detach-stopped.test
@@ -3,6 +3,7 @@
 # Ensure that strace can detach from stopped processes.
 #
 # Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -41,8 +42,8 @@
 
 set -e
 
-rm -f "$LOG"
-./set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
+> "$LOG"
+../set_ptracer_any sleep $((2*$TIMEOUT_DURATION)) > "$LOG" &
 
 while ! [ -s "$LOG" ]; do
 	kill -0 $! 2> /dev/null ||
@@ -62,7 +63,7 @@
 	return 0
 }
 
-rm -f "$LOG"
+> "$LOG"
 $STRACE -p $tracee_pid 2> "$LOG" &
 
 while ! grep -F "Process $tracee_pid attached" "$LOG" > /dev/null; do
diff --git a/tests/dup.gen.test b/tests/dup.gen.test
new file mode 100755
index 0000000..e5729c0
--- /dev/null
+++ b/tests/dup.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests/dup.test b/tests/dup.test
deleted file mode 100755
index 1dc1919..0000000
--- a/tests/dup.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests/dup2.gen.test b/tests/dup2.gen.test
new file mode 100755
index 0000000..fd1f5c9
--- /dev/null
+++ b/tests/dup2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup2 -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests/dup2.test b/tests/dup2.test
deleted file mode 100755
index 509c5db..0000000
--- a/tests/dup2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests/dup3.gen.test b/tests/dup3.gen.test
new file mode 100755
index 0000000..d6ff7d7
--- /dev/null
+++ b/tests/dup3.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (dup3 -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests/dup3.test b/tests/dup3.test
deleted file mode 100755
index 293f78f..0000000
--- a/tests/dup3.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check dup3 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests/epoll_create.gen.test b/tests/epoll_create.gen.test
new file mode 100755
index 0000000..841da6d
--- /dev/null
+++ b/tests/epoll_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_create -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/epoll_create.test b/tests/epoll_create.test
deleted file mode 100755
index 472a9bd..0000000
--- a/tests/epoll_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests/epoll_create1.gen.test b/tests/epoll_create1.gen.test
new file mode 100755
index 0000000..c5e62a0
--- /dev/null
+++ b/tests/epoll_create1.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_create1 -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests/epoll_create1.test b/tests/epoll_create1.test
deleted file mode 100755
index 7a926a9..0000000
--- a/tests/epoll_create1.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_create1 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests/epoll_ctl.c b/tests/epoll_ctl.c
index e666055..2251b35 100644
--- a/tests/epoll_ctl.c
+++ b/tests/epoll_ctl.c
@@ -11,14 +11,14 @@
 static long
 invoke_syscall(unsigned long epfd, unsigned long op, unsigned long fd, void *ev)
 {
-	op |= (unsigned long) 0xffffffff00000000ULL;
-	return syscall(__NR_epoll_ctl, epfd, op, fd, (unsigned long) ev);
+	return syscall(__NR_epoll_ctl, epfd, F8ILL_KULONG_MASK | op,
+		       fd, (unsigned long) ev);
 }
 
 int
 main(void)
 {
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 	ev->events = EPOLLIN;
 
 	long rc = invoke_syscall(-1U, EPOLL_CTL_ADD, -2U, ev);
diff --git a/tests/epoll_ctl.gen.test b/tests/epoll_ctl.gen.test
new file mode 100755
index 0000000..68c96eb
--- /dev/null
+++ b/tests/epoll_ctl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_ctl ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/epoll_ctl.test b/tests/epoll_ctl.test
deleted file mode 100755
index 1aded54..0000000
--- a/tests/epoll_ctl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_ctl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/epoll_pwait.c b/tests/epoll_pwait.c
index eaaa34d..841e722 100644
--- a/tests/epoll_pwait.c
+++ b/tests/epoll_pwait.c
@@ -12,7 +12,7 @@
 main(void)
 {
 	sigset_t set[2];
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 
 	long rc = syscall(__NR_epoll_pwait, -1, ev, 1, -2,
 			  set, (kernel_ulong_t) sizeof(set));
diff --git a/tests/epoll_pwait.gen.test b/tests/epoll_pwait.gen.test
new file mode 100755
index 0000000..c558efc
--- /dev/null
+++ b/tests/epoll_pwait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_pwait ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/epoll_pwait.test b/tests/epoll_pwait.test
deleted file mode 100755
index c7aeeac..0000000
--- a/tests/epoll_pwait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of epoll_pwait syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/epoll_wait.c b/tests/epoll_wait.c
index 038bf1f..caa3027 100644
--- a/tests/epoll_wait.c
+++ b/tests/epoll_wait.c
@@ -10,7 +10,7 @@
 int
 main(void)
 {
-	struct epoll_event *const ev = tail_alloc(sizeof(*ev));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct epoll_event, ev);
 
 	long rc = syscall(__NR_epoll_wait, -1, ev, 1, -2);
 	printf("epoll_wait(-1, %p, 1, -2) = %ld %s (%m)\n",
diff --git a/tests/epoll_wait.gen.test b/tests/epoll_wait.gen.test
new file mode 100755
index 0000000..024cc0f
--- /dev/null
+++ b/tests/epoll_wait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (epoll_wait -a26); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26
diff --git a/tests/epoll_wait.test b/tests/epoll_wait.test
deleted file mode 100755
index 83ae161..0000000
--- a/tests/epoll_wait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check epoll_wait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26
diff --git a/tests/erestartsys.gen.test b/tests/erestartsys.gen.test
new file mode 100755
index 0000000..0fc3215
--- /dev/null
+++ b/tests/erestartsys.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (erestartsys -a34 -e signal=none -e trace=recvfrom); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34 -e signal=none -e trace=recvfrom
diff --git a/tests/erestartsys.test b/tests/erestartsys.test
deleted file mode 100755
index 91f711f..0000000
--- a/tests/erestartsys.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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/execve-v.test b/tests/execve-v.test
index cce5860..52ff0d7 100755
--- a/tests/execve-v.test
+++ b/tests/execve-v.test
@@ -11,5 +11,3 @@
 # Filter out execve() call made by strace.
 grep -F test.execve < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests/execve.c b/tests/execve.c
index 74749e7..c558dd3 100644
--- a/tests/execve.c
+++ b/tests/execve.c
@@ -2,6 +2,7 @@
  * This file is part of execve strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,13 +63,15 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\", %p, %p, %p, ???]"
 #else
-	       ", [/* 5 vars, unterminated */]"
+	       ", %p /* 5 vars, unterminated */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 	       argv[3], argv[4], argv[5]
 #if VERBOSE
 	       , q_envp[0], q_envp[1], envp[2], envp[3], envp[4]
+#else
+	       , tail_envp
 #endif
 	       );
 
@@ -80,12 +83,14 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\"]"
 #else
-	       ", [/* 2 vars */]"
+	       ", %p /* 2 vars */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
 #if VERBOSE
 	       , q_envp[0], q_envp[1]
+#else
+	       , tail_envp
 #endif
 	       );
 
@@ -94,16 +99,18 @@
 #if VERBOSE
 	       ", [\"%s\"]"
 #else
-	       ", [/* 1 var */]"
+	       ", %p /* 1 var */"
 #endif
 	       ") = -1 ENOENT (%m)\n",
 	       Q_FILENAME, q_argv[2]
 #if VERBOSE
 	       , q_envp[1]
+#else
+	       , tail_envp + 1
 #endif
 	       );
 
-	char **const empty = tail_alloc(sizeof(*empty));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
 	char **const efault = empty + 1;
 	*empty = NULL;
 
@@ -112,9 +119,13 @@
 #if VERBOSE
 	       ", []"
 #else
-	       ", [/* 0 vars */]"
+	       ", %p /* 0 vars */"
 #endif
-	       ") = -1 ENOENT (%m)\n", Q_FILENAME);
+	       ") = -1 ENOENT (%m)\n", Q_FILENAME
+#if !VERBOSE
+	       , empty
+#endif
+	       );
 
 	char str_a[] = "012345678901234567890123456789012";
 	char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
@@ -141,10 +152,11 @@
 	printf("], [\"%.*s\"...", DEFAULT_STRLEN, b[0]);
 	for (i = 1; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %u vars */", DEFAULT_STRLEN + 1);
+	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
 #endif
-	printf("]) = -1 ENOENT (%m)\n");
+	printf(") = -1 ENOENT (%m)\n");
 
 	execve(FILENAME, a + 1, b + 1);
 	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
@@ -154,10 +166,11 @@
 	printf("], [\"%s\"", b[1]);
 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %d vars */", DEFAULT_STRLEN);
+	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
 #endif
-	printf("]) = -1 ENOENT (%m)\n");
+	printf(") = -1 ENOENT (%m)\n");
 
 	execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
 	printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n",
diff --git a/tests/execve.test b/tests/execve.test
index 263b6fc..5635a94 100755
--- a/tests/execve.test
+++ b/tests/execve.test
@@ -11,5 +11,3 @@
 # Filter out execve() call made by strace.
 grep -F test.execve < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests/execveat-v.gen.test b/tests/execveat-v.gen.test
new file mode 100755
index 0000000..f7d572f
--- /dev/null
+++ b/tests/execveat-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (execveat-v -v -e trace=execveat); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=execveat
diff --git a/tests/execveat-v.test b/tests/execveat-v.test
deleted file mode 100755
index a905224..0000000
--- a/tests/execveat-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of execveat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=execveat
diff --git a/tests/execveat.c b/tests/execveat.c
index 9083830..8ffc4d5 100644
--- a/tests/execveat.c
+++ b/tests/execveat.c
@@ -2,6 +2,7 @@
  * This file is part of execveat strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -67,13 +68,15 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\", %p, %p, %p, ???]"
 #else
-	       ", [/* 5 vars, unterminated */]"
+	       ", %p /* 5 vars, unterminated */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 	       argv[3], argv[4], argv[5],
 #if VERBOSE
 	       q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
+#else
+	       tail_envp,
 #endif
 	       errno2name());
 
@@ -85,12 +88,14 @@
 #if VERBOSE
 	       ", [\"%s\", \"%s\"]"
 #else
-	       ", [/* 2 vars */]"
+	       ", %p /* 2 vars */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
 #if VERBOSE
 	       q_envp[0], q_envp[1],
+#else
+	       tail_envp,
 #endif
 	       errno2name());
 
@@ -99,16 +104,18 @@
 #if VERBOSE
 	       ", [\"%s\"]"
 #else
-	       ", [/* 1 var */]"
+	       ", %p /* 1 var */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       Q_FILENAME, q_argv[2],
 #if VERBOSE
 	       q_envp[1],
+#else
+	       tail_envp + 1,
 #endif
 	       errno2name());
 
-	char **const empty = tail_alloc(sizeof(*empty));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
 	char **const efault = empty + 1;
 	*empty = NULL;
 
@@ -117,10 +124,14 @@
 #if VERBOSE
 	       ", []"
 #else
-	       ", [/* 0 vars */]"
+	       ", %p /* 0 vars */"
 #endif
 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-	       Q_FILENAME, errno2name());
+	       Q_FILENAME,
+#if !VERBOSE
+	       empty,
+#endif
+	       errno2name());
 
 	char str_a[] = "012345678901234567890123456789012";
 	char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
@@ -147,10 +158,11 @@
 	printf("], [\"%.*s\"...", DEFAULT_STRLEN, b[0]);
 	for (i = 1; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %u vars */", DEFAULT_STRLEN + 1);
+	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
 #endif
-	printf("], AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
+	printf(", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       errno2name());
 
 	syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
@@ -161,10 +173,11 @@
 	printf("], [\"%s\"", b[1]);
 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
 		printf(", \"%s\"", b[i]);
+	printf("]");
 #else
-	printf("], [/* %d vars */", DEFAULT_STRLEN);
+	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
 #endif
-	printf("], AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
+	printf(", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
 	       errno2name());
 
 	syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
diff --git a/tests/execveat.gen.test b/tests/execveat.gen.test
new file mode 100755
index 0000000..c92e4d6
--- /dev/null
+++ b/tests/execveat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (execveat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/execveat.test b/tests/execveat.test
deleted file mode 100755
index 879e03e..0000000
--- a/tests/execveat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check execveat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/faccessat.gen.test b/tests/faccessat.gen.test
new file mode 100755
index 0000000..4ccec2a
--- /dev/null
+++ b/tests/faccessat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (faccessat -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -P $NAME.sample
diff --git a/tests/faccessat.test b/tests/faccessat.test
deleted file mode 100755
index 61e7e2f..0000000
--- a/tests/faccessat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check faccessat syscall decoding.
-
-. "${srcdir=.}/openat.test"
diff --git a/tests/fadvise64.test b/tests/fadvise64.test
index 9f74672..161b28f 100755
--- a/tests/fadvise64.test
+++ b/tests/fadvise64.test
@@ -9,4 +9,3 @@
 check_prog grep
 grep -v "^$NAME([0123]," < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests/fadvise64_64.gen.test b/tests/fadvise64_64.gen.test
new file mode 100755
index 0000000..5f95b3c
--- /dev/null
+++ b/tests/fadvise64_64.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fadvise64_64 +fadvise64.test); do not edit.
+. "${srcdir=.}/fadvise64.test"
diff --git a/tests/fadvise64_64.test b/tests/fadvise64_64.test
deleted file mode 100755
index a50fe2b..0000000
--- a/tests/fadvise64_64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fadvise64_64 syscall.
-
-. "${srcdir=.}/fadvise64.test"
diff --git a/tests/fallocate.gen.test b/tests/fallocate.gen.test
new file mode 100755
index 0000000..c6cfdb7
--- /dev/null
+++ b/tests/fallocate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fallocate -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests/fallocate.test b/tests/fallocate.test
deleted file mode 100755
index 405187e..0000000
--- a/tests/fallocate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests/fanotify_init.c b/tests/fanotify_init.c
index c14b413..15e09ee 100644
--- a/tests/fanotify_init.c
+++ b/tests/fanotify_init.c
@@ -2,6 +2,7 @@
  * Check decoding of fanotify_init syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -60,7 +61,7 @@
 main(void)
 {
 	static const struct strval flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "FAN_CLASS_NOTIF" },
+		{ F8ILL_KULONG_MASK, "FAN_CLASS_NOTIF" },
 		{ (kernel_ulong_t) 0xffffffff0000000cULL,
 			"0xc /* FAN_CLASS_??? */" },
 		{ (kernel_ulong_t) 0xdec0deddefaced04ULL,
@@ -70,7 +71,7 @@
 			"FAN_UNLIMITED_QUEUE|FAN_UNLIMITED_MARKS|0xffffffc0" },
 	};
 	static const struct strval event_f_flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ F8ILL_KULONG_MASK, "O_RDONLY" },
 		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
 			"O_WRONLY|0x80000000" }
 	};
diff --git a/tests/fanotify_init.gen.test b/tests/fanotify_init.gen.test
new file mode 100755
index 0000000..ee519e6
--- /dev/null
+++ b/tests/fanotify_init.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_init ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/fanotify_init.test b/tests/fanotify_init.test
deleted file mode 100755
index 8d26af4..0000000
--- a/tests/fanotify_init.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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 43f285d..11cf7d0 100644
--- a/tests/fanotify_mark.c
+++ b/tests/fanotify_mark.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -90,11 +91,11 @@
 
 	static const kernel_ulong_t fds[] = {
 		(kernel_ulong_t) 0xdeadfeed12345678ULL,
-		(kernel_ulong_t) 0xffffffff00000000ULL,
+		F8ILL_KULONG_MASK,
 		(kernel_ulong_t) 0xdeb0d1edffffffffULL,
 	};
 	static const struct strval flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "0" },
+		{ F8ILL_KULONG_MASK, "0" },
 		{ (kernel_ulong_t) 0xdec0deddefaced00ULL,
 			"0xefaced00 /* FAN_MARK_??? */" },
 		{ (kernel_ulong_t) 0xda7a105700000040ULL,
diff --git a/tests/fanotify_mark.gen.test b/tests/fanotify_mark.gen.test
new file mode 100755
index 0000000..ce16a55
--- /dev/null
+++ b/tests/fanotify_mark.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fanotify_mark -a32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32
diff --git a/tests/fanotify_mark.test b/tests/fanotify_mark.test
deleted file mode 100755
index fd67138..0000000
--- a/tests/fanotify_mark.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fanotify_mark syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
diff --git a/tests/fchdir.gen.test b/tests/fchdir.gen.test
new file mode 100755
index 0000000..c80e141
--- /dev/null
+++ b/tests/fchdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchdir -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests/fchdir.test b/tests/fchdir.test
deleted file mode 100755
index 3a4296e..0000000
--- a/tests/fchdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests/fchmod.gen.test b/tests/fchmod.gen.test
new file mode 100755
index 0000000..f327fb7
--- /dev/null
+++ b/tests/fchmod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchmod -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests/fchmod.test b/tests/fchmod.test
deleted file mode 100755
index 4cb1263..0000000
--- a/tests/fchmod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchmod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests/fchmodat.gen.test b/tests/fchmodat.gen.test
new file mode 100755
index 0000000..9ee1f01
--- /dev/null
+++ b/tests/fchmodat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchmodat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/fchmodat.test b/tests/fchmodat.test
deleted file mode 100755
index 13cbe80..0000000
--- a/tests/fchmodat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fchmodat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/fchown.gen.test b/tests/fchown.gen.test
new file mode 100755
index 0000000..63ee545
--- /dev/null
+++ b/tests/fchown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchown -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests/fchown.test b/tests/fchown.test
deleted file mode 100755
index 63a0f2e..0000000
--- a/tests/fchown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16
diff --git a/tests/fchown32.gen.test b/tests/fchown32.gen.test
new file mode 100755
index 0000000..d8167dd
--- /dev/null
+++ b/tests/fchown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchown32 -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests/fchown32.test b/tests/fchown32.test
deleted file mode 100755
index e837f54..0000000
--- a/tests/fchown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests/fchownat.gen.test b/tests/fchownat.gen.test
new file mode 100755
index 0000000..2ec9e32
--- /dev/null
+++ b/tests/fchownat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fchownat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/fchownat.test b/tests/fchownat.test
deleted file mode 100755
index e5d0f28..0000000
--- a/tests/fchownat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of fchownat syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/fcntl.c b/tests/fcntl.c
index f060cdf..4f62ca2 100644
--- a/tests/fcntl.c
+++ b/tests/fcntl.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,9 +45,9 @@
 		.l_start = 0xdefaced1facefeedULL,
 		.l_len = 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, %p) = %s\n",
-	       TEST_SYSCALL_STR, name, &fl, EINVAL_STR);
+	       TEST_SYSCALL_STR, name, &fl, sprintrc(rc));
 }
 
 static void
diff --git a/tests/fcntl.gen.test b/tests/fcntl.gen.test
new file mode 100755
index 0000000..83a1af4
--- /dev/null
+++ b/tests/fcntl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fcntl -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests/fcntl.test b/tests/fcntl.test
deleted file mode 100755
index 9aea122..0000000
--- a/tests/fcntl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fcntl decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests/fcntl64.c b/tests/fcntl64.c
index 5ecd6eb..068956e 100644
--- a/tests/fcntl64.c
+++ b/tests/fcntl64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,10 +45,10 @@
 		.l_start = 0xdefaced1facefeedULL,
 		.l_len = 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
-	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, EINVAL_STR);
+	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc));
 }
 
 static void
@@ -67,7 +68,7 @@
 	long rc = invoke_test_syscall(F_SETLK64, &fl);
 	printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=0, l_len=%d}) = %s\n",
-	       TEST_SYSCALL_STR, FILE_LEN, rc ? EINVAL_STR : "0");
+	       TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc));
 
 	if (rc)
 		return;
diff --git a/tests/fcntl64.gen.test b/tests/fcntl64.gen.test
new file mode 100755
index 0000000..9d3b98a
--- /dev/null
+++ b/tests/fcntl64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fcntl64 -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests/fcntl64.test b/tests/fcntl64.test
deleted file mode 100755
index 00ba671..0000000
--- a/tests/fcntl64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fcntl64 syscall decoding.
-
-. "${srcdir=.}/fcntl.test"
diff --git a/tests/fdatasync.gen.test b/tests/fdatasync.gen.test
new file mode 100755
index 0000000..0dbea8a
--- /dev/null
+++ b/tests/fdatasync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fdatasync -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests/fdatasync.test b/tests/fdatasync.test
deleted file mode 100755
index ff59749..0000000
--- a/tests/fdatasync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fdatasync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests/file_handle.c b/tests/file_handle.c
index a5ad6c7..bbdf48b 100644
--- a/tests/file_handle.c
+++ b/tests/file_handle.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -187,7 +188,7 @@
 		(kernel_ulong_t) 0x12345678ffffff9cULL,
 	};
 	static const struct strval open_flags[] = {
-		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ F8ILL_KULONG_MASK, "O_RDONLY" },
 		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
 			"O_WRONLY|0x80000000" }
 	};
@@ -208,7 +209,7 @@
 		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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
 
 	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
 
diff --git a/tests/file_handle.gen.test b/tests/file_handle.gen.test
new file mode 100755
index 0000000..8280f9f
--- /dev/null
+++ b/tests/file_handle.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (file_handle -e trace=name_to_handle_at,open_by_handle_at); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
diff --git a/tests/file_handle.test b/tests/file_handle.test
deleted file mode 100755
index 1ccc9d4..0000000
--- a/tests/file_handle.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check name_to_handle_at and open_by_handle_at syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=name_to_handle_at,open_by_handle_at
diff --git a/tests/file_ioctl.c b/tests/file_ioctl.c
index 0fe17b1..ded67a9 100644
--- a/tests/file_ioctl.c
+++ b/tests/file_ioctl.c
@@ -13,7 +13,7 @@
 test_fiemap(void)
 {
 	(void) tail_alloc(1);
-	struct fiemap *const args = tail_alloc(sizeof(*args));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fiemap, args);
 
 	printf("ioctl(-1, FS_IOC_FIEMAP, {fm_start=%" PRI__u64
 	       ", fm_length=%" PRI__u64", fm_flags=",
diff --git a/tests/file_ioctl.gen.test b/tests/file_ioctl.gen.test
new file mode 100755
index 0000000..f7e58f5
--- /dev/null
+++ b/tests/file_ioctl.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (file_ioctl +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/file_ioctl.test b/tests/file_ioctl.test
deleted file mode 100755
index 7b8b8ce..0000000
--- a/tests/file_ioctl.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check FS_IOC_FIEMAP ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/finit_module.c b/tests/finit_module.c
index 3f0178f..c97471a 100644
--- a/tests/finit_module.c
+++ b/tests/finit_module.c
@@ -2,6 +2,7 @@
  * Check decoding of finit_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -68,7 +69,8 @@
 	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);
+	rc = syscall(__NR_finit_module, F8ILL_KULONG_MASK, NULL,
+		     F8ILL_KULONG_MASK);
 	printf("finit_module(0, NULL, 0) = %s\n", sprintrc(rc));
 
 	rc = syscall(__NR_finit_module, bogus_fd, bogus_param1, flags[0].val);
diff --git a/tests/finit_module.gen.test b/tests/finit_module.gen.test
new file mode 100755
index 0000000..f2e56af
--- /dev/null
+++ b/tests/finit_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (finit_module -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests/finit_module.test b/tests/finit_module.test
deleted file mode 100755
index bd644f3..0000000
--- a/tests/finit_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of finit_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests/flock.gen.test b/tests/flock.gen.test
new file mode 100755
index 0000000..dff2bac
--- /dev/null
+++ b/tests/flock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (flock -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests/flock.test b/tests/flock.test
deleted file mode 100755
index 24fcd74..0000000
--- a/tests/flock.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check flock syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests/fork-f.gen.test b/tests/fork-f.gen.test
new file mode 100755
index 0000000..b534e13
--- /dev/null
+++ b/tests/fork-f.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fork-f -a26 -qq -f -e signal=none -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26 -qq -f -e signal=none -e trace=chdir
diff --git a/tests/fork-f.test b/tests/fork-f.test
deleted file mode 100755
index d8ca1e3..0000000
--- a/tests/fork-f.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check how strace -f follows fork syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a26 -qq -f -e trace=chdir -e signal=none
diff --git a/tests/fstat.c b/tests/fstat.c
index 12df3e1..1482bb1 100644
--- a/tests/fstat.c
+++ b/tests/fstat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/fstat.gen.test b/tests/fstat.gen.test
new file mode 100755
index 0000000..8686ec8
--- /dev/null
+++ b/tests/fstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstat -a15 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15 -v -P stat.sample
diff --git a/tests/fstat.test b/tests/fstat.test
deleted file mode 100755
index 2ba0fba..0000000
--- a/tests/fstat.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# Check fstat 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/fstat64.c b/tests/fstat64.c
index a9c2e07..c63be60 100644
--- a/tests/fstat64.c
+++ b/tests/fstat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/fstat64.gen.test b/tests/fstat64.gen.test
new file mode 100755
index 0000000..a452b84
--- /dev/null
+++ b/tests/fstat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstat64 -a17 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17 -v -P stat.sample
diff --git a/tests/fstat64.test b/tests/fstat64.test
deleted file mode 100755
index 8b4f5ef..0000000
--- a/tests/fstat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstat64 syscall decoding.
-
-. "${srcdir=.}/fstat.test"
diff --git a/tests/fstatat.c b/tests/fstatat.c
index 66138c2..ea331b4 100644
--- a/tests/fstatat.c
+++ b/tests/fstatat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/fstatat64.c b/tests/fstatat64.c
index 03082a8..8de7ba6 100644
--- a/tests/fstatat64.c
+++ b/tests/fstatat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/fstatat64.gen.test b/tests/fstatat64.gen.test
new file mode 100755
index 0000000..8da5c7f
--- /dev/null
+++ b/tests/fstatat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/fstatat64.test b/tests/fstatat64.test
deleted file mode 100755
index 484008a..0000000
--- a/tests/fstatat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/fstatfs.gen.test b/tests/fstatfs.gen.test
new file mode 100755
index 0000000..3dd04d8
--- /dev/null
+++ b/tests/fstatfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatfs -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests/fstatfs.test b/tests/fstatfs.test
deleted file mode 100755
index 646e66f..0000000
--- a/tests/fstatfs.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatfs syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests/fstatfs64.gen.test b/tests/fstatfs64.gen.test
new file mode 100755
index 0000000..b9527be
--- /dev/null
+++ b/tests/fstatfs64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fstatfs64 -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests/fstatfs64.test b/tests/fstatfs64.test
deleted file mode 100755
index 179ff1b..0000000
--- a/tests/fstatfs64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check fstatfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests/fstatx.c b/tests/fstatx.c
index f88d9a9..70804af 100644
--- a/tests/fstatx.c
+++ b/tests/fstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/fsync.gen.test b/tests/fsync.gen.test
new file mode 100755
index 0000000..921e804
--- /dev/null
+++ b/tests/fsync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (fsync -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/fsync.test b/tests/fsync.test
deleted file mode 100755
index a58b67b..0000000
--- a/tests/fsync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check fsync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests/ftruncate.gen.test b/tests/ftruncate.gen.test
new file mode 100755
index 0000000..709a851
--- /dev/null
+++ b/tests/ftruncate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ftruncate -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests/ftruncate.test b/tests/ftruncate.test
deleted file mode 100755
index ec8a1e0..0000000
--- a/tests/ftruncate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ftruncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests/ftruncate64.gen.test b/tests/ftruncate64.gen.test
new file mode 100755
index 0000000..4cb1fe7
--- /dev/null
+++ b/tests/ftruncate64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ftruncate64 -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests/ftruncate64.test b/tests/ftruncate64.test
deleted file mode 100755
index 9068210..0000000
--- a/tests/ftruncate64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ftruncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests/futex.c b/tests/futex.c
index 586b95d..9a9ab66 100644
--- a/tests/futex.c
+++ b/tests/futex.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,8 +56,6 @@
 # include "xlat/futexwakeops.h"
 # include "xlat/futexwakecmps.h"
 
-static struct timespec *tmout;
-
 void futex_error(int *uaddr, int op, unsigned long val, unsigned long timeout,
 	int *uaddr2, unsigned long val3, int rc)
 {
@@ -163,8 +162,8 @@
 int
 main(int argc, char *argv[])
 {
-	int *uaddr = tail_alloc(sizeof(*uaddr));
-	int *uaddr2 = tail_alloc(sizeof(*uaddr2));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, uaddr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, uaddr2);
 	int rc;
 	unsigned i;
 	unsigned j;
@@ -172,7 +171,7 @@
 	uaddr[0] = 0x1deadead;
 	uaddr2[0] = 0xbadf00d;
 
-	tmout = tail_alloc(sizeof(*tmout));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, tmout);
 	tmout->tv_sec = 123;
 	tmout->tv_nsec = 0xbadc0de;
 
@@ -189,37 +188,59 @@
 	/* uaddr is NULL */
 	CHECK_FUTEX(NULL, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
-	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));
+	printf("futex(NULL, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
-		uaddr + 1, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr + 1, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* timeout is faulty */
 	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout + 1, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
 	printf("futex(%p, FUTEX_WAIT, %u, %p) = %s\n",
-		uaddr, 0xfacefeed, tmout + 1, sprintrc(rc));
+	       uaddr, 0xfacefeed, tmout + 1, sprintrc(rc));
+
+	/* timeout is invalid */
+	tmout->tv_sec = 0xdeadbeefU;
+	tmout->tv_nsec = 0xfacefeedU;
+
+	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
+		(rc == -1) && (errno == EINVAL));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
+
+	tmout->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tmout->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
+		(rc == -1) && (errno == EINVAL));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
+
+	tmout->tv_sec = 123;
+	tmout->tv_nsec = 0xbadc0de;
 
 	/* 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, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
-		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = "
-		"%s\n",
-		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
-		(intmax_t) tmout->tv_nsec, sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT_PRIVATE, %u, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* Next 2 tests are with CLOCKRT bit set */
 
@@ -227,18 +248,18 @@
 	CHECK_FUTEX_ENOSYS(uaddr,
 		FUTEX_CLOCK_REALTIME | FUTEX_WAIT,
 		VAL, tmout, uaddr2, VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT|FUTEX_CLOCK_REALTIME, %u, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
-		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr,
 		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, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
-		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* FUTEX_WAIT_BITSET - FUTEX_WAIT which provides additional bitmask
 	 *                     which should be matched at least in one bit with
@@ -254,50 +275,54 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	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));
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%lld, tv_nsec=%llu}"
+	       ", %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {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));
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%lld, tv_nsec=%llu}"
+	       ", %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* Next 3 tests are with CLOCKRT bit set */
 
 	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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* val3 of 0 is invalid  */
 	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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), 0, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG |
 		FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1, VAL3,
 		(rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, %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));
+	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %#x) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), VAL3_PR,
+	       sprintrc(rc));
 
 	/* FUTEX_WAKE - wake val processes waiting for uaddr
 	 * Possible flags: PRIVATE
@@ -522,9 +547,9 @@
 			CHECK_FUTEX_ENOSYS(uaddr,
 				j ? FUTEX_WAKE_OP_PRIVATE : FUTEX_WAKE_OP,
 				VAL, i, uaddr2, wake_ops[i].val, (rc == 0));
-			printf("futex(%p, FUTEX_WAKE_OP%s, %u, %u, %p, %s) = "
-				"%s\n", uaddr, j ? "_PRIVATE" : "", VAL_PR, i,
-				uaddr2, wake_ops[i].str, sprintrc(rc));
+			printf("futex(%p, FUTEX_WAKE_OP%s, %u, %u, %p, %s)"
+			       " = %s\n", uaddr, j ? "_PRIVATE" : "", VAL_PR,
+			       i, uaddr2, wake_ops[i].str, sprintrc(rc));
 		}
 	}
 
@@ -552,16 +577,16 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_LOCK_PI, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EFAULT));
-	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));
+	printf("futex(%p, FUTEX_LOCK_PI, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       uaddr + 1, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, {tv_sec=%jd, tv_nsec=%jd}) = "
-		"%s\n",
-		uaddr + 1, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
-		sprintrc(rc));
+	printf("futex(%p, FUTEX_LOCK_PI_PRIVATE, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %s\n",
+	       uaddr + 1, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 
 	/* NULL is passed by invalid_op() in cases valid timeout address is
 	 * needed */
@@ -633,32 +658,32 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(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, "
-		"{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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME, %u"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), uaddr2, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG |
 		FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME, "
-		"%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));
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME"
+	       ", %u, {tv_sec=%lld, tv_nsec=%llu}, %p) = %s\n",
+	       uaddr, VAL_PR, (long long) tmout->tv_sec,
+	       zero_extend_signed_to_ull(tmout->tv_nsec), uaddr2, sprintrc(rc));
 
 	/* FUTEX_CMP_REQUEUE_PI - version of FUTEX_CMP_REQUEUE which re-queues
 	 *                        on PI-aware futex.
diff --git a/tests/futimesat.c b/tests/futimesat.c
index c356629..733fd09 100644
--- a/tests/futimesat.c
+++ b/tests/futimesat.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of futimesat syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,46 +37,123 @@
 # include <sys/time.h>
 # include <unistd.h>
 
+static void
+print_tv(const struct timeval *tv)
+{
+	printf("{tv_sec=%lld, tv_usec=%llu}",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
+	print_time_t_usec(tv->tv_sec,
+			  zero_extend_signed_to_ull(tv->tv_usec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_futimesat(const kernel_ulong_t dirfd,
+	    const kernel_ulong_t pathname,
+	    const kernel_ulong_t times)
+{
+	long rc = syscall(__NR_futimesat, dirfd, pathname, times);
+	errstr = sprintrc(rc);
+	return rc;
+}
 
 int
 main(void)
 {
-	struct timeval tv;
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_fail("gettimeofday");
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xbadfaceddeadbeaf;
+	static const kernel_ulong_t kfdcwd =
+		(kernel_ulong_t) 0xdefaced00000000 | -100U;
+	static const char proto_fname[] = "futimesat_sample";
+	static const char qname[] = "\"futimesat_sample\"";
 
-	static const char sample[] = "futimesat_sample";
-	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) 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());
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	struct timeval *const tv = tail_alloc(sizeof(*tv) * 2);
 
 	(void) close(0);
-	rc = syscall(__NR_futimesat, 0, "", ts);
-	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());
+
+	/* dirfd */
+	k_futimesat(0, kfname, 0);
+	printf("futimesat(0, %s, NULL) = %s\n", qname, errstr);
+
+	k_futimesat(bogus_fd, kfname, 0);
+	printf("futimesat(%d, %s, NULL) = %s\n", (int) bogus_fd, qname, errstr);
+
+	k_futimesat(-100U, kfname, 0);
+	printf("futimesat(AT_FDCWD, %s, NULL) = %s\n", qname, errstr);
+
+	k_futimesat(kfdcwd, kfname, 0);
+	printf("futimesat(AT_FDCWD, %s, NULL) = %s\n", qname, errstr);
+
+	/* pathname */
+	k_futimesat(kfdcwd, 0, 0);
+	printf("futimesat(AT_FDCWD, NULL, NULL) = %s\n", errstr);
+
+	k_futimesat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0);
+	printf("futimesat(AT_FDCWD, \"\", NULL) = %s\n", errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_futimesat(kfdcwd, kfname, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("futimesat(AT_FDCWD, %p, NULL) = %s\n", fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_futimesat(kfdcwd, f8ill_ptr_to_kulong(fname), 0);
+		printf("futimesat(AT_FDCWD, %#jx, NULL) = %s\n",
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_futimesat(kfdcwd, kfname, (uintptr_t) (tv + 1));
+	printf("futimesat(AT_FDCWD, %s, %p) = %s\n",
+	       qname, tv + 1, errstr);
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) (tv + 2));
+	printf("futimesat(AT_FDCWD, %s, %p) = %s\n",
+	       qname, tv + 2, errstr);
+
+	tv[0].tv_sec = 0xdeadbeefU;
+	tv[0].tv_usec = 0xfacefeedU;
+	tv[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv[1].tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_sec = 1492356708;
+	tv[0].tv_usec = 567891234;
+	tv[1].tv_sec = 1492357086;
+	tv[1].tv_usec = 678902345;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_usec = 567891;
+	tv[1].tv_usec = 678902;
+
+	k_futimesat(kfdcwd, kfname, (uintptr_t) tv);
+	printf("futimesat(AT_FDCWD, %s, [", qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_futimesat(kfdcwd, kfname, f8ill_ptr_to_kulong(tv));
+		printf("futimesat(AT_FDCWD, %s, %#jx) = %s\n",
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(tv), errstr);
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/futimesat.gen.test b/tests/futimesat.gen.test
new file mode 100755
index 0000000..c3add8c
--- /dev/null
+++ b/tests/futimesat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (futimesat -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests/futimesat.test b/tests/futimesat.test
deleted file mode 100755
index 3a67c04..0000000
--- a/tests/futimesat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check futimesat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests/gen_pure_executables.sh b/tests/gen_pure_executables.sh
new file mode 100755
index 0000000..c0e2152
--- /dev/null
+++ b/tests/gen_pure_executables.sh
@@ -0,0 +1,50 @@
+#!/bin/sh -efu
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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.
+
+usage()
+{
+	cat >&2 <<EOF
+Usage: $0 [<input> [<output>]]
+
+Generate pure_executables.am from <input> list.
+Deduce output file from <input> unless an <output> is specified.
+EOF
+	exit 1
+}
+
+input="${0%/*}/pure_executables.list"
+[ $# -eq 0 ] || { input="$1"; shift; }
+output="$(dirname "$input")/pure_executables.am"
+[ $# -eq 0 ] || { output="$1"; shift; }
+[ $# -eq 0 ] || usage
+
+exec > "$output"
+
+echo "# Generated by $0 from $input; do not edit."
+echo 'PURE_EXECUTABLES = \'
+sed -n 's/^[^#].*/  & \\/p' < "$input"
+echo '  #'
diff --git a/tests/gen_tests.in b/tests/gen_tests.in
new file mode 100644
index 0000000..be0a3a2
--- /dev/null
+++ b/tests/gen_tests.in
@@ -0,0 +1,348 @@
+# Input for gen_tests.sh
+#
+# Copyright (c) 2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+_newselect
+accept	-a22
+accept4	-a37
+access	-a30 -P access_sample
+acct	-a20
+add_key	-a30 -s12
+adjtimex	-a15
+aio	-a14 -e trace=io_setup,io_submit,io_getevents,io_cancel,io_destroy
+alarm	-a10
+bpf	-a20
+btrfs	+ioctl.test
+chmod	-a28
+chown	-a28
+chown32	-a31
+chroot	-a24
+clock	test_trace_expr 'times|fcntl.*' -e/clock
+clock_adjtime	-a37
+clock_nanosleep	-e trace=clock_nanosleep,clock_gettime
+clock_xettime	-a36 -e trace=clock_getres,clock_gettime,clock_settime
+copy_file_range
+creat	-a20
+delete_module	-a23
+dup	-a8
+dup2	-a13
+dup3	-a24
+epoll_create	-a17
+epoll_create1	-a28
+epoll_ctl
+epoll_pwait
+epoll_wait	-a26
+erestartsys	-a34 -e signal=none -e trace=recvfrom
+execveat
+execveat-v	-v -e trace=execveat
+faccessat	-P $NAME.sample
+fadvise64_64	+fadvise64.test
+fallocate	-a18
+fanotify_init
+fanotify_mark	-a32
+fchdir	-a11
+fchmod	-a15
+fchmodat
+fchown	-a16
+fchown32	-a18
+fchownat
+fcntl	-a8
+fcntl64	-a8
+fdatasync	-a14
+file_handle	-e trace=name_to_handle_at,open_by_handle_at
+file_ioctl	+ioctl.test
+finit_module	-a25
+flock	-a19
+fork-f	-a26 -qq -f -e signal=none -e trace=chdir
+fstat	-a15 -v -P stat.sample
+fstat64	-a17 -v -P stat.sample
+fstatat64	-a32 -v -P stat.sample -P /dev/full
+fstatfs	-a18
+fstatfs64	-a24
+fsync	-a10
+ftruncate	-a24
+ftruncate64	-a36
+futimesat	-a28
+get_mempolicy	-s3 -a38
+getcpu	-a25
+getcwd	-a18
+getdents	-a22 -v
+getdents64	-a24 -v
+getegid	+getuid.test
+getegid32	+getuid.test
+geteuid	+getuid.test
+geteuid32	+getuid.test
+getgid	+getuid.test
+getgid32	+getuid.test
+getgroups	-a17
+getgroups32	-a19
+getpeername	-a27
+getpgrp	-a10
+getpid	-a9
+getppid	-a10
+getrandom	-a32 -s3
+getresgid	-a25
+getresgid32	-a27
+getresuid	-a25
+getresuid32	-a27
+getrlimit	-a27
+getrusage	-v
+getsid	-a10
+getsockname	-a27
+gettid	-a9
+getuid32	+getuid.test
+getxxid	-a10 -e trace=getxpid,getxuid,getxgid
+inet-cmsg	-e trace=recvmsg
+init_module	-a27
+inotify	-a23 -e trace=inotify_add_watch,inotify_rm_watch
+inotify_init1	-a27
+int_0x80	-a11 -e trace=getgid32
+ioctl_block	+ioctl.test
+ioctl_evdev	+ioctl.test
+ioctl_evdev-v	+ioctl-v.sh
+ioctl_loop	+ioctl.test
+ioctl_loop-v	+ioctl-v.sh
+ioctl_mtd	+ioctl.test
+ioctl_rtc	+ioctl.test
+ioctl_rtc-v	+ioctl-v.sh
+ioctl_scsi	+ioctl.test
+ioctl_sg_io_v3	+ioctl.test
+ioctl_sg_io_v4	+ioctl.test
+ioctl_uffdio	+ioctl.test
+ioctl_v4l2	+ioctl.test
+ioperm	-a27
+iopl	-a8
+ioprio	-a18 -e trace=ioprio_get,ioprio_set
+ip_mreq	-e trace=setsockopt
+ipc	-a19
+ipc_msg	+ipc.sh
+ipc_sem	+ipc.sh
+ipc_shm	+ipc.sh
+kcmp	-a27
+kexec_file_load	-s9
+kexec_load	-s9
+keyctl	-a31 -s10
+kill	-a12 -esignal=none
+lchown	-a30
+lchown32	-a32
+link
+linkat
+lookup_dcookie	-a27
+lstat	-a32 -v -P stat.sample -P /dev/full
+lstat64	-a32 -v -P stat.sample -P /dev/full
+madvise	-a33
+mbind
+membarrier	-a36
+memfd_create
+migrate_pages	-a33
+mincore	-a22
+mkdir	-a20
+mkdirat	-a28
+mknod	-a18
+mknodat	-a35
+mlock	-a20 -e trace=mlock,munlock
+mlock2
+mlockall	-a12
+mmap64	+mmap.test
+mmsg	-e read=0 -e write=1 -e trace=recvmmsg,sendmmsg
+mmsg-silent	-a25 -e verbose=none -e trace=sendmmsg,recvmmsg
+mmsg_name	-a25 -e trace=sendmmsg,recvmmsg
+mmsg_name-v	-v -a25 -e trace=sendmmsg,recvmmsg
+mount
+move_pages	-s3
+mq	-a32 -e trace=mq_getsetattr,mq_open,mq_unlink
+mq_sendrecv	-a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-read	-eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+mq_sendrecv-write	-ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
+msg_control	-a21 -e trace=sendmsg
+msg_control-v	-v -a21 -e trace=sendmsg
+msg_name	-a20 -e trace=recvmsg
+munlockall	-a13
+nanosleep	-a20
+net-icmp_filter	-e trace=getsockopt,setsockopt
+net-sockaddr	-a24 -e trace=connect
+netlink_protocol	-e trace=%network
+newfstatat	-a32 -v -P stat.sample -P /dev/full
+old_mmap	-a11 -e trace=mmap
+oldfstat	-a18 -v -P stat.sample
+oldlstat	-a32 -v -P stat.sample -P /dev/full
+oldstat	-a32 -v -P stat.sample -P /dev/full
+open	-a30 -P $NAME.sample
+openat	-P $NAME.sample
+osf_utimes	-a21
+pause	-a8 -esignal=none
+perf_event_open	-a1
+perf_event_open_nonverbose	-a34 -e verbose=none -e trace=perf_event_open
+perf_event_open_unabbrev	-a1 -v -e trace=perf_event_open
+pipe2	-a15
+pkey_alloc	-a17
+pkey_free	-a13
+pkey_mprotect	-a37
+ppoll	-s2
+ppoll-v	-v -s2 -e trace=ppoll
+pread64-pwrite64	-a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null
+preadv	-a21
+preadv-pwritev	-a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
+preadv2-pwritev2	-a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
+printstr	-e trace=writev
+prlimit64
+process_vm_readv	-s5 -a37
+process_vm_writev	-s5 -a38
+pselect6
+ptrace	-a23 -e signal=none
+pwritev	-a22 -s7
+quotactl
+quotactl-v	-v -e trace=quotactl
+quotactl-xfs	-e trace=quotactl
+quotactl-xfs-v	-v -e trace=quotactl
+read-write	-a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
+readahead	-a1
+readdir	-a16
+readlink	-xx
+readlinkat	-xx
+reboot
+recvfrom	-a35
+recvmmsg-timeout	-a25 -e trace=recvmmsg
+recvmsg	-eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
+regex	test_trace_expr '' -etrace='/^(.*_)?statv?fs'
+remap_file_pages
+rename	-a35
+renameat
+renameat2
+request_key	-a33 -s12
+rmdir	-a22
+rt_sigpending	-a20
+rt_sigprocmask
+rt_sigqueueinfo	-esignal=none
+rt_sigreturn	-esignal='!USR1'
+rt_sigsuspend	-a20 -esignal=none
+rt_sigtimedwait	-a38
+rt_tgsigqueueinfo	-esignal=none
+sched	test_trace_expr times -e/sched
+sched_get_priority_mxx	-a33 -e trace=sched_get_priority_min,sched_get_priority_max
+sched_rr_get_interval	-a31
+sched_xetaffinity	-a28 -e trace=sched_getaffinity,sched_setaffinity
+sched_xetattr	-a29 -e trace=sched_getattr,sched_setattr
+sched_xetparam	-a23 -e trace=sched_getparam,sched_setparam
+sched_xetscheduler	-a22 -e trace=sched_getscheduler,sched_setscheduler
+sched_yield	-a14
+seccomp-filter	-e trace=seccomp
+seccomp-filter-v	-v -e trace=seccomp
+select	-a36
+semop	-a32 -e trace=semop,semtimedop
+sendfile	-a27
+sendfile64	-a29
+set_mempolicy	-s3 -a35
+setdomainname	-a24
+setfsgid	-a12
+setfsgid32	-a14
+setfsuid	-a12
+setfsuid32	-a14
+setgid	-a10
+setgid32	-a12
+setgroups	-s2 -a17
+setgroups32	-s2 -a19
+sethostname	-a22
+setns	-a21
+setregid	-a15
+setregid32	-a17
+setresgid	-a19
+setresgid32	-a21
+setresuid	-a19
+setresuid32	-a21
+setreuid	-a15
+setreuid32	-a17
+setrlimit	-a27
+setuid	-a10
+setuid32	-a12
+shmxt	-a11 -e trace='/(osf_)?shmat,shmdt'
+shutdown	-a24
+siginfo	-e trace=none
+signal_receive	-a16 -e trace=kill
+signalfd4
+sigreturn	-esignal='!USR1'
+sigsuspend	-a19 -esignal=none
+socketcall	-a20
+splice
+stat	-a32 -v -P stat.sample -P /dev/full
+stat64	-a32 -v -P stat.sample -P /dev/full
+statfs	-a17
+statfs64	-a23
+statx	-a32 -v -P stat.sample -P /dev/full
+swap	-a23 -e trace=swapon,swapoff
+sxetmask	-a11 -e trace=sgetmask,ssetmask
+symlink	-a34
+symlinkat
+sync	-a7
+sync_file_range
+sync_file_range2
+sysinfo	-a14
+syslog	-a36
+tee
+time	-a10
+timer_create
+timer_xettime	-e trace=timer_create,timer_settime,timer_gettime
+timerfd_xettime	-e trace=timerfd_create,timerfd_settime,timerfd_gettime
+times	-esignal=none
+times-fail	-a12 -e trace=times
+trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
+trace_fstatfs	test_trace_expr '' -e%fstatfs
+trace_lstat	test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full
+trace_question	test_trace_expr '' -e?osf_utimes,?/^pkey_.*
+trace_stat	test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full
+trace_stat_like	test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
+trace_statfs	test_trace_expr '' -e%statfs
+trace_statfs_like	test_trace_expr '' -e%%statfs
+truncate
+truncate64
+ugetrlimit	-a28
+umask	-a11
+umoven-illptr	-a36 -e trace=nanosleep
+umovestr-illptr	-a11 -e trace=chdir
+umovestr3	-a14 -e trace=chdir
+unlink	-a24
+unlinkat	-a35
+unshare	-a11
+userfaultfd	-a38
+ustat	-a33
+utime	-a16
+utimensat	-a33
+utimes	-a17
+vfork-f	-a26 -qq -f -e signal=none -e trace=chdir
+vhangup	-a10
+vmsplice	-ewrite=1
+wait4	-esignal=none
+wait4-v	-v -e signal=none -e trace=wait4
+waitid	-esignal=none
+waitid-v	-v -e signal=none -e trace=waitid
+waitpid	-a28
+xattr	-a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
+xattr-strings	-a22 -s 4 -e trace=fsetxattr
+xet_robust_list	-a24 -e trace=get_robust_list,set_robust_list
+xetitimer	-a29 -e trace=setitimer,getitimer
+xetpgid	-a11 -e trace=getpgid,setpgid
+xetpriority	-a29 -e trace=getpriority,setpriority
+xettimeofday	-a20 -e trace=gettimeofday,settimeofday
diff --git a/tests/gen_tests.sh b/tests/gen_tests.sh
new file mode 100755
index 0000000..b062436
--- /dev/null
+++ b/tests/gen_tests.sh
@@ -0,0 +1,110 @@
+#!/bin/sh -efu
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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.
+
+usage()
+{
+	cat >&2 <<EOF
+Usage: $0 [<input> [<output>]]
+
+Generate test script(s) from <input> table.
+If a <output> is specified, generate the script for this test only,
+otherwise generate scripts for all tests specified in <input> table.
+EOF
+	exit 1
+}
+
+input="${0%/*}/gen_tests.in"
+[ $# -eq 0 ] || { input="$1"; shift; }
+output=
+[ $# -eq 0 ] || { output="$1"; shift; }
+[ $# -eq 0 ] || usage
+
+if [ -n "$output" ]; then
+	match="${output##*/}"
+	match="${match%.gen.test}"
+	[ -n "$match" ] || usage
+else
+	match=
+	dir="$(dirname "$input")"
+fi
+
+names=
+
+while read -r name args; do {
+	[ -n "${name###*}" ] || continue
+	if [ -z "$match" ]; then
+		names="$names $name"
+		output="$dir/$name.gen.test"
+	else
+		[ "$match" = "$name" ] || continue
+	fi
+
+	hdr="\
+#!/bin/sh -efu
+# Generated by $0 from $input ($name $args); do not edit."
+
+	case "$args" in
+		+*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/${args#+}"
+		EOF
+		;;
+
+		''|-*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/init.sh"
+		run_strace_match_diff $args
+		EOF
+		;;
+
+		*)
+		cat <<-EOF
+		$hdr
+		. "\${srcdir=.}/init.sh"
+		$args
+		EOF
+		;;
+	esac > "$output"
+
+	chmod a+x "$output"
+} < /dev/null; done < "$input"
+
+if [ -n "$names" ]; then
+	{
+		printf '# Generated by %s from %s; do not edit.\n' "$0" "$input"
+		printf 'GEN_TESTS ='
+		printf ' %s.gen.test' $names
+		echo
+		target='$(srcdir)/%s.gen.test'
+		dep1='$(abs_srcdir)/gen_tests.sh'
+		dep2='$(srcdir)/gen_tests.in'
+		recipe='$(AM_V_GEN) $^ $@'
+		printf "\\n$target: $dep1 $dep2\\n\\t$recipe\\n" $names
+	} > "$dir/gen_tests.am"
+fi
diff --git a/tests/get_mempolicy.gen.test b/tests/get_mempolicy.gen.test
new file mode 100755
index 0000000..ec6efb3
--- /dev/null
+++ b/tests/get_mempolicy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (get_mempolicy -s3 -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3 -a38
diff --git a/tests/get_mempolicy.test b/tests/get_mempolicy.test
deleted file mode 100755
index 9227097..0000000
--- a/tests/get_mempolicy.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check get_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a38
diff --git a/tests/get_regs.test b/tests/get_regs.test
new file mode 100755
index 0000000..c673fe9
--- /dev/null
+++ b/tests/get_regs.test
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Check that get_regs is skipped for filtered syscalls.
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# 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_prog env
+check_prog grep
+run_prog ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -etrace=none ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -eptrace -o '|grep -c ^ptrace > less' \
+	-- ${STRACE##* } -o "$LOG" $args > /dev/null
+
+[ "$(cat less)" -gt 0 ] ||
+	fail_ "$STRACE $args failed to catch any ptrace syscalls"
+
+run_strace -qq -esignal=none -eraw=all -etrace=all ../gettid > /dev/null
+
+run_strace -qq -esignal=none -eraw=all -eptrace -o '|grep -c ^ptrace > more' \
+	-- ${STRACE##* } -o "$LOG" $args > /dev/null
+
+[ "$(cat more)" -gt 0 ] ||
+	fail_ "$STRACE $args failed to catch any ptrace syscalls"
+
+[ "$(cat more)" -gt "$(cat less)" ] ||
+	fail_ "$STRACE failed to skip get_regs for filtered syscalls"
diff --git a/tests/get_sigset_size.c b/tests/get_sigset_size.c
new file mode 100644
index 0000000..357829d
--- /dev/null
+++ b/tests/get_sigset_size.c
@@ -0,0 +1,66 @@
+/*
+ * Find out the size of kernel's sigset_t.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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>
+
+/*
+ * If the sigset size specified to rt_sigprocmask is not equal to the size
+ * of kernel's sigset_t, the kernel does not look at anything else and fails
+ * with EINVAL.
+ *
+ * Otherwise, if both pointers specified to rt_sigprocmask are NULL,
+ * the kernel just returns 0.
+ *
+ * This vaguely documented kernel feature can be used to probe
+ * the kernel and find out the size of kernel's sigset_t.
+ */
+
+unsigned int
+get_sigset_size(void)
+{
+	static unsigned int set_size;
+
+	if (!set_size) {
+		static const unsigned int big_size = 1024 / 8;
+
+		for (set_size = big_size; set_size; set_size >>= 1) {
+			if (!syscall(__NR_rt_sigprocmask, SIG_SETMASK,
+				     NULL, NULL, set_size))
+				break;
+		}
+
+		if (!set_size)
+			perror_msg_and_fail("rt_sigprocmask");
+	}
+
+	return set_size;
+}
diff --git a/tests/getcpu.c b/tests/getcpu.c
index ec671f1..3cb49cb 100644
--- a/tests/getcpu.c
+++ b/tests/getcpu.c
@@ -2,6 +2,7 @@
  * Check decoding of getcpu syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,8 +48,8 @@
 		(unsigned *) tail_alloc(sizeof(* bogus_tcache)) + 1;
 
 	long res;
-	unsigned *cpu = tail_alloc(sizeof(*cpu));
-	unsigned *node = tail_alloc(sizeof(*node));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, cpu);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, node);
 	long * tcache = tail_alloc(128);
 
 	res = syscall(__NR_getcpu, NULL, NULL, NULL);
diff --git a/tests/getcpu.gen.test b/tests/getcpu.gen.test
new file mode 100755
index 0000000..44d9a4b
--- /dev/null
+++ b/tests/getcpu.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getcpu -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests/getcpu.test b/tests/getcpu.test
deleted file mode 100755
index fe21265..0000000
--- a/tests/getcpu.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getcpu syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests/getcwd.gen.test b/tests/getcwd.gen.test
new file mode 100755
index 0000000..af2ff08
--- /dev/null
+++ b/tests/getcwd.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getcwd -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests/getcwd.test b/tests/getcwd.test
deleted file mode 100755
index 405187e..0000000
--- a/tests/getcwd.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getcwd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests/getdents.c b/tests/getdents.c
index b787c83..338eab0 100644
--- a/tests/getdents.c
+++ b/tests/getdents.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -92,12 +93,10 @@
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "getdents.test.tmp.dir";
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests/getdents.gen.test b/tests/getdents.gen.test
new file mode 100755
index 0000000..0db5f20
--- /dev/null
+++ b/tests/getdents.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getdents -a22 -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -v
diff --git a/tests/getdents.test b/tests/getdents.test
deleted file mode 100755
index 23c4ac3..0000000
--- a/tests/getdents.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check getdents syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a22 -v
diff --git a/tests/getdents64.c b/tests/getdents64.c
index 9da2a23..1f6b47e 100644
--- a/tests/getdents64.c
+++ b/tests/getdents64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -98,12 +99,10 @@
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "getdents64.test.tmp.dir";
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests/getdents64.gen.test b/tests/getdents64.gen.test
new file mode 100755
index 0000000..6e24d40
--- /dev/null
+++ b/tests/getdents64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getdents64 -a24 -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -v
diff --git a/tests/getdents64.test b/tests/getdents64.test
deleted file mode 100755
index 401cfc7..0000000
--- a/tests/getdents64.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check getdents64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a24 -v
diff --git a/tests/getegid.gen.test b/tests/getegid.gen.test
new file mode 100755
index 0000000..d6fecc2
--- /dev/null
+++ b/tests/getegid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getegid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getegid.test b/tests/getegid.test
deleted file mode 100755
index 4354158..0000000
--- a/tests/getegid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getegid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests/getegid32.gen.test b/tests/getegid32.gen.test
new file mode 100755
index 0000000..38c4a4b
--- /dev/null
+++ b/tests/getegid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getegid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getegid32.test b/tests/getegid32.test
deleted file mode 100755
index a266620..0000000
--- a/tests/getegid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getegid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests/geteuid.gen.test b/tests/geteuid.gen.test
new file mode 100755
index 0000000..9e8c12f
--- /dev/null
+++ b/tests/geteuid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (geteuid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests/geteuid.test b/tests/geteuid.test
deleted file mode 100755
index 14ff6a6..0000000
--- a/tests/geteuid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check geteuid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests/geteuid32.gen.test b/tests/geteuid32.gen.test
new file mode 100755
index 0000000..5b78331
--- /dev/null
+++ b/tests/geteuid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (geteuid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests/geteuid32.test b/tests/geteuid32.test
deleted file mode 100755
index 9dd173d..0000000
--- a/tests/geteuid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check geteuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests/getgid.gen.test b/tests/getgid.gen.test
new file mode 100755
index 0000000..5a87aee
--- /dev/null
+++ b/tests/getgid.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgid +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getgid.test b/tests/getgid.test
deleted file mode 100755
index f4f0c2e..0000000
--- a/tests/getgid.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getgid syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests/getgid32.gen.test b/tests/getgid32.gen.test
new file mode 100755
index 0000000..05e2d70
--- /dev/null
+++ b/tests/getgid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getgid32.test b/tests/getgid32.test
deleted file mode 100755
index 3bc98d1..0000000
--- a/tests/getgid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getgid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests/getgroups.c b/tests/getgroups.c
index 2617303..c7cd874 100644
--- a/tests/getgroups.c
+++ b/tests/getgroups.c
@@ -2,6 +2,7 @@
  * Check decoding of getgroups/getgroups32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -91,7 +92,7 @@
 	if (ngroups < 0)
 		perror_msg_and_fail(SYSCALL_NAME);
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK, 0);
 	printf("%s(0, NULL) = %ld\n", SYSCALL_NAME, rc);
 
 	rc = syscall(SYSCALL_NR, -1U, 0);
@@ -105,7 +106,7 @@
 	rc = syscall(SYSCALL_NR, ngroups_max, 0);
 	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL | ngroups_max, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK | ngroups_max, 0);
 	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
 	/* check how the second argument is decoded */
diff --git a/tests/getgroups.gen.test b/tests/getgroups.gen.test
new file mode 100755
index 0000000..48b09be
--- /dev/null
+++ b/tests/getgroups.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgroups -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/getgroups.test b/tests/getgroups.test
deleted file mode 100755
index 2eb3056..0000000
--- a/tests/getgroups.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests/getgroups32.gen.test b/tests/getgroups32.gen.test
new file mode 100755
index 0000000..74637d0
--- /dev/null
+++ b/tests/getgroups32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getgroups32 -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests/getgroups32.test b/tests/getgroups32.test
deleted file mode 100755
index 12a8bcc..0000000
--- a/tests/getgroups32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests/getpeername.gen.test b/tests/getpeername.gen.test
new file mode 100755
index 0000000..66fb0a9
--- /dev/null
+++ b/tests/getpeername.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpeername -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/getpeername.test b/tests/getpeername.test
deleted file mode 100755
index 81f01bb..0000000
--- a/tests/getpeername.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getpeername syscall.
-
-. "${srcdir=.}/getsockname.test"
diff --git a/tests/getpgrp.gen.test b/tests/getpgrp.gen.test
new file mode 100755
index 0000000..1ec48e9
--- /dev/null
+++ b/tests/getpgrp.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpgrp -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/getpgrp.test b/tests/getpgrp.test
deleted file mode 100755
index e116bb5..0000000
--- a/tests/getpgrp.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpgrp syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests/getpid.c b/tests/getpid.c
new file mode 100644
index 0000000..96f2d15
--- /dev/null
+++ b/tests/getpid.c
@@ -0,0 +1,21 @@
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_getpid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	printf("getpid() = %ld\n", syscall(__NR_getpid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getpid")
+
+#endif
diff --git a/tests/getpid.gen.test b/tests/getpid.gen.test
new file mode 100755
index 0000000..4691774
--- /dev/null
+++ b/tests/getpid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getpid -a9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a9
diff --git a/tests/getppid.c b/tests/getppid.c
new file mode 100644
index 0000000..58901fc
--- /dev/null
+++ b/tests/getppid.c
@@ -0,0 +1,21 @@
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_getppid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	printf("getppid() = %ld\n", syscall(__NR_getppid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getppid")
+
+#endif
diff --git a/tests/getppid.gen.test b/tests/getppid.gen.test
new file mode 100755
index 0000000..52116a0
--- /dev/null
+++ b/tests/getppid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getppid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/getrandom.gen.test b/tests/getrandom.gen.test
new file mode 100755
index 0000000..2f5b989
--- /dev/null
+++ b/tests/getrandom.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrandom -a32 -s3); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -s3
diff --git a/tests/getrandom.test b/tests/getrandom.test
deleted file mode 100755
index ad34048..0000000
--- a/tests/getrandom.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getrandom syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -s3
diff --git a/tests/getresgid.gen.test b/tests/getresgid.gen.test
new file mode 100755
index 0000000..f53bccc
--- /dev/null
+++ b/tests/getresgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresgid -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests/getresgid.test b/tests/getresgid.test
deleted file mode 100755
index 9f5186e..0000000
--- a/tests/getresgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests/getresgid32.gen.test b/tests/getresgid32.gen.test
new file mode 100755
index 0000000..5f00506
--- /dev/null
+++ b/tests/getresgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresgid32 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/getresgid32.test b/tests/getresgid32.test
deleted file mode 100755
index a979891..0000000
--- a/tests/getresgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/getresugid.c b/tests/getresugid.c
index 0ee721c..af9f015 100644
--- a/tests/getresugid.c
+++ b/tests/getresugid.c
@@ -2,6 +2,7 @@
  * Check decoding of getresuid/getresgid/getresuid32/getresgid32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,9 +35,9 @@
 int
 main(void)
 {
-	unsigned UGID_TYPE *const r = tail_alloc(sizeof(*r));
-	unsigned UGID_TYPE *const e = tail_alloc(sizeof(*e));
-	unsigned UGID_TYPE *const s = tail_alloc(sizeof(*s));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, r);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, e);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned UGID_TYPE, s);
 
 	if (syscall(SYSCALL_NR, r, e, s))
 		perror_msg_and_fail(SYSCALL_NAME);
diff --git a/tests/getresuid.gen.test b/tests/getresuid.gen.test
new file mode 100755
index 0000000..e947a94
--- /dev/null
+++ b/tests/getresuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresuid -a25); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests/getresuid.test b/tests/getresuid.test
deleted file mode 100755
index eee1ac0..0000000
--- a/tests/getresuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25
diff --git a/tests/getresuid32.gen.test b/tests/getresuid32.gen.test
new file mode 100755
index 0000000..b088a22
--- /dev/null
+++ b/tests/getresuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getresuid32 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/getresuid32.test b/tests/getresuid32.test
deleted file mode 100755
index fdc76a3..0000000
--- a/tests/getresuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/getrlimit.gen.test b/tests/getrlimit.gen.test
new file mode 100755
index 0000000..b97c176
--- /dev/null
+++ b/tests/getrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrlimit -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/getrlimit.test b/tests/getrlimit.test
deleted file mode 100755
index 6fd88ae..0000000
--- a/tests/getrlimit.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getrlimit syscall.
-
-. "${srcdir=.}/setrlimit.test"
diff --git a/tests/getrusage.c b/tests/getrusage.c
index 8b76eff..bb52dd9 100644
--- a/tests/getrusage.c
+++ b/tests/getrusage.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2016 Fei Jie <feij.fnst@cn.fujitsu.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,27 +36,46 @@
 # include <stdint.h>
 # include <sys/resource.h>
 # include <unistd.h>
+# include <errno.h>
+
+# include "xlat.h"
+# include "xlat/usagewho.h"
 
 int
-main(void)
+invoke_print(int who, const char *who_str, struct rusage *usage)
 {
-	struct rusage *const usage = tail_alloc(sizeof(struct rusage));
-	int rc = syscall(__NR_getrusage, RUSAGE_SELF, usage);
-	printf("getrusage(RUSAGE_SELF, {ru_utime={tv_sec=%jd, tv_usec=%jd}"
-	       ", ru_stime={tv_sec=%jd, tv_usec=%jd}, ru_maxrss=%lu"
+	int rc = syscall(__NR_getrusage, who, usage);
+	int saved_errno = errno;
+	printf("getrusage(%s, {ru_utime={tv_sec=%lld, tv_usec=%llu}"
+	       ", ru_stime={tv_sec=%lld, tv_usec=%llu}, 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",
-	       (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,
+	       ", ru_nsignals=%lu, ru_nvcsw=%lu, ru_nivcsw=%lu}) = %s\n",
+	       who_str,
+	       (long long) usage->ru_utime.tv_sec,
+	       zero_extend_signed_to_ull(usage->ru_utime.tv_usec),
+	       (long long) usage->ru_stime.tv_sec,
+	       zero_extend_signed_to_ull(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,
 	       usage->ru_msgsnd, usage->ru_msgrcv, usage->ru_nsignals,
-	       usage->ru_nvcsw, usage->ru_nivcsw, rc);
+	       usage->ru_nvcsw, usage->ru_nivcsw, sprintrc(rc));
+	errno = saved_errno;
+	return rc;
+}
+
+int
+main(void)
+{
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, usage);
+	if (invoke_print(ARG_STR(RUSAGE_SELF), usage)) {
+		perror_msg_and_fail("RUSAGE_SELF");
+	}
+	if (invoke_print(ARG_STR(RUSAGE_THREAD), usage) && errno != EINVAL) {
+		perror_msg_and_fail("RUSAGE_THREAD");
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/getrusage.gen.test b/tests/getrusage.gen.test
new file mode 100755
index 0000000..c4fb182
--- /dev/null
+++ b/tests/getrusage.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getrusage -v); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v
diff --git a/tests/getrusage.test b/tests/getrusage.test
deleted file mode 100755
index 4a3e8ed..0000000
--- a/tests/getrusage.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getrusage syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v
diff --git a/tests/getsid.gen.test b/tests/getsid.gen.test
new file mode 100755
index 0000000..123f177
--- /dev/null
+++ b/tests/getsid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getsid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/getsid.test b/tests/getsid.test
deleted file mode 100755
index 3fcf979..0000000
--- a/tests/getsid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getsid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests/getsockname.gen.test b/tests/getsockname.gen.test
new file mode 100755
index 0000000..cd40d3e
--- /dev/null
+++ b/tests/getsockname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getsockname -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/getsockname.test b/tests/getsockname.test
deleted file mode 100755
index 99b2850..0000000
--- a/tests/getsockname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getsockname syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/gettid.c b/tests/gettid.c
new file mode 100644
index 0000000..9b13eb8
--- /dev/null
+++ b/tests/gettid.c
@@ -0,0 +1,12 @@
+#include "tests.h"
+#include <stdio.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+	printf("gettid() = %ld\n", syscall(__NR_gettid));
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/gettid.gen.test b/tests/gettid.gen.test
new file mode 100755
index 0000000..1ceaa53
--- /dev/null
+++ b/tests/gettid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (gettid -a9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a9
diff --git a/tests/getuid.test b/tests/getuid.test
index 9aaf74b..0bad1ff 100755
--- a/tests/getuid.test
+++ b/tests/getuid.test
@@ -9,4 +9,3 @@
 run_strace -qq -a9 -e$NAME $args > "$EXP"
 uniq < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$OUT" "$EXP"
diff --git a/tests/getuid32.gen.test b/tests/getuid32.gen.test
new file mode 100755
index 0000000..ac0d0ad
--- /dev/null
+++ b/tests/getuid32.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getuid32 +getuid.test); do not edit.
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getuid32.test b/tests/getuid32.test
deleted file mode 100755
index ae0c557..0000000
--- a/tests/getuid32.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check getuid32 syscall decoding.
-
-. "${srcdir=.}/getuid.test"
diff --git a/tests/getxxid.gen.test b/tests/getxxid.gen.test
new file mode 100755
index 0000000..5aa89f6
--- /dev/null
+++ b/tests/getxxid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (getxxid -a10 -e trace=getxpid,getxuid,getxgid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
diff --git a/tests/getxxid.test b/tests/getxxid.test
deleted file mode 100755
index 9b89d7c..0000000
--- a/tests/getxxid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getxpid, getxuid, and getxgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10 -e trace=getxpid,getxuid,getxgid
diff --git a/tests/inet-cmsg.gen.test b/tests/inet-cmsg.gen.test
new file mode 100755
index 0000000..8eeb7c9
--- /dev/null
+++ b/tests/inet-cmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inet-cmsg -e trace=recvmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=recvmsg
diff --git a/tests/inet-cmsg.test b/tests/inet-cmsg.test
deleted file mode 100755
index 52ff5f5..0000000
--- a/tests/inet-cmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check IPPROTO_IP control messages decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmsg
diff --git a/tests/init.sh b/tests/init.sh
index f368b98..2844765 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -1,6 +1,7 @@
 #!/bin/sh
 #
 # Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -26,10 +27,9 @@
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 ME_="${0##*/}"
-LOG="$ME_.tmp"
-OUT="$LOG.out"
-EXP="$LOG.exp"
-NAME="${ME_%.test}"
+LOG="log"
+OUT="out"
+EXP="exp"
 
 warn_() { printf >&2 '%s\n' "$*"; }
 fail_() { warn_ "$ME_: failed test: $*"; exit 1; }
@@ -52,7 +52,7 @@
 run_prog()
 {
 	if [ $# -eq 0 ]; then
-		set -- "./$NAME"
+		set -- "../$NAME"
 	fi
 	args="$*"
 	"$@" || {
@@ -72,6 +72,20 @@
 	"$@" || framework_skip_ "$args failed with code $?"
 }
 
+try_run_prog()
+{
+	local rc
+
+	"$@" > /dev/null || {
+		rc=$?
+		if [ $rc -eq 77 ]; then
+			return 1
+		else
+			fail_ "$* failed with code $rc"
+		fi
+	}
+}
+
 run_strace()
 {
 	> "$LOG" || fail_ "failed to write $LOG"
@@ -213,7 +227,6 @@
 	run_prog > /dev/null
 	run_strace "$@" $args > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 # Print kernel version code.
@@ -250,22 +263,110 @@
 	cat < "/proc/$pid/status" | grep "$@"
 }
 
+# Subtracts one program set from another.
+# If an optional regular expression is specified, the lines in the minuend file
+# that match this regular expression are elso excluded from the output.
+#
+# Usage: prog_set_subtract minuend_file subtrahend_file [subtrahend_regexp]
+prog_set_subtract()
+{
+	local min sub re pat
+	min="$1"; shift
+	sub="$1"; shift
+	re="${1-}"
+	pat="$re|$(sed 's/[[:space:]].*//' < "$sub" | tr -s '\n' '|')"
+	grep -E -v -x -e "$pat" < "$min"
+}
+
+# Usage: test_pure_prog_set [--expfile FILE] COMMON_ARGS < tests_file
+# stdin should consist of lines in "test_name strace_args..." format.
+test_pure_prog_set()
+{
+	local expfile
+
+	expfile="$EXP"
+
+	while [ -n "$1" ]; do
+		case "$1" in
+		--expfile)
+			shift
+			expfile="$1"
+			shift
+			;;
+		*)
+			break
+			;;
+		esac
+	done
+
+	while read -r t prog_args; do {
+		# skip lines beginning with "#" symbol
+		[ "${t###}" = "$t" ] || continue
+
+		try_run_prog "../$t" || continue
+		run_strace $prog_args "$@" "../$t" > "$expfile"
+		match_diff "$LOG" "$expfile"
+	} < /dev/null; done
+}
+
+# Run strace against list of programs put in "$NAME.in" and then against the
+# rest of pure_executables.list with the expectation of empty output in the
+# latter case.
+#
+# Usage: source this file after init.sh and call:
+#   test_trace_expr subtrahend_regexp strace_args
+# Environment:
+#   $NAME:	test name, used for "$NAME.in" file containing list of tests
+#		for positive trace expression match;
+#   $srcdir:	used to find pure_executables.list and "$NAME.in" files.
+# Files created:
+#   negative.list: File containing list of tests for negative match.
+test_trace_expr()
+{
+	local subtrahend_regexp
+	subtrahend_regexp="$1"; shift
+	test_pure_prog_set "$@" < "$srcdir/$NAME.in"
+	prog_set_subtract "$srcdir/pure_executables.list" "$srcdir/$NAME.in" \
+		"$subtrahend_regexp" > negative.list
+	test_pure_prog_set --expfile /dev/null -qq -esignal=none "$@" \
+		< negative.list
+}
+
 check_prog cat
 check_prog rm
 
-rm -f "$LOG"
+case "$ME_" in
+	*.gen.test) NAME="${ME_%.gen.test}" ;;
+	*.test) NAME="${ME_%.test}" ;;
+	*) NAME=
+esac
 
-[ -n "${STRACE-}" ] || {
-	STRACE=../strace
-	case "${LOG_COMPILER-} ${LOG_FLAGS-}" in
-		*--suppressions=*--error-exitcode=*--tool=*)
+if [ -n "$NAME" ]; then
+	TESTDIR="$NAME.dir"
+	rm -rf -- "$TESTDIR"
+	mkdir -- "$TESTDIR"
+	cd "$TESTDIR"
+
+	case "$srcdir" in
+		/*) ;;
+		*) srcdir="../$srcdir" ;;
+	esac
+
+	[ -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
-}
+		esac
+	}
+else
+	[ -n "${STRACE-}" ] ||
+		STRACE=../strace
+fi
 
-: "${TIMEOUT_DURATION:=60}"
+: "${TIMEOUT_DURATION:=120}"
 : "${SLEEP_A_BIT:=sleep 1}"
 
 [ -z "${VERBOSE-}" ] ||
diff --git a/tests/init_delete_module.h b/tests/init_delete_module.h
index db550c3..cabf26f 100644
--- a/tests/init_delete_module.h
+++ b/tests/init_delete_module.h
@@ -3,6 +3,7 @@
  * and delete_module tests.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,9 +43,6 @@
 	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)
 {
diff --git a/tests/init_module.c b/tests/init_module.c
index 88ef9ec..8fbb263 100644
--- a/tests/init_module.c
+++ b/tests/init_module.c
@@ -2,6 +2,7 @@
  * Check decoding of init_module syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,9 +56,9 @@
 	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);
+	rc = syscall(__NR_init_module, NULL, F8ILL_KULONG_MASK, NULL);
 	printf("init_module(NULL, %llu, NULL) = %s\n",
-	       (unsigned long long) bogus_zero, sprintrc(rc));
+	       (unsigned long long) F8ILL_KULONG_MASK, sprintrc(rc));
 
 	rc = syscall(__NR_init_module, bogus_addr, 0, bogus_param1);
 	errstr = sprintrc(rc);
diff --git a/tests/init_module.gen.test b/tests/init_module.gen.test
new file mode 100755
index 0000000..8948e2e
--- /dev/null
+++ b/tests/init_module.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (init_module -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/init_module.test b/tests/init_module.test
deleted file mode 100755
index ef7c732..0000000
--- a/tests/init_module.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of init_module syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/inotify.gen.test b/tests/inotify.gen.test
new file mode 100755
index 0000000..7010206
--- /dev/null
+++ b/tests/inotify.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inotify -a23 -e trace=inotify_add_watch,inotify_rm_watch); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=inotify_add_watch,inotify_rm_watch
diff --git a/tests/inotify.test b/tests/inotify.test
deleted file mode 100755
index 436f3bc..0000000
--- a/tests/inotify.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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.gen.test b/tests/inotify_init1.gen.test
new file mode 100755
index 0000000..d847b50
--- /dev/null
+++ b/tests/inotify_init1.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (inotify_init1 -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/inotify_init1.test b/tests/inotify_init1.test
deleted file mode 100755
index 1a7c926..0000000
--- a/tests/inotify_init1.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of inotify_init1 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/int_0x80.c b/tests/int_0x80.c
new file mode 100644
index 0000000..012694f
--- /dev/null
+++ b/tests/int_0x80.c
@@ -0,0 +1,52 @@
+/*
+ * Check decoding of int 0x80 on x86_64, x32, and x86.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 __x86_64__ || defined __i386__
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	/* 200 is __NR_getgid32 on x86 and __NR_tkill on x86_64. */
+	__asm__("movl $200, %eax; int $0x80");
+	printf("getgid32() = %d\n", getegid());
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__x86_64__ || __i386__")
+
+#endif
diff --git a/tests/int_0x80.gen.test b/tests/int_0x80.gen.test
new file mode 100755
index 0000000..2ab4f2f
--- /dev/null
+++ b/tests/int_0x80.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (int_0x80 -a11 -e trace=getgid32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=getgid32
diff --git a/tests/ioctl-v.sh b/tests/ioctl-v.sh
new file mode 100755
index 0000000..be89671
--- /dev/null
+++ b/tests/ioctl-v.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check non-abbreviated decoding of ioctls.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a16 -v -eioctl $args > "$EXP"
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
diff --git a/tests/ioctl.c b/tests/ioctl.c
index 92a3191..5dc0864 100644
--- a/tests/ioctl.c
+++ b/tests/ioctl.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/ioctl.test b/tests/ioctl.test
index 94bc5d4..1eb469e 100755
--- a/tests/ioctl.test
+++ b/tests/ioctl.test
@@ -4,12 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 run_prog > /dev/null
 run_strace -a16 -eioctl $args > "$EXP"
-check_prog grep
 grep -v '^ioctl([012],' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests/ioctl_block.c b/tests/ioctl_block.c
index f62b0b3..8e883d4 100644
--- a/tests/ioctl_block.c
+++ b/tests/ioctl_block.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_block strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -113,7 +114,7 @@
 	ioctl(-1, BLKFRASET, lmagic);
 	printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic);
 
-	int *const val_int = tail_alloc(sizeof(*val_int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
 	*val_int = magic;
 
 	ioctl(-1, BLKROSET, val_int);
@@ -144,7 +145,7 @@
 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
 #endif
 
-	struct blkpg_ioctl_arg *const blkpg = tail_alloc(sizeof(*blkpg));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blkpg_ioctl_arg, blkpg);
 	blkpg->op = 3;
 	blkpg->flags = 0xdeadbeef;
 	blkpg->datalen = 0xbadc0ded;
@@ -156,7 +157,7 @@
 	       "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen,
 	       (unsigned long) blkpg->data);
 
-	struct blkpg_partition *const bp = tail_alloc(sizeof(*bp));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blkpg_partition, bp);
 	bp->start = 0xfac1fed2dad3bef4ULL;
 	bp->length = 0xfac5fed6dad7bef8ULL;
 	bp->pno = magic;
@@ -177,7 +178,7 @@
 	       (int) sizeof(bp->volname) - 1, bp->volname);
 
 #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP
-	struct blk_user_trace_setup *const buts = tail_alloc(sizeof(*buts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts);
 	fill_memory(buts, sizeof(*buts));
 
 	ioctl(-1, BLKTRACESETUP, buts);
diff --git a/tests/ioctl_block.gen.test b/tests/ioctl_block.gen.test
new file mode 100755
index 0000000..0ffec6f
--- /dev/null
+++ b/tests/ioctl_block.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_block +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_block.test b/tests/ioctl_block.test
deleted file mode 100755
index 0bf2500..0000000
--- a/tests/ioctl_block.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of BLK* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_dm-v.test b/tests/ioctl_dm-v.test
index ade3b9e..eed37c2 100755
--- a/tests/ioctl_dm-v.test
+++ b/tests/ioctl_dm-v.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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
index 08f036c..544d70b 100644
--- a/tests/ioctl_dm.c
+++ b/tests/ioctl_dm.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Mikulas Patocka <mpatocka@redhat.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -234,15 +235,15 @@
 	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 */ ...}) = "
+	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");
+	printf("ioctl(-1, DM_VERSION, {version=4.1.2, data_size=14"
+	       " /* data_size too small */}) = -1 EBADF (%m)\n");
 
 	/* Unterminated name/uuid */
 	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
@@ -395,8 +396,8 @@
 	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
 	       "target_count=1234, flags=0, "
 # if VERBOSE
-	       "/* misplaced struct dm_target_spec */ ..."
-# else /* !VERBOSE */
+	       "??? /* misplaced struct dm_target_spec */"
+# else
 	       "..."
 # endif /* VERBOSE */
 	       "}) = -1 EBADF (%m)\n", sizeof(*dm_arg), 0xfffffff8);
@@ -491,7 +492,7 @@
 	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 */ ...");
+	printf("\"\\1\\2\"}, ??? /* misplaced struct dm_target_spec */");
 # else /* !VERBOSE */
 	printf("...");
 # endif /* VERBOSE */
@@ -575,7 +576,7 @@
 	       "{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 */"
+	       "??? /* misplaced struct dm_target_msg */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -590,7 +591,7 @@
 	       "{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 */"
+	       "??? /* misplaced struct dm_target_msg */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -706,7 +707,7 @@
 	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", event_nr=0, "
 	       "flags=0, "
 # if VERBOSE
-	       "/* misplaced string */"
+	       "??? /* misplaced string */"
 # else /* !VERBOSE */
 	       "..."
 # endif /* VERBOSE */
@@ -757,10 +758,12 @@
 	       "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 */ "
+	       "{sector_start=0, length=0, target_type=\"\", string=\"\"}"
+	       ", ??? /* misplaced struct dm_target_spec */"
+# else
+	       "..."
 # endif /* VERBOSE */
-	       "...}) = -1 EBADF (%m)\n",
+	       "}) = -1 EBADF (%m)\n",
 	       s.ioc.data_size, s.ioc.data_start);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/ioctl_dm.test b/tests/ioctl_dm.test
index 6485205..e9cca03 100755
--- a/tests/ioctl_dm.test
+++ b/tests/ioctl_dm.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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-v.gen.test b/tests/ioctl_evdev-v.gen.test
new file mode 100755
index 0000000..fc7e2f0
--- /dev/null
+++ b/tests/ioctl_evdev-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_evdev-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests/ioctl_evdev-v.test b/tests/ioctl_evdev-v.test
deleted file mode 100755
index 8794101..0000000
--- a/tests/ioctl_evdev-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding EVIOC* ioctls.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -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_evdev.c b/tests/ioctl_evdev.c
index d12323e..6cbc09f 100644
--- a/tests/ioctl_evdev.c
+++ b/tests/ioctl_evdev.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_evdev strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -148,7 +149,7 @@
 	void *const page = tail_alloc(size);
 	fill_memory(page, size);
 
-	int *const val_int = tail_alloc(sizeof(*val_int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
 	*val_int = magic;
 
 # ifdef EVIOCSCLOCKID
@@ -172,7 +173,7 @@
 	       pair_int[0], "KEY_ESC");
 
 # ifdef EVIOCSKEYCODE_V2
-	struct input_keymap_entry *const ike = tail_alloc(sizeof(*ike));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct input_keymap_entry, ike);
 	fill_memory(ike, sizeof(*ike));
 	ike->keycode = 2;
 
@@ -196,7 +197,7 @@
 	printf("}) = -1 EBADF (%m)\n");
 # endif
 
-	struct ff_effect *const ffe = tail_alloc(sizeof(*ffe));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ff_effect, ffe);
 	fill_memory(ffe, sizeof(*ffe));
 
 	ffe->type = FF_CONSTANT;
diff --git a/tests/ioctl_evdev.gen.test b/tests/ioctl_evdev.gen.test
new file mode 100755
index 0000000..26f0a28
--- /dev/null
+++ b/tests/ioctl_evdev.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_evdev +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_evdev.test b/tests/ioctl_evdev.test
deleted file mode 100755
index 7ed2e98..0000000
--- a/tests/ioctl_evdev.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of EVIOC* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_loop-nv.test b/tests/ioctl_loop-nv.test
index dcc27e1..7d59cc2 100755
--- a/tests/ioctl_loop-nv.test
+++ b/tests/ioctl_loop-nv.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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.gen.test b/tests/ioctl_loop-v.gen.test
new file mode 100755
index 0000000..7fd9f66
--- /dev/null
+++ b/tests/ioctl_loop-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_loop-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests/ioctl_loop-v.test b/tests/ioctl_loop-v.test
deleted file mode 100755
index ff3995d..0000000
--- a/tests/ioctl_loop-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/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
index a95e775..4dcbf9a 100644
--- a/tests/ioctl_loop.c
+++ b/tests/ioctl_loop.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@gmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -175,8 +176,8 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info, info);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct loop_info64, info64);
 
 	/* Unknown loop commands */
 	ioctl(-1, unknown_loop_cmd, magic);
diff --git a/tests/ioctl_loop.gen.test b/tests/ioctl_loop.gen.test
new file mode 100755
index 0000000..f7aee8e
--- /dev/null
+++ b/tests/ioctl_loop.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_loop +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_loop.test b/tests/ioctl_loop.test
deleted file mode 100755
index 112cd63..0000000
--- a/tests/ioctl_loop.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/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 a37d5d0..71d0c0d 100644
--- a/tests/ioctl_mtd.c
+++ b/tests/ioctl_mtd.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_mtd strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -95,13 +96,13 @@
 	ioctl(-1, MTDFILEMODE, MTD_FILE_MODE_NORMAL);
 	printf("ioctl(-1, MTDFILEMODE, MTD_FILE_MODE_NORMAL) = -1 EBADF (%m)\n");
 
-	int *const opt = tail_alloc(sizeof(*opt));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, opt);
 	*opt = MTD_OTP_OFF;
 	ioctl(-1, OTPSELECT, opt);
 	printf("ioctl(-1, MIXER_READ(%u) or OTPSELECT, [MTD_OTP_OFF])"
 	       " = -1 EBADF (%m)\n", (unsigned int) _IOC_NR(OTPSELECT));
 
-	uint64_t *const v64 = tail_alloc(sizeof(*v64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, v64);
 	fill_memory(v64, sizeof(*v64));
 
 	ioctl(-1, MEMGETBADBLOCK, v64);
@@ -114,7 +115,7 @@
 	       " = -1 EBADF (%m)\n",
 	       (unsigned int) _IOC_NR(MEMSETBADBLOCK), *v64);
 
-	struct region_info_user *const riu = tail_alloc(sizeof(*riu));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct region_info_user, riu);
 	fill_memory(riu, sizeof(*riu));
 	ioctl(-1, MEMGETREGIONINFO, riu);
 	printf("ioctl(-1, %s, {regionindex=%#x}) = -1 EBADF (%m)\n",
@@ -124,7 +125,7 @@
 #endif
 	       , riu->regionindex);
 
-	struct erase_info_user *const eiu = tail_alloc(sizeof(*eiu));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct erase_info_user, eiu);
 	fill_memory(eiu, sizeof(*eiu));
 
 	TEST_erase_info_user(MEMERASE, eiu);
@@ -132,7 +133,7 @@
 	TEST_erase_info_user(MEMUNLOCK, eiu);
 	TEST_erase_info_user(MEMISLOCKED, eiu);
 
-	struct erase_info_user64 *const eiu64 = tail_alloc(sizeof(*eiu64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct erase_info_user64, eiu64);
 	fill_memory(eiu64, sizeof(*eiu64));
 	ioctl(-1, MEMERASE64, eiu64);
 	printf("ioctl(-1, MIXER_WRITE(%u) or %s, {start=%#llx, length=%#llx})"
@@ -141,7 +142,7 @@
 	       (unsigned long long) eiu64->start,
 	       (unsigned long long) eiu64->length);
 
-	struct mtd_oob_buf *const oob = tail_alloc(sizeof(*oob));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_oob_buf, oob);
 	fill_memory(oob, sizeof(*oob));
 
 	ioctl(-1, MEMWRITEOOB, oob);
@@ -152,7 +153,7 @@
 	printf("ioctl(-1, MEMREADOOB, {start=%#x, length=%#x, ptr=%p})"
 	       " = -1 EBADF (%m)\n", oob->start, oob->length, oob->ptr);
 
-	struct mtd_oob_buf64 *const oob64 = tail_alloc(sizeof(*oob64));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_oob_buf64, oob64);
 	fill_memory(oob64, sizeof(*oob64));
 
 	ioctl(-1, MEMWRITEOOB64, oob64);
@@ -168,14 +169,14 @@
 	       (unsigned long long) oob64->usr_ptr);
 
 
-	struct otp_info *const oi = tail_alloc(sizeof(*oi));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct otp_info, 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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct mtd_write_req, wr);
 	fill_memory(wr, sizeof(*wr));
 	wr->mode = MTD_OPS_PLACE_OOB;
 	ioctl(-1, MEMWRITE, wr);
diff --git a/tests/ioctl_mtd.gen.test b/tests/ioctl_mtd.gen.test
new file mode 100755
index 0000000..cbc3104
--- /dev/null
+++ b/tests/ioctl_mtd.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_mtd +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_mtd.test b/tests/ioctl_mtd.test
deleted file mode 100755
index 0842807..0000000
--- a/tests/ioctl_mtd.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of 'M' type ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_nsfs.c b/tests/ioctl_nsfs.c
new file mode 100644
index 0000000..b2dbd1b
--- /dev/null
+++ b/tests/ioctl_nsfs.c
@@ -0,0 +1,145 @@
+/*
+ * Check decoding of NS_* commands of ioctl syscall.
+ *
+ * Copyright (c) 2017 Nikolay Marchuk <marchuk.nikolay.a@gmail.com>
+ * 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 <fcntl.h>
+#include <sched.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include "nsfs.h"
+
+#ifndef CLONE_NEWUSER
+# define CLONE_NEWUSER 0x10000000
+#endif
+
+static void
+test_no_namespace(void)
+{
+	ioctl(-1, NS_GET_USERNS);
+	printf("ioctl(-1, NS_GET_USERNS) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_PARENT);
+	printf("ioctl(-1, NS_GET_PARENT) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_NSTYPE);
+	printf("ioctl(-1, NS_GET_NSTYPE) = -1 EBADF (%m)\n");
+	ioctl(-1, NS_GET_OWNER_UID, NULL);
+	printf("ioctl(-1, NS_GET_OWNER_UID, NULL) = -1 EBADF (%m)\n");
+}
+
+static void
+test_clone(pid_t pid)
+{
+	char path[sizeof("/proc/%d/ns/user") + sizeof(int)*3];
+	snprintf(path, sizeof(path), "/proc/%d/ns/user", pid);
+
+	int ns_fd = open(path, O_RDONLY);
+	if (ns_fd == -1)
+		perror_msg_and_skip("open: %s", path);
+
+	int userns_fd = ioctl(ns_fd, NS_GET_USERNS);
+	printf("ioctl(%d, NS_GET_USERNS) = %s\n", ns_fd, sprintrc(userns_fd));
+
+	int parent_ns_fd = ioctl(userns_fd, NS_GET_PARENT);
+	printf("ioctl(%d, NS_GET_PARENT) = %s\n",
+	       userns_fd, sprintrc(parent_ns_fd));
+
+	int nstype = ioctl(userns_fd, NS_GET_NSTYPE);
+	if (nstype == -1) {
+		printf("ioctl(%d, NS_GET_NSTYPE) = %s\n",
+		       userns_fd, sprintrc(nstype));
+	} else {
+		printf("ioctl(%d, NS_GET_NSTYPE) = %d (CLONE_NEWUSER)\n",
+		       userns_fd, nstype);
+	}
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, uid);
+	int rc = ioctl(userns_fd, NS_GET_OWNER_UID, uid);
+	if (rc == -1) {
+		printf("ioctl(%d, NS_GET_OWNER_UID, %p) = %s\n",
+		       userns_fd, uid, sprintrc(rc));
+	} else {
+		printf("ioctl(%d, NS_GET_OWNER_UID, [%u]) = %d\n",
+		       userns_fd, *uid, rc);
+	}
+}
+
+static int
+child(void *arg)
+{
+	int *pipefd = (int *) arg;
+	close(pipefd[1]);
+	/* Wait for EOF from pipe. */
+	if (read(pipefd[0], &pipefd[1], 1))
+		perror_msg_and_fail("read");
+	return 0;
+}
+
+#ifdef IA64
+extern int __clone2(int (*)(void *), void *, size_t, int, void *, ...);
+# define clone(fn, child_stack, flags, arg)	\
+		__clone2(fn, child_stack, get_page_size() / 2, flags, arg)
+#endif
+
+static void
+test_user_namespace(void)
+{
+	pid_t pid;
+	int pipefd[2];
+	int status;
+
+	if (pipe(pipefd))
+		perror_msg_and_fail("pipe");
+
+	pid = clone(child, tail_alloc(get_page_size() / 2),
+		    CLONE_NEWUSER | CLONE_UNTRACED | SIGCHLD, pipefd);
+	if (pid == -1) {
+		perror("clone");
+		return;
+	}
+	close(pipefd[0]);
+	test_clone(pid);
+	close(pipefd[1]);
+	if (wait(&status) != pid) {
+		perror_msg_and_fail("wait");
+	} else if (status != 0) {
+		error_msg_and_fail("unexpected child exit status %d", status);
+	}
+}
+
+int
+main(void)
+{
+	test_no_namespace();
+	test_user_namespace();
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/ioctl_nsfs.test b/tests/ioctl_nsfs.test
new file mode 100755
index 0000000..acdfb61
--- /dev/null
+++ b/tests/ioctl_nsfs.test
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check decoding of NS_* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a16 -eioctl -esignal=none $args > "$EXP"
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
diff --git a/tests/ioctl_rtc-v.gen.test b/tests/ioctl_rtc-v.gen.test
new file mode 100755
index 0000000..b534a02
--- /dev/null
+++ b/tests/ioctl_rtc-v.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_rtc-v +ioctl-v.sh); do not edit.
+. "${srcdir=.}/ioctl-v.sh"
diff --git a/tests/ioctl_rtc-v.test b/tests/ioctl_rtc-v.test
deleted file mode 100755
index a255322..0000000
--- a/tests/ioctl_rtc-v.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of RTC_* ioctls.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -a16 -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_rtc.c b/tests/ioctl_rtc.c
index 49d7ec7..466a1d3 100644
--- a/tests/ioctl_rtc.c
+++ b/tests/ioctl_rtc.c
@@ -2,6 +2,7 @@
  * This file is part of ioctl_rtc strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,13 +74,13 @@
 	void *const page = tail_alloc(size);
 	fill_memory(page, size);
 
-	struct rtc_time *rt = tail_alloc(sizeof(*rt));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_time, rt);
 	fill_memory(rt, sizeof(*rt));
 
-	struct rtc_wkalrm *wk = tail_alloc(sizeof(*wk));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_wkalrm, wk);
 	fill_memory(wk, sizeof(*wk));
 
-	struct rtc_pll_info *pll = tail_alloc(sizeof(*pll));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rtc_pll_info, pll);
 	fill_memory(pll, sizeof(*pll));
 
 	/* RTC_ALM_READ */
diff --git a/tests/ioctl_rtc.gen.test b/tests/ioctl_rtc.gen.test
new file mode 100755
index 0000000..e430a82
--- /dev/null
+++ b/tests/ioctl_rtc.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_rtc +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_rtc.test b/tests/ioctl_rtc.test
deleted file mode 100755
index 4545f2a..0000000
--- a/tests/ioctl_rtc.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic decoding of RTC_* ioctls.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_scsi.c b/tests/ioctl_scsi.c
index 0db94d8..a9ecf28 100644
--- a/tests/ioctl_scsi.c
+++ b/tests/ioctl_scsi.c
@@ -69,7 +69,7 @@
 int
 main(void)
 {
-	int *const pint = tail_alloc(sizeof(*pint));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, pint);
 	*pint = (int) 0xfacefeed;
 
 	TEST_NO_ARG(SG_GET_TIMEOUT);
diff --git a/tests/ioctl_scsi.gen.test b/tests/ioctl_scsi.gen.test
new file mode 100755
index 0000000..23ac307
--- /dev/null
+++ b/tests/ioctl_scsi.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_scsi +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_scsi.test b/tests/ioctl_scsi.test
deleted file mode 100755
index 2710f12..0000000
--- a/tests/ioctl_scsi.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/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
index ef25795..3808b20 100644
--- a/tests/ioctl_sg_io_v3.c
+++ b/tests/ioctl_sg_io_v3.c
@@ -43,7 +43,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sg_io_hdr, sg_io);
 	fill_memory(sg_io, sizeof(*sg_io));
 
 	const void *const efault = sg_io + 1;
@@ -53,7 +53,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, 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);
diff --git a/tests/ioctl_sg_io_v3.gen.test b/tests/ioctl_sg_io_v3.gen.test
new file mode 100755
index 0000000..e7e5ea5
--- /dev/null
+++ b/tests/ioctl_sg_io_v3.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_sg_io_v3 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_sg_io_v3.test b/tests/ioctl_sg_io_v3.test
deleted file mode 100755
index dacacdf..0000000
--- a/tests/ioctl_sg_io_v3.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/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
index 5f899ee..9c1e9fa 100644
--- a/tests/ioctl_sg_io_v4.c
+++ b/tests/ioctl_sg_io_v4.c
@@ -45,7 +45,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sg_io_v4, sg_io);
 	fill_memory(sg_io, sizeof(*sg_io));
 
 	const void *const efault = sg_io + 1;
@@ -55,7 +55,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, pguard);
 	*pguard = (unsigned char) 'Q';
 	ioctl(-1, SG_IO, pguard);
 	printf("ioctl(-1, SG_IO, {guard='Q', %p}) = -1 EBADF (%m)\n", pguard + 1);
diff --git a/tests/ioctl_sg_io_v4.gen.test b/tests/ioctl_sg_io_v4.gen.test
new file mode 100755
index 0000000..575ad96
--- /dev/null
+++ b/tests/ioctl_sg_io_v4.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_sg_io_v4 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_sg_io_v4.test b/tests/ioctl_sg_io_v4.test
deleted file mode 100755
index 2556722..0000000
--- a/tests/ioctl_sg_io_v4.test
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/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
index ae0bea4..f81faef 100644
--- a/tests/ioctl_sock_gifconf.c
+++ b/tests/ioctl_sock_gifconf.c
@@ -2,6 +2,7 @@
  * Check decoding of SIOCGIFCONF command of ioctl syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -134,7 +135,7 @@
 main(int argc, char *argv[])
 {
 	struct ifreq *ifr = tail_alloc(2 * sizeof(*ifr));
-	struct ifconf *ifc = tail_alloc(sizeof(*ifc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ifconf, ifc);
 
 	struct sockaddr_in addr;
 	int fd;
diff --git a/tests/ioctl_sock_gifconf.test b/tests/ioctl_sock_gifconf.test
index 2e2fc01..22d7ea4 100755
--- a/tests/ioctl_sock_gifconf.test
+++ b/tests/ioctl_sock_gifconf.test
@@ -4,9 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
+check_prog grep
 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_uffdio.c b/tests/ioctl_uffdio.c
index 10b8b84..c98e4a0 100644
--- a/tests/ioctl_uffdio.c
+++ b/tests/ioctl_uffdio.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c)      2016 Red Hat, Inc.
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,7 +55,7 @@
 		perror_msg_and_skip("userfaultfd");
 
 	/* ---- API ---- */
-	struct uffdio_api *api_struct = tail_alloc(sizeof(*api_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_api, api_struct);
 
 	/* With a bad fd */
 	memset(api_struct, 0, sizeof(*api_struct));
@@ -127,7 +128,7 @@
 	 * userfaultfd will cause us to stall.
 	 */
 	/* ---- COPY ---- */
-	struct uffdio_copy *copy_struct = tail_alloc(sizeof(*copy_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_copy, copy_struct);
 
 	memset(copy_struct, 0, sizeof(*copy_struct));
 	rc = ioctl(-1, UFFDIO_COPY, copy_struct);
@@ -148,7 +149,7 @@
 	       fd, area2, area1, pagesize, pagesize, rc);
 
 	/* ---- ZEROPAGE ---- */
-	struct uffdio_zeropage *zero_struct = tail_alloc(sizeof(*zero_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_zeropage, zero_struct);
 	madvise(area2, pagesize, MADV_DONTNEED);
 
 	memset(zero_struct, 0, sizeof(*zero_struct));
@@ -169,7 +170,7 @@
 	       fd, area2, pagesize, pagesize, rc);
 
 	/* ---- WAKE ---- */
-	struct uffdio_range *range_struct = tail_alloc(sizeof(*range_struct));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct uffdio_range, range_struct);
 	memset(range_struct, 0, sizeof(*range_struct));
 
 	rc = ioctl(-1, UFFDIO_WAKE, range_struct);
diff --git a/tests/ioctl_uffdio.gen.test b/tests/ioctl_uffdio.gen.test
new file mode 100755
index 0000000..80fd2a6
--- /dev/null
+++ b/tests/ioctl_uffdio.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_uffdio +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_uffdio.test b/tests/ioctl_uffdio.test
deleted file mode 100755
index fae9b55..0000000
--- a/tests/ioctl_uffdio.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check userfaultfd ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_v4l2.c b/tests/ioctl_v4l2.c
index af8c341..921e7a8 100644
--- a/tests/ioctl_v4l2.c
+++ b/tests/ioctl_v4l2.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -56,6 +57,272 @@
 
 static const unsigned int magic = 0xdeadbeef;
 
+static void
+init_v4l2_format(struct v4l2_format *const f,
+		 const unsigned int buf_type)
+{
+	memset(f, -1, sizeof(*f));
+	f->type = buf_type;
+	switch (buf_type) {
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+		f->fmt.pix.width = 0x657b8160;
+		f->fmt.pix.height = 0x951c0047;
+		f->fmt.pix.pixelformat = magic;
+		f->fmt.pix.field = V4L2_FIELD_NONE;
+		f->fmt.pix.bytesperline = 0xdf20d185;
+		f->fmt.pix.sizeimage = 0x0cf7be41;
+		f->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
+		unsigned int i;
+
+		f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+		f->fmt.pix_mp.width = 0x1f3b774b;
+		f->fmt.pix_mp.height = 0xab96a8d6;
+		f->fmt.pix_mp.pixelformat = magic;
+		f->fmt.pix_mp.field = V4L2_FIELD_NONE;
+		f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
+		struct v4l2_plane_pix_format* cur_pix =
+		       f->fmt.pix_mp.plane_fmt;
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
+		     i++) {
+			cur_pix[i].sizeimage = 0x1e3c531c | i;
+			cur_pix[i].bytesperline = 0xa983d721 | i;
+		}
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+#endif
+	case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+		f->fmt.win.w.left = 0xe8373662;
+		f->fmt.win.w.top = 0x0336d283;
+		f->fmt.win.w.width = 0x9235fe72;
+		f->fmt.win.w.height = 0xbbd886c8;
+		f->fmt.win.field = V4L2_FIELD_ANY;
+		f->fmt.win.chromakey = 0xdb1f991f;
+		f->fmt.win.clipcount = 2;
+		f->fmt.win.clips =
+			tail_alloc(sizeof(*f->fmt.win.clips) *
+			f->fmt.win.clipcount);
+		f->fmt.win.clips[0].c.left = 0x3313d36e;
+		f->fmt.win.clips[0].c.top = 0xcdffe510;
+		f->fmt.win.clips[0].c.width = 0x2064f3a8;
+		f->fmt.win.clips[0].c.height = 0xd06d314a;
+		f->fmt.win.clips[1].c.left = 0xd8c8a83f;
+		f->fmt.win.clips[1].c.top = 0x336e87ba;
+		f->fmt.win.clips[1].c.width = 0x9e3a6fb3;
+		f->fmt.win.clips[1].c.height = 0x05617b76;
+
+		f->fmt.win.bitmap = (void*) -2UL;
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		f->fmt.win.global_alpha = 0xce;
+#endif
+		break;
+	case V4L2_BUF_TYPE_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_VBI_OUTPUT:
+		f->fmt.vbi.sampling_rate = 0x3d9b5b79;
+		f->fmt.vbi.offset = 0x055b3a09;
+		f->fmt.vbi.samples_per_line = 0xf176d436;
+		f->fmt.vbi.sample_format = magic;
+		f->fmt.vbi.start[0] = 0x9858e2eb;
+		f->fmt.vbi.start[1] = 0x8a4dc8c1;
+		f->fmt.vbi.count[0] = 0x4bcf36a3;
+		f->fmt.vbi.count[1] = 0x97dff65f;
+		f->fmt.vbi.flags = V4L2_VBI_INTERLACED;
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: {
+		unsigned int i;
+
+		f->fmt.sliced.service_set = V4L2_SLICED_VPS;
+		f->fmt.sliced.io_size = 0xd897925a;
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.sliced.service_lines[0]);
+		     i++) {
+			f->fmt.sliced.service_lines[0][i] = 0xc38e | i;
+			f->fmt.sliced.service_lines[1][i] = 0x3abb | i;
+		}
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	case V4L2_BUF_TYPE_SDR_OUTPUT:
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	case V4L2_BUF_TYPE_SDR_CAPTURE:
+		f->fmt.sdr.pixelformat = magic;
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		f->fmt.sdr.buffersize = 0x25afabfb;
+#endif
+		break;
+#endif
+	}
+}
+
+static void
+dprint_ioctl_v4l2(struct v4l2_format *const f,
+		  const char* request, const unsigned int buf_type,
+		  const char* buf_type_string)
+{
+	switch (buf_type) {
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.pix={width=%u, height=%u, pixelformat="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
+		       ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.pix.width, f->fmt.pix.height,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+		       f->fmt.pix.bytesperline,
+		       f->fmt.pix.sizeimage);
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: {
+		unsigned int i;
+
+		printf("ioctl(-1, %s"
+		       ", {type=%s"
+		       ", fmt.pix_mp={width=%u, height=%u, pixelformat="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", field=V4L2_FIELD_NONE, colorspace="
+		       "V4L2_COLORSPACE_JPEG, plane_fmt=[",
+		       request,
+		       buf_type_string,
+		       f->fmt.pix_mp.width, f->fmt.pix_mp.height,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic));
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
+		     ++i) {
+			if (i)
+				printf(", ");
+			printf("{sizeimage=%u, bytesperline=%u}",
+			f->fmt.pix_mp.plane_fmt[i].sizeimage,
+			f->fmt.pix_mp.plane_fmt[i].bytesperline);
+		}
+		printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
+		f->fmt.pix_mp.num_planes);
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
+#endif
+	case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.win={left=%d, top=%d, width=%u, height=%u"
+		       ", field=V4L2_FIELD_ANY, chromakey=%#x, clips="
+		       "[{left=%d, top=%d, width=%u, height=%u}, "
+		       "{left=%d, top=%d, width=%u, height=%u}]"
+		       ", clipcount=%u, bitmap=%p"
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		       ", global_alpha=%#x"
+#endif
+		       "}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.win.w.left, f->fmt.win.w.top,
+		       f->fmt.win.w.width, f->fmt.win.w.height,
+		       f->fmt.win.chromakey,
+		       f->fmt.win.clips[0].c.left,
+		       f->fmt.win.clips[0].c.top,
+		       f->fmt.win.clips[0].c.width,
+		       f->fmt.win.clips[0].c.height,
+		       f->fmt.win.clips[1].c.left,
+		       f->fmt.win.clips[1].c.top,
+		       f->fmt.win.clips[1].c.width,
+		       f->fmt.win.clips[1].c.height,
+		       f->fmt.win.clipcount, f->fmt.win.bitmap
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		       , f->fmt.win.global_alpha
+#endif
+		       );
+		break;
+	case V4L2_BUF_TYPE_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_VBI_OUTPUT:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.vbi={sampling_rate=%u, offset=%u"
+		       ", samples_per_line=%u, sample_format="
+		       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
+		       ", start=[%u, %u], count=[%u, %u]"
+		       ", flags=V4L2_VBI_INTERLACED}})"
+		       " = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
+		       f->fmt.vbi.samples_per_line,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
+		       f->fmt.vbi.start[0], f->fmt.vbi.start[1],
+		       f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
+		break;
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
+	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: {
+		unsigned int i, j;
+
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.sliced={service_set=V4L2_SLICED_VPS"
+		       ", io_size=%u, service_lines=[",
+		       request,
+		       buf_type_string,
+		       f->fmt.sliced.io_size);
+		for (i = 0;
+		     i < ARRAY_SIZE(f->fmt.sliced.service_lines);
+		     i++) {
+			if (i > 0)
+				printf(", ");
+			printf("[");
+			for (j = 0;
+			     j < ARRAY_SIZE(f->fmt.sliced.service_lines[0]);
+			     j++) {
+				if (j > 0)
+					printf(", ");
+				printf("%#x",
+				       f->fmt.sliced.service_lines[i][j]);
+			}
+			printf("]");
+		}
+		printf("]}}) = -1 EBADF (%m)\n");
+		break;
+	}
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	case V4L2_BUF_TYPE_SDR_OUTPUT:
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	case V4L2_BUF_TYPE_SDR_CAPTURE:
+		printf("ioctl(-1, %s, {type=%s"
+		       ", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
+		       " '\\x%x', '\\x%x')"
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		       ", buffersize=%u"
+#endif
+		       "}}) = -1 EBADF (%m)\n",
+		       request,
+		       buf_type_string,
+		       cc0(magic), cc1(magic), cc2(magic), cc3(magic)
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		       , f->fmt.sdr.buffersize
+#endif
+		       );
+		break;
+#endif
+	}
+}
+#define print_ioctl_v4l2(v4l2_format, request, buf_type) do { \
+	dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type); \
+} while (0)
+
 int
 main(void )
 {
@@ -76,7 +343,7 @@
 	ioctl(-1, VIDIOC_ENUM_FMT, 0);
 	printf("ioctl(-1, VIDIOC_ENUM_FMT, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_fmtdesc *const p_fmtdesc = tail_alloc(sizeof(*p_fmtdesc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_fmtdesc, p_fmtdesc);
 	p_fmtdesc->index = magic;
 	p_fmtdesc->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	ioctl(-1, VIDIOC_ENUM_FMT, p_fmtdesc);
@@ -88,78 +355,146 @@
 	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));
-	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_format, p_format);
 
+	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	ioctl(-1, VIDIOC_G_FMT, p_format);
 	printf("ioctl(-1, VIDIOC_G_FMT"
 	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE}) = -1 EBADF (%m)\n");
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE}) ="
+	       " -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	p_format->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY}) ="
+	       " -1 EBADF (%m)\n");
+#endif
+	p_format->type = V4L2_BUF_TYPE_VIDEO_OVERLAY;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VIDEO_OVERLAY}) ="
+	       " -1 EBADF (%m)\n");
 
+	p_format->type = V4L2_BUF_TYPE_VBI_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_VBI_CAPTURE}) = -1 EBADF (%m)\n");
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	p_format->type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SLICED_VBI_CAPTURE}) = -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	p_format->type = V4L2_BUF_TYPE_SDR_CAPTURE;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SDR_CAPTURE}) = -1 EBADF (%m)\n");
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	p_format->type = V4L2_BUF_TYPE_SDR_OUTPUT;
+	ioctl(-1, VIDIOC_G_FMT, p_format);
+	printf("ioctl(-1, VIDIOC_G_FMT"
+	       ", {type=V4L2_BUF_TYPE_SDR_OUTPUT}) = -1 EBADF (%m)\n");
+#endif
 	/* VIDIOC_S_FMT */
 	ioctl(-1, VIDIOC_S_FMT, 0);
 	printf("ioctl(-1, VIDIOC_S_FMT, NULL) = -1 EBADF (%m)\n");
 
-	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 = magic;
-	p_format->fmt.pix.field = V4L2_FIELD_NONE;
-	p_format->fmt.pix.bytesperline = 0xdad3beaf;
-	p_format->fmt.pix.sizeimage = 0xdad4beaf;
-	p_format->fmt.pix.colorspace = V4L2_COLORSPACE_JPEG;
-
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT);
 	ioctl(-1, VIDIOC_S_FMT, p_format);
-	printf("ioctl(-1, VIDIOC_S_FMT, {type=V4L2_BUF_TYPE_VIDEO_OUTPUT"
-	       ", fmt.pix={width=%u, height=%u, pixelformat="
-	       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
-	       ", 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,
-	       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
-	       p_format->fmt.pix.bytesperline, p_format->fmt.pix.sizeimage);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_VIDEO_OUTPUT);
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+#endif
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OVERLAY);
 
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_VBI_CAPTURE);
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT",
+			 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_CAPTURE);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_SDR_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_OUTPUT);
+	ioctl(-1, VIDIOC_S_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_S_FMT", V4L2_BUF_TYPE_SDR_OUTPUT);
+#endif
 	/* VIDIOC_TRY_FMT */
 	ioctl(-1, VIDIOC_TRY_FMT, 0);
 	printf("ioctl(-1, VIDIOC_TRY_FMT, NULL) = -1 EBADF (%m)\n");
 
-#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
-	memset(p_format, -1, sizeof(*p_format));
-	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 = magic;
-	p_format->fmt.pix_mp.field = V4L2_FIELD_NONE;
-	p_format->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
-	unsigned int i;
-	for (i = 0; i < ARRAY_SIZE(p_format->fmt.pix_mp.plane_fmt); ++i) {
-		p_format->fmt.pix_mp.plane_fmt[i].sizeimage = 0xbadc0de0 | i;
-		p_format->fmt.pix_mp.plane_fmt[i].bytesperline = 0xdadbeaf0 | i;
-	}
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT);
 	ioctl(-1, VIDIOC_TRY_FMT, p_format);
-	printf("ioctl(-1, VIDIOC_TRY_FMT"
-	       ", {type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE"
-	       ", fmt.pix_mp={width=%u, height=%u, pixelformat="
-	       "v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
-	       ", field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_JPEG"
-	       ", plane_fmt=[",
-	       p_format->fmt.pix_mp.width, p_format->fmt.pix_mp.height,
-	       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(", ");
-		printf("{sizeimage=%u, bytesperline=%u}",
-		       p_format->fmt.pix_mp.plane_fmt[i].sizeimage,
-		       p_format->fmt.pix_mp.plane_fmt[i].bytesperline);
-	}
-	printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
-	       p_format->fmt.pix_mp.num_planes);
-#else
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT);
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY);
+#endif
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VIDEO_OVERLAY);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_VIDEO_OVERLAY);
+
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_VBI_CAPTURE);
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT",
+			 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_CAPTURE);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_SDR_CAPTURE);
+#endif
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	init_v4l2_format(p_format, V4L2_BUF_TYPE_SDR_OUTPUT);
+	ioctl(-1, VIDIOC_TRY_FMT, p_format);
+	print_ioctl_v4l2(p_format, "VIDIOC_TRY_FMT", V4L2_BUF_TYPE_SDR_OUTPUT);
+#endif
 	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", p_v4l2_format->type);
-#endif
 
 	/* VIDIOC_REQBUFS */
 	ioctl(-1, VIDIOC_REQBUFS, 0);
@@ -259,8 +594,7 @@
 	printf("ioctl(-1, VIDIOC_S_PARM, {type=%#x /* V4L2_BUF_TYPE_??? */})"
 	       " = -1 EBADF (%m)\n", p_v4l2_streamparm->type);
 
-	struct v4l2_streamparm *const p_streamparm =
-		tail_alloc(sizeof(*p_streamparm));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_streamparm, p_streamparm);
 	p_streamparm->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	p_streamparm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME;
 	p_streamparm->parm.capture.capturemode = V4L2_MODE_HIGHQUALITY;
@@ -339,6 +673,42 @@
 	       ", value=%d}) = -1 EBADF (%m)\n",
 	       p_v4l2_control->id, p_v4l2_control->value);
 
+	/* VIDIOC_G_TUNER */
+	ioctl(-1, VIDIOC_G_TUNER, 0);
+	printf("ioctl(-1, VIDIOC_G_TUNER, NULL) = -1 EBADF (%m)\n");
+
+	struct v4l2_tuner *const p_v4l2_tuner =
+		page + size - sizeof(*p_v4l2_tuner);
+	ioctl(-1, VIDIOC_G_TUNER, p_v4l2_tuner);
+	printf("ioctl(-1, VIDIOC_G_TUNER, {index=%u})"
+	       " = -1 EBADF (%m)\n", p_v4l2_tuner->index);
+
+	/* VIDIOC_S_TUNER */
+	ioctl(-1, VIDIOC_S_TUNER, 0);
+	printf("ioctl(-1, VIDIOC_S_TUNER, NULL) = -1 EBADF (%m)\n");
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_tuner, p_tuner);
+	p_tuner->index = 0x4fb6df39;
+	strcpy((char*)p_tuner->name, "cum tacent clamant");
+	p_tuner->type = V4L2_TUNER_RADIO;
+	p_tuner->capability = V4L2_TUNER_CAP_LOW;
+	p_tuner->rangelow = 0xa673bc29;
+	p_tuner->rangehigh = 0xbaf16d12;
+	p_tuner->rxsubchans = V4L2_TUNER_SUB_MONO;
+	p_tuner->audmode = V4L2_TUNER_MODE_MONO;
+	p_tuner->signal = 0x10bf92c8;
+	p_tuner->afc = 0x3bf7e18b;
+	ioctl(-1, VIDIOC_S_TUNER, p_tuner);
+	printf("ioctl(-1, VIDIOC_S_TUNER, {index=%u"
+	       ", name=\"cum tacent clamant\""
+	       ", type=V4L2_TUNER_RADIO, capability=V4L2_TUNER_CAP_LOW"
+	       ", rangelow=%u, rangehigh=%u"
+	       ", rxsubchans=V4L2_TUNER_SUB_MONO"
+	       ", audmode=V4L2_TUNER_MODE_MONO, signal=%d, afc=%d"
+	       "}) = -1 EBADF (%m)\n",
+	       p_tuner->index, p_tuner->rangelow,
+	       p_tuner->rangehigh, p_tuner->signal, p_tuner->afc);
+
 	/* VIDIOC_QUERYCTRL */
 	ioctl(-1, VIDIOC_QUERYCTRL, 0);
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, NULL) = -1 EBADF (%m)\n");
@@ -355,8 +725,7 @@
 	       " = -1 EBADF (%m)\n", p_v4l2_queryctrl->id);
 # endif
 
-	struct v4l2_queryctrl *const p_queryctrl =
-		tail_alloc(sizeof(*p_queryctrl));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_queryctrl, p_queryctrl);
 	p_queryctrl->id = V4L2_CID_SATURATION;
 	ioctl(-1, VIDIOC_QUERYCTRL, p_queryctrl);
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, {id=V4L2_CID_SATURATION})"
@@ -414,8 +783,7 @@
 	ioctl(-1, VIDIOC_S_EXT_CTRLS, 0);
 	printf("ioctl(-1, VIDIOC_S_EXT_CTRLS, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_ext_controls *const p_ext_controls =
-		tail_alloc(sizeof(*p_ext_controls));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_ext_controls, p_ext_controls);
 	p_ext_controls->ctrl_class = V4L2_CTRL_CLASS_USER;
 	p_ext_controls->count = 0;
 	p_ext_controls->controls = (void *) -2UL;
@@ -500,8 +868,7 @@
 	ioctl(-1, VIDIOC_ENUM_FRAMESIZES, 0);
 	printf("ioctl(-1, VIDIOC_ENUM_FRAMESIZES, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_frmsizeenum *const p_frmsizeenum =
-		tail_alloc(sizeof(*p_frmsizeenum));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_frmsizeenum, p_frmsizeenum);
 	p_frmsizeenum->index = magic;
 	p_frmsizeenum->pixel_format = fourcc(cc[0], cc[1], cc[2], cc[3]);
 
diff --git a/tests/ioctl_v4l2.gen.test b/tests/ioctl_v4l2.gen.test
new file mode 100755
index 0000000..cbd36ba
--- /dev/null
+++ b/tests/ioctl_v4l2.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioctl_v4l2 +ioctl.test); do not edit.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_v4l2.test b/tests/ioctl_v4l2.test
deleted file mode 100755
index a092a3c..0000000
--- a/tests/ioctl_v4l2.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check basic VIDIOC_* ioctl decoding.
-
-. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioperm.gen.test b/tests/ioperm.gen.test
new file mode 100755
index 0000000..154d60a
--- /dev/null
+++ b/tests/ioperm.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioperm -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/ioperm.test b/tests/ioperm.test
deleted file mode 100755
index 8c1c1cc..0000000
--- a/tests/ioperm.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check ioperm syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/iopl.gen.test b/tests/iopl.gen.test
new file mode 100755
index 0000000..3d9704c
--- /dev/null
+++ b/tests/iopl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (iopl -a8); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8
diff --git a/tests/iopl.test b/tests/iopl.test
deleted file mode 100755
index d0b5b11..0000000
--- a/tests/iopl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check iopl syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8
diff --git a/tests/ioprio.gen.test b/tests/ioprio.gen.test
new file mode 100755
index 0000000..f43f78e
--- /dev/null
+++ b/tests/ioprio.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ioprio -a18 -e trace=ioprio_get,ioprio_set); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18 -e trace=ioprio_get,ioprio_set
diff --git a/tests/ioprio.test b/tests/ioprio.test
deleted file mode 100755
index e79310b..0000000
--- a/tests/ioprio.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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 fa0c504..4bcda09 100644
--- a/tests/ip_mreq.c
+++ b/tests/ip_mreq.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,8 +45,8 @@
 	static const char multi6addr[] = "ff01::c";
 	static const char interface[] = "127.0.0.1";
 
-	struct ip_mreq *const m4 = tail_alloc(sizeof(*m4));
-	struct ipv6_mreq *const m6 = tail_alloc(sizeof(*m6));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ip_mreq, m4);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ipv6_mreq, m6);
 	unsigned int i;
 	int rc;
 
diff --git a/tests/ip_mreq.gen.test b/tests/ip_mreq.gen.test
new file mode 100755
index 0000000..990387a
--- /dev/null
+++ b/tests/ip_mreq.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ip_mreq -e trace=setsockopt); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=setsockopt
diff --git a/tests/ip_mreq.test b/tests/ip_mreq.test
deleted file mode 100755
index d0a9e0f..0000000
--- a/tests/ip_mreq.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check {IP,IPV6}_{ADD,DROP}_MEMBERSHIP setsockopt decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=setsockopt
diff --git a/tests/ipc.gen.test b/tests/ipc.gen.test
new file mode 100755
index 0000000..5ed1f0d
--- /dev/null
+++ b/tests/ipc.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests/ipc.sh b/tests/ipc.sh
index 752d4bb..5943c1a 100644
--- a/tests/ipc.sh
+++ b/tests/ipc.sh
@@ -5,9 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -eipc $args > "$OUT"
-match_grep "$LOG" "$OUT"
-
-rm -f "$OUT"
+run_strace -eipc $args > "$EXP"
+match_grep "$LOG" "$EXP"
 
 exit 0
diff --git a/tests/ipc.test b/tests/ipc.test
deleted file mode 100755
index aa33fa6..0000000
--- a/tests/ipc.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests/ipc_msg.gen.test b/tests/ipc_msg.gen.test
new file mode 100755
index 0000000..f4fec80
--- /dev/null
+++ b/tests/ipc_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_msg +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests/ipc_msg.test b/tests/ipc_msg.test
deleted file mode 100755
index 177495b..0000000
--- a/tests/ipc_msg.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc msgget/msgctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c
index 8f6382c..0b730c1 100644
--- a/tests/ipc_sem.c
+++ b/tests/ipc_sem.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015 Andreas Schwab <schwab@suse.de>
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/ipc_sem.gen.test b/tests/ipc_sem.gen.test
new file mode 100755
index 0000000..54159a6
--- /dev/null
+++ b/tests/ipc_sem.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_sem +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests/ipc_sem.test b/tests/ipc_sem.test
deleted file mode 100755
index cc93d07..0000000
--- a/tests/ipc_sem.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc semget/semctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests/ipc_shm.gen.test b/tests/ipc_shm.gen.test
new file mode 100755
index 0000000..505eaba
--- /dev/null
+++ b/tests/ipc_shm.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ipc_shm +ipc.sh); do not edit.
+. "${srcdir=.}/ipc.sh"
diff --git a/tests/ipc_shm.test b/tests/ipc_shm.test
deleted file mode 100755
index a67ea29..0000000
--- a/tests/ipc_shm.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ipc shmget/shmctl syscalls
-
-. "${srcdir=.}/ipc.sh"
diff --git a/tests/kcmp.gen.test b/tests/kcmp.gen.test
new file mode 100755
index 0000000..da79d7c
--- /dev/null
+++ b/tests/kcmp.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kcmp -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/kcmp.test b/tests/kcmp.test
deleted file mode 100755
index d022aeb..0000000
--- a/tests/kcmp.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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
index be90a37..c939e4f 100644
--- a/tests/kexec_file_load.c
+++ b/tests/kexec_file_load.c
@@ -2,6 +2,7 @@
  * Check decoding of kexec_file_load syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/kexec_file_load.gen.test b/tests/kexec_file_load.gen.test
new file mode 100755
index 0000000..aefaab3
--- /dev/null
+++ b/tests/kexec_file_load.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kexec_file_load -s9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests/kexec_file_load.test b/tests/kexec_file_load.test
deleted file mode 100755
index c95e123..0000000
--- a/tests/kexec_file_load.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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
index 330238d..2a6b441 100644
--- a/tests/kexec_load.c
+++ b/tests/kexec_load.c
@@ -2,6 +2,7 @@
  * Check decoding of kexec_load syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,8 +63,7 @@
 	};
 
 	static const kernel_ulong_t bogus_zero =
-		sizeof(long) < sizeof(kernel_long_t) ?
-			(kernel_ulong_t) 0xffffffff00000000ULL : 0;
+		sizeof(long) < sizeof(kernel_long_t) ? F8ILL_KULONG_MASK : 0;
 	static const kernel_ulong_t bogus_entry =
 		(kernel_ulong_t) 0xdeadca57badda7a1ULL;
 	static const kernel_ulong_t bogus_nsegs =
diff --git a/tests/kexec_load.gen.test b/tests/kexec_load.gen.test
new file mode 100755
index 0000000..0af9527
--- /dev/null
+++ b/tests/kexec_load.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kexec_load -s9); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests/kexec_load.test b/tests/kexec_load.test
deleted file mode 100755
index 4b1511e..0000000
--- a/tests/kexec_load.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kexec_load syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s9
diff --git a/tests/keyctl.gen.test b/tests/keyctl.gen.test
new file mode 100755
index 0000000..82afad9
--- /dev/null
+++ b/tests/keyctl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (keyctl -a31 -s10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31 -s10
diff --git a/tests/keyctl.test b/tests/keyctl.test
deleted file mode 100755
index 875a82d..0000000
--- a/tests/keyctl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of keyctl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31 -s10
diff --git a/tests/kill.gen.test b/tests/kill.gen.test
new file mode 100755
index 0000000..08a004e
--- /dev/null
+++ b/tests/kill.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (kill -a12 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12 -esignal=none
diff --git a/tests/kill.test b/tests/kill.test
deleted file mode 100755
index 7a3a51a..0000000
--- a/tests/kill.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of kill syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -esignal=none
diff --git a/tests/ksysent.c b/tests/ksysent.c
index 8cac93c..f598664 100644
--- a/tests/ksysent.c
+++ b/tests/ksysent.c
@@ -2,6 +2,7 @@
  * Validate syscallent.h file.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,6 +41,13 @@
 #define TP 0
 #define TS 0
 #define TM 0
+#define TST 0
+#define TLST 0
+#define TFST 0
+#define TSTA 0
+#define TSF 0
+#define TFSF 0
+#define TSFA 0
 #define NF 0
 #define MA 0
 #define SI 0
diff --git a/tests/lchown.gen.test b/tests/lchown.gen.test
new file mode 100755
index 0000000..b31e29d
--- /dev/null
+++ b/tests/lchown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lchown -a30); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30
diff --git a/tests/lchown.test b/tests/lchown.test
deleted file mode 100755
index ceeaa85..0000000
--- a/tests/lchown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check lchown syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30
diff --git a/tests/lchown32.gen.test b/tests/lchown32.gen.test
new file mode 100755
index 0000000..83be4bc
--- /dev/null
+++ b/tests/lchown32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lchown32 -a32); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32
diff --git a/tests/lchown32.test b/tests/lchown32.test
deleted file mode 100755
index 6ee1ac9..0000000
--- a/tests/lchown32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check lchown32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32
diff --git a/tests/link.gen.test b/tests/link.gen.test
new file mode 100755
index 0000000..b6db34d
--- /dev/null
+++ b/tests/link.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (link ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/link.test b/tests/link.test
deleted file mode 100755
index cfa2b0c..0000000
--- a/tests/link.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check link syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/linkat.gen.test b/tests/linkat.gen.test
new file mode 100755
index 0000000..54b12b9
--- /dev/null
+++ b/tests/linkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (linkat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/linkat.test b/tests/linkat.test
deleted file mode 100755
index 5627de7..0000000
--- a/tests/linkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check linkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/llseek.test b/tests/llseek.test
index cf1607e..8dcd65d 100755
--- a/tests/llseek.test
+++ b/tests/llseek.test
@@ -9,7 +9,3 @@
 run_strace -e_llseek $args > "$EXP"
 grep -v '^lseek([0-9]' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests/lookup_dcookie.gen.test b/tests/lookup_dcookie.gen.test
new file mode 100755
index 0000000..6357e19
--- /dev/null
+++ b/tests/lookup_dcookie.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lookup_dcookie -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/lookup_dcookie.test b/tests/lookup_dcookie.test
deleted file mode 100755
index 47e1c2d..0000000
--- a/tests/lookup_dcookie.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of lookup_cookie syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/lseek.test b/tests/lseek.test
index f96a91d..5b20a7f 100755
--- a/tests/lseek.test
+++ b/tests/lseek.test
@@ -9,7 +9,3 @@
 run_strace -a30 -elseek $args > "$EXP"
 grep -v '^lseek([0-9]' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests/lstat.c b/tests/lstat.c
index 3754f76..8441bf8 100644
--- a/tests/lstat.c
+++ b/tests/lstat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/lstat.gen.test b/tests/lstat.gen.test
new file mode 100755
index 0000000..7231c49
--- /dev/null
+++ b/tests/lstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/lstat.test b/tests/lstat.test
deleted file mode 100755
index f513bb4..0000000
--- a/tests/lstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check lstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/lstat64.c b/tests/lstat64.c
index da06609..500b60f 100644
--- a/tests/lstat64.c
+++ b/tests/lstat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/lstat64.gen.test b/tests/lstat64.gen.test
new file mode 100755
index 0000000..124cce4
--- /dev/null
+++ b/tests/lstat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (lstat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/lstat64.test b/tests/lstat64.test
deleted file mode 100755
index fcafe79..0000000
--- a/tests/lstat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check lstat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/lstatx.c b/tests/lstatx.c
index cdd1124..8049bea 100644
--- a/tests/lstatx.c
+++ b/tests/lstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/madvise.c b/tests/madvise.c
new file mode 100644
index 0000000..bf9cd78
--- /dev/null
+++ b/tests/madvise.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdint.h>
+#include <stdio.h>
+#include <sys/mman.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+static const char *errstr;
+
+static long
+k_madvise(const kernel_ulong_t addr,
+	  const kernel_ulong_t length,
+	  const kernel_ulong_t advice)
+{
+	long rc = syscall(__NR_madvise, addr, length, advice);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	const unsigned long length = get_page_size();
+	void *const addr = tail_alloc(length);
+	long rc;
+
+	rc = madvise(addr, length, MADV_NORMAL);
+	printf("madvise(%p, %lu, MADV_NORMAL) = %s\n",
+	       addr, length, sprintrc(rc));
+
+	static const kernel_ulong_t advice =
+		(kernel_ulong_t) 0xfacefeed00000000ULL | MADV_RANDOM;
+	rc = k_madvise((uintptr_t) addr, length, advice);
+	printf("madvise(%p, %lu, MADV_RANDOM) = %s\n",
+	       addr, length, sprintrc(rc));
+
+	static const kernel_ulong_t bogus_length =
+		(kernel_ulong_t) 0xfffffffffffffaceULL;
+	rc = k_madvise(0, bogus_length, MADV_SEQUENTIAL);
+	printf("madvise(NULL, %llu, MADV_SEQUENTIAL) = %s\n",
+	       (unsigned long long) bogus_length, sprintrc(rc));
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		rc = k_madvise(f8ill_ptr_to_kulong(addr), length, MADV_NORMAL);
+		printf("madvise(%#llx, %lu, MADV_NORMAL) = %s\n",
+		       (unsigned long long) f8ill_ptr_to_kulong(addr),
+		       length, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/madvise.gen.test b/tests/madvise.gen.test
new file mode 100755
index 0000000..bd36dad
--- /dev/null
+++ b/tests/madvise.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (madvise -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests/mbind.gen.test b/tests/mbind.gen.test
new file mode 100755
index 0000000..a0d144d
--- /dev/null
+++ b/tests/mbind.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mbind ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/mbind.test b/tests/mbind.test
deleted file mode 100755
index 2a07cac..0000000
--- a/tests/mbind.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mbind syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/membarrier.gen.test b/tests/membarrier.gen.test
new file mode 100755
index 0000000..7a6ea10
--- /dev/null
+++ b/tests/membarrier.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (membarrier -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests/membarrier.test b/tests/membarrier.test
deleted file mode 100755
index ad1f713..0000000
--- a/tests/membarrier.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check membarrier syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests/memfd_create.gen.test b/tests/memfd_create.gen.test
new file mode 100755
index 0000000..11762be
--- /dev/null
+++ b/tests/memfd_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (memfd_create ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/memfd_create.test b/tests/memfd_create.test
deleted file mode 100755
index 4361dae..0000000
--- a/tests/memfd_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of memfd_create syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/migrate_pages.gen.test b/tests/migrate_pages.gen.test
new file mode 100755
index 0000000..20b7cad
--- /dev/null
+++ b/tests/migrate_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (migrate_pages -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests/migrate_pages.test b/tests/migrate_pages.test
deleted file mode 100755
index fad53b7..0000000
--- a/tests/migrate_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check migrate_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33
diff --git a/tests/mincore.gen.test b/tests/mincore.gen.test
new file mode 100755
index 0000000..dc40726
--- /dev/null
+++ b/tests/mincore.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mincore -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests/mincore.test b/tests/mincore.test
deleted file mode 100755
index 6af9f49..0000000
--- a/tests/mincore.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mincore syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests/mkdir.gen.test b/tests/mkdir.gen.test
new file mode 100755
index 0000000..80b4995
--- /dev/null
+++ b/tests/mkdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mkdir -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests/mkdir.test b/tests/mkdir.test
deleted file mode 100755
index 38ed692..0000000
--- a/tests/mkdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mkdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests/mkdirat.gen.test b/tests/mkdirat.gen.test
new file mode 100755
index 0000000..0f3fdae
--- /dev/null
+++ b/tests/mkdirat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mkdirat -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests/mkdirat.test b/tests/mkdirat.test
deleted file mode 100755
index 0fcb841..0000000
--- a/tests/mkdirat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mkdirat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests/mknod.c b/tests/mknod.c
index 4cc1c5c..b387149 100644
--- a/tests/mknod.c
+++ b/tests/mknod.c
@@ -8,7 +8,7 @@
 # include <sys/sysmacros.h>
 # include <unistd.h>
 
-static const char sample[] = "mknod";
+static const char *sample;
 
 static long
 call_mknod(unsigned short mode, unsigned long dev)
@@ -18,9 +18,10 @@
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
 	unsigned long dev = (unsigned long) 0xdeadbeefbadc0dedULL;
+	sample = av[0];
 
 	long rc = call_mknod(0, dev);
 	printf("mknod(\"%s\", 000) = %ld %s (%m)\n",
diff --git a/tests/mknod.gen.test b/tests/mknod.gen.test
new file mode 100755
index 0000000..870c88b
--- /dev/null
+++ b/tests/mknod.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mknod -a18); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18
diff --git a/tests/mknod.test b/tests/mknod.test
deleted file mode 100755
index 195f1e3..0000000
--- a/tests/mknod.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mknod syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a18
diff --git a/tests/mknodat.gen.test b/tests/mknodat.gen.test
new file mode 100755
index 0000000..747fcbe
--- /dev/null
+++ b/tests/mknodat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mknodat -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests/mknodat.test b/tests/mknodat.test
deleted file mode 100755
index 1701a36..0000000
--- a/tests/mknodat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mknodat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests/mlock.gen.test b/tests/mlock.gen.test
new file mode 100755
index 0000000..2c8ea5e
--- /dev/null
+++ b/tests/mlock.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlock -a20 -e trace=mlock,munlock); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=mlock,munlock
diff --git a/tests/mlock.test b/tests/mlock.test
deleted file mode 100755
index 9a73a30..0000000
--- a/tests/mlock.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mlock and munlock syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=mlock,munlock -a20
diff --git a/tests/mlock2.gen.test b/tests/mlock2.gen.test
new file mode 100755
index 0000000..aa1818e
--- /dev/null
+++ b/tests/mlock2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlock2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/mlock2.test b/tests/mlock2.test
deleted file mode 100755
index bc412e9..0000000
--- a/tests/mlock2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mlock2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/mlockall.gen.test b/tests/mlockall.gen.test
new file mode 100755
index 0000000..06d8ca4
--- /dev/null
+++ b/tests/mlockall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mlockall -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests/mlockall.test b/tests/mlockall.test
deleted file mode 100755
index d7a6182..0000000
--- a/tests/mlockall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mlockall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests/mmap.c b/tests/mmap.c
index f726f63..0321bf5 100644
--- a/tests/mmap.c
+++ b/tests/mmap.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -89,10 +90,6 @@
 	printf("mremap(%p, %lu, %lu, MREMAP_MAYMOVE|MREMAP_FIXED"
 	       ", %p) = %p\n", addr, length2, length3, addr + length2, p);
 
-	if (madvise(p, length3, MADV_NORMAL))
-		perror_msg_and_fail("madvise");
-	printf("madvise(%p, %lu, MADV_NORMAL) = 0\n", p, length3);
-
 	if (munmap(p, length3))
 		perror_msg_and_fail("munmap");
 	printf("munmap(%p, %lu) = 0\n", p, length3);
diff --git a/tests/mmap.test b/tests/mmap.test
index 0b87114..7ba664e 100755
--- a/tests/mmap.test
+++ b/tests/mmap.test
@@ -4,6 +4,7 @@
 # syscalls decoding.
 #
 # Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -50,9 +51,7 @@
 
 syscall=$mmap,madvise,mlockall,mprotect,mremap,msync,munmap
 
-run_prog "./$NAME" $mmap > /dev/null
+run_prog "../$NAME" $mmap > /dev/null
 run_strace -a20 -e$syscall $args > "$EXP"
 sed -n "/^$mmap(NULL, 0, PROT_NONE,/,\$p" < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests/mmap64.gen.test b/tests/mmap64.gen.test
new file mode 100755
index 0000000..5e747b0
--- /dev/null
+++ b/tests/mmap64.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmap64 +mmap.test); do not edit.
+. "${srcdir=.}/mmap.test"
diff --git a/tests/mmap64.test b/tests/mmap64.test
deleted file mode 100755
index 51f1896..0000000
--- a/tests/mmap64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check mmap/mprotect/munmap syscalls decoding.
-# Target executable was compiled with -D_FILE_OFFSET_BITS=64.
-
-. "${srcdir=.}/mmap.test"
diff --git a/tests/mmsg-silent.gen.test b/tests/mmsg-silent.gen.test
new file mode 100755
index 0000000..47863f2
--- /dev/null
+++ b/tests/mmsg-silent.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg-silent -a25 -e verbose=none -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
diff --git a/tests/mmsg-silent.test b/tests/mmsg-silent.test
deleted file mode 100755
index 775e0ad..0000000
--- a/tests/mmsg-silent.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check silent decoding of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e verbose=none -e trace=sendmmsg,recvmmsg
diff --git a/tests/mmsg.gen.test b/tests/mmsg.gen.test
new file mode 100755
index 0000000..4d90e3d
--- /dev/null
+++ b/tests/mmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e read=0 -e write=1 -e trace=recvmmsg,sendmmsg
diff --git a/tests/mmsg.test b/tests/mmsg.test
deleted file mode 100755
index a8148ba..0000000
--- a/tests/mmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check how iovecs in struct mmsghdr are decoded.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=recvmmsg,sendmmsg -e read=0 -e write=1
diff --git a/tests/mmsg_name-v.gen.test b/tests/mmsg_name-v.gen.test
new file mode 100755
index 0000000..e34946f
--- /dev/null
+++ b/tests/mmsg_name-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests/mmsg_name-v.test b/tests/mmsg_name-v.test
deleted file mode 100755
index ab8dfba..0000000
--- a/tests/mmsg_name-v.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests/mmsg_name.gen.test b/tests/mmsg_name.gen.test
new file mode 100755
index 0000000..ac54294
--- /dev/null
+++ b/tests/mmsg_name.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mmsg_name -a25 -e trace=sendmmsg,recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests/mmsg_name.test b/tests/mmsg_name.test
deleted file mode 100755
index e18c972..0000000
--- a/tests/mmsg_name.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check decoding of msg_name* fields of struct msghdr array argument
-# of sendmmsg and recvmmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=sendmmsg,recvmmsg
diff --git a/tests/mount.gen.test b/tests/mount.gen.test
new file mode 100755
index 0000000..0b124bc
--- /dev/null
+++ b/tests/mount.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mount ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/mount.test b/tests/mount.test
deleted file mode 100755
index 40fdca9..0000000
--- a/tests/mount.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mount syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/move_pages.c b/tests/move_pages.c
index f4ccafa..5ec25aa 100644
--- a/tests/move_pages.c
+++ b/tests/move_pages.c
@@ -2,6 +2,7 @@
  * Check decoding of move_pages syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -126,7 +127,7 @@
 			printf("%d", status[i]);
 		} else {
 			errno = -status[i];
-			printf("%s", errno2name());
+			printf("-%s", errno2name());
 		}
 	}
 	printf("]");
@@ -190,9 +191,9 @@
 	const unsigned page_size = get_page_size();
 	const void *const page = tail_alloc(page_size);
 	const void *const efault = page + page_size;
-	const void **pages = tail_alloc(sizeof(*pages));
-	int *nodes = tail_alloc(sizeof(*nodes));
-	int *status = tail_alloc(sizeof(*status));
+	TAIL_ALLOC_OBJECT_VAR_PTR(const void *, pages);
+	TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes);
+	TAIL_ALLOC_OBJECT_VAR_PTR(int, status);
 
 	print_stat_pages(pid, 0, pages, status);
 	print_move_pages(pid, 0, 0, pages, nodes, status);
diff --git a/tests/move_pages.gen.test b/tests/move_pages.gen.test
new file mode 100755
index 0000000..2f060fa
--- /dev/null
+++ b/tests/move_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (move_pages -s3); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3
diff --git a/tests/move_pages.test b/tests/move_pages.test
deleted file mode 100755
index f957717..0000000
--- a/tests/move_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of move_pages syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3
diff --git a/tests/mq.c b/tests/mq.c
index 9c2ffc8..ee2d059 100644
--- a/tests/mq.c
+++ b/tests/mq.c
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,17 +38,19 @@
 # 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("/" NAME, O_CREAT, 0700, NULL))
+	char *name;
+	if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0)
+		perror_msg_and_fail("asprintf");
+
+	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);
+	printf("mq_open(\"%s\", O_RDONLY|O_CREAT, 0700, NULL) = 0\n", name + 1);
 
 	if (mq_getattr(0, &attr))
 		perror_msg_and_skip("mq_getattr");
@@ -63,9 +66,9 @@
 	       (long long) attr.mq_maxmsg,
 	       (long long) attr.mq_msgsize);
 
-	if (mq_unlink("/" NAME))
+	if (mq_unlink(name))
 		perror_msg_and_skip("mq_unlink");
-	printf("mq_unlink(\"%s\") = 0\n", NAME);
+	printf("mq_unlink(\"%s\") = 0\n", name + 1);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/mq.gen.test b/tests/mq.gen.test
new file mode 100755
index 0000000..8be520d
--- /dev/null
+++ b/tests/mq.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -e trace=mq_getsetattr,mq_open,mq_unlink
diff --git a/tests/mq.test b/tests/mq.test
deleted file mode 100755
index 746b07b..0000000
--- a/tests/mq.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of mq_open, mq_getsetattr, and mq_unlink syscalls.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a28 -e trace=mq_getsetattr,mq_open,mq_unlink
diff --git a/tests/mq_sendrecv-read.gen.test b/tests/mq_sendrecv-read.gen.test
new file mode 100755
index 0000000..278e9b7
--- /dev/null
+++ b/tests/mq_sendrecv-read.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv-read -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests/mq_sendrecv-read.test b/tests/mq_sendrecv-read.test
deleted file mode 100755
index eb4ad75..0000000
--- a/tests/mq_sendrecv-read.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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.gen.test b/tests/mq_sendrecv-write.gen.test
new file mode 100755
index 0000000..5963eb4
--- /dev/null
+++ b/tests/mq_sendrecv-write.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv-write -ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -ewrite=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests/mq_sendrecv-write.test b/tests/mq_sendrecv-write.test
deleted file mode 100755
index 38277ec..0000000
--- a/tests/mq_sendrecv-write.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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
index c151542..e3ad0d5 100644
--- a/tests/mq_sendrecv.c
+++ b/tests/mq_sendrecv.c
@@ -3,6 +3,7 @@
  * mq_unlink syscalls.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,10 +50,6 @@
 
 # include "sigevent.h"
 
-# ifndef MQ_NAME
-#  define MQ_NAME "mq_sendrecv.sample"
-# endif
-
 # ifndef DUMPIO_READ
 #  define DUMPIO_READ 0
 # endif
@@ -61,6 +58,7 @@
 #  define DUMPIO_WRITE 0
 # endif
 
+static char *mq_name;
 
 enum {
 	NUM_ATTRS = 8,
@@ -124,8 +122,8 @@
 {
 	long rc;
 
-	rc = syscall(__NR_mq_unlink, MQ_NAME);
-	printf("mq_unlink(\"" MQ_NAME "\") = %s\n", sprintrc(rc));
+	rc = syscall(__NR_mq_unlink, mq_name);
+	printf("mq_unlink(\"%s\") = %s\n", mq_name, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 }
@@ -147,9 +145,9 @@
 		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));
+		printf(", %u, 42, {tv_sec=%lld, tv_nsec=%llu}) = %s\n", msg_size,
+		       (long long) tmout->tv_sec,
+		       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 		errno = saved_errno;
 
 		if (rc == -1) {
@@ -185,9 +183,9 @@
 			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));
+		printf(", %u, [42], {tv_sec=%lld, tv_nsec=%llu}) = %s\n", MSG_SIZE,
+		       (long long) tmout->tv_sec,
+		       zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
 		errno = saved_errno;
 
 		if (rc == -1) {
@@ -242,7 +240,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, bogus_prio_ptr);
 	struct timespec *bogus_tmout = tail_memdup(&bogus_tmout_data,
 		sizeof(*bogus_tmout));
 	struct timespec *future_tmout = tail_memdup(&future_tmout_data,
@@ -278,8 +276,8 @@
 	/* 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",
+	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],
@@ -304,12 +302,12 @@
 	/* 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",
+	printf("mq_timedsend(%d, %p, %llu, %u, {tv_sec=%lld, tv_nsec=%llu})"
+	       " = %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));
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), sprintrc(rc));
 
 	/* Fully valid message, uncut */
 	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_SIZE - MSG_CUT,
@@ -317,10 +315,10 @@
 	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",
+	printf(", %llu, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
 	       (unsigned long long) MSG_CUT, (unsigned) bogus_prio,
-	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
-	       errstr);
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), errstr);
 
 	/* Partially invalid message, cut at maxstrlen */
 	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_CUT, MSG_SIZE,
@@ -328,10 +326,10 @@
 	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",
+	printf("..., %llu, %u, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
 	       (unsigned long long) MSG_SIZE, (unsigned) bogus_prio,
-	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
-	       errstr);
+	       (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), errstr);
 
 
 	/* mq_timedreceive */
@@ -351,11 +349,11 @@
 	/* 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",
+	printf("mq_timedreceive(%d, %p, %llu, %p, {tv_sec=%lld, tv_nsec=%llu}) "
+	       "= %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));
+	       bogus_prio_ptr, (long long) bogus_tmout->tv_sec,
+	       zero_extend_signed_to_ull(bogus_tmout->tv_nsec), sprintrc(rc));
 
 
 	/* mq_notify */
@@ -381,8 +379,8 @@
 	/* 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",
+	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));
@@ -391,8 +389,8 @@
 	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",
+	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));
 
@@ -403,10 +401,10 @@
 	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",
+	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,
@@ -430,12 +428,15 @@
 
 	/* Sending and receiving test */
 
+	if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0)
+		perror_msg_and_fail("asprintf");
+
 # 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,
+	fd = rc = syscall(__NR_mq_open, mq_name,
 		          O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
 	errstr = sprintrc(rc);
 	if (rc < 0)
@@ -448,11 +449,11 @@
 # 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);
+	printf("mq_open(\"%s\", O_RDWR|O_CREAT|O_NONBLOCK, 0700"
+	       ", {mq_flags=%#llx, mq_maxmsg=2, mq_msgsize=%u"
+	       ", mq_curmsgs=%lld}) = %s\n",
+	       mq_name, (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)
diff --git a/tests/mq_sendrecv.gen.test b/tests/mq_sendrecv.gen.test
new file mode 100755
index 0000000..d82576f
--- /dev/null
+++ b/tests/mq_sendrecv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
diff --git a/tests/mq_sendrecv.test b/tests/mq_sendrecv.test
deleted file mode 100755
index 67f4d63..0000000
--- a/tests/mq_sendrecv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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-v.gen.test b/tests/msg_control-v.gen.test
new file mode 100755
index 0000000..0a0de15
--- /dev/null
+++ b/tests/msg_control-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_control-v -v -a21 -e trace=sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -a21 -e trace=sendmsg
diff --git a/tests/msg_control-v.test b/tests/msg_control-v.test
deleted file mode 100755
index 41f9842..0000000
--- a/tests/msg_control-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -a21 -e trace=sendmsg
diff --git a/tests/msg_control.c b/tests/msg_control.c
index 709a307..1e64f1a 100644
--- a/tests/msg_control.c
+++ b/tests/msg_control.c
@@ -2,6 +2,7 @@
  * Check decoding of struct msghdr ancillary data.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -689,7 +690,7 @@
 	int rc = sendmsg(-1, 0, 0);
 	printf("sendmsg(-1, NULL, 0) = %d %s (%m)\n", rc, errno2name());
 
-	struct msghdr *mh = tail_alloc(sizeof(*mh));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, mh);
 	memset(mh, 0, sizeof(*mh));
 	test_big_len(mh);
 
diff --git a/tests/msg_control.gen.test b/tests/msg_control.gen.test
new file mode 100755
index 0000000..446ebcb
--- /dev/null
+++ b/tests/msg_control.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_control -a21 -e trace=sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21 -e trace=sendmsg
diff --git a/tests/msg_control.test b/tests/msg_control.test
deleted file mode 100755
index 809ec7b..0000000
--- a/tests/msg_control.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of struct msghdr ancillary data.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21 -e trace=sendmsg
diff --git a/tests/msg_name.c b/tests/msg_name.c
index c2ddda2..9e98e4e 100644
--- a/tests/msg_name.c
+++ b/tests/msg_name.c
@@ -2,6 +2,7 @@
  * Check decoding of struct msghdr.msg_name* arguments of recvmsg syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,13 +48,13 @@
 static void
 test_msg_name(const int send_fd, const int recv_fd)
 {
-	char *const recv_buf = tail_alloc(sizeof(*recv_buf));
-	struct iovec *const iov = tail_alloc(sizeof(*iov));
+	TAIL_ALLOC_OBJECT_CONST_PTR(char, recv_buf);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = recv_buf;
 	iov->iov_len = sizeof(*recv_buf);
 
-	struct sockaddr_un *const addr = tail_alloc(sizeof(*addr));
-	struct msghdr *const msg = tail_alloc(sizeof(*msg));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sockaddr_un, addr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, msg);
 	msg->msg_name = addr;
 	msg->msg_namelen = sizeof(*addr);
 	msg->msg_iov = iov;
diff --git a/tests/msg_name.gen.test b/tests/msg_name.gen.test
new file mode 100755
index 0000000..2d0ae90
--- /dev/null
+++ b/tests/msg_name.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (msg_name -a20 -e trace=recvmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=recvmsg
diff --git a/tests/msg_name.test b/tests/msg_name.test
deleted file mode 100755
index ac06dd5..0000000
--- a/tests/msg_name.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of struct msghdr.msg_name* arguments of recvmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=recvmsg
diff --git a/tests/munlockall.gen.test b/tests/munlockall.gen.test
new file mode 100755
index 0000000..18343cb
--- /dev/null
+++ b/tests/munlockall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (munlockall -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests/munlockall.test b/tests/munlockall.test
deleted file mode 100755
index e25d60a..0000000
--- a/tests/munlockall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check munlockall syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests/nanosleep.c b/tests/nanosleep.c
index 9f0e626..8f9724e 100644
--- a/tests/nanosleep.c
+++ b/tests/nanosleep.c
@@ -1,5 +1,8 @@
 /*
+ * Check decoding of nanosleep syscall.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,40 +60,62 @@
 
 	if (nanosleep(&req.ts, NULL))
 		perror_msg_and_fail("nanosleep");
-	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, NULL) = 0\n",
-	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, NULL) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec));
 
 	assert(nanosleep(NULL, &rem.ts) == -1);
 	printf("nanosleep(NULL, %p) = -1 EFAULT (%m)\n", &rem.ts);
 
 	if (nanosleep(&req.ts, &rem.ts))
 		perror_msg_and_fail("nanosleep");
-	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);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = 0\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	req.ts.tv_nsec = 1000000000;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	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);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = 0xdeadbeefU;
+	req.ts.tv_nsec = 0xfacefeedU;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	req.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
+
+	req.ts.tv_sec = -1;
+	req.ts.tv_nsec = -1;
+	assert(nanosleep(&req.ts, &rem.ts) == -1);
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}, %p) = -1 EINVAL (%m)\n",
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec), &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(sigprocmask(SIG_SETMASK, &set, NULL) == 0);
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	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,
-	       (intmax_t) itv.it_value.tv_usec);
 
+	req.ts.tv_sec = 0;
 	req.ts.tv_nsec = 999999999;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, {tv_sec=%jd, tv_nsec=%jd})"
+	printf("nanosleep({tv_sec=%lld, tv_nsec=%llu}"
+	       ", {tv_sec=%lld, tv_nsec=%llu})"
 	       " = ? 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);
+	       (long long) req.ts.tv_sec,
+	       zero_extend_signed_to_ull(req.ts.tv_nsec),
+	       (long long) rem.ts.tv_sec,
+	       zero_extend_signed_to_ull(rem.ts.tv_nsec));
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/nanosleep.gen.test b/tests/nanosleep.gen.test
new file mode 100755
index 0000000..ea5b19a
--- /dev/null
+++ b/tests/nanosleep.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nanosleep -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests/nanosleep.test b/tests/nanosleep.test
deleted file mode 100755
index 055a8dc..0000000
--- a/tests/nanosleep.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check nanosleep and setitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=nanosleep,setitimer
diff --git a/tests/net-icmp_filter.c b/tests/net-icmp_filter.c
index f3f99f1..71e530d 100644
--- a/tests/net-icmp_filter.c
+++ b/tests/net-icmp_filter.c
@@ -2,6 +2,7 @@
  * Check decoding of ICMP_FILTER.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,9 +44,9 @@
 	printf("setsockopt(-1, SOL_RAW, ICMP_FILTER, NULL, 0) = -1 %s (%m)\n",
 	       errno2name());
 
-	socklen_t *const plen = tail_alloc(sizeof(*plen));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, plen);
 	void *const efault = plen + 1;
-	struct icmp_filter *const f = tail_alloc(sizeof(*f));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct icmp_filter, f);
 
 	getsockopt(-1, SOL_RAW, ICMP_FILTER, f, plen);
 	printf("getsockopt(-1, SOL_RAW, ICMP_FILTER, %p, %p) = -1 %s (%m)\n",
diff --git a/tests/net-icmp_filter.gen.test b/tests/net-icmp_filter.gen.test
new file mode 100755
index 0000000..bf6c765
--- /dev/null
+++ b/tests/net-icmp_filter.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-icmp_filter -e trace=getsockopt,setsockopt); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=getsockopt,setsockopt
diff --git a/tests/net-icmp_filter.test b/tests/net-icmp_filter.test
deleted file mode 100755
index c05a5e6..0000000
--- a/tests/net-icmp_filter.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ICMP_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=getsockopt,setsockopt
diff --git a/tests/net-sockaddr.c b/tests/net-sockaddr.c
index bf37779..9dc9ecf 100644
--- a/tests/net-sockaddr.c
+++ b/tests/net-sockaddr.c
@@ -2,6 +2,7 @@
  * Check decoding of sockaddr structures
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +58,7 @@
 static void
 check_un(void)
 {
-	struct sockaddr_un *un = tail_alloc(sizeof(*un));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_un, un);
 	un->sun_family = AF_UNIX;
 	memset(un->sun_path, '0', sizeof(un->sun_path));
 	unsigned int len = sizeof(*un);
@@ -133,7 +134,7 @@
 	const unsigned short h_port = 12345;
 	static const char h_addr[] = "12.34.56.78";
 
-	struct sockaddr_in *in = tail_alloc(sizeof(*in));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_in, in);
 	in->sin_family = AF_INET;
 	in->sin_port = htons(h_port);
 	in->sin_addr.s_addr = inet_addr(h_addr);
@@ -207,7 +208,7 @@
 	const unsigned int h_flowinfo = 1234567890;
 	static const char h_addr[] = "12:34:56:78:90:ab:cd:ef";
 
-	struct sockaddr_in6 *in6 = tail_alloc(sizeof(*in6));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_in6, in6);
 	in6->sin6_family = AF_INET6;
 	in6->sin6_port = htons(h_port);
 	in6->sin6_flowinfo = htonl(h_flowinfo);
@@ -298,7 +299,7 @@
 static void
 check_nl(void)
 {
-	struct sockaddr_nl *nl = tail_alloc(sizeof(*nl));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_nl, nl);
 	nl->nl_family = AF_NETLINK;
 	nl->nl_pid = 1234567890;
 	nl->nl_groups = 0xfacefeed;
@@ -390,7 +391,7 @@
 check_hci(void)
 {
 	const unsigned short h_port = 12345;
-	struct sockaddr_hci *hci = tail_alloc(sizeof(*hci));
+	TAIL_ALLOC_OBJECT_VAR_PTR(struct sockaddr_hci, hci);
 	hci->hci_family = AF_BLUETOOTH;
 	hci->hci_dev = htobs(h_port);
 	hci->hci_channel = HCI_CHANNEL_RAW;
diff --git a/tests/net-sockaddr.gen.test b/tests/net-sockaddr.gen.test
new file mode 100755
index 0000000..53c8335
--- /dev/null
+++ b/tests/net-sockaddr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (net-sockaddr -a24 -e trace=connect); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -e trace=connect
diff --git a/tests/net-sockaddr.test b/tests/net-sockaddr.test
deleted file mode 100755
index cdfe536..0000000
--- a/tests/net-sockaddr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sockaddr structures.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=connect
diff --git a/tests/net-y-unix.c b/tests/net-y-unix.c
index 3efc2f6..df56ad6 100644
--- a/tests/net-y-unix.c
+++ b/tests/net-y-unix.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-y-unix strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,19 +38,21 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-int
-main(int ac, const char **av)
-{
-	assert(ac == 2);
+#define TEST_SOCKET "net-y-unix.socket"
 
-	struct sockaddr_un addr = { .sun_family = AF_UNIX };
-	unsigned int sun_path_len = strlen(av[1]);
-	assert(sun_path_len > 0 && sun_path_len <= sizeof(addr.sun_path));
-	strncpy(addr.sun_path, av[1], sizeof(addr.sun_path));
+int
+main(void)
+{
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const struct sockaddr_un addr = {
+		.sun_family = AF_UNIX,
+		.sun_path = TEST_SOCKET
+	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
 
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
-	*len = offsetof(struct sockaddr_un, sun_path) + strlen(av[1]) + 1;
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
+	*len = offsetof(struct sockaddr_un, sun_path) + strlen(TEST_SOCKET) + 1;
 	if (*len > sizeof(addr))
 		*len = sizeof(addr);
 
@@ -61,17 +63,18 @@
 	printf("socket(AF_UNIX, SOCK_STREAM, 0) = %d<socket:[%lu]>\n",
 	       listen_fd, listen_inode);
 
-	(void) unlink(av[1]);
+	(void) unlink(TEST_SOCKET);
 	if (bind(listen_fd, listen_sa, *len))
 		perror_msg_and_skip("bind");
 	printf("bind(%d<socket:[%lu]>, {sa_family=AF_UNIX, sun_path=\"%s\"}"
-	       ", %u) = 0\n", listen_fd, listen_inode, av[1], (unsigned) *len);
+	       ", %u) = 0\n",
+	       listen_fd, listen_inode, TEST_SOCKET, (unsigned) *len);
 
 	if (listen(listen_fd, 1))
 		perror_msg_and_skip("listen");
 	printf("listen(%d<socket:[%lu]>, 1) = 0\n", listen_fd, listen_inode);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_SOCKET, SO_PASSCRED, optval, len))
 		perror_msg_and_fail("getsockopt");
@@ -85,7 +88,7 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	int connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -98,7 +101,7 @@
 		perror_msg_and_fail("connect");
 	printf("connect(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
 	memset(accept_sa, 0, sizeof(addr));
@@ -119,7 +122,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", connect_fd, connect_inode,
-	       av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	char text[] = "text";
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
@@ -163,14 +166,14 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
-	       listen_fd, listen_inode, av[1],
+	       listen_fd, listen_inode, TEST_SOCKET,
 	       (int) sizeof(addr), (int) *len);
 
 	if (connect(connect_fd, listen_sa, *len))
 		perror_msg_and_fail("connect");
 	printf("connect(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -192,7 +195,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<socket:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
-	       connect_fd, connect_inode, av[1],
+	       connect_fd, connect_inode, TEST_SOCKET,
 	       (int) sizeof(addr), (int) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
@@ -224,7 +227,7 @@
 	assert(close(accept_fd) == 0);
 	printf("close(%d<socket:[%lu]>) = 0\n", accept_fd, accept_inode);
 
-	assert(unlink(av[1]) == 0);
+	assert(unlink(TEST_SOCKET) == 0);
 
 	assert(close(listen_fd) == 0);
 	printf("close(%d<socket:[%lu]>) = 0\n",
diff --git a/tests/net-y-unix.test b/tests/net-y-unix.test
index aec8159..fd3fd68 100755
--- a/tests/net-y-unix.test
+++ b/tests/net-y-unix.test
@@ -2,7 +2,7 @@
 #
 # Check decoding of network syscalls in -y mode.
 #
-# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,18 +29,11 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -y is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
 
-addr="$NAME-local-stream"
-run_prog "./$NAME" $addr > /dev/null
-
+run_prog > /dev/null
 run_strace -a20 -y -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests/net-yy-inet.c b/tests/net-yy-inet.c
index f76f941..af1262e 100644
--- a/tests/net-yy-inet.c
+++ b/tests/net-yy-inet.c
@@ -2,6 +2,7 @@
  * This file is part of net-yy-inet strace test.
  *
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,12 +42,14 @@
 int
 main(void)
 {
+	skip_if_unavailable("/proc/self/fd/");
+
 	const struct sockaddr_in addr = {
 		.sin_family = AF_INET,
 		.sin_addr.s_addr = htonl(INADDR_LOOPBACK)
 	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
 	*len = sizeof(addr);
 
 	const int listen_fd = socket(AF_INET, SOCK_STREAM, 0);
@@ -77,7 +80,7 @@
 	       ", [%u]) = 0\n",
 	       listen_fd, listen_port, listen_port, (unsigned) *len);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_TCP, TCP_MAXSEG, optval, len))
 		perror_msg_and_fail("getsockopt");
diff --git a/tests/net-yy-inet.test b/tests/net-yy-inet.test
index 2ebf91f..6b527db 100755
--- a/tests/net-yy-inet.test
+++ b/tests/net-yy-inet.test
@@ -3,6 +3,7 @@
 # Check decoding of ip:port pairs associated with socket descriptors
 #
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -29,18 +30,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_inet_diag
 
-run_prog "./$NAME" > /dev/null
-
+run_prog ../netlink_inet_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests/net-yy-netlink.c b/tests/net-yy-netlink.c
index 64d0efc..6539eda 100644
--- a/tests/net-yy-netlink.c
+++ b/tests/net-yy-netlink.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-yy-netlink strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
  * All rights reserved.
  *
@@ -47,13 +47,14 @@
 int
 main(void)
 {
-	unsigned magic = 1234;
+	skip_if_unavailable("/proc/self/fd/");
+
 	struct sockaddr_nl addr = {
 		.nl_family = AF_NETLINK,
-		.nl_pid = 1234
+		.nl_pid = getpid()
 	};
 	struct sockaddr *const sa = tail_memdup(&addr, sizeof(addr));
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
 	*len = sizeof(addr);
 
 	const int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);
@@ -67,17 +68,17 @@
 		perror_msg_and_skip("bind");
 	printf("bind(%d<NETLINK:[%lu]>, {sa_family=AF_NETLINK"
 	       ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n",
-	       fd, inode, magic, (unsigned) *len);
+	       fd, inode, addr.nl_pid, (unsigned) *len);
 
 	if (getsockname(fd, sa, len))
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<NETLINK:[SOCK_DIAG:%u]>, {sa_family=AF_NETLINK"
 	       ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n",
-	       fd, magic, magic, (unsigned) *len);
+	       fd, addr.nl_pid, addr.nl_pid, (unsigned) *len);
 
 	if (close(fd))
 		perror_msg_and_fail("close");
-	printf("close(%d<NETLINK:[SOCK_DIAG:%u]>) = 0\n", fd, magic);
+	printf("close(%d<NETLINK:[SOCK_DIAG:%u]>) = 0\n", fd, addr.nl_pid);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/net-yy-netlink.test b/tests/net-yy-netlink.test
index bff1d86..3a07e45 100755
--- a/tests/net-yy-netlink.test
+++ b/tests/net-yy-netlink.test
@@ -6,6 +6,7 @@
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
 # Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -32,18 +33,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_netlink_diag
 
-run_prog "./$NAME" > /dev/null
-
+run_prog ../netlink_netlink_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests/net-yy-unix.c b/tests/net-yy-unix.c
index 63637bd..f27cdc0 100644
--- a/tests/net-yy-unix.c
+++ b/tests/net-yy-unix.c
@@ -1,7 +1,7 @@
 /*
  * This file is part of net-yy-unix strace test.
  *
- * Copyright (c) 2013-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,19 +38,21 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-int
-main(int ac, const char **av)
-{
-	assert(ac == 2);
+#define TEST_SOCKET "net-yy-unix.socket"
 
-	struct sockaddr_un addr = { .sun_family = AF_UNIX };
-	unsigned int sun_path_len = strlen(av[1]);
-	assert(sun_path_len > 0 && sun_path_len <= sizeof(addr.sun_path));
-	strncpy(addr.sun_path, av[1], sizeof(addr.sun_path));
+int
+main(void)
+{
+	skip_if_unavailable("/proc/self/fd/");
+
+	struct sockaddr_un addr = {
+		.sun_family = AF_UNIX,
+		.sun_path = TEST_SOCKET
+	};
 	struct sockaddr * const listen_sa = tail_memdup(&addr, sizeof(addr));
 
-	socklen_t * const len = tail_alloc(sizeof(socklen_t));
-	*len = offsetof(struct sockaddr_un, sun_path) + strlen(av[1]) + 1;
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
+	*len = offsetof(struct sockaddr_un, sun_path) + strlen(TEST_SOCKET) + 1;
 	if (*len > sizeof(addr))
 		*len = sizeof(addr);
 
@@ -61,24 +63,25 @@
 	printf("socket(AF_UNIX, SOCK_STREAM, 0) = %d<UNIX:[%lu]>\n",
 	       listen_fd, listen_inode);
 
-	(void) unlink(av[1]);
+	(void) unlink(TEST_SOCKET);
 	if (bind(listen_fd, listen_sa, *len))
 		perror_msg_and_skip("bind");
 	printf("bind(%d<UNIX:[%lu]>, {sa_family=AF_UNIX, sun_path=\"%s\"}"
-	       ", %u) = 0\n", listen_fd, listen_inode, av[1], (unsigned) *len);
+	       ", %u) = 0\n",
+	       listen_fd, listen_inode, TEST_SOCKET, (unsigned) *len);
 
 	if (listen(listen_fd, 1))
 		perror_msg_and_skip("listen");
 	printf("listen(%d<UNIX:[%lu,\"%s\"]>, 1) = 0\n",
-	       listen_fd, listen_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET);
 
-	unsigned int * const optval = tail_alloc(sizeof(unsigned int));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, optval);
 	*len = sizeof(*optval);
 	if (getsockopt(listen_fd, SOL_SOCKET, SO_PASSCRED, optval, len))
 		perror_msg_and_fail("getsockopt");
 	printf("getsockopt(%d<UNIX:[%lu,\"%s\"]>, SOL_SOCKET, SO_PASSCRED"
 	       ", [%u], [%u]) = 0\n",
-	       listen_fd, listen_inode, av[1], *optval, (unsigned) *len);
+	       listen_fd, listen_inode, TEST_SOCKET, *optval, (unsigned) *len);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -86,7 +89,7 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	int connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -99,7 +102,7 @@
 		perror_msg_and_fail("connect");
 	printf("connect(%d<UNIX:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	struct sockaddr * const accept_sa = tail_alloc(sizeof(addr));
 	memset(accept_sa, 0, sizeof(addr));
@@ -110,8 +113,9 @@
 	unsigned long accept_inode = inode_of_sockfd(accept_fd);
 	printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX}"
 	       ", [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
-	       listen_fd, listen_inode, av[1], (int) sizeof(addr), (int) *len,
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET,
+	       (int) sizeof(addr), (int) *len,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -120,7 +124,7 @@
 	printf("getpeername(%d<UNIX:[%lu->%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n",
 	       connect_fd, connect_inode,
-	       accept_inode, av[1], (int) sizeof(addr), (int) *len);
+	       accept_inode, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	char text[] = "text";
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
@@ -134,7 +138,7 @@
 	       == sizeof(text) - 1);
 	printf("recvfrom(%d<UNIX:[%lu->%lu,\"%s\"]>, \"%s\", %u, MSG_DONTWAIT"
 	       ", NULL, NULL) = %u\n",
-	       accept_fd, accept_inode, connect_inode, av[1], text,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET, text,
 	       (unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
 
 	assert(close(connect_fd) == 0);
@@ -143,7 +147,7 @@
 
 	assert(close(accept_fd) == 0);
 	printf("close(%d<UNIX:[%lu->%lu,\"%s\"]>) = 0\n",
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	connect_fd = socket(AF_UNIX, SOCK_STREAM, 0);
 	if (connect_fd < 0)
@@ -166,13 +170,13 @@
 		perror_msg_and_fail("getsockname");
 	printf("getsockname(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", listen_fd, listen_inode,
-	       av[1], av[1], (int) sizeof(addr), (int) *len);
+	       TEST_SOCKET, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	if (connect(connect_fd, listen_sa, *len))
 		perror_msg_and_fail("connect");
 	printf("connect(%d<UNIX:[%lu]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, %u) = 0\n",
-	       connect_fd, connect_inode, av[1], (unsigned) *len);
+	       connect_fd, connect_inode, TEST_SOCKET, (unsigned) *len);
 
 	memset(accept_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -184,9 +188,9 @@
 		((struct sockaddr_un *) accept_sa) -> sun_path + 1;
 	printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=@\"%s\"}, [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
-	       listen_fd, listen_inode, av[1], sun_path1,
+	       listen_fd, listen_inode, TEST_SOCKET, sun_path1,
 	       (int) sizeof(addr), (int) *len,
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
 	memset(listen_sa, 0, sizeof(addr));
 	*len = sizeof(addr);
@@ -194,7 +198,7 @@
 		perror_msg_and_fail("getpeername");
 	printf("getpeername(%d<UNIX:[%lu->%lu,@\"%s\"]>, {sa_family=AF_UNIX"
 	       ", sun_path=\"%s\"}, [%d->%d]) = 0\n", connect_fd, connect_inode,
-	       accept_inode, sun_path1, av[1], (int) sizeof(addr), (int) *len);
+	       accept_inode, sun_path1, TEST_SOCKET, (int) sizeof(addr), (int) *len);
 
 	assert(sendto(connect_fd, text, sizeof(text) - 1, MSG_DONTWAIT, NULL, 0)
 	       == sizeof(text) - 1);
@@ -207,7 +211,7 @@
 	       == sizeof(text) - 1);
 	printf("recvfrom(%d<UNIX:[%lu->%lu,\"%s\"]>, \"%s\", %u, MSG_DONTWAIT"
 	       ", NULL, NULL) = %u\n",
-	       accept_fd, accept_inode, connect_inode, av[1], text,
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET, text,
 	       (unsigned) sizeof(text) - 1, (unsigned) sizeof(text) - 1);
 
 	assert(close(connect_fd) == 0);
@@ -216,13 +220,13 @@
 
 	assert(close(accept_fd) == 0);
 	printf("close(%d<UNIX:[%lu->%lu,\"%s\"]>) = 0\n",
-	       accept_fd, accept_inode, connect_inode, av[1]);
+	       accept_fd, accept_inode, connect_inode, TEST_SOCKET);
 
-	assert(unlink(av[1]) == 0);
+	assert(unlink(TEST_SOCKET) == 0);
 
 	assert(close(listen_fd) == 0);
 	printf("close(%d<UNIX:[%lu,\"%s\"]>) = 0\n",
-	       listen_fd, listen_inode, av[1]);
+	       listen_fd, listen_inode, TEST_SOCKET);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/net-yy-unix.test b/tests/net-yy-unix.test
index b82761c..59323a4 100755
--- a/tests/net-yy-unix.test
+++ b/tests/net-yy-unix.test
@@ -4,7 +4,7 @@
 # associated with unix domain socket descriptors.
 #
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
-# Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -31,19 +31,12 @@
 
 . "${srcdir=.}/init.sh"
 
-# strace -yy is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
 check_prog sed
-run_prog ./netlink_unix_diag
 
-addr="$NAME-local-stream"
-run_prog "./$NAME" $addr > /dev/null
-
+run_prog ../netlink_unix_diag
+run_prog > /dev/null
 run_strace -a22 -yy -eclose,network $args > "$EXP"
+
 # Filter out close() calls made by ld.so and libc.
 sed -n '/socket/,$p' < "$LOG" > "$OUT"
-
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests/net.test b/tests/net.test
index cf943ff..8320707 100755
--- a/tests/net.test
+++ b/tests/net.test
@@ -4,8 +4,8 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./net-accept-connect net-local-stream
-run_strace_merge -enetwork $args
+run_prog ../net-accept-connect net-local-stream
+run_strace_merge -e%network $args
 match_grep
 
 exit 0
diff --git a/tests/netlink_protocol.c b/tests/netlink_protocol.c
index 34e114b..35f954f 100644
--- a/tests/netlink_protocol.c
+++ b/tests/netlink_protocol.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of netlink protocol.
  *
- * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
  * All rights reserved.
  *
@@ -199,6 +199,121 @@
 	printf(", ...], %u, MSG_DONTWAIT, NULL, 0) = %s\n", msg_len, errstr);
 }
 
+static void
+test_nlmsgerr(const int fd)
+{
+	struct nlmsgerr *err;
+	struct nlmsghdr *nlh;
+	void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+	long rc;
+
+	/* error message without enough room for the error code */
+	nlh = nlh0;
+	nlh->nlmsg_len = NLMSG_HDRLEN + 4;
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, %p}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	nlh->nlmsg_len = NLMSG_HDRLEN + 2;
+	nlh = nlh0 - 2;
+	memmove(nlh, nlh0, sizeof(*nlh));
+	memcpy(NLMSG_DATA(nlh), "42", 2);
+
+	rc = sendto(fd, nlh, NLMSG_HDRLEN + 2, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, \"42\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, NLMSG_HDRLEN + 2, NLMSG_HDRLEN + 2, sprintrc(rc));
+
+	/* error message with room for the error code only */
+	nlh = nlh0 - sizeof(err->error);
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(err->error);
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = 42;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=42}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n", fd, nlh->nlmsg_len, nlh->nlmsg_len, sprintrc(rc));
+
+	err->error = -1;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EPERM}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n", fd, nlh->nlmsg_len, nlh->nlmsg_len, sprintrc(rc));
+
+	err->error = -32767;
+	nlh->nlmsg_len += sizeof(err->msg.nlmsg_len);
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-32767, msg=%p}}"
+	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	/* error message with room for the error code and a header */
+	nlh = nlh0 - sizeof(*err);
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(*err);
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = -13;
+	err->msg.nlmsg_len = NLMSG_HDRLEN;
+	err->msg.nlmsg_type = NLMSG_NOOP;
+	err->msg.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST;
+	err->msg.nlmsg_seq = 42;
+	err->msg.nlmsg_pid = 1234;
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EACCES"
+	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+	       ", seq=%u, pid=%u}}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
+	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
+	       nlh->nlmsg_len, sprintrc(rc));
+
+	/* error message with room for the error code, a header, and some data */
+	nlh = nlh0 - sizeof(*err) - 4;
+	nlh->nlmsg_len = NLMSG_HDRLEN + sizeof(*err) + 4;
+	nlh->nlmsg_type = NLMSG_ERROR;
+	nlh->nlmsg_flags = NLM_F_REQUEST;
+	nlh->nlmsg_seq = 0;
+	nlh->nlmsg_pid = 0;
+	err = NLMSG_DATA(nlh);
+	err->error = -13;
+	err->msg.nlmsg_len = NLMSG_HDRLEN + 4;
+	err->msg.nlmsg_type = NLMSG_NOOP;
+	err->msg.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST;
+	err->msg.nlmsg_seq = 421;
+	err->msg.nlmsg_pid = 12345;
+	memcpy(NLMSG_DATA(&err->msg), "abcd", 4);
+
+	rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
+	       ", seq=0, pid=0}, {error=-EACCES"
+	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+	       ", seq=%u, pid=%u}, \"abcd\"}}}, %u, MSG_DONTWAIT, NULL, 0)"
+	       " = %s\n",
+	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
+	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
+	       nlh->nlmsg_len, sprintrc(rc));
+}
+
 int main(void)
 {
 	struct sockaddr_nl addr;
@@ -227,6 +342,7 @@
 	free(path);
 
 	send_query(fd);
+	test_nlmsgerr(fd);
 
 	printf("+++ exited with 0 +++\n");
 
diff --git a/tests/netlink_protocol.gen.test b/tests/netlink_protocol.gen.test
new file mode 100755
index 0000000..9a132fa
--- /dev/null
+++ b/tests/netlink_protocol.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=%network); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=%network
diff --git a/tests/netlink_protocol.test b/tests/netlink_protocol.test
deleted file mode 100755
index ab2bb1e..0000000
--- a/tests/netlink_protocol.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# Check decoding of netlink protocol.
-
-. "${srcdir=.}/init.sh"
-
-# getfdproto is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-    framework_skip_ '/proc/self/fd/ is not available'
-
-run_strace_match_diff -e trace=network
diff --git a/tests/newfstatat.gen.test b/tests/newfstatat.gen.test
new file mode 100755
index 0000000..40ec797
--- /dev/null
+++ b/tests/newfstatat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (newfstatat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/newfstatat.test b/tests/newfstatat.test
deleted file mode 100755
index 6d83ec0..0000000
--- a/tests/newfstatat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check newfstatat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c
index aecf7aa..7fda5ba 100644
--- a/tests/nsyscalls.c
+++ b/tests/nsyscalls.c
@@ -2,6 +2,7 @@
  * Check decoding of out-of-range syscalls.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,6 +42,13 @@
 #define TP 0
 #define TS 0
 #define TM 0
+#define TST 0
+#define TLST 0
+#define TFST 0
+#define TSTA 0
+#define TSF 0
+#define TFSF 0
+#define TSFA 0
 #define NF 0
 #define MA 0
 #define SI 0
diff --git a/tests/old_mmap.gen.test b/tests/old_mmap.gen.test
new file mode 100755
index 0000000..1913eec
--- /dev/null
+++ b/tests/old_mmap.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (old_mmap -a11 -e trace=mmap); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=mmap
diff --git a/tests/old_mmap.test b/tests/old_mmap.test
deleted file mode 100755
index af776ff..0000000
--- a/tests/old_mmap.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of "old mmap" edition of mmap syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=mmap
diff --git a/tests/oldfstat.c b/tests/oldfstat.c
index f5a9441..353614c 100644
--- a/tests/oldfstat.c
+++ b/tests/oldfstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/oldfstat.gen.test b/tests/oldfstat.gen.test
new file mode 100755
index 0000000..2b48b39
--- /dev/null
+++ b/tests/oldfstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldfstat -a18 -v -P stat.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18 -v -P stat.sample
diff --git a/tests/oldfstat.test b/tests/oldfstat.test
deleted file mode 100755
index 66a1056..0000000
--- a/tests/oldfstat.test
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/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
index 6613237..6f07531 100644
--- a/tests/oldlstat.c
+++ b/tests/oldlstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/oldlstat.gen.test b/tests/oldlstat.gen.test
new file mode 100755
index 0000000..3202b92
--- /dev/null
+++ b/tests/oldlstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldlstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/oldlstat.test b/tests/oldlstat.test
deleted file mode 100755
index a0f9ab9..0000000
--- a/tests/oldlstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check oldlstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/oldstat.c b/tests/oldstat.c
index d06e2bc..ddacd24 100644
--- a/tests/oldstat.c
+++ b/tests/oldstat.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/oldstat.gen.test b/tests/oldstat.gen.test
new file mode 100755
index 0000000..f265ac5
--- /dev/null
+++ b/tests/oldstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (oldstat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/oldstat.test b/tests/oldstat.test
deleted file mode 100755
index 42d70f7..0000000
--- a/tests/oldstat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check oldstat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/open.gen.test b/tests/open.gen.test
new file mode 100755
index 0000000..eb931a3
--- /dev/null
+++ b/tests/open.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (open -a30 -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a30 -P $NAME.sample
diff --git a/tests/open.test b/tests/open.test
deleted file mode 100755
index 6df19cb..0000000
--- a/tests/open.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a30 -P $NAME.sample
diff --git a/tests/openat.gen.test b/tests/openat.gen.test
new file mode 100755
index 0000000..fe29e1c
--- /dev/null
+++ b/tests/openat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (openat -P $NAME.sample); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -P $NAME.sample
diff --git a/tests/openat.test b/tests/openat.test
deleted file mode 100755
index 68c4cee..0000000
--- a/tests/openat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check openat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -P $NAME.sample
diff --git a/tests/opipe.test b/tests/opipe.test
index 90e6838..f622045 100755
--- a/tests/opipe.test
+++ b/tests/opipe.test
@@ -6,11 +6,9 @@
 
 check_prog grep
 run_prog grep chdir $srcdir/umovestr.expected > "$EXP"
-run_prog ./umovestr
+run_prog ../umovestr
 
-> "$LOG" || fail_ "failed to write $LOG"
 $STRACE -o "|cat > $LOG && $SLEEP_A_BIT && grep chdir < $LOG > $OUT" -e chdir $args ||
 	dump_log_and_fail_with "$STRACE $args failed"
 
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests/options-syntax.test b/tests/options-syntax.test
index 592b0e0..4c778b3 100755
--- a/tests/options-syntax.test
+++ b/tests/options-syntax.test
@@ -3,6 +3,7 @@
 # Check strace options syntax.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -39,6 +40,16 @@
 			"strace $* failed to print expected diagnostics"
 }
 
+check_exit_status_and_stderr_using_grep()
+{
+	$STRACE "$@" 2> "$LOG" &&
+		dump_log_and_fail_with \
+			"strace $* failed to handle the error properly"
+	match_grep "$LOG" "$EXP" ||
+		dump_log_and_fail_with \
+			"strace $* failed to print expected diagnostics"
+}
+
 strace_exp="${STRACE##* }"
 
 check_e()
@@ -50,6 +61,15 @@
 	check_exit_status_and_stderr "$@"
 }
 
+check_e_using_grep()
+{
+	local pattern="$1"; shift
+	cat > "$EXP" << __EOF__
+$strace_exp: $pattern
+__EOF__
+	check_exit_status_and_stderr_using_grep "$@"
+}
+
 check_h()
 {
 	local pattern="$1"; shift
@@ -72,6 +92,7 @@
 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 '/non_syscall'" -e trace=/non_syscall
 check_e "invalid system call '2147483647'" -e 2147483647
 check_e "invalid system call '2147483648'" -e 2147483648
 check_e "invalid system call '4294967295'" -e 4294967295
@@ -88,6 +109,12 @@
 check_e "invalid descriptor '!'" -eread='0,!'
 check_e "invalid descriptor '!,'" -ewrite='!,'
 
+check_e_using_grep 'regcomp: \+id: [[:alpha:]].+' -e trace='/+id'
+check_e_using_grep 'regcomp: \*id: [[:alpha:]].+' -e trace='/*id'
+check_e_using_grep 'regcomp: \{id: [[:alpha:]].+' -e trace='/{id'
+check_e_using_grep 'regcomp: \(id: [[:alpha:]].+' -e trace='/(id'
+check_e_using_grep 'regcomp: \[id: [[:alpha:]].+' -e trace='/[id'
+
 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
@@ -144,5 +171,3 @@
 [ -z "$args" ] ||
 	dump_log_and_fail_with \
 		"strace $args failed to print expected diagnostics"
-
-rm -f "$EXP"
diff --git a/tests/osf_utimes.c b/tests/osf_utimes.c
new file mode 100644
index 0000000..7ac083e
--- /dev/null
+++ b/tests/osf_utimes.c
@@ -0,0 +1,45 @@
+/*
+ * Check decoding of osf_utimes syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_osf_utimes
+
+# define TEST_SYSCALL_NR	__NR_osf_utimes
+# define TEST_SYSCALL_STR	"osf_utimes"
+# define TEST_STRUCT		struct timeval32
+struct timeval32 { int tv_sec, tv_usec; };
+# include "xutimes.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_osf_utimes")
+
+#endif
diff --git a/tests/osf_utimes.gen.test b/tests/osf_utimes.gen.test
new file mode 100755
index 0000000..b6be305
--- /dev/null
+++ b/tests/osf_utimes.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (osf_utimes -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests/pause.gen.test b/tests/pause.gen.test
new file mode 100755
index 0000000..76492b6
--- /dev/null
+++ b/tests/pause.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pause -a8 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a8 -esignal=none
diff --git a/tests/pause.test b/tests/pause.test
deleted file mode 100755
index c5fdacd..0000000
--- a/tests/pause.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pause syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a8 -esignal=none
diff --git a/tests/pc.test b/tests/pc.test
index beadb7d..af09701 100755
--- a/tests/pc.test
+++ b/tests/pc.test
@@ -3,6 +3,7 @@
 # Check -i option.
 #
 # Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2015-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -47,15 +48,11 @@
 [ -n "$addr" ] ||
 	dump_log_and_fail_with
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
+cat > "$EXP" << __EOF__
 \\[[[:xdigit:]]{$len}\\] munmap\\(0x[[:xdigit:]]+, 0\\) += -1 .*
 \\[pid +$pid\\] \\[$ip\\] --- SIGSEGV \\{si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x$addr\\} ---
 \\[pid +$pid\\] \\[\\?{$len}\\] \\+\\+\\+ killed by SIGSEGV( \\(core dumped\\))? \\+\\+\\+
 \\[\\?{$len}\\] \\+\\+\\+ exited with 0 \\+\\+\\+
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-
-exit 0
+match_grep "$LOG" "$EXP"
diff --git a/tests/perf_event_open.c b/tests/perf_event_open.c
index 0ffea29..3f544a6 100644
--- a/tests/perf_event_open.c
+++ b/tests/perf_event_open.c
@@ -2,6 +2,7 @@
  * Check verbose decoding of perf_event_open syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -681,7 +682,7 @@
 		ATTR_REC(attr_big_size),
 	};
 
-	struct perf_event_attr *small_attr = tail_alloc(sizeof(*small_attr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, small_attr);
 
 	struct {
 		struct perf_event_attr *attr;
diff --git a/tests/perf_event_open.gen.test b/tests/perf_event_open.gen.test
new file mode 100755
index 0000000..85336c3
--- /dev/null
+++ b/tests/perf_event_open.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open -a1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1
diff --git a/tests/perf_event_open.test b/tests/perf_event_open.test
deleted file mode 100755
index 499134b..0000000
--- a/tests/perf_event_open.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check perf_event_open syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a1
diff --git a/tests/perf_event_open_nonverbose.c b/tests/perf_event_open_nonverbose.c
index 45d7c8f..b67715c 100644
--- a/tests/perf_event_open_nonverbose.c
+++ b/tests/perf_event_open_nonverbose.c
@@ -2,6 +2,7 @@
  * Check decoding of perf_event_open syscall.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,7 +63,7 @@
 int
 main(void)
 {
-	struct perf_event_attr *attr = tail_alloc(sizeof(*attr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct perf_event_attr, attr);
 
 	attr->type = PERF_TYPE_HARDWARE;
 	attr->size = sizeof(*attr);
diff --git a/tests/perf_event_open_nonverbose.gen.test b/tests/perf_event_open_nonverbose.gen.test
new file mode 100755
index 0000000..f1ed333
--- /dev/null
+++ b/tests/perf_event_open_nonverbose.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open_nonverbose -a34 -e verbose=none -e trace=perf_event_open); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34 -e verbose=none -e trace=perf_event_open
diff --git a/tests/perf_event_open_nonverbose.test b/tests/perf_event_open_nonverbose.test
deleted file mode 100755
index 404827f..0000000
--- a/tests/perf_event_open_nonverbose.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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.gen.test b/tests/perf_event_open_unabbrev.gen.test
new file mode 100755
index 0000000..1d9bd85
--- /dev/null
+++ b/tests/perf_event_open_unabbrev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (perf_event_open_unabbrev -a1 -v -e trace=perf_event_open); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1 -v -e trace=perf_event_open
diff --git a/tests/perf_event_open_unabbrev.test b/tests/perf_event_open_unabbrev.test
deleted file mode 100755
index f17fd17..0000000
--- a/tests/perf_event_open_unabbrev.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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/personality.test b/tests/personality.test
index 8f8c0ad..ab2faf4 100755
--- a/tests/personality.test
+++ b/tests/personality.test
@@ -5,8 +5,5 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -a20 -epersonality $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace -a20 -epersonality $args > "$EXP"
+match_grep "$LOG" "$EXP"
diff --git a/tests/pipe.c b/tests/pipe.c
index 41c7f21..3df2094 100644
--- a/tests/pipe.c
+++ b/tests/pipe.c
@@ -2,6 +2,7 @@
  * Check decoding of pipe syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/pipe2.c b/tests/pipe2.c
index 375ae74..3a0e046 100644
--- a/tests/pipe2.c
+++ b/tests/pipe2.c
@@ -39,18 +39,16 @@
 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);
+	rc = syscall(__NR_pipe2, fds, F8ILL_KULONG_MASK | 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);
+	rc = syscall(__NR_pipe2, efault, F8ILL_KULONG_MASK);
 	printf("pipe2(%p, 0) = %s\n", efault, sprintrc(rc));
 
 	if (F8ILL_KULONG_SUPPORTED) {
diff --git a/tests/pipe2.gen.test b/tests/pipe2.gen.test
new file mode 100755
index 0000000..5a06c03
--- /dev/null
+++ b/tests/pipe2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pipe2 -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests/pipe2.test b/tests/pipe2.test
deleted file mode 100755
index aff6cd4..0000000
--- a/tests/pipe2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pipe2 syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a15
diff --git a/tests/pkey_alloc.gen.test b/tests/pkey_alloc.gen.test
new file mode 100755
index 0000000..b3e5869
--- /dev/null
+++ b/tests/pkey_alloc.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_alloc -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/pkey_alloc.test b/tests/pkey_alloc.test
deleted file mode 100755
index f168c21..0000000
--- a/tests/pkey_alloc.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_alloc syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests/pkey_free.gen.test b/tests/pkey_free.gen.test
new file mode 100755
index 0000000..588d1aa
--- /dev/null
+++ b/tests/pkey_free.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_free -a13); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests/pkey_free.test b/tests/pkey_free.test
deleted file mode 100755
index 9c01c3e..0000000
--- a/tests/pkey_free.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_free syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a13
diff --git a/tests/pkey_mprotect.gen.test b/tests/pkey_mprotect.gen.test
new file mode 100755
index 0000000..14be231
--- /dev/null
+++ b/tests/pkey_mprotect.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pkey_mprotect -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests/pkey_mprotect.test b/tests/pkey_mprotect.test
deleted file mode 100755
index 922d491..0000000
--- a/tests/pkey_mprotect.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of pkey_mprotect syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a37
diff --git a/tests/poll.test b/tests/poll.test
index b74be29..d09193d 100755
--- a/tests/poll.test
+++ b/tests/poll.test
@@ -5,13 +5,11 @@
 . "${srcdir=.}/init.sh"
 
 run_prog > /dev/null
-run_strace -a16 -vepoll $args > "$OUT"
-match_diff "$LOG" "$OUT"
+run_strace -a16 -vepoll $args > "$EXP"
+match_diff "$LOG" "$EXP"
 
 for abbrev in 0 1 2 3 4 5; do
-	run_prog "./$NAME" $abbrev > /dev/null
-	run_strace -a16 -epoll -s$abbrev $args > "$OUT"
-	match_diff "$LOG" "$OUT"
+	run_prog "../$NAME" $abbrev > /dev/null
+	run_strace -a16 -epoll -s$abbrev $args > "$EXP"
+	match_diff "$LOG" "$EXP"
 done
-
-rm -f "$OUT"
diff --git a/tests/ppoll-v.c b/tests/ppoll-v.c
new file mode 100644
index 0000000..cf4fdea
--- /dev/null
+++ b/tests/ppoll-v.c
@@ -0,0 +1,3 @@
+/* This file is part of ppoll-v strace test. */
+#define VERBOSE 1
+#include "ppoll.c"
diff --git a/tests/ppoll-v.expected b/tests/ppoll-v.expected
deleted file mode 100644
index 31070ad..0000000
--- a/tests/ppoll-v.expected
+++ /dev/null
@@ -1,3 +0,0 @@
-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-v.gen.test b/tests/ppoll-v.gen.test
new file mode 100755
index 0000000..cd1fcc6
--- /dev/null
+++ b/tests/ppoll-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ppoll-v -v -s2 -e trace=ppoll); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -s2 -e trace=ppoll
diff --git a/tests/ppoll.c b/tests/ppoll.c
index 46d7e81..85a7e0c 100644
--- a/tests/ppoll.c
+++ b/tests/ppoll.c
@@ -1,5 +1,7 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of ppoll syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,69 +28,165 @@
  */
 
 #include "tests.h"
-#include <assert.h>
-#include <poll.h>
-#include <signal.h>
-#include <unistd.h>
+#include <asm/unistd.h>
 
-static void
-test1(void)
+#ifdef __NR_ppoll
+
+# include <errno.h>
+# include <poll.h>
+# include <signal.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+sys_ppoll(const kernel_ulong_t ufds,
+	  const kernel_ulong_t nfds,
+	  const kernel_ulong_t tsp,
+	  const kernel_ulong_t sigmask,
+	  const kernel_ulong_t sigsetsize)
 {
-	const struct timespec timeout = { .tv_sec = 42, .tv_nsec = 999999999 };
-	struct pollfd fds[] = {
-		{ .fd = 0, .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
-		{ .fd = 1, .events = POLLOUT | POLLWRNORM | POLLWRBAND },
-		{ .fd = 3, .events = POLLIN | POLLPRI },
-		{ .fd = 4, .events = POLLOUT }
-	};
-
-	sigset_t mask;
-	sigemptyset(&mask);
-	sigaddset(&mask, SIGUSR2);
-	sigaddset(&mask, SIGCHLD);
-
-	int rc = ppoll(fds, sizeof(fds) / sizeof(*fds), &timeout, &mask);
-	if (rc < 0)
-		perror_msg_and_skip("ppoll");
-	assert(rc == 2);
-}
-
-static void
-test2(void)
-{
-	const struct timespec timeout = { .tv_sec = 0, .tv_nsec = 999 };
-	struct pollfd fds[] = {
-		{ .fd = 1, .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
-		{ .fd = 0, .events = POLLOUT | POLLWRNORM | POLLWRBAND }
-	};
-
-	sigset_t mask;
-	sigfillset(&mask);
-	sigdelset(&mask, SIGHUP);
-	sigdelset(&mask, SIGKILL);
-	sigdelset(&mask, SIGSTOP);
-
-	int rc = ppoll(fds, sizeof(fds) / sizeof(*fds), &timeout, &mask);
-	if (rc < 0)
-		perror_msg_and_skip("ppoll");
-	assert(rc == 0);
+	long rc = syscall(__NR_ppoll, ufds, nfds, tsp, sigmask, sigsetsize);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 int
 main(void)
 {
-	int fds[2];
+	static const kernel_ulong_t bogus_nfds =
+		(kernel_ulong_t) 0xdeadbeeffacefeedULL;
+	static const kernel_ulong_t bogus_sigsetsize =
+		(kernel_ulong_t) 0xdeadbeefbadc0dedULL;
+	static const char *const POLLWRNORM_str =
+		(POLLWRNORM == POLLOUT) ? "" : "|POLLWRNORM";
+	static const char *const USR2_CHLD_str =
+		(SIGUSR2 < SIGCHLD) ? "USR2 CHLD" : "CHLD USR2";
+	void *const efault = tail_alloc(1024) + 1024;
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
+	const unsigned int sigset_size = get_sigset_size();
+	void *const sigmask = tail_alloc(sigset_size);
+	struct pollfd *fds;
+	sigset_t mask;
+	int pipe_fd[4];
+	long rc;
 
-	(void) close(0);
-	(void) close(1);
-	(void) close(3);
-	(void) close(4);
-	if (pipe(fds) || pipe(fds))
+	sys_ppoll(0, bogus_nfds, 0, 0, bogus_sigsetsize);
+	if (ENOSYS == errno)
+		perror_msg_and_skip("ppoll");
+	printf("ppoll(NULL, %u, NULL, NULL, %llu) = %s\n",
+	       (unsigned) bogus_nfds, (unsigned long long) bogus_sigsetsize,
+	       errstr);
+
+	sys_ppoll((unsigned long) efault, 42, (unsigned long) efault + 8,
+		  (unsigned long) efault + 16, sigset_size);
+	printf("ppoll(%p, %u, %p, %p, %u) = %s\n",
+	       efault, 42, efault + 8, efault + 16, sigset_size, errstr);
+
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	sys_ppoll(0, 0, (unsigned long) ts, 0, sigset_size);
+	printf("ppoll(NULL, 0, {tv_sec=%lld, tv_nsec=%llu}, NULL, %u) = %s\n",
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+	       sigset_size, errstr);
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedL;
+	sys_ppoll(0, 0, (unsigned long) ts, 0, sigset_size);
+	printf("ppoll(NULL, 0, {tv_sec=%lld, tv_nsec=%llu}, NULL, %u) = %s\n",
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+	       sigset_size, errstr);
+
+	if (pipe(pipe_fd) || pipe(pipe_fd + 2))
 		perror_msg_and_fail("pipe");
 
-	test1();
-	test2();
+	ts->tv_sec = 42;
+	ts->tv_nsec = 999999999;
 
-	assert(ppoll(NULL, 42, NULL, NULL) < 0);
+	const struct pollfd fds1[] = {
+		{ .fd = pipe_fd[0], .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
+		{ .fd = pipe_fd[1], .events = POLLOUT | POLLWRNORM | POLLWRBAND },
+		{ .fd = pipe_fd[2], .events = POLLIN | POLLPRI },
+		{ .fd = pipe_fd[3], .events = POLLOUT }
+	};
+	fds = efault - sizeof(fds1);
+	memcpy(fds, fds1, sizeof(fds1));
+
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGUSR2);
+	sigaddset(&mask, SIGCHLD);
+	memcpy(sigmask, &mask, sigset_size);
+
+	rc = sys_ppoll((unsigned long) fds,
+		       F8ILL_KULONG_MASK | ARRAY_SIZE(fds1), (unsigned long) ts,
+		       (unsigned long) sigmask, sigset_size);
+	if (rc != 2)
+		perror_msg_and_fail("ppoll 1");
+	printf("ppoll([{fd=%d, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}"
+	       ", {fd=%d, events=POLLOUT%s|POLLWRBAND}"
+#if VERBOSE
+	       ", {fd=%d, events=POLLIN|POLLPRI}, {fd=%d, events=POLLOUT}]"
+#else
+	       ", ...]"
+#endif
+	       ", %u, {tv_sec=42, tv_nsec=999999999}, [%s], %u) = %ld"
+	       " ([{fd=%d, revents=POLLOUT%s}, {fd=%d, revents=POLLOUT}]"
+	       ", left {tv_sec=%u, tv_nsec=%u})\n",
+	       pipe_fd[0], pipe_fd[1], POLLWRNORM_str,
+#if VERBOSE
+	       pipe_fd[2], pipe_fd[3],
+#endif
+	       (unsigned) ARRAY_SIZE(fds1), USR2_CHLD_str,
+	       (unsigned) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
+	       pipe_fd[3], (unsigned ) ts->tv_sec, (unsigned) ts->tv_nsec);
+
+	ts->tv_sec = 0;
+	ts->tv_nsec = 999;
+	const struct pollfd fds2[] = {
+		{ .fd = pipe_fd[1], .events = POLLIN | POLLPRI | POLLRDNORM | POLLRDBAND },
+		{ .fd = pipe_fd[0], .events = POLLOUT | POLLWRNORM | POLLWRBAND }
+	};
+	fds = efault - sizeof(fds2);
+	memcpy(fds, fds2, sizeof(fds2));
+
+	memset(&mask, -1, sizeof(mask));
+	sigdelset(&mask, SIGHUP);
+	sigdelset(&mask, SIGKILL);
+	sigdelset(&mask, SIGSTOP);
+	memcpy(sigmask, &mask, sigset_size);
+
+	rc = sys_ppoll((unsigned long) fds,
+		       F8ILL_KULONG_MASK | ARRAY_SIZE(fds2), (unsigned long) ts,
+		       (unsigned long) sigmask, sigset_size);
+	if (rc != 0)
+		perror_msg_and_fail("ppoll 2");
+	printf("ppoll([{fd=%d, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}"
+	       ", {fd=%d, events=POLLOUT%s|POLLWRBAND}], %u"
+	       ", {tv_sec=0, tv_nsec=999}, ~[HUP KILL STOP], %u)"
+	       " = %ld (Timeout)\n",
+	       pipe_fd[1], pipe_fd[0], POLLWRNORM_str,
+	       (unsigned) ARRAY_SIZE(fds2), sigset_size, rc);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		sys_ppoll(f8ill_ptr_to_kulong(fds), ARRAY_SIZE(fds2),
+			  f8ill_ptr_to_kulong(ts), f8ill_ptr_to_kulong(sigmask),
+			  sigset_size);
+		printf("ppoll(%#llx, %u, %#llx, %#llx, %u) = %s\n",
+		       (unsigned long long) f8ill_ptr_to_kulong(fds),
+		       (unsigned) ARRAY_SIZE(fds2),
+		       (unsigned long long) f8ill_ptr_to_kulong(ts),
+		       (unsigned long long) f8ill_ptr_to_kulong(sigmask),
+		       (unsigned) sigset_size, errstr);
+	}
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_ppoll")
+
+#endif
diff --git a/tests/ppoll.expected b/tests/ppoll.expected
deleted file mode 100644
index c38a206..0000000
--- a/tests/ppoll.expected
+++ /dev/null
@@ -1,3 +0,0 @@
-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/ppoll.gen.test b/tests/ppoll.gen.test
new file mode 100755
index 0000000..4c07598
--- /dev/null
+++ b/tests/ppoll.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ppoll -s2); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2
diff --git a/tests/ppoll.test b/tests/ppoll.test
deleted file mode 100755
index 98389ee..0000000
--- a/tests/ppoll.test
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# Check ppoll syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog
-run_strace -a30 -s2 -e ppoll $args
-match_grep
-run_strace -a30 -v -s2 -e ppoll $args
-match_grep "$LOG" "$srcdir/$NAME-v.expected"
-
-exit 0
diff --git a/tests/prctl-arg2-intptr.c b/tests/prctl-arg2-intptr.c
index ee000eb..9cc3308 100644
--- a/tests/prctl-arg2-intptr.c
+++ b/tests/prctl-arg2-intptr.c
@@ -4,6 +4,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,7 +71,7 @@
 		{ 11, "PR_GET_FPEXC" },
 	};
 
-	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, ptr);
 	long rc;
 	unsigned int i;
 
diff --git a/tests/prctl-arg2-intptr.test b/tests/prctl-arg2-intptr.test
index bcef806..4f9e3a1 100755
--- a/tests/prctl-arg2-intptr.test
+++ b/tests/prctl-arg2-intptr.test
@@ -10,5 +10,3 @@
 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.test b/tests/prctl-dumpable.test
index 08acb8b..05f1310 100755
--- a/tests/prctl-dumpable.test
+++ b/tests/prctl-dumpable.test
@@ -8,5 +8,3 @@
 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.test b/tests/prctl-name.test
index 071179c..95d34b6 100755
--- a/tests/prctl-name.test
+++ b/tests/prctl-name.test
@@ -8,5 +8,3 @@
 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
index 57e1b73..496cd1a 100644
--- a/tests/prctl-no-args.c
+++ b/tests/prctl-no-args.c
@@ -4,6 +4,7 @@
  * PR_TASK_PERF_EVENTS_DISABLE, and PR_TASK_PERF_EVENTS_ENABLE.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +58,7 @@
 		{ 32, "PR_TASK_PERF_EVENTS_ENABLE" },
 	};
 
-	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, ptr);
 	unsigned int i;
 
 	for (i = 0; i < ARRAY_SIZE(options); i++) {
diff --git a/tests/prctl-no-args.test b/tests/prctl-no-args.test
index ce8ca67..8ff300b 100755
--- a/tests/prctl-no-args.test
+++ b/tests/prctl-no-args.test
@@ -10,5 +10,3 @@
 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
index c176030..ef56374 100644
--- a/tests/prctl-pdeathsig.c
+++ b/tests/prctl-pdeathsig.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@foxmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,7 +45,7 @@
 	static const kernel_ulong_t bogus_signal =
 		(kernel_ulong_t) 0xbadc0deddeadfeedULL;
 
-	int *pdeathsig = tail_alloc(sizeof(*pdeathsig));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, pdeathsig);
 	long rc;
 
 	rc = syscall(__NR_prctl, PR_SET_PDEATHSIG, bogus_signal);
diff --git a/tests/prctl-pdeathsig.test b/tests/prctl-pdeathsig.test
index 2777503..b6e0140 100755
--- a/tests/prctl-pdeathsig.test
+++ b/tests/prctl-pdeathsig.test
@@ -9,5 +9,3 @@
 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-seccomp-filter-v.test b/tests/prctl-seccomp-filter-v.test
index 44e4a78..3663ad8 100755
--- a/tests/prctl-seccomp-filter-v.test
+++ b/tests/prctl-seccomp-filter-v.test
@@ -9,5 +9,3 @@
 run_strace -v -eprctl $args > "$EXP"
 grep -v '^prctl(PR_GET_' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-seccomp-strict.test b/tests/prctl-seccomp-strict.test
index 1f987df..bee85b8 100755
--- a/tests/prctl-seccomp-strict.test
+++ b/tests/prctl-seccomp-strict.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 check_prog grep
-set -- "./$NAME"
+set -- "../$NAME"
 "$@" > /dev/null || {
 	case $? in
 		77) skip_ "$* exited with code 77" ;;
@@ -16,4 +16,3 @@
 run_strace -eprctl "$@" > "$EXP"
 grep -v '^prctl(PR_GET_' < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-securebits.test b/tests/prctl-securebits.test
index c91e62a..32b0f2a 100755
--- a/tests/prctl-securebits.test
+++ b/tests/prctl-securebits.test
@@ -8,5 +8,3 @@
 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
index 24e4503..609e549 100644
--- a/tests/prctl-tid_address.c
+++ b/tests/prctl-tid_address.c
@@ -2,6 +2,7 @@
  * Check decoding of prctl PR_GET_TID_ADDRESS operation.
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,7 +60,7 @@
 		(kernel_ulong_t) 0xfffffffffffffffdULL;
 
 	/* Note that kernel puts kernel-sized pointer even on x32 */
-	kernel_ulong_t *ptr = tail_alloc(sizeof(*ptr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, ptr);
 	long rc;
 	long set_ok;
 
diff --git a/tests/prctl-tid_address.test b/tests/prctl-tid_address.test
index dc7b7c3..62a39e5 100755
--- a/tests/prctl-tid_address.test
+++ b/tests/prctl-tid_address.test
@@ -8,5 +8,3 @@
 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
index fd9362d..0ddb380 100644
--- a/tests/prctl-tsc.c
+++ b/tests/prctl-tsc.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 JingPiao Chen <chenjingpiao@foxmail.com>
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -43,7 +44,7 @@
 	static const kernel_ulong_t bogus_tsc =
 		(kernel_ulong_t) 0xdeadc0defacebeefULL;
 
-	int *tsc = tail_alloc(sizeof(*tsc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, tsc);
 	long rc;
 
 	rc = syscall(__NR_prctl, PR_SET_TSC, 0);
diff --git a/tests/prctl-tsc.test b/tests/prctl-tsc.test
index a906ba8..439d9d5 100755
--- a/tests/prctl-tsc.test
+++ b/tests/prctl-tsc.test
@@ -9,5 +9,3 @@
 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/pread64-pwrite64.c b/tests/pread64-pwrite64.c
index 4a0932a..e9d7a64 100644
--- a/tests/pread64-pwrite64.c
+++ b/tests/pread64-pwrite64.c
@@ -2,6 +2,7 @@
  * Check decoding of pread64 and pwrite64 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -123,7 +124,9 @@
 {
 	tprintf("%s", "");
 
-	static char tmp[] = "pread64-pwrite64-tmpfile";
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const char tmp[] = "pread64-pwrite64-tmpfile";
 	if (open(tmp, O_CREAT|O_RDONLY|O_TRUNC, 0600) != 0)
 		perror_msg_and_fail("creat: %s", tmp);
 	if (open(tmp, O_WRONLY) != 1)
diff --git a/tests/pread64-pwrite64.gen.test b/tests/pread64-pwrite64.gen.test
new file mode 100755
index 0000000..b53e069
--- /dev/null
+++ b/tests/pread64-pwrite64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pread64-pwrite64 -a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 -P pread64-pwrite64-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests/pread64-pwrite64.test b/tests/pread64-pwrite64.test
deleted file mode 100755
index e585406..0000000
--- a/tests/pread64-pwrite64.test
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of pread64 and pwrite64 syscalls.
-
-. "${srcdir=.}/init.sh"
-
-# strace -P is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
-tmpfile=pread64-pwrite64-tmpfile
-> $tmpfile
-
-run_strace_match_diff \
-	-a21 -eread=0 -ewrite=1 -e trace=pread64,pwrite64 \
-	-P $tmpfile -P /dev/zero -P /dev/null
-
-rm -f $tmpfile
diff --git a/tests/preadv-pwritev.gen.test b/tests/preadv-pwritev.gen.test
new file mode 100755
index 0000000..5ed8297
--- /dev/null
+++ b/tests/preadv-pwritev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv-pwritev -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
diff --git a/tests/preadv-pwritev.test b/tests/preadv-pwritev.test
deleted file mode 100755
index cb2a077..0000000
--- a/tests/preadv-pwritev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of preadv and pwritev syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19 -eread=0 -ewrite=1 -e trace=preadv,pwritev
diff --git a/tests/preadv.c b/tests/preadv.c
index fb5d3ad..a55909b 100644
--- a/tests/preadv.c
+++ b/tests/preadv.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,7 +67,7 @@
 {
 	const off_t offset = 0xdefaceddeadbeefLL;
 	char *buf = tail_alloc(LEN);
-	struct iovec *iov = tail_alloc(sizeof(*iov));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = buf;
 	iov->iov_len = LEN;
 
diff --git a/tests/preadv.gen.test b/tests/preadv.gen.test
new file mode 100755
index 0000000..8fb7b54
--- /dev/null
+++ b/tests/preadv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests/preadv.test b/tests/preadv.test
deleted file mode 100755
index d1abdb7..0000000
--- a/tests/preadv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check preadv syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests/preadv2-pwritev2.c b/tests/preadv2-pwritev2.c
index f7c46c0..e31e046 100644
--- a/tests/preadv2-pwritev2.c
+++ b/tests/preadv2-pwritev2.c
@@ -2,6 +2,7 @@
  * Check decoding of preadv2 and pwritev2 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -181,26 +182,45 @@
 main(void)
 {
 	const kernel_ulong_t vlen = (kernel_ulong_t) 0xfac1fed2dad3bef4ULL;
-	const unsigned long long pos = 0xfac5fed6dad7bef8;
+	const unsigned long long pos = 0x7ac5fed6dad7bef8;
 	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;
+	long rc;
+	int test_dumpio;
 
 	tprintf("%s", "");
 
-	syscall(__NR_preadv2, -1, NULL, vlen, pos_l, pos_h, 1);
-	if (ENOSYS == errno)
-		test_dumpio = 0;
-	tprintf("preadv2(-1, NULL, %lu, %lld, RWF_HIPRI) = -1 %s (%m)\n",
-		(unsigned long) vlen, pos, errno2name());
+#if defined __x86_64__ && defined __ILP32__
+	/*
+	 * x32 is the only architecture where preadv2 takes 5 arguments,
+	 * see preadv64v2 in kernel sources.
+	 */
+	rc = syscall(__NR_preadv2, -1, NULL, vlen, pos_l, 1);
+#else
+	const kernel_ulong_t pos_h =
+		(sizeof(pos_l) == sizeof(pos)) ?
+		(kernel_ulong_t) 0xbadc0deddeadbeefULL :
+		(kernel_ulong_t) (pos >> 32);
+	rc = syscall(__NR_preadv2, -1, NULL, vlen, pos_l, pos_h, 1);
+#endif
+	if (rc != -1 || (ENOSYS != errno && EBADF != errno))
+		perror_msg_and_fail("preadv2");
+	test_dumpio = EBADF == errno;
+	tprintf("preadv2(-1, NULL, %lu, %lld, RWF_HIPRI) = %s\n",
+		(unsigned long) vlen, pos, sprintrc(rc));
 
-	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",
-		(unsigned long) vlen, pos, errno2name());
+#if defined __x86_64__ && defined __ILP32__
+	/*
+	 * x32 is the only architecture where pwritev2 takes 5 arguments,
+	 * see pwritev64v2 in kernel sources.
+	 */
+	rc = syscall(__NR_pwritev2, -1, NULL, vlen, pos_l, 1);
+#else
+	rc = syscall(__NR_pwritev2, -1, NULL, vlen, pos_l, pos_h, 1);
+#endif
+	if (rc != -1 || (ENOSYS != errno && EBADF != errno))
+		perror_msg_and_fail("pwritev2");
+	tprintf("pwritev2(-1, NULL, %lu, %lld, RWF_HIPRI) = %s\n",
+		(unsigned long) vlen, pos, sprintrc(rc));
 
 	if (test_dumpio)
 		dumpio();
diff --git a/tests/preadv2-pwritev2.gen.test b/tests/preadv2-pwritev2.gen.test
new file mode 100755
index 0000000..2f89b41
--- /dev/null
+++ b/tests/preadv2-pwritev2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (preadv2-pwritev2 -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
diff --git a/tests/preadv2-pwritev2.test b/tests/preadv2-pwritev2.test
deleted file mode 100755
index 5641ef4..0000000
--- a/tests/preadv2-pwritev2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of preadv2 and pwritev2 syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -eread=0 -ewrite=1 -e trace=preadv2,pwritev2
diff --git a/tests/print_time.c b/tests/print_time.c
new file mode 100644
index 0000000..4292329
--- /dev/null
+++ b/tests/print_time.c
@@ -0,0 +1,75 @@
+/*
+ * Print time_t and nanoseconds in symbolic format.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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>
+
+static void
+print_time_t_ex(const time_t t, const unsigned long long part_sec,
+		const unsigned int max_part_sec, const int width,
+		const int comment)
+{
+
+	if ((!t && !part_sec) || part_sec > max_part_sec)
+		return;
+
+	const struct tm *const p = localtime(&t);
+	char buf[256];
+	if (!p || !strftime(buf, sizeof(buf), "%FT%T", p))
+		return;
+
+	if (comment)
+		fputs(" /* ", stdout);
+
+	fputs(buf, stdout);
+
+	if (part_sec)
+		printf(".%0*llu", width, part_sec);
+
+	if (strftime(buf, sizeof(buf), "%z", p))
+		fputs(buf, stdout);
+
+	if (comment)
+		fputs(" */", stdout);
+
+	return;
+}
+
+void
+print_time_t_nsec(const time_t t, const unsigned long long nsec, int comment)
+{
+	print_time_t_ex(t, nsec, 999999999, 9, comment);
+}
+
+void
+print_time_t_usec(const time_t t, const unsigned long long usec, int comment)
+{
+	print_time_t_ex(t, usec, 999999, 6, comment);
+}
diff --git a/tests/printstr.gen.test b/tests/printstr.gen.test
new file mode 100755
index 0000000..c3bd93a
--- /dev/null
+++ b/tests/printstr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (printstr -e trace=writev); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=writev
diff --git a/tests/printstr.test b/tests/printstr.test
deleted file mode 100755
index 5f164eb..0000000
--- a/tests/printstr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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.gen.test b/tests/prlimit64.gen.test
new file mode 100755
index 0000000..11964a5
--- /dev/null
+++ b/tests/prlimit64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (prlimit64 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/prlimit64.test b/tests/prlimit64.test
deleted file mode 100755
index 2d2240d..0000000
--- a/tests/prlimit64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of prlimit64 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/process_vm_readv.gen.test b/tests/process_vm_readv.gen.test
new file mode 100755
index 0000000..3142588
--- /dev/null
+++ b/tests/process_vm_readv.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (process_vm_readv -s5 -a37); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a37
diff --git a/tests/process_vm_readv.test b/tests/process_vm_readv.test
deleted file mode 100755
index c092f5a..0000000
--- a/tests/process_vm_readv.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of process_vm_readv syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s5 -a37
diff --git a/tests/process_vm_writev.gen.test b/tests/process_vm_writev.gen.test
new file mode 100755
index 0000000..0b912c0
--- /dev/null
+++ b/tests/process_vm_writev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (process_vm_writev -s5 -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a38
diff --git a/tests/process_vm_writev.test b/tests/process_vm_writev.test
deleted file mode 100755
index f690e6a..0000000
--- a/tests/process_vm_writev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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 f264485..f5939f3 100644
--- a/tests/pselect6.c
+++ b/tests/pselect6.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -95,13 +96,13 @@
 	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, "
-	       "{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],
-	       (long long) tm.ts.tv_sec, (long long) tm.ts.tv_nsec);
+	printf("pselect6(%d, NULL, [1 2 %d %d], NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, NULL) = 3 (out [1 2 %d]"
+	       ", left {tv_sec=%lld, tv_nsec=%llu})\n",
+	       fds[1] + 1, fds[0], fds[1], (long long) tm_in.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm_in.ts.tv_nsec),
+	       fds[1], (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec));
 
 	/*
 	 * Now the crash case that trinity found, negative nfds
@@ -122,21 +123,40 @@
 	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, {tv_sec=0, tv_nsec=123}, "
-	       "{[HUP CHLD], %u}) = 0 (Timeout)\n",
+	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.
 	 */
+	tm.ts.tv_sec = 0xdeadbeefU;
+	tm.ts.tv_nsec = 0xfacefeedU;
+	assert(pselect(0, NULL, NULL, NULL, &tm.ts, NULL) == -1);
+	printf("pselect6(0, NULL, NULL, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {NULL, %u}) = %s\n",
+	       (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec),
+	       NSIG_BYTES, sprintrc(-1));
+
+	tm.ts.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tm.ts.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(pselect(0, NULL, NULL, NULL, &tm.ts, NULL) == -1);
+	printf("pselect6(0, NULL, NULL, NULL"
+	       ", {tv_sec=%lld, tv_nsec=%llu}, {NULL, %u}) = %s\n",
+	       (long long) tm.ts.tv_sec,
+	       zero_extend_signed_to_ull(tm.ts.tv_nsec),
+	       NSIG_BYTES, sprintrc(-1));
+
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
 	assert(setitimer(ITIMER_REAL, &itv, NULL) == 0);
 
+	tm.ts.tv_sec = 0;
 	tm.ts.tv_nsec = 222222222;
 	assert(pselect(0, NULL, NULL, NULL, &tm.ts, &mask) == -1);
-	printf("pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=222222222}, "
-	       "{[HUP CHLD], %u}) = "
-	       "? ERESTARTNOHAND (To be restarted if no handler)\n",
+	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} ---");
 
diff --git a/tests/pselect6.gen.test b/tests/pselect6.gen.test
new file mode 100755
index 0000000..c89e705
--- /dev/null
+++ b/tests/pselect6.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pselect6 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/pselect6.test b/tests/pselect6.test
deleted file mode 100755
index 203f8e2..0000000
--- a/tests/pselect6.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check pselect6 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/ptrace.c b/tests/ptrace.c
index 80ce8cb..9e0ffdc 100644
--- a/tests/ptrace.c
+++ b/tests/ptrace.c
@@ -2,6 +2,7 @@
  * Check decoding of ptrace syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -30,16 +31,14 @@
 #include "tests.h"
 #include <asm/unistd.h>
 
-#ifdef __NR_rt_sigprocmask
-
-# include <errno.h>
-# include <signal.h>
-# include <stdio.h>
-# include <string.h>
-# include <sys/wait.h>
-# include <unistd.h>
-# include "ptrace.h"
-# include <linux/audit.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include "ptrace.h"
+#include <linux/audit.h>
 
 static const char *errstr;
 
@@ -178,46 +177,38 @@
 	const unsigned long pid =
 		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
 
-	unsigned int sigset_size;
-
-	for (sigset_size = 1024 / 8; sigset_size; sigset_size >>= 1) {
-		if (!syscall(__NR_rt_sigprocmask,
-			     SIG_SETMASK, NULL, NULL, sigset_size))
-			break;
-	}
-	if (!sigset_size)
-		perror_msg_and_fail("rt_sigprocmask");
+	const unsigned int sigset_size = get_sigset_size();
 
 	void *const k_set = tail_alloc(sigset_size);
-	siginfo_t *const sip = tail_alloc(sizeof(*sip));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, sip);
 
 	do_ptrace(bad_request, pid, 0, 0);
 	printf("ptrace(%#lx /* PTRACE_??? */, %u, NULL, NULL) = %s\n",
 	       bad_request, (unsigned) pid, errstr);
 
 	do_ptrace(PTRACE_PEEKDATA, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKDATA, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKDATA, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
 
 	do_ptrace(PTRACE_PEEKTEXT, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKTEXT, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKTEXT, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
 
 	do_ptrace(PTRACE_PEEKUSER, pid, bad_request, bad_data);
-# ifdef IA64
+#ifdef IA64
 	printf("ptrace(PTRACE_PEEKUSER, %u, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, errstr);
-# else
+#else
 	printf("ptrace(PTRACE_PEEKUSER, %u, %#lx, %#lx) = %s\n",
 	       (unsigned) pid, bad_request, bad_data, errstr);
 #endif
@@ -446,10 +437,3 @@
 	puts("+++ exited with 0 +++");
 	return 0;
 }
-
-
-#else
-
-SKIP_MAIN_UNDEFINED("__NR_rt_sigprocmask")
-
-#endif
diff --git a/tests/ptrace.gen.test b/tests/ptrace.gen.test
new file mode 100755
index 0000000..4b93250
--- /dev/null
+++ b/tests/ptrace.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ptrace -a23 -e signal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e signal=none
diff --git a/tests/ptrace.test b/tests/ptrace.test
deleted file mode 100755
index 5add9be..0000000
--- a/tests/ptrace.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ptrace syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e signal=none
diff --git a/tests/pure_executables.list b/tests/pure_executables.list
new file mode 100755
index 0000000..cc65614
--- /dev/null
+++ b/tests/pure_executables.list
@@ -0,0 +1,330 @@
+# executables without side effects
+_newselect
+accept
+accept4
+access
+acct
+add_key
+adjtimex
+aio
+alarm
+bpf
+brk
+btrfs
+caps
+chmod
+chown
+chown32
+chroot
+clock_adjtime
+clock_nanosleep
+clock_xettime
+copy_file_range
+creat
+delete_module
+dup
+dup2
+dup3
+epoll_create
+epoll_create1
+epoll_ctl
+epoll_pwait
+epoll_wait
+erestartsys
+eventfd
+execve
+execveat
+faccessat
+fadvise64
+fadvise64_64
+fallocate
+fanotify_init
+fanotify_mark
+fchdir
+fchmod
+fchmodat
+fchown
+fchown32
+fchownat
+fcntl
+fcntl64
+fdatasync
+file_handle
+file_ioctl
+finit_module
+flock
+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
+getpid
+getppid
+getrandom
+getresgid
+getresgid32
+getresuid
+getresuid32
+getrlimit
+getrusage
+getsid
+getsockname
+getuid
+getuid32
+getxxid
+inet-cmsg
+init_module
+inotify
+inotify_init1
+ioctl
+ioctl_block
+ioctl_dm
+ioctl_evdev
+ioctl_loop
+ioctl_mtd
+ioctl_rtc
+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
+lchown
+lchown32
+link
+linkat
+llseek
+lookup_dcookie
+lseek
+lstat
+lstat64
+madvise
+mbind
+membarrier
+memfd_create
+migrate_pages
+mincore
+mkdir
+mkdirat
+mknod
+mknodat
+mlock
+mlock2
+mlockall
+mmap
+mmap64
+mmsg
+mmsg_name
+mount
+move_pages
+mq
+mq_sendrecv
+mq_sendrecv-read
+mq_sendrecv-write
+msg_control
+msg_name
+munlockall
+nanosleep
+net-icmp_filter
+net-sockaddr
+net-y-unix
+net-yy-inet
+net-yy-netlink
+net-yy-unix
+netlink_protocol
+newfstatat
+old_mmap
+oldfstat
+oldlstat
+oldselect
+oldstat
+open
+openat
+osf_utimes
+pause
+perf_event_open
+personality
+pipe
+pipe2
+pkey_alloc
+pkey_free
+pkey_mprotect
+poll
+ppoll
+prctl-arg2-intptr
+prctl-dumpable
+prctl-name
+prctl-no-args
+prctl-pdeathsig
+prctl-securebits
+prctl-tid_address
+prctl-tsc
+pread64-pwrite64
+preadv
+preadv-pwritev
+preadv2-pwritev2
+printstr
+prlimit64
+process_vm_readv
+process_vm_writev
+pselect6
+ptrace
+pwritev
+quotactl
+quotactl-xfs
+read-write
+readahead
+readdir
+readlink
+readlinkat
+readv
+reboot
+recvfrom
+recvmmsg-timeout
+recvmsg
+remap_file_pages
+rename
+renameat
+renameat2
+request_key
+rmdir
+rt_sigpending
+rt_sigprocmask
+rt_sigqueueinfo
+rt_sigreturn
+rt_sigsuspend
+rt_sigtimedwait
+rt_tgsigqueueinfo
+sched_get_priority_mxx
+sched_rr_get_interval
+sched_xetaffinity
+sched_xetattr
+sched_xetparam
+sched_xetscheduler
+sched_yield
+seccomp-filter
+select
+semop
+sendfile
+sendfile64
+set_mempolicy
+setdomainname
+setfsgid
+setfsgid32
+setfsuid
+setfsuid32
+setgid
+setgid32
+setgroups
+setgroups32
+sethostname
+setns
+setregid
+setregid32
+setresgid
+setresgid32
+setresuid
+setresuid32
+setreuid
+setreuid32
+setrlimit
+setuid
+setuid32
+shmxt
+shutdown
+sigaction
+sigaltstack
+siginfo
+signalfd4
+sigreturn
+sigsuspend
+socketcall
+splice
+stat
+stat64
+statfs
+statfs64
+statx
+swap
+sxetmask
+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
+umoven-illptr
+umovestr
+umovestr-illptr
+umovestr2
+umovestr3
+uname
+unlink
+unlinkat
+unshare
+userfaultfd
+ustat
+utime
+utimensat
+utimes
+vhangup
+vmsplice
+wait4
+waitid
+waitpid
+xattr
+xattr-strings
+xet_robust_list
+xetitimer
+xetpgid
+xetpriority
+xettimeofday
diff --git a/tests/pwritev.gen.test b/tests/pwritev.gen.test
new file mode 100755
index 0000000..e54fd15
--- /dev/null
+++ b/tests/pwritev.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (pwritev -a22 -s7); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -s7
diff --git a/tests/pwritev.test b/tests/pwritev.test
deleted file mode 100755
index 0aed683..0000000
--- a/tests/pwritev.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check pwritev syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -s7
diff --git a/tests/qual_fault-exit_group.test b/tests/qual_fault-exit_group.test
index c98ffc6..34a2da5 100755
--- a/tests/qual_fault-exit_group.test
+++ b/tests/qual_fault-exit_group.test
@@ -3,6 +3,7 @@
 # Check decoding of fault injected exit_group syscall.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -41,13 +42,13 @@
 	match_diff
 }
 
-test_with -eexit,exit_group -efault=exit_group:error=ENOSYS ./answer
+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
+	  -efault=\!process:error=1 ../answer
 
 test_with -eexit,exit_group -efault=all:error=ENOSYS \
-	  -efault=exit:error=1:when=2+ ./answer
+	  -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
+	  -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
index 85093fc..0cce539 100755
--- a/tests/qual_fault-syntax.test
+++ b/tests/qual_fault-syntax.test
@@ -2,7 +2,7 @@
 #
 # Check -e fault= syntax.
 #
-# Copyright (c) 2016=2017 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/tests/qual_fault.c b/tests/qual_fault.c
index d26dc7c..ab692cb 100644
--- a/tests/qual_fault.c
+++ b/tests/qual_fault.c
@@ -2,6 +2,7 @@
  * Check that fault injection works properly.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/qual_fault.test b/tests/qual_fault.test
index e194a78..f8e57d2 100755
--- a/tests/qual_fault.test
+++ b/tests/qual_fault.test
@@ -3,6 +3,7 @@
 # Check that fault injection works properly.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -76,12 +77,11 @@
 
 	run_strace -a11 -e trace=$trace \
 		"$@" -e fault=$fault$when$error $extra \
-		./$NAME $raw "$err" "$first" "$step" $N \
+		../$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
diff --git a/tests/qual_inject-error-signal.test b/tests/qual_inject-error-signal.test
index fcbcc39..1fe4612 100755
--- a/tests/qual_inject-error-signal.test
+++ b/tests/qual_inject-error-signal.test
@@ -4,5 +4,5 @@
 . "${srcdir=.}/scno_tampering.sh"
 
 run_strace -a12 -echdir,exit_group -einject=chdir:error=ENOENT:signal=USR1 \
-	"./$NAME"
+	"../$NAME"
 match_diff
diff --git a/tests/qual_inject-retval.test b/tests/qual_inject-retval.test
index 419030a..5a4efd1 100755
--- a/tests/qual_inject-retval.test
+++ b/tests/qual_inject-retval.test
@@ -12,9 +12,8 @@
 	rval="$1"; shift
 
 	run_strace -a12 -e$syscall -einject="$syscall:retval=$rval" "$@" \
-		./qual_inject-retval "$rval" > "$EXP"
+		../qual_inject-retval "$rval" > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 check_injection 0
diff --git a/tests/qual_inject-signal.test b/tests/qual_inject-signal.test
index 88002ce..f17e5a0 100755
--- a/tests/qual_inject-signal.test
+++ b/tests/qual_inject-signal.test
@@ -4,5 +4,5 @@
 . "${srcdir=.}/init.sh"
 
 run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1 \
-	./$NAME
+	../$NAME
 match_diff
diff --git a/tests/qual_signal.test b/tests/qual_signal.test
index 54a37a3..52812b7 100755
--- a/tests/qual_signal.test
+++ b/tests/qual_signal.test
@@ -3,6 +3,7 @@
 # Check how strace -e signal=set works.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,10 +35,9 @@
 	local sigs
 	sigs="$1"; shift
 
-	run_prog "./$NAME" "$@" > /dev/null
-	run_strace -e trace=none -e signal="$sigs" "./$NAME" "$@" > "$EXP"
+	run_prog "../$NAME" "$@" > /dev/null
+	run_strace -e trace=none -e signal="$sigs" "../$NAME" "$@" > "$EXP"
 	match_diff "$LOG" "$EXP"
-	rm -f "$EXP"
 }
 
 test_sigs()
diff --git a/tests/qual_syscall.test b/tests/qual_syscall.test
index f7eb06d..1524405 100755
--- a/tests/qual_syscall.test
+++ b/tests/qual_syscall.test
@@ -5,17 +5,17 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./umovestr
-pattern_abbrev_verbose='execve("\./umovestr", \["\./umovestr"\], \[/\* [[:digit:]]* vars \*/\]) = 0'
-pattern_nonabbrev_verbose='execve("\./umovestr", \["\./umovestr"\], \[".*\"\(\.\.\.\)\?\]) = 0'
-pattern_nonverbose='execve("\./umovestr", 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
+run_prog ../umovestr
+pattern_abbrev_verbose='execve("\.\./umovestr", \["\.\./umovestr"\], 0x[[:xdigit:]]* /\* [[:digit:]]* vars \*/) = 0'
+pattern_nonabbrev_verbose='execve("\.\./umovestr", \["\.\./umovestr"\], \[".*\"\(\.\.\.\)\?\]) = 0'
+pattern_nonverbose='execve("\.\./umovestr", 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
 pattern_raw='execve(0x[[:xdigit:]]*, 0x[[:xdigit:]]*, 0x[[:xdigit:]]*) = 0'
 
 check_output_mismatch()
 {
 	local pattern
 	pattern="$1"; shift
-	run_strace "$@" ./umovestr
+	run_strace "$@" ../umovestr
 	LC_ALL=C grep -x "$pattern" "$LOG" > /dev/null || {
 		printf '%s\n%s\n' \
 			'Failed patterns of expected output:' "$pattern"
@@ -28,15 +28,19 @@
 LC_ALL=C grep '^[[:alnum:]_]*(' > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-check_output_mismatch "$pattern_abbrev_verbose" -e trace=process
+check_output_mismatch "$pattern_abbrev_verbose" -e trace=%process
 LC_ALL=C grep '^chdir' "$LOG" > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-run_strace -e 42 ./umovestr
+run_strace -e 42 ../umovestr
 LC_ALL=C grep '^[[:alnum:]_]*(' "$LOG" > /dev/null &&
 	dump_log_and_fail_with "$STRACE $args unexpected output"
 
-for a in execve \!chdir all \!none \
+run_strace -e/ -e42 ../umovestr
+LC_ALL=C grep '^[[:alnum:]_]*(' "$LOG" > /dev/null &&
+	dump_log_and_fail_with "$STRACE $args unexpected output"
+
+for a in execve \!chdir /. all \!none \
 	 file process \!desc \!ipc \!memory \!network \!signal; do
 	check_output_mismatch \
 		"$pattern_abbrev_verbose" -e abbrev="$a" -e execve
diff --git a/tests/quotactl-v.gen.test b/tests/quotactl-v.gen.test
new file mode 100755
index 0000000..8659ed2
--- /dev/null
+++ b/tests/quotactl-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-v -v -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=quotactl
diff --git a/tests/quotactl-v.test b/tests/quotactl-v.test
deleted file mode 100755
index 6adaf82..0000000
--- a/tests/quotactl-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
diff --git a/tests/quotactl-xfs-v.gen.test b/tests/quotactl-xfs-v.gen.test
new file mode 100755
index 0000000..f1f7e0a
--- /dev/null
+++ b/tests/quotactl-xfs-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-xfs-v -v -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=quotactl
diff --git a/tests/quotactl-xfs-v.test b/tests/quotactl-xfs-v.test
deleted file mode 100755
index d5ffc7d..0000000
--- a/tests/quotactl-xfs-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check non-abbreviated decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=quotactl
diff --git a/tests/quotactl-xfs.c b/tests/quotactl-xfs.c
index e420d1c..b2a884b 100644
--- a/tests/quotactl-xfs.c
+++ b/tests/quotactl-xfs.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -207,10 +208,10 @@
 	char unterminated_str[sizeof(void *) * 2 + sizeof("0x")];
 
 	long rc;
-	struct fs_disk_quota *xdq = tail_alloc(sizeof(*xdq));
-	struct fs_quota_stat *xqstat = tail_alloc(sizeof(*xqstat));
-	struct fs_quota_statv *xqstatv = tail_alloc(sizeof(*xqstatv));
-	uint32_t *flags = tail_alloc(sizeof(*flags));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_disk_quota, xdq);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_stat, xqstat);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct fs_quota_statv, xqstatv);
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint32_t, flags);
 	char *unterminated = tail_memdup(unterminated_data,
 		sizeof(unterminated_data));
 
diff --git a/tests/quotactl-xfs.gen.test b/tests/quotactl-xfs.gen.test
new file mode 100755
index 0000000..cd7d11c
--- /dev/null
+++ b/tests/quotactl-xfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl-xfs -e trace=quotactl); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=quotactl
diff --git a/tests/quotactl-xfs.test b/tests/quotactl-xfs.test
deleted file mode 100755
index 404a737..0000000
--- a/tests/quotactl-xfs.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of quotactl xfs subcommands.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=quotactl
diff --git a/tests/quotactl.c b/tests/quotactl.c
index 3a7c113..88c3fda 100644
--- a/tests/quotactl.c
+++ b/tests/quotactl.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -173,10 +174,10 @@
 	long rc;
 	char *unterminated = tail_memdup(unterminated_data,
 					 sizeof(unterminated_data));
-	struct if_dqblk *dqblk = tail_alloc(sizeof(*dqblk));
-	struct if_dqinfo *dqinfo = tail_alloc(sizeof(*dqinfo));
-	uint32_t *fmt = tail_alloc(sizeof(*fmt));
-	struct if_nextdqblk *nextdqblk = tail_alloc(sizeof(*nextdqblk));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_dqblk, dqblk);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_dqinfo, dqinfo);
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint32_t, fmt);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct if_nextdqblk, nextdqblk);
 
 
 	snprintf(bogus_special_str, sizeof(bogus_special_str), "%p",
diff --git a/tests/quotactl.gen.test b/tests/quotactl.gen.test
new file mode 100755
index 0000000..c6ad6e1
--- /dev/null
+++ b/tests/quotactl.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (quotactl ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/quotactl.test b/tests/quotactl.test
deleted file mode 100755
index d0101f4..0000000
--- a/tests/quotactl.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of quotactl syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/read-write.c b/tests/read-write.c
index 262e07b..ed4c64d 100644
--- a/tests/read-write.c
+++ b/tests/read-write.c
@@ -2,6 +2,7 @@
  * Check decoding and dumping of read and write syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -137,7 +138,9 @@
 {
 	tprintf("%s", "");
 
-	static char tmp[] = "read-write-tmpfile";
+	skip_if_unavailable("/proc/self/fd/");
+
+	static const char tmp[] = "read-write-tmpfile";
 	if (open(tmp, O_CREAT|O_RDONLY|O_TRUNC, 0600) != 0)
 		perror_msg_and_fail("creat: %s", tmp);
 	if (open(tmp, O_WRONLY) != 1)
diff --git a/tests/read-write.gen.test b/tests/read-write.gen.test
new file mode 100755
index 0000000..df1b3fb
--- /dev/null
+++ b/tests/read-write.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (read-write -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15 -eread=0 -ewrite=1 -e trace=read,write -P read-write-tmpfile -P /dev/zero -P /dev/null
diff --git a/tests/read-write.test b/tests/read-write.test
deleted file mode 100755
index 3700541..0000000
--- a/tests/read-write.test
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# Check decoding and dumping of read and write syscalls.
-
-. "${srcdir=.}/init.sh"
-
-# strace -P is implemented using /proc/self/fd
-[ -d /proc/self/fd/ ] ||
-	framework_skip_ '/proc/self/fd/ is not available'
-
-tmpfile=read-write-tmpfile
-> $tmpfile
-
-run_strace_match_diff \
-	-a15 -eread=0 -ewrite=1 -e trace=read,write \
-	-P $tmpfile -P /dev/zero -P /dev/null
-
-rm -f $tmpfile
diff --git a/tests/readahead.c b/tests/readahead.c
index c11b577..c243ae4 100644
--- a/tests/readahead.c
+++ b/tests/readahead.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/readahead.gen.test b/tests/readahead.gen.test
new file mode 100755
index 0000000..4e88efa
--- /dev/null
+++ b/tests/readahead.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readahead -a1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a1
diff --git a/tests/readahead.test b/tests/readahead.test
deleted file mode 100755
index 397c690..0000000
--- a/tests/readahead.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check readahead syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a1
diff --git a/tests/readdir.c b/tests/readdir.c
index 8c48362..a47856f 100644
--- a/tests/readdir.c
+++ b/tests/readdir.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -58,9 +59,9 @@
 	"A\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nZ";
 
 int
-main(int ac, const char **av)
+main(void)
 {
-	char *dname;
+	static const char dname[] = "readdir.test.tmp.dir";
 	struct {
 		unsigned long   d_ino;
 		unsigned long   d_off;
@@ -69,8 +70,6 @@
 	} e;
 	int rc;
 
-	assert(ac == 1);
-	assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
 	assert(!mkdir(dname, 0700));
 	assert(!chdir(dname));
 	(void) close(0);
diff --git a/tests/readdir.gen.test b/tests/readdir.gen.test
new file mode 100755
index 0000000..10da83b
--- /dev/null
+++ b/tests/readdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readdir -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests/readdir.test b/tests/readdir.test
deleted file mode 100755
index e313273..0000000
--- a/tests/readdir.test
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Check readdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-rm -rf -- "$LOG".dir
-run_strace_match_diff -a16
diff --git a/tests/readlink.gen.test b/tests/readlink.gen.test
new file mode 100755
index 0000000..755fc8b
--- /dev/null
+++ b/tests/readlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlink -xx); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -xx
diff --git a/tests/readlink.test b/tests/readlink.test
deleted file mode 100755
index c026ecb..0000000
--- a/tests/readlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check readlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -xx
diff --git a/tests/readlinkat.gen.test b/tests/readlinkat.gen.test
new file mode 100755
index 0000000..2a50299
--- /dev/null
+++ b/tests/readlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (readlinkat -xx); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -xx
diff --git a/tests/readlinkat.test b/tests/readlinkat.test
deleted file mode 100755
index 229c8e1..0000000
--- a/tests/readlinkat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check readlinkat syscall decoding.
-
-. "${srcdir=.}/readlink.test"
diff --git a/tests/readv.test b/tests/readv.test
index dc18799..d75e370 100755
--- a/tests/readv.test
+++ b/tests/readv.test
@@ -3,6 +3,7 @@
 # Check decoding and dumping of readv and writev syscalls.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 run_strace_match_diff -a16 -e trace=readv,writev \
 	-eread='!all' -ewrite=none -eread='!0,1,2' -ewrite='!0,1,2'
 
-wfd="$(./print_maxfd)"
+wfd="$(../print_maxfd)"
 rfd="$(($wfd - 1))"
 run_strace_match_diff -a16 -e trace=readv,writev \
 	-eread="$rfd" -ewrite="$wfd"
diff --git a/tests/reboot.gen.test b/tests/reboot.gen.test
new file mode 100755
index 0000000..0a48dea
--- /dev/null
+++ b/tests/reboot.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (reboot ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/reboot.test b/tests/reboot.test
deleted file mode 100755
index a97dd21..0000000
--- a/tests/reboot.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check reboot syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/recvfrom.gen.test b/tests/recvfrom.gen.test
new file mode 100755
index 0000000..c23780c
--- /dev/null
+++ b/tests/recvfrom.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvfrom -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests/recvfrom.test b/tests/recvfrom.test
deleted file mode 100755
index 9dfbc89..0000000
--- a/tests/recvfrom.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sockaddr related arguments of recvfrom syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests/recvmmsg-timeout.c b/tests/recvmmsg-timeout.c
index 7cf064d..64ce16a 100644
--- a/tests/recvmmsg-timeout.c
+++ b/tests/recvmmsg-timeout.c
@@ -2,6 +2,7 @@
  * Check decoding of timeout argument of recvmmsg syscall.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -50,13 +51,15 @@
 			.msg_iovlen = 1
 		}
 	};
-	struct timespec t = { .tv_sec = 0, .tv_nsec = 12345678 };
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
+	ts->tv_sec = 0;
+	ts->tv_nsec = 12345678;
 
-	int rc = recv_mmsg(-1, &mh, 1, 0, &t);
+	int rc = recv_mmsg(-1, &mh, 1, 0, ts);
 	printf("recvmmsg(-1, %p, 1, 0, {tv_sec=0, tv_nsec=12345678})"
-	       " = %d %s (%m)\n", &mh, rc, errno2name());
+	       " = %s\n", &mh, sprintrc(rc));
 
-	rc = recv_mmsg(fds[0], &mh, 1, 0, &t);
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
 	if (rc < 0)
 		perror_msg_and_skip("recvmmsg");
 	printf("recvmmsg(%d, [{msg_hdr={msg_name=NULL, msg_namelen=0"
@@ -64,7 +67,23 @@
 	       ", msg_controllen=0, msg_flags=0}, msg_len=1}], 1, 0"
 	       ", {tv_sec=0, tv_nsec=12345678}) = "
 	       "%d (left {tv_sec=0, tv_nsec=%d})\n",
-	       fds[0], rc, (int) t.tv_nsec);
+	       fds[0], rc, (int) ts->tv_nsec);
+
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
+	printf("recvmmsg(%d, %p, 1, 0, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       fds[0], &mh, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = recv_mmsg(fds[0], &mh, 1, 0, ts);
+	printf("recvmmsg(%d, %p, 1, 0, {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       fds[0], &mh, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/recvmmsg-timeout.gen.test b/tests/recvmmsg-timeout.gen.test
new file mode 100755
index 0000000..6306de7
--- /dev/null
+++ b/tests/recvmmsg-timeout.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvmmsg-timeout -a25 -e trace=recvmmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e trace=recvmmsg
diff --git a/tests/recvmmsg-timeout.test b/tests/recvmmsg-timeout.test
deleted file mode 100755
index 36a1222..0000000
--- a/tests/recvmmsg-timeout.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of timeout argument of recvmmsg syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a25 -e trace=recvmmsg
diff --git a/tests/recvmsg.gen.test b/tests/recvmsg.gen.test
new file mode 100755
index 0000000..fc8ef06
--- /dev/null
+++ b/tests/recvmsg.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (recvmsg -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
diff --git a/tests/recvmsg.test b/tests/recvmsg.test
deleted file mode 100755
index e373a20..0000000
--- a/tests/recvmsg.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of recvmsg and sendmsg syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg
diff --git a/tests/redirect-fds.test b/tests/redirect-fds.test
index ddef8fa..3da6942 100755
--- a/tests/redirect-fds.test
+++ b/tests/redirect-fds.test
@@ -3,6 +3,7 @@
 # Check that strace does not leak placeholder descriptors.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -47,18 +48,17 @@
 	a2="$2"
 	a3="$3"
 
+	rm -f "$LOG" "$fd0" "$fd1" "$fd2"
 	touch "$LOG" "$fd0" ||
 		framework_skip_ 'failed to create files'
 
-	set -- "\"./$NAME\"" "\"$1\"" "\"$2\"" "\"$3\""
+	set -- "\"../$NAME\"" "\"$1\"" "\"$2\"" "\"$3\""
 	eval "$@" "<${a1:-&-}" ">${a2:-&-}" "2>${a3:-&-}" ||
 			fail_ "$* failed with code $rc"
 
 	set -- "$STRACE" -o"$LOG" -echdir "$@"
 	eval "$@" "<${a1:-&-}" ">${a2:-&-}" "2>${a3:-&-}" ||
 		dump_log_and_fail_with "$* failed with code $?"
-
-	rm -f "$LOG" "$fd0" "$fd1" "$fd2"
 }
 
 check_fd "$fd0" "$fd1" "$fd2"
diff --git a/tests/redirect.test b/tests/redirect.test
index fa0c536..d70754e 100755
--- a/tests/redirect.test
+++ b/tests/redirect.test
@@ -3,6 +3,7 @@
 # Ensure that strace does not retain stdin and stdout descriptors.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -74,5 +75,3 @@
 if [ -s "$OUT" ]; then
 	fail_ "$STRACE failed to redirect standard output"
 fi
-
-rm -f -- "$OUT"
diff --git a/tests/regex.gen.test b/tests/regex.gen.test
new file mode 100755
index 0000000..71a02d6
--- /dev/null
+++ b/tests/regex.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (regex test_trace_expr '' -etrace='/^(.*_)?statv?fs'); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -etrace='/^(.*_)?statv?fs'
diff --git a/tests/regex.in b/tests/regex.in
new file mode 100755
index 0000000..7c4adfe
--- /dev/null
+++ b/tests/regex.in
@@ -0,0 +1,2 @@
+statfs	-a17
+statfs64	-a23
diff --git a/tests/remap_file_pages.gen.test b/tests/remap_file_pages.gen.test
new file mode 100755
index 0000000..e489473
--- /dev/null
+++ b/tests/remap_file_pages.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (remap_file_pages ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/remap_file_pages.test b/tests/remap_file_pages.test
deleted file mode 100755
index 9d51a9a..0000000
--- a/tests/remap_file_pages.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check remap_file_pages syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/rename.gen.test b/tests/rename.gen.test
new file mode 100755
index 0000000..07f0180
--- /dev/null
+++ b/tests/rename.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rename -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests/rename.test b/tests/rename.test
deleted file mode 100755
index 9067e4c..0000000
--- a/tests/rename.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rename syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests/renameat.gen.test b/tests/renameat.gen.test
new file mode 100755
index 0000000..f2879cd
--- /dev/null
+++ b/tests/renameat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (renameat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/renameat.test b/tests/renameat.test
deleted file mode 100755
index 9b0a61d..0000000
--- a/tests/renameat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check renameat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/renameat2.gen.test b/tests/renameat2.gen.test
new file mode 100755
index 0000000..cd7c34c
--- /dev/null
+++ b/tests/renameat2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (renameat2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/renameat2.test b/tests/renameat2.test
deleted file mode 100755
index 4c176bb..0000000
--- a/tests/renameat2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check renameat2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/request_key.gen.test b/tests/request_key.gen.test
new file mode 100755
index 0000000..aeac708
--- /dev/null
+++ b/tests/request_key.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (request_key -a33 -s12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33 -s12
diff --git a/tests/request_key.test b/tests/request_key.test
deleted file mode 100755
index 9812a18..0000000
--- a/tests/request_key.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of request_key syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -s12
diff --git a/tests/restart_syscall.c b/tests/restart_syscall.c
index e492e62..d06f9c2 100644
--- a/tests/restart_syscall.c
+++ b/tests/restart_syscall.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,11 +56,11 @@
 	if (nanosleep(&req, &rem))
 		perror_msg_and_fail("nanosleep");
 
-	printf("nanosleep\\(\\{tv_sec=%jd, tv_nsec=%jd\\}, "
-	       "\\{tv_sec=%jd, tv_nsec=%jd\\}\\)"
+	printf("nanosleep\\(\\{tv_sec=%lld, tv_nsec=%llu\\}"
+	       ", \\{tv_sec=%lld, tv_nsec=%llu\\}\\)"
 	       " = \\? 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);
+	       (long long) req.tv_sec, zero_extend_signed_to_ull(req.tv_nsec),
+	       (long long) rem.tv_sec, zero_extend_signed_to_ull(rem.tv_nsec));
 	puts("--- SIGALRM \\{si_signo=SIGALRM, si_code=SI_KERNEL\\} ---");
 #ifdef __arm__
 /* old kernels used to overwrite ARM_r0 with -EINTR */
@@ -67,11 +68,12 @@
 #else
 # define ALTERNATIVE_NANOSLEEP_REQ ""
 #endif
-	printf("(nanosleep\\((%s\\{tv_sec=%jd, tv_nsec=%jd\\}), "
-	       "%p|restart_syscall\\(<\\.\\.\\."
+	printf("(nanosleep\\((%s\\{tv_sec=%lld, tv_nsec=%llu\\})"
+	       ", %p|restart_syscall\\(<\\.\\.\\."
 	       " resuming interrupted nanosleep \\.\\.\\.>)\\) = 0\n",
 	       ALTERNATIVE_NANOSLEEP_REQ,
-	       (intmax_t) req.tv_sec, (intmax_t) req.tv_nsec, &rem);
+	       (long long) req.tv_sec, zero_extend_signed_to_ull(req.tv_nsec),
+	       &rem);
 
 	puts("\\+\\+\\+ exited with 0 \\+\\+\\+");
 	return 0;
diff --git a/tests/restart_syscall.test b/tests/restart_syscall.test
index 6dfda16..f7dfa04 100755
--- a/tests/restart_syscall.test
+++ b/tests/restart_syscall.test
@@ -6,8 +6,5 @@
 
 run_prog > /dev/null
 syscalls=nanosleep,restart_syscall
-run_strace -a20 -e trace=$syscalls $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace -a20 -e trace=$syscalls $args > "$EXP"
+match_grep "$LOG" "$EXP"
diff --git a/tests/rmdir.gen.test b/tests/rmdir.gen.test
new file mode 100755
index 0000000..b511039
--- /dev/null
+++ b/tests/rmdir.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rmdir -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests/rmdir.test b/tests/rmdir.test
deleted file mode 100755
index 81ee66b..0000000
--- a/tests/rmdir.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rmdir syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests/rt_sigpending.c b/tests/rt_sigpending.c
index accf691..b57921f 100644
--- a/tests/rt_sigpending.c
+++ b/tests/rt_sigpending.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigpending strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -78,7 +79,7 @@
 
 	const unsigned int big_size = 1024 / 8;
 	void *k_set = tail_alloc(big_size);
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 
 	sigemptyset(libc_set);
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
diff --git a/tests/rt_sigpending.gen.test b/tests/rt_sigpending.gen.test
new file mode 100755
index 0000000..0458876
--- /dev/null
+++ b/tests/rt_sigpending.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigpending -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests/rt_sigpending.test b/tests/rt_sigpending.test
deleted file mode 100755
index 40c83a8..0000000
--- a/tests/rt_sigpending.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigpending syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests/rt_sigprocmask.c b/tests/rt_sigprocmask.c
index 27e357f..c38ac94 100644
--- a/tests/rt_sigprocmask.c
+++ b/tests/rt_sigprocmask.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigprocmask strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -91,7 +92,7 @@
 
 	void *const k_set = tail_alloc(set_size);
 	void *const old_set = tail_alloc(set_size);
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 
 	memset(k_set, 0, set_size);
 	if (k_sigprocmask(SIG_SETMASK, k_set, NULL, set_size))
diff --git a/tests/rt_sigprocmask.gen.test b/tests/rt_sigprocmask.gen.test
new file mode 100755
index 0000000..a21c6db
--- /dev/null
+++ b/tests/rt_sigprocmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigprocmask ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/rt_sigprocmask.test b/tests/rt_sigprocmask.test
deleted file mode 100755
index 1e60ebd..0000000
--- a/tests/rt_sigprocmask.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigprocmask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/rt_sigqueueinfo.c b/tests/rt_sigqueueinfo.c
index aba6776..f803d91 100644
--- a/tests/rt_sigqueueinfo.c
+++ b/tests/rt_sigqueueinfo.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/rt_sigqueueinfo.gen.test b/tests/rt_sigqueueinfo.gen.test
new file mode 100755
index 0000000..7baf0e4
--- /dev/null
+++ b/tests/rt_sigqueueinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigqueueinfo -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests/rt_sigqueueinfo.test b/tests/rt_sigqueueinfo.test
deleted file mode 100755
index c03c76f..0000000
--- a/tests/rt_sigqueueinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of rt_sigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests/rt_sigreturn.c b/tests/rt_sigreturn.c
new file mode 100644
index 0000000..40d1589
--- /dev/null
+++ b/tests/rt_sigreturn.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 <stdlib.h>
+
+#ifdef ASM_SIGRTMIN
+# define RT_0 ASM_SIGRTMIN
+#else
+/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
+# define RT_0 32
+#endif
+
+static void
+handler(int no, siginfo_t *si, void *uc)
+{
+}
+
+int
+main(void)
+{
+	static sigset_t set;
+	sigemptyset(&set);
+	sigaddset(&set, SIGINT);
+	sigaddset(&set, SIGUSR2);
+	sigaddset(&set, SIGCHLD);
+	sigaddset(&set, RT_0 +  3);
+	sigaddset(&set, RT_0 +  4);
+	sigaddset(&set, RT_0 +  5);
+	sigaddset(&set, RT_0 + 26);
+	sigaddset(&set, RT_0 + 27);
+	if (sigprocmask(SIG_SETMASK, &set, NULL))
+		perror_msg_and_fail("sigprocmask");
+	sigemptyset(&set);
+
+	static const struct sigaction sa = {
+		.sa_sigaction = handler,
+		.sa_flags = SA_SIGINFO
+	};
+	if (sigaction(SIGUSR1, &sa, NULL))
+		perror_msg_and_fail("sigaction");
+
+	if (raise(SIGUSR1))
+		perror_msg_and_fail("raise");
+
+	static const char *const sigs =
+		(SIGUSR2 < SIGCHLD) ? "INT USR2 CHLD" : "INT CHLD USR2";
+	static const char *const rt_sigs = "RT_3 RT_4 RT_5 RT_26 RT_27";
+	printf("rt_sigreturn({mask=[%s %s]}) = 0\n", sigs, rt_sigs);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/rt_sigreturn.gen.test b/tests/rt_sigreturn.gen.test
new file mode 100755
index 0000000..0672f11
--- /dev/null
+++ b/tests/rt_sigreturn.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigreturn -esignal='!USR1'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal='!USR1'
diff --git a/tests/rt_sigsuspend.c b/tests/rt_sigsuspend.c
index 73e1336..422ec19 100644
--- a/tests/rt_sigsuspend.c
+++ b/tests/rt_sigsuspend.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigsuspend strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -88,7 +89,7 @@
 	void *k_set = tail_alloc(big_size);
 	memset(k_set, 0, big_size);
 
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 	sigemptyset(libc_set);
 	sigaddset(libc_set, SIGUSR1);
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
diff --git a/tests/rt_sigsuspend.gen.test b/tests/rt_sigsuspend.gen.test
new file mode 100755
index 0000000..d5d1d5f
--- /dev/null
+++ b/tests/rt_sigsuspend.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigsuspend -a20 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -esignal=none
diff --git a/tests/rt_sigsuspend.test b/tests/rt_sigsuspend.test
deleted file mode 100755
index 2e30fd4..0000000
--- a/tests/rt_sigsuspend.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigsuspend syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -esignal=none
diff --git a/tests/rt_sigtimedwait.c b/tests/rt_sigtimedwait.c
index 10311e6..40544c7 100644
--- a/tests/rt_sigtimedwait.c
+++ b/tests/rt_sigtimedwait.c
@@ -2,6 +2,7 @@
  * This file is part of rt_sigtimedwait strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -54,25 +55,27 @@
 	for (;;) {
 		assert(k_sigtimedwait(set, NULL, timeout, size) == -1);
 		if (EINTR == errno) {
-			tprintf("rt_sigtimedwait(%s, NULL, "
-				"{tv_sec=%jd, tv_nsec=%jd}, %u)"
+			tprintf("rt_sigtimedwait(%s, NULL"
+				", {tv_sec=%lld, tv_nsec=%llu}, %u)"
 				" = -1 EAGAIN (%m)\n", text,
-				(intmax_t) timeout->tv_sec,
-				(intmax_t) timeout->tv_nsec,
+				(long long) timeout->tv_sec,
+				zero_extend_signed_to_ull(timeout->tv_nsec),
 				size);
 		} else {
 			if (size < sizeof(long))
-				tprintf("rt_sigtimedwait(%p, NULL, "
-					"{tv_sec=%jd, tv_nsec=%jd}"
+				tprintf("rt_sigtimedwait(%p, NULL"
+					", {tv_sec=%lld, tv_nsec=%llu}"
 					", %u) = -1 EINVAL (%m)\n",
-					set, (intmax_t) timeout->tv_sec,
-					(intmax_t) timeout->tv_nsec, size);
+					set, (long long) timeout->tv_sec,
+					zero_extend_signed_to_ull(timeout->tv_nsec),
+					size);
 			else
-				tprintf("rt_sigtimedwait(%s, NULL, "
-					"{tv_sec=%jd, tv_nsec=%jd}"
+				tprintf("rt_sigtimedwait(%s, NULL"
+					", {tv_sec=%lld, tv_nsec=%llu}"
 					", %u) = -1 EINVAL (%m)\n",
-					text, (intmax_t) timeout->tv_sec,
-					(intmax_t) timeout->tv_nsec, size);
+					text, (long long) timeout->tv_sec,
+					zero_extend_signed_to_ull(timeout->tv_nsec),
+					size);
 		}
 		if (!size)
 			break;
@@ -86,8 +89,8 @@
 {
 	tprintf("%s", "");
 
-	siginfo_t *const info = tail_alloc(sizeof(*info));
-	struct timespec *const timeout = tail_alloc(sizeof(*timeout));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, info);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, timeout);
 	timeout->tv_sec = 0;
 	timeout->tv_nsec = 42;
 
@@ -100,37 +103,58 @@
 		assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
 		if (EAGAIN == errno)
 			break;
-		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);
+		tprintf("rt_sigtimedwait(%p, NULL, {tv_sec=%lld, tv_nsec=%llu}"
+			", %u) = -1 EINVAL (%m)\n",
+			k_set, (long long) timeout->tv_sec,
+			zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 	}
 	if (!set_size)
 		perror_msg_and_fail("rt_sigtimedwait");
-	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);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
-	sigset_t *const libc_set = tail_alloc(sizeof(sigset_t));
+	timeout->tv_sec = 0xdeadbeefU;
+	timeout->tv_nsec = 0xfacefeedU;
+	assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}"
+		", %u) = -1 EINVAL (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
+
+	timeout->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	timeout->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%lld, tv_nsec=%llu}"
+		", %u) = -1 EINVAL (%m)\n",
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
+
+	timeout->tv_sec = 0;
+	timeout->tv_nsec = 42;
+
+	TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
 	sigemptyset(libc_set);
 	sigaddset(libc_set, SIGHUP);
 	memcpy(k_set, libc_set, set_size);
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	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);
+	tprintf("rt_sigtimedwait([HUP], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	sigaddset(libc_set, SIGINT);
 	memcpy(k_set, libc_set, set_size);
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait([HUP INT], %p, {tv_sec=%jd, tv_nsec=%jd}, %u)"
+	tprintf("rt_sigtimedwait([HUP INT], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
 		" = -1 EAGAIN (%m)\n",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	sigaddset(libc_set, SIGQUIT);
 	sigaddset(libc_set, SIGALRM);
@@ -139,17 +163,19 @@
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait(%s, %p, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
+	tprintf("rt_sigtimedwait(%s, %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
 		"[HUP INT QUIT ALRM TERM]",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	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, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
-		info, (intmax_t) timeout->tv_sec,
-		(intmax_t) timeout->tv_nsec, set_size);
+	tprintf("rt_sigtimedwait(~[], %p, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = -1 EAGAIN (%m)\n",
+		info, (long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec), set_size);
 
 	if (sigprocmask(SIG_SETMASK, libc_set, NULL))
 		perror_msg_and_fail("sigprocmask");
@@ -164,9 +190,11 @@
 	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}, {tv_sec=%jd, tv_nsec=%jd}, %u) = %d (%s)\n",
+		", si_pid=%d, si_uid=%d}, {tv_sec=%lld, tv_nsec=%llu}, %u)"
+		" = %d (%s)\n",
 		"[HUP INT QUIT ALRM TERM]", "SIGALRM", getpid(), getuid(),
-		(intmax_t) timeout->tv_sec, (intmax_t) timeout->tv_nsec,
+		(long long) timeout->tv_sec,
+		zero_extend_signed_to_ull(timeout->tv_nsec),
 		set_size, SIGALRM, "SIGALRM");
 
 	raise(SIGALRM);
diff --git a/tests/rt_sigtimedwait.gen.test b/tests/rt_sigtimedwait.gen.test
new file mode 100755
index 0000000..2b18e7a
--- /dev/null
+++ b/tests/rt_sigtimedwait.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_sigtimedwait -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a38
diff --git a/tests/rt_sigtimedwait.test b/tests/rt_sigtimedwait.test
deleted file mode 100755
index e15fb77..0000000
--- a/tests/rt_sigtimedwait.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check rt_sigtimedwait syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
diff --git a/tests/rt_tgsigqueueinfo.c b/tests/rt_tgsigqueueinfo.c
index ec09348..3b2da2a 100644
--- a/tests/rt_tgsigqueueinfo.c
+++ b/tests/rt_tgsigqueueinfo.c
@@ -2,6 +2,7 @@
  * This file is part of rt_tgsigqueueinfo strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,9 +43,9 @@
 k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
 {
 	return syscall(__NR_rt_tgsigqueueinfo,
-		       (unsigned long) 0xffffffff00000000ULL | pid,
-		       (unsigned long) 0xffffffff00000000ULL | pid,
-		       (unsigned long) 0xffffffff00000000ULL | sig,
+		       F8ILL_KULONG_MASK | pid,
+		       F8ILL_KULONG_MASK | pid,
+		       F8ILL_KULONG_MASK | sig,
 		       info);
 }
 
@@ -57,7 +58,7 @@
 	if (sigaction(SIGUSR1, &sa, NULL))
 		perror_msg_and_fail("sigaction");
 
-	siginfo_t *const info = tail_alloc(sizeof(*info));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, info);
 	memset(info, 0, sizeof(*info));
 	info->si_signo = SIGUSR1;
 	info->si_errno = ENOENT;
diff --git a/tests/rt_tgsigqueueinfo.gen.test b/tests/rt_tgsigqueueinfo.gen.test
new file mode 100755
index 0000000..407bbff
--- /dev/null
+++ b/tests/rt_tgsigqueueinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (rt_tgsigqueueinfo -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests/rt_tgsigqueueinfo.test b/tests/rt_tgsigqueueinfo.test
deleted file mode 100755
index ab24e2d..0000000
--- a/tests/rt_tgsigqueueinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of rt_tgsigqueueinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests/sched.gen.test b/tests/sched.gen.test
new file mode 100755
index 0000000..6747117
--- /dev/null
+++ b/tests/sched.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched test_trace_expr times -e/sched); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr times -e/sched
diff --git a/tests/sched.in b/tests/sched.in
new file mode 100755
index 0000000..46031d6
--- /dev/null
+++ b/tests/sched.in
@@ -0,0 +1,7 @@
+sched_xetaffinity	-a28
+sched_xetparam	-a23
+sched_rr_get_interval	-a31
+sched_get_priority_mxx	-a33
+sched_xetattr	-a29
+sched_xetscheduler	-a22
+sched_yield	-a14
diff --git a/tests/sched_get_priority_mxx.gen.test b/tests/sched_get_priority_mxx.gen.test
new file mode 100755
index 0000000..a235997
--- /dev/null
+++ b/tests/sched_get_priority_mxx.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_get_priority_mxx -a33 -e trace=sched_get_priority_min,sched_get_priority_max); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
diff --git a/tests/sched_get_priority_mxx.test b/tests/sched_get_priority_mxx.test
deleted file mode 100755
index 0d1a1a7..0000000
--- a/tests/sched_get_priority_mxx.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_get_priority_min and sched_get_priority_max syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a33 -e trace=sched_get_priority_min,sched_get_priority_max
diff --git a/tests/sched_rr_get_interval.c b/tests/sched_rr_get_interval.c
index 0aacd2b..000a0be 100644
--- a/tests/sched_rr_get_interval.c
+++ b/tests/sched_rr_get_interval.c
@@ -11,7 +11,7 @@
 int
 main(void)
 {
-	struct timespec *const tp = tail_alloc(sizeof(struct timespec));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, tp);
 	long rc;
 
 	rc = syscall(__NR_sched_rr_get_interval, 0, NULL);
@@ -25,8 +25,10 @@
 
 	rc = syscall(__NR_sched_rr_get_interval, 0, tp);
 	if (rc == 0)
-		printf("sched_rr_get_interval(0, {tv_sec=%jd, tv_nsec=%jd}) = "
-		       "0\n", (intmax_t)tp->tv_sec, (intmax_t)tp->tv_nsec);
+		printf("sched_rr_get_interval(0, {tv_sec=%lld, tv_nsec=%llu})"
+		       " = 0\n",
+		       (long long) tp->tv_sec,
+		       zero_extend_signed_to_ull(tp->tv_nsec));
 	else
 		printf("sched_rr_get_interval(-1, %p) = %s\n", tp,
 			sprintrc(rc));
diff --git a/tests/sched_rr_get_interval.gen.test b/tests/sched_rr_get_interval.gen.test
new file mode 100755
index 0000000..493de64
--- /dev/null
+++ b/tests/sched_rr_get_interval.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_rr_get_interval -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests/sched_rr_get_interval.test b/tests/sched_rr_get_interval.test
deleted file mode 100755
index 828ba5d..0000000
--- a/tests/sched_rr_get_interval.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_rr_get_interval syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a31
diff --git a/tests/sched_xetaffinity.gen.test b/tests/sched_xetaffinity.gen.test
new file mode 100755
index 0000000..7a1c75b
--- /dev/null
+++ b/tests/sched_xetaffinity.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetaffinity -a28 -e trace=sched_getaffinity,sched_setaffinity); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
diff --git a/tests/sched_xetaffinity.test b/tests/sched_xetaffinity.test
deleted file mode 100755
index 246ea21..0000000
--- a/tests/sched_xetaffinity.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getaffinity and sched_setaffinity syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28 -e trace=sched_getaffinity,sched_setaffinity
diff --git a/tests/sched_xetattr.c b/tests/sched_xetattr.c
index 1b48491..a9bd2ba 100644
--- a/tests/sched_xetattr.c
+++ b/tests/sched_xetattr.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,95 +32,214 @@
 
 # include <inttypes.h>
 # include <stdio.h>
+# include <sched.h>
 # include <unistd.h>
+# include "sched_attr.h"
+# include "xlat.h"
+# include "xlat/schedulers.h"
+
+static const char *errstr;
+
+static long
+sys_sched_getattr(kernel_ulong_t pid, kernel_ulong_t attr,
+		  kernel_ulong_t size, kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_sched_getattr, pid, attr, size, flags);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+static long
+sys_sched_setattr(kernel_ulong_t pid, kernel_ulong_t attr, kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_sched_setattr, pid, attr, flags);
+	errstr = sprintrc(rc);
+	return rc;
+}
 
 int
 main(void)
 {
-	struct {
-		uint32_t size;
-		uint32_t sched_policy;
-		uint64_t sched_flags;
-		int32_t  sched_nice;
-		uint32_t sched_priority;
-		uint64_t sched_runtime;
-		uint64_t sched_deadline;
-		uint64_t sched_period;
-	} *sched_attr = tail_alloc(sizeof(*sched_attr));
+	static const kernel_ulong_t bogus_pid =
+		(kernel_ulong_t) 0xdefacedfacefeedULL;
+	static const kernel_ulong_t bogus_size =
+		(kernel_ulong_t) 0xdefacedcafef00dULL;
+	static const kernel_ulong_t bogus_flags =
+		(kernel_ulong_t) 0xdefaceddeadc0deULL;
 
-	long rc = syscall(__NR_sched_getattr, 0xdeadface, NULL, 0, 0);
-	printf("sched_getattr\\(%d, NULL, 0, 0\\) += %s\n",
-		0xdeadface, sprintrc_grep(rc));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr);
+	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize);
+	void *const efault = attr + 1;
 
-	rc = syscall(__NR_sched_getattr, -1,
-		     sched_attr, 0xbadfaced, 0xc0defeed);
-	printf("sched_getattr\\(-1, %p, %u, %u\\) += %s\n",
-		sched_attr, 0xbadfaced, 0xc0defeed, sprintrc_grep(rc));
+	sys_sched_getattr(0, 0, 0, 0);
+	printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr);
 
-	rc = syscall(__NR_sched_getattr, 0,
-		     sched_attr + 1, sizeof(*sched_attr), 0);
-	printf("sched_getattr\\(0, %p, %u, 0\\) += %s\n",
-		sched_attr + 1, (unsigned)sizeof(*sched_attr),
-		sprintrc_grep(rc));
+	sys_sched_getattr(0, (unsigned long) attr, 0, 0);
+	printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr);
 
-	if (syscall(__NR_sched_getattr, 0, sched_attr, sizeof(*sched_attr), 0))
+	sys_sched_getattr(bogus_pid, 0, 0, 0);
+	printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr);
+
+	sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags);
+	printf("sched_getattr(-1, %p, %s%u, %u) = %s\n",
+	       attr,
+# if defined __arm64__ || defined __aarch64__
+	       "0xdefaced<<32|",
+# else
+	       "",
+# endif
+	       (unsigned) bogus_size, (unsigned) bogus_flags, errstr);
+
+	sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0);
+	printf("sched_getattr(0, %p, %u, 0) = %s\n",
+	       efault, (unsigned) sizeof(*attr), errstr);
+
+	if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0))
 		perror_msg_and_skip("sched_getattr");
-
-	printf("sched_getattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+"
-	       ", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-	       ", sched_period=%" PRIu64 "\\}, %u, 0\\) += 0\n",
-	       sched_attr->size,
-	       sched_attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
-	       sched_attr->sched_nice,
-	       sched_attr->sched_priority,
-	       sched_attr->sched_runtime,
-	       sched_attr->sched_deadline,
-	       sched_attr->sched_period,
-	       (unsigned) sizeof(*sched_attr));
+	       ", sched_period=%" PRIu64 "}, %u, 0) = 0\n",
+	       attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period,
+	       (unsigned) sizeof(*attr));
 
-	sched_attr->sched_flags |= 1;
-	if (syscall(__NR_sched_setattr, 0, sched_attr, 0))
+# if defined __arm64__ || defined __aarch64__
+	long rc =
+# endif
+	sys_sched_getattr(F8ILL_KULONG_MASK, (unsigned long) attr,
+			  F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK);
+# if defined __arm64__ || defined __aarch64__
+	if (rc) {
+		printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n",
+		       attr, (unsigned) sizeof(*attr), errstr);
+	} else
+# endif
+	{
+		printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
+		printxval(schedulers, attr->sched_policy, NULL);
+		printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+		       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+		       ", sched_period=%" PRIu64 "}, %u, 0) = 0\n",
+		       attr->sched_flags ? "SCHED_FLAG_RESET_ON_FORK" : "0",
+		       attr->sched_nice,
+		       attr->sched_priority,
+		       attr->sched_runtime,
+		       attr->sched_deadline,
+		       attr->sched_period,
+		       (unsigned) sizeof(*attr));
+	}
+
+	sys_sched_setattr(bogus_pid, 0, 0);
+	printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr);
+
+	attr->sched_flags |= 1;
+
+	if (sys_sched_setattr(0, (unsigned long) attr, 0))
 		perror_msg_and_skip("sched_setattr");
-
-	printf("sched_setattr\\(0, \\{size=%u, sched_policy=SCHED_[A-Z]+"
-	       ", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-	       ", sched_period=%" PRIu64 "\\}, 0\\) += 0\n",
-	       sched_attr->size,
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
 	       "SCHED_FLAG_RESET_ON_FORK",
-	       sched_attr->sched_nice,
-	       sched_attr->sched_priority,
-	       sched_attr->sched_runtime,
-	       sched_attr->sched_deadline,
-	       sched_attr->sched_period);
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
 
-	sched_attr->size = 0x90807060;
-	sched_attr->sched_policy = 0xca7faced;
-	sched_attr->sched_flags = 0xbadc0ded1057da7aULL;
-	sched_attr->sched_nice = 0xafbfcfdf;
-	sched_attr->sched_priority = 0xb8c8d8e8;
-	sched_attr->sched_runtime = 0xbadcaffedeadf157ULL;
-	sched_attr->sched_deadline = 0xc0de70a57badac75ULL;
-	sched_attr->sched_period = 0xded1ca7edda7aca7ULL;
+	sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr,
+			  F8ILL_KULONG_MASK);
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
+	       "SCHED_FLAG_RESET_ON_FORK",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
 
-	rc = syscall(__NR_sched_setattr, 0xfacec0de, sched_attr, 0xbeeff00d);
+	*psize = attr->size;
 
-	printf("sched_setattr\\(%d, \\{size=%u, "
-		"sched_policy=%#x /\\* SCHED_\\?\\?\\? \\*/, "
-		"sched_flags=%#" PRIx64 " /\\* SCHED_FLAG_\\?\\?\\? \\*/, "
-		"sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
-		"sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 "\\}, "
-		"%u\\) += %s\n",
-		0xfacec0de, sched_attr->size,
-		sched_attr->sched_policy,
-		sched_attr->sched_flags,
-		sched_attr->sched_nice,
-		sched_attr->sched_priority,
-		sched_attr->sched_runtime,
-		sched_attr->sched_deadline,
-		sched_attr->sched_period, 0xbeeff00d, sprintrc_grep(rc));
+	sys_sched_setattr(0, (unsigned long) psize, 0);
+	printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr);
 
+	attr->size = 0;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
+	printxval(schedulers, attr->sched_policy, NULL);
+	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
+	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
+	       ", sched_period=%" PRIu64 "}, 0) = 0\n",
+	       "SCHED_FLAG_RESET_ON_FORK",
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period);
+
+	attr->size = 1;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
+	       1, attr->size, errstr);
+
+	attr->size = SCHED_ATTR_MIN_SIZE - 1;
+
+	sys_sched_setattr(0, (unsigned long) attr, 0);
+	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
+	       SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr);
+
+	attr->size = 0x90807060;
+	attr->sched_policy = 0xca7faced;
+	attr->sched_flags = 0xbadc0ded1057da7aULL;
+	attr->sched_nice = 0xafbfcfdf;
+	attr->sched_priority = 0xb8c8d8e8;
+	attr->sched_runtime = 0xbadcaffedeadf157ULL;
+	attr->sched_deadline = 0xc0de70a57badac75ULL;
+	attr->sched_period = 0xded1ca7edda7aca7ULL;
+
+	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
+	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
+	       "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, "
+	       "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
+	       "sched_deadline=%" PRIu64 ", sched_period=%" PRIu64 ", ...}, %u)"
+	       " = %s\n",
+	       (int) bogus_pid,
+	       attr->size,
+	       attr->sched_policy,
+	       attr->sched_flags,
+	       attr->sched_nice,
+	       attr->sched_priority,
+	       attr->sched_runtime,
+	       attr->sched_deadline,
+	       attr->sched_period,
+	       (unsigned) bogus_flags, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
+
+		sys_sched_getattr(0, ill, sizeof(*attr), 0);
+		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
+		       (unsigned long long) ill, (unsigned) sizeof(*attr),
+		       errstr);
+
+		sys_sched_setattr(0, ill, 0);
+		printf("sched_setattr(0, %#llx, 0) = %s\n",
+		       (unsigned long long) ill, errstr);
+	}
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests/sched_xetattr.gen.test b/tests/sched_xetattr.gen.test
new file mode 100755
index 0000000..e4f31c5
--- /dev/null
+++ b/tests/sched_xetattr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetattr -a29 -e trace=sched_getattr,sched_setattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=sched_getattr,sched_setattr
diff --git a/tests/sched_xetattr.test b/tests/sched_xetattr.test
deleted file mode 100755
index c2c7914..0000000
--- a/tests/sched_xetattr.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check sched_getattr and sched_setattr syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e sched_getattr,sched_setattr $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
diff --git a/tests/sched_xetparam.gen.test b/tests/sched_xetparam.gen.test
new file mode 100755
index 0000000..220ffb2
--- /dev/null
+++ b/tests/sched_xetparam.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetparam -a23 -e trace=sched_getparam,sched_setparam); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
diff --git a/tests/sched_xetparam.test b/tests/sched_xetparam.test
deleted file mode 100755
index c9fede1..0000000
--- a/tests/sched_xetparam.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getparam and sched_setparam syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=sched_getparam,sched_setparam
diff --git a/tests/sched_xetscheduler.c b/tests/sched_xetscheduler.c
index 7faee8c..8248a0c 100644
--- a/tests/sched_xetscheduler.c
+++ b/tests/sched_xetscheduler.c
@@ -10,7 +10,7 @@
 int
 main(void)
 {
-	struct sched_param *const param = tail_alloc(sizeof(struct sched_param));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param);
 	long rc = syscall(__NR_sched_getscheduler, 0);
 	const char *scheduler;
 	switch (rc) {
diff --git a/tests/sched_xetscheduler.gen.test b/tests/sched_xetscheduler.gen.test
new file mode 100755
index 0000000..0a80072
--- /dev/null
+++ b/tests/sched_xetscheduler.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_xetscheduler -a22 -e trace=sched_getscheduler,sched_setscheduler); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
diff --git a/tests/sched_xetscheduler.test b/tests/sched_xetscheduler.test
deleted file mode 100755
index 07c93f3..0000000
--- a/tests/sched_xetscheduler.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_getscheduler and sched_setscheduler syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22 -e trace=sched_getscheduler,sched_setscheduler
diff --git a/tests/sched_yield.gen.test b/tests/sched_yield.gen.test
new file mode 100755
index 0000000..3f4542f
--- /dev/null
+++ b/tests/sched_yield.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sched_yield -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests/sched_yield.test b/tests/sched_yield.test
deleted file mode 100755
index f0c2c30..0000000
--- a/tests/sched_yield.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sched_yield syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests/scm_rights-fd.test b/tests/scm_rights-fd.test
index 8447375..279666e 100755
--- a/tests/scm_rights-fd.test
+++ b/tests/scm_rights-fd.test
@@ -3,6 +3,7 @@
 # Check how SCM_RIGHTS and SCM_CREDENTIALS control messages are decoded in -y mode.
 #
 # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -34,22 +35,19 @@
 	framework_skip_ '/proc/self/fd/ is not available'
 
 check_prog mkdir
-check_prog rm
 check_prog seq
 check_prog touch
 
-dir="$LOG.dir"
-rm -rf -- "$dir"
-mkdir -- "$dir" ||
+mkdir dir ||
 	framework_skip_ 'failed to create a directory'
 
-file="$dir/$(for i in $(seq 1 127); do echo A; done; echo Z)"
+file="dir/$(for i in $(seq 1 127); do echo A; done; echo Z)"
 
 touch -- "$file" ||
 	framework_skip_ 'failed to create a file'
 
-run_prog ./scm_rights /dev/zero
-run_strace -y -x -enetwork $args "$file"
+run_prog ../scm_rights /dev/zero
+run_strace -y -x -e%network $args "$file"
 
 hex='[[:xdigit:]]'
 n='[1-9][0-9]*'
@@ -66,15 +64,9 @@
 rights='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, cmsg_data='"$rights_data"'\}'
 creds='\{cmsg_len='"$n"', cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data='"$ids"'\}'
 
-EXPECTED="$LOG.expected"
-
-cat > "$EXPECTED" << __EOF__
+cat > "$EXP" << __EOF__
 sendmsg\\(3$socket, $msg_head\\[$rights\\]$msg_tail\\}, 0\\) = 15
 recvmsg\\(0$socket, $msg_head\\[$creds, $rights\\]$msg_tail\\}, 0\\) = 15
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-rm -rf -- "$dir"
-
-exit 0
+match_grep "$LOG" "$EXP"
diff --git a/tests/scm_rights.c b/tests/scm_rights.c
index 42caed7..632cf91 100644
--- a/tests/scm_rights.c
+++ b/tests/scm_rights.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,11 +45,11 @@
 	void *data = tail_alloc(data_size);
 	memcpy(data, sample, data_size);
 
-	struct iovec *iov = tail_alloc(sizeof(struct iovec));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct iovec, iov);
 	iov->iov_base = data;
 	iov->iov_len = data_size;
 
-	struct msghdr *mh = tail_alloc(sizeof(struct msghdr));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct msghdr, mh);
 	memset(mh, 0, sizeof(*mh));
 	mh->msg_iov = iov;
 	mh->msg_iovlen = 1;
diff --git a/tests/scno_tampering.sh b/tests/scno_tampering.sh
index 6aa7843..094175e 100755
--- a/tests/scno_tampering.sh
+++ b/tests/scno_tampering.sh
@@ -3,6 +3,7 @@
 # Skip the test if arch+kernel combination is not supported.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/tests/seccomp-filter-v.c b/tests/seccomp-filter-v.c
index dbf686d..fe88ac7 100644
--- a/tests/seccomp-filter-v.c
+++ b/tests/seccomp-filter-v.c
@@ -2,6 +2,7 @@
  * Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -105,7 +106,7 @@
 		tail_memdup(filter_c, sizeof(filter_c));
 	struct sock_filter *const big_filter =
 		tail_alloc(sizeof(*big_filter) * (BPF_MAXINSNS + 1));
-	struct sock_fprog *const prog = tail_alloc(sizeof(*prog));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sock_fprog, prog);
 
 	int fds[2];
 	if (pipe(fds))
diff --git a/tests/seccomp-filter-v.gen.test b/tests/seccomp-filter-v.gen.test
new file mode 100755
index 0000000..efce637
--- /dev/null
+++ b/tests/seccomp-filter-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (seccomp-filter-v -v -e trace=seccomp); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e trace=seccomp
diff --git a/tests/seccomp-filter-v.test b/tests/seccomp-filter-v.test
deleted file mode 100755
index f873eb6..0000000
--- a/tests/seccomp-filter-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e trace=seccomp
diff --git a/tests/seccomp-filter.c b/tests/seccomp-filter.c
index d4d76dd..e2bea06 100644
--- a/tests/seccomp-filter.c
+++ b/tests/seccomp-filter.c
@@ -2,6 +2,7 @@
  * Check decoding of seccomp SECCOMP_SET_MODE_FILTER.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -49,7 +50,7 @@
 {
 	struct sock_filter *const filter = tail_alloc(sizeof(*filter) * N);
 	const void *const efault = tail_alloc(1);
-	struct sock_fprog *const prog = tail_alloc(sizeof(*prog));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sock_fprog, prog);
 	long rc;
 
 	prog->filter = filter;
diff --git a/tests/seccomp-filter.gen.test b/tests/seccomp-filter.gen.test
new file mode 100755
index 0000000..52af0d5
--- /dev/null
+++ b/tests/seccomp-filter.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (seccomp-filter -e trace=seccomp); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=seccomp
diff --git a/tests/seccomp-filter.test b/tests/seccomp-filter.test
deleted file mode 100755
index 65c6d49..0000000
--- a/tests/seccomp-filter.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of seccomp SECCOMP_SET_MODE_FILTER.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=seccomp
diff --git a/tests/seccomp-strict.test b/tests/seccomp-strict.test
index b354c6a..b039871 100755
--- a/tests/seccomp-strict.test
+++ b/tests/seccomp-strict.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-set -- "./$NAME"
+set -- "../$NAME"
 "$@" > /dev/null || {
 	case $? in
 		77) skip_ "$* exited with code 77" ;;
@@ -14,4 +14,3 @@
 }
 run_strace -eseccomp "$@" > "$EXP"
 match_diff "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests/select.gen.test b/tests/select.gen.test
new file mode 100755
index 0000000..cb3b8f1
--- /dev/null
+++ b/tests/select.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (select -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests/select.test b/tests/select.test
deleted file mode 100755
index 60b88ca..0000000
--- a/tests/select.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check select syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests/semop.c b/tests/semop.c
index a2ff263..3d1f384 100644
--- a/tests/semop.c
+++ b/tests/semop.c
@@ -33,9 +33,7 @@
 	static void * const bogus_sops = (void *) -1L;
 	static const size_t bogus_nsops = (size_t) 0xdefaceddeadbeefULL;
 
-	static const struct timespec ts_data = { 1, 123456789 };
-
-	struct timespec *ts = tail_memdup(&ts_data, sizeof(*ts));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timespec, ts);
 	int rc;
 
 	id = semget(IPC_PRIVATE, 1, 0600);
@@ -47,8 +45,8 @@
 	if (semctl(id, 0, SETVAL, sem_union) == -1)
 		perror_msg_and_skip("semctl");
 
-	struct sembuf *const sem_b = tail_alloc(sizeof(*sem_b));
-	struct sembuf *const sem_b2 = tail_alloc(sizeof(*sem_b2));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sembuf, sem_b);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sembuf, sem_b2);
 
 	rc = semop(bogus_semid, NULL, bogus_nsops);
 	printf("semop(%d, NULL, %u) = %s\n",
@@ -91,15 +89,17 @@
 	printf("semtimedop(%d, %p, 1, %p) = %s\n",
 		id, sem_b + 1, ts + 1, sprintrc(rc));
 
+	ts->tv_sec = 1;
+	ts->tv_nsec = 123456789;
 	rc = semtimedop(bogus_semid, sem_b2, 2, ts);
-	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n",
+	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u"
+		", {tv_sec=%lld, tv_nsec=%llu}) = %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|" : "",
 		sem_b2->sem_flg & ~(SEM_UNDO | IPC_NOWAIT),
 		sem_b2 + 1, 2,
-		(intmax_t) ts->tv_sec, (intmax_t) ts->tv_nsec,
+		(long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
 		sprintrc(rc));
 
 	sem_b->sem_op = 1;
@@ -110,9 +110,27 @@
 	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, "
-		"{tv_sec=%jd, tv_nsec=%jd}) = 0\n", id,
-		(intmax_t) ts->tv_sec, (intmax_t) ts->tv_nsec);
+	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = 0\n", id,
+	       (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec));
+
+	sem_b->sem_op = 1;
+	ts->tv_sec = 0xdeadbeefU;
+	ts->tv_nsec = 0xfacefeedU;
+	rc = semtimedop(id, sem_b, 1, ts);
+	printf("semtimedop(%d, [{0, 1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       id, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
+
+	sem_b->sem_op = -1;
+	ts->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts->tv_nsec = (long) 0xbadc0dedfacefeedLL;
+	rc = semtimedop(id, sem_b, 1, ts);
+	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1"
+	       ", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
+	       id, (long long) ts->tv_sec,
+	       zero_extend_signed_to_ull(ts->tv_nsec), sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/semop.gen.test b/tests/semop.gen.test
new file mode 100755
index 0000000..21b67ea
--- /dev/null
+++ b/tests/semop.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (semop -a32 -e trace=semop,semtimedop); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -e trace=semop,semtimedop
diff --git a/tests/semop.test b/tests/semop.test
deleted file mode 100755
index 3e77d2f..0000000
--- a/tests/semop.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check semop syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -e trace=semop,semtimedop
diff --git a/tests/sendfile.c b/tests/sendfile.c
index 23f096b..9253c10 100644
--- a/tests/sendfile.c
+++ b/tests/sendfile.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,7 +70,7 @@
 	printf("sendfile(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
 	       (unsigned long) page_len);
 
-	uint32_t *p_off = tail_alloc(sizeof(uint32_t));
+	TAIL_ALLOC_OBJECT_VAR_PTR(uint32_t, p_off);
 	void *p = p_off + 1;
 	*p_off = 0;
 
diff --git a/tests/sendfile.gen.test b/tests/sendfile.gen.test
new file mode 100755
index 0000000..433878f
--- /dev/null
+++ b/tests/sendfile.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sendfile -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/sendfile.test b/tests/sendfile.test
deleted file mode 100755
index 48dba58..0000000
--- a/tests/sendfile.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sendfile syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/sendfile64.c b/tests/sendfile64.c
index 7208c30..de02400 100644
--- a/tests/sendfile64.c
+++ b/tests/sendfile64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,7 +70,7 @@
 	printf("sendfile64(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
 	       (unsigned long) page_len);
 
-	uint64_t *p_off = tail_alloc(sizeof(uint64_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, p_off);
 	void *p = p_off + 1;
 	*p_off = 0;
 
diff --git a/tests/sendfile64.gen.test b/tests/sendfile64.gen.test
new file mode 100755
index 0000000..1655dd3
--- /dev/null
+++ b/tests/sendfile64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sendfile64 -a29); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29
diff --git a/tests/sendfile64.test b/tests/sendfile64.test
deleted file mode 100755
index faa0525..0000000
--- a/tests/sendfile64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sendfile64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29
diff --git a/tests/set_mempolicy.gen.test b/tests/set_mempolicy.gen.test
new file mode 100755
index 0000000..f8c81c7
--- /dev/null
+++ b/tests/set_mempolicy.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (set_mempolicy -s3 -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s3 -a35
diff --git a/tests/set_mempolicy.test b/tests/set_mempolicy.test
deleted file mode 100755
index 0ed6666..0000000
--- a/tests/set_mempolicy.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check set_mempolicy syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s3 -a35
diff --git a/tests/set_ptracer_any.c b/tests/set_ptracer_any.c
index bc2f90c..3b4ea2c 100644
--- a/tests/set_ptracer_any.c
+++ b/tests/set_ptracer_any.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2013-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2013-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/setdomainname.gen.test b/tests/setdomainname.gen.test
new file mode 100755
index 0000000..2b12e08
--- /dev/null
+++ b/tests/setdomainname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setdomainname -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests/setdomainname.test b/tests/setdomainname.test
deleted file mode 100755
index 2159e7c..0000000
--- a/tests/setdomainname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setdomainname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests/setfsgid.gen.test b/tests/setfsgid.gen.test
new file mode 100755
index 0000000..caff401
--- /dev/null
+++ b/tests/setfsgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsgid -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests/setfsgid.test b/tests/setfsgid.test
deleted file mode 100755
index 0ae2b0a..0000000
--- a/tests/setfsgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests/setfsgid32.gen.test b/tests/setfsgid32.gen.test
new file mode 100755
index 0000000..fae29e0
--- /dev/null
+++ b/tests/setfsgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsgid32 -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests/setfsgid32.test b/tests/setfsgid32.test
deleted file mode 100755
index 9b7a2bf..0000000
--- a/tests/setfsgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests/setfsugid.c b/tests/setfsugid.c
index 79ba34d..7484db5 100644
--- a/tests/setfsugid.c
+++ b/tests/setfsugid.c
@@ -2,6 +2,7 @@
  * Check decoding of setfsuid/setfsgid/setfsuid32/setfsgid32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,7 +48,7 @@
 	const kernel_ulong_t tests[] = {
 		ugid,
 		0xffff0000U | ugid,
-		(kernel_ulong_t) 0xffffffff00000000ULL | ugid,
+		F8ILL_KULONG_MASK | ugid,
 		0xffffU,
 		-1U,
 		-1L,
diff --git a/tests/setfsuid.gen.test b/tests/setfsuid.gen.test
new file mode 100755
index 0000000..e4c4d20
--- /dev/null
+++ b/tests/setfsuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsuid -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests/setfsuid.test b/tests/setfsuid.test
deleted file mode 100755
index 18a1021..0000000
--- a/tests/setfsuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests/setfsuid32.gen.test b/tests/setfsuid32.gen.test
new file mode 100755
index 0000000..b6cd67d
--- /dev/null
+++ b/tests/setfsuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setfsuid32 -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests/setfsuid32.test b/tests/setfsuid32.test
deleted file mode 100755
index 2dce3cc..0000000
--- a/tests/setfsuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setfsuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests/setgid.gen.test b/tests/setgid.gen.test
new file mode 100755
index 0000000..f10add6
--- /dev/null
+++ b/tests/setgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/setgid.test b/tests/setgid.test
deleted file mode 100755
index a3a9004..0000000
--- a/tests/setgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests/setgid32.gen.test b/tests/setgid32.gen.test
new file mode 100755
index 0000000..26f194e
--- /dev/null
+++ b/tests/setgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgid32 -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests/setgid32.test b/tests/setgid32.test
deleted file mode 100755
index 11a87e1..0000000
--- a/tests/setgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests/setgroups.c b/tests/setgroups.c
index 1ec8333..5645c22 100644
--- a/tests/setgroups.c
+++ b/tests/setgroups.c
@@ -2,6 +2,7 @@
  * Check decoding of setgroups/setgroups32 syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -75,7 +76,7 @@
 	long rc = syscall(SYSCALL_NR, 0, 0);
 	printf("%s(0, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
-	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL, 0);
+	rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK, 0);
 	printf("%s(0, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, 1, 0);
@@ -91,7 +92,7 @@
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(const GID_TYPE, g1);
 	GID_TYPE *const g2 = tail_alloc(sizeof(*g2) * 2);
 	GID_TYPE *const g3 = tail_alloc(sizeof(*g3) * 3);
 
@@ -164,9 +165,7 @@
 		printuid(g3[1]);
 		printf(", ...]) = %s\n", errstr);
 
-		const unsigned long size =
-			(unsigned long) 0xffffffff00000000ULL | ngroups_max;
-		rc = syscall(SYSCALL_NR, size, g3);
+		rc = syscall(SYSCALL_NR, F8ILL_KULONG_MASK | ngroups_max, g3);
 		errstr = sprintrc(rc);
 		printf("%s(%d, [", SYSCALL_NAME, ngroups_max);
 		printuid(g3[0]);
diff --git a/tests/setgroups.gen.test b/tests/setgroups.gen.test
new file mode 100755
index 0000000..01ec2e7
--- /dev/null
+++ b/tests/setgroups.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgroups -s2 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2 -a17
diff --git a/tests/setgroups.test b/tests/setgroups.test
deleted file mode 100755
index 0dcc8f7..0000000
--- a/tests/setgroups.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgroups syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a17
diff --git a/tests/setgroups32.gen.test b/tests/setgroups32.gen.test
new file mode 100755
index 0000000..e9e70ad
--- /dev/null
+++ b/tests/setgroups32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setgroups32 -s2 -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s2 -a19
diff --git a/tests/setgroups32.test b/tests/setgroups32.test
deleted file mode 100755
index ee4750d..0000000
--- a/tests/setgroups32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setgroups32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -s2 -a19
diff --git a/tests/sethostname.gen.test b/tests/sethostname.gen.test
new file mode 100755
index 0000000..2827b1d
--- /dev/null
+++ b/tests/sethostname.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sethostname -a22); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22
diff --git a/tests/sethostname.test b/tests/sethostname.test
deleted file mode 100755
index 78f8c58..0000000
--- a/tests/sethostname.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sethostname syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a22
diff --git a/tests/setns.gen.test b/tests/setns.gen.test
new file mode 100755
index 0000000..45fcc60
--- /dev/null
+++ b/tests/setns.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setns -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests/setns.test b/tests/setns.test
deleted file mode 100755
index e9a905a..0000000
--- a/tests/setns.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests/setregid.gen.test b/tests/setregid.gen.test
new file mode 100755
index 0000000..0125d7a
--- /dev/null
+++ b/tests/setregid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setregid -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests/setregid.test b/tests/setregid.test
deleted file mode 100755
index 101c7bd..0000000
--- a/tests/setregid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setregid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests/setregid32.gen.test b/tests/setregid32.gen.test
new file mode 100755
index 0000000..24f1505
--- /dev/null
+++ b/tests/setregid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setregid32 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/setregid32.test b/tests/setregid32.test
deleted file mode 100755
index e57e66c..0000000
--- a/tests/setregid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setregid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests/setresgid.gen.test b/tests/setresgid.gen.test
new file mode 100755
index 0000000..ca5bc6b
--- /dev/null
+++ b/tests/setresgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresgid -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests/setresgid.test b/tests/setresgid.test
deleted file mode 100755
index 5a69574..0000000
--- a/tests/setresgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresgid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests/setresgid32.gen.test b/tests/setresgid32.gen.test
new file mode 100755
index 0000000..a5edb90
--- /dev/null
+++ b/tests/setresgid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresgid32 -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests/setresgid32.test b/tests/setresgid32.test
deleted file mode 100755
index 528b2c9..0000000
--- a/tests/setresgid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresgid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests/setresuid.gen.test b/tests/setresuid.gen.test
new file mode 100755
index 0000000..a6e0664
--- /dev/null
+++ b/tests/setresuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresuid -a19); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19
diff --git a/tests/setresuid.test b/tests/setresuid.test
deleted file mode 100755
index f1219e0..0000000
--- a/tests/setresuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a19
diff --git a/tests/setresuid32.gen.test b/tests/setresuid32.gen.test
new file mode 100755
index 0000000..3fbf36b
--- /dev/null
+++ b/tests/setresuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setresuid32 -a21); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests/setresuid32.test b/tests/setresuid32.test
deleted file mode 100755
index 942a3a6..0000000
--- a/tests/setresuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setresuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests/setreuid.gen.test b/tests/setreuid.gen.test
new file mode 100755
index 0000000..4c3dc93
--- /dev/null
+++ b/tests/setreuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setreuid -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests/setreuid.test b/tests/setreuid.test
deleted file mode 100755
index b6db3c1..0000000
--- a/tests/setreuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setreuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a15
diff --git a/tests/setreuid32.gen.test b/tests/setreuid32.gen.test
new file mode 100755
index 0000000..d179053
--- /dev/null
+++ b/tests/setreuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setreuid32 -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/setreuid32.test b/tests/setreuid32.test
deleted file mode 100755
index 23323d4..0000000
--- a/tests/setreuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setreuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a17
diff --git a/tests/setrlimit.gen.test b/tests/setrlimit.gen.test
new file mode 100755
index 0000000..dfe2da3
--- /dev/null
+++ b/tests/setrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setrlimit -a27); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/setrlimit.test b/tests/setrlimit.test
deleted file mode 100755
index 7920608..0000000
--- a/tests/setrlimit.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of getrlimit/ugetrlimit/setrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a27
diff --git a/tests/setuid.gen.test b/tests/setuid.gen.test
new file mode 100755
index 0000000..98d470f
--- /dev/null
+++ b/tests/setuid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setuid -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/setuid.test b/tests/setuid.test
deleted file mode 100755
index 9279233..0000000
--- a/tests/setuid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setuid syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests/setuid32.gen.test b/tests/setuid32.gen.test
new file mode 100755
index 0000000..7d15495
--- /dev/null
+++ b/tests/setuid32.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (setuid32 -a12); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12
diff --git a/tests/setuid32.test b/tests/setuid32.test
deleted file mode 100755
index 7998392..0000000
--- a/tests/setuid32.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setuid32 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12
diff --git a/tests/shmxt.gen.test b/tests/shmxt.gen.test
new file mode 100755
index 0000000..dd9d35f
--- /dev/null
+++ b/tests/shmxt.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (shmxt -a11 -e trace='/(osf_)?shmat,shmdt'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace='/(osf_)?shmat,shmdt'
diff --git a/tests/shmxt.test b/tests/shmxt.test
deleted file mode 100755
index 3757cfa..0000000
--- a/tests/shmxt.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check shmat and shmdt syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-case "$STRACE_ARCH" in
-	alpha) shmat=osf_shmat ;;
-	*) shmat=shmat ;;
-esac
-
-run_strace_match_diff -e trace=$shmat,shmdt -a11
diff --git a/tests/shutdown.gen.test b/tests/shutdown.gen.test
new file mode 100755
index 0000000..3412513
--- /dev/null
+++ b/tests/shutdown.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (shutdown -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests/shutdown.test b/tests/shutdown.test
deleted file mode 100755
index 22f0d5a..0000000
--- a/tests/shutdown.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of shutdown syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests/siginfo.gen.test b/tests/siginfo.gen.test
new file mode 100755
index 0000000..33792b9
--- /dev/null
+++ b/tests/siginfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (siginfo -e trace=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=none
diff --git a/tests/siginfo.test b/tests/siginfo.test
deleted file mode 100755
index 725f714..0000000
--- a/tests/siginfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check SIGCHLD siginfo_t decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=none
diff --git a/tests/signal_receive.gen.test b/tests/signal_receive.gen.test
new file mode 100755
index 0000000..79e8fb8
--- /dev/null
+++ b/tests/signal_receive.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signal_receive -a16 -e trace=kill); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16 -e trace=kill
diff --git a/tests/signal_receive.test b/tests/signal_receive.test
deleted file mode 100755
index 9685b66..0000000
--- a/tests/signal_receive.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check whether strace traces signals properly.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a16 -e trace=kill
diff --git a/tests/signalfd4.c b/tests/signalfd4.c
index 47e49b5..4391b92 100644
--- a/tests/signalfd4.c
+++ b/tests/signalfd4.c
@@ -2,6 +2,7 @@
  * Check decoding of signalfd4 syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +32,7 @@
 #include <fcntl.h>
 #include <asm/unistd.h>
 
-#if defined __NR_rt_sigprocmask \
- && defined HAVE_SYS_SIGNALFD_H \
+#if defined HAVE_SYS_SIGNALFD_H \
  && defined HAVE_SIGNALFD \
  && defined O_CLOEXEC
 
@@ -41,24 +41,6 @@
 # include <unistd.h>
 # include <sys/signalfd.h>
 
-static unsigned int
-get_sigset_size(void)
-{
-	const unsigned int big_size = 1024 / 8;
-	unsigned int set_size;
-
-	for (set_size = big_size; set_size; set_size >>= 1) {
-		if (!syscall(__NR_rt_sigprocmask, SIG_SETMASK,
-			     NULL, NULL, set_size))
-			break;
-	}
-
-	if (!set_size)
-		perror_msg_and_fail("rt_sigprocmask");
-
-	return set_size;
-}
-
 int
 main(void)
 {
@@ -80,7 +62,6 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("__NR_rt_sigprocmask && HAVE_SYS_SIGNALFD_H"
-		    " && HAVE_SIGNALFD && O_CLOEXEC")
+SKIP_MAIN_UNDEFINED("HAVE_SYS_SIGNALFD_H && HAVE_SIGNALFD && O_CLOEXEC")
 
 #endif
diff --git a/tests/signalfd4.gen.test b/tests/signalfd4.gen.test
new file mode 100755
index 0000000..e91a9fe
--- /dev/null
+++ b/tests/signalfd4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signalfd4 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/signalfd4.test b/tests/signalfd4.test
deleted file mode 100755
index a615a5b..0000000
--- a/tests/signalfd4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of signalfd4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/sigreturn.c b/tests/sigreturn.c
index dace040..ff9a59f 100644
--- a/tests/sigreturn.c
+++ b/tests/sigreturn.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,23 +26,38 @@
  */
 
 #include "tests.h"
-#include <stdlib.h>
-#include <signal.h>
+#include <asm/unistd.h>
 
-#ifdef ASM_SIGRTMIN
-# define RT_0 ASM_SIGRTMIN
-#else
-/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
-# define RT_0 32
+#if defined __powerpc64__ \
+ || (defined __sparc__ && defined __arch64__)
+/* Old sigreturn is defined but not implemented in the kernel. */
+# undef __NR_sigreturn
 #endif
 
-static void handler(int sig)
+#ifdef __NR_sigreturn
+
+# include <signal.h>
+# include <stdio.h>
+# include <stdlib.h>
+
+# ifdef ASM_SIGRTMIN
+#  define RT_0 ASM_SIGRTMIN
+# else
+/* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */
+#  define RT_0 32
+# endif
+
+static void
+handler(int sig)
 {
 }
 
-int main(void) {
-	sigset_t set;
+int
+main(void)
+{
+	static sigset_t set;
 	sigemptyset(&set);
+	sigaddset(&set, SIGINT);
 	sigaddset(&set, SIGUSR2);
 	sigaddset(&set, SIGCHLD);
 	sigaddset(&set, RT_0 +  3);
@@ -50,8 +65,28 @@
 	sigaddset(&set, RT_0 +  5);
 	sigaddset(&set, RT_0 + 26);
 	sigaddset(&set, RT_0 + 27);
-	sigprocmask(SIG_SETMASK, &set, NULL);
-	signal(SIGUSR1, handler);
-	raise(SIGUSR1);
+	if (sigprocmask(SIG_SETMASK, &set, NULL))
+		perror_msg_and_fail("sigprocmask");
+	sigemptyset(&set);
+
+	/* This should result to old sigreturn. */
+	if (signal(SIGUSR1, handler) == SIG_ERR)
+		perror_msg_and_fail("sigaction");
+
+	if (raise(SIGUSR1))
+		perror_msg_and_fail("raise");
+
+	static const char *const sigs =
+		(SIGUSR2 < SIGCHLD) ? "INT USR2 CHLD" : "INT CHLD USR2";
+	static const char *const rt_sigs = "RT_3 RT_4 RT_5 RT_26 RT_27";
+	printf("sigreturn({mask=[%s %s]}) = 0\n", sigs, rt_sigs);
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigreturn")
+
+#endif
diff --git a/tests/sigreturn.gen.test b/tests/sigreturn.gen.test
new file mode 100755
index 0000000..f317e89
--- /dev/null
+++ b/tests/sigreturn.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigreturn -esignal='!USR1'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal='!USR1'
diff --git a/tests/sigreturn.test b/tests/sigreturn.test
deleted file mode 100755
index f9a612b..0000000
--- a/tests/sigreturn.test
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-#
-# Check rt_sigprocmask and sigreturn/rt_sigreturn decoding.
-#
-# Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-# 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_prog
-run_strace -esignal $args
-
-mask='\[(USR2 CHLD|CHLD USR2) RT_3 RT_4 RT_5 RT_26 RT_27\]'
-rt_sigprocmask='rt_sigprocmask\(SIG_SETMASK, '"$mask"', NULL, [[:digit:]]+\) += 0'
-osf_sigprocmask='osf_sigprocmask\(SIG_SETMASK, '"$mask"'\) += 0 +\(old mask \[[^]]*\]\)'
-EXPECTED="$LOG.expected"
-
-cat > "$EXPECTED" << __EOF__
-$rt_sigprocmask|$osf_sigprocmask
-(rt_)?sigreturn\\((\\{mask=$mask\\})?\\) += 0
-__EOF__
-
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
-
-exit 0
diff --git a/tests/sigsuspend.c b/tests/sigsuspend.c
new file mode 100644
index 0000000..dac6890
--- /dev/null
+++ b/tests/sigsuspend.c
@@ -0,0 +1,117 @@
+/*
+ * Check decoding of sigsuspend syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_sigsuspend
+
+# include <assert.h>
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+# ifdef MIPS
+#  define SIGNAL_MASK_BY_REF 1
+# else
+#  define SIGNAL_MASK_BY_REF 0
+# endif
+
+static long
+k_sigsuspend(const kernel_ulong_t arg1,
+	     const kernel_ulong_t arg2,
+	     const kernel_ulong_t arg3)
+{
+	return syscall(__NR_sigsuspend, arg1, arg2, arg3);
+}
+
+static int signo;
+static const char *sigtxt[] = {
+	[SIGUSR1] = "USR1",
+	[SIGUSR2] = "USR2"
+};
+
+static void
+handler(int i)
+{
+	signo = i;
+}
+
+int
+main(void)
+{
+	union {
+		sigset_t libc_mask;
+		unsigned long old_mask;
+	} u;
+
+	sigemptyset(&u.libc_mask);
+	sigaddset(&u.libc_mask, SIGUSR1);
+	sigaddset(&u.libc_mask, SIGUSR2);
+	if (sigprocmask(SIG_SETMASK, &u.libc_mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+
+	const struct sigaction sa = { .sa_handler = handler };
+	if (sigaction(SIGUSR1, &sa, NULL) || sigaction(SIGUSR2, &sa, NULL))
+		perror_msg_and_fail("sigaction");
+
+	raise(SIGUSR1);
+	raise(SIGUSR2);
+
+	u.old_mask = -1UL;
+	sigdelset(&u.libc_mask, SIGUSR1);
+	const unsigned long mask1 = u.old_mask;
+
+	u.old_mask = -1UL;
+	sigdelset(&u.libc_mask, SIGUSR2);
+	const unsigned long mask2 = u.old_mask;
+
+#if SIGNAL_MASK_BY_REF
+	k_sigsuspend((uintptr_t) &mask1, 0xdeadbeef, (uintptr_t) &mask2);
+#else
+	k_sigsuspend(mask1, 0xdeadbeef, mask2);
+#endif
+	if (EINTR != errno)
+		perror_msg_and_skip("sigsuspend");
+
+	printf("sigsuspend(~[%s]) = ? ERESTARTNOHAND"
+	       " (To be restarted if no handler)\n", sigtxt[signo]);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigsuspend")
+
+#endif
diff --git a/tests/sigsuspend.gen.test b/tests/sigsuspend.gen.test
new file mode 100755
index 0000000..afd0207
--- /dev/null
+++ b/tests/sigsuspend.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigsuspend -a19 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a19 -esignal=none
diff --git a/tests/skip_unavailable.c b/tests/skip_unavailable.c
new file mode 100644
index 0000000..074fc3a
--- /dev/null
+++ b/tests/skip_unavailable.c
@@ -0,0 +1,13 @@
+#include "tests.h"
+
+#include <sys/stat.h>
+#include <unistd.h>
+
+void
+skip_if_unavailable(const char *const path)
+{
+	struct stat st;
+
+	if (stat(path, &st))
+		perror_msg_and_skip("stat: %s", path);
+}
diff --git a/tests/socketcall.gen.test b/tests/socketcall.gen.test
new file mode 100755
index 0000000..95c45fd
--- /dev/null
+++ b/tests/socketcall.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (socketcall -a20); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20
diff --git a/tests/socketcall.test b/tests/socketcall.test
deleted file mode 100755
index 959bc83..0000000
--- a/tests/socketcall.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of socketcall syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20
diff --git a/tests/sockname.c b/tests/sockname.c
index c5072ca..9bab8ed 100644
--- a/tests/sockname.c
+++ b/tests/sockname.c
@@ -2,6 +2,7 @@
  * Check decoding of sockname family syscalls.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -74,7 +75,7 @@
 static void
 test_sockname_syscall(const int fd)
 {
-	socklen_t *const plen = tail_alloc(sizeof(*plen));
+	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, plen);
 	*plen = sizeof(struct sockaddr_un);
 	struct sockaddr_un *addr = tail_alloc(*plen);
 
diff --git a/tests/splice.c b/tests/splice.c
index b6f2525..cf07c80 100644
--- a/tests/splice.c
+++ b/tests/splice.c
@@ -2,6 +2,7 @@
  * This file is part of splice strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +41,8 @@
 {
 	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));
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_in);
+	TAIL_ALLOC_OBJECT_CONST_PTR(long long int, off_out);
 	*off_in = 0xdeadbef1facefed1ULL;
 	*off_out = 0xdeadbef2facefed2ULL;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
diff --git a/tests/splice.gen.test b/tests/splice.gen.test
new file mode 100755
index 0000000..83c8406
--- /dev/null
+++ b/tests/splice.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (splice ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/splice.test b/tests/splice.test
deleted file mode 100755
index cc5c327..0000000
--- a/tests/splice.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check splice syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/stat.c b/tests/stat.c
index d4ca7b0..79e9175 100644
--- a/tests/stat.c
+++ b/tests/stat.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/stat.gen.test b/tests/stat.gen.test
new file mode 100755
index 0000000..13ccd0b
--- /dev/null
+++ b/tests/stat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (stat -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/stat.test b/tests/stat.test
deleted file mode 100755
index ba8938c..0000000
--- a/tests/stat.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check stat syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/stat64.c b/tests/stat64.c
index 782de33..74927de 100644
--- a/tests/stat64.c
+++ b/tests/stat64.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/stat64.gen.test b/tests/stat64.gen.test
new file mode 100755
index 0000000..f49df37
--- /dev/null
+++ b/tests/stat64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (stat64 -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/stat64.test b/tests/stat64.test
deleted file mode 100755
index abcfb9e..0000000
--- a/tests/stat64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check stat64 syscall decoding.
-
-. "${srcdir=.}/statx.sh"
diff --git a/tests/statfs.expected b/tests/statfs.expected
deleted file mode 100644
index 11e9f0b..0000000
--- a/tests/statfs.expected
+++ /dev/null
@@ -1 +0,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/statfs.gen.test b/tests/statfs.gen.test
new file mode 100755
index 0000000..19b26dd
--- /dev/null
+++ b/tests/statfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statfs -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/statfs.test b/tests/statfs.test
deleted file mode 100755
index 6075576..0000000
--- a/tests/statfs.test
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# Check statfs syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-# this test probes /proc/self/status
-[ -f /proc/self/status ] ||
-	framework_skip_ '/proc/self/status is not available'
-
-run_strace_match_diff -a17
diff --git a/tests/statfs64.gen.test b/tests/statfs64.gen.test
new file mode 100755
index 0000000..66409f9
--- /dev/null
+++ b/tests/statfs64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statfs64 -a23); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23
diff --git a/tests/statfs64.test b/tests/statfs64.test
deleted file mode 100755
index 9c0aa27..0000000
--- a/tests/statfs64.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check statfs64 syscall decoding.
-
-. "${srcdir=.}/statfs.test"
diff --git a/tests/statx.c b/tests/statx.c
new file mode 100644
index 0000000..f36fb0e
--- /dev/null
+++ b/tests/statx.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_statx
+
+# include <linux/stat.h>
+# include "xlat.h"
+# include "xlat/statx_masks.h"
+# include "xlat/statx_attrs.h"
+# include "xlat/at_statx_sync_types.h"
+
+# define IS_STATX 1
+# define TEST_SYSCALL_STR "statx"
+# define STRUCT_STAT struct statx
+# define STRUCT_STAT_STR "struct statx"
+# define STRUCT_STAT_IS_STAT64 0
+
+static unsigned    TEST_SYSCALL_STATX_FLAGS     = AT_STATX_SYNC_AS_STAT;
+static const char *TEST_SYSCALL_STATX_FLAGS_STR = "AT_STATX_SYNC_AS_STAT";
+static unsigned    TEST_SYSCALL_STATX_MASK      = STATX_ALL;
+static const char *TEST_SYSCALL_STATX_MASK_STR  = "STATX_ALL";
+
+# define TEST_SYSCALL_INVOKE(sample, pst) \
+	syscall(__NR_statx, AT_FDCWD, sample, TEST_SYSCALL_STATX_FLAGS, \
+	        TEST_SYSCALL_STATX_MASK, pst)
+# define PRINT_SYSCALL_HEADER(sample) \
+	do { \
+		int saved_errno = errno; \
+		printf("%s(AT_FDCWD, \"%s\", %s, %s, ", \
+		       TEST_SYSCALL_STR, sample, TEST_SYSCALL_STATX_FLAGS_STR, \
+		       TEST_SYSCALL_STATX_MASK_STR)
+# define PRINT_SYSCALL_FOOTER(rc) \
+		errno = saved_errno; \
+		printf(") = %s\n", sprintrc(rc)); \
+	} while (0)
+
+# include "xstatx.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_statx")
+
+#endif
diff --git a/tests/statx.gen.test b/tests/statx.gen.test
new file mode 100755
index 0000000..bff3e3f
--- /dev/null
+++ b/tests/statx.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (statx -a32 -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a32 -v -P stat.sample -P /dev/full
diff --git a/tests/statx.sh b/tests/statx.sh
deleted file mode 100755
index a630193..0000000
--- a/tests/statx.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of stat family syscalls.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -P $NAME.sample -P /dev/full -a32
diff --git a/tests/strace-C.test b/tests/strace-C.test
index ccca9a0..359ddbd 100755
--- a/tests/strace-C.test
+++ b/tests/strace-C.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -a24 -C -enanosleep ./sleep 1
+run_prog ../sleep 0
+run_strace -a24 -C -enanosleep ../sleep 1
 match_grep
diff --git a/tests/strace-E.expected b/tests/strace-E.expected
index d7823b7..3ae2c28 100644
--- a/tests/strace-E.expected
+++ b/tests/strace-E.expected
@@ -1 +1 @@
-execve\("\./sleep", \["\./sleep", "0"\], \[.*"option_E_var=OPTION_E_VAL".*\]\) = 0
+execve\("\.\./sleep", \["\.\./sleep", "0"\], \[.*"option_E_var=OPTION_E_VAL".*\]\) = 0
diff --git a/tests/strace-E.test b/tests/strace-E.test
index d76ec3f..843f27a 100755
--- a/tests/strace-E.test
+++ b/tests/strace-E.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0 > /dev/null
+run_prog ../sleep 0 > /dev/null
 run_strace -E option_E_var=OPTION_E_VAL -v $args
 match_grep
diff --git a/tests/strace-S.test b/tests/strace-S.test
index 3ea315c..64e4a41 100755
--- a/tests/strace-S.test
+++ b/tests/strace-S.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./readv > /dev/null
+run_prog ../readv > /dev/null
 
 test_c()
 {
@@ -13,7 +13,7 @@
 	sortopts="$1"; shift
 	sedexpr="$1"; shift
 
-	run_strace -c -w -S "$sortby" ./readv > /dev/null
+	run_strace -c -w -S "$sortby" ../readv > /dev/null
 	sed -r -n -e "$sedexpr" < "$LOG" > "$OUT"
 
 	[ -s "$OUT" ] ||
@@ -28,5 +28,3 @@
 c='[[:space:]]+([^[:space:]]+)'
 test_c calls '-n -r' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'[[:space:]].*/\4/p'
 test_c name '' '/^[[:space:]]+[0-9]/ s/^'"$c$c$c$c"'([[:space:]]+[0-9]+)?'"$c"'$/\6/p'
-
-rm -f "$OUT"
diff --git a/tests/strace-T.test b/tests/strace-T.test
index 7ab84a7..a6dac4e 100755
--- a/tests/strace-T.test
+++ b/tests/strace-T.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -a24 -T -enanosleep ./sleep 1
+run_prog ../sleep 0
+run_strace -a24 -T -enanosleep ../sleep 1
 match_grep
diff --git a/tests/strace-V.test b/tests/strace-V.test
index 9a051e0..d5c3ac0 100755
--- a/tests/strace-V.test
+++ b/tests/strace-V.test
@@ -10,15 +10,22 @@
 
 getval()
 {
-	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' ../config.h
+	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' \
+		../../config.h
+}
+
+config_year=$(getval COPYRIGHT_YEAR)
+
+[ "$year" -ge "$config_year" ] && [ "$config_year" -ge 2017 ] || {
+	echo >&2 "The year derived from config.h (${config_year}) does not pass sanity checks."
+	exit 1
 }
 
 cat > "$EXP" << __EOF__
 $(getval PACKAGE_NAME) -- version $(getval PACKAGE_VERSION)
-Copyright (C) 1991-$year The strace developers <$(getval PACKAGE_URL)>.
+Copyright (C) 1991-${config_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"
+match_diff "$LOG" "$EXP"
diff --git a/tests/strace-ff.test b/tests/strace-ff.test
index 2ce06f1..7107527 100755
--- a/tests/strace-ff.test
+++ b/tests/strace-ff.test
@@ -7,7 +7,7 @@
 run_prog_skip_if_failed \
 	kill -0 $$
 
-./set_ptracer_any ./sleep 1 > "$OUT" &
+../set_ptracer_any ../sleep 1 > "$OUT" &
 tracee_pid=$!
 
 while ! [ -s "$OUT" ]; do
@@ -15,7 +15,6 @@
 		fail_ 'set_ptracer_any sleep failed'
 done
 
-rm -f "$LOG".*
 run_strace -a14 -eexit_group -ff -p $tracee_pid
 
 # check that output matches
@@ -25,5 +24,3 @@
 set -- "$LOG".*
 [ "$LOG.$tracee_pid" = "$*" ] ||
 	fail_ "too many output files: $*"
-
-rm -f "$OUT" "$LOG.$tracee_pid"
diff --git a/tests/strace-k.test b/tests/strace-k.test
index d5e8ed2..e68951e 100755
--- a/tests/strace-k.test
+++ b/tests/strace-k.test
@@ -4,6 +4,7 @@
 #
 # Copyright (c) 2014 Masatake YAMATO <yamato@redhat.com>
 # Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -37,7 +38,7 @@
 check_prog sed
 check_prog tr
 
-run_prog ./stack-fcall
+run_prog ../stack-fcall
 run_strace -e getpid -k $args
 
 expected='getpid f3 f2 f1 f0 main '
diff --git a/tests/strace-r.expected b/tests/strace-r.expected
index 8009c35..2a5b977 100644
--- a/tests/strace-r.expected
+++ b/tests/strace-r.expected
@@ -1,2 +1,2 @@
-[ ]{5}0\.0{6} execve\("\./sleep", \["\./sleep", "1"\], \[/\* [[:digit:]]+ vars \*/\]\) = 0
+[ ]{5}0\.0{6} execve\("\.\./sleep", \["\.\./sleep", "1"\], 0x[[:xdigit:]]* /\* [[:digit:]]* vars \*/\) = 0
 [ ]{5}(1\.[01]|0\.9)[[:digit:]]{5} \+\+\+ exited with 0 \+\+\+
diff --git a/tests/strace-r.test b/tests/strace-r.test
index 4ba01f1..00649b5 100755
--- a/tests/strace-r.test
+++ b/tests/strace-r.test
@@ -4,6 +4,6 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./sleep 0
-run_strace -r -eexecve ./sleep 1
+run_prog ../sleep 0
+run_strace -r -eexecve ../sleep 1
 match_grep
diff --git a/tests/strace-t.test b/tests/strace-t.test
index 1d213e6..38070f3 100755
--- a/tests/strace-t.test
+++ b/tests/strace-t.test
@@ -5,16 +5,14 @@
 . "${srcdir=.}/init.sh"
 
 run_prog_skip_if_failed date +%T > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 t0="$(date +%T)"
 run_strace -t -eexecve $args
 t1="$(date +%T)"
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
-($t0|$t1) execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+cat > "$EXP" << __EOF__
+($t0|$t1) execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
+match_grep "$LOG" "$EXP"
diff --git a/tests/strace-tt.test b/tests/strace-tt.test
index 3f80001..3285655 100755
--- a/tests/strace-tt.test
+++ b/tests/strace-tt.test
@@ -6,7 +6,7 @@
 
 run_prog_skip_if_failed date +%s > "$LOG"
 run_prog_skip_if_failed date +%T --date "@$(cat "$LOG")" > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 s0="$(date +%s)"
 run_strace -tt -eexecve $args
@@ -21,8 +21,7 @@
 done
 
 cat > "$EXP" << __EOF__
-($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+($t_reg)\\.[[:digit:]]{6} execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0
 __EOF__
 
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests/strace-ttt.test b/tests/strace-ttt.test
index 4439715..7d4435b 100755
--- a/tests/strace-ttt.test
+++ b/tests/strace-ttt.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog_skip_if_failed date +%s > /dev/null
-run_prog ./sleep 0
+run_prog ../sleep 0
 
 s0="$(date +%s)"
 run_strace -ttt -eexecve $args
@@ -19,8 +19,7 @@
 done
 
 cat > "$EXP" << __EOF__
-($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+($t_reg)\\.[[:digit:]]{6} execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]+ vars \\*/\\) = 0
 __EOF__
 
 match_grep "$LOG" "$EXP"
-rm -f "$EXP"
diff --git a/tests/struct_flock.c b/tests/struct_flock.c
index 34cf58e..428c038 100644
--- a/tests/struct_flock.c
+++ b/tests/struct_flock.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,7 +33,6 @@
 #include "flock.h"
 
 #define FILE_LEN 4096
-#define EINVAL_STR "-1 EINVAL (Invalid argument)"
 
 #define TEST_FLOCK_EINVAL(cmd) test_flock_einval(cmd, #cmd)
 
@@ -45,9 +45,10 @@
 static long
 invoke_test_syscall(const unsigned int cmd, void *const p)
 {
-	const unsigned long op = (unsigned long) 0xffffffff00000000ULL | cmd;
+	const kernel_ulong_t fd = F8ILL_KULONG_MASK;
+	const kernel_ulong_t op = F8ILL_KULONG_MASK | cmd;
 
-	return syscall(TEST_SYSCALL_NR, 0, op, (unsigned long) p);
+	return syscall(TEST_SYSCALL_NR, fd, op, (unsigned long) p);
 }
 
 static void
@@ -58,10 +59,10 @@
 		.l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL,
 		.l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL
 	};
-	invoke_test_syscall(cmd, &fl);
+	long rc = invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
-	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, EINVAL_STR);
+	       (intmax_t) fl.l_start, (intmax_t) fl.l_len, sprintrc(rc));
 }
 
 static void
@@ -77,7 +78,7 @@
 	long rc = invoke_test_syscall(F_SETLK, &fl);
 	printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
 	       ", l_start=0, l_len=%d}) = %s\n",
-	       TEST_SYSCALL_STR, FILE_LEN, rc ? EINVAL_STR : "0");
+	       TEST_SYSCALL_STR, FILE_LEN, sprintrc(rc));
 	if (rc)
 		return;
 
diff --git a/tests/sun_path.test b/tests/sun_path.test
index 728328a..f0b7a02 100755
--- a/tests/sun_path.test
+++ b/tests/sun_path.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./net-accept-connect 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
+run_prog ../net-accept-connect 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
 run_strace_merge -ebind,connect,getsockname $args
 match_grep
 
diff --git a/tests/swap.gen.test b/tests/swap.gen.test
new file mode 100755
index 0000000..4ca7891
--- /dev/null
+++ b/tests/swap.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (swap -a23 -e trace=swapon,swapoff); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23 -e trace=swapon,swapoff
diff --git a/tests/swap.test b/tests/swap.test
deleted file mode 100755
index a30e1fd..0000000
--- a/tests/swap.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check swapon and swapoff syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a23 -e trace=swapon,swapoff
diff --git a/tests/sxetmask.c b/tests/sxetmask.c
new file mode 100644
index 0000000..0ede9ad
--- /dev/null
+++ b/tests/sxetmask.c
@@ -0,0 +1,124 @@
+/*
+ * Check decoding of sgetmask and ssetmask syscalls.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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_sgetmask && defined __NR_ssetmask
+
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+static long
+k_sgetmask(void)
+{
+	return syscall(__NR_sgetmask);
+}
+
+static long
+k_ssetmask(const kernel_ulong_t arg)
+{
+	return syscall(__NR_ssetmask, arg);
+}
+
+int
+main(void)
+{
+	union {
+		sigset_t libc_mask;
+		unsigned long old_mask;
+	} uset, uget;
+	long rc;
+
+	/*
+	 * Block, reset, and raise SIGUSR1.
+	 * If a subsequent ssetmask call fails to set the proper mask,
+	 * the process will be terminated by SIGUSR1.
+	 */
+	sigemptyset(&uset.libc_mask);
+	sigaddset(&uset.libc_mask, SIGUSR1);
+	if (sigprocmask(SIG_SETMASK, &uset.libc_mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+	if (signal(SIGUSR1, SIG_DFL) == SIG_ERR)
+		perror_msg_and_fail("signal");
+	raise(SIGUSR1);
+
+	sigaddset(&uset.libc_mask, SIGUSR2);
+	rc = k_ssetmask((kernel_ulong_t) 0xfacefeed00000000ULL | uset.old_mask);
+	if (rc == -1L) {
+		printf("ssetmask([USR1 USR2]) = %s\n", sprintrc(rc));
+	} else {
+		printf("ssetmask([USR1 USR2]) = %#lx (old mask [USR1])\n", rc);
+		/*
+		 * Use a regular sigprocmask call to check the value
+		 * returned by the ssetmask call being tested.
+		 */
+		if (sigprocmask(SIG_SETMASK, NULL, &uget.libc_mask))
+			perror_msg_and_fail("sigprocmask");
+		if (uset.old_mask != uget.old_mask)
+			error_msg_and_fail("sigprocmask returned %#lx"
+					   " instead of %#lx",
+					   uget.old_mask, uset.old_mask);
+	}
+
+	rc = k_sgetmask();
+	if (rc == -1L) {
+		printf("sgetmask() = %s\n", sprintrc(rc));
+	} else {
+		printf("sgetmask() = %#lx (mask [USR1 USR2])\n", rc);
+		if (uget.old_mask != (unsigned long) rc)
+			error_msg_and_fail("sigprocmask returned %#lx",
+					   uget.old_mask);
+
+		if (sizeof(long) > 4) {
+			sigaddset(&uset.libc_mask, 32 + 27);
+			if (sigprocmask(SIG_SETMASK, &uset.libc_mask, NULL))
+				perror_msg_and_fail("sigprocmask");
+			rc = k_sgetmask();
+			printf("sgetmask() = %#lx"
+			       " (mask [USR1 USR2 RT_27])\n", rc);
+			if (uset.old_mask != (unsigned long) rc)
+				error_msg_and_fail("sigprocmask set %#lx",
+						   uset.old_mask);
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sgetmask && __NR_ssetmask")
+
+#endif
diff --git a/tests/sxetmask.gen.test b/tests/sxetmask.gen.test
new file mode 100755
index 0000000..fea9e4a
--- /dev/null
+++ b/tests/sxetmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sxetmask -a11 -e trace=sgetmask,ssetmask); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=sgetmask,ssetmask
diff --git a/tests/symlink.c b/tests/symlink.c
index 72cb490..3e01cf2 100644
--- a/tests/symlink.c
+++ b/tests/symlink.c
@@ -7,14 +7,12 @@
 # include <unistd.h>
 
 int
-main(void)
+main(int ac, char **av)
 {
-	static const char sample_1[] = "symlink_new";
-	static const char sample_2[] = "symlink";
+	static const char sample[] = "symlink.sample";
 
-	long rc = syscall(__NR_symlink, sample_1, sample_2);
-	printf("symlink(\"%s\", \"%s\") = %ld %s (%m)\n",
-	       sample_1, sample_2, rc, errno2name());
+	long rc = syscall(__NR_symlink, sample, av[0]);
+	printf("symlink(\"%s\", \"%s\") = %s\n", sample, av[0], sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/symlink.gen.test b/tests/symlink.gen.test
new file mode 100755
index 0000000..f41668c
--- /dev/null
+++ b/tests/symlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (symlink -a34); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34
diff --git a/tests/symlink.test b/tests/symlink.test
deleted file mode 100755
index 79b93ba..0000000
--- a/tests/symlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check symlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a34
diff --git a/tests/symlinkat.gen.test b/tests/symlinkat.gen.test
new file mode 100755
index 0000000..39e624a
--- /dev/null
+++ b/tests/symlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (symlinkat ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/symlinkat.test b/tests/symlinkat.test
deleted file mode 100755
index d8501ff..0000000
--- a/tests/symlinkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check symlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/sync.gen.test b/tests/sync.gen.test
new file mode 100755
index 0000000..4aaf8c7
--- /dev/null
+++ b/tests/sync.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync -a7); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a7
diff --git a/tests/sync.test b/tests/sync.test
deleted file mode 100755
index f6bf6c8..0000000
--- a/tests/sync.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a7
diff --git a/tests/sync_file_range.gen.test b/tests/sync_file_range.gen.test
new file mode 100755
index 0000000..0693c12
--- /dev/null
+++ b/tests/sync_file_range.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync_file_range ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/sync_file_range.test b/tests/sync_file_range.test
deleted file mode 100755
index 6aa86d6..0000000
--- a/tests/sync_file_range.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync_file_range syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/sync_file_range2.gen.test b/tests/sync_file_range2.gen.test
new file mode 100755
index 0000000..23046b6
--- /dev/null
+++ b/tests/sync_file_range2.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sync_file_range2 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/sync_file_range2.test b/tests/sync_file_range2.test
deleted file mode 100755
index 0d9945e..0000000
--- a/tests/sync_file_range2.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check sync_file_range2 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/sysinfo.c b/tests/sysinfo.c
index 377bdc9..b4b348c 100644
--- a/tests/sysinfo.c
+++ b/tests/sysinfo.c
@@ -3,6 +3,7 @@
  *
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 	sysinfo(NULL);
 	printf("sysinfo(NULL) = -1 EFAULT (%m)\n");
 
-	struct sysinfo * const si = tail_alloc(sizeof(*si));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct sysinfo, si);
 
 	if (sysinfo(si))
 		perror_msg_and_skip("sysinfo");
diff --git a/tests/sysinfo.gen.test b/tests/sysinfo.gen.test
new file mode 100755
index 0000000..e6469d5
--- /dev/null
+++ b/tests/sysinfo.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sysinfo -a14); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14
diff --git a/tests/sysinfo.test b/tests/sysinfo.test
deleted file mode 100755
index 806d8b6..0000000
--- a/tests/sysinfo.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of sysinfo syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14
diff --git a/tests/syslog.gen.test b/tests/syslog.gen.test
new file mode 100755
index 0000000..5423d5b
--- /dev/null
+++ b/tests/syslog.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (syslog -a36); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36
diff --git a/tests/syslog.test b/tests/syslog.test
deleted file mode 100755
index 1c2158e..0000000
--- a/tests/syslog.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check syslog syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a36
diff --git a/tests/tee.gen.test b/tests/tee.gen.test
new file mode 100755
index 0000000..2a87fae
--- /dev/null
+++ b/tests/tee.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (tee ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/tee.test b/tests/tee.test
deleted file mode 100755
index 76b6000..0000000
--- a/tests/tee.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check tee syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/tests.h b/tests/tests.h
index d4294de..dcc1057 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,6 +45,9 @@
 /* Cached sysconf(_SC_PAGESIZE). */
 size_t get_page_size(void);
 
+/* The size of kernel's sigset_t. */
+unsigned int get_sigset_size(void);
+
 /* Print message and strerror(errno) to stderr, then exit(1). */
 void perror_msg_and_fail(const char *, ...)
 	ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
@@ -57,6 +61,9 @@
 void perror_msg_and_skip(const char *, ...)
 	ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
 
+/* Stat the specified file and skip the test if the stat call failed. */
+void skip_if_unavailable(const char *);
+
 /*
  * Allocate memory that ends on the page boundary.
  * Pages allocated by this call are preceeded by an unmapped page
@@ -69,6 +76,22 @@
 	ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((2));
 
 /*
+ * Allocate an object of the specified type at the end
+ * of a mapped memory region.
+ * Assign its address to the specified constant pointer.
+ */
+#define TAIL_ALLOC_OBJECT_CONST_PTR(type_name, type_ptr)	\
+	type_name *const type_ptr = tail_alloc(sizeof(*type_ptr))
+
+/*
+ * Allocate an object of the specified type at the end
+ * of a mapped memory region.
+ * Assign its address to the specified variable pointer.
+ */
+#define TAIL_ALLOC_OBJECT_VAR_PTR(type_name, type_ptr)		\
+	type_name *type_ptr = tail_alloc(sizeof(*type_ptr))
+
+/*
  * 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.
@@ -100,6 +123,12 @@
 /* Print memory in a quoted form. */
 void print_quoted_memory(const char *, size_t);
 
+/* Print time_t and nanoseconds in symbolic format. */
+void print_time_t_nsec(time_t, unsigned long long, int);
+
+/* Print time_t and microseconds in symbolic format. */
+void print_time_t_usec(time_t, unsigned long long, int);
+
 /* Read an int from the file. */
 int read_int_from_file(const char *, int *);
 
diff --git a/tests/threads-execve.c b/tests/threads-execve.c
index 853645f..4eb334f 100644
--- a/tests/threads-execve.c
+++ b/tests/threads-execve.c
@@ -2,6 +2,7 @@
  * Check decoding of threads when a non-leader thread invokes execve.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -136,25 +137,25 @@
 	switch (action % NUMBER_OF_ACTIONS) {
 		case ACTION_exit:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <pid changed to %u ...>\n",
+			       ", %p /* %u vars */ <pid changed to %u ...>\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ), leader);
+			       environ, arglen(environ), leader);
 			break;
 		case ACTION_rt_sigsuspend:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <unfinished ...>\n"
+			       ", %p /* %u vars */ <unfinished ...>\n"
 			       "%-5d <... rt_sigsuspend resumed>) = ?\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ),
+			       environ, arglen(environ),
 			       leader);
 			break;
 		case ACTION_nanosleep:
 			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-			       ", [/* %u vars */] <unfinished ...>\n"
+			       ", %p /* %u vars */ <unfinished ...>\n"
 			       "%-5d <... nanosleep resumed> <unfinished ...>)"
 			       " = ?\n",
 			       tid, argv[0], argv[0], argv[1], argv[2],
-			       arglen(environ),
+			       environ, arglen(environ),
 			       leader);
 			break;
 	}
@@ -180,18 +181,15 @@
 		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",
+		       ", %p /* %u vars */) = 0\n",
 		       leader, argv[0], argv[0], argv[1], argv[2],
-		       arglen(environ));
+		       environ, arglen(environ));
 		execve(argv[0], argv, environ);
 		perror_msg_and_fail("execve");
 	}
diff --git a/tests/threads-execve.test b/tests/threads-execve.test
index 4a77146..02c8924 100755
--- a/tests/threads-execve.test
+++ b/tests/threads-execve.test
@@ -3,6 +3,7 @@
 # Check decoding of threads when a non-leader thread invokes execve.
 #
 # Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2016-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -40,10 +41,11 @@
 
 # Due to probabilistic nature of the test, try it several times.
 i=0
-while [ $i -le 9 ]; do
+while [ $i -le 19 ]; do
+	i="$(($i+1))"
 	run_strace "$@" > "$EXP"
-	diff -- "$EXP" "$LOG" || continue
-	rm -f "$EXP"
+	sed 1d < "$LOG" > "$OUT"
+	diff -- "$EXP" "$OUT" || continue
 	exit 0
 done
 
diff --git a/tests/time.c b/tests/time.c
index 4a5cde9..c329a79 100644
--- a/tests/time.c
+++ b/tests/time.c
@@ -2,6 +2,7 @@
  * This file is part of time strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,15 +41,24 @@
 int
 main(void)
 {
-	time_t *p = tail_alloc(sizeof(time_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(time_t, p);
 
 	time_t t = syscall(__NR_time, NULL);
 	if ((time_t) -1 == t)
 		perror_msg_and_skip("time");
-	printf("time(NULL) = %jd\n", (intmax_t) t);
+	printf("time(NULL) = %lld (", (long long) t);
+	print_time_t_nsec(t, 0, 0);
+	puts(")");
+
+	t = syscall(__NR_time, p + 1);
+	printf("time(%p) = %s\n", p + 1, sprintrc(t));
 
 	t = syscall(__NR_time, p);
-	printf("time([%jd]) = %jd\n", (intmax_t) *p, (intmax_t) t);
+	printf("time([%lld", (long long) *p);
+	print_time_t_nsec((time_t) *p, 0, 1),
+	printf("]) = %lld (", (long long) t);
+	print_time_t_nsec(t, 0, 0);
+	puts(")");
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/time.gen.test b/tests/time.gen.test
new file mode 100755
index 0000000..ed7ec69
--- /dev/null
+++ b/tests/time.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (time -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/time.test b/tests/time.test
deleted file mode 100755
index 6ab193a..0000000
--- a/tests/time.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check time syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a10
diff --git a/tests/timer_create.gen.test b/tests/timer_create.gen.test
new file mode 100755
index 0000000..6b4c543
--- /dev/null
+++ b/tests/timer_create.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timer_create ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/timer_create.test b/tests/timer_create.test
deleted file mode 100755
index 870a179..0000000
--- a/tests/timer_create.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timer_create syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/timer_xettime.c b/tests/timer_xettime.c
index 9eabbf0..aacd770 100644
--- a/tests/timer_xettime.c
+++ b/tests/timer_xettime.c
@@ -2,6 +2,7 @@
  * This file is part of timer_xettime strace test.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,6 +48,7 @@
 	printf("timer_settime(%d, TIMER_ABSTIME, NULL, NULL)"
 	       " = -1 EINVAL (%m)\n", 0xdefaced);
 
+	long rc;
 	int tid;
 	struct sigevent sev = { .sigev_notify = SIGEV_NONE };
 
@@ -55,51 +57,61 @@
 	printf("timer_create(CLOCK_MONOTONIC, {sigev_signo=0"
 	       ", sigev_notify=SIGEV_NONE}, [%d]) = 0\n", tid);
 
-	struct {
-		struct itimerspec its;
-		uint32_t pad[4];
-	} old = {
-		.its = {
-			.it_interval = { 0xdeface5, 0xdeface6 },
-			.it_value = { 0xdeface7, 0xdeface8 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.its = {
-			.it_interval = { 0xdeface1, 0xdeface2 },
-			.it_value = { 0xdeface3, 0xdeface4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_new);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_old);
 
-	if (syscall(__NR_timer_settime, tid, 0, &new.its, &old.its))
+	its_new->it_interval.tv_sec = 0xdeadbeefU;
+	its_new->it_interval.tv_nsec = 0xfacefeedU;
+	its_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	its_new->it_value.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = syscall(__NR_timer_settime, tid, 0, its_new, its_old);
+	printf("timer_settime(%d, 0"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}, %p) = %s\n",
+	       tid, (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       its_old, sprintrc(rc));
+
+	its_new->it_interval.tv_sec = 0xdeface1;
+	its_new->it_interval.tv_nsec = 0xdeface2;
+	its_new->it_value.tv_sec = 0xdeface3;
+	its_new->it_value.tv_nsec = 0xdeface4;
+	its_old->it_interval.tv_sec = 0xdeface5;
+	its_old->it_interval.tv_nsec = 0xdeface6;
+	its_old->it_value.tv_sec = 0xdeface7;
+	its_old->it_value.tv_nsec = 0xdeface8;
+
+	if (syscall(__NR_timer_settime, tid, 0, its_new, its_old))
 		perror_msg_and_skip("timer_settime");
 	printf("timer_settime(%d, 0"
-	       ", {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}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
 	       ") = 0\n",
 	       tid,
-	       (intmax_t) new.its.it_interval.tv_sec,
-	       (intmax_t) new.its.it_interval.tv_nsec,
-	       (intmax_t) new.its.it_value.tv_sec,
-	       (intmax_t) new.its.it_value.tv_nsec,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
-	if (syscall(__NR_timer_gettime, tid, &old.its))
+	if (syscall(__NR_timer_gettime, tid, its_old))
 		perror_msg_and_skip("timer_gettime");
 	printf("timer_gettime(%d"
-	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
-	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}) = 0\n",
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}) = 0\n",
 	       tid,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/timer_xettime.gen.test b/tests/timer_xettime.gen.test
new file mode 100755
index 0000000..6e2dffa
--- /dev/null
+++ b/tests/timer_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timer_xettime -e trace=timer_create,timer_settime,timer_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
diff --git a/tests/timer_xettime.test b/tests/timer_xettime.test
deleted file mode 100755
index 08bcdd6..0000000
--- a/tests/timer_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timer_create, timer_settime, and timer_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timer_create,timer_settime,timer_gettime
diff --git a/tests/timerfd_xettime.c b/tests/timerfd_xettime.c
index ca7124e..1e8a23a 100644
--- a/tests/timerfd_xettime.c
+++ b/tests/timerfd_xettime.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,49 +48,59 @@
 		perror_msg_and_skip("timerfd_create");
 	puts("timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC|TFD_NONBLOCK) = 0");
 
-	struct {
-		struct itimerspec its;
-		uint32_t pad[4];
-	} old = {
-		.its = {
-			.it_interval = { 0xdeface5, 0xdeface6 },
-			.it_value = { 0xdeface7, 0xdeface8 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.its = {
-			.it_interval = { 0xdeface1, 0xdeface2 },
-			.it_value = { 0xdeface3, 0xdeface4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_new);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerspec, its_old);
 
-	if (syscall(__NR_timerfd_settime, 0, 0, &new.its, &old.its))
+	its_new->it_interval.tv_sec = 0xdeadbeefU;
+	its_new->it_interval.tv_nsec = 0xfacefeedU;
+	its_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	its_new->it_value.tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	long rc = syscall(__NR_timerfd_settime, 0, 0, its_new, its_old);
+	printf("timerfd_settime(0, 0"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}, %p) = %s\n",
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       its_old, sprintrc(rc));
+
+	its_new->it_interval.tv_sec = 0xdeface1;
+	its_new->it_interval.tv_nsec = 0xdeface2;
+	its_new->it_value.tv_sec = 0xdeface3;
+	its_new->it_value.tv_nsec = 0xdeface4;
+	its_old->it_interval.tv_sec = 0xdeface5;
+	its_old->it_interval.tv_nsec = 0xdeface6;
+	its_old->it_value.tv_sec = 0xdeface7;
+	its_old->it_value.tv_nsec = 0xdeface8;
+
+	if (syscall(__NR_timerfd_settime, 0, 0, its_new, its_old))
 		perror_msg_and_skip("timerfd_settime");
 	printf("timerfd_settime(0, 0"
-	       ", {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}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}"
 	       ") = 0\n",
-	       (intmax_t) new.its.it_interval.tv_sec,
-	       (intmax_t) new.its.it_interval.tv_nsec,
-	       (intmax_t) new.its.it_value.tv_sec,
-	       (intmax_t) new.its.it_value.tv_nsec,
-	       (intmax_t) old.its.it_interval.tv_sec,
-	       (intmax_t) old.its.it_interval.tv_nsec,
-	       (intmax_t) old.its.it_value.tv_sec,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       (long long) its_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_interval.tv_nsec),
+	       (long long) its_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_new->it_value.tv_nsec),
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
-	if (syscall(__NR_timerfd_gettime, 0, &old.its))
+	if (syscall(__NR_timerfd_gettime, 0, its_old))
 		perror_msg_and_skip("timerfd_gettime");
 	printf("timerfd_gettime(0"
-	       ", {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,
-	       (intmax_t) old.its.it_value.tv_nsec);
+	       ", {it_interval={tv_sec=%lld, tv_nsec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_nsec=%llu}}) = 0\n",
+	       (long long) its_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_interval.tv_nsec),
+	       (long long) its_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(its_old->it_value.tv_nsec));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/timerfd_xettime.gen.test b/tests/timerfd_xettime.gen.test
new file mode 100755
index 0000000..97e560b
--- /dev/null
+++ b/tests/timerfd_xettime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
diff --git a/tests/timerfd_xettime.test b/tests/timerfd_xettime.test
deleted file mode 100755
index 75aa21c..0000000
--- a/tests/timerfd_xettime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check timerfd_create, timerfd_settime, and timerfd_gettime syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=timerfd_create,timerfd_settime,timerfd_gettime
diff --git a/tests/times-fail.gen.test b/tests/times-fail.gen.test
new file mode 100755
index 0000000..9934d19
--- /dev/null
+++ b/tests/times-fail.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (times-fail -a12 -e trace=times); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a12 -e trace=times
diff --git a/tests/times-fail.test b/tests/times-fail.test
deleted file mode 100755
index ee28a06..0000000
--- a/tests/times-fail.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of failing times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a12 -e trace=times
diff --git a/tests/times.gen.test b/tests/times.gen.test
new file mode 100755
index 0000000..ca4ebbe
--- /dev/null
+++ b/tests/times.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (times -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests/times.test b/tests/times.test
deleted file mode 100755
index b97e0d3..0000000
--- a/tests/times.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of times syscall
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests/trace_fstat.gen.test b/tests/trace_fstat.gen.test
new file mode 100755
index 0000000..c3aede1
--- /dev/null
+++ b/tests/trace_fstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_fstat test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
diff --git a/tests/trace_fstat.in b/tests/trace_fstat.in
new file mode 100644
index 0000000..34cfa7e
--- /dev/null
+++ b/tests/trace_fstat.in
@@ -0,0 +1,5 @@
+fstat	-a15
+fstat64	-a17
+fstatat64	-a32
+newfstatat	-a32
+oldfstat	-a21
diff --git a/tests/trace_fstatfs.gen.test b/tests/trace_fstatfs.gen.test
new file mode 100755
index 0000000..063f624
--- /dev/null
+++ b/tests/trace_fstatfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_fstatfs test_trace_expr '' -e%fstatfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%fstatfs
diff --git a/tests/trace_fstatfs.in b/tests/trace_fstatfs.in
new file mode 100644
index 0000000..6441a07
--- /dev/null
+++ b/tests/trace_fstatfs.in
@@ -0,0 +1,2 @@
+fstatfs	-a18
+fstatfs64	-a24
diff --git a/tests/trace_lstat.gen.test b/tests/trace_lstat.gen.test
new file mode 100755
index 0000000..a05b7a1
--- /dev/null
+++ b/tests/trace_lstat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_lstat test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%lstat -v -P stat.sample -P /dev/full
diff --git a/tests/trace_lstat.in b/tests/trace_lstat.in
new file mode 100644
index 0000000..abbabc4
--- /dev/null
+++ b/tests/trace_lstat.in
@@ -0,0 +1,3 @@
+lstat	-a32
+lstat64	-a32
+oldlstat	-a32
diff --git a/tests/trace_question.gen.test b/tests/trace_question.gen.test
new file mode 100755
index 0000000..76b3578
--- /dev/null
+++ b/tests/trace_question.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_question test_trace_expr '' -e?osf_utimes,?/^pkey_.*); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e?osf_utimes,?/^pkey_.*
diff --git a/tests/trace_question.in b/tests/trace_question.in
new file mode 100644
index 0000000..74d662c
--- /dev/null
+++ b/tests/trace_question.in
@@ -0,0 +1,4 @@
+osf_utimes	-a21
+pkey_alloc	-a17
+pkey_free	-a13
+pkey_mprotect	-a37
diff --git a/tests/trace_stat.gen.test b/tests/trace_stat.gen.test
new file mode 100755
index 0000000..ae95ab8
--- /dev/null
+++ b/tests/trace_stat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_stat test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%stat -v -P stat.sample -P /dev/full
diff --git a/tests/trace_stat.in b/tests/trace_stat.in
new file mode 100644
index 0000000..f105d78
--- /dev/null
+++ b/tests/trace_stat.in
@@ -0,0 +1,3 @@
+oldstat	-a32
+stat	-a32
+stat64	-a32
diff --git a/tests/trace_stat_like.gen.test b/tests/trace_stat_like.gen.test
new file mode 100755
index 0000000..5681a8a
--- /dev/null
+++ b/tests/trace_stat_like.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_stat_like test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
diff --git a/tests/trace_stat_like.in b/tests/trace_stat_like.in
new file mode 100644
index 0000000..22bd7f2
--- /dev/null
+++ b/tests/trace_stat_like.in
@@ -0,0 +1,12 @@
+fstat	-a15
+fstat64	-a17
+fstatat64	-a32
+lstat	-a32
+lstat64	-a32
+newfstatat	-a32
+oldfstat	-a21
+oldlstat	-a32
+oldstat	-a32
+stat	-a32
+stat64	-a32
+statx	-a32
diff --git a/tests/trace_statfs.gen.test b/tests/trace_statfs.gen.test
new file mode 100755
index 0000000..957412b
--- /dev/null
+++ b/tests/trace_statfs.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_statfs test_trace_expr '' -e%statfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%statfs
diff --git a/tests/trace_statfs.in b/tests/trace_statfs.in
new file mode 100644
index 0000000..7c4adfe
--- /dev/null
+++ b/tests/trace_statfs.in
@@ -0,0 +1,2 @@
+statfs	-a17
+statfs64	-a23
diff --git a/tests/trace_statfs_like.gen.test b/tests/trace_statfs_like.gen.test
new file mode 100755
index 0000000..be1a9c0
--- /dev/null
+++ b/tests/trace_statfs_like.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (trace_statfs_like test_trace_expr '' -e%%statfs); do not edit.
+. "${srcdir=.}/init.sh"
+test_trace_expr '' -e%%statfs
diff --git a/tests/trace_statfs_like.in b/tests/trace_statfs_like.in
new file mode 100644
index 0000000..285aec6
--- /dev/null
+++ b/tests/trace_statfs_like.in
@@ -0,0 +1,5 @@
+statfs	-a17
+statfs64	-a23
+fstatfs	-a18
+fstatfs64	-a24
+ustat	-a33
diff --git a/tests/truncate.gen.test b/tests/truncate.gen.test
new file mode 100755
index 0000000..0410e73
--- /dev/null
+++ b/tests/truncate.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (truncate ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/truncate.test b/tests/truncate.test
deleted file mode 100755
index 6bf1e70..0000000
--- a/tests/truncate.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check truncate syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/truncate64.gen.test b/tests/truncate64.gen.test
new file mode 100755
index 0000000..dae0fe6
--- /dev/null
+++ b/tests/truncate64.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (truncate64 ); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff 
diff --git a/tests/truncate64.test b/tests/truncate64.test
deleted file mode 100755
index c466806..0000000
--- a/tests/truncate64.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check truncate64 syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff
diff --git a/tests/ugetrlimit.gen.test b/tests/ugetrlimit.gen.test
new file mode 100755
index 0000000..ff27134
--- /dev/null
+++ b/tests/ugetrlimit.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ugetrlimit -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests/ugetrlimit.test b/tests/ugetrlimit.test
deleted file mode 100755
index f4648ff..0000000
--- a/tests/ugetrlimit.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of ugetrlimit syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests/uio.test b/tests/uio.test
index 020b97e..0184685 100755
--- a/tests/uio.test
+++ b/tests/uio.test
@@ -5,7 +5,7 @@
 . "${srcdir=.}/init.sh"
 
 run_prog
-run_strace -edesc $args
+run_strace -e%desc $args
 match_grep
 
 exit 0
diff --git a/tests/umask.gen.test b/tests/umask.gen.test
new file mode 100755
index 0000000..60af5e9
--- /dev/null
+++ b/tests/umask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umask -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests/umask.test b/tests/umask.test
deleted file mode 100755
index 1351721..0000000
--- a/tests/umask.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check umask syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests/umode_t.c b/tests/umode_t.c
index 5041638..dcd1514 100644
--- a/tests/umode_t.c
+++ b/tests/umode_t.c
@@ -2,6 +2,7 @@
  * Check decoding of umode_t type syscall arguments.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +39,7 @@
 # define TEST_SYSCALL_PREFIX_STR ""
 #endif
 
-static const char sample[] = TEST_SYSCALL_STR;
+static const char *sample;
 
 static void
 test_syscall(unsigned short mode)
@@ -49,17 +50,18 @@
 
 	if (mode <= 07)
 		printf("%s(%s\"%s\", 00%d) = %ld %s (%m)\n",
-		       sample, TEST_SYSCALL_PREFIX_STR,
+		       TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
 		       sample, (int) mode, rc, errno2name());
 	else
 		printf("%s(%s\"%s\", %#03ho) = %ld %s (%m)\n",
-		       sample, TEST_SYSCALL_PREFIX_STR,
+		       TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
 		       sample, mode, rc, errno2name());
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
+	sample = av[0];
 	test_syscall(0);
 	test_syscall(0xffff);
 	test_syscall(06);
diff --git a/tests/umoven-illptr.gen.test b/tests/umoven-illptr.gen.test
new file mode 100755
index 0000000..eea7b1c
--- /dev/null
+++ b/tests/umoven-illptr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umoven-illptr -a36 -e trace=nanosleep); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a36 -e trace=nanosleep
diff --git a/tests/umoven-illptr.test b/tests/umoven-illptr.test
deleted file mode 100755
index 7b8cb31..0000000
--- a/tests/umoven-illptr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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.gen.test b/tests/umovestr-illptr.gen.test
new file mode 100755
index 0000000..7685d44
--- /dev/null
+++ b/tests/umovestr-illptr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umovestr-illptr -a11 -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=chdir
diff --git a/tests/umovestr-illptr.test b/tests/umovestr-illptr.test
deleted file mode 100755
index 6f1cc86..0000000
--- a/tests/umovestr-illptr.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of invalid pointer by umovestr.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a11 -e trace=chdir
diff --git a/tests/umovestr2.test b/tests/umovestr2.test
index 5c5d561..3decbe2 100755
--- a/tests/umovestr2.test
+++ b/tests/umovestr2.test
@@ -9,7 +9,3 @@
 check_prog sed
 sed 1d < "$LOG" > "$OUT"
 match_diff "$OUT" "$EXP"
-
-rm -f "$EXP" "$OUT"
-
-exit 0
diff --git a/tests/umovestr3.gen.test b/tests/umovestr3.gen.test
new file mode 100755
index 0000000..b16e1ed
--- /dev/null
+++ b/tests/umovestr3.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (umovestr3 -a14 -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a14 -e trace=chdir
diff --git a/tests/umovestr3.test b/tests/umovestr3.test
deleted file mode 100755
index d5be283..0000000
--- a/tests/umovestr3.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# yet another umovestr short read test
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a14 -e trace=chdir
diff --git a/tests/uname.c b/tests/uname.c
index cd6f51c..96db753 100644
--- a/tests/uname.c
+++ b/tests/uname.c
@@ -10,7 +10,7 @@
 int main(int ac, char **av)
 {
 	int abbrev = ac > 1;
-	struct utsname *const uname = tail_alloc(sizeof(struct utsname));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct utsname, uname);
 	int rc = syscall(__NR_uname, uname);
 	printf("uname({sysname=\"");
 	print_quoted_string(uname->sysname);
diff --git a/tests/uname.test b/tests/uname.test
index 03fe30c..7ca1b5b 100755
--- a/tests/uname.test
+++ b/tests/uname.test
@@ -10,9 +10,8 @@
 run_strace -v -euname $args > "$EXP"
 uniq < "$LOG" > "$OUT"
 
-run_prog "./$NAME" abbrev > /dev/null
+run_prog "../$NAME" abbrev > /dev/null
 run_strace -euname $args >> "$EXP"
 uniq < "$LOG" >> "$OUT"
 
 match_diff "$OUT" "$EXP"
-rm -f "$OUT" "$EXP"
diff --git a/tests/unix-pair-send-recv.test b/tests/unix-pair-send-recv.test
index 4defdeb..10ab7cc 100755
--- a/tests/unix-pair-send-recv.test
+++ b/tests/unix-pair-send-recv.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./unix-pair-send-recv abcdefghijklmnopqrstuvwxyz
+run_prog ../unix-pair-send-recv abcdefghijklmnopqrstuvwxyz
 run_strace -a32 -esignal=none -esend,recv -eread=0 -ewrite=0 $args
 match_diff
 
diff --git a/tests/unix-pair-sendto-recvfrom.test b/tests/unix-pair-sendto-recvfrom.test
index 21afe23..0bd9a04 100755
--- a/tests/unix-pair-sendto-recvfrom.test
+++ b/tests/unix-pair-sendto-recvfrom.test
@@ -4,7 +4,7 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog ./unix-pair-sendto-recvfrom abcdefghijklmnopqrstuvwxyz
+run_prog ../unix-pair-sendto-recvfrom abcdefghijklmnopqrstuvwxyz
 run_strace -esignal=none -esendto,recvfrom -eread=0 -ewrite=0 $args
 match_diff
 
diff --git a/tests/unlink.gen.test b/tests/unlink.gen.test
new file mode 100755
index 0000000..7b8522b
--- /dev/null
+++ b/tests/unlink.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unlink -a24); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24
diff --git a/tests/unlink.test b/tests/unlink.test
deleted file mode 100755
index 09bf79a..0000000
--- a/tests/unlink.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check unlink syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24
diff --git a/tests/unlinkat.gen.test b/tests/unlinkat.gen.test
new file mode 100755
index 0000000..5a77c6a
--- /dev/null
+++ b/tests/unlinkat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unlinkat -a35); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a35
diff --git a/tests/unlinkat.test b/tests/unlinkat.test
deleted file mode 100755
index 864261f..0000000
--- a/tests/unlinkat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check unlinkat syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a35
diff --git a/tests/unshare.gen.test b/tests/unshare.gen.test
new file mode 100755
index 0000000..077a458
--- /dev/null
+++ b/tests/unshare.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (unshare -a11); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests/unshare.test b/tests/unshare.test
deleted file mode 100755
index ccb9575..0000000
--- a/tests/unshare.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of setns syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11
diff --git a/tests/userfaultfd.gen.test b/tests/userfaultfd.gen.test
new file mode 100755
index 0000000..4735146
--- /dev/null
+++ b/tests/userfaultfd.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (userfaultfd -a38); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a38
diff --git a/tests/userfaultfd.test b/tests/userfaultfd.test
deleted file mode 100755
index af8b6fb..0000000
--- a/tests/userfaultfd.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check userfaultfd syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a38
diff --git a/tests/ustat.c b/tests/ustat.c
index 57bb29c..3341c70 100644
--- a/tests/ustat.c
+++ b/tests/ustat.c
@@ -47,7 +47,7 @@
 	long rc;
 
 # ifdef HAVE_USTAT_H
-	struct ustat *const ust = tail_alloc(sizeof(*ust));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct ustat, ust);
 	struct stat st;
 	if (stat(".", &st))
 		perror_msg_and_fail("stat");
diff --git a/tests/ustat.gen.test b/tests/ustat.gen.test
new file mode 100755
index 0000000..f64b28d
--- /dev/null
+++ b/tests/ustat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (ustat -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests/ustat.test b/tests/ustat.test
deleted file mode 100755
index 60a88e0..0000000
--- a/tests/ustat.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/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 8fd594f..03e3958 100644
--- a/tests/utime.c
+++ b/tests/utime.c
@@ -2,6 +2,7 @@
  * Check decoding of utime syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,17 +39,6 @@
 # include <stdio.h>
 # include <unistd.h>
 
-
-static void
-print_tm(const struct tm * const p)
-{
-	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)
 {
@@ -60,8 +50,7 @@
 {
 	static const char *const dummy_str = "dummy filename";
 
-	const time_t t = time(NULL);
-	const struct tm * const p = localtime(&t);
+	const time_t t = 1492350678;
 	const struct utimbuf u = { .actime = t, .modtime = t };
 	const struct utimbuf *const tail_u = tail_memdup(&u, sizeof(u));
 	const char *const dummy_filename =
@@ -80,10 +69,10 @@
 
 	rc = k_utime("utime\nfilename", tail_u);
 	const char *errstr = sprintrc(rc);
-	printf("utime(\"utime\\nfilename\", {actime=");
-	print_tm(p);
-	printf(", modtime=");
-	print_tm(p);
+	printf("utime(\"utime\\nfilename\", {actime=%lld", (long long) t);
+	print_time_t_nsec(t, 0, 1);
+	printf(", modtime=%lld", (long long) t);
+	print_time_t_nsec(t, 0, 1);
 	printf("}) = %s\n", errstr);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/utime.gen.test b/tests/utime.gen.test
new file mode 100755
index 0000000..7270556
--- /dev/null
+++ b/tests/utime.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utime -a16); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a16
diff --git a/tests/utime.test b/tests/utime.test
deleted file mode 100755
index bd64c53..0000000
--- a/tests/utime.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of utime syscall.
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a 16 -e trace=utime
diff --git a/tests/utimensat.c b/tests/utimensat.c
index 6d9faac..ddfd360 100644
--- a/tests/utimensat.c
+++ b/tests/utimensat.c
@@ -1,7 +1,7 @@
 /*
- * This file is part of utimensat strace test.
+ * Check decoding of utimensat syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,66 +28,173 @@
  */
 
 #include "tests.h"
-#include <assert.h>
-#include <errno.h>
 #include <fcntl.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <sys/stat.h>
 #include <sys/time.h>
+#include <unistd.h>
+#include <asm/unistd.h>
 
-#if defined HAVE_UTIMENSAT \
- && defined AT_FDCWD && defined AT_SYMLINK_NOFOLLOW \
- && defined UTIME_NOW && defined UTIME_OMIT
+#if defined __NR_utimensat && defined UTIME_NOW && defined UTIME_OMIT
 
 static void
 print_ts(const struct timespec *ts)
 {
-	printf("{tv_sec=%ju, tv_nsec=%ju}", (uintmax_t) ts->tv_sec,
-		(uintmax_t) ts->tv_nsec);
+	printf("{tv_sec=%lld, tv_nsec=%llu}", (long long) ts->tv_sec,
+		zero_extend_signed_to_ull(ts->tv_nsec));
+	print_time_t_nsec(ts->tv_sec,
+			  zero_extend_signed_to_ull(ts->tv_nsec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_utimensat(const kernel_ulong_t dirfd,
+	    const kernel_ulong_t pathname,
+	    const kernel_ulong_t times,
+	    const kernel_ulong_t flags)
+{
+	long rc = syscall(__NR_utimensat, dirfd, pathname, times, flags);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 int
 main(void)
 {
-	static const char fname[] = "utimensat\nfilename";
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xbadc0deddeadbeef;
+	static const kernel_ulong_t kfdcwd =
+		(kernel_ulong_t) 0xdefaced00000000 | -100U;
+	static const char proto_fname[] = "utimensat\nfilename";
+	static const char qname[] = "\"utimensat\\nfilename\"";
 
-	assert(utimensat(AT_FDCWD, fname, NULL, 0) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	struct timespec *const ts = tail_alloc(sizeof(*ts) * 2);
 
-	#define PREFIX "utimensat(AT_FDCWD, \"utimensat\\nfilename\", "
-	printf(PREFIX "NULL, 0) = -1 ENOENT (%m)\n");
+	(void) close(0);
 
-	struct timeval tv;
-	struct timespec ts[2];
+	/* dirfd */
+	k_utimensat(0, kfname, 0, 0);
+	printf("utimensat(0, %s, NULL, 0) = %s\n", qname, errstr);
 
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_skip("gettimeofday");
+	k_utimensat(bogus_fd, kfname, 0, 0);
+	printf("utimensat(%d, %s, NULL, 0) = %s\n",
+	       (int) bogus_fd, qname, errstr);
 
-	ts[0].tv_sec = tv.tv_sec;
-	ts[0].tv_nsec = tv.tv_usec;
-	ts[1].tv_sec = tv.tv_sec - 1;
-	ts[1].tv_nsec = tv.tv_usec + 1;
+	k_utimensat(-100U, kfname, 0, 0);
+	printf("utimensat(AT_FDCWD, %s, NULL, 0) = %s\n", qname, errstr);
 
-	printf(PREFIX "[");
+	k_utimensat(kfdcwd, kfname, 0, 0);
+	printf("utimensat(AT_FDCWD, %s, NULL, 0) = %s\n", qname, errstr);
+
+	/* pathname */
+	k_utimensat(kfdcwd, 0, 0, 0);
+	printf("utimensat(AT_FDCWD, NULL, NULL, 0) = %s\n", errstr);
+
+	k_utimensat(kfdcwd, kfname + sizeof(proto_fname) - 1, 0, 0);
+	printf("utimensat(AT_FDCWD, \"\", NULL, 0) = %s\n", errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_utimensat(kfdcwd, kfname, 0, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("utimensat(AT_FDCWD, %p, NULL, 0) = %s\n", fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimensat(kfdcwd, f8ill_ptr_to_kulong(fname), 0, 0);
+		printf("utimensat(AT_FDCWD, %#jx, NULL, 0) = %s\n",
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 1), 0);
+	printf("utimensat(AT_FDCWD, %s, %p, 0) = %s\n",
+	       qname, ts + 1, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) (ts + 2), 0);
+	printf("utimensat(AT_FDCWD, %s, %p, 0)"
+	       " = %s\n", qname, ts + 2, errstr);
+
+	ts[0].tv_sec = 1492358706;
+	ts[0].tv_nsec = 123456789;
+	ts[1].tv_sec = 1492357068;
+	ts[1].tv_nsec = 234567890;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
 	print_ts(&ts[0]);
 	printf(", ");
 	print_ts(&ts[1]);
-	printf("], AT_SYMLINK_NOFOLLOW) = -1 ENOENT ");
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
 
-	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
-	printf("(%m)\n");
+	ts[0].tv_sec = -1;
+	ts[0].tv_nsec = 2000000000;
+	ts[1].tv_sec = (time_t) -0x100000001LL;
+	ts[1].tv_nsec = 2345678900U;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
+
+	ts[0].tv_sec = 0;
+	ts[0].tv_nsec = 0;
+	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts[1].tv_nsec = 0;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
+
+	ts[0].tv_sec = 0xdeadbeefU;
+	ts[0].tv_nsec = 0xfacefeedU;
+	ts[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	ts[1].tv_nsec = (long) 0xbadc0dedfacefeedLL;
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [", qname);
+	print_ts(&ts[0]);
+	printf(", ");
+	print_ts(&ts[1]);
+	printf("], AT_SYMLINK_NOFOLLOW) = %s\n", errstr);
 
 	ts[0].tv_nsec = UTIME_NOW;
 	ts[1].tv_nsec = UTIME_OMIT;
-	assert(utimensat(AT_FDCWD, fname, ts, AT_SYMLINK_NOFOLLOW) == -1);
-	if (ENOENT != errno)
-		error_msg_and_skip("utimensat");
-	printf(PREFIX "[UTIME_NOW, UTIME_OMIT], AT_SYMLINK_NOFOLLOW)"
-	       " = -1 ENOENT (%m)\n");
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, 0x100);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_SYMLINK_NOFOLLOW) = %s\n", qname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimensat(kfdcwd, kfname, f8ill_ptr_to_kulong(ts), 0);
+		printf("utimensat(AT_FDCWD, %s, %#jx, 0) = %s\n",
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(ts), errstr);
+	}
+
+	/* flags */
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
+		    (kernel_ulong_t) 0xdefaced00000200);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_REMOVEDIR) = %s\n",
+	       qname, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts,
+		    (kernel_ulong_t) 0xdefaced00000600);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_REMOVEDIR|AT_SYMLINK_FOLLOW) = %s\n",
+	       qname, errstr);
+
+	k_utimensat(kfdcwd, kfname, (uintptr_t) ts, (kernel_ulong_t) -1ULL);
+	printf("utimensat(AT_FDCWD, %s, [UTIME_NOW, UTIME_OMIT]"
+	       ", AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
+	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff) = %s\n",
+	       qname, errstr);
 
 	puts("+++ exited with 0 +++");
 	return 0;
@@ -95,7 +202,6 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("HAVE_UTIMENSAT && AT_FDCWD && AT_SYMLINK_NOFOLLOW"
-		    " && UTIME_NOW && UTIME_OMIT")
+SKIP_MAIN_UNDEFINED("__NR_utimensat && UTIME_NOW && UTIME_OMIT")
 
 #endif
diff --git a/tests/utimensat.gen.test b/tests/utimensat.gen.test
new file mode 100755
index 0000000..a4d6656
--- /dev/null
+++ b/tests/utimensat.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utimensat -a33); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests/utimensat.test b/tests/utimensat.test
deleted file mode 100755
index 52e3f31..0000000
--- a/tests/utimensat.test
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Check decoding of utimensat syscall.
-
-. "${srcdir=.}/init.sh"
-
-run_prog > /dev/null
-run_strace -e utimensat $args > "$OUT"
-
-check_prog grep
-LC_ALL=C grep -x "utimensat(.*" "$LOG" > /dev/null || {
-        rm -f "$OUT"
-        skip_ 'test executable does not use utimensat syscall'
-}
-
-match_diff "$LOG" "$OUT"
-
-rm -f "$OUT"
-
-exit 0
diff --git a/tests/utimes.c b/tests/utimes.c
index bbfa031..4bef1a6 100644
--- a/tests/utimes.c
+++ b/tests/utimes.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of utimes syscall.
  *
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,50 +32,10 @@
 
 #ifdef __NR_utimes
 
-# include <stdint.h>
-# include <stdio.h>
-# include <sys/time.h>
-# include <unistd.h>
-
-int
-main(void)
-{
-	struct timeval tv;
-	if (gettimeofday(&tv, NULL))
-		perror_msg_and_fail("gettimeofday");
-
-	static const char sample[] = "utimes_sample";
-
-	long rc = syscall(__NR_utimes, sample, 0);
-	printf("utimes(\"%s\", NULL) = %ld %s (%m)\n",
-	       sample, rc, errno2name());
-
-	struct timeval *const ts = tail_alloc(sizeof(*ts) * 2);
-
-	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(\"\", [{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 +++");
-	return 0;
-}
+# define TEST_SYSCALL_NR	__NR_utimes
+# define TEST_SYSCALL_STR	"utimes"
+# define TEST_STRUCT		struct timeval
+# include "xutimes.c"
 
 #else
 
diff --git a/tests/utimes.gen.test b/tests/utimes.gen.test
new file mode 100755
index 0000000..37ed29c
--- /dev/null
+++ b/tests/utimes.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (utimes -a17); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/utimes.test b/tests/utimes.test
deleted file mode 100755
index 99143a0..0000000
--- a/tests/utimes.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check utimes syscall decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a21
diff --git a/tests/vfork-f.gen.test b/tests/vfork-f.gen.test
new file mode 100755
index 0000000..b3c1c6b
--- /dev/null
+++ b/tests/vfork-f.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vfork-f -a26 -qq -f -e signal=none -e trace=chdir); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a26 -qq -f -e signal=none -e trace=chdir
diff --git a/tests/vfork-f.test b/tests/vfork-f.test
deleted file mode 100755
index ff4422b..0000000
--- a/tests/vfork-f.test
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-# Check how strace -f follows vfork syscall.
-
-. "${srcdir=.}/fork-f.test"
diff --git a/tests/vhangup.gen.test b/tests/vhangup.gen.test
new file mode 100755
index 0000000..7ac84e5
--- /dev/null
+++ b/tests/vhangup.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vhangup -a10); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a10
diff --git a/tests/vhangup.test b/tests/vhangup.test
deleted file mode 100755
index 8fe1cac..0000000
--- a/tests/vhangup.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# Check vhangup syscall decoding.
-
-. "${srcdir=.}/init.sh"
-
-run_strace_match_diff -a10
diff --git a/tests/vmsplice.gen.test b/tests/vmsplice.gen.test
new file mode 100755
index 0000000..fe6a07d
--- /dev/null
+++ b/tests/vmsplice.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (vmsplice -ewrite=1); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -ewrite=1
diff --git a/tests/vmsplice.test b/tests/vmsplice.test
deleted file mode 100755
index 8a80650..0000000
--- a/tests/vmsplice.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of vmsplice syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -ewrite=1
diff --git a/tests/wait4-v.gen.test b/tests/wait4-v.gen.test
new file mode 100755
index 0000000..5b23f42
--- /dev/null
+++ b/tests/wait4-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (wait4-v -v -e signal=none -e trace=wait4); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e signal=none -e trace=wait4
diff --git a/tests/wait4-v.test b/tests/wait4-v.test
deleted file mode 100755
index 58e55f2..0000000
--- a/tests/wait4-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=wait4
diff --git a/tests/wait4.c b/tests/wait4.c
index ccb3ebb..ab0c7a4 100644
--- a/tests/wait4.c
+++ b/tests/wait4.c
@@ -2,6 +2,7 @@
  * Check decoding of wait4 syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,8 +41,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={tv_sec=%lu, tv_usec=%lu}"
-		 ", ru_stime={tv_sec=%lu, tv_usec=%lu}"
+		 "{ru_utime={tv_sec=%lld, tv_usec=%llu}"
+		 ", ru_stime={tv_sec=%lld, tv_usec=%llu}"
 #if VERBOSE
 		 ", ru_maxrss=%lu"
 		 ", ru_ixrss=%lu"
@@ -60,10 +61,10 @@
 #else
 		 ", ...}"
 #endif
-		 , (long) ru->ru_utime.tv_sec
-		 , (long) ru->ru_utime.tv_usec
-		 , (long) ru->ru_stime.tv_sec
-		 , (long) ru->ru_stime.tv_usec
+		 , (long long) ru->ru_utime.tv_sec
+		 , zero_extend_signed_to_ull(ru->ru_utime.tv_usec)
+		 , (long long) ru->ru_stime.tv_sec
+		 , zero_extend_signed_to_ull(ru->ru_stime.tv_usec)
 #if VERBOSE
 		 , (long) ru->ru_maxrss
 		 , (long) ru->ru_ixrss
@@ -119,12 +120,12 @@
 
 	(void) close(0);
 
-	int *const s = tail_alloc(sizeof(*s));
+	TAIL_ALLOC_OBJECT_CONST_PTR(int, s);
 	if (wait4(pid, s, WNOHANG|__WALL, NULL))
 		perror_msg_and_fail("wait4 #1");
 	tprintf("wait4(%d, %p, WNOHANG|__WALL, NULL) = 0\n", pid, s);
 
-	struct rusage *const rusage = tail_alloc(sizeof(*rusage));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, rusage);
 	if (wait4(pid, s, WNOHANG|__WALL, rusage))
 		perror_msg_and_fail("wait4 #2");
 	tprintf("wait4(%d, %p, WNOHANG|__WALL, %p) = 0\n", pid, s, rusage);
diff --git a/tests/wait4.gen.test b/tests/wait4.gen.test
new file mode 100755
index 0000000..ae04915
--- /dev/null
+++ b/tests/wait4.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (wait4 -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests/wait4.test b/tests/wait4.test
deleted file mode 100755
index 6338d1f..0000000
--- a/tests/wait4.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of wait4 syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests/waitid-v.gen.test b/tests/waitid-v.gen.test
new file mode 100755
index 0000000..45744cd
--- /dev/null
+++ b/tests/waitid-v.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitid-v -v -e signal=none -e trace=waitid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -v -e signal=none -e trace=waitid
diff --git a/tests/waitid-v.test b/tests/waitid-v.test
deleted file mode 100755
index eb498cb..0000000
--- a/tests/waitid-v.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check verbose decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -v -e signal=none -e trace=waitid
diff --git a/tests/waitid.c b/tests/waitid.c
index 6a10299..b56feea 100644
--- a/tests/waitid.c
+++ b/tests/waitid.c
@@ -2,6 +2,7 @@
  * Check decoding of waitid syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,8 +43,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={tv_sec=%lld, tv_usec=%lld}"
-		 ", ru_stime={tv_sec=%lld, tv_usec=%lld}"
+		 "{ru_utime={tv_sec=%lld, tv_usec=%llu}"
+		 ", ru_stime={tv_sec=%lld, tv_usec=%llu}"
 #if VERBOSE
 		 ", ru_maxrss=%llu"
 		 ", ru_ixrss=%llu"
@@ -63,9 +64,9 @@
 		 ", ...}"
 #endif
 		 , (long long) ru->ru_utime.tv_sec
-		 , (long long) ru->ru_utime.tv_usec
+		 , zero_extend_signed_to_ull(ru->ru_utime.tv_usec)
 		 , (long long) ru->ru_stime.tv_sec
-		 , (long long) ru->ru_stime.tv_usec
+		 , zero_extend_signed_to_ull(ru->ru_stime.tv_usec)
 #if VERBOSE
 		 , zero_extend_signed_to_ull(ru->ru_maxrss)
 		 , zero_extend_signed_to_ull(ru->ru_ixrss)
@@ -185,9 +186,9 @@
 		perror_msg_and_fail("waitid #1");
 	tprintf("waitid(P_PID, %d, NULL, WNOHANG|WEXITED, NULL) = 0\n", pid);
 
-	siginfo_t *const sinfo = tail_alloc(sizeof(*sinfo));
+	TAIL_ALLOC_OBJECT_CONST_PTR(siginfo_t, sinfo);
 	memset(sinfo, 0, sizeof(*sinfo));
-	struct rusage *const rusage = tail_alloc(sizeof(*rusage));
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct rusage, rusage);
 	if (do_waitid(P_PID, pid, sinfo, WNOHANG|WEXITED|WSTOPPED, rusage))
 		perror_msg_and_fail("waitid #2");
 	tprintf("waitid(P_PID, %d, {}, WNOHANG|WEXITED|WSTOPPED, %s) = 0\n",
diff --git a/tests/waitid.gen.test b/tests/waitid.gen.test
new file mode 100755
index 0000000..59f4022
--- /dev/null
+++ b/tests/waitid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitid -esignal=none); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -esignal=none
diff --git a/tests/waitid.test b/tests/waitid.test
deleted file mode 100755
index 3bcba3a..0000000
--- a/tests/waitid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of waitid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -esignal=none
diff --git a/tests/waitpid.gen.test b/tests/waitpid.gen.test
new file mode 100755
index 0000000..d91e298
--- /dev/null
+++ b/tests/waitpid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (waitpid -a28); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a28
diff --git a/tests/waitpid.test b/tests/waitpid.test
deleted file mode 100755
index 93807d1..0000000
--- a/tests/waitpid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check decoding of waitpid syscall.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a28
diff --git a/tests/xattr-strings.gen.test b/tests/xattr-strings.gen.test
new file mode 100755
index 0000000..3317892
--- /dev/null
+++ b/tests/xattr-strings.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xattr-strings -a22 -s 4 -e trace=fsetxattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -s 4 -e trace=fsetxattr
diff --git a/tests/xattr-strings.test b/tests/xattr-strings.test
deleted file mode 100755
index 25ef360..0000000
--- a/tests/xattr-strings.test
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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.gen.test b/tests/xattr.gen.test
new file mode 100755
index 0000000..030f2ce
--- /dev/null
+++ b/tests/xattr.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xattr -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
diff --git a/tests/xattr.test b/tests/xattr.test
deleted file mode 100755
index 8c7a87b..0000000
--- a/tests/xattr.test
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# Check *xattr syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-
-syscalls=
-for n in getxattr setxattr listxattr removexattr; do
-	syscalls="$syscalls,${n},f${n},l${n}"
-done
-
-run_strace_match_diff -a22 -e trace=$syscalls
diff --git a/tests/xet_robust_list.c b/tests/xet_robust_list.c
index 211dec4..a612b92 100644
--- a/tests/xet_robust_list.c
+++ b/tests/xet_robust_list.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -51,8 +52,8 @@
 {
 	const pid_t pid = getpid();
 	const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid);
-	void **p_head = tail_alloc(sizeof(void *));
-	size_t *p_len = tail_alloc(sizeof(size_t));
+	TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head);
+	TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len);
 
 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
 		perror_msg_and_skip("get_robust_list");
diff --git a/tests/xet_robust_list.gen.test b/tests/xet_robust_list.gen.test
new file mode 100755
index 0000000..798cdff
--- /dev/null
+++ b/tests/xet_robust_list.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xet_robust_list -a24 -e trace=get_robust_list,set_robust_list); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
diff --git a/tests/xet_robust_list.test b/tests/xet_robust_list.test
deleted file mode 100755
index 8a3a382..0000000
--- a/tests/xet_robust_list.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check get_robust_list and set_robust_list syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a24 -e trace=get_robust_list,set_robust_list
diff --git a/tests/xetitimer.c b/tests/xetitimer.c
index 4b17edd..3a81880 100644
--- a/tests/xetitimer.c
+++ b/tests/xetitimer.c
@@ -1,5 +1,7 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of setitimer and getitimer syscalls.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -29,48 +31,153 @@
 #include <stdio.h>
 #include <stdint.h>
 #include <sys/time.h>
+#include <unistd.h>
+#include <asm/unistd.h>
 
 int
 main(void)
 {
-	struct {
-		struct itimerval itv;
-		uint32_t pad[4];
-	} old = {
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
-	}, new = {
-		.itv = {
-			.it_interval = { 0xc0de1, 0xc0de2 },
-			.it_value = { 0xc0de3, 0xc0de4 }
-		},
-		.pad = { 0xdeadbeef, 0xbadc0ded, 0xdeadbeef, 0xbadc0ded }
+	static const struct itimerval new = {
+		.it_interval = { 0xc0de1, 0xc0de2 },
+		.it_value = { 0xc0de3, 0xc0de4 }
 	};
+	static const kernel_ulong_t long_timer =
+		F8ILL_KULONG_MASK | ITIMER_REAL;
+	static const kernel_ulong_t bogus_timer =
+		(kernel_ulong_t) 0xfacefeeddeadbeefULL;
 
-	if (setitimer(ITIMER_REAL, &new.itv, &old.itv))
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct itimerval, p_old);
+	struct itimerval *const p_new = tail_memdup(&new, sizeof(new));
+	void *const efault = tail_alloc(sizeof(new) - 8);
+	long rc;
+
+	if (setitimer(ITIMER_REAL, p_new, NULL))
 		perror_msg_and_skip("setitimer");
 	printf("setitimer(ITIMER_REAL"
-	       ", {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,
-	       (intmax_t) new.itv.it_value.tv_usec,
-	       (intmax_t) old.itv.it_interval.tv_sec,
-	       (intmax_t) old.itv.it_interval.tv_usec,
-	       (intmax_t) old.itv.it_value.tv_sec,
-	       (intmax_t) old.itv.it_value.tv_usec);
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", NULL) = 0\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec));
 
-	if (getitimer(ITIMER_REAL, &old.itv))
+	fill_memory(p_old, sizeof(*p_old));
+	if (getitimer(ITIMER_REAL, p_old))
 		perror_msg_and_skip("getitimer");
 	printf("getitimer(ITIMER_REAL"
-	       ", {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,
-	       (intmax_t) old.itv.it_value.tv_usec);
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = 0\n",
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec));
+
+	fill_memory(p_old, sizeof(*p_old));
+	setitimer(ITIMER_REAL, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = 0\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec));
+
+	rc = getitimer(ITIMER_REAL, efault);
+	printf("getitimer(ITIMER_REAL, %p) = %s\n", efault, sprintrc(rc));
+
+	rc = setitimer(ITIMER_REAL, p_new, efault);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       efault, sprintrc(rc));
+
+	rc = setitimer(ITIMER_REAL, efault, p_old);
+	printf("setitimer(ITIMER_REAL, %p, %p) = %s\n",
+	       efault, p_old, sprintrc(rc));
+
+	fill_memory(p_old, sizeof(*p_old));
+	rc = syscall(__NR_setitimer, long_timer, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = %s\n",
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec),
+	       sprintrc(rc));
+
+	fill_memory(p_old, sizeof(*p_old));
+	rc = syscall(__NR_getitimer, long_timer, p_old);
+	printf("getitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}) = %s\n",
+	       (long long) p_old->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_interval.tv_usec),
+	       (long long) p_old->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_old->it_value.tv_usec),
+	       sprintrc(rc));
+
+	rc = syscall(__NR_setitimer, bogus_timer, p_new, p_old);
+	printf("setitimer(%#x /* ITIMER_??? */"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (int) bogus_timer,
+	       (long long) new.it_interval.tv_sec,
+	       zero_extend_signed_to_ull(new.it_interval.tv_usec),
+	       (long long) new.it_value.tv_sec,
+	       zero_extend_signed_to_ull(new.it_value.tv_usec),
+	       p_old, sprintrc(rc));
+
+	rc = syscall(__NR_getitimer, bogus_timer, p_old);
+	printf("getitimer(%#x /* ITIMER_??? */, %p) = %s\n",
+	       (int) bogus_timer, p_old, sprintrc(rc));
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		const kernel_ulong_t ill_new = f8ill_ptr_to_kulong(p_new);
+		const kernel_ulong_t ill_old = f8ill_ptr_to_kulong(p_old);
+
+		rc = syscall(__NR_setitimer, long_timer, ill_new, ill_old);
+		printf("setitimer(ITIMER_REAL, %#llx, %#llx) = %s\n",
+		       (unsigned long long) ill_new,
+		       (unsigned long long) ill_old,
+		       sprintrc(rc));
+
+		rc = syscall(__NR_getitimer, long_timer, ill_old);
+		printf("getitimer(ITIMER_REAL, %#llx) = %s\n",
+		       (unsigned long long) ill_old, sprintrc(rc));
+	}
+
+	p_new->it_interval.tv_sec = 0xdeadbeefU;
+	p_new->it_interval.tv_usec = 0xfacefeedU;
+	p_new->it_value.tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	p_new->it_value.tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	rc = setitimer(ITIMER_REAL, p_new, p_old);
+	printf("setitimer(ITIMER_REAL"
+	       ", {it_interval={tv_sec=%lld, tv_usec=%llu}"
+	       ", it_value={tv_sec=%lld, tv_usec=%llu}}, %p) = %s\n",
+	       (long long) p_new->it_interval.tv_sec,
+	       zero_extend_signed_to_ull(p_new->it_interval.tv_usec),
+	       (long long) p_new->it_value.tv_sec,
+	       zero_extend_signed_to_ull(p_new->it_value.tv_usec),
+	       p_old, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/xetitimer.gen.test b/tests/xetitimer.gen.test
new file mode 100755
index 0000000..0cdb926
--- /dev/null
+++ b/tests/xetitimer.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetitimer -a29 -e trace=setitimer,getitimer); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=setitimer,getitimer
diff --git a/tests/xetitimer.test b/tests/xetitimer.test
deleted file mode 100755
index 4aa00cc..0000000
--- a/tests/xetitimer.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check setitimer and getitimer syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=setitimer,getitimer
diff --git a/tests/xetpgid.c b/tests/xetpgid.c
index 24e0d7f..0efffcb 100644
--- a/tests/xetpgid.c
+++ b/tests/xetpgid.c
@@ -2,6 +2,7 @@
  * This file is part of xetpgid strace test.
  *
  * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,13 +40,10 @@
 main(void)
 {
 	const int pid = getpid();
-	long rc = syscall(__NR_getpgid,
-			  (unsigned long) 0xffffffff00000000ULL | pid);
+	long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
 	printf("getpgid(%d) = %ld\n", pid, rc);
 
-	rc = syscall(__NR_setpgid,
-		     (unsigned long) 0xffffffff00000000ULL,
-		     (unsigned long) 0xffffffff00000000ULL | pid);
+	rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid);
 	printf("setpgid(0, %d) = %ld\n", pid, rc);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/xetpgid.gen.test b/tests/xetpgid.gen.test
new file mode 100755
index 0000000..fc57fc4
--- /dev/null
+++ b/tests/xetpgid.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetpgid -a11 -e trace=getpgid,setpgid); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11 -e trace=getpgid,setpgid
diff --git a/tests/xetpgid.test b/tests/xetpgid.test
deleted file mode 100755
index 07f4f9e..0000000
--- a/tests/xetpgid.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpgid and setpgid syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a11 -e trace=getpgid,setpgid
diff --git a/tests/xetpriority.c b/tests/xetpriority.c
index ed55259..30c59c8 100644
--- a/tests/xetpriority.c
+++ b/tests/xetpriority.c
@@ -12,12 +12,11 @@
 {
 	const int pid = getpid();
 	long rc = syscall(__NR_getpriority, PRIO_PROCESS,
-			  (unsigned long) 0xffffffff00000000ULL | pid);
+			  F8ILL_KULONG_MASK | pid);
 	printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
 
 	rc = syscall(__NR_setpriority, PRIO_PROCESS,
-		     (unsigned long) 0xffffffff00000000ULL | pid,
-		     (unsigned long) 0xffffffff00000000ULL);
+		     F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK);
 	printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/xetpriority.gen.test b/tests/xetpriority.gen.test
new file mode 100755
index 0000000..4b95524
--- /dev/null
+++ b/tests/xetpriority.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xetpriority -a29 -e trace=getpriority,setpriority); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a29 -e trace=getpriority,setpriority
diff --git a/tests/xetpriority.test b/tests/xetpriority.test
deleted file mode 100755
index 2c84ba4..0000000
--- a/tests/xetpriority.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check getpriority and setpriority syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a29 -e trace=getpriority,setpriority
diff --git a/tests/xettimeofday.c b/tests/xettimeofday.c
index d36c57b..ec422cf 100644
--- a/tests/xettimeofday.c
+++ b/tests/xettimeofday.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,36 +37,49 @@
 int
 main(void)
 {
-	struct {
-		struct timeval tv;
-		uint32_t pad0[2];
-		struct timezone tz;
-		uint32_t pad1[2];
-	} t = {
-		.pad0 = { 0xdeadbeef, 0xbadc0ded },
-		.pad1 = { 0xdeadbeef, 0xbadc0ded }
-	};
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timeval, tv);
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timezone, tz);
 
-	if (syscall(__NR_gettimeofday, &t.tv, NULL))
+	if (syscall(__NR_gettimeofday, tv, NULL))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}, NULL) = 0\n",
-	       (intmax_t) t.tv.tv_sec, (intmax_t) t.tv.tv_usec);
+	printf("gettimeofday({tv_sec=%lld, tv_usec=%llu}, NULL) = 0\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
 
-	if (syscall(__NR_gettimeofday, &t.tv, &t.tz))
+	if (syscall(__NR_gettimeofday, tv, tz))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}"
+	printf("gettimeofday({tv_sec=%lld, tv_usec=%llu}"
 	       ", {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);
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
 
-	t.tv.tv_sec = -1;
-	t.tv.tv_usec = 1000000000;
-	assert(syscall(__NR_settimeofday, &t.tv, &t.tz) == -1);
-	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,
-	       t.tz.tz_minuteswest, t.tz.tz_dsttime);
+	tv->tv_sec = -1;
+	tv->tv_usec = 1000000;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
+
+	tv->tv_sec = 0xdeadbeefU;
+	tv->tv_usec = 0xfacefeedU;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
+
+	tv->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv->tv_usec = (long) 0xbadc0dedfacefeedLL;
+	assert(syscall(__NR_settimeofday, tv, tz) == -1);
+	printf("settimeofday({tv_sec=%lld, tv_usec=%llu}"
+	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = -1 EINVAL (%m)\n",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec),
+	       tz->tz_minuteswest, tz->tz_dsttime);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/xettimeofday.gen.test b/tests/xettimeofday.gen.test
new file mode 100755
index 0000000..1a021e4
--- /dev/null
+++ b/tests/xettimeofday.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (xettimeofday -a20 -e trace=gettimeofday,settimeofday); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday
diff --git a/tests/xettimeofday.test b/tests/xettimeofday.test
deleted file mode 100755
index 68764e4..0000000
--- a/tests/xettimeofday.test
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Check gettimeofday and settimeofday syscalls decoding.
-
-. "${srcdir=.}/init.sh"
-run_strace_match_diff -a20 -e trace=gettimeofday,settimeofday
diff --git a/tests/xselect.c b/tests/xselect.c
index 39e87ac..e1638c8 100644
--- a/tests/xselect.c
+++ b/tests/xselect.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,6 +32,7 @@
 
 #include <assert.h>
 #include <stdio.h>
+#include <string.h>
 #include <unistd.h>
 #include <sys/select.h>
 
@@ -38,14 +40,10 @@
 
 int main(void)
 {
+	TAIL_ALLOC_OBJECT_CONST_PTR(struct timeval, tv);
+	struct timeval tv_in;
 	int fds[2];
-	struct {
-		struct timeval tv;
-		int pad[2];
-	} tm_in = {
-		.tv = { .tv_sec = 0xc0de1, .tv_usec = 0xc0de2 },
-		.pad = { 0xdeadbeef, 0xbadc0ded }
-	}, tm = tm_in;
+	long rc;
 
 	if (pipe(fds))
 		perror_msg_and_fail("pipe");
@@ -56,7 +54,7 @@
 	FD_ZERO(set);
 	FD_SET(fds[0], set);
 	FD_SET(fds[1], set);
-	int rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, NULL);
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, NULL);
 	if (rc < 0)
 		perror_msg_and_skip(TEST_SYSCALL_STR);
 	assert(rc == 1);
@@ -65,19 +63,73 @@
 	       fds[0], fds[1], fds[0], fds[1]);
 
 	/*
+	 * Odd timeout.
+	 */
+	FD_SET(fds[0], set);
+	FD_SET(fds[1], set);
+	tv->tv_sec = 0xdeadbeefU;
+	tv->tv_usec = 0xfacefeedU;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, tv);
+	if (rc < 0) {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %s\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec), sprintrc(rc));
+	} else {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %ld"
+		       " (left {tv_sec=%lld, tv_usec=%llu})\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv_in.tv_sec,
+		       zero_extend_signed_to_ull(tv_in.tv_usec),
+		       rc, (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec));
+	}
+
+	FD_SET(fds[0], set);
+	FD_SET(fds[1], set);
+	tv->tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv->tv_usec = (long) 0xbadc0dedfacefeedLL;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	rc = syscall(TEST_SYSCALL_NR, fds[1] + 1, set, set, set, tv);
+	if (rc < 0) {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %s\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec), sprintrc(rc));
+	} else {
+		printf("%s(%d, [%d %d], [%d %d], [%d %d]"
+		       ", {tv_sec=%lld, tv_usec=%llu}) = %ld"
+		       " (left {tv_sec=%lld, tv_usec=%llu})\n",
+		       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
+		       fds[0], fds[1], fds[0], fds[1], (long long) tv_in.tv_sec,
+		       zero_extend_signed_to_ull(tv_in.tv_usec),
+		       rc, (long long) tv->tv_sec,
+		       zero_extend_signed_to_ull(tv->tv_usec));
+	}
+
+	/*
 	 * Another simple one, with a timeout.
 	 */
 	FD_SET(1, set);
 	FD_SET(2, set);
 	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, {tv_sec=%lld, tv_usec=%lld})"
-	       " = 3 (out [1 2 %d], left {tv_sec=%lld, tv_usec=%lld})\n",
+	tv->tv_sec = 0xc0de1;
+	tv->tv_usec = 0xc0de2;
+	memcpy(&tv_in, tv, sizeof(tv_in));
+	assert(syscall(TEST_SYSCALL_NR, fds[1] + 1, NULL, set, NULL, tv) == 3);
+	printf("%s(%d, NULL, [1 2 %d %d], NULL, {tv_sec=%lld, tv_usec=%llu})"
+	       " = 3 (out [1 2 %d], left {tv_sec=%lld, tv_usec=%llu})\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,
+	       (long long) tv_in.tv_sec,
+	       zero_extend_signed_to_ull(tv_in.tv_usec),
 	       fds[1],
-	       (long long) tm.tv.tv_sec, (long long) tm.tv.tv_usec);
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
 
 	/*
 	 * Now the crash case that trinity found, negative nfds
@@ -94,9 +146,9 @@
 	 */
 	FD_ZERO(set);
 	FD_SET(fds[0],set);
-	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);
+	tv->tv_sec = 0;
+	tv->tv_usec = 123;
+	assert(syscall(TEST_SYSCALL_NR, FD_SETSIZE + 1, set, set + 1, NULL, tv) == 0);
 	printf("%s(%d, [%d], [], NULL, {tv_sec=0, tv_usec=123}) = 0 (Timeout)\n",
 	       TEST_SYSCALL_STR, FD_SETSIZE + 1, fds[0]);
 
diff --git a/tests/xstatfsx.c b/tests/xstatfsx.c
index d8288f1..cb524ff 100644
--- a/tests/xstatfsx.c
+++ b/tests/xstatfsx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2016-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,9 +63,9 @@
 {
 	int fd = open(sample, O_RDONLY);
 	if (fd < 0)
-		perror_msg_and_fail("open: %s", sample);
+		perror_msg_and_skip("open: %s", sample);
 
-	STRUCT_STATFS *const b = tail_alloc(sizeof(*b));
+	TAIL_ALLOC_OBJECT_CONST_PTR(STRUCT_STATFS, b);
 	long rc = SYSCALL_INVOKE(sample, fd, b, sizeof(*b));
 	if (rc)
 		perror_msg_and_skip(SYSCALL_NAME);
diff --git a/tests/xstatx.c b/tests/xstatx.c
index 0d5fca8..8758ef8 100644
--- a/tests/xstatx.c
+++ b/tests/xstatx.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,26 +48,7 @@
 # include <unistd.h>
 # include <sys/sysmacros.h>
 
-static void
-print_time(const time_t t)
-{
-	if (!t) {
-		printf("0");
-		return;
-	}
-
-	struct tm *p = localtime(&t);
-
-	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));
-	}
-}
+# include "statx.h"
 
 # ifndef STRUCT_STAT
 #  define STRUCT_STAT struct stat
@@ -130,6 +112,10 @@
 #  define OLD_STAT 0
 # endif
 
+# ifndef IS_STATX
+#  define IS_STATX 0
+# endif
+
 static void
 print_ftype(const unsigned int mode)
 {
@@ -151,6 +137,8 @@
 	printf("%#o", mode & ~S_IFMT);
 }
 
+# if !IS_STATX
+
 static void
 print_stat(const STRUCT_STAT *st)
 {
@@ -165,12 +153,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
+#  if OLD_STAT
 	printf(", st_blksize=0, st_blocks=0");
-# else /* !OLD_STAT */
+#  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 */
+#  endif /* OLD_STAT */
 
 	switch (st->st_mode & S_IFMT) {
 	case S_IFCHR: case S_IFBLK:
@@ -182,27 +170,87 @@
 		printf(", st_size=%llu", zero_extend_signed_to_ull(st->st_size));
 	}
 
-	printf(", st_atime=");
-	print_time(sign_extend_unsigned_to_ll(st->st_atime));
-# 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));
-# 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));
-# 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
+#  if defined(HAVE_STRUCT_STAT_ST_MTIME_NSEC) && !OLD_STAT
+#   define TIME_NSEC(val)	zero_extend_signed_to_ull(val)
+#   define HAVE_NSEC		1
+#  else
+#   define TIME_NSEC(val)	0ULL
+#   define HAVE_NSEC		0
+#  endif
+
+#define PRINT_ST_TIME(field)						\
+	printf(", st_" #field "=%lld",					\
+	       sign_extend_unsigned_to_ll(st->st_ ## field));		\
+	print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field),	\
+			  TIME_NSEC(st->st_ ## field ## _nsec), 1);	\
+	if (HAVE_NSEC)							\
+		printf(", st_" #field "_nsec=%llu",			\
+		       TIME_NSEC(st->st_ ## field ## _nsec))
+
+	PRINT_ST_TIME(atime);
+	PRINT_ST_TIME(mtime);
+	PRINT_ST_TIME(ctime);
 	printf("}");
 }
 
+# else /* !IS_STATX */
+
+static void
+print_stat(const STRUCT_STAT *st)
+{
+#  define PRINT_FIELD_U(field) \
+	printf(", %s=%llu", #field, (unsigned long long) st->field)
+
+#  define PRINT_FIELD_U32_UID(field) \
+	if (st->field == (uint32_t) -1) \
+		printf(", %s=-1", #field); \
+	else \
+		printf(", %s=%llu", #field, (unsigned long long) st->field)
+
+#  define PRINT_FIELD_TIME(field)					\
+	printf(", %s={tv_sec=%lld, tv_nsec=%u}",			\
+	       #field, (long long) st->field.tv_sec,			\
+	       (unsigned) st->field.tv_nsec);				\
+	print_time_t_nsec(st->field.tv_sec,				\
+			  zero_extend_signed_to_ull(st->field.tv_nsec), 1);
+
+	printf("{stx_mask=");
+	printflags(statx_masks, st->stx_mask, "STATX_???");
+
+	PRINT_FIELD_U(stx_blksize);
+
+	printf(", stx_attributes=");
+	printflags(statx_attrs, st->stx_attributes, "STATX_ATTR_???");
+
+	PRINT_FIELD_U(stx_nlink);
+	PRINT_FIELD_U32_UID(stx_uid);
+	PRINT_FIELD_U32_UID(stx_gid);
+
+	printf(", stx_mode=");
+	print_ftype(st->stx_mode);
+	printf("|");
+	print_perms(st->stx_mode);
+
+	PRINT_FIELD_U(stx_ino);
+	PRINT_FIELD_U(stx_size);
+	PRINT_FIELD_U(stx_blocks);
+
+	printf(", stx_attributes_mask=");
+	printflags(statx_attrs, st->stx_attributes_mask, "STATX_ATTR_???");
+
+	PRINT_FIELD_TIME(stx_atime);
+	PRINT_FIELD_TIME(stx_btime);
+	PRINT_FIELD_TIME(stx_ctime);
+	PRINT_FIELD_TIME(stx_mtime);
+	PRINT_FIELD_U(stx_rdev_major);
+	PRINT_FIELD_U(stx_rdev_minor);
+	PRINT_FIELD_U(stx_dev_major);
+	PRINT_FIELD_U(stx_dev_minor);
+	printf("}");
+}
+
+# endif /* !IS_STATX */
+
 static int
 create_sample(const char *fname, const libc_off_t size)
 {
@@ -229,19 +277,19 @@
 int
 main(void)
 {
-# if !IS_FSTAT
+# if IS_FSTAT
+	skip_if_unavailable("/proc/self/fd/");
+# else
 	static const char full[] = "/dev/full";
 # endif
-	static const char sample[] = TEST_SYSCALL_STR ".sample";
-	STRUCT_STAT st[2];
+	static const char sample[] = "stat.sample";
+	TAIL_ALLOC_OBJECT_CONST_PTR(STRUCT_STAT, st);
 
 	int rc;
 
 	rc = create_sample(sample, SAMPLE_SIZE);
-	if (rc) {
-		(void) unlink(sample);
+	if (rc)
 		return rc;
-	}
 
 # if TEST_BOGUS_STRUCT_STAT
 	STRUCT_STAT *st_cut = tail_alloc(sizeof(long) * 4);
@@ -262,46 +310,71 @@
 # endif
 
 	if ((rc = TEST_SYSCALL_INVOKE(sample, st))) {
-# if OLD_STAT
-		if (errno != EOVERFLOW)
-# endif
-		{
+		if (errno != EOVERFLOW) {
+			rc = (errno == ENOSYS) ? 77 : 1;
 			perror(TEST_SYSCALL_STR);
-			(void) unlink(sample);
-			return 77;
+			return rc;
 		}
 	}
-	(void) unlink(sample);
+
+# if IS_STATX
+#  define ST_SIZE_FIELD stx_size
+# else
+#  define ST_SIZE_FIELD st_size
+# endif
 	if (!rc && zero_extend_signed_to_ull(SAMPLE_SIZE) !=
-	    zero_extend_signed_to_ull(st[0].st_size)) {
+	    zero_extend_signed_to_ull(st->ST_SIZE_FIELD)) {
 		fprintf(stderr, "Size mismatch: "
 				"requested size(%llu) != st_size(%llu)\n",
 			zero_extend_signed_to_ull(SAMPLE_SIZE),
-			zero_extend_signed_to_ull(st[0].st_size));
+			zero_extend_signed_to_ull(st->ST_SIZE_FIELD));
 		fprintf(stderr, "The most likely reason for this is incorrect"
 				" definition of %s.\n"
 				"Here is some diagnostics that might help:\n",
 			STRUCT_STAT_STR);
 
-#define LOG_STAT_OFFSETOF_SIZEOF(object, member)			\
+# 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 */
+# if IS_STATX
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mask);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_blksize);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_attributes);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_nlink);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_uid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_gid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mode);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_ino);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_size);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_blocks);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_attributes_mask);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_atime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_btime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_ctime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_mtime);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_rdev_major);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_rdev_minor);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_dev_major);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, stx_dev_minor);
+# else
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_dev);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_ino);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_mode);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_nlink);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_uid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_gid);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_rdev);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_size);
+#  if !OLD_STAT
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_blksize);
+		LOG_STAT_OFFSETOF_SIZEOF(*st, st_blocks);
+#  endif /* !OLD_STAT */
+
+# endif /* IS_STATX */
 
 		return 1;
 	}
@@ -313,6 +386,63 @@
 		print_stat(st);
 	PRINT_SYSCALL_FOOTER(rc);
 
+# if IS_STATX
+
+#  define INVOKE() \
+	rc = TEST_SYSCALL_INVOKE(sample, st); \
+	PRINT_SYSCALL_HEADER(sample); \
+	if (rc) \
+		printf("%p", st); \
+	else \
+		print_stat(st); \
+	PRINT_SYSCALL_FOOTER(rc)
+
+#  define SET_FLAGS_INVOKE(flags, flags_str) \
+	TEST_SYSCALL_STATX_FLAGS = flags; \
+	TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
+	INVOKE()
+
+#  define SET_MASK_INVOKE(mask, mask_str) \
+	TEST_SYSCALL_STATX_MASK = mask; \
+	TEST_SYSCALL_STATX_MASK_STR = mask_str; \
+	INVOKE()
+
+	unsigned old_flags = TEST_SYSCALL_STATX_FLAGS;
+	const char *old_flags_str = TEST_SYSCALL_STATX_FLAGS_STR;
+	unsigned old_mask = TEST_SYSCALL_STATX_MASK;
+	const char *old_mask_str = TEST_SYSCALL_STATX_MASK_STR;
+
+	SET_FLAGS_INVOKE(AT_SYMLINK_FOLLOW | 0xffff0000U,
+		"AT_STATX_SYNC_AS_STAT|AT_SYMLINK_FOLLOW|0xffff0000");
+
+	SET_FLAGS_INVOKE(AT_STATX_SYNC_TYPE,
+		"AT_STATX_FORCE_SYNC|AT_STATX_DONT_SYNC");
+
+	SET_FLAGS_INVOKE(0xffffff,
+		"AT_STATX_FORCE_SYNC|AT_STATX_DONT_SYNC|AT_SYMLINK_NOFOLLOW|"
+		"AT_REMOVEDIR|AT_SYMLINK_FOLLOW|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|"
+		"0xff80ff");
+
+	/* We're done playing with flags. */
+	TEST_SYSCALL_STATX_FLAGS = old_flags;
+	TEST_SYSCALL_STATX_FLAGS_STR = old_flags_str;
+
+	SET_MASK_INVOKE(0, "0");
+	SET_MASK_INVOKE(0xfffff000U, "0xfffff000 /* STATX_??? */");
+
+	SET_MASK_INVOKE(0xfffffffbU,
+		"STATX_TYPE|STATX_MODE|STATX_UID|STATX_GID|STATX_ATIME|"
+		"STATX_MTIME|STATX_CTIME|STATX_INO|STATX_SIZE|STATX_BLOCKS|"
+		"STATX_BTIME|0xfffff000");
+
+	SET_MASK_INVOKE(STATX_UID, "STATX_UID");
+
+	/* ...and with mask. */
+	TEST_SYSCALL_STATX_MASK = old_mask;
+	TEST_SYSCALL_STATX_MASK_STR = old_mask_str;
+
+# endif /* IS_STATX */
+
 	puts("+++ exited with 0 +++");
 	return 0;
 }
diff --git a/tests/xutimes.c b/tests/xutimes.c
new file mode 100644
index 0000000..5fd7161
--- /dev/null
+++ b/tests/xutimes.c
@@ -0,0 +1,149 @@
+/*
+ * Check decoding of utimes/osf_utimes syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * 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 TEST_SYSCALL_NR
+# error TEST_SYSCALL_NR must be defined
+#endif
+
+#ifndef TEST_SYSCALL_STR
+# error TEST_SYSCALL_STR must be defined
+#endif
+
+#ifndef TEST_STRUCT
+# error TEST_STRUCT must be defined
+#endif
+
+#include <stdint.h>
+#include <stdio.h>
+#include <sys/time.h>
+#include <unistd.h>
+
+static void
+print_tv(const TEST_STRUCT *const tv)
+{
+	printf("{tv_sec=%lld, tv_usec=%llu}",
+	       (long long) tv->tv_sec,
+	       zero_extend_signed_to_ull(tv->tv_usec));
+	print_time_t_usec(tv->tv_sec,
+			  zero_extend_signed_to_ull(tv->tv_usec), 1);
+}
+
+static const char *errstr;
+
+static long
+k_utimes(const kernel_ulong_t pathname, const kernel_ulong_t times)
+{
+	long rc = syscall(TEST_SYSCALL_NR, pathname, times);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	static const char proto_fname[] = TEST_SYSCALL_STR "_sample";
+	static const char qname[] = "\"" TEST_SYSCALL_STR "_sample\"";
+
+	char *const fname = tail_memdup(proto_fname, sizeof(proto_fname));
+	const kernel_ulong_t kfname = (uintptr_t) fname;
+	TEST_STRUCT *const tv = tail_alloc(sizeof(*tv) * 2);
+
+	/* pathname */
+	k_utimes(0, 0);
+	printf("%s(NULL, NULL) = %s\n", TEST_SYSCALL_STR, errstr);
+
+	k_utimes(kfname + sizeof(proto_fname) - 1, 0);
+	printf("%s(\"\", NULL) = %s\n", TEST_SYSCALL_STR, errstr);
+
+	k_utimes(kfname, 0);
+	printf("%s(%s, NULL) = %s\n", TEST_SYSCALL_STR, qname, errstr);
+
+	fname[sizeof(proto_fname) - 1] = '+';
+	k_utimes(kfname, 0);
+	fname[sizeof(proto_fname) - 1] = '\0';
+	printf("%s(%p, NULL) = %s\n", TEST_SYSCALL_STR, fname, errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimes(f8ill_ptr_to_kulong(fname), 0);
+		printf("%s(%#jx, NULL) = %s\n", TEST_SYSCALL_STR,
+		       (uintmax_t) f8ill_ptr_to_kulong(fname), errstr);
+	}
+
+	/* times */
+	k_utimes(kfname, (uintptr_t) (tv + 1));
+	printf("%s(%s, %p) = %s\n", TEST_SYSCALL_STR,
+	       qname, tv + 1, errstr);
+
+	k_utimes(kfname, (uintptr_t) (tv + 2));
+	printf("%s(%s, %p) = %s\n", TEST_SYSCALL_STR,
+	       qname, tv + 2, errstr);
+
+	tv[0].tv_sec = 0xdeadbeefU;
+	tv[0].tv_usec = 0xfacefeedU;
+	tv[1].tv_sec = (time_t) 0xcafef00ddeadbeefLL;
+	tv[1].tv_usec = (long) 0xbadc0dedfacefeedLL;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_sec = 1492358607;
+	tv[0].tv_usec = 1000000;
+	tv[1].tv_sec = 1492356078;
+	tv[1].tv_usec = 1000001;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	tv[0].tv_usec = 345678;
+	tv[1].tv_usec = 456789;
+
+	k_utimes(kfname, (uintptr_t) tv);
+	printf("%s(%s, [", TEST_SYSCALL_STR, qname);
+	print_tv(&tv[0]);
+	printf(", ");
+	print_tv(&tv[1]);
+	printf("]) = %s\n", errstr);
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		k_utimes(kfname, f8ill_ptr_to_kulong(tv));
+		printf("%s(%s, %#jx) = %s\n", TEST_SYSCALL_STR,
+		       qname, (uintmax_t) f8ill_ptr_to_kulong(tv), errstr);
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/time.c b/time.c
index 6c542f6..6cba48c 100644
--- a/time.c
+++ b/time.c
@@ -2,6 +2,7 @@
  * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
  * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
  * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/times.c b/times.c
index b165a2b..1ba0168 100644
--- a/times.c
+++ b/times.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2012 H.J. Lu <hongjiu.lu@intel.com>
  * Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/ubi.c b/ubi.c
index b470655..65db02d 100644
--- a/ubi.c
+++ b/ubi.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2012 Mike Frysinger <vapier@gentoo.org>
+ * Copyright (c) 2012-2017 The strace developers.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
diff --git a/unwind.c b/unwind.c
index 326d184..2451742 100644
--- a/unwind.c
+++ b/unwind.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2013 Luca Clementi <luca.clementi@gmail.com>
+ * Copyright (c) 2013-2017 The strace developers.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -41,7 +42,7 @@
 #define DPRINTF(F, A, ...) if (debug_flag) error_msg("[unwind(" A ")] " F, __VA_ARGS__)
 
 /*
- * Кeep a sorted array of cache entries,
+ * Keep a sorted array of cache entries,
  * so that we can binary search through it.
  */
 struct mmap_cache_t {
@@ -159,7 +160,7 @@
 		struct mmap_cache_t *entry;
 		unsigned long start_addr, end_addr, mmap_offset;
 		char exec_bit;
-		char binary_path[PATH_MAX];
+		char binary_path[sizeof(buffer)];
 
 		if (sscanf(buffer, "%lx-%lx %*c%*c%c%*c %lx %*x:%*x %*d %[^\n]",
 			   &start_addr, &end_addr, &exec_bit,
diff --git a/upeek.c b/upeek.c
index 01a12d3..22ee82d 100644
--- a/upeek.c
+++ b/upeek.c
@@ -6,6 +6,7 @@
  * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  *                     Linux for s390 port by D.J. Barrow
  *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/userfaultfd.c b/userfaultfd.c
index aeeb3ea..6003588 100644
--- a/userfaultfd.c
+++ b/userfaultfd.c
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/util.c b/util.c
index a38f821..9b1c411 100644
--- a/util.c
+++ b/util.c
@@ -6,6 +6,7 @@
  * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  *                     Linux for s390 port by D.J. Barrow
  *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * Copyright (c) 1999-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -251,8 +252,7 @@
 	}
 	/* No hits -- print raw # instead. */
 	tprintf("%#" PRIx64, val);
-	if (dflt)
-		tprintf(" /* %s */", dflt);
+	tprints_comment(dflt);
 
 	va_end(args);
 
@@ -285,8 +285,7 @@
 	}
 
 	tprintf("%#" PRIx64, val);
-	if (dflt)
-		tprintf(" /* %s */", dflt);
+	tprints_comment(dflt);
 
 	return 0;
 }
@@ -355,7 +354,6 @@
 /*
  * Interpret `xlat' as an array of flags
  * print the entries whose bits are on in `flags'
- * return # of flags printed.
  */
 void
 addflags(const struct xlat *xlat, uint64_t flags)
@@ -439,8 +437,7 @@
 	} else {
 		if (flags) {
 			tprintf("%#" PRIx64, flags);
-			if (dflt)
-				tprintf(" /* %s */", dflt);
+			tprints_comment(dflt);
 		} else {
 			if (dflt)
 				tprints("0");
@@ -545,23 +542,62 @@
 }
 #endif /* !current_klongsize */
 
-const char *
-sprinttime(time_t t)
+/**
+ * Prints time to a (static internal) buffer and returns pointer to it.
+ *
+ * @param sec		Seconds since epoch.
+ * @param part_sec	Amount of second parts since the start of a second.
+ * @param max_part_sec	Maximum value of a valid part_sec.
+ * @param width		1 + floor(log10(max_part_sec)).
+ */
+static const char *
+sprinttime_ex(const long long sec, const unsigned long long part_sec,
+	      const unsigned int max_part_sec, const int width)
 {
-	struct tm *tmp;
-	static char buf[sizeof(int) * 3 * 6 + sizeof("+0000")];
+	static char buf[sizeof(int) * 3 * 6 + sizeof(part_sec) * 3
+			+ sizeof("+0000")];
 
-	if (t == 0) {
-		strcpy(buf, "0");
-		return buf;
+	if ((sec == 0 && part_sec == 0) || part_sec > max_part_sec)
+		return NULL;
+
+	time_t t = (time_t) sec;
+	struct tm *tmp = (sec == t) ? localtime(&t) : NULL;
+	if (!tmp)
+		return NULL;
+
+	size_t pos = strftime(buf, sizeof(buf), "%FT%T", tmp);
+	if (!pos)
+		return NULL;
+
+	if (part_sec > 0) {
+		int ret = snprintf(buf + pos, sizeof(buf) - pos, ".%0*llu",
+				   width, part_sec);
+
+		if (ret < 0 || (size_t) ret >= sizeof(buf) - pos)
+			return NULL;
+
+		pos += ret;
 	}
-	tmp = localtime(&t);
-	if (tmp)
-		strftime(buf, sizeof(buf), "%FT%T%z", tmp);
-	else
-		snprintf(buf, sizeof(buf), "%lu", (unsigned long) t);
 
-	return buf;
+	return strftime(buf + pos, sizeof(buf) - pos, "%z", tmp) ? buf : NULL;
+}
+
+const char *
+sprinttime(long long sec)
+{
+	return sprinttime_ex(sec, 0, 0, 0);
+}
+
+const char *
+sprinttime_usec(long long sec, unsigned long long usec)
+{
+	return sprinttime_ex(sec, usec, 999999, 6);
+}
+
+const char *
+sprinttime_nsec(long long sec, unsigned long long nsec)
+{
+	return sprinttime_ex(sec, nsec, 999999999, 9);
 }
 
 enum sock_proto
@@ -1536,6 +1572,17 @@
 	return RVAL_DECODED;
 }
 
+/* Print abnormal high bits of a kernel_ulong_t value. */
+void
+print_abnormal_hi(const kernel_ulong_t val)
+{
+	if (current_klongsize > 4) {
+		const unsigned int hi = (unsigned int) ((uint64_t) val >> 32);
+		if (hi)
+			tprintf("%#x<<32|", hi);
+	}
+}
+
 #if defined _LARGEFILE64_SOURCE && defined HAVE_OPEN64
 # define open_file open64
 #else
diff --git a/utime.c b/utime.c
index 8126b35..6ab6d89 100644
--- a/utime.c
+++ b/utime.c
@@ -15,8 +15,11 @@
 	printpath(tcp, tcp->u_arg[0]);
 	tprints(", ");
 	if (!umove_or_printaddr(tcp, tcp->u_arg[1], &u)) {
-		tprintf("{actime=%s,", sprinttime(u.actime));
-		tprintf(" modtime=%s}", sprinttime(u.modtime));
+		tprintf("{actime=%lld", (long long) u.actime);
+		tprints_comment(sprinttime(u.actime));
+		tprintf(", modtime=%lld", (long long) u.modtime);
+		tprints_comment(sprinttime(u.modtime));
+		tprints("}");
 	}
 
 	return RVAL_DECODED;
diff --git a/utimes.c b/utimes.c
index 2908529..311ca2d 100644
--- a/utimes.c
+++ b/utimes.c
@@ -6,6 +6,7 @@
  * Copyright (c) 2006-2007 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2006 Bernhard Kaindl <bk@suse.de>
  * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,7 +38,7 @@
 {
 	printpath(tcp, tcp->u_arg[0]);
 	tprints(", ");
-	print_timeval_pair(tcp, tcp->u_arg[1]);
+	print_timeval_utimes(tcp, tcp->u_arg[1]);
 
 	return RVAL_DECODED;
 }
@@ -47,7 +48,7 @@
 	print_dirfd(tcp, tcp->u_arg[0]);
 	printpath(tcp, tcp->u_arg[1]);
 	tprints(", ");
-	print_timeval_pair(tcp, tcp->u_arg[2]);
+	print_timeval_utimes(tcp, tcp->u_arg[2]);
 
 	return RVAL_DECODED;
 }
@@ -69,7 +70,7 @@
 {
 	printpath(tcp, tcp->u_arg[0]);
 	tprints(", ");
-	print_timeval32_pair(tcp, tcp->u_arg[1]);
+	print_timeval32_utimes(tcp, tcp->u_arg[1]);
 
 	return RVAL_DECODED;
 }
diff --git a/v4l2.c b/v4l2.c
index 637e878..ad29722 100644
--- a/v4l2.c
+++ b/v4l2.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2014 Philippe De Muyter <phdm@macqel.be>
  * Copyright (c) 2014 William Manley <will@williammanley.net>
  * Copyright (c) 2011 Peter Zotov <whitequark@whitequark.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -30,6 +31,7 @@
 #include "defs.h"
 
 #include DEF_MPERS_TYPE(struct_v4l2_buffer)
+#include DEF_MPERS_TYPE(struct_v4l2_clip)
 #include DEF_MPERS_TYPE(struct_v4l2_create_buffers)
 #include DEF_MPERS_TYPE(struct_v4l2_ext_control)
 #include DEF_MPERS_TYPE(struct_v4l2_ext_controls)
@@ -44,6 +46,7 @@
 #include <linux/videodev2.h>
 
 typedef struct v4l2_buffer struct_v4l2_buffer;
+typedef struct v4l2_clip struct_v4l2_clip;
 typedef struct v4l2_create_buffers struct_v4l2_create_buffers;
 typedef struct v4l2_ext_control struct_v4l2_ext_control;
 typedef struct v4l2_ext_controls struct_v4l2_ext_controls;
@@ -200,10 +203,22 @@
 
 #include "xlat/v4l2_fields.h"
 #include "xlat/v4l2_colorspaces.h"
+#include "xlat/v4l2_vbi_flags.h"
+#include "xlat/v4l2_sliced_flags.h"
 
-static void
-print_v4l2_format_fmt(const char *prefix, const struct_v4l2_format *f)
+static bool
+print_v4l2_clip(struct tcb *tcp, void *elem_buf, size_t elem_size, void* data)
 {
+	const struct_v4l2_clip *p = elem_buf;
+	tprintf(FMT_RECT, ARGS_RECT(p->c));
+	return true;
+}
+
+static bool
+print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix,
+		      const struct_v4l2_format *f)
+{
+	bool ret = true;
 	switch (f->type) {
 	case V4L2_BUF_TYPE_VIDEO_CAPTURE:
 	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
@@ -244,42 +259,97 @@
 				f->fmt.pix_mp.plane_fmt[i].sizeimage,
 				f->fmt.pix_mp.plane_fmt[i].bytesperline);
 		}
-		tprintf("], num_planes=%u}", (unsigned) f->fmt.pix_mp.num_planes);
+		tprintf("], num_planes=%u}",
+			(unsigned) f->fmt.pix_mp.num_planes);
 		break;
 	}
 #endif
-
-	/* TODO: Complete this switch statement */
-#if 0
-	case V4L2_BUF_TYPE_VIDEO_OVERLAY:
+	/* OUTPUT_OVERLAY since Linux v2.6.22-rc1~1118^2~179 */
 #if HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
 	case V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY:
 #endif
+	case V4L2_BUF_TYPE_VIDEO_OVERLAY: {
+		struct_v4l2_clip clip;
 		tprints(prefix);
-		tprints("fmt.win={???}");
+		tprintf("fmt.win={left=%d, top=%d, width=%u, height=%u, field=",
+			ARGS_RECT(f->fmt.win.w));
+		printxval(v4l2_fields, f->fmt.win.field, "V4L2_FIELD_???");
+		tprintf(", chromakey=%#x, clips=", f->fmt.win.chromakey);
+		ret = print_array(tcp, ptr_to_kulong(f->fmt.win.clips),
+				  f->fmt.win.clipcount, &clip, sizeof(clip),
+				  umoven_or_printaddr, print_v4l2_clip, 0);
+		tprintf(", clipcount=%u, bitmap=", f->fmt.win.clipcount);
+		printaddr(ptr_to_kulong(f->fmt.win.bitmap));
+#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+		tprintf(", global_alpha=%#x", f->fmt.win.global_alpha);
+#endif
+		tprints("}");
 		break;
-
+	}
 	case V4L2_BUF_TYPE_VBI_CAPTURE:
 	case V4L2_BUF_TYPE_VBI_OUTPUT:
 		tprints(prefix);
-		tprints("fmt.vbi={???}");
+		tprintf("fmt.vbi={sampling_rate=%u, offset=%u, "
+			"samples_per_line=%u, sample_format=",
+			f->fmt.vbi.sampling_rate, f->fmt.vbi.offset,
+			f->fmt.vbi.samples_per_line);
+		print_pixelformat(f->fmt.vbi.sample_format);
+		tprintf(", start=[%u, %u], count=[%u, %u], ",
+			f->fmt.vbi.start[0], f->fmt.vbi.start[1],
+			f->fmt.vbi.count[0], f->fmt.vbi.count[1]);
+		tprints("flags=");
+		printxval(v4l2_vbi_flags, f->fmt.vbi.flags, "V4L2_VBI_???");
+		tprints("}");
 		break;
-
+	/* both since Linux v2.6.14-rc2~64 */
+#if HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
 	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
-	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
-		tprints(prefix);
-		tprints("fmt.sliced={???}");
-		break;
+	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT: {
+		unsigned int i, j;
 
+		tprints(prefix);
+		tprints("fmt.sliced={service_set=");
+		printxval(v4l2_sliced_flags, f->fmt.sliced.service_set,
+			"V4L2_SLICED_???");
+		tprintf(", io_size=%u, service_lines=[",
+			f->fmt.sliced.io_size);
+		for (i = 0; i < ARRAY_SIZE(f->fmt.sliced.service_lines); i++) {
+			if (i > 0)
+				tprints(", ");
+			tprints("[");
+			for (j = 0;
+			     j < ARRAY_SIZE(f->fmt.sliced.service_lines[0]);
+			     j++) {
+				if (j > 0)
+					tprints(", ");
+				tprintf("%#x",
+					f->fmt.sliced.service_lines[i][j]);
+			}
+			tprints("]");
+		}
+		tprints("]}");
+		break;
+	}
+#endif
+	/* since Linux v4.4-rc1~118^2~14 */
+#if HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT
+	case V4L2_BUF_TYPE_SDR_OUTPUT:
+#endif
+	/* since Linux v3.15-rc1~85^2~213 */
 #if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
 	case V4L2_BUF_TYPE_SDR_CAPTURE:
-	case V4L2_BUF_TYPE_SDR_OUTPUT:
 		tprints(prefix);
-		tprints("fmt.sdr={???}");
+		tprints("fmt.sdr={pixelformat=");
+		print_pixelformat(f->fmt.sdr.pixelformat);
+#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+		tprintf(", buffersize=%u",
+			f->fmt.sdr.buffersize);
+#endif
+		tprints("}");
 		break;
 #endif
-#endif
 	}
+	return ret;
 }
 
 static int
@@ -296,11 +366,14 @@
 		printxval(v4l2_buf_types, f.type, "V4L2_BUF_TYPE_???");
 		if (is_get)
 			return 0;
-		print_v4l2_format_fmt(", ", &f);
+		if (!print_v4l2_format_fmt(tcp, ", ", &f)) {
+			tprints("}");
+			return RVAL_DECODED | 1;
+		}
 	} else {
 		if (!syserror(tcp) && !umove(tcp, arg, &f)) {
 			const char *delim = is_get ? ", " : " => ";
-			print_v4l2_format_fmt(delim, &f);
+			print_v4l2_format_fmt(tcp, delim, &f);
 		}
 		tprints("}");
 	}
@@ -557,6 +630,54 @@
 	return 1;
 }
 
+#include "xlat/v4l2_tuner_types.h"
+#include "xlat/v4l2_tuner_capabilities.h"
+#include "xlat/v4l2_tuner_rxsubchanses.h"
+#include "xlat/v4l2_tuner_audmodes.h"
+
+static int
+print_v4l2_tuner(struct tcb *const tcp, const kernel_ulong_t arg,
+		 const bool is_get)
+{
+	struct v4l2_tuner c;
+	if (entering(tcp)) {
+		tprints(", ");
+		if (umove_or_printaddr(tcp, arg, &c))
+			return RVAL_DECODED | 1;
+		tprintf("{index=%u", c.index);
+		if (is_get)
+			return 0;
+		tprints(", ");
+	} else {
+		if (syserror(tcp) || umove(tcp, arg, &c) < 0) {
+			tprints("}");
+			return 1;
+		}
+		tprints(is_get ? ", " : " => ");
+	}
+
+	tprints("name=");
+	print_quoted_string((const char *) c.name, sizeof(c.name),
+			    QUOTE_0_TERMINATED);
+	tprints(", type=");
+	printxval(v4l2_tuner_types, c.type, "V4L2_TUNER_TYPE_???");
+	tprints(", capability=");
+	printxval(v4l2_tuner_capabilities, c.capability,
+		  "V4L2_TUNER_CAP_???");
+	tprintf(", rangelow=%u, rangehigh=%u, rxsubchans=",
+		c.rangelow, c.rangehigh);
+	printxval(v4l2_tuner_rxsubchanses, c.rxsubchans,
+		  "V4L2_TUNER_SUB_???");
+	tprints(", audmode=");
+	printxval(v4l2_tuner_audmodes, c.audmode,
+		  "V4L2_TUNER_MODE_???");
+	tprintf(", signal=%d, afc=%d", c.signal, c.afc);
+
+	if (exiting(tcp))
+		tprints("}");
+	return 1;
+}
+
 #include "xlat/v4l2_control_types.h"
 #include "xlat/v4l2_control_flags.h"
 
@@ -822,7 +943,7 @@
 		tprints(", format={type=");
 		printxval(v4l2_buf_types, b.format.type,
 			  "V4L2_BUF_TYPE_???");
-		print_v4l2_format_fmt(", ",
+		print_v4l2_format_fmt(tcp, ", ",
 				      (struct_v4l2_format *) &b.format);
 		tprints("}}");
 		return 0;
@@ -899,6 +1020,10 @@
 	case VIDIOC_S_CTRL: /* RW */
 		return print_v4l2_control(tcp, arg, code == VIDIOC_G_CTRL);
 
+	case VIDIOC_G_TUNER: /* RW */
+	case VIDIOC_S_TUNER: /* RW */
+		return print_v4l2_tuner(tcp, arg, code == VIDIOC_G_TUNER);
+
 	case VIDIOC_QUERYCTRL: /* RW */
 		return print_v4l2_queryctrl(tcp, arg);
 
diff --git a/wait.c b/wait.c
index 58dba8e..fc51935 100644
--- a/wait.c
+++ b/wait.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2004 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2009-2013 Denys Vlasenko <dvlasenk@redhat.com>
  * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/xlat/Makemodule.am b/xlat/Makemodule.am
deleted file mode 100644
index 5ba716a..0000000
--- a/xlat/Makemodule.am
+++ /dev/null
@@ -1,638 +0,0 @@
-XLAT_INPUT_FILES = xlat/access_flags.in xlat/aclipc.in xlat/addrfams.in xlat/adjtimex_modes.in xlat/adjtimex_state.in xlat/adjtimex_status.in xlat/advise.in xlat/af_packet_types.in xlat/archvals.in xlat/arp_hardware_types.in xlat/at_flags.in xlat/atomic_ops.in xlat/audit_arch.in xlat/baud_options.in xlat/blkpg_ops.in xlat/bootflags1.in xlat/bootflags2.in xlat/bootflags3.in xlat/bpf_attach_type.in xlat/bpf_class.in xlat/bpf_commands.in xlat/bpf_map_types.in xlat/bpf_map_update_elem_flags.in xlat/bpf_miscop.in xlat/bpf_mode.in xlat/bpf_op_alu.in xlat/bpf_op_jmp.in xlat/bpf_prog_types.in xlat/bpf_rval.in xlat/bpf_size.in xlat/bpf_src.in xlat/bsg_flags.in xlat/bsg_protocol.in xlat/bsg_subprotocol.in xlat/bt_protocols.in xlat/btrfs_balance_args.in xlat/btrfs_balance_ctl_cmds.in xlat/btrfs_balance_flags.in xlat/btrfs_balance_state.in xlat/btrfs_compress_types.in xlat/btrfs_defrag_flags.in xlat/btrfs_dev_replace_cmds.in xlat/btrfs_dev_replace_results.in xlat/btrfs_dev_replace_state.in xlat/btrfs_dev_stats_flags.in xlat/btrfs_dev_stats_values.in xlat/btrfs_features_compat.in xlat/btrfs_features_compat_ro.in xlat/btrfs_features_incompat.in xlat/btrfs_key_types.in xlat/btrfs_qgroup_ctl_cmds.in xlat/btrfs_qgroup_inherit_flags.in xlat/btrfs_qgroup_limit_flags.in xlat/btrfs_qgroup_status_flags.in xlat/btrfs_scrub_flags.in xlat/btrfs_send_flags.in xlat/btrfs_snap_flags_v2.in xlat/btrfs_space_info_flags.in xlat/btrfs_tree_objectids.in xlat/cacheflush_scope.in xlat/cap.in xlat/cap_mask0.in xlat/cap_mask1.in xlat/cap_version.in xlat/clockflags.in xlat/clocknames.in xlat/clone_flags.in xlat/cpuclocknames.in xlat/delete_module_flags.in xlat/dirent_types.in xlat/dm_flags.in xlat/efd_flags.in xlat/epollctls.in xlat/epollevents.in xlat/epollflags.in xlat/ethernet_protocols.in xlat/evdev_abs.in xlat/evdev_autorepeat.in xlat/evdev_ev.in xlat/evdev_ff_status.in xlat/evdev_ff_types.in xlat/evdev_keycode.in xlat/evdev_leds.in xlat/evdev_misc.in xlat/evdev_mtslots.in xlat/evdev_prop.in xlat/evdev_relative_axes.in xlat/evdev_snd.in xlat/evdev_switch.in xlat/evdev_sync.in xlat/f_owner_types.in xlat/f_seals.in xlat/falloc_flags.in xlat/fan_classes.in xlat/fan_event_flags.in xlat/fan_init_flags.in xlat/fan_mark_flags.in xlat/fcntl64cmds.in xlat/fcntlcmds.in xlat/fdflags.in xlat/fiemap_extent_flags.in xlat/fiemap_flags.in xlat/flockcmds.in xlat/fsmagic.in xlat/futexops.in xlat/futexwakecmps.in xlat/futexwakeops.in xlat/getrandom_flags.in xlat/getsockipoptions.in xlat/getsockipv6options.in xlat/hci_channels.in xlat/hw_breakpoint_len.in xlat/hw_breakpoint_type.in xlat/icmpfilterflags.in xlat/if_dqblk_valid.in xlat/if_dqinfo_flags.in xlat/if_dqinfo_valid.in xlat/iffflags.in xlat/inet_protocols.in xlat/inotify_flags.in xlat/inotify_init_flags.in xlat/ioctl_dirs.in xlat/ioprio_class.in xlat/ioprio_who.in xlat/ip_cmsg_types.in xlat/ipc_msg_flags.in xlat/ipccalls.in xlat/itimer_which.in xlat/kcmp_types.in xlat/kexec_arch_values.in xlat/kexec_file_load_flags.in xlat/kexec_load_flags.in xlat/key_perms.in xlat/key_reqkeys.in xlat/key_spec.in xlat/keyctl_commands.in xlat/lockfcmds.in xlat/loop_cmds.in xlat/loop_crypt_type_options.in xlat/loop_flags_options.in xlat/madvise_cmds.in xlat/mbindflags.in xlat/mctl_sync.in xlat/membarrier_cmds.in xlat/memfd_create_flags.in xlat/mempolicyflags.in xlat/mlock_flags.in xlat/mlockall_flags.in xlat/mmap_flags.in xlat/mmap_prot.in xlat/modem_flags.in xlat/modetypes.in xlat/module_init_flags.in xlat/mount_flags.in xlat/move_pages_flags.in xlat/mq_attr_flags.in xlat/mremap_flags.in xlat/msg_flags.in xlat/msgctl_flags.in xlat/mtd_file_mode_options.in xlat/mtd_flags_options.in xlat/mtd_mode_options.in xlat/mtd_nandecc_options.in xlat/mtd_otp_options.in xlat/mtd_type_options.in xlat/name_to_handle_at_flags.in xlat/netlink_flags.in xlat/netlink_protocols.in xlat/netlink_types.in xlat/notifyflags.in xlat/nt_descriptor_types.in xlat/open_access_modes.in xlat/open_mode_flags.in xlat/openmodessol.in xlat/packet_mreq_type.in xlat/perf_attr_size.in xlat/perf_branch_sample_type.in xlat/perf_event_open_flags.in xlat/perf_event_read_format.in xlat/perf_event_sample_format.in xlat/perf_hw_cache_id.in xlat/perf_hw_cache_op_id.in xlat/perf_hw_cache_op_result_id.in xlat/perf_hw_id.in xlat/perf_sw_ids.in xlat/perf_type_id.in xlat/personality_flags.in xlat/personality_types.in xlat/pkey_access.in xlat/policies.in xlat/pollflags.in xlat/pr_cap_ambient.in xlat/pr_dumpable.in xlat/pr_fp_mode.in xlat/pr_mce_kill.in xlat/pr_mce_kill_policy.in xlat/pr_set_mm.in xlat/pr_tsc.in xlat/pr_unalign_flags.in xlat/prctl_options.in xlat/priorities.in xlat/ptp_flags_options.in xlat/ptrace_cmds.in xlat/ptrace_events.in xlat/ptrace_peeksiginfo_flags.in xlat/ptrace_setoptions_flags.in xlat/quota_formats.in xlat/quotacmds.in xlat/quotatypes.in xlat/rename_flags.in xlat/resource_flags.in xlat/resources.in xlat/rwf_flags.in xlat/sa_handler_values.in xlat/sched_flags.in xlat/schedulers.in xlat/scmvals.in xlat/scsi_sg_commands.in xlat/secbits.in xlat/seccomp_filter_flags.in xlat/seccomp_mode.in xlat/seccomp_ops.in xlat/seccomp_ret_action.in xlat/semctl_flags.in xlat/semop_flags.in xlat/setns_types.in xlat/setsockipoptions.in xlat/setsockipv6options.in xlat/sfd_flags.in xlat/sg_io_dxfer_direction.in xlat/sg_io_flags.in xlat/sg_io_info.in xlat/sg_scsi_reset.in xlat/shm_flags.in xlat/shm_resource_flags.in xlat/shmctl_flags.in xlat/shutdown_modes.in xlat/sigact_flags.in xlat/sigaltstack_flags.in xlat/sigbus_codes.in xlat/sigchld_codes.in xlat/sigemt_codes.in xlat/sigev_value.in xlat/sigfpe_codes.in xlat/sigill_codes.in xlat/siginfo_codes.in xlat/sigpoll_codes.in xlat/sigprocmaskcmds.in xlat/sigprof_codes.in xlat/sigsegv_codes.in xlat/sigsys_codes.in xlat/sigtrap_codes.in xlat/sock_type_flags.in xlat/socketcalls.in xlat/socketlayers.in xlat/sockipoptions.in xlat/sockipv6options.in xlat/sockipxoptions.in xlat/sockoptions.in xlat/sockpacketoptions.in xlat/sockrawoptions.in xlat/socksctpoptions.in xlat/socktcpoptions.in xlat/socktypes.in xlat/splice_flags.in xlat/sram_alloc_flags.in xlat/statfs_flags.in xlat/swap_flags.in xlat/sync_file_range_flags.in xlat/sysctl_kern.in xlat/sysctl_net.in xlat/sysctl_net_core.in xlat/sysctl_net_ipv4.in xlat/sysctl_net_ipv4_conf.in xlat/sysctl_net_ipv4_route.in xlat/sysctl_net_ipv6.in xlat/sysctl_net_ipv6_route.in xlat/sysctl_net_unix.in xlat/sysctl_root.in xlat/sysctl_vm.in xlat/syslog_action_type.in xlat/sysmips_operations.in xlat/tcflsh_options.in xlat/tcxonc_options.in xlat/timerfdflags.in xlat/ubi_volume_props.in xlat/ubi_volume_types.in xlat/uffd_api_flags.in xlat/uffd_copy_flags.in xlat/uffd_flags.in xlat/uffd_register_ioctl_flags.in xlat/uffd_register_mode_flags.in xlat/uffd_zeropage_flags.in xlat/umount_flags.in xlat/unshare_flags.in xlat/usagewho.in xlat/v4l2_buf_flags.in xlat/v4l2_buf_types.in xlat/v4l2_capture_modes.in xlat/v4l2_colorspaces.in xlat/v4l2_control_classes.in xlat/v4l2_control_flags.in xlat/v4l2_control_ids.in xlat/v4l2_control_types.in xlat/v4l2_device_capabilities_flags.in xlat/v4l2_fields.in xlat/v4l2_format_description_flags.in xlat/v4l2_frameinterval_types.in xlat/v4l2_framesize_types.in xlat/v4l2_input_types.in xlat/v4l2_memories.in xlat/v4l2_streaming_capabilities.in xlat/wait4_options.in xlat/waitid_types.in xlat/whence_codes.in xlat/xattrflags.in xlat/xfs_dqblk_flags.in xlat/xfs_quota_flags.in 
-XLAT_HEADER_FILES = xlat/access_flags.h xlat/aclipc.h xlat/addrfams.h xlat/adjtimex_modes.h xlat/adjtimex_state.h xlat/adjtimex_status.h xlat/advise.h xlat/af_packet_types.h xlat/archvals.h xlat/arp_hardware_types.h xlat/at_flags.h xlat/atomic_ops.h xlat/audit_arch.h xlat/baud_options.h xlat/blkpg_ops.h xlat/bootflags1.h xlat/bootflags2.h xlat/bootflags3.h xlat/bpf_attach_type.h xlat/bpf_class.h xlat/bpf_commands.h xlat/bpf_map_types.h xlat/bpf_map_update_elem_flags.h xlat/bpf_miscop.h xlat/bpf_mode.h xlat/bpf_op_alu.h xlat/bpf_op_jmp.h xlat/bpf_prog_types.h xlat/bpf_rval.h xlat/bpf_size.h xlat/bpf_src.h xlat/bsg_flags.h xlat/bsg_protocol.h xlat/bsg_subprotocol.h xlat/bt_protocols.h xlat/btrfs_balance_args.h xlat/btrfs_balance_ctl_cmds.h xlat/btrfs_balance_flags.h xlat/btrfs_balance_state.h xlat/btrfs_compress_types.h xlat/btrfs_defrag_flags.h xlat/btrfs_dev_replace_cmds.h xlat/btrfs_dev_replace_results.h xlat/btrfs_dev_replace_state.h xlat/btrfs_dev_stats_flags.h xlat/btrfs_dev_stats_values.h xlat/btrfs_features_compat.h xlat/btrfs_features_compat_ro.h xlat/btrfs_features_incompat.h xlat/btrfs_key_types.h xlat/btrfs_qgroup_ctl_cmds.h xlat/btrfs_qgroup_inherit_flags.h xlat/btrfs_qgroup_limit_flags.h xlat/btrfs_qgroup_status_flags.h xlat/btrfs_scrub_flags.h xlat/btrfs_send_flags.h xlat/btrfs_snap_flags_v2.h xlat/btrfs_space_info_flags.h xlat/btrfs_tree_objectids.h xlat/cacheflush_scope.h xlat/cap.h xlat/cap_mask0.h xlat/cap_mask1.h xlat/cap_version.h xlat/clockflags.h xlat/clocknames.h xlat/clone_flags.h xlat/cpuclocknames.h xlat/delete_module_flags.h xlat/dirent_types.h xlat/dm_flags.h xlat/efd_flags.h xlat/epollctls.h xlat/epollevents.h xlat/epollflags.h xlat/ethernet_protocols.h xlat/evdev_abs.h xlat/evdev_autorepeat.h xlat/evdev_ev.h xlat/evdev_ff_status.h xlat/evdev_ff_types.h xlat/evdev_keycode.h xlat/evdev_leds.h xlat/evdev_misc.h xlat/evdev_mtslots.h xlat/evdev_prop.h xlat/evdev_relative_axes.h xlat/evdev_snd.h xlat/evdev_switch.h xlat/evdev_sync.h xlat/f_owner_types.h xlat/f_seals.h xlat/falloc_flags.h xlat/fan_classes.h xlat/fan_event_flags.h xlat/fan_init_flags.h xlat/fan_mark_flags.h xlat/fcntl64cmds.h xlat/fcntlcmds.h xlat/fdflags.h xlat/fiemap_extent_flags.h xlat/fiemap_flags.h xlat/flockcmds.h xlat/fsmagic.h xlat/futexops.h xlat/futexwakecmps.h xlat/futexwakeops.h xlat/getrandom_flags.h xlat/getsockipoptions.h xlat/getsockipv6options.h xlat/hci_channels.h xlat/hw_breakpoint_len.h xlat/hw_breakpoint_type.h xlat/icmpfilterflags.h xlat/if_dqblk_valid.h xlat/if_dqinfo_flags.h xlat/if_dqinfo_valid.h xlat/iffflags.h xlat/inet_protocols.h xlat/inotify_flags.h xlat/inotify_init_flags.h xlat/ioctl_dirs.h xlat/ioprio_class.h xlat/ioprio_who.h xlat/ip_cmsg_types.h xlat/ipc_msg_flags.h xlat/ipccalls.h xlat/itimer_which.h xlat/kcmp_types.h xlat/kexec_arch_values.h xlat/kexec_file_load_flags.h xlat/kexec_load_flags.h xlat/key_perms.h xlat/key_reqkeys.h xlat/key_spec.h xlat/keyctl_commands.h xlat/lockfcmds.h xlat/loop_cmds.h xlat/loop_crypt_type_options.h xlat/loop_flags_options.h xlat/madvise_cmds.h xlat/mbindflags.h xlat/mctl_sync.h xlat/membarrier_cmds.h xlat/memfd_create_flags.h xlat/mempolicyflags.h xlat/mlock_flags.h xlat/mlockall_flags.h xlat/mmap_flags.h xlat/mmap_prot.h xlat/modem_flags.h xlat/modetypes.h xlat/module_init_flags.h xlat/mount_flags.h xlat/move_pages_flags.h xlat/mq_attr_flags.h xlat/mremap_flags.h xlat/msg_flags.h xlat/msgctl_flags.h xlat/mtd_file_mode_options.h xlat/mtd_flags_options.h xlat/mtd_mode_options.h xlat/mtd_nandecc_options.h xlat/mtd_otp_options.h xlat/mtd_type_options.h xlat/name_to_handle_at_flags.h xlat/netlink_flags.h xlat/netlink_protocols.h xlat/netlink_types.h xlat/notifyflags.h xlat/nt_descriptor_types.h xlat/open_access_modes.h xlat/open_mode_flags.h xlat/openmodessol.h xlat/packet_mreq_type.h xlat/perf_attr_size.h xlat/perf_branch_sample_type.h xlat/perf_event_open_flags.h xlat/perf_event_read_format.h xlat/perf_event_sample_format.h xlat/perf_hw_cache_id.h xlat/perf_hw_cache_op_id.h xlat/perf_hw_cache_op_result_id.h xlat/perf_hw_id.h xlat/perf_sw_ids.h xlat/perf_type_id.h xlat/personality_flags.h xlat/personality_types.h xlat/pkey_access.h xlat/policies.h xlat/pollflags.h xlat/pr_cap_ambient.h xlat/pr_dumpable.h xlat/pr_fp_mode.h xlat/pr_mce_kill.h xlat/pr_mce_kill_policy.h xlat/pr_set_mm.h xlat/pr_tsc.h xlat/pr_unalign_flags.h xlat/prctl_options.h xlat/priorities.h xlat/ptp_flags_options.h xlat/ptrace_cmds.h xlat/ptrace_events.h xlat/ptrace_peeksiginfo_flags.h xlat/ptrace_setoptions_flags.h xlat/quota_formats.h xlat/quotacmds.h xlat/quotatypes.h xlat/rename_flags.h xlat/resource_flags.h xlat/resources.h xlat/rwf_flags.h xlat/sa_handler_values.h xlat/sched_flags.h xlat/schedulers.h xlat/scmvals.h xlat/scsi_sg_commands.h xlat/secbits.h xlat/seccomp_filter_flags.h xlat/seccomp_mode.h xlat/seccomp_ops.h xlat/seccomp_ret_action.h xlat/semctl_flags.h xlat/semop_flags.h xlat/setns_types.h xlat/setsockipoptions.h xlat/setsockipv6options.h xlat/sfd_flags.h xlat/sg_io_dxfer_direction.h xlat/sg_io_flags.h xlat/sg_io_info.h xlat/sg_scsi_reset.h xlat/shm_flags.h xlat/shm_resource_flags.h xlat/shmctl_flags.h xlat/shutdown_modes.h xlat/sigact_flags.h xlat/sigaltstack_flags.h xlat/sigbus_codes.h xlat/sigchld_codes.h xlat/sigemt_codes.h xlat/sigev_value.h xlat/sigfpe_codes.h xlat/sigill_codes.h xlat/siginfo_codes.h xlat/sigpoll_codes.h xlat/sigprocmaskcmds.h xlat/sigprof_codes.h xlat/sigsegv_codes.h xlat/sigsys_codes.h xlat/sigtrap_codes.h xlat/sock_type_flags.h xlat/socketcalls.h xlat/socketlayers.h xlat/sockipoptions.h xlat/sockipv6options.h xlat/sockipxoptions.h xlat/sockoptions.h xlat/sockpacketoptions.h xlat/sockrawoptions.h xlat/socksctpoptions.h xlat/socktcpoptions.h xlat/socktypes.h xlat/splice_flags.h xlat/sram_alloc_flags.h xlat/statfs_flags.h xlat/swap_flags.h xlat/sync_file_range_flags.h xlat/sysctl_kern.h xlat/sysctl_net.h xlat/sysctl_net_core.h xlat/sysctl_net_ipv4.h xlat/sysctl_net_ipv4_conf.h xlat/sysctl_net_ipv4_route.h xlat/sysctl_net_ipv6.h xlat/sysctl_net_ipv6_route.h xlat/sysctl_net_unix.h xlat/sysctl_root.h xlat/sysctl_vm.h xlat/syslog_action_type.h xlat/sysmips_operations.h xlat/tcflsh_options.h xlat/tcxonc_options.h xlat/timerfdflags.h xlat/ubi_volume_props.h xlat/ubi_volume_types.h xlat/uffd_api_flags.h xlat/uffd_copy_flags.h xlat/uffd_flags.h xlat/uffd_register_ioctl_flags.h xlat/uffd_register_mode_flags.h xlat/uffd_zeropage_flags.h xlat/umount_flags.h xlat/unshare_flags.h xlat/usagewho.h xlat/v4l2_buf_flags.h xlat/v4l2_buf_types.h xlat/v4l2_capture_modes.h xlat/v4l2_colorspaces.h xlat/v4l2_control_classes.h xlat/v4l2_control_flags.h xlat/v4l2_control_ids.h xlat/v4l2_control_types.h xlat/v4l2_device_capabilities_flags.h xlat/v4l2_fields.h xlat/v4l2_format_description_flags.h xlat/v4l2_frameinterval_types.h xlat/v4l2_framesize_types.h xlat/v4l2_input_types.h xlat/v4l2_memories.h xlat/v4l2_streaming_capabilities.h xlat/wait4_options.h xlat/waitid_types.h xlat/whence_codes.h xlat/xattrflags.h xlat/xfs_dqblk_flags.h xlat/xfs_quota_flags.h 
-$(top_srcdir)/xlat/access_flags.h: $(top_srcdir)/xlat/access_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/aclipc.h: $(top_srcdir)/xlat/aclipc.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/addrfams.h: $(top_srcdir)/xlat/addrfams.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/adjtimex_modes.h: $(top_srcdir)/xlat/adjtimex_modes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/adjtimex_state.h: $(top_srcdir)/xlat/adjtimex_state.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/adjtimex_status.h: $(top_srcdir)/xlat/adjtimex_status.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/advise.h: $(top_srcdir)/xlat/advise.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/af_packet_types.h: $(top_srcdir)/xlat/af_packet_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/archvals.h: $(top_srcdir)/xlat/archvals.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/arp_hardware_types.h: $(top_srcdir)/xlat/arp_hardware_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/at_flags.h: $(top_srcdir)/xlat/at_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/atomic_ops.h: $(top_srcdir)/xlat/atomic_ops.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/audit_arch.h: $(top_srcdir)/xlat/audit_arch.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/baud_options.h: $(top_srcdir)/xlat/baud_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/blkpg_ops.h: $(top_srcdir)/xlat/blkpg_ops.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bootflags1.h: $(top_srcdir)/xlat/bootflags1.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bootflags2.h: $(top_srcdir)/xlat/bootflags2.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bootflags3.h: $(top_srcdir)/xlat/bootflags3.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_attach_type.h: $(top_srcdir)/xlat/bpf_attach_type.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_class.h: $(top_srcdir)/xlat/bpf_class.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_commands.h: $(top_srcdir)/xlat/bpf_commands.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_map_types.h: $(top_srcdir)/xlat/bpf_map_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_map_update_elem_flags.h: $(top_srcdir)/xlat/bpf_map_update_elem_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_miscop.h: $(top_srcdir)/xlat/bpf_miscop.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_mode.h: $(top_srcdir)/xlat/bpf_mode.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_op_alu.h: $(top_srcdir)/xlat/bpf_op_alu.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_op_jmp.h: $(top_srcdir)/xlat/bpf_op_jmp.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_prog_types.h: $(top_srcdir)/xlat/bpf_prog_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_rval.h: $(top_srcdir)/xlat/bpf_rval.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_size.h: $(top_srcdir)/xlat/bpf_size.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bpf_src.h: $(top_srcdir)/xlat/bpf_src.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bsg_flags.h: $(top_srcdir)/xlat/bsg_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bsg_protocol.h: $(top_srcdir)/xlat/bsg_protocol.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bsg_subprotocol.h: $(top_srcdir)/xlat/bsg_subprotocol.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/bt_protocols.h: $(top_srcdir)/xlat/bt_protocols.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_balance_args.h: $(top_srcdir)/xlat/btrfs_balance_args.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_balance_ctl_cmds.h: $(top_srcdir)/xlat/btrfs_balance_ctl_cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_balance_flags.h: $(top_srcdir)/xlat/btrfs_balance_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_balance_state.h: $(top_srcdir)/xlat/btrfs_balance_state.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_compress_types.h: $(top_srcdir)/xlat/btrfs_compress_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_defrag_flags.h: $(top_srcdir)/xlat/btrfs_defrag_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_dev_replace_cmds.h: $(top_srcdir)/xlat/btrfs_dev_replace_cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_dev_replace_results.h: $(top_srcdir)/xlat/btrfs_dev_replace_results.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_dev_replace_state.h: $(top_srcdir)/xlat/btrfs_dev_replace_state.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_dev_stats_flags.h: $(top_srcdir)/xlat/btrfs_dev_stats_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_dev_stats_values.h: $(top_srcdir)/xlat/btrfs_dev_stats_values.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_features_compat.h: $(top_srcdir)/xlat/btrfs_features_compat.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_features_compat_ro.h: $(top_srcdir)/xlat/btrfs_features_compat_ro.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_features_incompat.h: $(top_srcdir)/xlat/btrfs_features_incompat.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_key_types.h: $(top_srcdir)/xlat/btrfs_key_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_qgroup_ctl_cmds.h: $(top_srcdir)/xlat/btrfs_qgroup_ctl_cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_qgroup_inherit_flags.h: $(top_srcdir)/xlat/btrfs_qgroup_inherit_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_qgroup_limit_flags.h: $(top_srcdir)/xlat/btrfs_qgroup_limit_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_qgroup_status_flags.h: $(top_srcdir)/xlat/btrfs_qgroup_status_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_scrub_flags.h: $(top_srcdir)/xlat/btrfs_scrub_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_send_flags.h: $(top_srcdir)/xlat/btrfs_send_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_snap_flags_v2.h: $(top_srcdir)/xlat/btrfs_snap_flags_v2.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_space_info_flags.h: $(top_srcdir)/xlat/btrfs_space_info_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/btrfs_tree_objectids.h: $(top_srcdir)/xlat/btrfs_tree_objectids.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/cacheflush_scope.h: $(top_srcdir)/xlat/cacheflush_scope.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/cap.h: $(top_srcdir)/xlat/cap.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/cap_mask0.h: $(top_srcdir)/xlat/cap_mask0.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/cap_mask1.h: $(top_srcdir)/xlat/cap_mask1.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/cap_version.h: $(top_srcdir)/xlat/cap_version.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/clockflags.h: $(top_srcdir)/xlat/clockflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/clocknames.h: $(top_srcdir)/xlat/clocknames.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/clone_flags.h: $(top_srcdir)/xlat/clone_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/cpuclocknames.h: $(top_srcdir)/xlat/cpuclocknames.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/delete_module_flags.h: $(top_srcdir)/xlat/delete_module_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/dirent_types.h: $(top_srcdir)/xlat/dirent_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/dm_flags.h: $(top_srcdir)/xlat/dm_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/efd_flags.h: $(top_srcdir)/xlat/efd_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/epollctls.h: $(top_srcdir)/xlat/epollctls.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/epollevents.h: $(top_srcdir)/xlat/epollevents.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/epollflags.h: $(top_srcdir)/xlat/epollflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ethernet_protocols.h: $(top_srcdir)/xlat/ethernet_protocols.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_abs.h: $(top_srcdir)/xlat/evdev_abs.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_autorepeat.h: $(top_srcdir)/xlat/evdev_autorepeat.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_ev.h: $(top_srcdir)/xlat/evdev_ev.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_ff_status.h: $(top_srcdir)/xlat/evdev_ff_status.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_ff_types.h: $(top_srcdir)/xlat/evdev_ff_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_keycode.h: $(top_srcdir)/xlat/evdev_keycode.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_leds.h: $(top_srcdir)/xlat/evdev_leds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_misc.h: $(top_srcdir)/xlat/evdev_misc.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_mtslots.h: $(top_srcdir)/xlat/evdev_mtslots.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_prop.h: $(top_srcdir)/xlat/evdev_prop.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_relative_axes.h: $(top_srcdir)/xlat/evdev_relative_axes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_snd.h: $(top_srcdir)/xlat/evdev_snd.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_switch.h: $(top_srcdir)/xlat/evdev_switch.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/evdev_sync.h: $(top_srcdir)/xlat/evdev_sync.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/f_owner_types.h: $(top_srcdir)/xlat/f_owner_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/f_seals.h: $(top_srcdir)/xlat/f_seals.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/falloc_flags.h: $(top_srcdir)/xlat/falloc_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fan_classes.h: $(top_srcdir)/xlat/fan_classes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fan_event_flags.h: $(top_srcdir)/xlat/fan_event_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fan_init_flags.h: $(top_srcdir)/xlat/fan_init_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fan_mark_flags.h: $(top_srcdir)/xlat/fan_mark_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fcntl64cmds.h: $(top_srcdir)/xlat/fcntl64cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fcntlcmds.h: $(top_srcdir)/xlat/fcntlcmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fdflags.h: $(top_srcdir)/xlat/fdflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fiemap_extent_flags.h: $(top_srcdir)/xlat/fiemap_extent_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fiemap_flags.h: $(top_srcdir)/xlat/fiemap_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/flockcmds.h: $(top_srcdir)/xlat/flockcmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/fsmagic.h: $(top_srcdir)/xlat/fsmagic.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/futexops.h: $(top_srcdir)/xlat/futexops.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/futexwakecmps.h: $(top_srcdir)/xlat/futexwakecmps.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/futexwakeops.h: $(top_srcdir)/xlat/futexwakeops.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/getrandom_flags.h: $(top_srcdir)/xlat/getrandom_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/getsockipoptions.h: $(top_srcdir)/xlat/getsockipoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/getsockipv6options.h: $(top_srcdir)/xlat/getsockipv6options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/hci_channels.h: $(top_srcdir)/xlat/hci_channels.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/hw_breakpoint_len.h: $(top_srcdir)/xlat/hw_breakpoint_len.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/hw_breakpoint_type.h: $(top_srcdir)/xlat/hw_breakpoint_type.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/icmpfilterflags.h: $(top_srcdir)/xlat/icmpfilterflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/if_dqblk_valid.h: $(top_srcdir)/xlat/if_dqblk_valid.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/if_dqinfo_flags.h: $(top_srcdir)/xlat/if_dqinfo_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/if_dqinfo_valid.h: $(top_srcdir)/xlat/if_dqinfo_valid.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/iffflags.h: $(top_srcdir)/xlat/iffflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/inet_protocols.h: $(top_srcdir)/xlat/inet_protocols.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/inotify_flags.h: $(top_srcdir)/xlat/inotify_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/inotify_init_flags.h: $(top_srcdir)/xlat/inotify_init_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ioctl_dirs.h: $(top_srcdir)/xlat/ioctl_dirs.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ioprio_class.h: $(top_srcdir)/xlat/ioprio_class.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ioprio_who.h: $(top_srcdir)/xlat/ioprio_who.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ip_cmsg_types.h: $(top_srcdir)/xlat/ip_cmsg_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ipc_msg_flags.h: $(top_srcdir)/xlat/ipc_msg_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ipccalls.h: $(top_srcdir)/xlat/ipccalls.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/itimer_which.h: $(top_srcdir)/xlat/itimer_which.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/kcmp_types.h: $(top_srcdir)/xlat/kcmp_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/kexec_arch_values.h: $(top_srcdir)/xlat/kexec_arch_values.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/kexec_file_load_flags.h: $(top_srcdir)/xlat/kexec_file_load_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/kexec_load_flags.h: $(top_srcdir)/xlat/kexec_load_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/key_perms.h: $(top_srcdir)/xlat/key_perms.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/key_reqkeys.h: $(top_srcdir)/xlat/key_reqkeys.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/key_spec.h: $(top_srcdir)/xlat/key_spec.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/keyctl_commands.h: $(top_srcdir)/xlat/keyctl_commands.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/lockfcmds.h: $(top_srcdir)/xlat/lockfcmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/loop_cmds.h: $(top_srcdir)/xlat/loop_cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/loop_crypt_type_options.h: $(top_srcdir)/xlat/loop_crypt_type_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/loop_flags_options.h: $(top_srcdir)/xlat/loop_flags_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/madvise_cmds.h: $(top_srcdir)/xlat/madvise_cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mbindflags.h: $(top_srcdir)/xlat/mbindflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mctl_sync.h: $(top_srcdir)/xlat/mctl_sync.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/membarrier_cmds.h: $(top_srcdir)/xlat/membarrier_cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/memfd_create_flags.h: $(top_srcdir)/xlat/memfd_create_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mempolicyflags.h: $(top_srcdir)/xlat/mempolicyflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mlock_flags.h: $(top_srcdir)/xlat/mlock_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mlockall_flags.h: $(top_srcdir)/xlat/mlockall_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mmap_flags.h: $(top_srcdir)/xlat/mmap_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mmap_prot.h: $(top_srcdir)/xlat/mmap_prot.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/modem_flags.h: $(top_srcdir)/xlat/modem_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/modetypes.h: $(top_srcdir)/xlat/modetypes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/module_init_flags.h: $(top_srcdir)/xlat/module_init_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mount_flags.h: $(top_srcdir)/xlat/mount_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/move_pages_flags.h: $(top_srcdir)/xlat/move_pages_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mq_attr_flags.h: $(top_srcdir)/xlat/mq_attr_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mremap_flags.h: $(top_srcdir)/xlat/mremap_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/msg_flags.h: $(top_srcdir)/xlat/msg_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/msgctl_flags.h: $(top_srcdir)/xlat/msgctl_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mtd_file_mode_options.h: $(top_srcdir)/xlat/mtd_file_mode_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mtd_flags_options.h: $(top_srcdir)/xlat/mtd_flags_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mtd_mode_options.h: $(top_srcdir)/xlat/mtd_mode_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mtd_nandecc_options.h: $(top_srcdir)/xlat/mtd_nandecc_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mtd_otp_options.h: $(top_srcdir)/xlat/mtd_otp_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/mtd_type_options.h: $(top_srcdir)/xlat/mtd_type_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/name_to_handle_at_flags.h: $(top_srcdir)/xlat/name_to_handle_at_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/netlink_flags.h: $(top_srcdir)/xlat/netlink_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/netlink_protocols.h: $(top_srcdir)/xlat/netlink_protocols.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/netlink_types.h: $(top_srcdir)/xlat/netlink_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/notifyflags.h: $(top_srcdir)/xlat/notifyflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/nt_descriptor_types.h: $(top_srcdir)/xlat/nt_descriptor_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/open_access_modes.h: $(top_srcdir)/xlat/open_access_modes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/open_mode_flags.h: $(top_srcdir)/xlat/open_mode_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/openmodessol.h: $(top_srcdir)/xlat/openmodessol.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/packet_mreq_type.h: $(top_srcdir)/xlat/packet_mreq_type.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_attr_size.h: $(top_srcdir)/xlat/perf_attr_size.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_branch_sample_type.h: $(top_srcdir)/xlat/perf_branch_sample_type.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_event_open_flags.h: $(top_srcdir)/xlat/perf_event_open_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_event_read_format.h: $(top_srcdir)/xlat/perf_event_read_format.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_event_sample_format.h: $(top_srcdir)/xlat/perf_event_sample_format.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_hw_cache_id.h: $(top_srcdir)/xlat/perf_hw_cache_id.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_hw_cache_op_id.h: $(top_srcdir)/xlat/perf_hw_cache_op_id.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_hw_cache_op_result_id.h: $(top_srcdir)/xlat/perf_hw_cache_op_result_id.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_hw_id.h: $(top_srcdir)/xlat/perf_hw_id.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_sw_ids.h: $(top_srcdir)/xlat/perf_sw_ids.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/perf_type_id.h: $(top_srcdir)/xlat/perf_type_id.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/personality_flags.h: $(top_srcdir)/xlat/personality_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/personality_types.h: $(top_srcdir)/xlat/personality_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pkey_access.h: $(top_srcdir)/xlat/pkey_access.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/policies.h: $(top_srcdir)/xlat/policies.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pollflags.h: $(top_srcdir)/xlat/pollflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_cap_ambient.h: $(top_srcdir)/xlat/pr_cap_ambient.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_dumpable.h: $(top_srcdir)/xlat/pr_dumpable.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_fp_mode.h: $(top_srcdir)/xlat/pr_fp_mode.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_mce_kill.h: $(top_srcdir)/xlat/pr_mce_kill.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_mce_kill_policy.h: $(top_srcdir)/xlat/pr_mce_kill_policy.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_set_mm.h: $(top_srcdir)/xlat/pr_set_mm.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_tsc.h: $(top_srcdir)/xlat/pr_tsc.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/pr_unalign_flags.h: $(top_srcdir)/xlat/pr_unalign_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/prctl_options.h: $(top_srcdir)/xlat/prctl_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/priorities.h: $(top_srcdir)/xlat/priorities.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ptp_flags_options.h: $(top_srcdir)/xlat/ptp_flags_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ptrace_cmds.h: $(top_srcdir)/xlat/ptrace_cmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ptrace_events.h: $(top_srcdir)/xlat/ptrace_events.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ptrace_peeksiginfo_flags.h: $(top_srcdir)/xlat/ptrace_peeksiginfo_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ptrace_setoptions_flags.h: $(top_srcdir)/xlat/ptrace_setoptions_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/quota_formats.h: $(top_srcdir)/xlat/quota_formats.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/quotacmds.h: $(top_srcdir)/xlat/quotacmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/quotatypes.h: $(top_srcdir)/xlat/quotatypes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/rename_flags.h: $(top_srcdir)/xlat/rename_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/resource_flags.h: $(top_srcdir)/xlat/resource_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/resources.h: $(top_srcdir)/xlat/resources.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/rwf_flags.h: $(top_srcdir)/xlat/rwf_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sa_handler_values.h: $(top_srcdir)/xlat/sa_handler_values.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sched_flags.h: $(top_srcdir)/xlat/sched_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/schedulers.h: $(top_srcdir)/xlat/schedulers.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/scmvals.h: $(top_srcdir)/xlat/scmvals.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/scsi_sg_commands.h: $(top_srcdir)/xlat/scsi_sg_commands.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/secbits.h: $(top_srcdir)/xlat/secbits.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/seccomp_filter_flags.h: $(top_srcdir)/xlat/seccomp_filter_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/seccomp_mode.h: $(top_srcdir)/xlat/seccomp_mode.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/seccomp_ops.h: $(top_srcdir)/xlat/seccomp_ops.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/seccomp_ret_action.h: $(top_srcdir)/xlat/seccomp_ret_action.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/semctl_flags.h: $(top_srcdir)/xlat/semctl_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/semop_flags.h: $(top_srcdir)/xlat/semop_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/setns_types.h: $(top_srcdir)/xlat/setns_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/setsockipoptions.h: $(top_srcdir)/xlat/setsockipoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/setsockipv6options.h: $(top_srcdir)/xlat/setsockipv6options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sfd_flags.h: $(top_srcdir)/xlat/sfd_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sg_io_dxfer_direction.h: $(top_srcdir)/xlat/sg_io_dxfer_direction.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sg_io_flags.h: $(top_srcdir)/xlat/sg_io_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sg_io_info.h: $(top_srcdir)/xlat/sg_io_info.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sg_scsi_reset.h: $(top_srcdir)/xlat/sg_scsi_reset.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/shm_flags.h: $(top_srcdir)/xlat/shm_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/shm_resource_flags.h: $(top_srcdir)/xlat/shm_resource_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/shmctl_flags.h: $(top_srcdir)/xlat/shmctl_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/shutdown_modes.h: $(top_srcdir)/xlat/shutdown_modes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigact_flags.h: $(top_srcdir)/xlat/sigact_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigaltstack_flags.h: $(top_srcdir)/xlat/sigaltstack_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigbus_codes.h: $(top_srcdir)/xlat/sigbus_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigchld_codes.h: $(top_srcdir)/xlat/sigchld_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigemt_codes.h: $(top_srcdir)/xlat/sigemt_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigev_value.h: $(top_srcdir)/xlat/sigev_value.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigfpe_codes.h: $(top_srcdir)/xlat/sigfpe_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigill_codes.h: $(top_srcdir)/xlat/sigill_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/siginfo_codes.h: $(top_srcdir)/xlat/siginfo_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigpoll_codes.h: $(top_srcdir)/xlat/sigpoll_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigprocmaskcmds.h: $(top_srcdir)/xlat/sigprocmaskcmds.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigprof_codes.h: $(top_srcdir)/xlat/sigprof_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigsegv_codes.h: $(top_srcdir)/xlat/sigsegv_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigsys_codes.h: $(top_srcdir)/xlat/sigsys_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sigtrap_codes.h: $(top_srcdir)/xlat/sigtrap_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sock_type_flags.h: $(top_srcdir)/xlat/sock_type_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/socketcalls.h: $(top_srcdir)/xlat/socketcalls.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/socketlayers.h: $(top_srcdir)/xlat/socketlayers.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sockipoptions.h: $(top_srcdir)/xlat/sockipoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sockipv6options.h: $(top_srcdir)/xlat/sockipv6options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sockipxoptions.h: $(top_srcdir)/xlat/sockipxoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sockoptions.h: $(top_srcdir)/xlat/sockoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sockpacketoptions.h: $(top_srcdir)/xlat/sockpacketoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sockrawoptions.h: $(top_srcdir)/xlat/sockrawoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/socksctpoptions.h: $(top_srcdir)/xlat/socksctpoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/socktcpoptions.h: $(top_srcdir)/xlat/socktcpoptions.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/socktypes.h: $(top_srcdir)/xlat/socktypes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/splice_flags.h: $(top_srcdir)/xlat/splice_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sram_alloc_flags.h: $(top_srcdir)/xlat/sram_alloc_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/statfs_flags.h: $(top_srcdir)/xlat/statfs_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/swap_flags.h: $(top_srcdir)/xlat/swap_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sync_file_range_flags.h: $(top_srcdir)/xlat/sync_file_range_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_kern.h: $(top_srcdir)/xlat/sysctl_kern.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net.h: $(top_srcdir)/xlat/sysctl_net.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net_core.h: $(top_srcdir)/xlat/sysctl_net_core.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net_ipv4.h: $(top_srcdir)/xlat/sysctl_net_ipv4.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net_ipv4_conf.h: $(top_srcdir)/xlat/sysctl_net_ipv4_conf.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net_ipv4_route.h: $(top_srcdir)/xlat/sysctl_net_ipv4_route.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net_ipv6.h: $(top_srcdir)/xlat/sysctl_net_ipv6.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net_ipv6_route.h: $(top_srcdir)/xlat/sysctl_net_ipv6_route.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_net_unix.h: $(top_srcdir)/xlat/sysctl_net_unix.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_root.h: $(top_srcdir)/xlat/sysctl_root.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysctl_vm.h: $(top_srcdir)/xlat/sysctl_vm.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/syslog_action_type.h: $(top_srcdir)/xlat/syslog_action_type.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/sysmips_operations.h: $(top_srcdir)/xlat/sysmips_operations.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/tcflsh_options.h: $(top_srcdir)/xlat/tcflsh_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/tcxonc_options.h: $(top_srcdir)/xlat/tcxonc_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/timerfdflags.h: $(top_srcdir)/xlat/timerfdflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ubi_volume_props.h: $(top_srcdir)/xlat/ubi_volume_props.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/ubi_volume_types.h: $(top_srcdir)/xlat/ubi_volume_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/uffd_api_flags.h: $(top_srcdir)/xlat/uffd_api_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/uffd_copy_flags.h: $(top_srcdir)/xlat/uffd_copy_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/uffd_flags.h: $(top_srcdir)/xlat/uffd_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/uffd_register_ioctl_flags.h: $(top_srcdir)/xlat/uffd_register_ioctl_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/uffd_register_mode_flags.h: $(top_srcdir)/xlat/uffd_register_mode_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/uffd_zeropage_flags.h: $(top_srcdir)/xlat/uffd_zeropage_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/umount_flags.h: $(top_srcdir)/xlat/umount_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/unshare_flags.h: $(top_srcdir)/xlat/unshare_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/usagewho.h: $(top_srcdir)/xlat/usagewho.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_buf_flags.h: $(top_srcdir)/xlat/v4l2_buf_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_buf_types.h: $(top_srcdir)/xlat/v4l2_buf_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_capture_modes.h: $(top_srcdir)/xlat/v4l2_capture_modes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_colorspaces.h: $(top_srcdir)/xlat/v4l2_colorspaces.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_control_classes.h: $(top_srcdir)/xlat/v4l2_control_classes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_control_flags.h: $(top_srcdir)/xlat/v4l2_control_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_control_ids.h: $(top_srcdir)/xlat/v4l2_control_ids.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_control_types.h: $(top_srcdir)/xlat/v4l2_control_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_device_capabilities_flags.h: $(top_srcdir)/xlat/v4l2_device_capabilities_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_fields.h: $(top_srcdir)/xlat/v4l2_fields.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_format_description_flags.h: $(top_srcdir)/xlat/v4l2_format_description_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_frameinterval_types.h: $(top_srcdir)/xlat/v4l2_frameinterval_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_framesize_types.h: $(top_srcdir)/xlat/v4l2_framesize_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_input_types.h: $(top_srcdir)/xlat/v4l2_input_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_memories.h: $(top_srcdir)/xlat/v4l2_memories.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/v4l2_streaming_capabilities.h: $(top_srcdir)/xlat/v4l2_streaming_capabilities.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/wait4_options.h: $(top_srcdir)/xlat/wait4_options.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/waitid_types.h: $(top_srcdir)/xlat/waitid_types.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/whence_codes.h: $(top_srcdir)/xlat/whence_codes.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/xattrflags.h: $(top_srcdir)/xlat/xattrflags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/xfs_dqblk_flags.h: $(top_srcdir)/xlat/xfs_dqblk_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-$(top_srcdir)/xlat/xfs_quota_flags.h: $(top_srcdir)/xlat/xfs_quota_flags.in $(top_srcdir)/xlat/gen.sh
-	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
diff --git a/xlat/aclipc.h b/xlat/aclipc.h
deleted file mode 100644
index 6dabb83..0000000
--- a/xlat/aclipc.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Generated by ./xlat/gen.sh from ./xlat/aclipc.in; do not edit. */
-
-#ifdef IN_MPERS
-
-# error static const struct xlat aclipc in mpers mode
-
-#else
-
-static
-const struct xlat aclipc[] = {
-#if defined(IPC_SHM) || (defined(HAVE_DECL_IPC_SHM) && HAVE_DECL_IPC_SHM)
-  XLAT(IPC_SHM),
-#endif
-#if defined(IPC_SEM) || (defined(HAVE_DECL_IPC_SEM) && HAVE_DECL_IPC_SEM)
-  XLAT(IPC_SEM),
-#endif
-#if defined(IPC_MSG) || (defined(HAVE_DECL_IPC_MSG) && HAVE_DECL_IPC_MSG)
-  XLAT(IPC_MSG),
-#endif
- XLAT_END
-};
-
-#endif /* !IN_MPERS */
diff --git a/xlat/aclipc.in b/xlat/aclipc.in
deleted file mode 100644
index fd4d61c..0000000
--- a/xlat/aclipc.in
+++ /dev/null
@@ -1,3 +0,0 @@
-IPC_SHM
-IPC_SEM
-IPC_MSG
diff --git a/xlat/addrfams.h b/xlat/addrfams.h
index fc437b2..5dc4118 100644
--- a/xlat/addrfams.h
+++ b/xlat/addrfams.h
@@ -128,6 +128,9 @@
 #if !(defined(AF_QIPCRTR) || (defined(HAVE_DECL_AF_QIPCRTR) && HAVE_DECL_AF_QIPCRTR))
 # define AF_QIPCRTR 42
 #endif
+#if !(defined(AF_SMC) || (defined(HAVE_DECL_AF_SMC) && HAVE_DECL_AF_SMC))
+# define AF_SMC 43
+#endif
 
 #ifndef IN_MPERS
 
@@ -175,6 +178,7 @@
  XLAT(AF_VSOCK),
  XLAT(AF_KCM),
  XLAT(AF_QIPCRTR),
+ XLAT(AF_SMC),
  XLAT_END
 };
 
diff --git a/xlat/addrfams.in b/xlat/addrfams.in
index 315667e..427d993 100644
--- a/xlat/addrfams.in
+++ b/xlat/addrfams.in
@@ -41,3 +41,4 @@
 AF_VSOCK	40
 AF_KCM		41
 AF_QIPCRTR	42
+AF_SMC		43
diff --git a/xlat/at_statx_sync_types.h b/xlat/at_statx_sync_types.h
new file mode 100644
index 0000000..4babb01
--- /dev/null
+++ b/xlat/at_statx_sync_types.h
@@ -0,0 +1,31 @@
+/* Generated by ./xlat/gen.sh from ./xlat/at_statx_sync_types.in; do not edit. */
+#if !(defined(AT_STATX_SYNC_AS_STAT) || (defined(HAVE_DECL_AT_STATX_SYNC_AS_STAT) && HAVE_DECL_AT_STATX_SYNC_AS_STAT))
+# define AT_STATX_SYNC_AS_STAT 0x0000
+#endif
+#if !(defined(AT_STATX_FORCE_SYNC) || (defined(HAVE_DECL_AT_STATX_FORCE_SYNC) && HAVE_DECL_AT_STATX_FORCE_SYNC))
+# define AT_STATX_FORCE_SYNC 0x2000
+#endif
+#if !(defined(AT_STATX_DONT_SYNC) || (defined(HAVE_DECL_AT_STATX_DONT_SYNC) && HAVE_DECL_AT_STATX_DONT_SYNC))
+# define AT_STATX_DONT_SYNC 0x4000
+#endif
+#if !(defined(AT_STATX_SYNC_TYPE) || (defined(HAVE_DECL_AT_STATX_SYNC_TYPE) && HAVE_DECL_AT_STATX_SYNC_TYPE))
+# define AT_STATX_SYNC_TYPE 0x6000
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat at_statx_sync_types in mpers mode
+
+#else
+
+static
+const struct xlat at_statx_sync_types[] = {
+ XLAT(AT_STATX_SYNC_AS_STAT),
+ XLAT(AT_STATX_FORCE_SYNC),
+ XLAT(AT_STATX_DONT_SYNC),
+
+ XLAT(AT_STATX_SYNC_TYPE),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/at_statx_sync_types.in b/xlat/at_statx_sync_types.in
new file mode 100644
index 0000000..5d0ed49
--- /dev/null
+++ b/xlat/at_statx_sync_types.in
@@ -0,0 +1,5 @@
+AT_STATX_SYNC_AS_STAT	0x0000
+AT_STATX_FORCE_SYNC	0x2000
+AT_STATX_DONT_SYNC	0x4000
+
+AT_STATX_SYNC_TYPE	0x6000
diff --git a/xlat/bpf_attach_flags.h b/xlat/bpf_attach_flags.h
new file mode 100644
index 0000000..3f9fe9d
--- /dev/null
+++ b/xlat/bpf_attach_flags.h
@@ -0,0 +1,18 @@
+/* Generated by ./xlat/gen.sh from ./xlat/bpf_attach_flags.in; do not edit. */
+#if !(defined(BPF_F_ALLOW_OVERRIDE) || (defined(HAVE_DECL_BPF_F_ALLOW_OVERRIDE) && HAVE_DECL_BPF_F_ALLOW_OVERRIDE))
+# define BPF_F_ALLOW_OVERRIDE 1
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat bpf_attach_flags in mpers mode
+
+#else
+
+static
+const struct xlat bpf_attach_flags[] = {
+ XLAT(BPF_F_ALLOW_OVERRIDE),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/bpf_attach_flags.in b/xlat/bpf_attach_flags.in
new file mode 100644
index 0000000..35638fd
--- /dev/null
+++ b/xlat/bpf_attach_flags.in
@@ -0,0 +1 @@
+BPF_F_ALLOW_OVERRIDE	1
diff --git a/xlat/bpf_map_types.h b/xlat/bpf_map_types.h
index 2544c89..292d9a5 100644
--- a/xlat/bpf_map_types.h
+++ b/xlat/bpf_map_types.h
@@ -35,6 +35,12 @@
 #if !(defined(BPF_MAP_TYPE_LPM_TRIE) || (defined(HAVE_DECL_BPF_MAP_TYPE_LPM_TRIE) && HAVE_DECL_BPF_MAP_TYPE_LPM_TRIE))
 # define BPF_MAP_TYPE_LPM_TRIE 11
 #endif
+#if !(defined(BPF_MAP_TYPE_ARRAY_OF_MAPS) || (defined(HAVE_DECL_BPF_MAP_TYPE_ARRAY_OF_MAPS) && HAVE_DECL_BPF_MAP_TYPE_ARRAY_OF_MAPS))
+# define BPF_MAP_TYPE_ARRAY_OF_MAPS 12
+#endif
+#if !(defined(BPF_MAP_TYPE_HASH_OF_MAPS) || (defined(HAVE_DECL_BPF_MAP_TYPE_HASH_OF_MAPS) && HAVE_DECL_BPF_MAP_TYPE_HASH_OF_MAPS))
+# define BPF_MAP_TYPE_HASH_OF_MAPS 13
+#endif
 
 #ifdef IN_MPERS
 
@@ -56,6 +62,8 @@
  XLAT(BPF_MAP_TYPE_LRU_HASH),
  XLAT(BPF_MAP_TYPE_LRU_PERCPU_HASH),
  XLAT(BPF_MAP_TYPE_LPM_TRIE),
+ XLAT(BPF_MAP_TYPE_ARRAY_OF_MAPS),
+ XLAT(BPF_MAP_TYPE_HASH_OF_MAPS),
  XLAT_END
 };
 
diff --git a/xlat/bpf_map_types.in b/xlat/bpf_map_types.in
index e3222d3..583c016 100644
--- a/xlat/bpf_map_types.in
+++ b/xlat/bpf_map_types.in
@@ -10,3 +10,5 @@
 BPF_MAP_TYPE_LRU_HASH 9
 BPF_MAP_TYPE_LRU_PERCPU_HASH 10
 BPF_MAP_TYPE_LPM_TRIE 11
+BPF_MAP_TYPE_ARRAY_OF_MAPS 12
+BPF_MAP_TYPE_HASH_OF_MAPS 13
diff --git a/xlat/clocknames.h b/xlat/clocknames.h
index 71de9da..da082e8 100644
--- a/xlat/clocknames.h
+++ b/xlat/clocknames.h
@@ -36,13 +36,8 @@
 # define CLOCK_TAI 11
 #endif
 
-#ifdef IN_MPERS
+#ifndef IN_MPERS
 
-# error static const struct xlat clocknames in mpers mode
-
-#else
-
-static
 const struct xlat clocknames[] = {
  XLAT(CLOCK_REALTIME),
  XLAT(CLOCK_MONOTONIC),
diff --git a/xlat/gen.sh b/xlat/gen.sh
index d3dec2a..06c1b17 100755
--- a/xlat/gen.sh
+++ b/xlat/gen.sh
@@ -2,6 +2,7 @@
 #
 # Copyright (c) 2014-2015 Mike Frysinger <vapier@gentoo.org>
 # Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2014-2017 The strace developers.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
diff --git a/xlat/netlink_protocols.h b/xlat/netlink_protocols.h
index 0e1133f..fb86233 100644
--- a/xlat/netlink_protocols.h
+++ b/xlat/netlink_protocols.h
@@ -63,13 +63,8 @@
 # define NETLINK_CRYPTO 21
 #endif
 
-#ifdef IN_MPERS
+#ifndef IN_MPERS
 
-# error static const struct xlat netlink_protocols in mpers mode
-
-#else
-
-static
 const struct xlat netlink_protocols[] = {
  XLAT(NETLINK_ROUTE),
  XLAT(NETLINK_UNUSED),
diff --git a/xlat/openmodessol.h b/xlat/openmodessol.h
deleted file mode 100644
index fb6a553..0000000
--- a/xlat/openmodessol.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Generated by ./xlat/gen.sh from ./xlat/openmodessol.in; do not edit. */
-
-#ifdef IN_MPERS
-
-# error static const struct xlat openmodessol in mpers mode
-
-#else
-
-static
-const struct xlat openmodessol[] = {
-{ 0,		"O_RDWR"	},
-{ 1,		"O_RDONLY"	},
-{ 2,		"O_WRONLY"	},
-{ 0x80,		"O_NONBLOCK"	},
-{ 8,		"O_APPEND"	},
-{ 0x100,	"O_CREAT"	},
-{ 0x200,	"O_TRUNC"	},
-{ 0x400,	"O_EXCL"	},
-{ 0x800,	"O_NOCTTY"	},
-{ 0x10,		"O_SYNC"	},
-{ 0x40,		"O_DSYNC"	},
-{ 0x8000,	"O_RSYNC"	},
-{ 4,		"O_NDELAY"	},
-{ 0x1000,	"O_PRIV"	},
- XLAT_END
-};
-
-#endif /* !IN_MPERS */
diff --git a/xlat/openmodessol.in b/xlat/openmodessol.in
deleted file mode 100644
index e42af6f..0000000
--- a/xlat/openmodessol.in
+++ /dev/null
@@ -1,14 +0,0 @@
-	{ 0,		"O_RDWR"	},
-	{ 1,		"O_RDONLY"	},
-	{ 2,		"O_WRONLY"	},
-	{ 0x80,		"O_NONBLOCK"	},
-	{ 8,		"O_APPEND"	},
-	{ 0x100,	"O_CREAT"	},
-	{ 0x200,	"O_TRUNC"	},
-	{ 0x400,	"O_EXCL"	},
-	{ 0x800,	"O_NOCTTY"	},
-	{ 0x10,		"O_SYNC"	},
-	{ 0x40,		"O_DSYNC"	},
-	{ 0x8000,	"O_RSYNC"	},
-	{ 4,		"O_NDELAY"	},
-	{ 0x1000,	"O_PRIV"	},
diff --git a/xlat/setns_types.h b/xlat/setns_types.h
index 8ed5afa..a91171d 100644
--- a/xlat/setns_types.h
+++ b/xlat/setns_types.h
@@ -21,13 +21,8 @@
 # define CLONE_NEWNET 0x40000000
 #endif
 
-#ifdef IN_MPERS
+#ifndef IN_MPERS
 
-# error static const struct xlat setns_types in mpers mode
-
-#else
-
-static
 const struct xlat setns_types[] = {
  XLAT(0),
  XLAT(CLONE_NEWNS),
diff --git a/xlat/socktcpoptions.h b/xlat/socktcpoptions.h
index 7dd5923..3bc6f53 100644
--- a/xlat/socktcpoptions.h
+++ b/xlat/socktcpoptions.h
@@ -95,6 +95,9 @@
 #if defined(TCP_REPAIR_WINDOW) || (defined(HAVE_DECL_TCP_REPAIR_WINDOW) && HAVE_DECL_TCP_REPAIR_WINDOW)
   XLAT(TCP_REPAIR_WINDOW),
 #endif
+#if defined(TCP_FASTOPEN_CONNECT) || (defined(HAVE_DECL_TCP_FASTOPEN_CONNECT) && HAVE_DECL_TCP_FASTOPEN_CONNECT)
+  XLAT(TCP_FASTOPEN_CONNECT),
+#endif
  XLAT_END
 };
 
diff --git a/xlat/socktcpoptions.in b/xlat/socktcpoptions.in
index 89bbd7e..6de28f3 100644
--- a/xlat/socktcpoptions.in
+++ b/xlat/socktcpoptions.in
@@ -27,3 +27,4 @@
 TCP_SAVE_SYN
 TCP_SAVED_SYN
 TCP_REPAIR_WINDOW
+TCP_FASTOPEN_CONNECT
diff --git a/xlat/statx_attrs.h b/xlat/statx_attrs.h
new file mode 100644
index 0000000..20370af
--- /dev/null
+++ b/xlat/statx_attrs.h
@@ -0,0 +1,38 @@
+/* Generated by ./xlat/gen.sh from ./xlat/statx_attrs.in; do not edit. */
+#if !(defined(STATX_ATTR_COMPRESSED) || (defined(HAVE_DECL_STATX_ATTR_COMPRESSED) && HAVE_DECL_STATX_ATTR_COMPRESSED))
+# define STATX_ATTR_COMPRESSED 0x00000004
+#endif
+#if !(defined(STATX_ATTR_IMMUTABLE) || (defined(HAVE_DECL_STATX_ATTR_IMMUTABLE) && HAVE_DECL_STATX_ATTR_IMMUTABLE))
+# define STATX_ATTR_IMMUTABLE 0x00000010
+#endif
+#if !(defined(STATX_ATTR_APPEND) || (defined(HAVE_DECL_STATX_ATTR_APPEND) && HAVE_DECL_STATX_ATTR_APPEND))
+# define STATX_ATTR_APPEND 0x00000020
+#endif
+#if !(defined(STATX_ATTR_NODUMP) || (defined(HAVE_DECL_STATX_ATTR_NODUMP) && HAVE_DECL_STATX_ATTR_NODUMP))
+# define STATX_ATTR_NODUMP 0x00000040
+#endif
+#if !(defined(STATX_ATTR_ENCRYPTED) || (defined(HAVE_DECL_STATX_ATTR_ENCRYPTED) && HAVE_DECL_STATX_ATTR_ENCRYPTED))
+# define STATX_ATTR_ENCRYPTED 0x00000800
+#endif
+#if !(defined(STATX_ATTR_AUTOMOUNT) || (defined(HAVE_DECL_STATX_ATTR_AUTOMOUNT) && HAVE_DECL_STATX_ATTR_AUTOMOUNT))
+# define STATX_ATTR_AUTOMOUNT 0x00001000
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat statx_attrs in mpers mode
+
+#else
+
+static
+const struct xlat statx_attrs[] = {
+ XLAT(STATX_ATTR_COMPRESSED),
+ XLAT(STATX_ATTR_IMMUTABLE),
+ XLAT(STATX_ATTR_APPEND),
+ XLAT(STATX_ATTR_NODUMP),
+ XLAT(STATX_ATTR_ENCRYPTED),
+ XLAT(STATX_ATTR_AUTOMOUNT),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/statx_attrs.in b/xlat/statx_attrs.in
new file mode 100644
index 0000000..f6e4078
--- /dev/null
+++ b/xlat/statx_attrs.in
@@ -0,0 +1,6 @@
+STATX_ATTR_COMPRESSED	0x00000004
+STATX_ATTR_IMMUTABLE	0x00000010
+STATX_ATTR_APPEND	0x00000020
+STATX_ATTR_NODUMP	0x00000040
+STATX_ATTR_ENCRYPTED	0x00000800
+STATX_ATTR_AUTOMOUNT	0x00001000
diff --git a/xlat/statx_masks.h b/xlat/statx_masks.h
new file mode 100644
index 0000000..9e0f543
--- /dev/null
+++ b/xlat/statx_masks.h
@@ -0,0 +1,71 @@
+/* Generated by ./xlat/gen.sh from ./xlat/statx_masks.in; do not edit. */
+#if !(defined(STATX_ALL) || (defined(HAVE_DECL_STATX_ALL) && HAVE_DECL_STATX_ALL))
+# define STATX_ALL 0x00000fffU
+#endif
+#if !(defined(STATX_BASIC_STATS) || (defined(HAVE_DECL_STATX_BASIC_STATS) && HAVE_DECL_STATX_BASIC_STATS))
+# define STATX_BASIC_STATS 0x000007ffU
+#endif
+#if !(defined(STATX_TYPE) || (defined(HAVE_DECL_STATX_TYPE) && HAVE_DECL_STATX_TYPE))
+# define STATX_TYPE 0x00000001U
+#endif
+#if !(defined(STATX_MODE) || (defined(HAVE_DECL_STATX_MODE) && HAVE_DECL_STATX_MODE))
+# define STATX_MODE 0x00000002U
+#endif
+#if !(defined(STATX_NLINK) || (defined(HAVE_DECL_STATX_NLINK) && HAVE_DECL_STATX_NLINK))
+# define STATX_NLINK 0x00000004U
+#endif
+#if !(defined(STATX_UID) || (defined(HAVE_DECL_STATX_UID) && HAVE_DECL_STATX_UID))
+# define STATX_UID 0x00000008U
+#endif
+#if !(defined(STATX_GID) || (defined(HAVE_DECL_STATX_GID) && HAVE_DECL_STATX_GID))
+# define STATX_GID 0x00000010U
+#endif
+#if !(defined(STATX_ATIME) || (defined(HAVE_DECL_STATX_ATIME) && HAVE_DECL_STATX_ATIME))
+# define STATX_ATIME 0x00000020U
+#endif
+#if !(defined(STATX_MTIME) || (defined(HAVE_DECL_STATX_MTIME) && HAVE_DECL_STATX_MTIME))
+# define STATX_MTIME 0x00000040U
+#endif
+#if !(defined(STATX_CTIME) || (defined(HAVE_DECL_STATX_CTIME) && HAVE_DECL_STATX_CTIME))
+# define STATX_CTIME 0x00000080U
+#endif
+#if !(defined(STATX_INO) || (defined(HAVE_DECL_STATX_INO) && HAVE_DECL_STATX_INO))
+# define STATX_INO 0x00000100U
+#endif
+#if !(defined(STATX_SIZE) || (defined(HAVE_DECL_STATX_SIZE) && HAVE_DECL_STATX_SIZE))
+# define STATX_SIZE 0x00000200U
+#endif
+#if !(defined(STATX_BLOCKS) || (defined(HAVE_DECL_STATX_BLOCKS) && HAVE_DECL_STATX_BLOCKS))
+# define STATX_BLOCKS 0x00000400U
+#endif
+#if !(defined(STATX_BTIME) || (defined(HAVE_DECL_STATX_BTIME) && HAVE_DECL_STATX_BTIME))
+# define STATX_BTIME 0x00000800U
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat statx_masks in mpers mode
+
+#else
+
+static
+const struct xlat statx_masks[] = {
+ XLAT(STATX_ALL),
+ XLAT(STATX_BASIC_STATS),
+
+ XLAT(STATX_TYPE),
+ XLAT(STATX_MODE),
+ XLAT(STATX_NLINK),
+ XLAT(STATX_UID),
+ XLAT(STATX_GID),
+ XLAT(STATX_ATIME),
+ XLAT(STATX_MTIME),
+ XLAT(STATX_CTIME),
+ XLAT(STATX_INO),
+ XLAT(STATX_SIZE),
+ XLAT(STATX_BLOCKS),
+ XLAT(STATX_BTIME),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/statx_masks.in b/xlat/statx_masks.in
new file mode 100644
index 0000000..d18dd25
--- /dev/null
+++ b/xlat/statx_masks.in
@@ -0,0 +1,15 @@
+STATX_ALL		0x00000fffU
+STATX_BASIC_STATS	0x000007ffU
+
+STATX_TYPE		0x00000001U
+STATX_MODE		0x00000002U
+STATX_NLINK		0x00000004U
+STATX_UID		0x00000008U
+STATX_GID		0x00000010U
+STATX_ATIME		0x00000020U
+STATX_MTIME		0x00000040U
+STATX_CTIME		0x00000080U
+STATX_INO		0x00000100U
+STATX_SIZE		0x00000200U
+STATX_BLOCKS		0x00000400U
+STATX_BTIME		0x00000800U
diff --git a/xlat/usagewho.h b/xlat/usagewho.h
index 810f04c..8d46fc0 100644
--- a/xlat/usagewho.h
+++ b/xlat/usagewho.h
@@ -1,4 +1,16 @@
 /* Generated by ./xlat/gen.sh from ./xlat/usagewho.in; do not edit. */
+#if !(defined(RUSAGE_SELF) || (defined(HAVE_DECL_RUSAGE_SELF) && HAVE_DECL_RUSAGE_SELF))
+# define RUSAGE_SELF 0
+#endif
+#if !(defined(RUSAGE_CHILDREN) || (defined(HAVE_DECL_RUSAGE_CHILDREN) && HAVE_DECL_RUSAGE_CHILDREN))
+# define RUSAGE_CHILDREN (-1)
+#endif
+#if !(defined(RUSAGE_BOTH) || (defined(HAVE_DECL_RUSAGE_BOTH) && HAVE_DECL_RUSAGE_BOTH))
+# define RUSAGE_BOTH (-2)
+#endif
+#if !(defined(RUSAGE_THREAD) || (defined(HAVE_DECL_RUSAGE_THREAD) && HAVE_DECL_RUSAGE_THREAD))
+# define RUSAGE_THREAD 1
+#endif
 
 #ifdef IN_MPERS
 
@@ -8,15 +20,10 @@
 
 static
 const struct xlat usagewho[] = {
-#if defined(RUSAGE_SELF) || (defined(HAVE_DECL_RUSAGE_SELF) && HAVE_DECL_RUSAGE_SELF)
-  XLAT(RUSAGE_SELF),
-#endif
-#if defined(RUSAGE_CHILDREN) || (defined(HAVE_DECL_RUSAGE_CHILDREN) && HAVE_DECL_RUSAGE_CHILDREN)
-  XLAT(RUSAGE_CHILDREN),
-#endif
-#if defined(RUSAGE_BOTH) || (defined(HAVE_DECL_RUSAGE_BOTH) && HAVE_DECL_RUSAGE_BOTH)
-  XLAT(RUSAGE_BOTH),
-#endif
+ XLAT(RUSAGE_SELF),
+ XLAT(RUSAGE_CHILDREN),
+ XLAT(RUSAGE_BOTH),
+ XLAT(RUSAGE_THREAD),
  XLAT_END
 };
 
diff --git a/xlat/usagewho.in b/xlat/usagewho.in
index e2153b3..1b1255c 100644
--- a/xlat/usagewho.in
+++ b/xlat/usagewho.in
@@ -1,3 +1,4 @@
-RUSAGE_SELF
-RUSAGE_CHILDREN
-RUSAGE_BOTH
+RUSAGE_SELF	0
+RUSAGE_CHILDREN	(-1)
+RUSAGE_BOTH	(-2)
+RUSAGE_THREAD	1
diff --git a/xlat/v4l2_buf_flags.h b/xlat/v4l2_buf_flags.h
index 63f0b47..05eb64d 100644
--- a/xlat/v4l2_buf_flags.h
+++ b/xlat/v4l2_buf_flags.h
@@ -34,6 +34,39 @@
 #if defined(V4L2_BUF_FLAG_INPUT) || (defined(HAVE_DECL_V4L2_BUF_FLAG_INPUT) && HAVE_DECL_V4L2_BUF_FLAG_INPUT)
   XLAT(V4L2_BUF_FLAG_INPUT),
 #endif
+#if defined(V4L2_BUF_FLAG_PREPARED) || (defined(HAVE_DECL_V4L2_BUF_FLAG_PREPARED) && HAVE_DECL_V4L2_BUF_FLAG_PREPARED)
+  XLAT(V4L2_BUF_FLAG_PREPARED),
+#endif
+#if defined(V4L2_BUF_FLAG_NO_CACHE_INVALIDATE) || (defined(HAVE_DECL_V4L2_BUF_FLAG_NO_CACHE_INVALIDATE) && HAVE_DECL_V4L2_BUF_FLAG_NO_CACHE_INVALIDATE)
+  XLAT(V4L2_BUF_FLAG_NO_CACHE_INVALIDATE),
+#endif
+#if defined(V4L2_BUF_FLAG_NO_CACHE_CLEAN) || (defined(HAVE_DECL_V4L2_BUF_FLAG_NO_CACHE_CLEAN) && HAVE_DECL_V4L2_BUF_FLAG_NO_CACHE_CLEAN)
+  XLAT(V4L2_BUF_FLAG_NO_CACHE_CLEAN),
+#endif
+#if defined(V4L2_BUF_FLAG_TIMESTAMP_MASK) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_MASK) && HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_MASK)
+  XLAT(V4L2_BUF_FLAG_TIMESTAMP_MASK),
+#endif
+#if defined(V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN) && HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN)
+  XLAT(V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN),
+#endif
+#if defined(V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC) && HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC)
+  XLAT(V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC),
+#endif
+#if defined(V4L2_BUF_FLAG_TIMESTAMP_COPY) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_COPY) && HAVE_DECL_V4L2_BUF_FLAG_TIMESTAMP_COPY)
+  XLAT(V4L2_BUF_FLAG_TIMESTAMP_COPY),
+#endif
+#if defined(V4L2_BUF_FLAG_TSTAMP_SRC_MASK) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TSTAMP_SRC_MASK) && HAVE_DECL_V4L2_BUF_FLAG_TSTAMP_SRC_MASK)
+  XLAT(V4L2_BUF_FLAG_TSTAMP_SRC_MASK),
+#endif
+#if defined(V4L2_BUF_FLAG_TSTAMP_SRC_EOF) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TSTAMP_SRC_EOF) && HAVE_DECL_V4L2_BUF_FLAG_TSTAMP_SRC_EOF)
+  XLAT(V4L2_BUF_FLAG_TSTAMP_SRC_EOF),
+#endif
+#if defined(V4L2_BUF_FLAG_TSTAMP_SRC_SOE) || (defined(HAVE_DECL_V4L2_BUF_FLAG_TSTAMP_SRC_SOE) && HAVE_DECL_V4L2_BUF_FLAG_TSTAMP_SRC_SOE)
+  XLAT(V4L2_BUF_FLAG_TSTAMP_SRC_SOE),
+#endif
+#if defined(V4L2_BUF_FLAG_LAST) || (defined(HAVE_DECL_V4L2_BUF_FLAG_LAST) && HAVE_DECL_V4L2_BUF_FLAG_LAST)
+  XLAT(V4L2_BUF_FLAG_LAST),
+#endif
  XLAT_END
 };
 
diff --git a/xlat/v4l2_buf_flags.in b/xlat/v4l2_buf_flags.in
index ba7e86e..86ab91d 100644
--- a/xlat/v4l2_buf_flags.in
+++ b/xlat/v4l2_buf_flags.in
@@ -6,3 +6,14 @@
 V4L2_BUF_FLAG_BFRAME
 V4L2_BUF_FLAG_TIMECODE
 V4L2_BUF_FLAG_INPUT
+V4L2_BUF_FLAG_PREPARED
+V4L2_BUF_FLAG_NO_CACHE_INVALIDATE
+V4L2_BUF_FLAG_NO_CACHE_CLEAN
+V4L2_BUF_FLAG_TIMESTAMP_MASK
+V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN
+V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC
+V4L2_BUF_FLAG_TIMESTAMP_COPY
+V4L2_BUF_FLAG_TSTAMP_SRC_MASK
+V4L2_BUF_FLAG_TSTAMP_SRC_EOF
+V4L2_BUF_FLAG_TSTAMP_SRC_SOE
+V4L2_BUF_FLAG_LAST
diff --git a/xlat/v4l2_buf_types.h b/xlat/v4l2_buf_types.h
index c5966a9..49753e5 100644
--- a/xlat/v4l2_buf_types.h
+++ b/xlat/v4l2_buf_types.h
@@ -40,6 +40,12 @@
 #if defined(V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY) || (defined(HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY) && HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY)
   XLAT(V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY),
 #endif
+#if defined(V4L2_BUF_TYPE_SDR_CAPTURE) || (defined(HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE) && HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE)
+  XLAT(V4L2_BUF_TYPE_SDR_CAPTURE),
+#endif
+#if defined(V4L2_BUF_TYPE_SDR_OUTPUT) || (defined(HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT) && HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT)
+  XLAT(V4L2_BUF_TYPE_SDR_OUTPUT),
+#endif
  XLAT_END
 };
 
diff --git a/xlat/v4l2_buf_types.in b/xlat/v4l2_buf_types.in
index 431cb59..2b52561 100644
--- a/xlat/v4l2_buf_types.in
+++ b/xlat/v4l2_buf_types.in
@@ -8,3 +8,5 @@
 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE
 V4L2_BUF_TYPE_SLICED_VBI_OUTPUT
 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
+V4L2_BUF_TYPE_SDR_CAPTURE
+V4L2_BUF_TYPE_SDR_OUTPUT
diff --git a/xlat/v4l2_colorspaces.h b/xlat/v4l2_colorspaces.h
index 857baf9..53d16e6 100644
--- a/xlat/v4l2_colorspaces.h
+++ b/xlat/v4l2_colorspaces.h
@@ -34,6 +34,18 @@
 #if defined(V4L2_COLORSPACE_SRGB) || (defined(HAVE_DECL_V4L2_COLORSPACE_SRGB) && HAVE_DECL_V4L2_COLORSPACE_SRGB)
   XLAT(V4L2_COLORSPACE_SRGB),
 #endif
+#if defined(V4L2_COLORSPACE_ADOBERGB) || (defined(HAVE_DECL_V4L2_COLORSPACE_ADOBERGB) && HAVE_DECL_V4L2_COLORSPACE_ADOBERGB)
+  XLAT(V4L2_COLORSPACE_ADOBERGB),
+#endif
+#if defined(V4L2_COLORSPACE_BT2020) || (defined(HAVE_DECL_V4L2_COLORSPACE_BT2020) && HAVE_DECL_V4L2_COLORSPACE_BT2020)
+  XLAT(V4L2_COLORSPACE_BT2020),
+#endif
+#if defined(V4L2_COLORSPACE_RAW) || (defined(HAVE_DECL_V4L2_COLORSPACE_RAW) && HAVE_DECL_V4L2_COLORSPACE_RAW)
+  XLAT(V4L2_COLORSPACE_RAW),
+#endif
+#if defined(V4L2_COLORSPACE_DCI_P3) || (defined(HAVE_DECL_V4L2_COLORSPACE_DCI_P3) && HAVE_DECL_V4L2_COLORSPACE_DCI_P3)
+  XLAT(V4L2_COLORSPACE_DCI_P3),
+#endif
  XLAT_END
 };
 
diff --git a/xlat/v4l2_colorspaces.in b/xlat/v4l2_colorspaces.in
index 961e71c..1d227e4 100644
--- a/xlat/v4l2_colorspaces.in
+++ b/xlat/v4l2_colorspaces.in
@@ -6,3 +6,7 @@
 V4L2_COLORSPACE_470_SYSTEM_BG
 V4L2_COLORSPACE_JPEG
 V4L2_COLORSPACE_SRGB
+V4L2_COLORSPACE_ADOBERGB
+V4L2_COLORSPACE_BT2020
+V4L2_COLORSPACE_RAW
+V4L2_COLORSPACE_DCI_P3
diff --git a/xlat/v4l2_device_capabilities_flags.h b/xlat/v4l2_device_capabilities_flags.h
index 73928e1..70842c4 100644
--- a/xlat/v4l2_device_capabilities_flags.h
+++ b/xlat/v4l2_device_capabilities_flags.h
@@ -82,6 +82,15 @@
 #if defined(V4L2_CAP_DEVICE_CAPS) || (defined(HAVE_DECL_V4L2_CAP_DEVICE_CAPS) && HAVE_DECL_V4L2_CAP_DEVICE_CAPS)
   XLAT(V4L2_CAP_DEVICE_CAPS),
 #endif
+#if defined(V4L2_CAP_SDR_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_SDR_CAPTURE) && HAVE_DECL_V4L2_CAP_SDR_CAPTURE)
+  XLAT(V4L2_CAP_SDR_CAPTURE),
+#endif
+#if defined(V4L2_CAP_EXT_PIX_FORMAT) || (defined(HAVE_DECL_V4L2_CAP_EXT_PIX_FORMAT) && HAVE_DECL_V4L2_CAP_EXT_PIX_FORMAT)
+  XLAT(V4L2_CAP_EXT_PIX_FORMAT),
+#endif
+#if defined(V4L2_CAP_SDR_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_SDR_OUTPUT) && HAVE_DECL_V4L2_CAP_SDR_OUTPUT)
+  XLAT(V4L2_CAP_SDR_OUTPUT),
+#endif
  XLAT_END
 };
 
diff --git a/xlat/v4l2_device_capabilities_flags.in b/xlat/v4l2_device_capabilities_flags.in
index 9380eb4..d4e3292 100644
--- a/xlat/v4l2_device_capabilities_flags.in
+++ b/xlat/v4l2_device_capabilities_flags.in
@@ -22,3 +22,6 @@
 V4L2_CAP_STREAMING
 V4L2_CAP_TOUCH
 V4L2_CAP_DEVICE_CAPS
+V4L2_CAP_SDR_CAPTURE
+V4L2_CAP_EXT_PIX_FORMAT
+V4L2_CAP_SDR_OUTPUT
diff --git a/xlat/v4l2_memories.h b/xlat/v4l2_memories.h
index eda2ff9..acbb395 100644
--- a/xlat/v4l2_memories.h
+++ b/xlat/v4l2_memories.h
@@ -16,6 +16,12 @@
 #if defined(V4L2_MEMORY_USERPTR) || (defined(HAVE_DECL_V4L2_MEMORY_USERPTR) && HAVE_DECL_V4L2_MEMORY_USERPTR)
   XLAT(V4L2_MEMORY_USERPTR),
 #endif
+#if defined(V4L2_MEMORY_OVERLAY) || (defined(HAVE_DECL_V4L2_MEMORY_OVERLAY) && HAVE_DECL_V4L2_MEMORY_OVERLAY)
+  XLAT(V4L2_MEMORY_OVERLAY),
+#endif
+#if defined(V4L2_MEMORY_DMABUF) || (defined(HAVE_DECL_V4L2_MEMORY_DMABUF) && HAVE_DECL_V4L2_MEMORY_DMABUF)
+  XLAT(V4L2_MEMORY_DMABUF),
+#endif
  XLAT_END
 };
 
diff --git a/xlat/v4l2_memories.in b/xlat/v4l2_memories.in
index e592d57..2acd47b 100644
--- a/xlat/v4l2_memories.in
+++ b/xlat/v4l2_memories.in
@@ -1,2 +1,4 @@
 V4L2_MEMORY_MMAP
 V4L2_MEMORY_USERPTR
+V4L2_MEMORY_OVERLAY
+V4L2_MEMORY_DMABUF
diff --git a/xlat/v4l2_sliced_flags.h b/xlat/v4l2_sliced_flags.h
new file mode 100644
index 0000000..56634ba
--- /dev/null
+++ b/xlat/v4l2_sliced_flags.h
@@ -0,0 +1,34 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_sliced_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_sliced_flags[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_sliced_flags[] = {
+#if defined(V4L2_SLICED_TELETEXT_B) || (defined(HAVE_DECL_V4L2_SLICED_TELETEXT_B) && HAVE_DECL_V4L2_SLICED_TELETEXT_B)
+  XLAT(V4L2_SLICED_TELETEXT_B),
+#endif
+#if defined(V4L2_SLICED_VPS) || (defined(HAVE_DECL_V4L2_SLICED_VPS) && HAVE_DECL_V4L2_SLICED_VPS)
+  XLAT(V4L2_SLICED_VPS),
+#endif
+#if defined(V4L2_SLICED_CAPTION_525) || (defined(HAVE_DECL_V4L2_SLICED_CAPTION_525) && HAVE_DECL_V4L2_SLICED_CAPTION_525)
+  XLAT(V4L2_SLICED_CAPTION_525),
+#endif
+#if defined(V4L2_SLICED_WSS_625) || (defined(HAVE_DECL_V4L2_SLICED_WSS_625) && HAVE_DECL_V4L2_SLICED_WSS_625)
+  XLAT(V4L2_SLICED_WSS_625),
+#endif
+#if defined(V4L2_SLICED_VBI_525) || (defined(HAVE_DECL_V4L2_SLICED_VBI_525) && HAVE_DECL_V4L2_SLICED_VBI_525)
+  XLAT(V4L2_SLICED_VBI_525),
+#endif
+#if defined(V4L2_SLICED_VBI_625) || (defined(HAVE_DECL_V4L2_SLICED_VBI_625) && HAVE_DECL_V4L2_SLICED_VBI_625)
+  XLAT(V4L2_SLICED_VBI_625),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_sliced_flags.in b/xlat/v4l2_sliced_flags.in
new file mode 100644
index 0000000..baff2e2
--- /dev/null
+++ b/xlat/v4l2_sliced_flags.in
@@ -0,0 +1,6 @@
+V4L2_SLICED_TELETEXT_B
+V4L2_SLICED_VPS
+V4L2_SLICED_CAPTION_525
+V4L2_SLICED_WSS_625
+V4L2_SLICED_VBI_525
+V4L2_SLICED_VBI_625
diff --git a/xlat/v4l2_tuner_audmodes.h b/xlat/v4l2_tuner_audmodes.h
new file mode 100644
index 0000000..916b589
--- /dev/null
+++ b/xlat/v4l2_tuner_audmodes.h
@@ -0,0 +1,34 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_audmodes.in; do not edit. */
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_tuner_audmodes[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_tuner_audmodes[] = {
+#if defined(V4L2_TUNER_MODE_MONO) || (defined(HAVE_DECL_V4L2_TUNER_MODE_MONO) && HAVE_DECL_V4L2_TUNER_MODE_MONO)
+  XLAT(V4L2_TUNER_MODE_MONO),
+#endif
+#if defined(V4L2_TUNER_MODE_STEREO) || (defined(HAVE_DECL_V4L2_TUNER_MODE_STEREO) && HAVE_DECL_V4L2_TUNER_MODE_STEREO)
+  XLAT(V4L2_TUNER_MODE_STEREO),
+#endif
+#if defined(V4L2_TUNER_MODE_LANG2) || (defined(HAVE_DECL_V4L2_TUNER_MODE_LANG2) && HAVE_DECL_V4L2_TUNER_MODE_LANG2)
+  XLAT(V4L2_TUNER_MODE_LANG2),
+#endif
+#if defined(V4L2_TUNER_MODE_SAP) || (defined(HAVE_DECL_V4L2_TUNER_MODE_SAP) && HAVE_DECL_V4L2_TUNER_MODE_SAP)
+  XLAT(V4L2_TUNER_MODE_SAP),
+#endif
+#if defined(V4L2_TUNER_MODE_LANG1) || (defined(HAVE_DECL_V4L2_TUNER_MODE_LANG1) && HAVE_DECL_V4L2_TUNER_MODE_LANG1)
+  XLAT(V4L2_TUNER_MODE_LANG1),
+#endif
+#if defined(V4L2_TUNER_MODE_LANG1_LANG2) || (defined(HAVE_DECL_V4L2_TUNER_MODE_LANG1_LANG2) && HAVE_DECL_V4L2_TUNER_MODE_LANG1_LANG2)
+  XLAT(V4L2_TUNER_MODE_LANG1_LANG2),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_tuner_audmodes.in b/xlat/v4l2_tuner_audmodes.in
new file mode 100644
index 0000000..82decab
--- /dev/null
+++ b/xlat/v4l2_tuner_audmodes.in
@@ -0,0 +1,6 @@
+V4L2_TUNER_MODE_MONO
+V4L2_TUNER_MODE_STEREO
+V4L2_TUNER_MODE_LANG2
+V4L2_TUNER_MODE_SAP
+V4L2_TUNER_MODE_LANG1
+V4L2_TUNER_MODE_LANG1_LANG2
diff --git a/xlat/v4l2_tuner_capabilities.h b/xlat/v4l2_tuner_capabilities.h
new file mode 100644
index 0000000..f900179
--- /dev/null
+++ b/xlat/v4l2_tuner_capabilities.h
@@ -0,0 +1,58 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_capabilities.in; do not edit. */
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_tuner_capabilities[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_tuner_capabilities[] = {
+#if defined(V4L2_TUNER_CAP_LOW) || (defined(HAVE_DECL_V4L2_TUNER_CAP_LOW) && HAVE_DECL_V4L2_TUNER_CAP_LOW)
+  XLAT(V4L2_TUNER_CAP_LOW),
+#endif
+#if defined(V4L2_TUNER_CAP_NORM) || (defined(HAVE_DECL_V4L2_TUNER_CAP_NORM) && HAVE_DECL_V4L2_TUNER_CAP_NORM)
+  XLAT(V4L2_TUNER_CAP_NORM),
+#endif
+#if defined(V4L2_TUNER_CAP_HWSEEK_BOUNDED) || (defined(HAVE_DECL_V4L2_TUNER_CAP_HWSEEK_BOUNDED) && HAVE_DECL_V4L2_TUNER_CAP_HWSEEK_BOUNDED)
+  XLAT(V4L2_TUNER_CAP_HWSEEK_BOUNDED),
+#endif
+#if defined(V4L2_TUNER_CAP_HWSEEK_WRAP) || (defined(HAVE_DECL_V4L2_TUNER_CAP_HWSEEK_WRAP) && HAVE_DECL_V4L2_TUNER_CAP_HWSEEK_WRAP)
+  XLAT(V4L2_TUNER_CAP_HWSEEK_WRAP),
+#endif
+#if defined(V4L2_TUNER_CAP_STEREO) || (defined(HAVE_DECL_V4L2_TUNER_CAP_STEREO) && HAVE_DECL_V4L2_TUNER_CAP_STEREO)
+  XLAT(V4L2_TUNER_CAP_STEREO),
+#endif
+#if defined(V4L2_TUNER_CAP_LANG2) || (defined(HAVE_DECL_V4L2_TUNER_CAP_LANG2) && HAVE_DECL_V4L2_TUNER_CAP_LANG2)
+  XLAT(V4L2_TUNER_CAP_LANG2),
+#endif
+#if defined(V4L2_TUNER_CAP_SAP) || (defined(HAVE_DECL_V4L2_TUNER_CAP_SAP) && HAVE_DECL_V4L2_TUNER_CAP_SAP)
+  XLAT(V4L2_TUNER_CAP_SAP),
+#endif
+#if defined(V4L2_TUNER_CAP_LANG1) || (defined(HAVE_DECL_V4L2_TUNER_CAP_LANG1) && HAVE_DECL_V4L2_TUNER_CAP_LANG1)
+  XLAT(V4L2_TUNER_CAP_LANG1),
+#endif
+#if defined(V4L2_TUNER_CAP_RDS) || (defined(HAVE_DECL_V4L2_TUNER_CAP_RDS) && HAVE_DECL_V4L2_TUNER_CAP_RDS)
+  XLAT(V4L2_TUNER_CAP_RDS),
+#endif
+#if defined(V4L2_TUNER_CAP_RDS_BLOCK_IO) || (defined(HAVE_DECL_V4L2_TUNER_CAP_RDS_BLOCK_IO) && HAVE_DECL_V4L2_TUNER_CAP_RDS_BLOCK_IO)
+  XLAT(V4L2_TUNER_CAP_RDS_BLOCK_IO),
+#endif
+#if defined(V4L2_TUNER_CAP_RDS_CONTROLS) || (defined(HAVE_DECL_V4L2_TUNER_CAP_RDS_CONTROLS) && HAVE_DECL_V4L2_TUNER_CAP_RDS_CONTROLS)
+  XLAT(V4L2_TUNER_CAP_RDS_CONTROLS),
+#endif
+#if defined(V4L2_TUNER_CAP_FREQ_BANDS) || (defined(HAVE_DECL_V4L2_TUNER_CAP_FREQ_BANDS) && HAVE_DECL_V4L2_TUNER_CAP_FREQ_BANDS)
+  XLAT(V4L2_TUNER_CAP_FREQ_BANDS),
+#endif
+#if defined(V4L2_TUNER_CAP_HWSEEK_PROG_LIM) || (defined(HAVE_DECL_V4L2_TUNER_CAP_HWSEEK_PROG_LIM) && HAVE_DECL_V4L2_TUNER_CAP_HWSEEK_PROG_LIM)
+  XLAT(V4L2_TUNER_CAP_HWSEEK_PROG_LIM),
+#endif
+#if defined(V4L2_TUNER_CAP_1HZ) || (defined(HAVE_DECL_V4L2_TUNER_CAP_1HZ) && HAVE_DECL_V4L2_TUNER_CAP_1HZ)
+  XLAT(V4L2_TUNER_CAP_1HZ),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_tuner_capabilities.in b/xlat/v4l2_tuner_capabilities.in
new file mode 100644
index 0000000..4aec41e
--- /dev/null
+++ b/xlat/v4l2_tuner_capabilities.in
@@ -0,0 +1,14 @@
+V4L2_TUNER_CAP_LOW
+V4L2_TUNER_CAP_NORM
+V4L2_TUNER_CAP_HWSEEK_BOUNDED
+V4L2_TUNER_CAP_HWSEEK_WRAP
+V4L2_TUNER_CAP_STEREO
+V4L2_TUNER_CAP_LANG2
+V4L2_TUNER_CAP_SAP
+V4L2_TUNER_CAP_LANG1
+V4L2_TUNER_CAP_RDS
+V4L2_TUNER_CAP_RDS_BLOCK_IO
+V4L2_TUNER_CAP_RDS_CONTROLS
+V4L2_TUNER_CAP_FREQ_BANDS
+V4L2_TUNER_CAP_HWSEEK_PROG_LIM
+V4L2_TUNER_CAP_1HZ
diff --git a/xlat/v4l2_tuner_rxsubchanses.h b/xlat/v4l2_tuner_rxsubchanses.h
new file mode 100644
index 0000000..5213498
--- /dev/null
+++ b/xlat/v4l2_tuner_rxsubchanses.h
@@ -0,0 +1,34 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_rxsubchanses.in; do not edit. */
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_tuner_rxsubchanses[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_tuner_rxsubchanses[] = {
+#if defined(V4L2_TUNER_SUB_MONO) || (defined(HAVE_DECL_V4L2_TUNER_SUB_MONO) && HAVE_DECL_V4L2_TUNER_SUB_MONO)
+  XLAT(V4L2_TUNER_SUB_MONO),
+#endif
+#if defined(V4L2_TUNER_SUB_STEREO) || (defined(HAVE_DECL_V4L2_TUNER_SUB_STEREO) && HAVE_DECL_V4L2_TUNER_SUB_STEREO)
+  XLAT(V4L2_TUNER_SUB_STEREO),
+#endif
+#if defined(V4L2_TUNER_SUB_LANG2) || (defined(HAVE_DECL_V4L2_TUNER_SUB_LANG2) && HAVE_DECL_V4L2_TUNER_SUB_LANG2)
+  XLAT(V4L2_TUNER_SUB_LANG2),
+#endif
+#if defined(V4L2_TUNER_SUB_SAP) || (defined(HAVE_DECL_V4L2_TUNER_SUB_SAP) && HAVE_DECL_V4L2_TUNER_SUB_SAP)
+  XLAT(V4L2_TUNER_SUB_SAP),
+#endif
+#if defined(V4L2_TUNER_SUB_LANG1) || (defined(HAVE_DECL_V4L2_TUNER_SUB_LANG1) && HAVE_DECL_V4L2_TUNER_SUB_LANG1)
+  XLAT(V4L2_TUNER_SUB_LANG1),
+#endif
+#if defined(V4L2_TUNER_SUB_RDS) || (defined(HAVE_DECL_V4L2_TUNER_SUB_RDS) && HAVE_DECL_V4L2_TUNER_SUB_RDS)
+  XLAT(V4L2_TUNER_SUB_RDS),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_tuner_rxsubchanses.in b/xlat/v4l2_tuner_rxsubchanses.in
new file mode 100644
index 0000000..c6d59e9
--- /dev/null
+++ b/xlat/v4l2_tuner_rxsubchanses.in
@@ -0,0 +1,6 @@
+V4L2_TUNER_SUB_MONO
+V4L2_TUNER_SUB_STEREO
+V4L2_TUNER_SUB_LANG2
+V4L2_TUNER_SUB_SAP
+V4L2_TUNER_SUB_LANG1
+V4L2_TUNER_SUB_RDS
diff --git a/xlat/v4l2_tuner_types.h b/xlat/v4l2_tuner_types.h
new file mode 100644
index 0000000..67f12e5
--- /dev/null
+++ b/xlat/v4l2_tuner_types.h
@@ -0,0 +1,34 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_tuner_types.in; do not edit. */
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_tuner_types[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_tuner_types[] = {
+#if defined(V4L2_TUNER_RADIO) || (defined(HAVE_DECL_V4L2_TUNER_RADIO) && HAVE_DECL_V4L2_TUNER_RADIO)
+  XLAT(V4L2_TUNER_RADIO),
+#endif
+#if defined(V4L2_TUNER_ANALOG_TV) || (defined(HAVE_DECL_V4L2_TUNER_ANALOG_TV) && HAVE_DECL_V4L2_TUNER_ANALOG_TV)
+  XLAT(V4L2_TUNER_ANALOG_TV),
+#endif
+#if defined(V4L2_TUNER_DIGITAL_TV) || (defined(HAVE_DECL_V4L2_TUNER_DIGITAL_TV) && HAVE_DECL_V4L2_TUNER_DIGITAL_TV)
+  XLAT(V4L2_TUNER_DIGITAL_TV),
+#endif
+#if defined(V4L2_TUNER_ADC) || (defined(HAVE_DECL_V4L2_TUNER_ADC) && HAVE_DECL_V4L2_TUNER_ADC)
+  XLAT(V4L2_TUNER_ADC),
+#endif
+#if defined(V4L2_TUNER_SDR) || (defined(HAVE_DECL_V4L2_TUNER_SDR) && HAVE_DECL_V4L2_TUNER_SDR)
+  XLAT(V4L2_TUNER_SDR),
+#endif
+#if defined(V4L2_TUNER_RF) || (defined(HAVE_DECL_V4L2_TUNER_RF) && HAVE_DECL_V4L2_TUNER_RF)
+  XLAT(V4L2_TUNER_RF),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_tuner_types.in b/xlat/v4l2_tuner_types.in
new file mode 100644
index 0000000..59a9f3a
--- /dev/null
+++ b/xlat/v4l2_tuner_types.in
@@ -0,0 +1,6 @@
+V4L2_TUNER_RADIO
+V4L2_TUNER_ANALOG_TV
+V4L2_TUNER_DIGITAL_TV
+V4L2_TUNER_ADC
+V4L2_TUNER_SDR
+V4L2_TUNER_RF
diff --git a/xlat/v4l2_vbi_flags.h b/xlat/v4l2_vbi_flags.h
new file mode 100644
index 0000000..7924d3e
--- /dev/null
+++ b/xlat/v4l2_vbi_flags.h
@@ -0,0 +1,34 @@
+/* Generated by ./xlat/gen.sh from ./xlat/v4l2_vbi_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+extern const struct xlat v4l2_vbi_flags[];
+
+#else
+
+# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
+static
+# endif
+const struct xlat v4l2_vbi_flags[] = {
+#if defined(V4L2_VBI_UNSYNC) || (defined(HAVE_DECL_V4L2_VBI_UNSYNC) && HAVE_DECL_V4L2_VBI_UNSYNC)
+  XLAT(V4L2_VBI_UNSYNC),
+#endif
+#if defined(V4L2_VBI_INTERLACED) || (defined(HAVE_DECL_V4L2_VBI_INTERLACED) && HAVE_DECL_V4L2_VBI_INTERLACED)
+  XLAT(V4L2_VBI_INTERLACED),
+#endif
+#if defined(V4L2_VBI_ITU_525_F1_START) || (defined(HAVE_DECL_V4L2_VBI_ITU_525_F1_START) && HAVE_DECL_V4L2_VBI_ITU_525_F1_START)
+  XLAT(V4L2_VBI_ITU_525_F1_START),
+#endif
+#if defined(V4L2_VBI_ITU_525_F2_START) || (defined(HAVE_DECL_V4L2_VBI_ITU_525_F2_START) && HAVE_DECL_V4L2_VBI_ITU_525_F2_START)
+  XLAT(V4L2_VBI_ITU_525_F2_START),
+#endif
+#if defined(V4L2_VBI_ITU_625_F1_START) || (defined(HAVE_DECL_V4L2_VBI_ITU_625_F1_START) && HAVE_DECL_V4L2_VBI_ITU_625_F1_START)
+  XLAT(V4L2_VBI_ITU_625_F1_START),
+#endif
+#if defined(V4L2_VBI_ITU_625_F2_START) || (defined(HAVE_DECL_V4L2_VBI_ITU_625_F2_START) && HAVE_DECL_V4L2_VBI_ITU_625_F2_START)
+  XLAT(V4L2_VBI_ITU_625_F2_START),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/v4l2_vbi_flags.in b/xlat/v4l2_vbi_flags.in
new file mode 100644
index 0000000..b367e60
--- /dev/null
+++ b/xlat/v4l2_vbi_flags.in
@@ -0,0 +1,6 @@
+V4L2_VBI_UNSYNC
+V4L2_VBI_INTERLACED
+V4L2_VBI_ITU_525_F1_START
+V4L2_VBI_ITU_525_F2_START
+V4L2_VBI_ITU_625_F1_START
+V4L2_VBI_ITU_625_F2_START
