2020-12-14  Dmitry V. Levin  <ldv@altlinux.org>

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

2020-12-13  Dmitry V. Levin  <ldv@altlinux.org>

	Update .mailmap.
	* .mailmap: Add both email addresses of Sven Schnelle to avoid
	duplication in CREDITS file.

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

	tests: check decoding of clock_gettime64, clock_settime64, and clock_getres_time64 syscalls
	* tests/clock_xettime-common.c: New file.
	* tests/clock_xettime64.c: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Add clock_xettime-common.c.
	* tests/clock_xettime.c: Turn into a wrapper around
	clock_xettime-common.c.
	* tests/pure_executables.list: Add clock_xettime64.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (clock_xettime64): New entry.
	* tests/clock.in (clock_xettime64): Likewise.
	* tests/trace_clock.in (clock_xettime64): Likewise.
	* tests/trace_personality_regex_32.in (clock_xettime64): Likewise.
	* tests/trace_personality_regex_64.in (clock_xettime64): Likewise.
	* tests/trace_personality_regex_x32.in (clock_xettime64): Likewise.

	tests: check decoding of clock_adjtime64 syscall.
	* tests/clock_adjtime-common.c: New file.
	* tests/clock_adjtime64.c: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Add clock_adjtime-common.c.
	* tests/clock_adjtime.c: Turn into a wrapper around
	clock_adjtime-common.c.
	* tests/pure_executables.list: Add clock_adjtime64.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (clock_adjtime64): New entry.
	* tests/clock.in (clock_adjtime64): Likewise.
	* tests/trace_clock.in (clock_adjtime64): Likewise.
	* tests/trace_personality_regex_32.in (clock_adjtime64): Likewise.
	* tests/trace_personality_regex_64.in (clock_adjtime64): Likewise.
	* tests/trace_personality_regex_x32.in (clock_adjtime64): Likewise.

2020-12-13  Dmitry V. Levin  <ldv@altlinux.org>

	Fix %clock trace class.
	Four syscalls (clock_gettime64, clock_settime64, clock_adjtime64, and
	clock_getres_time64) were missed when the %clock trace class was
	introduced.

	* linux/syscallent-common-32.h (clock_gettime64, clock_settime64,
	clock_adjtime64, clock_getres_time64): Add TCL flag.
	* NEWS: Mention this change.

	Fixes: v5.7~72 "Add %clock trace class"

2020-12-13  Dmitry V. Levin  <ldv@altlinux.org>

	tests: rewrite pselect6 test.
	Starting with glibc commit glibc-2.32.9000-132-g2433d39b69, pselect
	function in glibc is implemented on top of pselect6_time64 syscall
	on 32-bit architectures, which makes it unsuitable for the test of
	pselect6 decoder.

	Resolve this issue by creating two tests that check decoding
	of __NR_pselect6 and __NR_pselect6_time64 syscalls.

	* tests/pselect6-common.c: New file.
	* tests/pselect6_time64.c: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Add pselect6-common.c.
	* tests/pselect6.c: Rewrite using __NR_pselect6.
	* tests/pure_executables.list: Add pselect6_time64.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (pselect6_time64): New entry.

2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>

	tests: rewrite semtimedop test.
	Starting with glibc commit glibc-2.32.9000-105-g7c437d3778, semtimedop
	function in glibc is implemented on top of semtimedop_time64 syscall on
	32-bit architectures, which makes it unsuitable for the test of
	semtimedop decoder.

	Resolve this issue by creating three tests that check decoding
	of __NR_semtimedop, __NR_semtimedop_time64, and __NR_ipc SEMTIMEDOP.

	* tests/semtimedop-common.c: New file.
	* tests/semtimedop-syscall.c: Likewise.
	* tests/semtimedop-ipc.c: Likewise.
	* tests/semtimedop_time64.c: Likewise.
	* tests/Makefile.am (EXTRA_DIST): Add semtimedop-common.c and
	semtimedop-syscall.c.
	* tests/semtimedop.c: Rewrite using __NR_semtimedop.
	* tests/pure_executables.list: Add semtimedop-ipc and semtimedop_time64.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (semtimedop-ipc, semtimedop_time64): New entries.

2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>

	mips o32: set true_scno in decode_syscall_subcall.
	This change makes the strace-n test pass on mips o32.

	* linux/mips/get_syscall_args.c [SYS_syscall_subcall]
	(decode_syscall_subcall): Set tcp->true_scno.

	Fixes: v5.9~55 "strace: add an option for printing syscall numbers"

2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>

	tests: workaround -Wall regressions in Red Hat gcc.
	The version of gcc packaged into Rawhide erroneously produces false
	positive diagnostics in dozens of strace tests.

	Check at configure stage whether the C compiler is broken, and
	enable workarounds in tests when the broken C compiler is detected.

	Tested with:
	$ gcc --version |head -1
	gcc (GCC) 11.0.0 20201204 (Red Hat 11.0.0-0)

	* m4/st_broken_cc.m4: New file.
	* configure.ac: Call st_BROKEN_CC after st_WARN_CFLAGS.
	* tests/tests.h (tail_alloc, tail_memdup) [HAVE_BROKEN_CC]: Do not
	add ATTRIBUTE_ALLOC_SIZE.
	* NEWS: Mention this change.

2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>

	tests: use direct __NR_write invocation instead of C function in pc.test
	gcc-11 -Werror=stringop-overread along with glibc >= 2.32 are not happy
	about our use of write function, so replace it with a direct syscall
	invocation.

	* tests/pc.c: Include "scno.h".
	(main): Call syscall(__NR_write) instead of write().

2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>

	tests: workaround inline optimization in strace -k tests.
	Try to disable unwanted inline optimization that breaks these tests.

	* tests/stack-fcall.h: Include "gcc_compat.h".
	(f0, f1, f2, f3): Add ATTRIBUTE_NOINLINE.

2020-12-11  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v5.10.
	* linux/32/ioctls_inc_align16.h: Update from linux v5.10-rc7
	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/i386/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: adapt to the future versions of readelf.
	* maint/ioctls_sym.awk: Update DW_AT_type regexp.

2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>

	Update the number of arguments of membarrier syscall.
	Apply the following change:
	$ git grep -Fl 'SEN(membarrier)' |xargs sed -i '/SEN(membarrier)/ s/2,/3,/'

	* linux/*/syscallent*.h (membarrier): Change nargs from 2 to 3.

	Fixes: 176cbdc69 "membarrier: implement decoding of cpu_id argument"

2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>

	mmsghdr: workaround -Warray-bounds regression in Red Hat gcc.
	The version of gcc packaged into Rawhide erroneously produces
	the following false positive diagnostics:

	mmsghdr.c: In function 'do_recvmmsg':
	mmsghdr.c:87:23: error: array subscript 'struct mmsgvec_data[0]' is partly outside array bounds of 'unsigned char[4108]' [-Werror=array-bounds]
	   87 |         data->timeout = xstrdup(timeout);
	      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~

	Tested with:
	$ gcc --version |head -1
	gcc (GCC) 11.0.0 20201204 (Red Hat 11.0.0-0)

	* mmsghdr.c (struct mmsgvec_data): Change namelen[IOV_MAX] to an array
	of zero length.

2020-12-11  Elvira Khabirova  <lineprinter0@gmail.com>

	membarrier: implement decoding of cpu_id argument.
	Introduced by Linux kernel commit v5.10-rc1~203^2~5.

	* membarrier.c: Decode cpu_id argument.
	* tests/membarrier.c: Add MEMBARRIER_CMD_FLAG_CPU cases.
	* xlat/membarrier_flags.in: New file.
	* NEWS: Mention the change.

2020-12-07  Dmitry V. Levin  <ldv@altlinux.org>

	xlat: annotate uring_register_opcodes with #enum.
	Starting with Linux kernel commit v5.10-rc1~167^2~52, <linux/io_uring.h>
	uses an enumeration to define io_uring_register(2) opcodes.

	* xlat/uring_register_opcodes.in: Add #enum, include <linux/io_uring.h>.

2020-12-07  Dmitry V. Levin  <ldv@altlinux.org>

	xlat: annotate uring_ops with #enum.
	Starting with Linux kernel commit v5.5-rc2~24^2, <linux/io_uring.h>
	uses an enumeration to define io_uring_enter(2) opcodes.

	* xlat/uring_ops.in: Add #enum, include <linux/io_uring.h>.

2020-12-07  Dmitry V. Levin  <ldv@altlinux.org>

	Implement decoding of process_madvise syscall.
	Introduced by Linux kernel commit v5.10-rc1~87^2~14.

	* mem.c (SYS_FUNC(process_madvise)): New function.
	* linux/syscallent-common.h [BASE_NR + 440]: Wire up process_madvise.
	* NEWS: Mention this change.
	* tests/process_madvise.c: New file.
	* tests/process_madvise-y.c: Likewise.
	* tests/process_madvise-yy.c: Likewise.
	* tests/gen_tests.in (process_madvise, process_madvise-y,
	process_madvise-yy): New entries.
	* tests/pure_executables.list: Add process_madvise, process_madvise-y,
	and process_madvise-yy.
	* tests/.gitignore: Likewise.

2020-12-06  Dmitry V. Levin  <ldv@altlinux.org>

	pidfd_open: decode flags argument.
	Starting with Linux kernel commit v5.10-rc1~141^2~3, pidfd_open syscall
	supports PIDFD_NONBLOCK flag.

	* xlat/pidfd_open_flags.in: New file.
	* pidfd_open.c: Include <fcntl.h> and "xlat/pidfd_open_flags.h".
	(SYS_FUNC(pidfd_open)): Print flags argument using printflags.
	* tests/pidfd_open.c (main): Check it.
	* NEWS: Mention this change.

2020-12-06  Dmitry V. Levin  <ldv@altlinux.org>

	tests: disable tests for invalid shmctl commands on glibc >= 2.32.
	Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f,
	glibc skips shmctl syscall invocations and returns EINVAL
	for invalid shmctl commands.

	* tests/ipc_shm.c [GLIBC_PREREQ_GE(2, 32)] (TEST_SHMCTL_BOGUS_CMD):
	Define to 0.
	[!TEST_SHMCTL_BOGUS_CMD] (TEST_SHMCTL_BOGUS_CMD): Define to 1.
	(main) [!TEST_SHMCTL_BOGUS_CMD] (bogus_cmd): Do not define and do not
	use.

2020-12-06  Dmitry V. Levin  <ldv@altlinux.org>

	tests: disable tests for invalid msgctl commands on glibc >= 2.32.
	Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2,
	glibc skips msgctl syscall invocations and returns EINVAL
	for invalid msgctl commands.

	* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 32)] (TEST_MSGCTL_BOGUS_CMD):
	Define to 0.
	[!TEST_MSGCTL_BOGUS_CMD] (TEST_MSGCTL_BOGUS_CMD): Define to 1.
	(main) [!TEST_MSGCTL_BOGUS_CMD] (bogus_cmd): Do not define and do not
	use.

2020-12-06  Dmitry V. Levin  <ldv@altlinux.org>

	tests: disable tests for invalid semctl commands on glibc >= 2.32.
	Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882,
	glibc skips semctl syscall invocations and returns EINVAL
	for invalid semctl commands.

	* tests/ipc_sem.c [GLIBC_PREREQ_GE(2, 32)] (TEST_SEMCTL_BOGUS_CMD):
	Define to 0.
	[!TEST_SEMCTL_BOGUS_CMD] (TEST_SEMCTL_BOGUS_CMD): Define to 1.
	(main) [!TEST_SEMCTL_BOGUS_CMD] (bogus_semid, bogus_semnum, bogus_cmd,
	bogus_arg): Do not define and do not use.

2020-12-05  Dmitry V. Levin  <ldv@altlinux.org>

	xlat: mark some of #unconditional files with #value_indexed.
	* xlat/btrfs_dev_stats_values.in: Prepend #value_indexed.
	* xlat/cap.in: Likewise.
	* xlat/inet_diag_attrs.in: Likewise.
	* xlat/inet_diag_bytecodes.in: Likewise.
	* xlat/inet_diag_req_attrs.in: Likewise.
	* xlat/mtd_file_mode_options.in: Likewise.
	* xlat/mtd_mode_options.in: Likewise.
	* xlat/netlink_diag_attrs.in: Likewise.
	* xlat/packet_diag_attrs.in: Likewise.
	* xlat/smc_diag_attrs.in: Likewise.
	* xlat/unix_diag_attrs.in: Likewise.

	xlat: update V4L2_* constants.
	* xlat/v4l2_format_description_flags.in (V4L2_FMT_FLAG_CSC_COLORSPACE,
	V4L2_FMT_FLAG_CSC_XFER_FUNC, V4L2_FMT_FLAG_CSC_YCBCR_ENC,
	V4L2_FMT_FLAG_CSC_QUANTIZATION): New constants introduced
	by Linux kernel commit v5.10-rc1~175^2~172.
	* NEWS: Mention this change.
	* tests/ioctl_v4l2-success.c (main): Update expected output.

	xlat: update STATX_* constants.
	* xlat/statx_attrs.in (STATX_ATTR_DAX): New constant introduced
	by Linux kernel commit v5.8-rc1~51^2~9 and updated by Linux kernel
	commit v5.10-rc6-63-g72d1249e2ffd.
	* NEWS: Mention this change.

	xlat: update NLMSGERR_* constants.
	* xlat/nlmsgerr_attrs.in (NLMSGERR): New constant introduced
	by Linux kernel commit v5.10-rc1~107^2~33^2.
	* NEWS: Mention this change.

	xlat: update MS_* constants.
	* xlat/mount_flags.in (MS_NOSYMFOLLOW): New constant introduced
	by Linux kernel commit v5.10-rc1~19^2~9.
	* NEWS: Mention this change.
	* tests/mount.c (str_unknown, main): Update.

	xlat: update MEMBARRIER_CMD_* constants.
	* xlat/membarrier_cmds.in (MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ,
	MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ): New constants
	introduced by Linux kernel commit v5.10-rc1~203^2~5.
	* NEWS: Mention this change.
	* tests/membarrier.c (main): Update expected output.

	xlat: update KVM_* constants.
	* xlat/kvm_exit_reason.in (KVM_EXIT_X86_RDMSR, KVM_EXIT_X86_WRMSR): New
	constants introduced by Linux kernel commit v5.10-rc1~21^2~62.
	* xlat/kvm_cap.in (KVM_CAP_X86_USER_SPACE_MSR): Likewise.
	(KVM_CAP_X86_MSR_FILTER): New constant introduced by Linux kernel
	commit v5.10-rc1~21^2~57.
	(KVM_CAP_ENFORCE_PV_FEATURE_CPUID): New constant introduced
	by Linux kernel commit v5.10-rc1~21^2~42.
	* NEWS: Mention this change.

	xlat: update IORING_* constants.
	* xlat/uring_enter_flags.in (IORING_ENTER_SQ_WAIT): New constant
	introduced by Linux kernel commit v5.10-rc1~167^2~39.
	* xlat/uring_register_opcodes.in (IORING_REGISTER_RESTRICTIONS): New
	constant introduced by Linux kernel commit v5.10-rc1~167^2~51.
	(IORING_REGISTER_ENABLE_RINGS): New constant introduced by Linux kernel
	commit v5.10-rc1~167^2~50.
	* xlat/uring_setup_flags.in (IORING_SETUP_R_DISABLED: New constant
	introduced by Linux kernel commit v5.10-rc1~167^2~50.
	* NEWS: Mention this change.
	* tests/io_uring_enter.c (main): Update expected output.
	* tests/io_uring_setup.c (main): Likewise.

	xlat: update KEY* constants.
	* xlat/evdev_keycode.in (KEY_NOTIFICATION_CENTER, KEY_PICKUP_PHONE,
	KEY_HANGUP_PHONE): New constants introduced by Linux kernel commit
	v5.10-rc1~36^2^2~27.
	(KEY_FN_RIGHT_SHIFT): New constant introduced by Linux kernel commit
	v5.10-rc1~36^2^2~26.
	* NEWS: Mention this change.

	xlat: update INET_DIAG_* constants.
	* linux/inet_diag.h (INET_DIAG_SOCKOPT): New constant introduced
	by Linux kernel commit v5.10-rc1~107^2~376.
	* xlat/inet_diag_attrs.in (INET_DIAG_SOCKOPT): Likewise.
	* xlat/inet_diag_extended_flags.in (1<<(INET_DIAG_SOCKOPT-1)): Likewise.
	* NEWS: Mention this change.

	xlat: update MDBA_* constants.
	* xlat/mdb_flags.in (MDB_FLAGS_STAR_EXCL): New constant introduced
	by Linux kernel commit v5.10-rc1~107^2~166^2~3.
	(MDB_FLAGS_BLOCKED): New constant introduced by Linux kernel commit
	v5.10-rc1~107^2~166^2~2.
	* xlat/rtnl_mdba_mdb_eattr_attrs.in (MDBA_MDB_EATTR_SRC_LIST,
	MDBA_MDB_EATTR_GROUP_MODE): New constants introduced by Linux kernel
	commit v5.10-rc1~107^2~359^2~11.
	(MDBA_MDB_EATTR_SOURCE): New constant introduced by Linux kernel commit
	v5.10-rc1~107^2~166^2~8.
	(MDBA_MDB_EATTR_RTPROT): New constant introduced by Linux kernel commit
	v5.10-rc1~107^2~166^2~6.
	* NEWS: Mention this change.

	xlat: update ALG_* constants.
	* xlat/sock_alg_options.in (ALG_SET_DRBG_ENTROPY): New constant
	introduced by Linux kernel commit v5.10-rc1~181^2~51.
	* NEWS: Mention this change.

	xlat: update NT_* constants.
	* xlat/nt_descriptor_types.in (NT_ARM_TAGGED_ADDR_CTRL): New constant
	introduced by Linux kernel commit v5.10-rc1~49^2~9^2~7.
	* NEWS: Mention this change.

	xlat: update BPF_* constants.
	* xlat/bpf_commands.in (BPF_PROG_BIND_MAP): New constant introduced
	by Linux kernel commit v5.10-rc1~107^2~169^2~20^2~3.
	* xlat/bpf_map_flags.in (BPF_F_PRESERVE_ELEMS): New constant introduced
	by Linux kernel commit v5.10-rc1~107^2~96^2^2~1.
	(BPF_F_INNER_MAP): New constant introduced by Linux kernel commit
	v5.10-rc1~107^2~16^2~5^2~3.
	* xlat/bpf_map_types.in (BPF_MAP_TYPE_INODE_STORAGE): New constant
	introduced by Linux kernel commit v5.10-rc1~107^2~394^2~51.
	* xlat/bpf_prog_flags.in (BPF_F_SLEEPABLE): New constant introduced
	by Linux kernel commit v5.10-rc1~107^2~394^2~21^2~3.
	* NEWS: Mention this change.
	* tests/bpf.c (BPF_MAP_CREATE_checks, BPF_PROG_LOAD_checks,
	print_BPF_PROG_LOAD_attr3, print_BPF_PROG_LOAD_attr4): Update.

	xlat: update SEGV_* constants.
	* xlat/sigsegv_codes.in (SEGV_MTEAERR, SEGV_MTESERR): New constants
	introduced by Linux kernel commit v5.10-rc1~49^2~9^2~25.
	* NEWS: Mention this change.

2020-12-04  Dmitry V. Levin  <ldv@altlinux.org>

	README.md: remove the reference to Travis CI builds.
	Apparently, Travis CI no longer welcomes building on public repositories:
	strace builds "have been temporarily disabled for public repositories
	due to a negative credit balance".

	Link: https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing

2020-12-02  Dmitry V. Levin  <ldv@altlinux.org>

	mpers: consistently use readelf --wide.
	* mpers.sh: Pass --wide to readelf.
	* mpers.awk: Update DW_AT_type regexp.

2020-11-29  Dmitry V. Levin  <ldv@altlinux.org>

	.github: partially migrate from ubuntu-18.04 to ubuntu-20.04.
	* .github/workflows/ci.yml (runs-on): Stick gcc7 jobs with ubuntu-18.04,
	switch all the rest from ubuntu-latest to ubuntu-20.04.

	Fix various typos found using codespell tool.
	* defs.h: Replace "namepace" with "namespace".
	* pidns.c: Replace "Paramters" with "Parameters".
	* strace.1.in: Replace "descritors" with "descriptors",
	replace "asociated" with "associated".
	* strace.c: Replace "descritor" with "descriptor".
	* tests/pidns.c: Replace "Wheather" with "Whether".
	* tests/pidns.h: Replace "succesful" with "successful".
	* maint/README-release: Add spellcheck.

2020-11-28  Dmitry V. Levin  <ldv@altlinux.org>

	st_libunwind.m4: fix --with-libunwind=path.
	* m4/st_libunwind.m4 (st_LIBUNWIND): Move initialization of
	libunwind_CPPFLAGS, libunwind_LDFLAGS, and libunwind_LIBS variables ...
	(st_ARG_LIBUNWIND): ... here.

2020-11-28  Dmitry V. Levin  <ldv@altlinux.org>

	st_demangle.m4: fix --with-libiberty=path.
	* m4/st_demangle.m4 (st_DEMANGLE): Clear libiberty_CPPFLAGS and
	libiberty_LDFLAGS variables prior to their initialization in
	--with-libiberty=path.

	Reported-by: Renaud Métrich <rmetrich@redhat.com>

2020-11-28  Dmitry V. Levin  <ldv@altlinux.org>

	xlat: remove IPPROTO_MAX.
	* xlat/inet_protocols.in (IPPROTO_MAX): Remove.

	Reported-by: Khem Raj <raj.khem@gmail.com>
	Suggested-by: Eugene Syromiatnikov <esyr@redhat.com>
	Resolves: https://github.com/strace/strace/issues/164

2020-11-10  Dmitry V. Levin  <ldv@altlinux.org>

	tests: disable TEST_MSGCTL_BOGUS_ADDR in ipc_msg test on glibc >= 2.31.
	Starting with commit glibc-2.31~358, on every architecture where
	__ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify the
	data provided in the third argument of msgctl call.  This results
	to segfaults inside glibc if TEST_MSGCTL_BOGUS_ADDR is enabled.

	* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 31) && (__m68k__ || __s390__ ||
	(WORDS_BIGENDIAN && (__arm__ || __microblaze__ || __sh__)))]
	(TEST_MSGCTL_BOGUS_ADDR): Define to 0.

	Reported-by: Sven Schnelle <svens@linux.ibm.com>

2020-11-10  Sven Schnelle  <svens@stackframe.org>

	tests: fix execve test with fresh linux kernels.
	Starting with Linux commit v5.9-rc1~164^2^2~2, execve copies syscall
	arguments before trying to find the executable, failing with EFAULT
	in case of a faulty address.  Adjust the test to handle both variants
	of execve behaviour.

	* tests/execve.c (errstr): New variable.
	(call_execve): New function.
	(main): Use it instead of execve.  Do not hardcode ENOENT in expected
	output of tests, use errstr instead.

2020-11-09  Sven Schnelle  <svens@linux.ibm.com>

	tests: remove close_range* executables from pure_executables.list.
	close_range* executables rely on /dev/full being opened on fd 7,
	so remove them from pure_executable.list.


	* tests/pure_executables.list: Move close_range, close_range-P,
	close_range-y, and close_range-yy ...
	* tests/Makefile.am (check_PROGRAMS): ... here.

	Fixes: v5.9~44 "Implement decoding of close_range syscall"

2020-10-21  Eugene Syromyatnikov  <evgsyr@gmail.com>

	Enable stack tracing with libdw for non-native personality tracees.
	libdw can handle compat processes, so it makes little sense to have
	stack tracing disabled when it is used.

	* syscall.c [!defined(USE_LIBUNWIND) && ENABLE_STACKTRACE]
	(update_personality): Re-initialise unwinder on personality change.
	* unwind.c [!defined(USE_LIBUNWIND) && (SUPPORTED_PERSONALITIES > 1)]
	(unwind_tcb_print, unwind_tcb_capture): Do not return early.
	* tests/Makefile.am (STACKTRACE_XFAIL_TESTS): New variable, initialise
	it to $(STACKTRACE_TESTS) if ENABLE_STACKTRACE and USE_LIBUNWIND
	are true, otherwise make it empty.
	(XFAIL_TESTS_m32, XFAIL_TESTS_mx32): Initialise
	it to $(STACKTRACE_XFAIL_TESTS) and not $(STACKTRACE_TESTS).
	* NEWS: Mention the change.

	Closes: https://github.com/strace/strace/issues/162

2020-10-21  Eugene Syromyatnikov  <evgsyr@gmail.com>

	mmap_cache: remove personality check.
	mmap_cache is detached from the unwinder code now, and it has other
	users, so it makes little sense to keep it here.

	* mmap_cache.c (mmap_cache_invalidate): Remove conditional avoidance
	of mmap_cache_generation increment for non-native mpers.

2020-10-21  Dmitry V. Levin  <ldv@altlinux.org>

	Revert "types/v4l2.h: update definition of struct_v4l2_create_buffers"
	The change introduced by Linux commit v5.9-rc1~94^2~295 was reverted
	later by Linux commit v5.9-rc7~25^2~1.

	This reverts commit e877fe48187eea9c24ec539fe7875bdc0de74b86.

	* types/v4l2.h (struct_v4l2_create_buffers): Remove "flags" field and
	update "reserved" field to sync with changes introduced by Linux kernel
	commit v5.9-rc7~25^2~1.

2020-10-21  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 5.9-1.
	* strace.spec.in: Likewise.

2020-09-24  Dmitry V. Levin  <ldv@altlinux.org>

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

2020-09-23  Dmitry V. Levin  <ldv@altlinux.org>

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

2020-09-23  Dmitry V. Levin  <ldv@altlinux.org>

	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:]]' |grep -v '\.sh$') |while read f; do
		cppi < "$f" > "$f".cppi; mv "$f".cppi "$f"
	done

2020-09-23  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v5.9.
	* linux/32/ioctls_inc_align16.h: Update from linux v5.9-rc6
	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.
	* NEWS: Mention this.
	* tests/ioctl_v4l2.c (main): Skip conflicting ioctl command
	VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES.

	maint: update for linux v5.9.
	* maint/ioctls_gen.sh: Add arch/<arch>/include/generated/uapi and
	arch/<arch>/include/generated directories to INCLUDES.
	* maint/ioctls_sym.sh: Add workaround definitions of
	__no_kasan_or_inline and __no_sanitize_or_inline macros.

2020-09-23  Eugene Syromyatnikov  <evgsyr@gmail.com>

	strace.1.in: mention --seccomp-bpf in "A traced process runs slowly" bug
	As it is worth mentioning here, probably.

	* strace.1.in (.SH BUGS): Refer to --seccomp-bpf option description in
	"A traced process runs slowly" bug.

2020-09-23  Eugene Syromyatnikov  <evgsyr@gmail.com>

	NEWS: provide a Fedora bug number for the --pidns-translation entry.

2020-09-23  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tee: use types/ directory for the type definitions header.
	Also, switch ioctl_tee test to system header usage, to double-check
	things.

	* tee.h: Rename to...
	* types/tee.h: ...this.  Remove "xlat/tee_ioctl_cmds.h",
	"xlat/tee_ioctl_gen_caps.h", "xlat/tee_ioctl_impl_ids.h",
	"xlat/tee_ioctl_login_types.h", "xlat/tee_ioctl_max_arg_size.h",
	"xlat/tee_ioctl_origins.h", "xlat/tee_ioctl_optee_caps.h",
	"xlat/tee_ioctl_param_attr_types.h", "xlat/tee_ioctl_shm_flags.h"
	includes.  Add header guard.
	[!HAVE_STRUCT_TEE_IOCTL_BUF_DATA, !HAVE_STRUCT_TEE_IOCTL_CANCEL_ARG,
	!HAVE_STRUCT_TEE_IOCTL_CLOSE_SESSION_ARG,
	!HAVE_STRUCT_TEE_IOCTL_SHM_ALLOC_DATA,
	!HAVE_STRUCT_TEE_IOCTL_SHM_REGISTER_FD_DATA,
	!HAVE_STRUCT_TEE_IOCTL_SHM_REGISTER_DATA,
	!HAVE_STRUCT_TEE_IOCTL_VERSION_DATA, !HAVE_STRUCT_TEE_IOCTL_PARAM,
	!HAVE_STRUCT_TEE_IOCTL_INVOKE_ARG, !HAVE_STRUCT_TEE_IOCL_SUPP_RECV_ARG,
	!HAVE_STRUCT_TEE_IOCL_SUPP_SEND_ARG,
	!HAVE_STRUCT_TEE_IOCTL_OPEN_SESSION_ARG]: Remove ifdefs.
	(struct tee_ioctl_buf_data): Change to...
	(typedef struct_tee_ioctl_buf_data): ...this.
	(struct tee_ioctl_cancel_arg): Change to...
	(typedef struct_tee_ioctl_cancel_arg): ...this.
	(struct tee_ioctl_close_session_arg): Change to...
	(typedef struct_tee_ioctl_close_session_arg): ...this.
	(struct tee_ioctl_shm_alloc_data): Change to...
	(typedef struct_tee_ioctl_shm_alloc_data): ...this.
	(struct tee_ioctl_shm_register_fd_data): Change to...
	(typedef struct_tee_ioctl_shm_register_fd_data): ...this.
	(struct tee_ioctl_shm_register_data): Change to...
	(typedef struct_tee_ioctl_shm_register_data): ...this.
	(struct tee_ioctl_version_data): Change to...
	(typedef struct_tee_ioctl_version_data): ...this.
	(struct tee_ioctl_param): Change to...
	(typedef struct_tee_ioctl_param): ...this.
	(struct tee_ioctl_invoke_arg): Change to...
	(typedef struct_tee_ioctl_invoke_arg): ...this.  Change params field
	type from struct tee_ioctl_param to struct_tee_ioctl_param.
	(struct tee_iocl_supp_recv_arg): Change to...
	(typedef struct_tee_iocl_supp_recv_arg): ...this.  Change params field
	type from struct tee_ioctl_param to struct_tee_ioctl_param.
	(struct tee_iocl_supp_send_arg): Change to...
	(typedef struct_tee_iocl_supp_send_arg): ...this.  Change params field
	type from struct tee_ioctl_param to struct_tee_ioctl_param.
	(struct tee_ioctl_open_session_arg): Change to...
	(typedef struct_tee_ioctl_open_session_arg): ...this.  Change params
	field type from struct tee_ioctl_param to struct_tee_ioctl_param.
	[TEE_IOCTL_PARAM_SIZE]: Move to tee.c.
	* Makefile.am (libstrace_a_SOURCES): Remove tee.h.
	* configure.ac (AC_CHECK_HEADERS([linux/tee.h])): Remove in favour of
	auto-generated checks courtesy of types/tee.h.
	* tee.c: Remove "tee.h" include.  Add "types/tee.h",
	"xlat/tee_ioctl_cmds.h" (under XLAT_MACROS_ONLY definition),
	"xlat/tee_ioctl_gen_caps.h", "xlat/tee_ioctl_impl_ids.h",
	"xlat/tee_ioctl_login_types.h", "xlat/tee_ioctl_max_arg_size.h",
	"xlat/tee_ioctl_origins.h", "xlat/tee_ioctl_optee_caps.h",
	"xlat/tee_ioctl_param_attr_types.h", "xlat/tee_ioctl_shm_flags.h"
	includes.
	[TEE_IOCTL_PARAM_SIZE]: Move from tee.h.
	(tee_print_buf, tee_fetch_buf_data): Change the buf argument type
	from struct tee_ioctl_buf_data to struct_tee_ioctl_buf_data.
	(tee_print_param_fn): Change the param variable type from
	struct tee_ioctl_param to struct_tee_ioctl_param.
	(tee_print_params): Change the param_buffer variable type from
	struct tee_ioctl_param to struct_tee_ioctl_param.
	(tee_version): Change the version variable type from
	struct tee_ioctl_version_data to struct_tee_ioctl_version_data.
	(tee_open_session): Change the buf_data variable type from
	struct_tee ioctl_buf_data to struct_tee_ioctl_buf_data.  Change
	the open_session variable type from struct tee_ioctl_open_session_arg
	to struct_tee_ioctl_open_session_arg.
	(tee_invoke): Change the buf_data variable type from
	struct_tee ioctl_buf_data to struct_tee_ioctl_buf_data.  Change
	the invoke variable type from struct tee_ioctl_invoke_arg to
	struct_tee_ioctl_invoke_arg.
	(tee_cancel): Change the cancel variable type from
	struct tee_ioctl_cancel_arg to struct_tee_ioctl_cancel_arg.
	(tee_close_session): Change the close_session variable type from
	struct tee_ioctl_close_session_arg to
	struct_tee_ioctl_close_session_arg.
	(tee_suppl_recv): Change the buf_data variable type from
	struct_tee ioctl_buf_data to struct_tee_ioctl_buf_data.  Change
	the supp_recv variable type from struct tee_iocl_supp_recv_arg
	to struct_tee_iocl_supp_recv_arg.
	(tee_suppl_send): Change the buf_data variable type from
	struct_tee ioctl_buf_data to struct_tee_ioctl_buf_data.  Change
	the supp_send variable type from struct tee_iocl_supp_send_arg
	to struct_tee_iocl_supp_send_arg.
	(tee_shm_alloc): Change the shm_alloc variable type from
	struct tee_ioctl_shm_alloc_data to struct_tee_ioctl_shm_alloc_data.
	(tee_shm_register_fd): Change the shm_register_fd variable type from
	struct tee_ioctl_shm_register_fd_data to
	struct_tee_ioctl_shm_register_fd_data.
	(tee_shm_register): Change the shm_register variable type from
	struct tee_ioctl_shm_register_data to
	struct_tee_ioctl_shm_register_data.
	* tests/ioctl_tee.c: Put the contents under HAVE_LINUX_TEE_H ifdef.
	Remove "tee.h" include.  Add <linux/tee.h> include.
	[!TEE_IOCTL_PARAM_ATTR_META] (TEE_IOCTL_PARAM_ATTR_META): New
	definition.
	[!HAVE_STRUCT_TEE_IOCTL_SHM_REGISTER_FD_DATA] (struct
	tee_ioctl_shm_register_fd_data): New type definition.
	[!HAVE_STRUCT_TEE_IOCTL_SHM_REGISTER_DATA] (struct
	tee_ioctl_shm_register_data): Likewise.
	[!TEE_IOC_SHM_REGISTER_FD] (TEE_IOC_SHM_REGISTER_FD): New definition.
	[!TEE_IOC_SHM_REGISTER] (TEE_IOC_SHM_REGISTER): Likewise.
	* xlat/tee_ioctl_cmds.in (TEE_IOC_VERSION): Change type in the _IOR
	macro argument from struct tee_ioctl_version_data to
	struct_tee_ioctl_version_data.
	(TEE_IOC_SHM_ALLOC): Change the type in the _IOWR macro argument from
	struct tee_ioctl_shm_alloc_data to struct_tee_ioctl_shm_alloc_data.
	(TEE_IOC_OPEN_SESSION): Change the type in the _IOR macro argument from
	struct tee_ioctl_buf_data to struct_tee_ioctl_buf_data.
	(TEE_IOC_INVOKE): Change the type in the _IOR macro argument from
	struct tee_ioctl_buf_data to struct_tee_ioctl_buf_data.
	(TEE_IOC_CANCEL): Change the type in the _IOR macro argument from
	struct tee_ioctl_cancel_arg to struct_tee_ioctl_cancel_arg.
	(TEE_IOC_CLOSE_SESSION): Change the type in the _IOR macro argument
	from struct tee_ioctl_close_session_arg
	to struct_tee_ioctl_close_session_arg.
	(TEE_IOC_SUPPL_RECV): Change the type in the _IOR macro argument
	from struct tee_ioctl_buf_data to struct_tee_ioctl_buf_data.
	(TEE_IOC_SUPPL_SEND): Change the type in the _IOR macro argument
	from struct tee_ioctl_buf_data to struct_tee_ioctl_buf_data.
	(TEE_IOC_SHM_REGISTER_FD): Change the type in the _IOWR macro argument
	from struct tee_ioctl_shm_register_fd_data
	to struct_tee_ioctl_shm_register_fd_data.
	(TEE_IOC_SHM_REGISTER): Change the type in the _IOWR macro argument
	from struct tee_ioctl_shm_register_data
	to struct_tee_ioctl_shm_register_data.

2020-09-23  Elvira Khabirova  <lineprinter0@gmail.com>

	Implement decoding of TEE_* ioctls.
	* tee.c: New file.
	* tee.h: Likewise.
	* Makefile.am (libstrace_a_SOURCES): Add them.
	* configure.ac (AC_CHECK_HEADERS): Add linux/tee.h.
	* defs.h (DECL_IOCTL): Add tee.
	* ioctl.c (ioctl_decode): Add 0xa4 (tee) case.
	* xlat/tee_ioctl_cmds.in: New file.
	* xlat/tee_ioctl_gen_caps.in: Likewise.
	* xlat/tee_ioctl_impl_ids.in: Likewise.
	* xlat/tee_ioctl_login_types.in: Likewise.
	* xlat/tee_ioctl_max_arg_size.in: Likewise.
	* xlat/tee_ioctl_optee_caps.in: Likewise.
	* xlat/tee_ioctl_origins.in: Likewise.
	* xlat/tee_ioctl_param_attr_types.in: Likewise.
	* xlat/tee_ioctl_shm_flags.in: Likewise.
	* tests/gen_tests.in (ioctl_tee): New entry.
	* tests/ioctl_tee.c: New file.
	* tests/.gitignore: Add ioctl_tee.
	* tests/pure_executables.list: Likewise.
	* NEWS: Mention the change.

2020-09-20  Dmitry V. Levin  <ldv@altlinux.org>

	xlat: update KVM_* constants.
	* xlat/kvm_cap.in (KVM_CAP_STEAL_TIME): New constant introduced by Linux
	kernel commit v5.9-rc5~6^2~16^2~3.

2020-09-19  Dmitry V. Levin  <ldv@altlinux.org>

	semctl: decode struct arguments of IPC_* and SEM_* commands.
	* ipc_semctl.c: New file.
	* Makefile.am (libstrace_a_SOURCES): Add it.
	* ipc_defs.h (NAME_OF_STRUCT_SEMID_DS): New macro.
	* ipc_sem.c: Stop including "xlat/semctl_flags.h".
	(SYS_FUNC(semctl)): Remove.
	* tests/ipc_sem.c (str_ipc_info): New macro.
	(print_semid_ds, print_sem_info): New functions.
	(main): Use them to check decoding IPC_INFO, SEM_INFO, IPC_SET,
	IPC_STAT, SEM_STAT, and SEM_STAT_ANY semctl syscall commands.
	* NEWS: Mention this change.

2020-09-19  Dmitry V. Levin  <ldv@altlinux.org>

	tests: disable shmctl IPC_STAT test with a bogus address on glibc >= 2.32
	Starting with commit glibc-2.32~80, on every 32-bit architecture where
	32-bit time_t support is enabled, glibc tries to retrieve the data
	provided in the third argument of shmctl call.  This results to
	segfaults inside glibc when shmctl is called with a bogus address.

	* tests/ipc_shm.c [GLIBC_PREREQ_GE(2, 32) && __TIMESIZE != 64]
	(TEST_SHMCTL_BOGUS_ADDR): Define to 0.
	(main): Conditionalize on TEST_SHMCTL_BOGUS_ADDR the shmctl IPC_STAT
	invocation with a bogus address.

2020-09-19  Dmitry V. Levin  <ldv@altlinux.org>

	shmctl: decode some commands on entering syscall.
	* ipc_shmctl.c (SYS_FUNC(shmctl)): Handle all commands except IPC_INFO,
	IPC_STAT, SHM_INFO, SHM_STAT, and SHM_STAT_ANY on entering syscall.

	shmctl: decode struct shminfo argument of IPC_INFO command.
	* ipc_defs.h (NAME_OF_STRUCT_SHMINFO): New macro.
	* ipc_shmctl.c (struct_shm_ipc_info_t): New typedef.  Mpersify it.
	(print_ipc_info): New function.
	(SYS_FUNC(shmctl)): Use it to decode struct shminfo argument
	of IPC_INFO command.
	* tests/ipc_shm.c (str_ipc_info): New macro.
	(print_ipc_info): New function.
	(main): Use it to check decoding of IPC_INFO command.
	* NEWS: Mention this change.

	shmctl: decode struct shm_info argument of SHM_INFO command.
	* ipc_shmctl.c (struct_shm_info_t): New typedef.  Mpersify it.
	(print_shm_info): New function.
	(SYS_FUNC(shmctl)): Use it to decode struct shm_info argument
	of SHM_INFO command.
	* tests/ipc_shm.c (print_shm_info): New function.
	(main): Use it to check decoding of SHM_INFO command.
	* NEWS: Mention this change.

	shmctl: fix printing of struct shmid_ds argument of IPC_SET command.
	* ipc_shmctl.c (print_shmid_ds) <cmd == IPC_SET>: Do not print
	misleading ellipsis.
	* tests/ipc_shm.c (main): Update expected output.

	shmctl: decode struct shmid_ds argument of SHM_STAT and SHM_STAT_ANY commands
	* ipc_shmctl.c (print_shmid_ds): Handle SHM_STAT and SHM_STAT_ANY.
	* tests/ipc_shm.c (print_shmid_ds): New function.
	(main): Use it to update expected output.
	* NEWS: Mention this change.

	shmctl: consistently use macros from print_fields.h.
	* ipc_shmctl.c (key): Define.
	(print_shmid_ds): Use PRINT_FIELD_U instead of tprintf.

	msgctl: decode some commands on entering syscall.
	* ipc_msgctl.c (SYS_FUNC(msgctl)): Handle all commands except IPC_INFO,
	IPC_STAT, MSG_INFO, MSG_STAT, and MSG_STAT_ANY on entering syscall.

	msgctl: decode struct msginfo argument of IPC_INFO and MSG_INFO commands
	* ipc_msgctl.c (print_msginfo): New function.
	(SYS_FUNC(msgctl)): Use it to decode struct msginfo argument of IPC_INFO
	and MSG_INFO commands.
	* tests/ipc_msg.c (print_msginfo): New function.
	(main): Use it to check decoding of IPC_INFO and MSG_INFO commands.
	* NEWS: Mention this change.

	msgctl: print struct msqid_ds.msg_qbytes of IPC_SET command.
	* ipc_msgctl.c (print_msqid_ds) <cmd == IPC_SET>: Print
	struct msqid_ds.msg_qbytes.
	* tests/ipc_msg.c (main): Update expected output.

	msgctl: decode struct msqid_ds argument of MSG_STAT and MSG_STAT_ANY commands
	* ipc_msgctl.c (print_msqid_ds): Handle MSG_STAT and MSG_STAT_ANY.
	* tests/ipc_msg.c (print_msqid_ds): New function.
	(main): Use it to update expected output.
	* NEWS: Mention this change.

	msgctl: consistently use macros from print_fields.h.
	* ipc_msgctl.c (key): Define.
	(print_msqid_ds): Use PRINT_FIELD_U instead of tprintf.

2020-09-18  Dmitry V. Levin  <ldv@altlinux.org>

	ci: add a git status check.
	* ci/run-build-and-tests.sh: Check that "git status" does not report
	any differences or untracked files.
	[$CHECK == coverage]: Remove ./codecov.bash after use.
	* .gitignore: Add "/travis_wait_*.log".

	.gitignore: ignore files generated by gcov.
	* .gitignore: Add *.gcov.

2020-09-18  Elvira Khabirova  <lineprinter0@gmail.com>

	xlat: fix file descriptor closing typo.
	* xlat/gen.sh (gen_header): Replace 3>- with 3>&-.

	Fixes: v5.7~28 "xlat: generate m4 checks for enumerations"

2020-09-14  Elvira Khabirova  <lineprinter0@gmail.com>

	.gitignore: add missing files that should be ignored.
	ar-lib is an autotools helper script.
	tags, TAGS, cscope.* and ncscope.* are files generated by ctags and cscope,
	source code analysers and navigation tools.

	* .gitignore: Add /ar-lib, /cscope.*, /ncscope.*, /tags and /TAGS.

2020-09-12  Dmitry V. Levin  <ldv@altlinux.org>

	tests/ipc_msg.c: disable TEST_MSGCTL_BOGUS_ADDR on glibc >= 2.32.
	Starting with commit glibc-2.32~83, on every 32-bit architecture where
	32-bit time_t support is enabled, glibc tries to retrieve the data
	provided in the third argument of msgctl call.  This results to
	segfaults inside glibc if TEST_MSGCTL_BOGUS_ADDR is enabled.

	* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 32) && __TIMESIZE != 64]
	(TEST_MSGCTL_BOGUS_ADDR): Define to 0.

	Reported-by: Ruinland ChuanTzu Tsai <ruinland@andestech.com>

2020-09-12  Dmitry V. Levin  <ldv@altlinux.org>

	Introduce GLIBC_PREREQ_GE and GLIBC_PREREQ_LT macros.
	* gcc_compat.h (GLIBC_PREREQ_GE, GLIBC_PREREQ_LT): New macros.
	* tests/ipc_msg.c: Use GLIBC_PREREQ_LT instead of manual checking
	for __GLIBC__ and __GLIBC_MINOR__.
	* tests/readahead.c: Likewise.

2020-09-06  Dmitry V. Levin  <ldv@altlinux.org>

	ci: re-enable testing with the latest mainline kernel headers.
	There should be no issues with v5.9-rc4.
	This reverts commit 1c84f0b04d0fd8d37afd29a4c959fb8c863bcfdb.

	* .github/workflows/ci.yml (env): Remove KBRANCH.
	* .gitlab-ci.yml (variables): Likewise.
	* .travis.yml (env:global): Likewise.

2020-09-06  Dmitry V. Levin  <ldv@altlinux.org>

	types/v4l2.h: update definition of struct_v4l2_create_buffers.
	* types/v4l2.h (struct_v4l2_create_buffers): Add "flags" field and
	update "reserved" field to sync with changes introduced by Linux kernel
	commit v5.9-rc1~94^2~295.

	xlat: update V4L2_FMT_FLAG_* constants.
	* xlat/v4l2_format_description_flags.in
	(V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL): New constant introduced by Linux
	kernel commit v5.9-rc1~94^2~283.
	* NEWS: Mention this change.
	* tests/ioctl_v4l2-success.c (fmtdesc_flags): Update expected output.

	xlat: update RTPROT_* constants.
	* xlat/routing_protocols.in (RTPROT_KEEPALIVED): New constant introduced
	by Linux kernel commit v5.9-rc1~133^2~449.
	* NEWS: Mention this change.

	xlat: update PTP_PEROUT_* constants.
	* xlat/rtnl_neigh_attrs.in (PTP_PEROUT_DUTY_CYCLE): New constant
	introduced by Linux kernel commit v5.9-rc1~133^2~199^2~2.
	(PTP_PEROUT_PHASE): New constant introduced by Linux kernel commit
	v5.9-rc1~133^2~199^2~1.
	* NEWS: Mention this change.

	xlat: update NDA_* constants.
	* xlat/rtnl_neigh_attrs.in (NDA_FDB_EXT_ATTRS): New constant introduced
	by Linux kernel commit v5.9-rc1~133^2~430^2~2.
	* NEWS: Mention this change.

	xlat: update KVM_* constants.
	* xlat/kvm_cap.in (KVM_CAP_LAST_CPU): New constant introduced by Linux
	kernel commit v5.9-rc1~121^2~108.
	(KVM_CAP_SMALLER_MAXPHYADDR): New constant introduced by Linux kernel
	commit v5.9-rc1~121^2~15.
	(KVM_CAP_S390_DIAG318): New constant introduced by Linux kernel commit
	v5.9-rc1~121^2^2.
	* NEWS: Mention this change.

	xlat: update IORING_FEAT_* constants.
	* xlat/uring_setup_features.in (IORING_FEAT_POLL_32BITS): New constant
	introduced by Linux kernel commit v5.9-rc1~212^2~116.
	* NEWS: Mention this change.

	xlat: update INET_DIAG_REQ_* constants.
	* linux/inet_diag.h (INET_DIAG_REQ_SK_BPF_STORAGES): New constant
	introduced by Linux kernel commit v5.7-rc1~146^2~287^2^2.
	(INET_DIAG_REQ_PROTOCOL): New constant introduced by Linux kernel commit
	v5.9-rc1~133^2~292^2~3.
	* xlat/inet_diag_req_attrs.in: Likewise.
	* NEWS: Mention this change.

	xlat: update IFLA_* constants.
	* xlat/rtnl_link_attrs.in (IFLA_PROTO_DOWN_REASON): New constant
	introduced by Linux kernel commit v5.9-rc1~133^2~77.
	* NEWS: Mention this change.

	xlat: update IPV6_* constants.
	* xlat/sock_ip_options.in (IPV6_RECVERR_RFC4884): New constant
	introduced by Linux kernel commit v5.9-rc1~133^2~130^2.
	* NEWS: Mention this change.

	xlat: update IP_* constants.
	* xlat/sock_ip_options.in (IP_RECVERR_RFC4884): New constant introduced
	by Linux kernel commit v5.9-rc1~133^2~200.
	* NEWS: Mention this change.

	xlat: update FAN_* constants.
	* xlat/fan_init_flags.in (FAN_REPORT_DIR_FID): New constant introduced
	by Linux kernel commit v5.9-rc1~110^2~6.
	(FAN_REPORT_NAME): New constant introduced by Linux kernel commit
	v5.9-rc1~110^2~4.
