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

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

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

2023-06-26  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 -Ev '\.(sh|test)$') |while read f; do
		cppi < "$f" > "$f".cppi; mv "$f".cppi "$f"
	done

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

	tests: avoid accept() libc function when tracing accept() syscall.
	The libc function is allowed to implement accept() using accept4()
	syscall, so migrate to accept4() those tests that trace accept() syscall
	but do not test accept() specifically, and change the test of accept()
	syscall to invoke either __NR_accept or __NR_socketcall(SYS_ACCEPT)
	directly.

	* tests/accept_compat.h: Remove.
	* tests/Makefile.am (EXTRA_DIST): Remove accept_compat.h.
	* tests/accept.c [TEST_SYSCALL_NAME]: Do not invoke accept(),
	call __NR_accept or __NR_socketcall if available, or skip the test.
	* tests/net-y-unix.c: Do not include "accept_compat.h".
	(main): Invoke accept4() instead of accept().
	* tests/net-yy-inet.c: Likewise.
	* tests/net-yy-unix.c: Likewise.

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

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

	tests/membarrier: add new combination of flags.
	Apparently, there is yet another combination of MEMBARRIER_CMD_* flags
	that could be reported by linux kernel v6.3.

	* tests/membarrier.c (main): Update expected output.

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

	tests: update sockopt-sol_netlink test.
	Update sockopt-sol_netlink test that started to fail, likely
	due to recent linux kernel commit f4e4534850a9 ("net/netlink: fix
	NETLINK_LIST_MEMBERSHIPS length report").

	* tests/sockopt-sol_netlink.c (main): Always print changing optlen value
	on exiting syscall.

	Reported-by: Alexander Gordeev <agordeev@linux.ibm.com>

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

	net: enhance getsockopt decoding.
	When getsockopt syscall fails the kernel sometimes updates the optlen
	argument, for example, NETLINK_LIST_MEMBERSHIPS updates it even if
	optval is not writable.

	* src/net.c (SYS_FUNC(getsockopt)): Try to fetch and print optlen
	argument on exiting syscall regardless of getsockopt exit status.

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

	Implement decoding of IP_PROTOCOL type socket option.
	* src/net.c (print_ip_protocol): New function.
	(print_getsockopt) <SOL_IP>: Use it.
	* tests/ip_protocol.c: New file.
	* tests/ip_protocol-Xabbrev.c: Likewise.
	* tests/ip_protocol-Xraw.c: Likewise.
	* tests/ip_protocol-Xverbose.c: Likewise.
	* tests/pure_executables.list: Add ip_protocol, ip_protocol-Xabbrev,
	ip_protocol-Xraw, and ip_protocol-Xverbose.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (ip_protocol, ip_protocol-Xabbrev,
	ip_protocol-Xraw, and ip_protocol-Xverbose): New tests.
	* NEWS: Mention this.

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

	Implement decoding of IP_PROTOCOL type control messages.
	* src/msghdr.c (print_cmsg_ip_protocol): New function.
	(cmsg_ip_printers) <IP_PROTOCOL>: Use it.
	* tests/msg_control.c: Include "xlat/ip_cmsg_types.h" in
	XLAT_MACROS_ONLY mode.
	[IP_PROTOCOL] (test_ip_protocol): New function.
	(test_sol_ip) [IP_PROTOCOL] Use it.
	* NEWS: Mention this.

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

	xlat: update IP_* constants.
	* src/xlat/ip_cmsg_types.in (IP_PROTOCOL): New constant
	introduced by Linux kernel commit v6.4-rc4~26^2~11.
	* src/xlat/sock_ip_options.in (IP_PROTOCOL): Likewise.
	* NEWS: Mention this.

	tests/msg_control: fix typo in the macro name being tested.
	* tests/msg_control.c (struct sock_ee, test_ip_recverr): Conditionalize
	on IP_RECVERR instead of IP_CHECKSUM.

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

	pathtrace_match_set: do not ignore syscalls taking descriptors as their first argument
	Apparently, descriptors that do not have a path associated with them
	can be matched with --trace-path, too, let alone --trace-fds which is
	obviously expected to match such descriptors.

	* src/pathtrace.c (pathtrace_match_set): Remove SEN_accept4, SEN_accept,
	SEN_fsmount, SEN_io_uring_enter, SEN_io_uring_register,
	SEN_landlock_add_rule, SEN_landlock_restrict_self, SEN_mq_getsetattr,
	SEN_mq_notify, SEN_mq_timedreceive_time32, SEN_mq_timedreceive_time64,
	SEN_mq_timedsend_time32, SEN_mq_timedsend_time64, SEN_signalfd4,
	SEN_signalfd, SEN_timerfd_gettime32, SEN_timerfd_gettime64,
	SEN_timerfd_settime32, and SEN_timerfd_settime64.
	* NEWS: Mention this fix.

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

	xlat: update V4L2_PIX_FMT_* constants.
	* src/xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_SPK): New constant introduced
	by Linux kernel commit v6.4-rc1~161^2~324.
	(V4L2_PIX_FMT_RV30, V4L2_PIX_FMT_RV40): New constants introduced
	by Linux kernel commit v6.4-rc1~161^2~322.
	(V4L2_PIX_FMT_P012, V4L2_PIX_FMT_P012M): New constants introduced
	by Linux kernel commit v6.4-rc1~161^2~62.
	(V4L2_PIX_FMT_Y012): New constant introduced by Linux kernel commit
	v6.4-rc1~161^2~61.
	(V4L2_PIX_FMT_YUV48_12): New constant introduced by Linux kernel commit
	v6.4-rc1~161^2~59.
	(V4L2_PIX_FMT_BGR48_12): New constant introduced by Linux kernel commit
	v6.4-rc1~161^2~58.
	(V4L2_PIX_FMT_ABGR64_12): New constant introduced by Linux kernel commit
	v6.4-rc1~161^2~57.
	* NEWS: Mention this.

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

	xlat: update BPF_* constants.
	* src/xlat/bpf_attach_type.in (BPF_NETFILTER): New constant introduced
	by Linux kernel commit v6.4-rc6~18^2~5^2~2.
	* tests/bpf.c (BPF_PROG_QUERY_checks): Update expected output.

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

	bundled: update linux UAPI headers to v6.4-rc6.
	* bundled/linux/include/uapi/linux/in.h: Update to headers_install'ed
	Linux kernel v6.4-rc6.

2023-06-12  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v6.4.
	* src/linux/32/ioctls_inc_align16.h: Update from linux v6.4-rc6 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/aarch64/ioctls_arch0.h: Likewise.
	* NEWS: Mention this.

	maint: update for linux v6.4-rc6.
	* maint/ioctls_sym.sh (process_file): Workaround missing definition of
	DECLARE_FLEX_ARRAY macro;  skip the EXT4_IOC32_GROUP_ADD ioctl from
	processing due to its broken definition.

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

	Turn --seccomp-bpf off when --syscall-limit is specified.
	Similar to --detach-on=execve, --syscall-limit option is incompatible with
	--seccomp-bpf, so turn the latter off when the former is specified.

	* src/strace.c (init): Turn --seccomp-bpf off when --syscall-limit option
	is specified.
	* doc/strace.1.in: Document this.
	* NEWS: Mention this fix.
	* tests/strace--syscall-limit--seccomp-bpf.test: New test.
	* tests/strace--syscall-limit--seccomp-bpf-1.expected: New file.
	* tests/strace--syscall-limit--seccomp-bpf-2.expected: Likewise.
	* tests/strace--syscall-limit--seccomp-bpf-3.expected: Likewise.
	* tests/Makefile.am (MISC_TESTS): Add
	strace--syscall-limit--seccomp-bpf.test.
	(check_DATA): Add strace--syscall-limit--seccomp-bpf.expected,
	strace--syscall-limit--seccomp-bpf-2.expected, and
	strace--syscall-limit--seccomp-bpf-3.expected.

	Fixes: v6.3~43 "Introduce -l/--syscall-limit options"

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

	.github: add gcc-13 and clang-15 jobs.
	* .github/workflows/ci.yml (gcc13-x86_64-kheaders, gcc13-x86_64-dw,
	gcc13-x86_64-unwind, clang15-x86_64-kheaders, clang15-x86_64-dw,
	clang15-x86_64-unwind, gcc13-x32-kheaders, gcc13-x32-nostacktrace,
	gcc13-x86-kheaders, gcc13-x86-nostacktrace, clang15-x86-kheaders,
	clang15-x86-nostacktrace): New jobs.

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

	.github: switch from ubuntu-22.04 to ubuntu-latest.
	Since ubuntu-latest switched from ubuntu-20.04 to ubuntu-22.04,
	there is no need to use the fixed 22.04 version of ubuntu.

	* .github/workflows/ci.yml: Replace ubuntu-22.04 with ubuntu-latest.

2023-06-08  Donald Hunter  <donald.hunter@gmail.com>

	Identify netlink by proto when msghdr.msg_name is not set.
	Some clients, e.g. ovs-dpctl, use sendmsg with a connected socket so the
	address family cannot be identified by msg_name. Look up the fd proto
	when msg_name is NULL.

2023-05-22  Dmitry V. Levin  <ldv@strace.io>

	xlat: update UFFD_* constants.
	* src/xlat/uffd_api_features.in (UFFD_FEATURE_WP_UNPOPULATED): New
	constant introduced by Linux kernel commit v6.4-rc1~103^2~273.
	* NEWS: Mention this change.

	xlat: update PTRACE_* constants.
	* src/xlat/ptrace_cmds.in (PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG,
	PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG): New constants introduced
	by Linux kernel commit v6.4-rc1~175^2~1.
	* NEWS: Mention this change.

	xlat: update PR_* constants.
	* src/xlat/prctl_options.in (PR_SET_MEMORY_MERGE, PR_GET_MEMORY_MERGE):
	New constants introduced by Linux kernel commit v6.4-rc1~103^2~11.
	(PR_GET_AUXV): New constant introduced by Linux kernel commit
	v6.4-rc1~103^2~120.
	* NEWS: Mention this change.

	xlat: update KVM_* constants.
	* src/xlat/kvm_cap.in (KVM_CAP_PMU_EVENT_MASKED_EVENTS): New constant
	introduced by Linux kernel commit v6.3-rc1~85^2~9^2~12.
	(KVM_CAP_COUNTER_OFFSET): New constant introduced by Linux kernel
	commit v6.4-rc1~60^2~7^2~4^2~14.
	* NEWS: Mention this change.

	xlat: update PACKET_* constants.
	* src/xlat/sock_packet_options.in (PACKET_VNET_HDR_SZ): New constant
	introduced by Linux kernel commit v6.4-rc1~77^2~62.
	* NEWS: Mention this change.

	xlat: update IFLA_BRPORT_* constants.
	* src/xlat/rtnl_ifla_brport_attrs.in (IFLA_BRPORT_NEIGH_VLAN_SUPPRESS):
	New constant introduced by Linux kernel commit v6.4-rc1~77^2~66^2~1.
	* src/rtnl_link.c (ifla_brport_nla_decoders): Add it.
	* tests/nlattr_ifla_brport.c (main): Update expected output.
	* tests/nlattr_ifla_linkinfo.c (main): Likewise.
	* NEWS: Mention this change.

	xlat: update MDBA_* constants.
	* src/xlat/rtnl_mdba_mdb_eattr_attrs.in (MDBA_MDB_EATTR_DST,
	MDBA_MDB_EATTR_DST_PORT, MDBA_MDB_EATTR_VNI, MDBA_MDB_EATTR_IFINDEX,
	MDBA_MDB_EATTR_SRC_VNI): New constants introduced by Linux kernel
	commit v6.4-rc1~77^2~312^2~4.
	* NEWS: Mention this change.

	xlat: update BPF_* constants.
	* src/xlat/bpf_attach_type.in (BPF_STRUCT_OPS): New constant
	introduced by Linux kernel commit v6.4-rc1~77^2~118^2~63^2~5.
	* src/xlat/bpf_map_flags.in (BPF_F_LINK): Likewise.
	* src/xlat/bpf_prog_types.in (BPF_PROG_TYPE_NETFILTER): New constant
	introduced by Linux kernel commit v6.4-rc1~77^2~56^2~22^2~6.
	* tests/bpf.c: Update expected output.
	* tests/kernel_version.c: Likewise.
	* NEWS: Mention this change.

2023-05-21  Dmitry V. Levin  <ldv@strace.io>

	bundled: update linux UAPI headers to v6.4-rc2.
	* bundled/linux/include/uapi/asm-generic/fcntl.h: Update
	to headers_install'ed Linux kernel v6.4-rc2.
	* bundled/linux/include/uapi/linux/btrfs.h: Likewise.
	* bundled/linux/include/uapi/linux/const.h: Likewise.
	* bundled/linux/include/uapi/linux/dm-ioctl.h: Likewise.
	* bundled/linux/include/uapi/linux/if_bridge.h: Likewise.
	* bundled/linux/include/uapi/linux/if_link.h: Likewise.
	* bundled/linux/include/uapi/linux/io_uring.h: Likewise.
	* bundled/linux/include/uapi/linux/landlock.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nf_tables.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nfnetlink_hook.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nfnetlink_queue.h: Likewise.
	* bundled/linux/include/uapi/linux/pkt_sched.h: Likewise.
	* bundled/linux/include/uapi/linux/prctl.h: Likewise.
	* bundled/linux/include/uapi/linux/userfaultfd.h: Likewise.
	* bundled/linux/include/uapi/linux/version.h: Likewise.
	* bundled/linux/include/uapi/linux/videodev2.h: Likewise.

2023-05-16  Marek Vasut  <marex@denx.de>

	v4l2: Add support for interpreting remaining fields in VIDIOC_ENUMINPUT struct v4l2_input
	Interpret $audioset as flags, $tuner as integer. Add ID list for
	v4l2_std_id. Add flags for status and capabilities and interpret
	them.

	This is based off Linux commit:
	b6456c0cfe9d ("V4L/DVB (13571): v4l: Adding Digital Video Timings APIs")

	Latest documentation is at:
	https://docs.kernel.org/userspace-api/media/v4l/vidioc-enuminput.html

2023-05-15  Dmitry V. Levin  <ldv@strace.io>

	configure: do not take the SUBLEVEL part of the kernel version into account
	* configure.ac: When deciding whether to use bundled version of kernel
	headers, ignore the SUBLEVEL part of the kernel version, assuming that
	any potential changes in UAPI introduced in stable kernels are not
	important.

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

2023-05-10  Eugene Syromyatnikov  <evgsyr@gmail.com>

	rtnl_tc_action: fix tcamsg attribute decoder.
	It used the wrong attribute table initially.

	An example of an actual usage:
	    tc actions add action simple sdata "foobar" index 1

	* src/xlat/rtnl_tca_root_attrs.in: New file.
	* src/xlat/rtnl_tca_root_flags.in: Likewise.
	* src/rtnl_tc_action.c: Include "xlat/rtnl_tca_root_flags.h"
	and "xlat/rtnl_tca_root_attrs.h".
	(tcamsg_nla_decoders): Rename to...
	(tca_act_nla_decoders): ...this.
	(decode_tca_action, decode_tca_root_act_tab, decode_tca_root_act_flags,
	decode_tca_msecs): New functions.
	(tcamsg_nla_decoders): New decoder table.
	(decode_tcamsg): Use rtnl_tca_root_attrs and "TCA_ROOT_???" as xlat
	and dflt arguments in the decode_nlattr call. respectively.
	* tests/.gitignore: Add nlattr_tcamsg-Xabbrev, nlattr_tcamsg-Xraw,
	and nlattr_tcamsg-Xverbose.
	* tests/pure_executables.list: Likewise.
	* tests/gen_tests.in (nlattr_tcamsg-Xabbrev, nlattr_tcamsg-Xraw,
	nlattr_tcamsg-Xverbose): New tests.
	* tests/nlattr_tcamsg-Xabbrev.c: New file.
	* tests/nlattr_tcamsg-Xraw.c: Likewise.
	* tests/nlattr_tcamsg-Xverbose.c: Likewise.
	* tests/nlattr_tcamsg.c: Update the expected output.

2023-05-10  Eugene Syromyatnikov  <evgsyr@gmail.com>

	util: factor out printing of time interval in a human-readable form.
	Also, remove all this dance with separate fractional part printing as %f
	doesn't trim the trailing zeroes and checking whether %g does the right
	thing in all cases is too much hassle.

	* src/defs.h (print_ticks): New declaration.
	* src/util.c (print_ticks): New function.
	(print_clock_t): Call it.

2023-05-10  Dmitry V. Levin  <ldv@strace.io>

	build: fix build on systems that do not provide open_memstream.
	* src/stage_output.c (strace_open_memstream, strace_close_memstream):
	Fix HAVE_OPEN_MEMSTREAM check.

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

2023-05-08  Dmitry V. Levin  <ldv@strace.io>

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

2023-05-07  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

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

	tests: bring lists back to the sorted order.
	* tests/Makefile.am (DECODER_TESTS, MISC_TESTS, check_SCRIPTS,
	check_DATA, EXTRA_DIST): Make the list sorted again.
	* tests/gen_tests.in: Likewise.
	* tests/pure_executables.list: Likewise.

	tests: check --argv0 option.
	* tests/options-syntax.test: Check --argv0 without command.
	* tests/strace--argv0.test: New test.
	* tests/strace--argv0.expected: New file.
	* tests/Makefile.am (MISC_TESTS): Add strace--argv0.test.
	(check_DATA): Add strace--argv0.expected.

2023-05-06  John Reiser  <jreiser@BitWagon.com>
	    Dmitry V. Levin  <ldv@strace.io>

	Introduce --argv0 option.
	This option is useful for tracing multi-call executables which interpret
	argv[0], such as busybox or kmod.

	* NEWS: Mention this.
	* doc/strace.1.in: Document this.
	* src/strace.c (usage): Likewise.
	(argv0): New variable.
	(startup_child): Use it.
	(GETOPT_ARGV0): New enum constant.
	(longopts, init): Use it.

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

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

	Remove -l alias for the recently introduced --syscall-limit option.
	As strace already has a lot of short options which are hard to remember,
	let's avoid introducing new short options for a while.

	* NEWS: Mention this.
	* doc/strace.1.in: Update --syscall-limit documentation.
	* src/strace.c (print_version): Do not mention -l option.
	(optstring): Remove 'l'.
	(GETOPT_SYSCALL_LIMIT): New enum constant.
	(longopts, init): Use it instead of 'l'.
	* tests/gen_tests.in (strace--syscall-limit-status-c,
	strace--syscall-limit-status-summary): Replace -l with --syscall-limit.
	* tests/options-syntax.test: Update expected output.
	* tests/strace--syscall-limit-path.c: Update comment.
	* tests/strace--syscall-limit-status.c: Likewise.
	* tests/strace--syscall-limit.c: Likewise.
	* tests/strace--syscall-limit.test: Likewise.

2023-05-05  Eugene Syromyatnikov  <evgsyr@gmail.com>

	doc/strace.1: mention --tips in the synopsis.
	* doc/strace.1.in (.SH SYNOPSIS): Add --tips options to the list of
	possible options, add "strace --tips" invocation variant.

	Complements: v5.18~38 "Raise strace awareness"
	Complements: v6.2-10-g7a289e79b "Make --tips more easily available"

2023-05-05  Eugene Syromyatnikov  <evgsyr@gmail.com>

	doc/strace.1: sort options in the synopsys, mention -Y.
	* doc/strace.1.in (.SH SYNOPSYS): Sort options in the lexicographical
	order, add -Y to the list of one-letter options, similarly to -z/-Z.

2023-05-05  Eugene Syromyatnikov  <evgsyr@gmail.com>

	syscall: fix -c (CFLAG_ONLY_STATS) usage in conjunction with -e and -l.
	* src/syscall.c (syscall_exiting_trace): Move cflag handling right
	before tprint_arg_end() and in the res != 1 code path, avoid printing
	anything if cflag is set to CFLAG_ONLY_STATS.
	* tests/.gitignore: Add strace--syscall-limit-c
	and strace--syscall-limit-status-c.
	* tests/Makefile.am (check_PROGRAMS): Likewise.
	* tests/gen_tests.in (strace--syscall-limit-c,
	strace--syscall-limit-status-c): New tests.
	* tests/strace--syscall-limit-c.c: New file.
	* tests/strace--syscall-limit-status-c.c: Likewise.
	* tests/strace--syscall-limit-status-summary.c: Likewise.
	* tests/strace--syscall-limit-summary.c: Likewise.
	* tests/strace--syscall-limit.c [!PRINT_INVALID] (PRINT_INVALID): New
	macro, set to 1.
	[!PRINT_STATS] (PRINT_STATS): New macro, set to 0.
	[!UNLINKAT_CNT] (UNLINKAT_CNT): New macro, set to 1.
	[!TOTAL_CNT] (TOTAL_CNT): New macro, set to 3.
	(test_chdir, test_rmdir) [!PRINT_INVALID]: Do not print syscalls with
	non-zero return value.
	(main) [PRINT_STATS]: Print the expected syscall statistics output.
	* NEWS: Mention it.

	Fixes: v5.2~6 "Implement -e status=set option"
	Fixes: v6.2-13-gac1d1e25d "Introduce -l/--syscall-limit options"

2023-04-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	mem: handle hppa MADV_* UAPI breakage.
	Linux commit v6.2-rc1~39^2~7 has broken UAPI on PA-RISC by changing
	the values of some MADV_* constants;  that forces some special handling
	for them, since we cannot have any assumptions about the version
	of the kernel headers and/or kernel both strace and tracees are built
	and/or being run on.

	* src/mem.c: Include "xlat/madvise_hppa_generic_cmds.h".
	[HPPA]: Include "xlat/madvise_hppa_old_cmds.h".
	(SYS_FUNC(madvise)) <advice>: New local variable, set to tcp->u_arg[2].
	[HPPA] (SYS_FUNC(madvise)): Check madvise_hppa_old_cmds for the advice
	value and print it appropriately if it is there;  then check
	madvise_hppa_generic_cmds and print it appropriately if it is there;
	then fallback to printing advice as madvise_cmds xval.
	[!HPPA] (SYS_FUNC(madvise)): Print advice as madvise_cmds
	and madvise_hppa_generic_cmds xval.
	* src/xlat/madvise_cmds.in: Add sorted;  remove "Generated ..." comment;
	move hppa-specific values to madvise_hppa_old_cmds.in and their generic
	counterparts to madvise_hppa_generic_cmds.in.
	* src/xlat/madvise_hppa_generic_cmds.in: New file.
	* src/xlat/madvise_hppa_old_cmds.in: Likewise.
	* tests/.gitignore: Add madvise-Xabbrev, madvise-Xraw,
	and madvise-Xverbose.
	* tests/pure_executables.list: Likewise.
	* tests/gen_tests.in (advise-Xabbrev, madvise-Xraw,  madvise-Xverbos):
	New tests.
	* tests/madvise.c: Add checks for the advice argument decoding.
	* tests/madvise-Xabbrev.c: New file.
	* tests/madvise-Xraw.c: Likewise.
	* tests/madvise-Xverbose.c: Likewise.
	* NEWS: Mention it.

	Reported-by: Matoro Mahri <matoro@users.noreply.github.com>
	Closes: https://github.com/strace/strace/issues/241

2023-04-30  Eugene Syromyatnikov  <evgsyr@gmail.com>

	xlat/gen.sh: allow skipping xlat value checking.
	This enables storing "wrong" values in xlats, so they can be referenced
	in cases when there are discrepancies between what UAPI headers provide
	and what they used to provide.

	* src/xlat/gen.sh (cond_def): Emit static_assert() only if $nocheckval
	is not enabled.
	(cond_xlat): Add is_shift local variable;  check whether $m starts
	with "1<<" and set $is_shift if it is;  use print_xval() only if neither
	is_shift nor nocheckval are set;  call print_xlat_pair() if $nocheckval
	is set.
	(gen_header): Add nocheckval to local variables;  handle "#checkval"
	and "#nocheckval" directives.

2023-04-30  Dmitry V. Levin  <ldv@strace.io>

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

	maint: do not shorten the copyright years range.
	* maint/update_copyright_years.sh (process_file): Skip updating
	copyright years range if the last year in the file is later than
	the year calculated from the latest commit.

	dist/INSTALL: suggest parallelized build.
	* dist/INSTALL: Pass -j`nproc` to "make" and "make check" invocations.

2023-04-30  Dmitry V. Levin  <ldv@strace.io>

	generate_mpers_am.sh: enhance error diagnostics.
	* src/generate_mpers_am.sh: Explicitly issue an error if the generated
	list of mpers source files is empty.

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

2023-04-29  leedagee  <leedageea@gmail.com>
	    Dmitry V. Levin  <ldv@strace.io>

	Implement decoding of signal masks associated with signalfd file descriptors
	When signalfds are used, normal signal handling method is usually
	disabled, leaving strace without signals to catch and decode.

	This patch adds decoding of signal masks associated with signalfd file
	descriptors.

	Decoding the signalfd_siginfo struct requires additional work mentioned
	in github#199.


	* NEWS: Mention this change.
	* doc/strace.1.in: Document --decode-fds=signalfd.
	* src/strace.c (usage): Likewise.
	* src/number_set.h (enum decode_fd_bits): Add DECODE_FD_SIGNALFD.
	* src/filter_qualify.c (decode_fd_str_to_uint): Handle signalfd.
	* src/util.c (print_fdinfo_sigmask, printsignalfd): New functions.
	(printfd_pid_with_finfo): Use printsignalfd when DECODE_FD_SIGNALFD
	is set in decode_fd_set.
	* tests/signalfd4.c [PRINT_SIGNALFD]: Check decoding of signal masks
	associated with signalfd file descriptors.
	* tests/signalfd4-yy.c: New file.
	* tests/pure_executables.list: Add signalfd4-yy.
	* tests/.gitignore: Likewise.
	* tests/gen_tests.in (signalfd4): Add -a32.
	(signalfd4-yy): New test.

2023-04-29  Dmitry V. Levin  <ldv@strace.io>

	util: introduce scan_fdinfo() function.
	* src/util.c (scan_fdinfo_fn): New type.
	(scan_fdinfo, parse_fdinfo_pid): New functions.
	(pidfd_get_pid): Use them.

	Suggested-by: Masatake YAMATO <yamato@redhat.com>

2023-04-28  Eugene Syromyatnikov  <evgsyr@gmail.com>

	net: implement IP_LOCAL_PORT_RANGE socket option decoding.
	Introduced by Linux kernel commit v6.3-rc1~162^2~206^2~1.

	* src/net.c (print_port_range): New function.
	(print_getsockopt) <case SOL_IP> <case IP_LOCAL_PORT_RANGE>: Call it.
	(print_setsockopt) <case SOL_IP> <case IP_LOCAL_PORT_RANGE>: Ditto.
	* tests/.gitignore: Add ip_local_port_range, ip_local_port_range-Xabbrev,
	ip_local_port_range-Xraw, ip_local_port_range-Xverbose,
	ip_local_port_range-success, ip_local_port_range-success-Xabbrev,
	ip_local_port_range-success-Xraw,
	and ip_local_port_range-success-Xverbose.
	* tests/Makefile.am (check_PROGRAMS): Add ip_local_port_range-success,
	ip_local_port_range-success-Xabbrev, ip_local_port_range-success-Xraw,
	and ip_local_port_range-success-Xverbose.
	* tests/gen_tests.in (ip_local_port_range, ip_local_port_range-Xabbrev,
	ip_local_port_range-Xraw, ip_local_port_range-Xverbose,
	ip_local_port_range-success, ip_local_port_range-success-Xabbrev,
	ip_local_port_range-success-Xraw, ip_local_port_range-success-Xverbose):
	New tests.
	* tests/pure_executables.list: Add ip_local_port_range,
	ip_local_port_range-Xabbrev, ip_local_port_range-Xraw,
	and ip_local_port_range-Xverbose.
	* tests/ip_local_port_range.c: New file.
	* tests/ip_local_port_range-Xabbrev.c: Likewise.
	* tests/ip_local_port_range-Xraw.c: Likewise.
	* tests/ip_local_port_range-Xverbose.c: Likewise.
	* tests/ip_local_port_range-success-Xabbrev.c: Likewise.
	* tests/ip_local_port_range-success-Xraw.c: Likewise.
	* tests/ip_local_port_range-success-Xverbose.c: Likewise.
	* tests/ip_local_port_range-success.c: Likewise.
	* NEWS: Mention it.

2023-04-28  Eugene Syromyatnikov  <evgsyr@gmail.com>

	prctl: implement PR_[GS]ET_MDWE decoding.
	Introduced by Linux commit v6.3-rc1~113^2~215.

	* src/xlat/pr_mdwe_flags.in: New file.
	* src/prctl.c: Include "xlat/pr_mdwe_flags.h".
	(SYS_FUNC(prctl)) <case PR_SET_MDWE, case PR_GET_MDWE>: Implement
	command decoders.
	* tests/.gitignore: Add prctl-mdwe.
	* tests/Makefile.am (check_PROGRAMS): Add prctl-mdwe.
	* tests/gen_tests.in (prctl-mdwe): New test.
	* tests/prctl-mdwe.c: New file.
	* NEWS: Mention it.

2023-04-28  Dmitry V. Levin  <ldv@strace.io>

	io_uring: rename pad field of io_uring_buf_reg to flags.
	* bundled/linux/include/uapi/linux/io_uring.h (struct io_uring_buf_reg):
	Rename pad to flags following the change introduced by Linux kernel
	commit v6.3-rc5-6-g81cf17cd3ab3.
	* src/io_uring.c (print_io_uring_buf_reg): Likewise.
	* tests/io_uring_register.c (main): Likewise.

	xlat: update V4L2_PIX_FMT_* constants.
	* src/xlat/v4l2_pix_fmts.in (V4L2_PIX_FMT_RGBX1010102,
	V4L2_PIX_FMT_RGBA1010102, V4L2_PIX_FMT_ARGB2101010): New constants
	introduced by Linux kernel commit v6.3-rc1~28^2~19^2~18.
	(V4L2_PIX_FMT_Y210, V4L2_PIX_FMT_Y212, V4L2_PIX_FMT_Y216): New constants
	introduced by Linux kernel commit v6.3-rc1~28^2~19^2~17.
	* NEWS: Mention this.

	xlat: update TCA_* constants.
	* src/xlat/rtnl_tc_attrs.in (TCA_EXT_WARN_MSG): New constant introduced
	by Linux kernel commit v6.3-rc1~162^2~279.
	* src/rtnl_tc.c (tcmsg_nla_decoders): Add TCA_EXT_WARN_MSG.
	* NEWS: Mention this.

	xlat: update PR_* constants.
	* src/xlat/prctl_options.in (PR_SET_MDWE, PR_GET_MDWE): New constants
	introduced by Linux kernel commit v6.3-rc1~113^2~215.
	* src/prctl.c (SYS_FUNC(prctl)): Handle them.
	* NEWS: Mention this.

	xlat: update NFT_MSG_* constants.
	* src/xlat/nf_nftables_msg_types.in (NFT_MSG_DESTROYTABLE,
	NFT_MSG_DESTROYCHAIN, NFT_MSG_DESTROYRULE, NFT_MSG_DESTROYSET,
	NFT_MSG_DESTROYSETELEM, NFT_MSG_DESTROYOBJ, NFT_MSG_DESTROYFLOWTABLE):
	New constants introduced by Linux kernel commit v6.3-rc1~162^2~264^2.
	* src/netlink.c (decode_nlmsg_flags_netfilter): Handle them.
	* NEWS: Mention this.

	xlat: update MFD_* constants.
	* src/xlat/memfd_create_flags.in (MFD_NOEXEC_SEAL, MFD_EXEC): New
	constants introduced by Linux kernel commit v6.3-rc1~113^2~502.
	* tests/memfd_create.c (main): Update expected output.
	* NEWS: Mention this.

	xlat: update IORING_* constants.
	* src/xlat/uring_setup_features.in (IORING_FEAT_REG_REG_RING): New
	constant introduced by Linux kernel commit v6.3-rc1~209^2.
	* NEWS: Mention this.

	xlat: update IP_* constants.
	* src/xlat/sock_ip_options.in (IP_LOCAL_PORT_RANGE): New constant
	introduced by Linux kernel commit v6.3-rc1~162^2~206^2~1.
	* NEWS: Mention this.

	xlat: update IFLA_BRPORT_* constants.
	* src/xlat/rtnl_ifla_brport_attrs.in (IFLA_BRPORT_MCAST_N_GROUPS,
	IFLA_BRPORT_MCAST_MAX_GROUPS): New constants introduced by Linux kernel
	commit v6.3-rc1~162^2~139^2~8.
	* src/rtnl_link.c (ifla_brport_nla_decoders): Add
	IFLA_BRPORT_MCAST_N_GROUPS and IFLA_BRPORT_MCAST_MAX_GROUPS.
	* tests/nlattr_ifla_brport.c (main): Update expected output.
	* tests/nlattr_ifla_linkinfo.c (main): Likewise.
	* NEWS: Mention this.

	xlat: update IFLA_* constants.
	* src/xlat/rtnl_link_attrs.in (IFLA_GSO_IPV4_MAX_SIZE,
	IFLA_GRO_IPV4_MAX_SIZE): New constants introduced by Linux kernel commit
	v6.3-rc1~162^2~162^2~1.
	* src/rtnl_link.c (ifinfomsg_nla_decoders): Add IFLA_GSO_IPV4_MAX_SIZE
	and IFLA_GRO_IPV4_MAX_SIZE.
	* NEWS: Mention this.

	xlat: update F_SEAL_* constants.
	* xlat/f_seals.in (F_SEAL_EXEC): New constant introduced
	by Linux kernel commit v6.3-rc1~113^2~504.
	* NEWS: Mention this.

	bundled: update linux UAPI headers to v6.3-rc7.
	* bundled/linux/include/uapi/linux/btrfs.h: Update to headers_install'ed
	Linux kernel v6.3-rc7.
	* bundled/linux/include/uapi/linux/dcbnl.h: Likewise.
	* bundled/linux/include/uapi/linux/fcntl.h: Likewise.
	* bundled/linux/include/uapi/linux/if_bridge.h: Likewise.
	* bundled/linux/include/uapi/linux/if_link.h: Likewise.
	* bundled/linux/include/uapi/linux/in.h: Likewise.
	* bundled/linux/include/uapi/linux/io_uring.h: Likewise.
	* bundled/linux/include/uapi/linux/memfd.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nf_tables.h: Likewise.
	* bundled/linux/include/uapi/linux/netfilter/nfnetlink_cttimeout.h: Likewise.
	* bundled/linux/include/uapi/linux/prctl.h: Likewise.
	* bundled/linux/include/uapi/linux/rtnetlink.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.

2023-04-28  Dmitry V. Levin  <ldv@strace.io>

	tests: fix strace--syscall-limit test.
	* tests/strace--syscall-limit.c: Include "scno.h" and <fcntl.h>.
	(test_rmdir): Invoke unlinkat syscall instead of rmdir because the
	latter is not guaranteed to be present on all architectures nowadays.
	* tests/strace--syscall-limit.test: Filter unlinkat syscall instead of
	rmdir.

	Fixes: v6.2-15-g628b7eb7449e "tests: check -l/--syscall-limit options"

2023-04-27  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests/prctl-sve: fix prctl(PR_SVE_GET_VL) return expected value printing
	* tests/prctl-sve.c: Print the expected return value string based
	on the value returned, similarly to the way it is done
	in tests/prctl-sme.c:print_sme_vl_arg().

	Fixes: v5.13~8 "tests: improve test coverage of prctl syscall decoder"
	Closes: https://github.com/strace/strace/issues/251

2023-04-24  Sahil Siddiq  <icegambit91@gmail.com>

	tests/gen_tests: remove redundant option.
	--trace=all option for strace--syscall-limit-path in
	gen_tests.in can be omitted. Only 'chdir' and 'rmdir'
	are used to access 'invalid.dir' in the test and
	--trace='chdir,rmdir' is set in the corresponding
	bash script.

	* tests/gen_tests.in (strace--syscall-limit-path):
	Remove --trace=all option.

2023-04-22  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: expand symlink test, add symlink-P test.
	* tests/.gitignore: Add symlink-P.
	* tests/Makefile.am (check_PROGRAMS): Likewise.
	* tests/gen_tests.in (symlink): Change the alignment from 32 to 20
	columns.
	(symlink-P): New test.
	* tests/symlink-P.c: New file.
	* tests/symlink.c: Add checks, print the output based on the presence
	of the PATH_TRACING macro.

	tests: expand link test, add link-P test.
	* tests/.gitignore: Add link-P.
	* tests/Makefile.am (check_PROGRAMS): Likewise.
	* tests/gen_tests.in (link): Add -a17 option.
	(link-P): New test.
	* tests/link-P.c: New file.
	* tests/link.c: Add checks, print the output based on the presence
	of the PATH_TRACING macro.

2023-04-22  Eugene Syromyatnikov  <evgsyr@gmail.com>

	Implement an ability to filter syscalls that operate on specific FDs.
	Introduce -e trace-fds= qualifier that allows specifying a set of FDs
	of interest, operations on which are to be traced.  Works in conjunction
	(or, more specifically, inclusive disjunction) with the path tracing
	functionality.

	* src/defs.h: Include "number_set.h".
	(tracing_fds): New external variable.
	(pathtrace_match_set): Add new fdset argument to the declaration.
	(pathtrace_match): Pass trace_fd_set in the new argument
	to the pathtrace_match_set call.
	(qualify_trace_fd): New function declaration.
	* src/filter_qualify.c (trace_fd_set): New variable.
	(qualify_trace_fd): New function.
	(qual_options): Add various FD tracing-related items.
	* src/number_set.h (trace_fd_set): New external variable declaration.
	* src/pathtrace.c (pathmatch, upathmatch): Bail out if set is NULL.
	(fdmatch): Add fdset argument, check fd for non-negativity and presence
	in fdset if fdset is non-NULL.
	(match_xselect_args): Add fdset argument, pass it to the fdmatch call.
	(pathtrace_match_set): Add fdset argument, pass it to fdmatch
	and match_xselect_args calls.
	* src/syscall.c (syscall_entering_trace): Check tracing_fds in addition
	to tracing_paths as a predicate for performing pathtrace_match check.
	* src/strace.c (tracing_fds): New variable.
	(init) <GETOPT_QUAL_TRACE_FD>: New enum item.
	(init) <longopts>: Add"trace-fds" option.
	(init) <case GETOPT_QUAL_TRACE_FD>: Call qualify_trace_fd.
	(usage): Document -e trace-fds.
	* doc/strace.1.in: Likewise.
	* tests/.gitignore: Add dup-trace-fds-0, dup-trace-fds-0-9,
	dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9,
	dup2-e-fd-0-P, dup2-e-fd-not-9, ppoll-e-trace-fds-23,
	ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P,
	select-trace-fd-7, select-trace-fd-7-9, and select-trace-fd-7-P.
	* tests/Makefile.am (check_PROGRAMS): Add ppoll-e-trace-fds-23,
	ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P,
	select-trace-fd-7, select-trace-fd-7-9, and select-trace-fd-7-P.
	* tests/dup-P.c (PATH_TRACING): Set to 1.
	* tests/dup2-P.c (PATH_TRACING): Likewise.
	* tests/dup.c: Accommodate test for checking tracing-fds functionality.
	* tests/dup2.c: Likewise.
	* tests/ppoll.c: Likewise.
	* tests/xselect.c: Likewise.
	* tests/gen_tests.in (dup-trace-fds-0, dup-trace-fds-0-9,
	dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9,
	dup2-e-fd-0-P, dup2-e-fd-not-9, ppoll-e-trace-fds-23,
	ppoll-e-trace-fds-23-42, ppoll-e-trace-fds-not-9-42-P,
	select-trace-fd-7, select-trace-fd-7-9, select-trace-fd-7-P): New tests.
	* tests/options-syntax.test: Add trace-fds-related option syntax checks.
	* tests/pure_executables.list: Add dup-trace-fds-0, dup-trace-fds-0-9,
	dup-trace-fds-0-P, dup-trace-fds-not-9, dup2-e-fd-0, dup2-e-fd-0-9,
	dup2-e-fd-0-P, and dup2-e-fd-not-9.
	* tests/dup-trace-fds-0-9.c: New file.
	* tests/dup-trace-fds-0-P.c: Likewise.
	* tests/dup-trace-fds-0.c: Likewise.
	* tests/dup-trace-fds-not-9.c: Likewise.
	* tests/dup2-e-fd-0-9.c: Likewise.
	* tests/dup2-e-fd-0-P.c: Likewise.
	* tests/dup2-e-fd-0.c: Likewise.
	* tests/dup2-e-fd-not-9.c: Likewise.
	* tests/ppoll-e-trace-fds-23-42.c: Likewise.
	* tests/ppoll-e-trace-fds-23.c: Likewise.
	* tests/ppoll-e-trace-fds-not-9-42-P.c: Likewise.
	* tests/select-trace-fd-7-9.c: Likewise.
	* tests/select-trace-fd-7-P.c: Likewise.
	* tests/select-trace-fd-7.c: Likewise.
	* NEWS: Mention it.

	Suggested-by: Marty Leisner <maleisner@gmail.com>
	Link: https://lists.strace.io/pipermail/strace-devel/2023-March/011209.html

2023-04-22  Eugene Syromyatnikov  <evgsyr@gmail.com>

	strauss: add a couple of new tips.
	* src/strauss.c (tips_tricks_tweaks): Add a note about the historical
	handling of "(deleted)" in file paths got from procfs and about system
	time accounting.

2023-04-22  Eugene Syromyatnikov  <evgsyr@gmail.com>

	strauss: rely on strace--tips test instead of forcibly trimming lines.
	The regression introduced in commit v5.19~99 "strauss: tips whitespace
	and phrasing cleanups" (and subsequently fixed in v6.2-6-g5b4f05f42
	"strauss: add missing line separators") highlights the issue
	with the current approach with respect to tips formatting: it masks
	the issues related to overlong lines in favor to the pretty formatting;
	however, the presence of a (working) strace--tips test, that checks the
	correctness of the tips rendering, makes this trimming superfluous.
	Drop it and rely on the testing with respect to the guaranteeing
	the proper wrapping of (overly) long tip lines.

	* src/strauss.c (print_totd): Do not provide precision to the format
	specification that prints tip line.

	References: v6.2-6-g5b4f05f42 "strauss: add missing line separators"

2023-04-22  Eugene Syromyatnikov  <evgsyr@gmail.com>

	tests: fix strace--tips test.
	Apparently, it has been broken in many places and checked the output
	incorrectly, so it was basically useless.  Make it a bit less broken
	by properly escaping all the regular expressions and implement the logic
	that actually checks the output against the expected patterns.

	* tests/strace--tips.test (IFS): Set the variable to avoid stripping
	whitespace from the read lines.
	(grep_ere_escape): A variant of sed_re_escape that also escapes "{",
	"}", and "|" characters.
	Add "-r" option to the read call to avoid interpreting backslashes,
	especially at the end of the line;  escape "|", "/", and "\" characters
	in $pat/$end/$btm definitions and fix the whitespace usage in there;
	use grep_ere_escape instead of sed_re_escape;  break after matching one
	last line against $btm if TIPS_FULL is not set;  pass "-x" option
	to the grep calls.

	Fixes: v5.18~38 "Raise strace awareness"

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

	tests: double quote array expansions to avoid re-splitting elements.
	This fixes shellcheck SC2068.

2023-04-03  Sahil Siddiq  <icegambit91@gmail.com>
	    Dmitry V. Levin  <ldv@strace.io>

	tests: check -l/--syscall-limit options.
	These tests check the correctness of -l/--syscall-limit options
	when used with --trace, --trace-path and --status options.

	* tests/options-syntax.test: Check for invalid -l/--syscall-limit
	arguments.
	* tests/strace--syscall-limit.c: New file.
	* tests/strace--syscall-limit-path.c: Likewise.
	* tests/strace--syscall-limit-status.c: Likewise.
	* tests/strace--syscall-limit.test: New test.
	* tests/.gitignore: Add strace--syscall-limit,
	strace--syscall-limit-path, and strace--syscall-limit-status.
	* tests/Makefile.am (check_PROGRAMS): Likewise.
	(MISC_TESTS): Add strace--syscall-limit.test.
	* tests/gen_tests.in (strace--syscall-limit-path,
	strace--syscall-limit-status): New entries.

2023-04-03  Sahil Siddiq  <icegambit91@gmail.com>

	Document new -l/--syscall-limit options.
	* doc/strace.1.in: Document -l/--syscall-limit options.
	* NEWS: Mention them.

2023-04-03  Sahil Siddiq  <icegambit91@gmail.com>

	Introduce -l/--syscall-limit options.
	Add new options to detach strace after capturing the specified number
	of syscalls.

	* src/defs.h (syscall_limit): New variable declaration.
	* src/strace.c (syscall_limit): New variable.
	(usage): Mention new options.
	(init): Handle them.
	(next_event): Break the event loop when syscall_limit == 0.
	* src/syscall.c (syscall_exiting_trace): Update syscall_limit.

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

2023-04-03  Kossi Glokpor  <hotkatz32@gmail.com>

	open_by_handle_at: add RVAL_FD to return value.
	Mark the return value of open_by_handle_at decoder as a file descriptor.

	* src/file_handle.c (SYS_FUNC(open_by_handle_at)): Add RVAL_FD flag
	to the return value.

	Fixes: v4.11~121 "Implement name_to_handle_at and open_by_handle_at syscalls decoding"

2023-03-31  Sven Schnelle  <svens@linux.ibm.com>

	tests/membarrier: add new combination of flags.
	linux v6.3 reports a new combination of flags when
	ARCH_HAS_MEMBARRIER_SYNC_CORE is enabled.


	* tests/membarrier.c (main): Update expected output.

2023-04-01  Dmitry V. Levin  <ldv@strace.io>

	Make --tips more easily available.
	Allow --tips option to be used without any tracing, so that tips, tricks
	and tweaks could be displayed without running any program or attaching
	to any process.

	* src/strace.c (init): When --tips is specified without running any
	program or attaching to any process, show the tips and exit.
	* tests/strace--tips-0.exp: New file.
	* tests/Makefile.am (check_DATA): Add it.
	* tests/strace--tips.test: Check that simple "strace --tips=0" works
	as expected.
	* tests/options-syntax.test: Update expected output.

2023-03-30  Dmitry V. Levin  <ldv@strace.io>

	treewide: fix unnecessary $ on arithmetic variables.
	This silences shellcheck SC2004.

2023-03-27  Gleb Fotengauer-Malinovskiy  <glebfm@altlinux.org>

	Update ioctl entries from linux v6.3.
