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

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

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

2022-12-11  Dmitry V. Levin  <ldv@strace.io>

	statx: decode new fields added to struct statx.
	* src/statx.h (struct_statx): Add stx_mnt_id, stx_dio_mem_align,
	and stx_dio_offset_align fields, update reserved2 field.
	* src/statx.c (SYS_FUNC(statx)): Print the new fields when
	the appropriate bits of struct statx.stx_mask are set.
	* tests/xstatx.c (print_stat) [IS_STATX]: Update expected output.
	* NEWS: Mention this change.

	statx: honor struct statx.stx_mask.
	* src/statx.c (SYS_FUNC(statx)): Make printing of optional struct statx
	fields dependent on the value of struct statx.stx_mask.
	* tests/xstatx.c (print_stat): Update expected output.

	xlat: update TLS_* constants.
	* src/xlat/tls_info_ciphers.in (TLS_CIPHER_ARIA_GCM_128,
	TLS_CIPHER_ARIA_GCM_256): New constants introduced by Linux kernel
	commit v6.1-rc1~170^2~85.
	* tests/nlattr_inet_diag_msg.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update STATX_* constants.
	* src/xlat/statx_masks.in (STATX_DIOALIGN): New constant introduced
	by Linux kernel commit v6.1-rc1~187^2~7.
	* tests/xstatx.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update PERF_* constants.
	* src/xlat/perf_branch_sample_type.in (PERF_SAMPLE_BRANCH_PRIV_SAVE):
	New constant introduced by Linux kernel commit v6.1-rc1~97^2~60.
	* tests/perf_event_open.c (BRANCH_TYPE_ALL, main): Update expected
	output.
	* NEWS: Mention this change.

	xlat: update NLMSGERR_* constants.
	* src/xlat/nlmsgerr_attrs.in (NLMSGERR_ATTR_MISS_TYPE,
	NLMSGERR_ATTR_MISS_NEST): New constants introduced by Linux kernel
	commit v6.1-rc1~170^2~313^2~4.
	* NEWS: Mention this change.

	xlat: update KVM_* constants.
	* src/xlat/kvm_cap.in (KVM_CAP_DIRTY_LOG_RING_ACQ_REL): New constant
	introduced by Linux kernel commit v6.1-rc1~49^2~1^2~1^2~4.
	* NEWS: Mention this change.

	xlat: update ABS_* constants.
	* src/xlat/evdev_abs.in (ABS_PROFILE): New constant introduced
	by Linux kernel commit v6.1-rc1~54^2^2~9.
	* NEWS: Mention this change.

	xlat: update IFLA_* constants.
	* src/xlat/rtnl_link_attrs.in (IFLA_ALLMULTI): New constant introduced
	by Linux kernel commit v6.1-rc1~170^2~218.
	* src/rtnl_link.c (ifinfomsg_nla_decoders) <IFLA_ALLMULTI>: New entry.
	* NEWS: Mention this change.

	xlat: update ETH_P_* constants.
	* src/xlat/ethernet_protocols.in (ETH_P_CANXL): New constant introduced
	by Linux kernel commit v6.1-rc1~170^2~209^2^2~2.
	* tests/nlattr_ifla_vfinfo.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update COUNTER_* constants.
	* src/xlat/counter_ioctl_event_types.in (COUNTER_EVENT_CAPTURE): New
	constant introduced by Linux kernel commit v6.1-rc1~113^2~16.
	* tests/ioctl_counter.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update BTRFS_* constants.
	* src/xlat/btrfs_features_compat_ro.in
	(BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE): New constant introduced
	by Linux kernel commit v6.1-rc1~142^2~102.
	* NEWS: Mention this change.

	xlat: update BPF_* constants.
	* src/xlat/bpf_map_types.in (BPF_MAP_TYPE_USER_RINGBUF): New constant
	introduced by Linux kernel commit v6.1-rc1~170^2~10^2~39^2~3.
	* NEWS: Mention this change.
	* tests/bpf.c (BPF_MAP_CREATE_checks): Update.

	xlat: update MADV_* constants.
	* src/xlat/madvise_cmds.in (MADV_COLLAPSE): New constant
	introduced by Linux kernel commit v6.1-rc1~21^2~577.
	* NEWS: Mention this.

2022-12-11  Dmitry V. Levin  <ldv@strace.io>

	bundled: update linux UAPI headers to v6.1.
	In addition to linux/io_uring.h that was excluded from updates because
	of non-trivial implications caused by use of linux/time_types.h in that
	header file starting with v6.0, linux/in.h is also excluded from updates
	due to its use of linux/stddef.h starting with v6.1.

	* bundled/linux/include/uapi/asm-generic/hugetlb_encode.h: Update to
	headers_install'ed Linux kernel v6.1.
	* bundled/linux/include/uapi/linux/btrfs.h: Likewise.
	* bundled/linux/include/uapi/linux/btrfs_tree.h: Likewise.
	* bundled/linux/include/uapi/linux/counter.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/landlock.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/ipset/ip_set.h: Likewise.
	* bundled/linux/include/uapi/linux/netlink.h: Likewise.
	* bundled/linux/include/uapi/linux/perf_event.h: Likewise.
	* bundled/linux/include/uapi/linux/pkt_sched.h: Likewise.
	* bundled/linux/include/uapi/linux/stat.h: Likewise.
	* bundled/linux/include/uapi/linux/tls.h: Likewise.
	* bundled/linux/include/uapi/linux/userfaultfd.h: Likewise.
	* bundled/linux/include/uapi/linux/v4l2-controls.h: Likewise.
	* bundled/linux/include/uapi/linux/version.h: Likewise.
	* bundled/linux/include/uapi/linux/videodev2.h: Likewise.
	* bundled/linux/include/uapi/mtd/mtd-abi.h: Likewise.
	* bundled/linux/include/uapi/mtd/ubi-user.h: Likewise.

2022-12-10  Dmitry V. Levin  <ldv@strace.io>

	Reduce sysctl decoder to the bare minimum.
	Given that sysctl syscall was removed by Linux kernel commit
	v5.5-rc1~102^2, do not spend limited resources on the incomplete decoder
	of sysctl syscall and reduce it to the bare minimum.  At the same time,
	add mpers support and a test for the new decoder to make sure it works
	properly.

	* src/sysctl.c: Rewrite.
	* src/xlat/sysctl_*.in: Remove.
	* tests/sysctl.c: New file.
	* tests/gen_tests.in (sysctl): New test.
	* tests/pure_executables.list: Add sysctl.
	* tests/.gitignore: Likewise.

2022-12-09  Dmitry V. Levin  <ldv@strace.io>

	ia64: use sysctl decoder.
	Apparently, sysctl syscall has never been decoded on ia64.  Although the
	syscall is now removed from the Linux kernel, it's never late to fix the
	decoder on ia64.

	* src/linux/ia64/syscallent.h (sysctl): Use the sysctl decoder
	instead of printargs.

2022-12-02  Dmitry V. Levin  <ldv@strace.io>

	.github: switch from actions/checkout@v2 to actions/checkout@v3.
	This fixes the following diagnostic warning:

	  Node.js 12 actions are deprecated. For more information see:
	  https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.

	* .github/workflows/ci.yml: Replace actions/checkout@v2 with
	actions/checkout@v3.

2022-11-28  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v6.1.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v6.1-rc7 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.
	* src/linux/s390/ioctls_arch0.h: Likewise.
	* src/linux/s390x/ioctls_arch0.h: Likewise.
	* NEWS: Mention this.

2022-11-28  Dmitry V. Levin  <ldv@strace.io>

	print_icmp_filter: fix icmp_filter decoding on 64-bit bigendian architectures
	* src/net.c (print_icmp_filter): Fix next_set_bit usage.

	Fixes: v6.0-27-g238f5799f "print_icmp_filter: print icmp_filter as a bitset"
	Resolves: https://github.com/strace/strace/issues/229

2022-11-27  Dmitry V. Levin  <ldv@strace.io>

	src: introduce tprint_attribute_{begin,end} helpers.
	* src/print_fields.h (tprint_attribute_begin, tprint_attribute_end):
	New inline functions.
	* src/print_instruction_pointer.c (print_instruction_pointer): Use them.
	* src/print_syscall_number.c (print_syscall_number): Likewise.
	* src/secontext.c (selinux_printfdcon, selinux_printfilecon,
	  selinux_printpidcon): Likewise.
	* src/strace.c (printleader): Likewise.
	* src/syscall.c (stub_sysent): Update sys_name.
	* tests/kill_child.c: Update comment.
	* tests/kill_child.test: Update expected output.

	src: introduce tprint_associated_info_{begin,end} helpers.
	* src/print_fields.h (tprint_associated_info_begin,
	tprint_associated_info_end): New inline functions.
	* src/open.c (print_dirfd): Use them.
	* src/strace.c (print_comm_str): Likewise.
	* src/syscall.c (syscall_exiting_trace): Likewise.
	* src/util.c (print_string_in_angle_brackets, printdev, printpidfd,
	print_quoted_string_in_angle_brackets): Likewise.

2022-11-27  Dmitry V. Levin  <ldv@strace.io>

	dm: decode dm_ioctl as a pseudoarray.
	Somewhat similar to netlink messages, dm_ioctl data is a struct dm_ioctl
	header followed by payload.

	* src/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): Use tprint_array_next
	to print separator between payload records.
	(dm_decode_header, dm_decode_payload): New functions.
	(dm_known_ioctl): Use them.
	* tests/ioctl_dm.c (main): Update expected output.

2022-11-27  Dmitry V. Levin  <ldv@strace.io>

	src: introduce tprint_newline() helper.
	* src/print_fields.h (tprint_newline): New inline function.
	* src/strace.c (ptrace_restart, printleader, maybe_switch_tcbs,
	print_signalled, print_exited, print_stopped, print_event_exit): Use it.
	* src/syscall.c (syscall_exiting_trace): Likewise.

	src: introduce tprint_null() helper.
	* src/print_fields.h (tprint_null): New inline function.
	* src/util.c (printaddr64, printpathn, printstr_ex, print_array_ex):
	Use it.

2022-11-26  Dmitry V. Levin  <ldv@strace.io>

	print_icmp_filter: print icmp_filter as a bitset.
	* src/xlat/icmp_filter_flags.in: New file.
	* src/xlat/icmpfilterflags.in: Remove.
	* src/net.c: Include "xlat/icmp_filter_flags.h" instead of
	"xlat/icmpfilterflags.h".
	(print_icmp_filter): Print struct icmp_filter.data as a bitset.
	* tests/net-icmp_filter.c (main): Update expected output.

	print_affinitylist: use tprint_bitset_* helpers to print bitsets.
	* src/affinity.c (print_affinitylist): Replace tprint_array_* helpers
	with the corresponding tprint_bitset_* helpers.
	* tests/io_uring_register.c (main): Update expected output.
	* tests/sched_xetaffinity.c (main): Likewise.

2022-11-25  Dmitry V. Levin  <ldv@strace.io>

	mips: fix decoding of ioctl 't' commands.
	Similar to alpha, powerpc, and sparc architectures, some of tty ioctl
	commands on mips also have type 't'.

	* src/ioctl.c (ioctl_decode) [MIPS]: Handle type 't'.

2022-11-25  Dmitry V. Levin  <ldv@strace.io>

	xlat/modem_flags: fix fallback definitions for mips.
	* src/xlat/modem_flags.in [__mips__] (TIOCM_ST, TIOCM_SR, TIOCM_CTS,
	TIOCM_CAR, TIOCM_RNG, TIOCM_DSR): Provide correct fallback
	definitions.
	* tests/ioctl_tiocm.c [__mips__] (VALID_FLAGS, INVALID_FLAGS):
	Provide correct definitions.

	Fixes: v6.0-10-gebc5d9e24 "xlat: update TIOCM_* constants"

2022-11-25  Dmitry V. Levin  <ldv@strace.io>

	s390: use more print_fields.h helpers.
	* src/s390.c (decode_ebcdic, print_sthyi_machine, print_sthyi_guest,
	guard_storage_print_gscb): Use tprint_struct_next.
	(guard_storage_print_gsepl): Use tprint_struct_next,
	tprint_indirect_begin, and tprint_indirect_end.
	(SYS_FUNC(s390_guarded_storage), SYS_FUNC(s390_runtime_instr)):
	Use tprint_arg_next.
	(SYS_FUNC(s390_sthyi)): Use tprint_arg_next and PRINT_VAL_X.
	(SYS_FUNC(s390_pci_mmio_write), SYS_FUNC(s390_pci_mmio_read)):
	Use tprint_arg_next, PRINT_VAL_X, and PRINT_VAL_U.

2022-11-24  Dmitry V. Levin  <ldv@strace.io>

	strace.spec.in: skip tests for all 32-bit architectures on fedora and rhel
	gcc on the latest versions of fedora and rhel fails to compile
	strace tests not just for x86 architecture but for armv7 as well.

	* strace.spec.in (%check) [fedora >= 35 || rhel > 9]: Skip on all
	32-bit architectures.

2022-11-24  Yaakov Selkowitz  <yselkowitz@fedoraproject.org>

	strace.spec.in: skip tests for x86 architecture on ELN.
	* strace.spec.in (%check): Skip on %ix86 and rhel > 9.

2022-11-24  Dmitry V. Levin  <ldv@strace.io>

	swapon: use more print_fields.h helpers.
	* src/swapon.c (SYS_FUNC(swapon)): Use PRINT_VAL_U.

2022-11-23  Dmitry V. Levin  <ldv@strace.io>

	sockaddr: use more print_fields.h helpers.
	* src/sockaddr.c (print_sockaddr_data_ll): Use PRINT_VAL_0X.

2022-11-22  Dmitry V. Levin  <ldv@strace.io>

	netlink_netlink_diag: use more print_fields.h helpers.
	* src/netlink_netlink_diag.c (print_group): Use PRINT_VAL_0X.

2022-11-21  Dmitry V. Levin  <ldv@strace.io>

	numa: use more print_fields.h helpers.
	* src/numa.c (print_node): Use PRINT_VAL_0X.
	* tests/get_mempolicy.c (print_nodes): Update expected output.
	* tests/set_mempolicy.c (print_nodes): Likewise.

2022-11-20  Dmitry V. Levin  <ldv@strace.io>

	personality: use more print_fields.h helpers.
	* src/personality.c (SYS_FUNC(personality)): Use PRINT_VAL_X.

2022-11-19  Dmitry V. Levin  <ldv@strace.io>

	tests: fix injection tests on ia64 architecture.
	* tests/filtering_syscall-syntax.test: Use 1025 instead of 1 as a valid
	syscall on ia64 architecture.
	* tests/qual_fault.test: Use 1068 instead of 51 as a valid syscall
	on ia64 architecture.
	* tests/qual_inject-syntax.test: Use 1068 instead of 42 as a valid
	syscall on ia64 architecture.
	* tests/qual_syscall.test: Likewise.
	* NEWS: Mention this change.

	Fixes: v5.17~48 "Enhance rejection of invalid syscall numbers in syscall specification expressions"

2022-11-13  Dmitry V. Levin  <ldv@strace.io>

	term: modernize.
	* src/term.c: Do not include xlat/termio_cc.h unless _VMIN is defined.
	Use macros from print_fields.h.
	(decode_termios2, decode_termios): Do not print c_cc[VMIN]
	and c_cc[VTIME] twice.
	(decode_termio): Do not print c_cc[_VMIN] and c_cc[_VTIME] twice.
	* tests/ioctl_termios.c: Update expected output.
	* NEWS: Mention this change.

2022-11-13  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: add struct termios-related ioctl command test.

	term: improve decoding of termios and termio structures.
	Closes: https://github.com/strace/strace/issues/130

2022-11-12  Dmitry V. Levin  <ldv@strace.io>

	tprint_array_index_end: remove extra whitespace from the output.
	* src/print_fields.h (tprint_array_index_end): Remove extra whitespace
	from the output around '='.
	* tests/btrfs.c (btrfs_test_get_dev_stats_ioctl): Update expected
	output.
	* tests/io_uring_register.c (main): Likewise.
	* tests/nlattr_ifla_af_inet6.h (print_arr_val, print_arr_uval): Likewise.
	* tests/nlattr_ifstats.c (PR_FIELD_, FIELD_STR_): Likewise.
	* tests/nlattr_inet_diag_msg.c (print_uint): Likewise.

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

	xlat: update TIOCM_* constants.
	* src/xlat/modem_flags.in: Provide fallback definitions.
	(TIOCM_OUT1, TIOCM_OUT2, TIOCM_LOOP): New constants introduced
	before Linux kernel commit v2.6.12-rc2.
	* tests/ioctl_tiocm.c (main): Update expected output.

	tests: check decoding of ioctl TIOCM* commands.
	* tests/ioctl_tiocm.c: New file.
	* tests/gen_tests.in (ioctl_tiocm): New test.
	* tests/pure_executables.list: Add ioctl_tiocm.
	* tests/.gitignore: Likewise.

2022-11-05  Dmitry V. Levin  <ldv@strace.io>

	tests: check decoding of ioctl TIOC[GS]WINSZ commands.
	* tests/ioctl_winsize.c: New file.
	* tests/gen_tests.in (ioctl_winsize): New test.
	* tests/pure_executables.list: Add ioctl_winsize.
	* tests/.gitignore: Likewise.

2022-11-05  Dmitry V. Levin  <ldv@strace.io>

	sparc: fix decoding of ioctl 't' commands.
	Similar to alpha and powerpc architectures, some of tty ioctl commands
	on sparc are also have type 't'.

	* src/ioctl.c (ioctl_decode) [SPARC || SPARC64]: Handle type 't'.

2022-11-04  Dmitry V. Levin  <ldv@strace.io>

	src: introduce tprint_space() helper.
	* src/print_fields.h (tprint_space): New inline function.
	* src/print_instruction_pointer.c (print_instruction_pointer): Use it.
	* src/print_syscall_number.c (print_syscall_number): Likewise.
	* src/secontext.c (selinux_printfdcon, selinux_printfilecon,
	selinux_printpidcon): Likewise.
	* src/strace.c (printleader): Likewise.
	* src/syscall.c (syscall_exiting_trace): Likewise.

2022-11-03  Dmitry V. Levin  <ldv@strace.io>

	v4l2: use tprint_value_changed() helper from print_fields.h.
	* src/v4l2.c (print_v4l2_streamparm, print_v4l2_tuner,
	print_v4l2_ext_controls): Use tprint_struct_next, tprint_struct_begin,
	tprint_struct_end, and tprint_value_changed.

2022-11-02  Dmitry V. Levin  <ldv@strace.io>

	src: introduce tprint_plus() helper.
	* src/print_fields.h (tprint_plus): New inline function.
	* src/bpf_sock_filter.c (print_sock_filter_k): Use it.
	* src/ptrace.c (print_user_offset_addr): Likewise.
	* src/sockaddr.c (print_bluetooth_l2_psm, print_bluetooth_l2_cid):
	Likewise.
	* tests/net-sockaddr.c (check_l2): Update expected output.

2022-11-01  Dmitry V. Levin  <ldv@strace.io>

	src: use tprint_shift() helper from print_fields.h.

2022-10-31  Dmitry V. Levin  <ldv@strace.io>

	src: use tprint_or() helper from print_fields.h.

2022-10-30  Dmitry V. Levin  <ldv@strace.io>

	Post-release administrivia.
	* NEWS: Add a header line for the next release.
	* debian/changelog.in: Add a changelog entry for 6.0-1.
	* strace.spec.in: Likewise.

2022-10-29  Dmitry V. Levin  <ldv@strace.io>

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

2022-10-23  Dmitry V. Levin  <ldv@strace.io>

	strace.spec.in: skip tests for x86 architecture on the latest fedora versions
	gcc on the latest versions of fedora fails to compile strace tests for
	x86 architecture, and given that fedora is phasing out that
	architecture, there is no hope that issue is ever going to be fixed.

	* strace.spec.in (%check): Skip on %ix86 and fedora >= 35.

2022-10-17  Dmitry V. Levin  <ldv@strace.io>

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

2022-10-16  Dmitry V. Levin  <ldv@strace.io>

	strace.1: fix typos.
	* doc/strace.1.in (.SH HISTORY): Fix two typos.

	Reported-by: Roland Illig <roland.illig@gmx.de>

2022-10-10  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v6.0.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v6.0 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.
	* src/linux/i386/ioctls_arch0.h: Likewise.
	* src/linux/s390/ioctls_arch0.h: Likewise.
	* src/linux/s390x/ioctls_arch0.h: Likewise.
	* src/linux/x86_64/ioctls_arch0.h: Likewise.
	* NEWS: Mention this.

2022-10-09  Dmitry V. Levin  <ldv@strace.io>

	xlat: update TLS_INFO_* constants.
	* src/xlat/inet_diag_ulp_info_tls_attrs.in (TLS_INFO_RX_NO_PAD):
	New constant introduced by Linux kernel commit v6.0-rc1~141^2~193^2~2.
	* src/netlink_inet_diag.c (diag_ulp_info_tls_nla_decoders): Add
	TLS_INFO_RX_NO_PAD.
	* tests/nlattr_inet_diag_msg.c (tls_unk_attrs): Update expected output.
	* NEWS: Mention this change.

	xlat: update PERF_* constants.
	* src/xlat/perf_event_read_format.in (PERF_FORMAT_LOST): New constant
	introduced by Linux kernel commit v6.0-rc1~199^2~3.
	* tests/ioctl_perf.c (main): Update expected output.
	* tests/perf_event_open.c (read_formats): Likewise.
	* NEWS: Mention this change.

	xlat: update NDTPA_* constants.
	* src/xlat/rtnl_neightbl_parms_attrs.in (NDTPA_INTERVAL_PROBE_TIME_MS):
	New constant introduced by Linux kernel commit v6.0-rc1~141^2~249^2.
	* src/rtnl_neightbl.c (ndt_parms_nla_decoders): Decode
	NDTPA_INTERVAL_PROBE_TIME_MS.
	* NEWS: Mention this change.

	xlat: update KVM_* constants.
	* src/xlat/kvm_cap.in (KVM_CAP_VM_TSC_CONTROL): New constant
	introduced by Linux kernel commit v5.19-rc1~137^2~83^2~14.
	(KVM_CAP_SYSTEM_EVENT_DATA): New constant introduced
	by Linux kernel commit v5.18-rc5~1^2~2^2~1.
	(KVM_CAP_ARM_SYSTEM_SUSPEND): New constant introduced
	by Linux kernel commit v5.19-rc1~137^2~12^2~4^2~6.
	(KVM_CAP_S390_PROTECTED_DUMP): New constant introduced
	by Linux kernel commit v6.0-rc1~129^2~6^2~389^2~70^2~7.
	(KVM_CAP_X86_TRIPLE_FAULT_EVENT): New constant introduced
	by Linux kernel commit v6.0-rc1~129^2~6^2~389^2~12.
	(KVM_CAP_X86_NOTIFY_VMEXIT): New constant introduced
	by Linux kernel commit v6.0-rc1~129^2~6^2~389^2~9.
	(KVM_CAP_VM_DISABLE_NX_HUGE_PAGES): New constant introduced
	by Linux kernel commit v6.0-rc1~129^2~6^2~169.
	(KVM_CAP_S390_ZPCI_OP): New constant introduced
	by Linux kernel commit v6.0-rc1~129^2~6^2~34^2~21^2~1.
	(KVM_CAP_S390_CPU_TOPOLOGY): New constant introduced
	by Linux kernel commit v6.0-rc1~129^2~6^2~34^2.
	* src/xlat/kvm_exit_reason.in (KVM_EXIT_RISCV_CSR): New constant
	introduced by Linux kernel commit v6.0-rc1~129^2~7^2~4.
	(KVM_EXIT_NOTIFY): New constant introduced
	by Linux kernel commit v6.0-rc1~129^2~6.
	* NEWS: Mention this change.

	xlat: update ETH_P_* constants.
	* src/xlat/ethernet_protocols.in (ETH_P_DSA_A5PSW): New constant
	introduced by Linux kernel commit v6.0-rc1~141^2~283^2~13.
	* NEWS: Mention this change.

	xlat: update FAN_MARK_* constants.
	* src/xlat/fan_mark_flags.in (FAN_MARK_IGNORE): New constant
	introduced by Linux kernel commit v6.0-rc1~219^2~1.
	* tests/fanotify_mark.c (main): Update expected output.
	* NEWS: Mention this change.

	xlat: update NT_S390_* constants.
	* src/xlat/nt_descriptor_types.in (NT_S390_PV_CPU_DATA): New constant
	introduced by Linux kernel commit v6.0-rc1~81^2~5.
	* NEWS: Mention this change.

	xlat: update BTRFS_* constants.
	* src/xlat/btrfs_send_flags.in (BTRFS_SEND_FLAG_COMPRESSED): New
	constant introduced by Linux kernel commit v6.0-rc1~146^2~125.
	* NEWS: Mention this change.

	xlat: update BPF_* constants.
	* src/xlat/bpf_attach_type.in (BPF_LSM_CGROUP): New constant
	introduced by Linux kernel commit v6.0-rc1~141^2~163^2~30^2~8.
	* tests/bpf.c (BPF_PROG_QUERY_checks): Update expected output.
	* NEWS: Mention this change.

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

	bundled: update linux UAPI headers to v6.0.
	linux/io_uring.h is excluded from this update because of non-trivial
	implications caused by changes made to this header file in v6.0.

	* bundled/linux/include/uapi/linux/blkzoned.h: Update to
	headers_install'ed Linux kernel v6.0-rc7.
	* bundled/linux/include/uapi/linux/btrfs.h: Likewise.
	* bundled/linux/include/uapi/linux/btrfs_tree.h: Likewise.
	* bundled/linux/include/uapi/linux/dm-ioctl.h: Likewise.
	* bundled/linux/include/uapi/linux/fiemap.h: Likewise.
	* bundled/linux/include/uapi/linux/fs.h: Likewise.
	* bundled/linux/include/uapi/linux/fscrypt.h: Likewise.
	* bundled/linux/include/uapi/linux/if_alg.h: Likewise.
	* bundled/linux/include/uapi/linux/if_link.h: Likewise.
	* bundled/linux/include/uapi/linux/inet_diag.h: Likewise.
	* bundled/linux/include/uapi/linux/ip_vs.h: Likewise.
	* bundled/linux/include/uapi/linux/neighbour.h: Likewise.
	* bundled/linux/include/uapi/linux/perf_event.h: Likewise.
	* bundled/linux/include/uapi/linux/rtnetlink.h: Likewise.
	* bundled/linux/include/uapi/linux/tls.h: Likewise.
	* bundled/linux/include/uapi/linux/v4l2-controls.h: Likewise.
	* bundled/linux/include/uapi/linux/version.h: Likewise.
	* bundled/linux/include/uapi/linux/videodev2.h: Likewise.
	* bundled/linux/include/uapi/mtd/mtd-abi.h: Likewise.
	* bundled/linux/include/uapi/rdma/ib_user_verbs.h: Likewise.

2022-10-07  Marvin Schmidt  <marv@exherbo.org>

	sysent: Provide proper function prototype to fix -Wdeprecated-non-prototype
	clang-15 emits an error because the `sys_func` function pointer of the sysent struct doesn't declare
	an argument list:

	> make[3]: Entering directory '/home/marv/devel/strace/src'
	> clang -DHAVE_CONFIG_H   -I./linux/x86_64 -I./linux/x86_64 -I./linux/generic -I./linux/generic -I. -I. -I../bundled/linux/arch/x86/include/uapi -I../bundled/linux/include/uapi -DIN_STRACE=1      -I./bundled/linux/arch/x86/include/uapi -I./bundled/linux/include/uapi -Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wdate-time -Wformat-security -Winit-self -Winitializer-overrides -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wundef -Wwrite-strings -Werror   -Wall -g -ggdb3 -O0 -c -o libstrace_a-syscall.o `test -f 'syscall.c' || echo './'`syscall.c
	> syscall.c:670:65: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
	>         int res = raw(tcp) ? printargs(tcp) : tcp_sysent(tcp)->sys_func(tcp);
	>                                                                        ^
	> syscall.c:815:39: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
	>                         sys_res = tcp_sysent(tcp)->sys_func(tcp);
	>                                                            ^
	> 2 errors generated.

	* src/sysent.h (struct tcb): Add forward declaration.
	(struct sysent): Use it to provide a proper prototype of sys_func field.

	Resolves: https://github.com/strace/strace/pull/225

2022-10-03  Dmitry V. Levin  <ldv@strace.io>

	tests: fix build on aarch64.
	This fixes the following compilation errors on aarch64

	  In file included from ptrace-Xraw.c:2:
	  ptrace.c: In function 'check_compat_ptrace_req':
	  ptrace.c:1662:28: error: expected expression before ',' token
	   1662 |                req, NRAW(s), pid, errstr);
	        |                            ^
	  ptrace.c:1667:28: error: expected expression before ',' token
	   1667 |                req, NRAW(s), pid, errstr);
	        |                            ^

	* tests/ptrace.c [__arm64__ || __aarch64__] (check_compat_ptrace_req):
	Update to new NRAW semantics by switching to use XLAT_RAW instead.

	Fixes: v5.19-4-g10eba44ca "tests: make {,N}{ABBR,RAW,VERB} macros more versatile"

2022-10-02  Dmitry V. Levin  <ldv@strace.io>

	xstring.h: fix typo in comment.

2022-10-02  Eugene Syromyatnikov  <evgsyr@gmail.com>

	printsiginfo: consider all POLL_* si_codes as a valid reason to print si_band/si_fd
	* src/printsiginfo.c (print_si_info) <case SIGIO>: Add POLL_ERR,
	POLL_PRI, and POLL_HUP to the POLL_* case.

	printsiginfo: decode SIGEMT the same way as SIG{ILL,FPE,SEGV,BUS}
	* src/printsiginfo.c (print_si_info) [SIGEMT] <case SIGEMT>: Add
	to the SIGILL/SIGFPE/SIGSEGV/SIGBUS case.

	printsiginfo: dispatch signal code names using an array.
	* src/printsiginfo.c (print_si_code): Consolidate xlat pointers
	into an array, dispatch over it using si_code.

	xlat: update sysctl_kern.
	* xlat/sysctl_kern.in (KERN_PANIC_PRINT): New constant, introduced
	by Linux commit v5.0-rc1~38^2~16.

	rtnl_neigh: enhance NDA_PROTOCOL decoding.
	* src/rtnl_neigh.c (ndmsg_nla_decoders) <[NDA_PROTOCOL]>: Decode as
	an IP protocol.

2022-10-02  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat: rename XFS_SB_MAGIC to XFS_SUPER_MAGIC.
	Per Linux commit v4.20-rc1~139^2~13.

	* src/xlat/fsmagic.in (XFS_SUPER_MAGIC): Rename from XFS_SB_MAGIC.

2022-10-02  Eugene Syromyatnikov  <evgsyr@gmail.com>

	powerpc, powerpc64: replace empty syscall entries with comments.
	* src/linux/powerpc/syscallent.h ([224]): Remove, add a comment about
	unused slot for security syscall.
	* src/linux/powerpc64/syscallent.h ([192]): Remove, add a comment about
	powerpc32-only mmap2.
	([193]): Remove, add a comment about powerpc32-only truncate64.
	([194]): Remove, add a comment about powerpc32-only ftruncate64.
	([195]): Remove, add a comment about powerpc32-only stat64.
	([196]): Remove, add a comment about powerpc32-only lstat64.
	([197]): Remove, add a comment about powerpc32-only fstat64.
	([204]): Remove, add a comment about powerpc32-only fcntl64.
	([224]): Remove, add a comment about unused slot for security syscall.
	([226]): Remove, add a comment about powerpc32-only sendfile64.
	([254]): Remove, add a comment about powerpc32-only fadvise64_64.

	sparc, sparc64: replace empty syscall entries with comments.
	* src/linux/sparc/syscallent.h ([52]): Remove, add a comment that
	it is memory_ordering on sparc64.
	([164]): Remove, add a comment that it is utrap_install on sparc64.
	* src/linux/sparc64/syscallent.h ([31]): Remove, add a comment that
	it is lchown32 on sparc32.
	([32]): Remove, add a comment that it is fchown32 on sparc32.
	([35]): Remove, add a comment that it is chown32 on sparc32.
	([44]): Remove, add a comment that it is getuid32 on sparc32.
	([53]): Remove, add a comment that it is getgid32 on sparc32.
	([56]): Remove, add a comment that it is mmap2 on sparc32.
	([69]): Remove, add a comment that it is geteuid32 on sparc32.
	([70]): Remove, add a comment that it is getegid32 on sparc32.
	([72]): Remove, add a comment that it is setreuid32 on sparc32.
	([77]): Remove, add a comment that it is truncate64 on sparc32.
	([82]): Remove, add a comment that it is setgroups32 on sparc32.
	([84]): Remove, add a comment that it is ftruncate64 on sparc32.
	([87]): Remove, add a comment that it is setuid32 on sparc32.
	([89]): Remove, add a comment that it is setgid32 on sparc32.
	([91]): Remove, add a comment that it is setfsuid32 on sparc32.
	([94]): Remove, add a comment that it is setfsgid32 on sparc32.
	([112]): Remove, add a comment that it is setregid32 on sparc32.
	([115]): Remove, add a comment that it is getgroups32 on sparc32.
	([155]): Remove, add a comment that it is fcntl64 on sparc32.
	([231]): Remove, add a comment that it is time on sparc32.

2022-10-02  Dmitry V. Levin  <ldv@strace.io>

	tests: fix build on some platforms.
	This fixes the following compilation issues on platforms
	where __s64 is not defined to "long long":

	  ioctl_ptp.c:268:11: error: format '%lld' expects argument of type 'long long int', but argument 4 has type '__s64' {aka 'long int'} [-Werror=format=]
	  ioctl_ptp.c:268:11: error: format '%lld' expects argument of type 'long long int', but argument 5 has type '__s64' {aka 'long int'} [-Werror=format=]
	  ioctl_ptp.c:355:24: error: format '%lld' expects argument of type 'long long int', but argument 3 has type '__s64' {aka 'long int'} [-Werror=format=]
	  ioctl_ptp.c:490:29: error: format '%lld' expects argument of type 'long long int', but argument 2 has type '__s64' {aka 'const long int'} [-Werror=format=]
	  ioctl_ptp.c:498:36: error: format '%lld' expects argument of type 'long long int', but argument 2 has type '__s64' {aka 'const long int'} [-Werror=format=]
	  ioctl_ptp.c:509:35: error: format '%lld' expects argument of type 'long long int', but argument 2 has type '__s64' {aka 'const long int'} [-Werror=format=]
	  ioctl_ptp.c:581:25: error: format '%lld' expects argument of type 'long long int', but argument 3 has type '__s64' {aka 'long int'} [-Werror=format=]

	* tests/ioctl_ptp.c (test_no_device): Explicitly cast
	struct ptp_clock_time.sec to "long long".

	Fixes: v5.19-5-g03eb34004 "ptp: update decoder"

2022-09-25  Dmitry V. Levin  <ldv@strace.io>

	Print the second argument of setns syscall as flags.
	Starting with Linux kernel commit v5.8-rc1~175^2~1, when the first
	argument of setns syscall is a descriptor obtained from pidfd_open
	syscall, the second argument of setns syscall is treated as a bit mask
	rather than a single CLONE_NEW* constant.

	* src/clone.c (SYS_FUNC(setns)): Print tcp->u_arg[1] using printflags
	instead of printxval.
	* src/xlat/setns_types.in (0): Remove.
	* tests/setns.c: Check it.
	* NEWS: Mention this change.

2022-08-29  Eugene Syromyatnikov  <evgsyr@gmail.com>

	ptp: update decoder.
	CHECK_*_SIZE checks are added as minimum safe-guards against implicit
	decoding breakages, since the types infrastructure, that would allow proper
	checking, has been removed in v5.11~8.

	* src/xlat/ptp_pin_funcs.in: New file.
	* src/ptp.c: Include "xlat/ptp_pin_funcs.h".
	(print_ptp_clock_time): Add rtc argument that signifies that the clock
	data is RTC-like, so it is worthy of pretty-printing;  print reserved
	field if it is non-zero; print time in the ISO 8601 format only if rtc
	argument is set and the xlat decoding format is not raw.
	(print_ptp_clock_time_am): Pass true in the rtc argument
	to print_ptp_clock_time.
	(print_ptp_clock_time3_am): New function.
	(PRINT_RSV): New macro.
	(ptp_ioctl): Re-order switch cases to reflect the ioctl macros
	declaration order.
	(ptp_ioctl) <case PTP_CLOCK_GETCAPS, case PTP_CLOCK_GETCAPS2>: Add size
	checks;  print n_pins, cross_timestamping, adjust_phase, and non-zero
	rsv fields.
	(ptp_ioctl) <case PTP_EXTTS_REQUEST, case PTP_EXTTS_REQUEST2>: Add size
	checks;  print index field as unsigned;  print non-zero rsv field
	for PTP_EXTTS_REQUEST2.
	(ptp_ioctl) <case PTP_PEROUT_REQUEST, case PTP_PEROUT_REQUEST2>: Add
	size checks;  print either phase (non-RTC) or start (RTC) field
	depending on the presence of PTP_PEROUT_PHASE among flags;  print period
	as non-RTC value;  print index as unsigned;  print "PTP_PEROUT_???"
	instead of "PTP_???" as flags fallback value;  print either on field or
	non-zero rsv field (only for PTP_PEROUT_REQUEST2) depending on presence
	of PTP_PEROUT_DUTY_CYCLE among flags.
	(ptp_ioctl) <case PTP_ENABLE_PPS, case PTP_ENABLE_PPS>: Print arg
	as unsigned.
	(ptp_ioctl) <case PTP_SYS_OFFSET, case PTP_SYS_OFFSET2>: Add size
	checks;  print non-zero rsv field on entering;  do not interpret the
	structure as unavailable in case of syscall error;  use MIN macro for
	n_samples calculation instead of open-coding it.
	(ptp_ioctl) <case PTP_PIN_GETFUNC, case PTP_PIN_GETFUNC2, case
	PTP_PIN_SETFUNC, case PTP_PIN_SETFUNC2, case PTP_SYS_OFFSET_PRECISE,
	case PTP_SYS_OFFSET_PRECISE2, case PTP_SYS_OFFSET_EXTENDED, case
	PTP_SYS_OFFSET_EXTENDED2>: Implement decoding.
	* tests/.gitignore: Add ioctl_ptp-Xabbrev, ioctl_ptp-Xraw,
	ioctl_ptp-Xverbose, ioctl_ptp-success, ioctl_ptp-success-Xabbrev,
	ioctl_ptp-success-Xraw, and ioctl_ptp-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add ioctl_ptp-success,
	ioctl_ptp-success-Xabbrev, ioctl_ptp-success-Xraw,
	and ioctl_ptp-success-Xverbose.
	* tests/gen_tests.in (ioctl_ptp-Xabbrev, ioctl_ptp-Xraw,
	ioctl_ptp-Xverbose, ioctl_ptp-success, ioctl_ptp-success-Xabbrev,
	ioctl_ptp-success-Xraw, ioctl_ptp-success-Xverbose): New tests.
	* tests/ioctl_ptp-Xabbrev.c: New file.
	* tests/ioctl_ptp-Xraw.c: Likewise.
	* tests/ioctl_ptp-Xverbose.c: Likewise.
	* tests/ioctl_ptp-success-Xabbrev.c: Likewise.
	* tests/ioctl_ptp-success-Xraw.c: Likewise.
	* tests/ioctl_ptp-success-Xverbose.c: Likewise.
	* tests/ioctl_ptp-success.c: Likewise.
	* tests/ioctl_ptp.c: Update expected output, add checks.
	* tests/pure_executables.list: Add ioctl_ptp-Xabbrev, ioctl_ptp-Xraw,
	and ioctl_ptp-Xverbose.
	* NEWS: Mention it.

2022-08-29  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: make {,N}{ABBR,RAW,VERB} macros more versatile.
	These macros can be much more useful if they would be variadic
	and expand to nothing when they are used in the incompatible xlat
	decoding mode.

	* tests/tests.h (ABBR, RAW, VERB, NABBR, NRAW, NVERB): Change the
	argument to "...", expand into __VA_ARGS__/nothing instead of arg/"".
	* tests/io_uring_register.c: Update NRAW macro usage.
	* tests/nlattr_ifstats.c: Likewise.

2022-08-29  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: provide information about strace's native long/kernel_long_t sizes
	* tests/Makefile.am (STRACE_SIZEOF_KERNEL_LONG_T, STRACE_SIZEOF_LONG):
	New variables.
	(AM_CPPFLAGS): Add -DSTRACE_SIZEOF_KERNEL_LONG_T
	and -DSTRACE_SIZEOF_LONG.

2022-08-16  Dmitry V. Levin  <ldv@strace.io>

	.github: remove gcc7 jobs.
	This old compiler was provided by the old version of the OS that is
	currently being deprecated by github actions.

	* .github/workflows/ci.yml (gcc7-x86_64-kheaders, gcc7-x86_64-dw,
	gcc7-x86_64-unwind): Remove.

	Link: https://github.com/actions/runner-images/issues/6002

2022-08-15  Dmitry V. Levin  <ldv@strace.io>

	Post-release administrivia.
	* NEWS: Add a header line for the next release.
	* debian/changelog.in: Add a changelog entry for 5.19-1.
	* strace.spec.in: Likewise.

2022-08-12  Dmitry V. Levin  <ldv@strace.io>

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

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

2022-08-11  Joubin Jabbari  <joubin@linux.com>

	README.md: update Fedora strace repo location.
	Resolves: https://github.com/strace/strace/pull/218

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: add PR_SVE_[GS]ET_VL checks.
	Re-purpose prct-sme.c for that, since these commands identical
	to PR_SME_[GS]ET_VL so far, save for s/SME/SVE/ in identifier names.
	Retain the original prct-sve.c to retain test coverage diversity.

	* tests/.gitignore: Add prctl-sve-Xabbrev, prctl-sve-Xraw,
	prctl-sve-Xverbose, prctl-sve-success, prctl-sve-success-Xabbrev,
	prctl-sve-success-Xraw, and prctl-sve-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add prctl-sve-success,
	prctl-sve-success-Xabbrev, prctl-sve-success-Xraw,
	and prctl-sve-success-Xverbose.
	* tests/gen_tests.in (prctl-sve-Xabbrev, prctl-sve-Xraw,
	prctl-sve-Xverbose, prctl-sve-success, prctl-sve-success-Xabbrev,
	prctl-sve-success-Xraw, prctl-sve-success-Xverbose): New tests.
	* tests/prctl-sme.c [!EXT] (EXT): New macro.
	(EXT_STR, GLUE_, GLUE, _): New macros.
	(print_sme_vl_arg, main): Use _ and EXT_STR macros.
	* tests/prctl-sve-Xabbrev.c: New file.
	* tests/prctl-sve-Xraw.c: Likewise.
	* tests/prctl-sve-Xverbose.c: Likewise.
	* tests/prctl-sve-success-Xabbrev.c: Likewise.
	* tests/prctl-sve-success-Xraw.c: Likewise.
	* tests/prctl-sve-success-Xverbose.c: Likewise.
	* tests/prctl-sve-success.c: Likewise.
	* tests/pure_executables.list: Add prctl-sve-Xabbrev, prctl-sve-Xraw,
	and prctl-sve-Xverbose.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: expand so_error test checks.
	Check decoding with various optlen values.

	* tests/so_error.c: Add checks.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	net: print unexpectedly short integer sockopts in hex.
	Since it makes little sence to print ASCII character codes when we know
	that the bytes are part of a number.

	* src/net.c (print_get_error, print_txrehash, print_getsockopt): Use
	printstr_ex with QUOTE_FORCE_HEX parameter instead of printstrn.
	* tests/sockopt-sol_socket.c: Update expected output.

2022-08-11  Dmitry V. Levin  <ldv@strace.io>

	net: print the data returned by SO_ERROR as a string if it is too short.
	The data returned by getsockopt SO_ERROR is an integer.  If the buffer
	size specified by userspace is less than sizeof(int), the data written
	by the kernel should not be interpreted as an integer.

	* src/net.c (print_get_error): Print the buffer as a string if its
	length is less than sizeof(int).

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	net: implement SO_TXREHASH socket option support.
	* src/xlat/sock_options.in (SO_TXREHASH): New constant, introduced
	by Linux commit v5.18-rc1~136^2~484^2~3.
	* src/xlat/sockopt_txrehash_vals.in: New file.
	* src/net.c: Include "xlat/sockopt_txrehash_vals.h".
	(print_txrehash): New function.
	(print_getsockopt, print_setsockopt) <case SO_TXREHASH>: Call
	print_txrehash.
	* tests/sockopt-sol_socket.c: Add checks for SO_TXREHASH decoding.
	* NEWS: Mention it.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	io_uring: add support for IORING_{,UN}REGISTER_PBUF_RING opcodes.
	Introduced by Linux commit v5.19-rc1~251^2~10.

	* src/xlat/uring_register_opcodes.in (IORING_REGISTER_PBUF_RING,
	IORING_UNREGISTER_PBUF_RING): New constants.
	* src/io_uring.c (print_io_uring_buf_reg): New function.
	(SYS_FUNC(io_uring_register)) <case IORING_REGISTER_PBUF_RING,
	case IORING_UNREGISTER_PBUF_RING>: Call print_io_uring_buf_reg
	for decoding.
	* tests/io_uring_register.c: Update expected output, add checks.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	io_uring: decode struct io_uring_rsrc_register.flags field.
	Introduced by Linux commit v5.19-rc1~251^2~20.

	* configure.ac: Remove struct io_uring_rsrc_register.resv check.
	* src/xlat/uring_register_rsrc_flags.in: New file.
	* src/io_uring.c: Include "xlat/uring_register_rsrc_flags.h".
	(print_io_uring_register_rsrc): Remove CHECK_TYPE_SIZE for arg.resv,
	decode flags field using PRINT_FIELD_FLAGS instead of optional decoding
	of no longer existing resv field.
	* tests/io_uring_register.c: Update expected output.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: fix ioctl_dm test with new kernel headers.
	Linux commit v5.19-rc2-1-g94dfc73e7cf4 replaced the zero-length array
	dm_target_msg.sector field declaration with a flexible-array declaration,
	which led to the following error when compiled with clang:

	    ../../../tests/ioctl_dm.c:53:25: error: field 'target_msg' with variable
	    sized type 'struct dm_target_msg' not at the end of a struct or class
	    is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end]
	                            struct dm_target_msg target_msg;
	                                                 ^
	    1 error generated.

	Work around it by removing the following field and adjusting
	the untyped message size.

	* tests/ioctl_dm.c (struct s): Remove tm.target_string field, adjust
	string field size.

2022-08-11  Eugene Syromyatnikov  <evgsyr@gmail.com>

	arch_prctl: decode ARCH_GET_XCOMP_SUPP, ARCH_{GET,REQ}_XCOMP{,_GUEST}_PERM
	* src/xlat/archvals.in (ARCH_GET_XCOMP_SUPP, ARCH_GET_XCOMP_PERM,
	ARCH_REQ_XCOMP_PERM): New constants, introduced by Linux commit
	v5.16-rc1~195^2~21.
	(ARCH_GET_XCOMP_GUEST_PERM, ARCH_REQ_XCOMP_GUEST_PERM): New constants,
	introduced by Linux commit v5.17-rc1~15^2~70.
	* src/xlat/x86_xfeature_bits.in: New file.
	* src/xlat/x86_xfeatures.in: Likewise.
	* src/prctl.c [X86_64 || X32 || I386]: Include
	"xlat/x86_xfeature_bits.h", "xlat/x86_xfeatures.h".
	* tests/.gitignore: Add arch_prctl, arch_prctl-Xabbrev, arch_prctl-Xraw,
	arch_prctl-Xverbose, arch_prctl-success, arch_prctl-success-Xabbrev,
	arch_prctl-success-Xraw, and arch_prctl-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add arch_prctl-success,
	arch_prctl-success-Xabbrev, arch_prctl-success-Xraw,
	and arch_prctl-success-Xverbose.
	* tests/arch_prctl.c: New file.
	* tests/arch_prctl-Xabbrev.c: Likewise.
	* tests/arch_prctl-Xraw.c: Likewise.
	* tests/arch_prctl-Xverbose.c: Likewise.
	* tests/arch_prctl-success.c: Likewise.
	* tests/arch_prctl-success-Xabbrev.c: Likewise.
	* tests/arch_prctl-success-Xraw.c: Likewise.
	* tests/arch_prctl-success-Xverbose.c: Likewise.
	* tests/arch_prctl.sh: Likewise.
	* tests/gen_tests.in (arch_prctl, arch_prctl-Xabbrev, arch_prctl-Xraw,
	arch_prctl-Xverbose, arch_prctl-success, arch_prctl-success-Xabbrev,
	arch_prctl-success-Xraw, arch_prctl-success-Xverbose): New tests.
	* tests/prctl-success.sh (PRCTL_SYSCALL, PRCTL_MARKER_RE): New vaiables.
	Handle "ARCH_PRCTL_INJECT_RETVALS" in addition to "PRCTL_INJECT_RETVALS",
	set PRCTL_SYSCALL and PRCTL_MARKER_RE accordingly;  use $PRCTL_SYSCALL
	and $PRCTL_MARKER_RE in run_strace and sed calls.
	* tests/pure_executables.list: Add arch_prctl, arch_prctl-Xabbrev,
	arch_prctl-Xraw, and arch_prctl-Xverbose.
	* NEWS: Mention it.
