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.
	* NEWS: Mention this change.
	* tests/fanotify_init.c (main): Update expected output.

	xlat: update CAP_* constants.
	* caps1.h (CAP_CHECKPOINT_RESTORE): New constant introduced
	by Linux kernel commit v5.9-rc1~161^2~6.
	* xlat/cap.in (CAP_CHECKPOINT_RESTORE): Likewise.
	* xlat/cap_mask1.in (1<<CAP_CHECKPOINT_RESTORE): Likewise.
	* NEWS: Mention this change.
	* tests/caps.awk: Update expected output.
	* tests/caps-abbrev.awk: Likewise.

	xlat: update BPF_* constants.
	* xlat/bpf_attach_type.in (BPF_CGROUP_INET_SOCK_RELEASE): New constant
	introduced by Linux kernel commit v5.9-rc1~133^2~259^2~18.
	(BPF_XDP_CPUMAP): New constant introduced by Linux kernel commit
	v5.9-rc1~133^2~164^2~22.
	(BPF_SK_LOOKUP): New constant introduced by Linux kernel commit
	v5.9-rc1~133^2~164^2~14^2~13.
	(BPF_XDP): New constant introduced by Linux kernel commit
	v5.9-rc1~133^2~23^2~28^2~5.
	* xlat/bpf_commands.in (BPF_LINK_DETACH): New constant introduced
	by Linux kernel commit v5.9-rc1~133^2~23^2~6^2~4.
	* xlat/bpf_prog_types.in (BPF_PROG_TYPE_SK_LOOKUP): New constant
	introduced by Linux kernel commit v5.9-rc1~133^2~164^2~14^2~13.
	* NEWS: Mention this change.
	* tests/bpf.c (BPF_PROG_LOAD_checks, BPF_PROG_QUERY_checks): Update.
	* tests/kernel_version.c (print_bpf_attr, main): Likewise.

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

	Implement decoding of close_range syscall.
	Introduced by Linux kernel commit v5.9-rc1~160.

	* close_range.c: New file.
	* Makefile.am (libstrace_a_SOURCES): Add it.
	* configure.ac (AC_CHECK_HEADERS): Add linux/close_range.h.
	* xlat/close_range_flags.in: New file.
	* pathtrace.c (pathtrace_match_set): Handle SEN_close_range.
	* linux/syscallent-common.h [BASE_NR + 436]: Wire up close_range.
	* NEWS: Mention this change.
	* tests/close_range.c: New file.
	* tests/close_range-P.c: Likewise.
	* tests/close_range-y.c: Likewise.
	* tests/close_range-yy.c: Likewise.
	* tests/gen_tests.in (close_range. close_range-P, close_range-y,
	close_range-yy): New entries.
	* tests/pure_executables.list: Add close_range, close_range-P,
	close_range-y, and close_range-yy.
	* tests/.gitignore: Likewise.

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

	tests: reduce looping_threads iteration duration to 1/16th of TIMEOUT_DURATION
	* tests/looping_threads.test (timeout_8): Rename to...
	(timeout_16): ...this, reduce value by half.
	Use $timeout_16 instead of $timeout_8.

	Complements: v5.7~4 "tests: increase default TIMEOUT_DURATION"

2020-09-03  Eugene Syromyatnikov  <evgsyr@gmail.com>
	    Tom Stellard  <tstellar@redhat.com>

	strace.spec.in: use %make_build/%make_install macros.
	As suggested in [1][2].

	[1] https://src.fedoraproject.org/fork/tstellar/rpms/strace/c/c7358b588cb5f2893dec3b7daa84e63d9389773a.patch
	[2] https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro

	* strace.spec.in [?!__make] (%__make): New definition.
	[?!__install] (%__install): Likewise.
	[?!make_build] (%make_build): Likewise.
	[?!make_install] (%make_install): Likewise.
	(%build, %check): Use %make_build.
	(%install): Use %make_install.

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

	mpers_test.sh: check proper handling of sized integer types.
	The commit v5.6~62 ("v4l2: always decode VIDIOC_*_EXT_CTRLS ioctl
	commands") unraveled a possibility of buggy handling of sized integer
	types in some libc implementations[1][2].  Add checks for these types
	to mpers_test.sh to catch such issues early.

	[1] https://strace.io/logs/strace/2020-04-22#17477;
	[2] https://lists.strace.io/pipermail/strace-devel/2020-August/010213.html

	* mpers_test.sh: Add checks for (u)int{8,16,32,64}_t types.

	Complements: v5.6~62 "v4l2: always decode VIDIOC_*_EXT_CTRLS ioctl commands"

2020-08-25  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	Add tests for PID namespace translation.
	* Makefile.am (CODE_COVERAGE_IGNORE_PATTERN): Add test directories.
	* tests/.gitignore: Add new test executables.
	* tests/Makefile.am (check_PROGRAMS): Add new test executables.
	(DECODER_TESTS) Add new test files.
	(libtests_a_SOURCES): Add trie_for_tests.c, xmalloc_for_tests.c.
	* tests/gen_tests.in: Add new tests.
	* tests/trie_test.c: New file.
	* tests/trie_for_tests.c: New file.
	* tests/xmalloc_for_tests.c: New file.
	* tests/pidns-cache.c: New file.
	* tests/pidns-cache.test: New file.
	* tests/fcntl--pidns-translation.c: New file.
	* tests/fcntl64--pidns-translation.c: New file.
	* tests/fork--pidns-translation.awk: New file.
	* tests/fork--pidns-translation.c: New file.
	* tests/fork--pidns-translation.test: New file.
	* tests/getpgrp--pidns-translation.c: New file.
	* tests/getpid--pidns-translation.c: New file.
	* tests/getsid--pidns-translation.c: New file.
	* tests/gettid--pidns-translation.c: New file.
	* tests/gettid--pidns-translation.test: New file.
	* tests/ioctl_block--pidns-translation.c: New file.
	* tests/ioctl_block--pidns-translation.test: New file.
	* tests/ioprio--pidns-translation.c: New file.
	* tests/kill--pidns-translation.c: New file.
	* tests/migrate_pages--pidns-translation.c: New file.
	* tests/move_pages--pidns-translation.c: New file.
	* tests/net-sockaddr--pidns-translation.c: New file.
	* tests/netlink_audit--pidns-translation.c: New file.
	* tests/netlink_audit--pidns-translation.test: New file.
	* tests/pidfd_open--pidns-translation.c: New file.
	* tests/pidfd_send_signal--pidns-translation.c: New file.
	* tests/prlimit64--pidns-translation.c: New file.
	* tests/process_vm_readv--pidns-translation.c: New file.
	* tests/process_vm_writev--pidns-translation.c: New file.
	* tests/rt_sigqueueinfo--pidns-translation.c: New file.
	* tests/rt_tgsigqueueinfo--pidns-translation.c: New file.
	* tests/sched_xetaffinity--pidns-translation.c: New file.
	* tests/sched_xetattr--pidns-translation.c: New file.
	* tests/sched_xetparam--pidns-translation.c: New file.
	* tests/sched_xetscheduler--pidns-translation.c: New file.
	* tests/signal_receive--pidns-translation.c: New file.
	* tests/so_peercred--pidns-translation.c: New file.
	* tests/tkill--pidns-translation.c: New file.
	* tests/tgkill--pidns-translation.c: New file.
	* tests/xet_robust_list--pidns-translation.c: New file.
	* tests/xetpgid--pidns-translation.c: New file.
	* tests/xetpriority--pidns-translation.c: New file.
	* tests/fcntl-common.c: Print PID translation string after PIDs.
	* tests/fcntl.c: Likewise.
	* tests/fcntl64.c: Likewise.
	* tests/getpgrp.c: Likewise.
	* tests/getpid.c: Likewise.
	* tests/getsid.c: Likewise.
	* tests/gettid.c: Likewise.
	* tests/ioctl_block.c: Likewise.
	* tests/ioprio.c: Likewise.
	* tests/kcmp.c: Likewise.
	* tests/kill.c: Likewise.
	* tests/migrate_pages.c: Likewise.
	* tests/move_pages.c: Likewise.
	* tests/net-sockaddr.c: Likewise.
	* tests/netlink_audit.c: Likewise.
	* tests/pidfd_open.c: Likewise.
	* tests/pidfd_send_signal.c: Likewise.
	* tests/prlimit64.c: Likewise.
	* tests/process_vm_readv_writev.c: Likewise.
	* tests/rt_sigqueueinfo.c: Likewise.
	* tests/rt_tgsigqueueinfo.c: Likewise.
	* tests/sched_xetaffinity.c: Likewise.
	* tests/sched_xetattr.c: Likewise.
	* tests/sched_xetparam.c: Likewise.
	* tests/sched_xetscheduler.c: Likewise.
	* tests/signal_receive.c: Likewise.
	* tests/so_peercred.c: Likewise.
	* tests/tgkill.c: Likewise.
	* tests/tkill.c: Likewise.
	* tests/xet_robust_list.c: Likewise.
	* tests/xetpgid.c: Likewise.
	* tests/xetpriority.c: Likewise.

	Implement testing framework for pidns.
	* tests/pidns.c: New file.
	* tests/pidns.h: New file.
	* tests/Makefile.am (libtests_a_SOURCES): Add pidns.c, pidns.h.
	* tests/init.sh (test_pidns, test_pidns_run_strace): New functions.

	Use get_proc_pid for /proc paths.
	* mmap_cache.c (mmap_cache_rebuild_if_invalid): Use proc pid instead of
	tcp->pid for /proc path.
	* util.c (getfdproto): Likewise.
	(pidfd_get_pid): Likewise.
	* pathtrace.c (getfdpath_pid): Likewise.
	* strace.c (attach_tcb): Likewise.

	Use printpid in decoders.
	* getpid.c: New file.
	* Makefile.am (libstrace_a_SOURCES): Add it.
	* linux/dummy.h (sys_getpid, sys_getppid, sys_gettid,
	sys_setpgid, sys_setpgrp): Remove.
	* util.c (printfd_pid_tracee_ns): Implement using translate_pid.
	* defs.h (printnum_pid): New function definition.
	(printfd_pid_tracee_ns): Update documentation
	* util.c: (printnum_pid): New function.
	* print_fields.h (PRINT_FIELD_TID): New macro.
	(PRINT_FIELD_TGID): Likewise.
	(PRINT_FIELD_PGID): Likewise.
	(PRINT_FIELD_SID): Likewise.
	* affinity.c: Print PIDs with printpid.
	* block.c: Likewise.
	* bpf.c: Likewise.
	* capability.c: Likewise.
	* clone.c: Likewise.
	* fcntl.c: Likewise.
	* get_robust_list.c: Likewise.
	* ioprio.c: Likewise.
	* kcmp.c: Likewise.
	* msghdr.c: Likewise.
	* net.c: Likewise.
	* netlink.c: Likewise.
	* numa.c: Likewise.
	* pidfd_open.c: Likewise.
	* printsiginfo.c: Likewise.
	* process.c: Likewise.
	* process_vm.c: Likewise.
	* resource.c: Likewise.
	* sched.c: Likewise.
	* signal.c: Likewise.
	* sockaddr.c: Likewise.
	* wait.c: Likewise.
	* kcmp.c (SYS_FUNC(kcmp)): Fix KCMP_FILE pid arguments.
	* tests/kcmp.c (printpidfd): Print path if VERBOSE_FD.
	(main): Use our real pid if real fds are used.

2020-08-25  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	PID namespace translation support.
	* defs.h (pidns_translation): New variable.
	(tcb): Add pid_ns field.
	(RVAL_MASK): Change value from 013 to 017.
	(RVAL_TID, RVAL_SID, RVAL_TGID, RVAL_PGID): New definitions.
	(pid_type): New enum.
	(pidns_init, translate_pid, get_proc_pid, printpid, printpid_tgid_pgid):
	New function declarations.
	* largefile_wrappers.h (fstat_fd): New macro.
	* pidns.c: New file.
	* trie.c: New file.
	* trie.h: New file.
	* Makefile.am (libstrace_a_SOURCES): Add trie.c, trie.h, pidns.c.
	* strace.c (pidns_translation): New variable.
	(init): Add --pidns-translation option.
	* syscall.c (syscall_exiting_trace): Handle RVAL_* return values.
	* NEWS: Mention this.
	* strace.1.in: Add description for new option.

	Co-Authored-by: Eugene Syromyatnikov <evgsyr@gmail.com>

2020-08-25  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	tests/mknod.c: add workaround for ppc bug in travis.
	On ppc travis builds syscall(mknod) sometimes does not fail with EEXISTS
	as expected, but returns successfully. This commit uses sprintrc for
	errno printing, which handles successful return values too.

	* tests/mknod.c (main): Use sprintrc for printing errno.

2020-08-21  Elvira Khabirova  <lineprinter0@gmail.com>

	tests: check -n/--syscall-number option.
	* tests/strace-n.c: New file.
	* tests/gen_tests.in (strace-n): New entry.
	* tests/pure_executables.list: Add strace-n.
	* tests/.gitignore: Likewise.

	strace: add an option for printing syscall numbers.
	* print_syscall_number.c: New file.
	* Makefile.am (libstrace_a_SOURCES): Add it.
	* defs.h (struct tcb): Add true_scno field.
	(print_syscall_number): New function declaration.
	* strace.c: Add -n/--syscall-number option.
	(printleader): Call print_syscall_number.
	* syscall.c (get_scno): Assign tcp->true_scno.
	* tests/options-syntax.test: Check with -c/--summary-only.
	* strace.1.in: Document new option.
	* NEWS: Mention the new option.

2020-08-06  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.8-1.
	* strace.spec.in: Likewise.

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

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

	ci: use kernel headers from Linux kernel v5.8.
	When Linux kernel merge window opens, changes of all sorts start to pour
	down, breaking UAPI in various ways.  This does not work for strace,
	we need a stable UAPI.

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

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

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

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

	tests: check decoding of tgkill syscall.
	* tests/tgkill.c: New file.
	* tests/gen_tests.in (tgkill): New entry.
	* tests/pure_executables.list: Add tgkill.
	* tests/.gitignore: Likewise.

	tests: check decoding of tkill syscall.
	* tests/tkill.c: New file.
	* tests/gen_tests.in (tkill): New entry.
	* tests/pure_executables.list: Add tkill.
	* tests/.gitignore: Likewise.

2020-08-01  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	Introduce SYS_FUNC(tkill)
	This is going to be needed to implement pidns support
	in tkill syscall decoder.

	syscallent*.h files are updated automatically by:
	  git grep -l 'SEN(kill).*"tkill"' |
	  xargs sed -i '/"tkill"/ s/SEN(kill)/SEN(tkill)/'

	* signal.c (SYS_FUNC(tkill)): New syscall decoder.
	* linux/32/syscallent.h: Use SEN(tkill) for "tkill" syscall.
	* linux/64/syscallent.h: Likewise.
	* linux/alpha/syscallent.h: Likewise.
	* linux/arm/syscallent.h: Likewise.
	* linux/avr32/syscallent.h: Likewise.
	* linux/bfin/syscallent.h: Likewise.
	* linux/hppa/syscallent.h: Likewise.
	* linux/i386/syscallent.h: Likewise.
	* linux/ia64/syscallent.h: Likewise.
	* linux/m68k/syscallent.h: Likewise.
	* linux/microblaze/syscallent.h: Likewise.
	* linux/mips/syscallent-n32.h: Likewise.
	* linux/mips/syscallent-n64.h: Likewise.
	* linux/mips/syscallent-o32.h: Likewise.
	* linux/powerpc/syscallent.h: Likewise.
	* linux/powerpc64/syscallent.h: Likewise.
	* linux/s390/syscallent.h: Likewise.
	* linux/s390x/syscallent.h: Likewise.
	* linux/sh/syscallent.h: Likewise.
	* linux/sh64/syscallent.h: Likewise.
	* linux/sparc/syscallent.h: Likewise.
	* linux/sparc64/syscallent.h: Likewise.
	* linux/x32/syscallent.h: Likewise.
	* linux/x86_64/syscallent.h: Likewise.
	* linux/xtensa/syscallent.h: Likewise.

2020-08-01  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	Add "struct tcb *" parameters to various functions.
	This is going to be needed to implement pidns support.

	* defs.h (print_sockaddr): Add a "struct tcb *" parameter.
	* printsiginfo.h (printsiginfo): Likewise.
	* fcntl.c (print_struct_flock64): Likewise.  All callers updated.
	* print_fields.h (PRINT_FIELD_SOCKADDR): Likewise.   All callers updated.
	* printsiginfo.c (printsigsource, print_si_info, printsiginfo): Likewise.
	All callers updated.
	* sockaddr.c (print_sockaddr_data_un, print_sockaddr_data_in,
	print_sockaddr_data_in6, print_sockaddr_data_ax25,
	print_sockaddr_data_ipx, print_sockaddr_data_x25,
	print_sockaddr_data_nl, print_sockaddr_data_ll,
	print_sockaddr_data_bt, sockaddr_printer, print_sockaddr): Likewise.
	All callers updated.

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

	Use tprints instead of tprintf in a few more places.
	* bpf.c (BPF_PROG_LOAD, BPF_OBJ_PIN, BPF_OBJ_GET_INFO_BY_FD,
	BPF_RAW_TRACEPOINT_OPEN, BPF_TASK_FD_QUERY, BPF_MAP_LOOKUP_BATCH,
	BPF_MAP_UPDATE_BATCH, BPF_MAP_DELETE_BATCH): Replace tprintf
	with tprints for printing strings without format specifiers.
	* btrfs.c (btrfs_ioctl): Likewise.
	* ioctl.c (evdev_decode_number): Likewise.
	* perf_ioctl.c (perf_ioctl): Likewise.
	* rtnl_addr.c (decode_ifa_cacheinfo): Likewise.
	* v4l2.c (print_v4l2_capability, print_v4l2_requestbuffers,
	print_v4l2_streamparm): Likewise.

2020-07-24  Janosch Frank  <frankja@linux.ibm.com>

	s390x: sthyi: Fix section size requirement and error.
	Some old z/VM instances report only 40 bytes for the partition
	section, as they don't report the last three struct members.

	Let's lower the size check of that section to 40 to accommodate them.

	Also we expect a section to be at least x bytes, so we should make
	that clear in the error message.

	Reviewed-by: Eugene Syromyatnikov <evgsyr@gmail.com>

2020-07-21  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	Remove tcb parameter of read_int_from_file.
	* defs.h (read_int_from_file): Remove tcb parameter.
	* util.c (read_int_from_file): Likewise.
	* msghdr.c (get_optmem_max): Remove tcb parameter of read_int_from_file.

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

	Consistently print process ids as signed integers.
	* block.c (block_ioctl): Print struct_blk_user_trace_setup.pid using
	PRINT_FIELD_D instead of PRINT_FIELD_U.
	* bpf.c (BPF_TASK_FD_QUERY): Print task_fd_query.pid using PRINT_FIELD_D
	instead of PRINT_FIELD_U.
	* ipc_msgctl.c (print_msqid_ds): Print msqid_ds.msg_lspid
	and msqid_ds.msg_lrpid using PRINT_FIELD_D.
	* ipc_shmctl.c (print_shmid_ds): Print shmid_ds.shm_cpid and shm_lpid
	using PRINT_FIELD_D.
	* msghdr.c (print_scm_creds): Print ucred.pid using PRINT_FIELD_D
	instead of PRINT_FIELD_U.
	* netlink.c (print_nlmsghdr): Print nlmsghdr.nlmsg_pid using %d format
	instead of %u.
	* tests/bpf.c (BPF_TASK_FD_QUERY_checks): Update expected output.
	* tests/ioctl_block.c (main): Update expected output.
	* tests/ipc_msg.c (main): Likewise.
	* tests/ipc_shm.c (main): Likewise.
	* tests/net-yy-netlink.c (main): Likewise.
	* tests/netlink_protocol.c (test_nlmsgerr): Likewise.

	Introduce PRINT_FIELD_NUMERIC_UMODE_T.
	* print_fields.h (PRINT_FIELD_NUMERIC_UMODE_T): New macro.
	* ipc_msgctl.c (print_msqid_ds): Use it instead of print_numeric_umode_t.
	* ipc_shmctl.c (print_shmid_ds): Likewise.
	* open.c (print_open_how): Use it instead of print_numeric_ll_umode_t.

	Fix printing of syscall return value in octal mode.
	* defs.h (print_numeric_long_umask): Remove.
	* printmode.c (print_numeric_long_umask): Likewise.
	* syscall.c (syscall_exiting_trace) <case RVAL_OCTAL>: Fix printing
	of tcp->u_rval when sizeof(tcp->u_rval) > sizeof(long) or when
	sizeof(tcp->u_rval) > current_klongsize.

	Rename print_numeric_umode_t_64 to print_numeric_ll_umode_t.
	* printmode.c (print_numeric_umode_t_64): Rename
	to print_numeric_ll_umode_t, change the type of its argument
	to unsigned long long.
	* defs.h: Likewise.
	* open.c (print_open_how): Use print_numeric_ll_umode_t instead of
	print_numeric_umode_t_64.

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

	Use PRINT_FIELD_UID instead of printuid where appropriate.
	* ipc_msgctl.c: Include "print_fields.h".
	(print_msqid_ds): Use PRINT_FIELD_UID instead of printuid.
	* ipc_shmctl.c: Include "print_fields.h".
	(print_shmid_ds): Use PRINT_FIELD_UID instead of printuid.
	* statx.c (SYS_FUNC(statx)): Use PRINT_FIELD_UID instead of printuid.

	printsiginfo: fix printing of siginfo_t.si_pid and siginfo_t.si_uid.
	* printsiginfo.c (printsigsource): Print siginfo_t.si_pid using
	PRINT_FIELD_D, print siginfo_t.si_uid using PRINT_FIELD_UID.
	* tests/clone_ptrace.c (main): Update expected output.
	* tests/orphaned_process_group.c (main): Likewise.
	* tests/pidfd_send_signal.c (main): Likewise.
	* tests/ptrace.c (test_peeksiginfo): Likewise.
	* tests/rt_sigqueueinfo.c (main): Likewise.
	* tests/rt_tgsigqueueinfo.c (main): Likewise.
	* tests/siginfo.c (main): Likewise.
	* tests/waitid.c (sprint_siginfo): Likewise.

	statx: use PRINT_FIELD_FLAGS.
	* statx.c (SYS_FUNC(statx)): Use PRINT_FIELD_FLAGS instead of
	printflags.

2020-07-17  Ákos Uzonyi  <uzonyi.akos@gmail.com>

	kcmp: fix KCMP_FILE decoding.
	* kcmp.c (SYS_FUNC(kcmp)): Fix KCMP_FILE pid arguments.

	Fixes: v4.20~66 ("kcmp: output fds using a separate function")

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

	fcntl: use print_fields.h macros.
	* fcntl.c: Include "print_fields.h".
	(print_struct_flock64, print_f_owner_ex): Use PRINT_FIELD_* macros
	from print_fields.h.

	evdev_mpers: use print_fields.h macros.
	* evdev_mpers.c: Include "print_fields.h".
	(decode_envelope, ff_effect_ioctl): Use PRINT_FIELD_* macros
	from print_fields.h.
	* tests/ioctl_evdev.c (print_ffe_common): Update expected output.

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

	ustat: use print_fields.h macros.
	* ustat.c: Include "print_fields.h".
	(SYS_FUNC(ustat)): Use PRINT_FIELD_* macros from print_fields.h.

	file_ioctl: use print_fields.h macros.
	* file_ioctl.c: Include "print_fields.h".
	(print_file_dedupe_range_info, print_fiemap_extent, file_ioctl): Use
	PRINT_FIELD_* macros from print_fields.h.

	evdev: use print_fields.h macros.
	* evdev.c (abs_ioctl, keycode_V2_ioctl): Use PRINT_FIELD_* macros
	from print_fields.h.

	evdev: fix formatting of struct input_id.
	* evdev.c (getid_ioctl): Use PRINT_FIELD_U.
	* tests/ioctl_evdev.c (main): Update expected output.

	btrfs: use PRINT_FIELD_X_ARRAY.
	* types/btrfs.h: New file.
	* btrfs.c: Include "types/btrfs.h".
	(btrfs_ioctl): Use struct_btrfs_ioctl_logical_ino_args and
	PRINT_FIELD_X_ARRAY.
	* configure.ac (AC_CHECK_MEMBERS): Remove
	struct btrfs_ioctl_search_args_v2.buf_size and
	struct btrfs_ioctl_logical_ino_args.flags.

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

	travis: reintroduce ppc64le and s390x builds.
	Let's give travis another chance.
	This reverts commits 86a53f791ad34a825b8633eb0272d954647ce705
	and 36f32a255db09886f7f9ba08ec712b8742f0c312.

	* .travis.yml (arch: ppc64le, arch: s390x): New entries.

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

	README.md: migrate from travis-ci.org to travis-ci.com.

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

	evdev: fix formatting of struct input_keymap_entry.scancode.
	* evdev.c (keycode_V2_ioctl): Use PRINT_FIELD_X_ARRAY.
	* tests/ioctl_evdev.c (main): Update expected output.

	x86_64/arch_kvm: use PRINT_FIELD_X_ARRAY.
	* linux/x86_64/arch_kvm.c (arch_print_kvm_sregs): Use PRINT_FIELD_X_ARRAY.

	loop: implement decoding of LOOP_CONFIGURE ioctl command.
	* types/loop.h: New file.
	* loop.c: Include it instead of <linux/ioctl.h> and <linux/loop.h>.
	(ecode_loop_config): New function.
	(loop_ioctl): Use it to decode LOOP_CONFIGURE ioctl command.
	* NEWS: Mention this change.
	* tests/ioctl_loop.c: Check it.

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

