2021-07-18  Dmitry V. Levin  <ldv@strace.io>

	Prepare for 5.13 release.
	* NEWS: Update for 5.13 release.

2021-07-18  Dmitry V. Levin  <ldv@strace.io>

	build: do not use old bundled linux kernel headers.
	Do not use bundled linux kernel headers when they are definitely older
	than those provided by the operating system.

	* bundled/linux/include/uapi/linux/version.h: New file, copied from
	headers_install'ed Linux kernel v5.13.
	* bundled/Makefile.am (EXTRA_DIST): Add it.
	* configure.ac: Compare LINUX_VERSION_CODE provided by bundled and
	system <linux/version.h> files, define USE_BUNDLED_HEADERS and CPPFLAGS
	appropriately.
	* src/Makefile.am (bundled_CPPFLAGS): New variable.
	(AM_CPPFLAGS): Use it.
	* tests/Makefile.am: Likewise.

2021-07-18  Dmitry V. Levin  <ldv@strace.io>

	tests: skip tests of old scm timestamps on glibc >= 2.33.
	Sadly, starting with commit
	glibc-2.33.9000-707-g13c51549e2077f2f3bf84e8fd0b46d8b0c615912,
	on every 32-bit architecture where 32-bit time_t support is enabled,
	glibc mangles old scm timestamps.

	* tests/sockopt-timestamp.c (TEST_OLD_SCM_TIMESTAMPS): New macro.
	(main) [!TEST_OLD_SCM_TIMESTAMPS]: Skip SO_TIMESTAMP_OLD and
	SO_TIMESTAMPNS_OLD tests.

2021-07-18  Dmitry V. Levin  <ldv@strace.io>

	tests/msg_name: skip bogus address tests on glibc >= 2.33.
	Sadly, starting with commit
	glibc-2.33.9000-707-g13c51549e2077f2f3bf84e8fd0b46d8b0c615912, on every
	32-bit architecture where 32-bit time_t support is enabled, glibc
	blindly dereferences the 2nd argument of recvmsg call.

	* tests/msg_name.c (TEST_RECVMSG_BOGUS_ADDR): New macro.
	(test_msg_name) [TEST_RECVMSG_BOGUS_ADDR == 0]: Skip bogus address
	tests.

2021-07-18  Dmitry V. Levin  <ldv@strace.io>

	tests: use QUIRK:START-OF-TEST-OUTPUT for getrlimit and ugetrlimit.
	Workaround an extra getrlimit or ugetrlimit system call during startup
	introduced by
	glibc-2.33.9000-630-gd03511f48f49fcb9bec4305586c26ab5d0063022
	on some of 32-bit architectures.

	* tests/xgetrlimit.c (main): Invoke NR_GETRLIMIT syscall with predefined
	invalid arguments to be used as a marker.
	* tests/gen_tests.in (getrlimit, ugetrlimit): Add
	QUIRK:START-OF-TEST-OUTPUT.

	Complements: v5.12-306-gfd5e20b1e "tests: use QUIRK:START-OF-TEST-OUTPUT for prlimit64"

2021-07-17  Dmitry V. Levin  <ldv@strace.io>

	tests: fix prctl marker.
	On some platforms, unsigned int arguments passed to syscall() are sign-extended.
	Workaround this by casting prctl marker arguments to unsigned long.

	* tests/prctl-arg2-intptr.c (main): Cast last four prctl marker
	arguments to unsigned long.
	* tests/prctl-cap-ambient.c (main): Likewise.
	* tests/prctl-capbset.c (main): Likewise.
	* tests/prctl-dumpable.c (main): Likewise.
	* tests/prctl-fp-mode.c (main): Likewise.
	* tests/prctl-mce-kill.c (main): Likewise.
	* tests/prctl-name.c (main): Likewise.
	* tests/prctl-no-args.c (main): Likewise.
	* tests/prctl-pdeathsig.c (main): Likewise.
	* tests/prctl-seccomp-filter-v.c (main): Likewise.
	* tests/prctl-seccomp-strict.c (main): Likewise.
	* tests/prctl-securebits.c (prctl): Likewise.
	* tests/prctl-spec-inject.c (main): Likewise.
	* tests/prctl-sve.c (main): Likewise.
	* tests/prctl-tid_address.c (main): Likewise.
	* tests/prctl-tsc.c (main): Likewise.
	* tests/prctl-unalign.c (main): Likewise.

	Fixes: v5.12-310-gb9f9d5b25 "tests: unify common code in prctl decoder tests"
	Fixes: v5.12-311-gcfadf5f5a "tests: improve test coverage of prctl syscall decoder"

2021-07-17  Dmitry V. Levin  <ldv@strace.io>

	Update copyright headers.
	Headers updated automatically using maint/update_copyright_years.sh
	script.

2021-07-17  Dmitry V. Levin  <ldv@strace.io>

	Fix preprocessor indentation.
	Indent the C preprocessor directives to reflect their nesting
	using the following script:

	$ cppi -l $(git grep -El '^[[:space:]]*#[[:space:]]*(if|ifdef|ifndef|elif|else|endif|define|pragma)[[:space:]]' src tests |grep -v '\.sh$') |while read f; do
		cppi < "$f" > "$f".cppi; mv "$f".cppi "$f"
	done

2021-07-12  Srikavin Ramkumar  <srikavinramkumar@gmail.com>

	tests: improve test coverage of prctl syscall decoder.
	Add tests for PR_CAP_AMBIENT, PR_CAPBSET_READ, PR_CAPBSET_DROP,
	PR_[GS]ET_FP_MODE, PR_MCE_KILL, PR_SVE_[GS]ET_VL, PR_[GS]ET_UNALIGN.

	* tests/.gitignore: Add prctl-cap-ambient, prctl-capbset, prctl-fp-mode,
	prctl-mce-kill, prctl-sve, and prctl-unalign.
	* tests/Makefile.am (check_PROGRAMS): Add prctl-fp-mode.
	(DECODER_TESTS): Add prctl-fp-mode.test.
	* tests/pure_executables.list: Add prctl-cap-ambient, prctl-capbset,
	prctl-mce-kill, prctl-sve, and prctl-unalign.
	* tests/gen_tests.in (prctl-cap-ambient, prctl-capbset, prctl-mce-kill,
	prctl-sve, prctl-unalign): New entries.
	* tests/prctl-cap-ambient.c: New file.
	* tests/prctl-capbset.c: Likewise.
	* tests/prctl-fp-mode.c: Likewise.
	* tests/prctl-fp-mode.test: Likewise.
	* tests/prctl-mce-kill.c: Likewise.
	* tests/prctl-sve.c: Likewise.
	* tests/prctl-unalign.c: Likewise.

2021-07-12  Srikavin Ramkumar  <srikavinramkumar@gmail.com>

	tests: unify common code in prctl decoder tests.
	* tests/prctl.sh: Extract common test code.
	* tests/gen_tests.in (prctl-arg2-intptr, prctl-dumpable, prctl-name,
	prctl-no-args, prctl-pdeathsig, prctl-seccomp-filter-v, prctl-securebits,
	prctl-tid_address, prctl-tsc): New entries.
	* tests/Makefile.am (DECODER_TESTS): Remove prctl-arg2-intptr.test,
	prctl-dumpable.test, prctl-name.test, prctl-no-args.test,
	prctl-pdeathsig.test, prctl-seccomp-filter-v.test, prctl-securebits.test,
	prctl-tid_address.test, and prctl-tsc.test.
	(EXTRA_DIST): Add prctl.sh.
	* tests/prctl-seccomp-strict.test: Replace output filtering with a sed filter.
	* tests/prctl-spec-inject.test: Likewise.
	* tests/prctl-arg2-intptr.c: Add a marker to indicate the start of the
	expected output.
	* tests/prctl-dumpable.c: Likewise.
	* tests/prctl-name.c: Likewise.
	* tests/prctl-no-args.c: Likewise.
	* tests/prctl-pdeathsig.c: Likewise.
	* tests/prctl-seccomp-filter-v.c: Likewise.
	* tests/prctl-seccomp-strict.c: Likewise.
	* tests/prctl-securebits.c: Likewise.
	* tests/prctl-tid_address.c: Likewise.
	* tests/prctl-tsc.c: Likewise.
	* tests/prctl-arg2-intptr.test: Remove file.
	* 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-securebits.test: Likewise.
	* tests/prctl-spec-inject.c: Likewise.
	* tests/prctl-tid_address.test: Likewise.
	* tests/prctl-tsc.test: Likewise.

2021-07-16  Dmitry V. Levin  <ldv@strace.io>

	xlat: remove #enum where #unconditional is used.
	* src/xlat/sysctl_net_unix.in: Remove #enum and #include.

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: use QUIRK:START-OF-TEST-OUTPUT for getrandom.
	To work around polluting getrandom() call for tcache key initialisation,
	introduced in glibc-2.33.9000-879-gfc859c3.

	* tests/gen_tests.in (getrandom): Add QUIRK:START-OF-TEST-OUTPUT.
	* tests/getrandom.c: Call getrandom with pre-defined arguments
	to use it as a marker of the beginning of the test output, put printf first
	to trigger tcache initialisation.

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	futex: implement FUTEX_LOCK_PI2 op decoding.
	Introduced by Linux commit v5.14-rc1~180^2~1.

	* src/xlat/futexops.in (FUTEX_LOCK_PI2, FUTEX_LOCK_PI2_PRIVATE): New
	constants.
	* src/futex.c (do_futex) <case FUTEX_LOCK_PI2>: Decode the same way as
	FUTEX_LOCK_PI.
	* tests/futex.c: Add checks for FUTEX_LOCK_PI2, update expected output.

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: use QUIRK:START-OF-TEST-OUTPUT for prlimit64.
	To work around polluting prlimit64(0, RLIMIT_STACK, NULL, ...) call
	introduced in glibc-2.33.9000-630-gd03511f.

	* tests/gen_tests.in (prlimit64, prlimit64--pidns-translation): Add
	QUIRK:START-OF-TEST-OUTPUT.
	* tests/prlimit64.c: Call prlimit64 with pre-defined arguments
	to use it as a marker of the beinning of the test output.

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: use QUIRK:START-OF-TEST-OUTPUT for xet_robust_list test.
	Due to output-polluting set_robust_list call introduced in
	glibc-2.33.9000-778-g9a75654.

	* tests/gen_tests.in (xet_robust_list,
	xet_robust_list--pidns-translation): Add QUIRK:START-OF-TEST-OUTPUT.
	* tests/xet_robust_list.c: Call get_robust_list with zero arguments
	to use it as a marker of the beinning of the test output.

	Resolves: https://github.com/strace/strace/issues/184

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: add a quirk for filtering out output outside markers.
	Add suuport of "QUIRK:START-OF-TEST-OUTPUT:<STR>" pseudo-argument that
	filters out strace output before the '<STR>' marker string.

	* tests/init.sh (sed_re_escape): New function.
	(run_strace_match_diff): Parse the arguments, enable
	expected output filtering if "QUIRK:START-OF-TEST-OUTPUT:" is present
	among arguments.
	(test_pidns_run_strace): Likewise.

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>
	    Dmitry V. Levin  <ldv@strace.io>

	Implement landlock_{add_rule,create_ruleset,restrict_self} syscall decoding
	Introduced by Linux commit v5.13-rc1~71^2~4.

	* bundled/linux/include/uapi/linux/landlock.h: New file, copied from
	headers_install'ed Linux kernel v5.13.
	* bundled/Makefile.am (EXTRA_DIST): Add it.
	* src/Makefile.am (libstrace_a_SOURCES): Add landlock.c.
	* src/landlock.c: New file.
	* src/linux/generic/syscallent-common.h([BASE_NR + 444], [BASE_NR + 445],
	[BASE_NR + 446]): New entries, for landlock_create_ruleset, landlock_add_rule,
	and landlock_restrict_self, respectively.
	* src/pathtrace.c (pathtrace_match_set): Handle SEN_landlock_add_rule,
	SEN_landlock_create_ruleset, and SEN_landlock_restrict_self.
	* src/xlat/landlock_create_ruleset_flags.in: New xlat.
	* src/xlat/landlock_rule_types.in: Likewise.
	* src/xlat/landlock_ruleset_access_fs.in: Likewise.
	* tests/Makefile.am (check_PROGRAMS): Add
	landlock_create_ruleset-success and landlock_create_ruleset-success-y.
	(DECODER_TESTS): Add landlock_create_ruleset-success.test.
	* tests/gen_tests.in (landlock_add_rule, landlock_add_rule-y,
	landlock_create_ruleset, landlock_create_ruleset-success-y,
	landlock_create_ruleset-y, landlock_restrict_self,
	landlock_restrict_self-y): New tests.
	* tests/landlock_add_rule.c: New file.
	* tests/landlock_add_rule-y.c: Likewise.
	* tests/landlock_create_ruleset-success.c: Likewise.
	* tests/landlock_create_ruleset-success-y.c: Likewise.
	* tests/landlock_create_ruleset.c: Likewise.
	* tests/landlock_create_ruleset-y.c: Likewise.
	* tests/landlock_restrict_self.c: Likewise.
	* tests/landlock_restrict_self-y.c: Likewise.
	* tests/landlock_create_ruleset-success.test: New test.
	* tests/pure_executables.list: Add landlock_add_rule,
	landlock_add_rule-y, landlock_create_ruleset, landlock_create_ruleset-y,
	landlock_restrict_self, and landlock_restrict_self-y.
	* tests/.gitignore: Add landlock_add_rule, landlock_add_rule-y,
	landlock_create_ruleset, landlock_create_ruleset-success,
	landlock_create_ruleset-success-y, landlock_create_ruleset-y,
	landlock_restrict_self, and landlock_restrict_self-y.
	* NEWS: Mention it.

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: do not call syslog operations with side effects without -e inject
	Otherwise it has funny side effects when the test suite runs under root;
	note that the decoder coverage still holds thanks to the syslog-success
	test.

	* tests/syslog.c (main) <no_args>: Put SYSLOG_ACTION_CLEAR,
	SYSLOG_ACTION_CONSOLE_OFF, and SYSLOG_ACTION_CONSOLE_ON elements under
	"#ifdef RETVAL_INJECTED".
	(main) <two_args>: Put SYSLOG_ACTION_READ, SYSLOG_ACTION_READ_ALL,
	and SYSLOG_ACTION_READ_CLEAR elements under "#ifdef RETVAL_INJECTED".

	Resolves: https://github.com/strace/strace/issues/185

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	src/xlat/gen.sh: ignore #enum if #unconditional is set.
	Otherwise, it generates (useless) m4 check file.

	* src/xlat/gen.sh (gen_header): Set $enum to empty string if
	$unconditional is set after the first pass; swap the arguments
	in $enum comparisons to avoid possibility of breakage if $enum
	is ever set to a value that begins with "-".

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	src/linux/generic/syscallent-common.h: whitespace fix in pidfd_send_signal entry

2021-07-16  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: ignore -Wnonnull in preadv/pwritev tests.
	Specifically, these warnings:
	    preadv.c:69:13: error: argument 2 is null but the corresponding size argument 3 value is 1 [-Werror=nonnull]
	       69 |         if (preadv(0, NULL, 1, -2) != -1)
	          |             ^~~~~~~~~~~~~~~~~~~~~~
	    pwritev.c:112:14: error: argument 2 is null but the corresponding size argument 3 value is 1 [-Werror=nonnull]
	      112 |         rc = pwritev(0, NULL, 1, -3);
	          |              ^~~~~~~~~~~~~~~~~~~~~~~

	* src/gcc_compat.h (DIAG_PUSH_IGNORE_NONNULL, DIAG_POP_IGNORE_NONNULL):
	New macros.
	* tests/preadv.c: Use them around the offending call.
	* tests/pwritev.c: Likewise.

2021-07-16  Dmitry V. Levin  <ldv@strace.io>

	ipc: use more print_fields.h helpers.
	* src/ipc.c (sys_ipc): Use PRINT_VAL_U.

2021-07-15  Dmitry V. Levin  <ldv@strace.io>

	futex: use more print_fields.h helpers.
	* src/futex.c (do_futex): Use PRINT_VAL_X in more places.

2021-07-14  Dmitry V. Levin  <ldv@strace.io>

	perf: use more print_fields.h helpers.
	* src/perf.c (print_perf_event_attr): Use PRINT_VAL_X and
	tprintf_comment.

2021-07-13  Dmitry V. Levin  <ldv@strace.io>

	bpf_sock_filter: use more print_fields.h helpers.
	* src/bpf_sock_filter.c (print_sock_filter_k): Use PRINT_VAL_U.

2021-07-12  Dmitry V. Levin  <ldv@strace.io>

	bpf_seccomp_filter: use more print_fields.h helpers.
	* src/bpf_seccomp_filter.c (print_seccomp_filter_k): Use PRINT_VAL_X.

2021-07-11  Dmitry V. Levin  <ldv@strace.io>

	bpf_filter: use more print_fields.h helpers.
	* src/bpf_filter.c (print_bpf_filter_code): Use PRINT_VAL_X.

2021-07-10  Dmitry V. Levin  <ldv@strace.io>

	util: use more print_fields.h helpers.
	* src/util.c (DEF_PRINTPAIR): Use tprint_array_begin,
	tprint_array_next, and tprint_array_end.
	(printpidfd, printfd_pid, print_int8_array_member,
	print_int32_array_member, ): Use PRINT_VAL_D.
	(print_uint8_array_member, print_uint32_array_member,
	print_uint64_array_member): Use PRINT_VAL_U.
	(printaddr64, print_xint8_array_member, print_xint32_array_member,
	print_xint64_array_member): Use PRINT_VAL_X.
	(print_quoted_cstring, printstr_ex, print_nonzero_bytes): Use
	tprint_more_data_follows.
	(print_array_ex): Use tprint_array_begin, tprint_array_end,
	tprint_array_next, and tprint_more_data_follows.
	(printargs): Use tprint_arg_next and PRINT_VAL_X.
	(printargs_u): Use tprint_arg_next and PRINT_VAL_U.
	(printargs_d): Use tprint_arg_next and PRINT_VAL_D.

2021-07-09  Dmitry V. Levin  <ldv@strace.io>

	v4l2: use more print_fields.h helpers.
	* src/v4l2.c (print_pixelformat): Use PRINT_VAL_X, tprints_arg_begin,
	tprint_arg_next, and tprint_arg_end.
	(print_v4l2_capability, print_v4l2_fmtdesc, print_v4l2_format,
	print_v4l2_buffer, print_v4l2_standard, print_v4l2_input,
	print_v4l2_queryctrl, print_v4l2_query_ext_ctrl, print_v4l2_cropcap,
	print_v4l2_crop, print_v4l2_frmsizeenum, print_v4l2_frmivalenum,
	print_v4l2_create_buffers, v4l2_ioctl): Use tprint_arg_next.
	(print_v4l2_requestbuffers): Use tprint_arg_next and PRINT_VAL_U.
	(print_v4l2_buffer_flags): Use PRINT_VAL_U.
	(print_v4l2_buf_type): Use tprint_arg_next, tprint_indirect_begin,
	and tprint_indirect_end.
	(print_v4l2_streamparm, print_v4l2_tuner, print_v4l2_ext_controls):
	Use tprint_arg_next and tprint_struct_next.
	(print_v4l2_cid): Use PRINT_VAL_X.
	(print_v4l2_control): Use tprint_arg_next and PRINT_VAL_D.

2021-07-08  Dmitry V. Levin  <ldv@strace.io>

	wait: use more print_fields.h helpers.
	* src/wait.c (printstatus): Use tprint_indirect_begin, PRINT_VAL_X,
	and tprint_indirect_end.
	(printwaitn): Use tprint_arg_next.
	(sys_waitid): Use tprint_arg_next and PRINT_VAL_D.

2021-07-07  Dmitry V. Levin  <ldv@strace.io>

	xlat: use more print_fields.h helpers.
	* src/xlat.c (printflags_ex): Use PRINT_VAL_U.

2021-07-06  Dmitry V. Levin  <ldv@strace.io>

	sockaddr: use more print_fields.h helpers.
	* src/sockaddr.c (print_inet_addr): Use tprints_arg_begin,
	tprint_arg_next, and tprint_arg_end.
	(print_sockaddr_data_in6): Use tprint_comment_begin, tprints_arg_begin,
	PRINT_VAL_U, tprint_arg_end, and tprint_comment_end.
	(print_sockaddr_data_ax25): Use tprint_array_begin, tprint_array_next,
	tprint_unavailable, and tprint_array_end.
	(print_sockaddr_data_ipx): Use tprints_arg_begin, PRINT_VAL_X,
	and tprint_arg_end.
	(print_sll_protocol): Use tprints_arg_begin and tprint_arg_end.
	(print_sockaddr_data_ll): Use tprint_array_begin, tprint_array_next,
	and tprint_array_end.
	(print_bluetooth_l2_psm, print_bluetooth_l2_cid): Use tprints_arg_begin,
	PRINT_VAL_X, PRINT_VAL_U, and tprint_array_end.
	(print_sockaddr_data_bt): Use tprints_arg_begin, PRINT_VAL_U,
	and tprint_array_end.
	(print_sockaddr): Use tprint_struct_next.
	* tests/net-sockaddr.c (check_ax25): Update expected output.

2021-07-05  Dmitry V. Levin  <ldv@strace.io>

	printsiginfo: use more print_fields.h helpers.
	* src/printsiginfo.c (print_si_syscall): Use PRINT_VAL_U.

2021-07-04  Dmitry V. Levin  <ldv@strace.io>

	printmode: use more print_fields.h helpers.
	* src/print_fields.h (PRINT_VAL_03O): New macro.
	* src/printmode.c (print_symbolic_mode_t, print_numeric_umode_t,
	print_numeric_ll_umode_t): Use it.

2021-07-03  Dmitry V. Levin  <ldv@strace.io>

	evdev: use more print_fields.h helpers.
	* src/evdev.c (keycode_ioctl): Use tprint_array_begin,
	tprint_array_next, tprint_array_end, and PRINT_VAL_U.
	(decode_bitset): Use tprint_bitset_begin, tprint_bitset_next,
	and tprint_bitset_end.
	* tests/ioctl_evdev-success.c (main): Update expected output.

2021-07-02  Dmitry V. Levin  <ldv@strace.io>

	dm: use more print_fields.h helpers.
	* src/dm.c (dm_decode_dm_name_list): Use PRINT_VAL_U.
	(dm_decode_dm_target_versions): Use PRINT_FIELD_U_ARRAY.
	(dm_known_ioctl): Use tprint_arg_next and PRINT_FIELD_U_ARRAY.
	* tests/ioctl_dm.c (main): Update expected output.

2021-07-01  Dmitry V. Levin  <ldv@strace.io>

	desc: use more print_fields.h helpers.
	* src/desc.c (decode_select): Use tprint_bitset_begin,
	tprint_bitset_next, and tprint_bitset_end.

2021-06-30  Dmitry V. Levin  <ldv@strace.io>

	print_fields.h: introduce tprint_bitset_{begin,next,end}
	* src/print_fields.h (tprint_bitset_begin, tprint_bitset_next,
	tprint_bitset_end): New inline functions.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: print sample_*, read_format, and non-zero flags in abbreviated output
	To make it somewhat more useful.

	* src/perf.c (fetch_perf_event_attr): change read size to offsetof
	wakeup_events.
	(print_perf_event_attr): Move abbrev(tcp) printing cutoff past flags;
	print only non-zero flags if output is abbreviated.
	* tests/perf_event_open.c: Update expected output.
	* tests/ioctl_perf.c: Likewise.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: refactor bit flag printing.
	* src/perf.c (STRACE_PERF_PRINT_FLAG): New macro.
	(print_perf_event_attr): Use STRACE_PERF_PRINT_FLAG for printing bit
	flags.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: rename _PERF_CHECK_FIELD, fix grammar in comment.
	Avoid usage of underscore prefixes, as these are reserved for libc/kernel
	use.

	* src/perf.c (_PERF_CHECK_FIELD): Rename to...
	(STRACE_PERF_CHECK_FIELD): ...this;  rename _field argument to field_.
	(print_perf_event_attr): Use STRACE_PERF_CHECK_FIELD instead of
	_PERF_CHECK_FIELD.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: extended PERF_TYPE_HARDWARE/PERF_TYPE_HW_CACHE config decoding.
	Introduced in Linux commit v5.13-rc1~119^2~7.

	* src/perf.c (print_perf_event_attr) <case PERF_TYPE_HARDWARE>: Decode
	extended PMU tupe separately.
	<case PERF_TYPE_HW_CACHE>: Decode extended PMU type separatel, reorder
	the rest of the fields.
	* src/perf_event_struct.h (PERF_PMU_TYPE_SHIFT, PERF_HW_EVENT_MASK): New
	macros.
	* tests/perf_event_open.c:Update expected output.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add PERF_COUNT_SW_CGROUP_SWITCHES to perf_sw_ids.
	* src/xlat/perf_sw_ids.in (PERF_COUNT_SW_CGROUP_SWITCHES): New constant,
	introduced in Linux commit v5.13-rc1~119^2~30.
	* tests/perf_event_open.c: Update expected output.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: decode sigtrap and sig_data fields of struct perf_event_attr.
	Introduced in Linux commit v5.13-rc1~119^2~35.

	* bundled/linux/include/uapi/linux/perf_event.h: Updated to v5.13.
	* src/perf_event_struct.h (struct perf_event_attr): Add sigtrap and sig_data
	fields.
	* src/perf.c (print_perf_event_attr): Print sigtrap field;  correct
	__reserved_1 comment;  print __reserved_3 field if non-zero;  print
	sig_data field.
	* src/xlat/perf_attr_size.in (PERF_ATTR_SIZE_VER7): New constant.
	* tests/perf_event_open.c: Add checks for new struct sizes and fields.
	* NEWS: Mention it.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement struct perf_event_attr.remove_on_exec field decoding.
	Introduced in Linux commit v5.13-rc1~119^2~37.

	* bundled/linux/include/uapi/linux/perf_event.h: Updated to commit
	v5.13-rc1~119^2~37.
	* src/perf_event_struct.h (struct perf_event_attr): Add remove_on_exec field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1 comment.
	* tests/perf_event_open.c (struct pea_flags): Add remove_on_exec field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement struct perf_event_attr.inherit_thread field decoding.
	Introduced in Linux commit v5.13-rc1~119^2~38.

	* bundled/linux/include/uapi/linux/perf_event.h: Updated to commit
	v5.13-rc1~119^2~38.
	* src/perf_event_struct.h (struct perf_event_attr): Add inherit_thread field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1 comment.
	* tests/perf_event_open.c (struct pea_flags): Add inherit_thread field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add PERF_SAMPLE_WEIGHT_STRUCT to perf_event_sample_format.
	* src/xlat/perf_event_sample_format.in (PERF_SAMPLE_WEIGHT_STRUCT):
	New constant, introduced in Linux commit v5.12~401^2~9.
	* tests/perf_event_open.c: Update the expected output for sample_type
	field checks.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement struct perf_event_attr.build_id field decoding.
	Introduced in Linux commit v5.12~455^2~324^2^2.

	* src/perf_event_struct.h (struct perf_event_attr): Add build_id field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1 comment.
	* tests/perf_event_open.c (struct pea_flags): Add build_id field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add PERF_SAMPLE_{DATA,CODE}_PAGE_SIZE to perf_event_sample_format.
	* src/xlat/perf_event_sample_format.in (PERF_SAMPLE_DATA_PAGE_SIZE):
	New constant, introduced in Linux commit v5.11-rc1~177^2~24.
	(PERF_SAMPLE_CODE_PAGE_SIZE): New constant, introduced by Linux commit
	v5.11-rc1~177^2~21.
	Re-align the rest of the file.
	* tests/perf_event_open.c: Update the expected output for sample_type
	field checks.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement struct perf_event_attr.text_poke field decoding.
	Introduced in Linux commit v5.9-rc1~201^2~42.

	* src/perf_event_struct.h (struct perf_event_attr): Add text_poke field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1 comment.
	* tests/perf_event_open.c (struct pea_flags): Add text_poke field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: add PERF_SAMPLE_CGROUP to perf_event_sample_format.
	* src/xlat/perf_event_sample_format.in (PERF_SAMPLE_CGROUP): New
	constant, introduced in Linux commit v5.7-rc1~77^2^2~23.
	* tests/perf_event_open.c: Update the expected output for sample_type
	field checks.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement struct perf_event_attr.cgroup field decoding.
	Introduced in Linux commit v5.7-rc1~77^2^2~24.

	* src/perf_event_struct.h (struct perf_event_attr): Add cgroup field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1 comment.
	* tests/perf_event_open.c (struct pea_flags): Add cgroup field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement struct perf_event_attr.aux_output field decoding.
	Introduced in Linux commit v5.4-rc1~177^2~7.

	* src/perf_event_struct.h (struct perf_event_attr): Add aux_output field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1
	comment.
	* tests/perf_event_open.c (struct pea_flags): Add aux_output field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement struct perf_event_attr.bpf_event field decoding.
	Introduced in Linux commit v5.1-rc1~163^2~29^2~8.

	* src/perf_event_struct.h (struct perf_event_attr): Add bpf_event field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1
	comment.
	* tests/perf_event_open.c (struct pea_flags): Add bpf_event field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	perf: implement perf_event_attr.ksymbol field decoding.
	Introduced in Linux commit v5.1-rc1~163^2~29^2~10.

	* src/perf_event_struct.h (struct perf_event_attr): Add ksymbol field.
	* src/perf.c (print_perf_event_attr): Print it;  correct __reserved_1
	comment.
	* tests/perf_event_open.c (struct pea_flags): Add ksymbol field.
	(print_event_attr): Print it, correct the __reserved_1 field comment.

2021-06-30  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v5.13.
	* src/linux/32/ioctls_inc_align16.h: Update from src/linux v5.13
	using ioctls_gen.sh.
	* src/linux/32/ioctls_inc_align32.h: Likewise.
	* src/linux/32/ioctls_inc_align64.h: Likewise.
	* src/linux/64/ioctls_inc.h: Likewise.
	* src/linux/x32/ioctls_inc0.h: Likewise.
	* NEWS: Mention this.

2021-06-29  Dmitry V. Levin  <ldv@strace.io>

	xlat: update V4L2_* constants.
	* src/xlat/v4l2_control_classes.in (V4L2_CTRL_CLASS_COLORIMETRY): New
	constant introduced by Linux kernel commit v5.13-rc1~124^2~106.
	* src/xlat/v4l2_control_ids.in (V4L2_CID_MPEG_VIDEO_AU_DELIMITER): New
	constant introduced by Linux kernel commit v5.13-rc1~124^2~339.
	(V4L2_CID_MPEG_VIDEO_LTR_COUNT, V4L2_CID_MPEG_VIDEO_FRAME_LTR_INDEX,
	V4L2_CID_MPEG_VIDEO_USE_LTR_FRAMES): New constant introduced by Linux
	kernel commit v5.13-rc1~124^2~115.
	(V4L2_CID_MPEG_VIDEO_DEC_CONCEAL_COLOR): New constant introduced
	by Linux kernel commit v5.13-rc1~124^2~108.
	* src/xlat/v4l2_control_types.in (V4L2_CTRL_TYPE_HDR10_CLL_INFO,
	V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY): New constant introduced
	by Linux kernel commit v5.13-rc1~124^2~104.
	(V4L2_CTRL_TYPE_VP8_FRAME): New constant introduced by Linux kernel
	commit v5.13-rc1~124^2~329.
	* src/xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_YUV24): New constant
	introduced by Linux kernel commit v5.13-rc1~124^2~306.
	(V4L2_PIX_FMT_VP8_FRAME): New constant introduced by Linux kernel
	commit v5.13-rc1~124^2~330.
	* NEWS: Mention this change.
	* tests/ioctl_v4l2.c (main): Update.

2021-06-28  Dmitry V. Levin  <ldv@strace.io>

	xlat: update UFFD_* and UFFDIO_* constants.
	* src/xlat/uffd_api_features.in (UFFD_FEATURE_MINOR_HUGETLBFS): New
	constant introduced by Linux kernel commit v5.13-rc1~39^2~89.
	* src/xlat/uffd_register_mode_flags.in (UFFDIO_REGISTER_MODE_MINOR):
	Likewise.
	* src/xlat/uffd_register_ioctl_flags.in (1<<_UFFDIO_CONTINUE): New
	constant introduced by Linux kernel commit v5.13-rc1~39^2~86.
	* NEWS: Mention this change.

2021-06-27  Dmitry V. Levin  <ldv@strace.io>

	xlat: update RTPROT_* constants.
	* src/xlat/routing_protocols.in (RTPROT_OPENR): New constant introduced
	by Linux kernel commit v5.13-rc1~94^2~410.
	* NEWS: Mention this change.

2021-06-26  Dmitry V. Levin  <ldv@strace.io>

	xlat: update RTM_* constants.
	* src/xlat/nl_route_types.in (RTM_NEWNEXTHOPBUCKET,
	RTM_DELNEXTHOPBUCKET, RTM_GETNEXTHOPBUCKET): New constants introduced
	by Linux kernel commit v5.13-rc1~94^2~581^2~10.
	* NEWS: Mention this change.

2021-06-25  Dmitry V. Levin  <ldv@strace.io>

	xlat: update PTRACE_* constants.
	* src/ptrace.h [!PTRACE_GET_RSEQ_CONFIGURATION]
	(PTRACE_GET_RSEQ_CONFIGURATION): Define.
	* src/xlat/ptrace_cmds.in (PTRACE_GET_RSEQ_CONFIGURATION): New constant
	introduced by Linux kernel commit v5.13-rc1~118^2~38.
	* NEWS: Mention this change.

2021-06-24  Dmitry V. Levin  <ldv@strace.io>

	xlat: update PR_* constants.
	* src/xlat/prctl_options.in: Add #unconditional, remove fallback
	definitions.
	(PR_SET_VMA): Conditionalize on __ANDROID__.
	(PR_PAC_SET_ENABLED_KEYS, PR_PAC_GET_ENABLED_KEYS): New constants
	introduced by Linux kernel commit v5.13-rc1~17^2~18^2~1.
	* NEWS: Mention this change.

2021-06-23  Dmitry V. Levin  <ldv@strace.io>

	xlat: update KVM_* constants.
	* src/xlat/kvm_cap.in (KVM_CAP_SET_GUEST_DEBUG2): New constant
	introduced by Linux kernel commit v5.13-rc1~76^2~126.
	(KVM_CAP_SGX_ATTRIBUTE): New constant introduced by Linux kernel
	commit v5.13-rc1~76^2~62.
	(KVM_CAP_VM_COPY_ENC_CONTEX): New constant introduced by Linux kernel
	commit v5.13-rc1~76^2~59.
	(KVM_CAP_PTP_KVM): New constant introduced by Linux kernel
	commit v5.13-rc1~76^2~38.
	* NEWS: Mention this change.

2021-06-22  Dmitry V. Levin  <ldv@strace.io>

	xlat: update KEXEC_* constants.
	* src/xlat/kexec_arch_values.in (KEXEC_ARCH_RISCV): New constant
	introduced by Linux kernel commit v5.13-rc1~36^2~13.
	* NEWS: Mention this change.

	Use bundled <linux/kexec.h>
	* bundled/linux/include/uapi/linux/kexec.h: New file, copied from
	headers_install'ed Linux kernel v5.13-rc6.
	* bundled/Makefile.am (EXTRA_DIST): Add it.
	* src/kexec.c: Include <linux/kexec.h>.
	[!KEXEC_ARCH_MASK, !KEXEC_SEGMENT_MAX]: Remove.
	* src/xlat/kexec_arch_values.in: Add #unconditional, remove fallback
	definitions.
	* src/xlat/kexec_file_load_flags.in: Likewise.
	* src/xlat/kexec_load_flags.in: Likewise.

2021-06-21  Dmitry V. Levin  <ldv@strace.io>

	xlat: update IORING_* constants.
	* src/xlat/uring_register_opcodes.in (IORING_REGISTER_FILES2,
	IORING_REGISTER_FILES_UPDATE2, IORING_REGISTER_BUFFERS2,
	IORING_REGISTER_BUFFERS_UPDATE): New constants introduced
	by Linux kernel commit v5.13-rc6~13^2~1.
	* src/xlat/uring_setup_features.in (IORING_FEAT_RSRC_TAGS): New
	constant introduced by Linux kernel commit v5.13-rc6~13^2.
	* NEWS: Mention this change.
	* tests/io_uring_register.c (main): Update.

2021-06-20  Dmitry V. Levin  <ldv@strace.io>

	xlat: update KEY_* constants.
	* src/xlat/evdev_keycode.in (KEY_EMOJI_PICKER): New constant
	introduced by Linux kernel commit v5.13-rc5~21^2~26.
	* NEWS: Mention this change.

2021-06-19  Dmitry V. Levin  <ldv@strace.io>

	xlat: update NT_* constants.
	* src/xlat/nt_descriptor_types.in (NT_ARM_PAC_ENABLED_KEYS): New
	constant introduced by Linux kernel commit v5.13-rc1~17^2~18^2~1.
	* NEWS: Mention this change.

2021-06-18  Dmitry V. Levin  <ldv@strace.io>

	xlat: update BPF_* constants.
	* src/xlat/bpf_attach_type.in (BPF_SK_SKB_VERDICT): New constant
	introduced by Linux kernel commit v5.13-rc1~94^2~255^2^2~7.
	* NEWS: Mention this change.
	* tests/bpf.c (BPF_PROG_QUERY_checks): Update.

2021-06-17  Dmitry V. Levin  <ldv@strace.io>

	xlat: update TRAP_* constants.
	* src/xlat/sigtrap_codes.in (TRAP_PERF): New constant introduced
	by Linux kernel commit v5.13-rc1~119^2~36.
	* NEWS: Mention this change.

2021-06-16  Dmitry V. Levin  <ldv@strace.io>

	bundled: update linux UAPI headers to v5.13-rc6.
	Update all bundled linux UAPI headers except linux/perf_event.h
	which has to be updated along with the parser and its test.

	* bundled/linux/include/uapi/linux/blkpg.h: Update to
	headers_install'ed Linux kernel v5.13-rc6.
	* bundled/linux/include/uapi/linux/dm-ioctl.h: Likewise.
	* bundled/linux/include/uapi/linux/dqblk_xfs.h: Likewise.
	* bundled/linux/include/uapi/linux/fs.h: Likewise.
	* bundled/linux/include/uapi/linux/if_link.h: Likewise.
	* bundled/linux/include/uapi/linux/input-event-codes.h: Likewise.
	* bundled/linux/include/uapi/linux/io_uring.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nf_tables.h: Likewise.
	* bundled/linux/include/uapi/linux/prctl.h: Likewise.
	* bundled/linux/include/uapi/linux/rtnetlink.h: Likewise.
	* bundled/linux/include/uapi/linux/userfaultfd.h: Likewise.
	* bundled/linux/include/uapi/linux/v4l2-controls.h: Likewise.
	* bundled/linux/include/uapi/linux/videodev2.h: Likewise.
	* bundled/linux/include/uapi/mtd/mtd-abi.h: Likewise.

2021-06-15  Dmitry V. Levin  <ldv@strace.io>

	signal: use print_fields.h helpers.
	* src/signal.c (printsignal): Use PRINT_VAL_D.
	(sys_sigaction, sys_signal, sys_osf_sigprocmask, sys_sigprocmask,
	sys_kill, sys_tkill, sys_tgkill, print_sigqueueinfo,
	sys_rt_sigqueueinfo, sys_rt_tgsigqueueinfo, ): Use tprint_arg_next.
	(sys_rt_sigprocmask, sys_rt_sigpending, sys_rt_sigsuspend,
	do_rt_sigtimedwait): Use tprint_arg_next and PRINT_VAL_U.
	(sys_rt_sigaction): Use tprint_arg_next, PRINT_VAL_U, and PRINT_VAL_X.
	(sys_pidfd_send_signal): Use tprint_arg_next and PRINT_VAL_X.

2021-06-14  Dmitry V. Levin  <ldv@strace.io>

	rtnl_tc_action: use print_fields.h helpers.
	* src/rtnl_tc_action.c (decode_tcamsg): Use tprint_array_next.

	rtnl_tc: use print_fields.h helpers.
	* src/rtnl_tc.c (print_stab_data): Use PRINT_VAL_U.
	(decode_tcmsg): Use tprint_struct_next and tprint_array_next.

	rtnl_rule: use print_fields.h helpers.
	* src/rtnl_rule.c (decode_fib_rule_hdr): Use tprint_struct_next and
	tprint_array_next.

	rtnl_route: use print_fields.h helpers.
	* src/rtnl_route.c (decode_rtvia): Use tprint_struct_next.
	(decode_rta_multipath): Use tprint_array_next.
	(decode_rtmsg): Use tprint_struct_next and tprint_array_next.

	rtnl_nsid: use print_fields.h helpers.
	* src/rtnl_nsid.c (decode_rtgenmsg): Use tprint_array_next.

	rtnl_netconf: use print_fields.h helpers.
	* src/rtnl_netconf.c (decode_netconfmsg): Use tprint_array_next.

	rtnl_neightbl: use print_fields.h helpers.
	* src/rtnl_neightbl.c (decode_ndtmsg): Use tprint_array_next.

	rtnl_neigh: use print_fields.h helpers.
	* src/rtnl_neigh.c (decode_ndmsg): Use tprint_struct_next and
	tprint_array_next.

	rtnl_mdb: use print_fields.h helpers.
	* src/rtnl_mdb.c (decode_mdba_mdb_entry_info): Use tprints_arg_begin,
	tprint_arg_end, and tprint_array_next.
	(decode_mdba_router_port): Use tprint_array_next.
	(decode_br_port_msg): Use tprint_struct_next and tprint_array_next.

2021-06-13  Dmitry V. Levin  <ldv@strace.io>

	Do not distribute generated manual pages.
	* Makefile.am (EXTRA_DIST): Remove $(man_MANS).

	Complements: v4.19~153 "Make strace.1 generated"

2021-06-12  Dmitry V. Levin  <ldv@strace.io>

	github: add jobs for gcc-11, clang-12, and clang-11.
	* .github/workflows/ci.yml (gcc11-x86_64-kheaders, gcc11-x86_64-dw,
	gcc11-x86_64-unwind, clang12-x86_64-kheaders, clang12-x86_64-dw,
	clang12-x86_64-unwind, clang11-x86_64-kheaders, clang11-x86_64-dw,
	clang11-x86_64-unwind, gcc11-x32-kheaders, gcc11-x32-nostacktrace,
	gcc11-x86-kheaders, gcc11-x86-nostacktrace, clang12-x86-kheaders,
	clang12-x86-nostacktrace, clang11-x86-kheaders,
	clang11-x86-nostacktrace): New jobs.

2021-06-12  Dmitry V. Levin  <ldv@strace.io>

	tests: fix clang -Wgnu-folding-constant warning.
	Fix the following compilation warning reported by clang 12:

	ioctl_tee.c:141:2: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
	        DEFINE_BUF_W_PARAMS(struct tee_ioctl_invoke_arg, invoke);
	        ^
	ioctl_tee.c:71:11: note: expanded from macro 'DEFINE_BUF_W_PARAMS'
	                uint8_t data[shorthand_ ## _size];                      \
	                        ^

	* tests/ioctl_tee.c (DEFINE_BUF_W_PARAMS): Convert data array into
	structure.  Remove shorthand_ ## _size.
	(main): Remove params variable, access invoke_buf.data.params,
	open_session_buf.data.params, supp_recv_buf.data.params and
	supp_send_buf.data.params directly.  Replace invoke_size,
	open_session_size, supp_recv_size, and supp_send_size with
	sizeof(invoke_buf), sizeof(open_session_buf), sizeof(supp_recv_buf),
	and sizeof(supp_send_buf), respectively.

2021-06-11  Dmitry V. Levin  <ldv@strace.io>

	tests: workaround gcc -Wmaybe-uninitialized bug.
	Workaround the following gcc 11.1.1 -Wmaybe-uninitialized regression:

	ioctl_sock_gifconf.c: In function 'gifconf_ioctl':
	ioctl_sock_gifconf.c:39:20: error: 'in_len' may be used uninitialized in this function [-Werror=maybe-uninitialized]

	* tests/ioctl_sock_gifconf.c: Constify everything to appease gcc.

2021-06-11  Dmitry V. Levin  <ldv@strace.io>

	build: enable -Wundef.
	* m4/st_warn_cflags.m4 (gl_WARN_ADD): Add -Wundef.

2021-06-10  Dmitry V. Levin  <ldv@strace.io>

	tests/personality: fix -Wundef warnings.
	* tests/personality.c: Include "tests.h".

	tests/oldstat: fix -Wundef warnings.
	* tests/oldstat.c: Replace "#if ... HAVE_STRUCT___OLD_KERNEL_STAT"
	with "#if ... defined HAVE_STRUCT___OLD_KERNEL_STAT".

	tests/oldlstat: fix -Wundef warnings.
	* tests/oldlstat.c: Replace "#if ... HAVE_STRUCT___OLD_KERNEL_STAT"
	with "#if ... defined HAVE_STRUCT___OLD_KERNEL_STAT".

	tests/oldfstat: fix -Wundef warnings.
	* tests/oldfstat.c: Replace "#if ... HAVE_STRUCT___OLD_KERNEL_STAT"
	with "#if ... defined HAVE_STRUCT___OLD_KERNEL_STAT".

	tests/ipc_msg: fix -Wundef warnings.
	* tests/ipc_msg.c: Replace "#if ... WORDS_BIGENDIAN" with
	"#if ... defined WORDS_BIGENDIAN".

	tests/aio_pgetevents: fix -Wundef warnings.
	* tests/aio_pgetevents.c: Replace "#if !HAVE_STRUCT___AIO_SIGSET" with
	"#ifndef HAVE_STRUCT___AIO_SIGSET".

	tests/overflowuid: fix -Wundef warnings.
	* tests/overflowuid.c: Include <limits.h>.

2021-06-09  Dmitry V. Levin  <ldv@strace.io>

	mpers_type.h: fix -Wundef warnings.
	* src/mpers_type.h: Replace "if IN_MPERS_BOOTSTRAP" with
	"ifdef IN_MPERS_BOOTSTRAP".

	kernel_timespec: fix -Wundef warnings.
	* src/kernel_timespec.h: Include "arch_defs.h".
	* tests/clock_xettime.c: Do not include "arch_defs.h".
	* tests/pselect6.c: Likewise.
	* tests/semtimedop.c: Likewise.
	* tests/semtimedop-ipc.c: Likewise.

	defs: workaround -Wundef warnings produced by old gcc.
	* src/defs.h: Replace "#elif current_wordsize > 4" with
	"#else #if current_wordsize > 4".
	Replace "#elif current_klongsize > 4" with
	"#else #if current_klongsize > 4".

2021-06-08  Dmitry V. Levin  <ldv@strace.io>

	build: enable -Wtrampolines.
	* m4/st_warn_cflags.m4 (gl_WARN_ADD): Add -Wtrampolines.

2021-06-07  Dmitry V. Levin  <ldv@strace.io>

	build: enable -Wdate-time.
	* m4/st_warn_cflags.m4 (gl_WARN_ADD): Add -Wdate-time.

2021-06-06  Dmitry V. Levin  <ldv@strace.io>

	build: enable -Wextra.
	* m4/st_warn_cflags.m4 (gl_WARN_ADD): Add -Wextra, add
	-Wno-missing-field-initializers and -Wno-unused-parameter
	to silence -Wmissing-field-initializers and -Wunused-parameter enabled
	by -Wextra, remove options already enabled by -Wextra: -Wempty-body,
	-Wignored-qualifiers, -Wmissing-parameter-type, -Wold-style-declaration,
	-Woverride-init, -Wsign-compare, and -Wtype-limits.

2021-06-05  Dmitry V. Levin  <ldv@strace.io>

	build: enable -Wmissing-prototypes.
	* m4/st_warn_cflags.m4 (gl_WARN_ADD): Add -Wmissing-prototypes.

2021-06-04  Dmitry V. Levin  <ldv@strace.io>

	tests/xgetrlimit: fix -Wmissing-prototypes warnings.
	* tests/xgetrlimit.c (sprint_rlim): Add static qualifier.

	tests/umask: fix -Wmissing-prototypes warnings.
	* tests/umask.c (test_umask): Add static qualifier.

	tests/syslog: fix -Wmissing-prototypes warnings.
	* tests/syslog.c (valid_cmd, printstr): Add static qualifier.

	tests/setugid: fix -Wmissing-prototypes warnings.
	* tests/setugid.c (printuid): Add static qualifier.

