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
