History log of /external/strace/xlat/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d35df493b4e7684c50d2d2fa032ee3a7ac228009 16-Feb-2017 Elliott Hughes <enh@google.com> Upgrade strace to 4.16 from 4.14.

Noteworthy changes in release 4.16 (2017-02-14)

* Improvements
* Implemented syscall return value injection (-e inject=SET:retval= option).
* Implemented signal injection (-e inject=SET:signal= option).
* Implemented decoding of SUID_DUMP_* constants in PR_[GS]ET_DUMPABLE.
* Implemented decoding of all SG_* ioctl commands.
* Implemented decoding of ustat syscall.
* Implemented decoding of BPF_OBJ_PIN, BPF_OBJ_GET, BPF_PROG_ATTACH,
and BPF_PROG_DETACH commands of bpf syscall.
* Enhanced decoding of sg_io_hdr and sg_io_v4 structures.
* Enhanced decoding of get_robust_list, getrandom, io_submit, set_robust_list
syscalls.
* Enhanced decoding of entities of kernel long type on x32 and mips n32 ABIs.
* Updated lists of IP_*, IPV6_*, and LOOP_* constants.
* Updated lists of ioctl commands from Linux 4.10.
* Added decoding of recently added syscalls on avr32, microblaze, ppc,
and ppc64.

* Bug fixes
* Fixed pathmatch of oldselect syscall on 64-bit architectures.
* Fixed decoding of mmap2 syscall on s390 when arguments are not available.
* Fixed decoding of kexec_file_load, mprotect, pkey_mprotect, prctl, preadv*,
and pwritev* syscalls on x32.
* Fixed printing of string arguments of getxattr and setxattr syscalls
when -s option is used to limit the printed string size.
* Fixed decoding of ifconf, ifreq, and loop_info structures on non-native
personalities.
* Fixed decoding of SG_* and LOOP_* ioctl commands.
* Fixed build on mips with musl libc.
* Fixed cross-building of ioctlsort.
* Applied minor formatting fixes to the manual page.

Noteworthy changes in release 4.15 (2016-12-14)

* Changes in behavior
* Time stamps are now printed according to ISO 8601.
* Changed output format of val3 parameter of futex FUTEX_WAKE_OP operation.
* The last argument of mincore, sched_getaffinity, and sched_setaffinity
syscalls is now formatted as an array.

* Improvements
* Implemented syscall fault injection (-e fault=... option).
* Implemented decoding of DM_* ioctl commands.
* Implemented decoding of attr parameter of perf_event_open syscall.
* Implemented decoding of pkey_alloc, pkey_free, and pkey_mprotect syscalls.
* Implemented dumping of mq_timedsend and mq_timedreceive syscalls.
* Implemented decoding of PR_SET_FP_MODE and PR_GET_FP_MODE operations
of prctl syscall.
* Implemented PTRACE_GETREGS API support on m68k.
* Updated lists of ARCH_*, BPF_*, BTRFS_*, FALLOC_*, MS_*, *_MAGIC,
and V4L2_* constants.
* Updated lists of ioctl commands from Linux 4.9.
* Added decoding of recently added syscalls on arc, x32, and xtensa.
* Enhanced manual page.

* Bug fixes
* Fixed corner cases in decoding of exit, exit_group, futimesat, getgroups,
getresuid, init_module, inotify_init1, kcmp, kexec_load, lookup_dcookie,
mq_getsetattr, mq_notify, mq_open, mq_timedreceive, mq_timedsend,
name_to_handle_at, prctl, process_vm_readv, process_vm_writev, setfsuid,
setgroups, setns, unshare, and utimes syscalls.
* Fixed handling of verbose flag in printing of controls array
of struct v4l2_ext_controls.
* Fixed omission of field names in the output of capability, sigaction,
sigevent, statfs, timespec, timeval, and utimbuf structures.
* Fixed printing of unknown syscalls in siginfo structure.
* Fixed decoding of ioctl constants on m68k.
* Fixed cris architecture support.
* Fixed cross build when host compiler does not support the same
set of warning flags as the cross compiler.
* Fixed build on SLE10 and SLE11.

Bug: N/A
Test: manual
Change-Id: I590bf5db1652aa1dfdc0eb16e30fd97c82af2261
gitignore
akemodule.am
clcmds.h
rchvals.h
rchvals.in
pf_attach_type.h
pf_attach_type.in
pf_commands.h
pf_commands.in
pf_map_types.h
pf_map_types.in
pf_prog_types.h
pf_prog_types.in
sg_flags.h
sg_flags.in
trfs_features_compat_ro.h
trfs_features_compat_ro.in
apabilities.h
apabilities1.h
locknames.h
locknames.in
irenttypes.h
m_flags.h
m_flags.in
omains.h
alloc_flags.h
alloc_flags.in
ileflags.h
smagic.h
smagic.in
en.sh
w_breakpoint_len.h
w_breakpoint_len.in
w_breakpoint_type.h
w_breakpoint_type.in
ffflags.h
notify_init_flags.h
notify_init_flags.in
exec_flags.h
oop_cmds.h
oop_cmds.in
oop_crypt_type_options.h
oop_flags_options.h
oop_flags_options.in
ctl_funcs.h
ctl_lockas.h
odflags.h
odule_init_flags.h
odule_init_flags.in
ount_flags.h
ount_flags.in
q_attr_flags.h
q_attr_flags.in
sgflags.h
ame_to_handle_at_flags.h
ame_to_handle_at_flags.in
etlink_protocols.h
etlink_protocols.in
erf_attr_size.h
erf_attr_size.in
erf_branch_sample_type.h
erf_branch_sample_type.in
erf_event_read_format.h
erf_event_read_format.in
erf_event_sample_format.h
erf_event_sample_format.in
erf_hw_cache_id.h
erf_hw_cache_id.in
erf_hw_cache_op_id.h
erf_hw_cache_op_id.in
erf_hw_cache_op_result_id.h
erf_hw_cache_op_result_id.in
erf_hw_id.h
erf_hw_id.in
erf_sw_ids.h
erf_sw_ids.in
erf_type_id.h
erf_type_id.in
ersonality_options.h
key_access.h
key_access.in
msgflags.h
r_dumpable.h
r_dumpable.in
r_fp_mode.h
r_fp_mode.in
m_which.h
csi_sg_commands.h
csi_sg_commands.in
etns_types.h
etns_types.in
g_io_dxfer_direction.h
g_io_flags.h
g_io_flags.in
g_io_info.h
g_io_info.in
g_scsi_reset.h
g_scsi_reset.in
ockipoptions.h
ockipoptions.in
ockipv6options.h
ockipv6options.in
nshare_flags.h
nshare_flags.in
4l2_device_capabilities_flags.h
4l2_device_capabilities_flags.in
4l2_input_types.h
4l2_input_types.in
00604d9c03d4abfb05a138811429b7c6b9a7e423 04-Oct-2016 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'aosp/upstream-master' into merge

Change-Id: I0a1073b25455fe02d26decec64a6ed9314284062
e32f7eeefc4a217dfd9851468bb33dd3eafeffb6 21-Sep-2016 Eugene Syromyatnikov <evgsyr@gmail.com> xlat: add default values for falloc_flags constants

In order to avoid dependence of declared constants to headers available
on build system.

* xlat/falloc_flags.in: Add default values for constants.
alloc_flags.in
38ce2658cdc08d68412f55aeb5a736b303cd7dbd 16-Sep-2016 Dmitry V. Levin <ldv@altlinux.org> Add more fs magic constants

Add *_MAGIC constants defined for some relatively widespread
non-mainline filesystems.

* xlat/fsmagic.in: Add AUFS_SUPER_MAGIC, GPFS_SUPER_MAGIC,
VZFS_SUPER_MAGIC, and ZFS_SUPER_MAGIC constants.
smagic.in
eb5b530be3fedbd5a5cc739bce40a1a3fe726600 15-Sep-2016 Dmitry V. Levin <ldv@altlinux.org> Add more fs magic constants

Add *_MAGIC constants defined inside linux fs but not explicitly
exported via linux uapi.

* xlat/fsmagic.in: Add HFS_SUPER_MAGIC, HFSPLUS_SUPER_MAGIC,
EXOFS_SUPER_MAGIC, CEPH_SUPER_MAGIC, UBIFS_SUPER_MAGIC, JFS_SUPER_MAGIC,
BEFS_SUPER_MAGIC, NTFS_SB_MAGIC, XFS_SB_MAGIC, CONFIGFS_MAGIC,
FUSE_CTL_SUPER_MAGIC, FUSE_SUPER_MAGIC, AFS_FS_MAGIC, OCFS2_SUPER_MAGIC,
VXFS_SUPER_MAGIC, LOGFS_MAGIC, SMB2_MAGIC_NUMBER, and CIFS_MAGIC_NUMBER
constants.
smagic.in
6cb1ced84fcce3ee406e2fb268081826d4c12988 15-Sep-2016 Dmitry V. Levin <ldv@altlinux.org> Update fs *_MAGIC constants

Add fs *_MAGIC constants exported by linux uapi.

* xlat/fsmagic.in: Add BFS_MAGIC, GFS2_MAGIC, and ROMFS_MAGIC constants
defined in linux/bfs_fs.h, linux/gfs2_ondisk.h, and linux/romfs_fs.h,
respectively.
smagic.in
2909c7c1d8d09d13ac0eb829dc562159a4a11e61 17-Aug-2016 Eugene Syromiatnikov <evgsyr@gmail.com> Refactor common sa_handler printing code

* xlat/sa_handler_values.in: New file.
* signal.c: Include "xlat/sa_handler_values.h".
(get_sa_handler_str, print_sa_handler): New functions.
(SYS_FUNC(sigsetmask), SYS_FUNC(signal), decode_new_sigaction): Use them.
a_handler_values.in
e31e2c0e571f2b0ee9c1bf9a445d86986dd8d81c 31-Aug-2016 Dmitry V. Levin <ldv@altlinux.org> Update TCP* constants

* xlat/socktcpoptions.in: Add TCP_REPAIR_WINDOW introduced by linux
kernel commit v4.8-rc1~140^2~226.
ocktcpoptions.in
80b49fb4dc780de322bbea7d6fe5b7d7b75d78ae 30-Aug-2016 Dmitry V. Levin <ldv@altlinux.org> Update SCTP_* constants

* xlat/socksctpoptions.in: Add SCTP_PR_SUPPORTED, SCTP_DEFAULT_PRINFO,
and SCTP_PR_ASSOC_STATUS introduced by linux kernel commits
v4.8-rc1~140^2~148^2~5, v4.8-rc1~140^2~148^2~4, and
v4.8-rc1~140^2~148^2~3, respectively.
ocksctpoptions.in
9c3f5daa16fcfde18bc93d886d4fac52c562e2af 30-Aug-2016 Dmitry V. Levin <ldv@altlinux.org> Update fs *_MAGIC constants

* xlat/fsmagic.in: Add BALLOON_KVM_MAGIC and ZSMALLOC_MAGIC introduced
by linux kernel commits v4.8-rc1~147^2~82 and v4.8-rc1~147^2~74,
respectively.
smagic.in
6d68e0d4dd8adcbdf38d796bf90edc3762b4d080 30-Aug-2016 Dmitry V. Levin <ldv@altlinux.org> Update KEXEC_ARCH_* constants

* xlat/kexec_arch_values.in: Add KEXEC_ARCH_AARCH64 introduced by linux
kernel commit v4.8-rc1~16^2~41.
exec_arch_values.in
788e5f37d363a89a6bc875225d99b247bda86c7f 30-Aug-2016 Dmitry V. Levin <ldv@altlinux.org> Update ETH_P_* constants

* xlat/ethernet_protocols.in: Add ETH_P_NCSI introduced by linux kernel
commit v4.8-rc1~140^2~65^2~8.
thernet_protocols.in
3b9e6a34b826698de2a85bd0c69ca242031ae5b9 30-Aug-2016 Dmitry V. Levin <ldv@altlinux.org> Update BPF_* constants

* xlat/bpf_map_types.in: Add BPF_MAP_TYPE_CGROUP_ARRAY introduced
by linux kernel commit v4.8-rc1~140^2~212^2~2.
* xlat/bpf_prog_types.in: Add BPF_PROG_TYPE_XDP introduced
by linux kernel commit v4.8-rc1~140^2~64^2~10.
pf_map_types.in
pf_prog_types.in
606d4b2d5488c9c628e16aaba26d33612d1b5ab9 29-Aug-2016 Eugene Syromyatnikov <evgsyr@gmail.com> xlat: add FUTEX_WAIT* commands with FUTEX_CLOCK_REALTIME bit set

* xlat/futexops.in: Add FUTEX_WAIT|FUTEX_CLOCK_REALTIME and
FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME values supported by linux kernel
since commit v4.5-rc1~172^2.
utexops.in
4b69c4736cb9b44e0bd7bef16f7f8602b5d2f113 16-Aug-2016 Dmitry V. Levin <ldv@altlinux.org> Add sparc64 specific ptrace constants

* xlat/ptrace_cmds.in: Add PTRACE_GETREGS64, PTRACE_SETREGS64,
PTRACE_GETFPREGS64, and PTRACE_SETFPREGS64.
trace_cmds.in
469fd109cdbd04215ce4efcd13b13485d1fb3ba5 28-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Consistently use extended regular expressions where appropriate

When grep or sed is used with basic regular expressions containing
'(', ')', '{', '}', '|', '?', and '+' special characters, convert them
to extended regular expressions for better portability and readability.

* generate_mpers_am.sh: Convert grep and sed BREs to EREs.
* Makefile.am (ioctl_redefs%.h, m%_type_defs.h, m%_funcs.h,
mpers_printer_decl_pattern, printers.h, %_printer_decls.h,
%_printer_defs.h): Convert sed BREs to EREs.
* generate_sen.sh: Likewise.
* linux/mips/genstub.sh: Likewise.
* make-dsc: Likewise.
* mpers.sh: Likewise.
* xlat/gen.sh: Likewise.
* tests/Makefile.am (ksysent.h): Likewise.
* tests/ksysent.sed: Likewise.
* tests/pc.test: Likewise.
* tests/strace-S.test: Likewise.
* tests/strace-V.test: Likewise.
* tests/strace-k.test: Likewise.
en.sh
37796793fa30cc9ea30bd204b137a9e89b22f8c8 28-Jul-2016 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD

Change-Id: I16791c37b9d75f7dc83fc1de20bd001035cf17e7
b412d75f747b3cd25300b76d536365b00096bd5e 22-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Fix corner cases of ipc syscall decoding

* xlat/ipccalls.in: New file.
* ipc.c: New file.
* Makefile.am (libstrace_a_SOURCES): Add it.
* linux/dummy.h (sys_ipc): Remove stub alias.
* syscall.c (decode_ipc_subcall): Treat 1st argument of ipc syscall
as "unsigned int".
[S390 || S390X]: Skip ipc cubcalls that have non-zero version.
[SPARC64]: Likewise, for the native personality.
Save ipc cubcall version for later use by specific ipc parsers.
* ipc_msg.c (SYS_FUNC(msgrcv)): Handle non-zero ipc subcall version.
[SPARC64]: Handle non-ipc_kludge case for the native personality.
* linux/subcall.h (msgrcv): Change nargs from 4 to 5.
* linux/s390/syscallent.h (ipc): Change nargs from 6 to 5.
* linux/s390x/syscallent.h (ipc): Likewise.
pccalls.in
e0a0d89bc522d931d83caec184d965ac94af6b0f 20-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Fix corner cases of socketcall syscall

* xlat/socketcalls.in: New file.
* socketcall.c: New file.
* Makefile.am (libstrace_a_SOURCES): Add it.
* linux/dummy.h (sys_socketcall): Remove stub alias.
* syscall.c (decode_socket_subcall): Treat 1st argument of socketcall
as "int". Do not substitute syscall until all socketcall arguments
have been fetched successfully.
ocketcalls.in
838306234faa2eda84c25449fa5130d45a761937 19-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> xlat/shutdown_modes.in: convert to modern syntax

* xlat/shutdown_modes.in: Replace open-coded xlat table with a list
of constants.
hutdown_modes.in
2850f745ca49f52b4b1266a6a1b1ec0c58f77c66 06-Jul-2016 Fabien Siron <fabien.siron@epita.fr> Add a general netlink socket parser

Introduce a general socket netlink parser which prints the header and
a string for the remaining part of the buffer. It doesn't handle all
the netlink flags and types yet because the parser needs more
information, this will be implemented later.

* net.c (decode_sockbuf): New function.
(SYS_FUNC(send), SYS_FUNC(sendto), SYS_FUNC(recv), SYS_FUNC(recvfrom)):
Use it instead of printstr.
* msghdr.c (print_msghdr): Pass IOV_DECODE_NETLINK to tprint_iov_upto()
for netlink sockets.
* netlink.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* defs.h (decode_netlink, getfdproto): New prototypes.
(iov_decode): Add IOV_DECODER_NETLINK.
* io.c (print_iovec): Use decode_netlink().
* util.c (getfdproto): Remove static keyword.
* xlat/netlink_flags.in: New file.
* xlat/netlink_types.in: New file.
etlink_flags.in
etlink_types.in
7499ce024402922e659dee14604173dfeea86be3 07-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Update sigaltstack SS_* constants

* xlat/sigaltstack_flags.in: Add SS_AUTODISARM introduced
by linux kernel commit v4.7-rc1~195^2.
igaltstack_flags.in
fdedff6e7e8769eb6a5fbf82e0ff2c947c44c0b2 07-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Update fs *_MAGIC constants

* xlat/fsmagic.in: Add NSFS_MAGIC, TRACEFS_MAGIC, BPF_FS_MAGIC,
and UDF_SUPER_MAGIC introduced by linux kernel commits
v3.19-rc1~53^2~7^2~1, v4.1-rc1~147^2~4, v4.4-rc1~141^2~17^2~1,
and v4.7-rc1~161^2, respectively.
smagic.in
ccd915a7ee4a406707c0464d303c000e24af2801 06-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Update KEYCTL_* constants

* xlat/keyctl_commands.in: Add KEYCTL_DH_COMPUTE introduced
by linux kernel commit v4.7-rc1~124^2~2^2~2^2.
eyctl_commands.in
c77c43406f63a6e241c981ac635cac1c1984f4aa 05-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Update input event constants

* xlat/evdev_keycode.in: Add KEY_* constants introduced
by linux kernel commit v4.7-rc6~32^2~6^2.
vdev_keycode.in
5e2437567cc2b0fae5e2caf3255cc305c75d7091 05-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Update RWF_* constants

* xlat/rwf_flags.in: Add RWF_DSYNC and RWF_SYNC introduced
by linux kernel commit v4.7-rc1~158^2~1.
wf_flags.in
021f2f365f169d24cd8d5c3fa361c97076d45727 05-Jul-2016 Dmitry V. Levin <ldv@altlinux.org> Update BPF_MAP_TYPE_* constants

* xlat/bpf_prog_types.in: Add BPF_PROG_TYPE_TRACEPOINT introduced
by linux kernel commit v4.7-rc1~154^2~332^2~6.
pf_prog_types.in
45ae937cedd8ddb477ead0a04158c79b214d5422 23-Jun-2016 Dmitry V. Levin <ldv@altlinux.org> net.c: fix printing AF_PACKET socket addresses

* defs.h (print_ifindex, print_sockaddr_data_ll): New prototypes.
* net.c: Stop including "xlat/af_packet_types.h".
(print_ifindex): Remove static keyword.
(print_sockaddr_data_l): Remove.
* sockaddr_ll.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* xlat/arp_hardware_types.in: New file.
* xlat/ethernet_protocols.in: Likewise.
rp_hardware_types.in
thernet_protocols.in
324f68d439c711cc1babfd5c88a6c45e39365e17 23-Jun-2016 Dmitry V. Levin <ldv@altlinux.org> net.c: fix printing AF_BLUETOOTH socket addresses

* xlat/hci_channels.in: New file.
* net.c (print_sockaddr_data_raw): New function.
(print_sockaddr): Use it.
[HAVE_BLUETOOTH_BLUETOOTH_H]: Include "xlat/hci_channels.h".
[HAVE_BLUETOOTH_BLUETOOTH_H] (print_sockaddr_data_bt): Fix printing
sockaddr_hci, sockaddr_sco, sockaddr_rc, and sockaddr_l2 structures.
ci_channels.in
72fd77a48340fb469391e572558fc3734434f175 21-Jun-2016 Dmitry V. Levin <ldv@altlinux.org> xlat/addrfams.in: provide fallback definitions

* xlat/addrfams.in: add fallback definitions for constants.
ddrfams.in
b01b384871409dbaca3ffbfffb02a91ed25f6701 21-Jun-2016 Dmitry V. Levin <ldv@altlinux.org> Update AF_* constants

* xlat/addrfams.in: Add AF_QIPCRTR.
ddrfams.in
e139cbe96968a0db32fa5a01c1619483df3e92bd 21-Jun-2016 Dmitry V. Levin <ldv@altlinux.org> Consistently use AF_UNIX over AF_LOCAL

As these constants have the same value 1, let's use and print only one
of them, e.g. AF_UNIX.

* xlat/addrfams.in (AF_LOCAL): Remove.
* tests/net-accept-connect.c (main): Replace AF_LOCAL with AF_UNIX.
* tests/net-y-unix.c: Likewise.
* tests/net-yy-unix.c: Likewise.
* tests/netlink_unix_diag.c: Likewise.
ddrfams.in
900503c90d6125909e76579cf8fc5bea89cad63f 06-Jun-2016 Dmitry V. Levin <ldv@altlinux.org> Do not check for old sysctl enums

Assume that sysctl enums defined since linux v2.6 are always defined,
with a signle exception: check for CTL_PROC which definition was removed
in v2.6.18 and restored later in v2.6.23.

* configure.ac (AC_CHECK_DECLS): Remove old constants.
* xlat/sysctl_kern.in: Mark constants older than KERN_PRINTK_RATELIMIT
as unconditional.
* xlat/sysctl_net.in: Mark constants older than NET_LLC
as unconditional.
* xlat/sysctl_net_core.in: Mark constants older than NET_CORE_BUDGET
as unconditional.
* xlat/sysctl_net_ipv4.in: Mark constants older than
NET_IPV4_IGMP_MAX_MSF as unconditional.
* xlat/sysctl_net_ipv4_conf.in: Mark constants older than
NET_IPV4_CONF_FORCE_IGMP_VERSION as unconditional.
* xlat/sysctl_net_ipv4_route.in: Mark constants older than
NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS as unconditional.
* xlat/sysctl_net_ipv6.in: Mark constants older than
NET_IPV6_MLD_MAX_MSF as unconditional.
* xlat/sysctl_net_ipv6_route.in: Mark constants older than
NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS as unconditional.
* xlat/sysctl_net_unix.in: Mark all constants as unconditional.
* xlat/sysctl_root.in: Mark constants older than CTL_ARLAN
as unconditional.
* xlat/sysctl_vm.in: Mark constants older than VM_MAX_MAP_COUNT
as unconditional.
ysctl_kern.in
ysctl_net.in
ysctl_net_core.in
ysctl_net_ipv4.in
ysctl_net_ipv4_conf.in
ysctl_net_ipv4_route.in
ysctl_net_ipv6.in
ysctl_net_ipv6_route.in
ysctl_net_unix.in
ysctl_root.in
ysctl_vm.in
0e2c5e226bd4388108de25967978ea2fc8387313 06-Jun-2016 Dmitry V. Levin <ldv@altlinux.org> xlat: extend syntax

* xlat/gen.sh: Implement #conditional directive that turns on
preprocessor checks turned off earlier by #unconditional directive.
en.sh
a618f75b70fc6921a50568225320dfd022c9b3a0 03-Jun-2016 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD

Change-Id: I818627080b47fdadcd619d6220579fecbb6bc28c
aa7787f85b8ff2e68ac1a2946e630440f9cb6c79 24-May-2016 Dmitry V. Levin <ldv@altlinux.org> xlat/btrfs_dev_stats_values.in: cleanup

* xlat/btrfs_dev_stats_values.in: Remove HAVE_DECL_* defines,
use #unconditional instead.
trfs_dev_stats_values.in
306a2612a564465e9dd588b4236cd36a2d087ad8 24-May-2016 Dmitry V. Levin <ldv@altlinux.org> Add xlat/fiemap_flags.in and xlat/fiemap_extent_flags.in

* xlat/fiemap_flags.in: New file.
* xlat/fiemap_extent_flags.in: Likewise.
iemap_extent_flags.in
iemap_flags.in
8cc6962216d302525be2ba4575932061bb4abd15 19-May-2016 Jeff Mahoney <jeffm@suse.com> ioctl: add decoding support for btrfs ioctls

* btrfs.c: New file.
* file_ioctl.c: Likewise.
* Makefile.am (strace_SOURCES): Add them.
* configure.ac (AC_CHECK_HEADERS): Add linux/btrfs.h.
(AC_CHECK_MEMBERS): Add struct btrfs_ioctl_feature_flags.compat_flags,
struct btrfs_ioctl_fs_info_args.nodesize,
struct btrfs_ioctl_defrag_range_args.start,
and struct btrfs_ioctl_search_args_v2.buf_size.
(AC_CHECK_DECLS): Add BTRFS_COMPRESS_* enums.
* defs.h (btrfs_ioctl, file_ioctl): New prototypes.
* ioctl.c (ioctl_decode) [HAVE_LINUX_BTRFS_H]: Use btrfs_ioctl.
* xlat/btrfs_balance_args.in: New file.
* xlat/btrfs_balance_ctl_cmds.in: Likewise.
* xlat/btrfs_balance_flags.in: Likewise.
* xlat/btrfs_balance_state.in: Likewise.
* xlat/btrfs_compress_types.in: Likewise.
* xlat/btrfs_defrag_flags.in: Likewise.
* xlat/btrfs_dev_replace_cmds.in: Likewise.
* xlat/btrfs_dev_replace_results.in: Likewise.
* xlat/btrfs_dev_replace_state.in: Likewise.
* xlat/btrfs_dev_stats_flags.in: Likewise.
* xlat/btrfs_dev_stats_values.in: Likewise.
* xlat/btrfs_features_compat.in: Likewise.
* xlat/btrfs_features_compat_ro.in: Likewise.
* xlat/btrfs_features_incompat.in: Likewise.
* xlat/btrfs_key_types.in: Likewise.
* xlat/btrfs_qgroup_ctl_cmds.in: Likewise.
* xlat/btrfs_qgroup_inherit_flags.in: Likewise.
* xlat/btrfs_qgroup_limit_flags.in: Likewise.
* xlat/btrfs_qgroup_status_flags.in: Likewise.
* xlat/btrfs_scrub_flags.in: Likewise.
* xlat/btrfs_send_flags.in: Likewise.
* xlat/btrfs_snap_flags_v2.in: Likewise.
* xlat/btrfs_space_info_flags.in: Likewise.
* xlat/btrfs_tree_objectids.in: Likewise.
trfs_balance_args.in
trfs_balance_ctl_cmds.in
trfs_balance_flags.in
trfs_balance_state.in
trfs_compress_types.in
trfs_defrag_flags.in
trfs_dev_replace_cmds.in
trfs_dev_replace_results.in
trfs_dev_replace_state.in
trfs_dev_stats_flags.in
trfs_dev_stats_values.in
trfs_features_compat.in
trfs_features_compat_ro.in
trfs_features_incompat.in
trfs_key_types.in
trfs_qgroup_ctl_cmds.in
trfs_qgroup_inherit_flags.in
trfs_qgroup_limit_flags.in
trfs_qgroup_status_flags.in
trfs_scrub_flags.in
trfs_send_flags.in
trfs_snap_flags_v2.in
trfs_space_info_flags.in
trfs_tree_objectids.in
a9fdbf1d5962fd9a0a2d7306ea23556cb2bc3f92 17-May-2016 Dmitry V. Levin <ldv@altlinux.org> Update SOL_* constants

* xlat/socketlayers.in: Add SOL_KCM.
ocketlayers.in
85acd1304e6833ca422a40ac9e3041bb127c36ba 17-May-2016 Dmitry V. Levin <ldv@altlinux.org> Update MSG_* constants

* xlat/msg_flags.in: Add MSG_BATCH.
sg_flags.in
72712cbc584544383b7fbf6ed9b5bd50b248d359 17-May-2016 Dmitry V. Levin <ldv@altlinux.org> Update AF_* constants

* xlat/addrfams.in: Add AF_KCM.
ddrfams.in
809ee3e46c8bbcc47d81e86e8237afc085f77ea9 12-May-2016 Dmitry V. Levin <ldv@altlinux.org> ptrace: decode addr argument of PTRACE_PEEKSIGINFO request

The addr argument of PTRACE_PEEKSIGINFO request is a pointer to
a struct ptrace_peeksiginfo_args.

* process.c: Include "xlat/ptrace_peeksiginfo_flags.h".
(SYS_FUNC(ptrace)): Print addr argument of PTRACE_PEEKSIGINFO request
as a struct ptrace_peeksiginfo_args.
* xlat/ptrace_peeksiginfo_flags.in: New file.
trace_peeksiginfo_flags.in
a6dd09428707bfb87e27abcb0c8f7066e2eaf988 11-May-2016 Dmitry V. Levin <ldv@altlinux.org> Implement decoding of preadv2 and pwritev2 syscalls

* io.c: Include "xlat/rwf_flags.h".
(do_preadv, do_pwritev, SYS_FUNC(preadv2), SYS_FUNC(pwritev2)):
New functions.
(SYS_FUNC(preadv)): Use do_preadv.
(SYS_FUNC(pwritev)): Use do_pwritev.
* linux/32/syscallent.h (preadv2, pwritev2): New entries.
* linux/64/syscallent.h: Likewise.
* linux/arm/syscallent.h: Likewise.
* linux/hppa/syscallent.h: Likewise.
* linux/i386/syscallent.h: Likewise.
* linux/ia64/syscallent.h: Likewise.
* linux/m68k/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/sparc/syscallent.h: Likewise.
* linux/sparc64/syscallent.h: Likewise.
* linux/x32/syscallent.h: Likewise.
* linux/x86_64/syscallent.h: Likewise.
* syscall.c (dumpio): Handle SEN_preadv2 and SEN_pwritev2.
* xlat/rwf_flags.in: New file.
* NEWS: Mention parsers of new syscalls.
wf_flags.in
5d1216a56b3218716cc8192cb08a3a3e817ea57d 10-May-2016 Dr. David Alan Gilbert <dgilbert@redhat.com> Decode UFFDIO_* ioctls

Decode the ioctls associated with the userfaultfd fd.
Note that they tend to read from and also return result in it's data
structure.

* configure.ac (AC_CHECK_HEADERS): Add linux/userfaultfd.h.
* userfaultfd.c [HAVE_LINUX_USERFAULTFD_H]: Add ioctl decoder.
* defs.h (uffdio_ioctl): New prototype.
* ioctl.c (ioctl_decode) [HAVE_LINUX_USERFAULTFD_H]: Wire in
uffdio_ioctl.
* xlat/uffd_*.in: Create flag xlat for all the IOCTLs.
ffd_api_flags.in
ffd_copy_flags.in
ffd_register_ioctl_flags.in
ffd_register_mode_flags.in
ffd_zeropage_flags.in
1d17ac7c32759abeb0e9b127523d61477deb63df 05-May-2016 Dmitry V. Levin <ldv@altlinux.org> xlat: do not strip "1<<" prefix from xlat strings

* xlat/gen.sh (cond_xlat, gen_header): Do not strip "1<<" prefix
from xlat strings to fix incorrect output.
* tests/caps.awk: Update.

Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
en.sh
7a1c25ebc4caa172bf043929982c69414a7e4d86 29-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> xlat: make "1<<val" syntax work with 64-bit values

* xlat/gen.sh(cond_xlat, gen_header): Generate 1UUL<<val
for 1<<val syntax.

Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
en.sh
9ae46690bd49431dcec13b2fe3ecd5331a8ad220 29-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> xlat: extend syntax with #val_type directive

When #val_type directive is encountered, gen.sh starts using
XLAT_TYPE/XLAT_TYPE_PAIR macros instead of XLAT/XLAT_PAIR,
with #val_type's argument as a type.

For example, "#val_type uint64_t" means values of type uint64_t.

* xlat/gen.sh (gen_header, print_xlat, print_xlat_pair):
Add val_type support.
en.sh
6b040fc505e701557f0e29b82e693696a095c938 29-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> xlat/gen.sh: prepare for adding #val_type directive support

This is essentially a no-op change that makes the following change
easier to read.

* xlat/gen.sh (print_xlat, print_xlat_pair): New functions.
(cond_xlat, gen_header): Use them.
en.sh
3f25b65d63863d0bf8463757062d6d60e8e42caf 29-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> xlat: generate xlat pairs using new XLAT_PAIR macro

Before this change there were two forms of xlat entries: those that use XLAT
or XLAT_END macros, and others verbatim entries. This change converts
the latter to use new XLAT_PAIR macro.

This is necessary for the upcoming change of xlat.val type.

* xlat.h (XLAT_PAIR): New macro.
* xlat/gen.sh (cond_xlat, gen_header): Use it.
en.sh
9d2b6b9b525afe5dc925e024b6f25051d601cae1 26-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> Move definitions of MPOL_* constants to xlat files

* mem.c (MPOL_DEFAULT, MPOL_PREFERRED, MPOL_BIND, MPOL_INTERLEAVE):
Move to xlat/policies.in.
(MPOL_F_NODE, MPOL_F_ADDR): Move to xlat/mempolicyflags.in.
(MPOL_MF_STRICT, MPOL_MF_MOVE, MPOL_MF_MOVE_ALL): Move
to xlat/mbindflags.in.
bindflags.in
empolicyflags.in
olicies.in
96cf7d79b3a45288235bad1f5fa24c695a73290c 26-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> Add default values for RENAME_* constants

* xlat/rename_flags.in: Add default values.
ename_flags.in
f3ac12990dd4e88f5842972caec5958523f95069 25-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> statfs: print f_flags field only when ST_VALID flag is set

* statfs.c (print_statfs_flags): New function.
(printstatfs, printstatfs64, printcompat_statfs64): Use it.
* xlat/statfs_flags.in (ST_VALID): Move to the head of the list.
* tests/statfs.expected: Update.
tatfs_flags.in
b4a478dbfab2e0bb4ddcd0c600d59efaa7519e07 25-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> statfs: decode f_flags field of struct statfs

* xlat/statfs_flags.in: New file.
* statfs.c: Include "xlat/statfs_flags.h".
(printstatfs) [_STATFS_F_FLAGS]: Print statbuf.f_flags as flags.
(printstatfs64) [_STATFS_F_FLAGS]: Likewise.
(printcompat_statfs64): Likewise.
* tests/statfs.expected: Update.
tatfs_flags.in
9eea8a7262d2287a0de524ba433ad2592d4b2479 09-Apr-2016 Elliott Hughes <enh@google.com> Regenerate xlat/prctl_options.h.

Change-Id: Ie9152099292c5abfa0393a768bcae73152469d34
rctl_options.h
31d221f8cefc4b6ac23bbbd34888cf45f77e7381 09-Apr-2016 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
612368b59e7517a34ff23a319329962b6a25c88c 06-Apr-2016 Elliott Hughes <enh@google.com> Improve decoding of Android's PR_SET_VMA prctl

Before:

prctl(0x53564d41 /* PR_??? */, 0, 0x7f8ab53000, 4096,
"atexit handlers") = 0

After:

prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, 0x7fa8cbd000, 4096,
"atexit handlers") = 0

* prctl.c (SYS_FUNC(prctl)) [__ANDROID__]: Do not define PR_SET_VMA.
* Hard-code PR_SET_VMA_ANON_NAME, the only current sub-option.
* xlat/prctl_options.in: Add PR_SET_VMA.
rctl_options.in
c2fd2095ed27cded7af344d6053de6a437c6513b 06-Apr-2016 Elliott Hughes <enh@google.com> Update generated files.

Change-Id: I4cc588bf376f9a6a4849e3001576066fc8544b04
akemodule.am
pf_map_types.h
lone_flags.h
pollevents.h
smagic.h
f_dqblk_valid.h
f_dqinfo_flags.h
f_dqinfo_valid.h
advise_cmds.h
trace_cmds.h
uota_formats.h
uotacmds.h
uotatypes.h
igsegv_codes.h
ockipv6options.h
ockoptions.h
ync_file_range_flags.h
fs_dqblk_flags.h
fs_quota_flags.h
157c3bc26740681710b44efe7416b30909039203 06-Apr-2016 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
27bff90e867cf0f9c162fb265f0e9a5ce3c0f39f 06-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> Add default values for SYNC_FILE_RANGE_* constants

* xlat/sync_file_range_flags.in: Add default values.
ync_file_range_flags.in
71fe62e6b7083159d19cd2762c3f6d25511844e5 04-Apr-2016 Dmitry V. Levin <ldv@altlinux.org> Replace PF_* constants with AF_*

AF_* constants appear to be more standardized, and in practice there's
always a one to one relationship between AF_* and PF_*, so let's
use AF_* instead of PF_*.

* xlat/domains.in: Remove.
* net.c: Do not define PF_UNSPEC. Stop including "xlat/domains.h".
Replace PF_* with AF_*. Replace domains with addrfams.
* tests/inet-cmsg.c: Replace PF_INET with AF_INET.
* tests/net-yy-inet.c: Likewise.
* tests/netlink_inet_diag.c: Likewise.
* tests/net-accept-connect.c: Replace PF_LOCAL with AF_LOCAL.
* tests/net-y-unix.c: Likewise.
* tests/net-yy-unix.c: Likewise.
* tests/netlink_unix_diag.c: Likewise.
* tests/net.expected: Replace PF_ with AF_.
omains.in
4ce6b5e0e8a68b6be039e000466e2cb0fb65c3bb 29-Mar-2016 Dmitry V. Levin <ldv@altlinux.org> Update Q_* constants

* xlat/quotacmds.in: Add Q_GETNEXTQUOTA and Q_XGETNEXTQUOTA introduced
by linux kernel commits v4.6-rc1~65^2~9^2~5 and v4.6-rc1~65^2~9^2~6.
uotacmds.in
c4d67d41415186c55323af38efa8b75d8d39c191 29-Mar-2016 Dmitry V. Levin <ldv@altlinux.org> Update CLONE_* constants

* xlat/clone_flags.in: Rename CLONE_STOPPED to CLONE_NEWCGROUP.
The former was removed by linux kernel commit v2.6.38-rc1~217.
The latter was introduced by linux kernel commit v4.6-rc1~67^2~8.
lone_flags.in
54cc3e1d21a1757be50c1726db765c7ca6750649 29-Mar-2016 Dmitry V. Levin <ldv@altlinux.org> Update BPF_MAP_TYPE_* constants

* xlat/bpf_map_types.in: Add BPF_MAP_TYPE_PERCPU_HASH,
BPF_MAP_TYPE_PERCPU_ARRAY, and BPF_MAP_TYPE_STACK_TRACE introduced by
linux kernel commits v4.6-rc1~91^2~326^2~5, v4.6-rc1~91^2~326^2~4, and
v4.6-rc1~91^2~212^2~1, respectively.
pf_map_types.in
ce515ddda4c8d165a7b0c654ece29c5c21d4665d 29-Mar-2016 Dmitry V. Levin <ldv@altlinux.org> Update SO_* constants

* xlat/sockoptions.in: Add SO_CNX_ADVICE introduced by linux kernel
commit v4.6-rc1~91^2~176.
ockoptions.in
ebd1124bce702a0c589aa5e87d51fccb0ca4407f 29-Mar-2016 Dmitry V. Levin <ldv@altlinux.org> Update SEGV_* constants

* xlat/sigsegv_codes.in: Add SEGV_PKUERR introduced by linux kernel
commit v4.6-rc1~68^2~23.
igsegv_codes.in
aa7b60de3e4fcdba8ba639fca66c5bd43e63bc7f 23-Feb-2016 Dmitry V. Levin <ldv@altlinux.org> Update EPOLL* constants

* xlat/epollevents.in: Add EPOLLWAKEUP and EPOLLEXCLUSIVE.
pollevents.in
38437688ecf7f9ce2ddd096a386cc87b23252b5a 13-Feb-2016 Dmitry V. Levin <ldv@altlinux.org> Update fs *_MAGIC constants

* xlat/fsmagic.in: Add CGROUP2_SUPER_MAGIC and OVERLAYFS_SUPER_MAGIC.
smagic.in
b9c8e66f46ca09fe6d97b5784f41020225e931bc 13-Feb-2016 Dmitry V. Levin <ldv@altlinux.org> Update IPV6_* constants

* xlat/sockipv6options.in: Add IPV6_HDRINCL.
ockipv6options.in
c257fbe24dea9c301414d160b134cd28d455c3ad 13-Feb-2016 Dmitry V. Levin <ldv@altlinux.org> Update SO_* constants

* xlat/sockoptions.in: Add SO_ATTACH_REUSEPORT_CBPF
and SO_ATTACH_REUSEPORT_EBPF.
ockoptions.in
12d5e7c8c30fea2f47e45b00532bfe2198db7bae 13-Feb-2016 Dmitry V. Levin <ldv@altlinux.org> Update MADV_* constants

* xlat/madvise_cmds.in: Add MAD_FREE.
advise_cmds.in
60d48928662fc4185b2110b9255e82b620cea672 19-Jan-2016 Dmitry V. Levin <ldv@altlinux.org> quotactl: add decoding of if_dqinfo.dqi_flags constants

* xlat/if_dqinfo_flags.in: New file.
* quota.c: Include "xlat/if_dqinfo_flags.h".
(decode_cmd_data): Print struct if_dqinfo.dqi_flags using printflags.
f_dqinfo_flags.in
2d544968feccb0721975fb3bd75ff92329360c92 17-Jan-2016 Dmitry V. Levin <ldv@altlinux.org> Update quotactl constants

* xlat/quota_formats.in: Add QFMT_OCFS2 and QFMT_VFS_V1.
* xlat/quotacmds.in: Add Q_XGETQSTATV.
* xlat/quotatypes.in: Add PRJQUOTA.
* xlat/xfs_quota_flags.in: Add FS_QUOTA_PDQ_ACCT and FS_QUOTA_PDQ_ENFD.
uota_formats.in
uotacmds.in
uotatypes.in
fs_quota_flags.in
2105a9737c49a6a5e96b6a025514f08d8db7ef7b 16-Jan-2016 Dmitry V. Levin <ldv@altlinux.org> Move definitions of quotactl constants to xlat files

* quota.c (Q_*): Move to xlat/quotacmds.in.
(USRQUOTA, GRPQUOTA): Move to xlat/quotatypes.in.
(QFMT_VFS_OLD, QFMT_VFS_V0): Move to xlat/quota_formats.in.
(XFS_QUOTA_*): Move to xlat/xfs_quota_flags.in.
(XFS_*_QUOTA): Move to xlat/xfs_dqblk_flags.in.
(QIF_*): Move to xlat/if_dqblk_valid.in.
(IIF_*): Move to xlat/if_dqinfo_valid.in.
f_dqblk_valid.in
f_dqinfo_valid.in
uota_formats.in
uotacmds.in
uotatypes.in
fs_dqblk_flags.in
fs_quota_flags.in
65f8d39278004a6a57457aea9d201203ec6ee383 12-Jan-2016 Dmitry V. Levin <ldv@altlinux.org> Update PTRACE_* constants

* ptrace.h (PTRACE_SECCOMP_GET_FILTER): Define.
* xlat/ptrace_cmds.in: Add PTRACE_SECCOMP_GET_FILTER.
trace_cmds.in
729cadbb4089fb56b6876f04c224668e9eb6177a 04-Jan-2016 Elliott Hughes <enh@google.com> Add new generated files.

Change-Id: I309d37c68129ff60fd5c1dd33460152d9dd83563
akemodule.am
ersonality_flags.h
ersonality_types.h
06ebf8d19e5fcfaaaf150b986278c7dcc689ba07 04-Jan-2016 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
727508b0776278e9239f50d65ea3bb849e4e7803 26-Dec-2015 Dmitry V. Levin <ldv@altlinux.org> Enhance personality syscall decoding

* xlat/personality_options.in: Split into ...
* xlat/personality_types.in: ... personality types and ...
* xlat/personality_flags.in: ... personality flags.
* personality.c: Include "xlat/personality_types.h"
and "xlat/personality_flags.h" instead of "xlat/personality_options.h".
(SYS_FUNC(personality)): Print PER_MASK part of personality as
a symbolic value, and the rest of personality as a set of flags.
* tests/personality.c (main): Add more test cases.
* tests/personality.test: Update.
ersonality_flags.in
ersonality_options.in
ersonality_types.in
3eba72b9ab03afefad19f233798aa3977ba02fce 24-Dec-2015 Dmitry V. Levin <ldv@altlinux.org> Add personality emulation flags

* xlat/personality_options.in: Add UNAME26, ADDR_NO_RANDOMIZE,
FDPIC_FUNCPTRS, MMAP_PAGE_ZERO, ADDR_COMPAT_LAYOUT, READ_IMPLIES_EXEC,
ADDR_LIMIT_32BIT, SHORT_INODE, WHOLE_SECONDS, STICKY_TIMEOUTS,
and ADDR_LIMIT_3GB.
ersonality_options.in
38a34c9349267c99ce1ddbd0b6e985147415d355 17-Dec-2015 Dmitry V. Levin <ldv@altlinux.org> Add copyright headers to some files which lack them

Before this change, all files that exist since 20th century had
copyright headers, while most files that appeared later didn't. This
change fixes the inconsistency by adding missing copyright headers.

It doesn't mean that copyright headers became maintained. In my view,
git history provides much better information on this subject and is much
more accurate than copyright headers.
en.sh
8948469fa2b0466425995b7e843b1659eb2779e7 11-Dec-2015 Elliott Hughes <enh@google.com> Regenerate generated strae files.

Change-Id: Iae3cc0d29ade6c224fff43ca9690ef1f860359ad
akemodule.am
ccess_flags.h
clipc.h
ddrfams.h
djtimex_modes.h
djtimex_state.h
djtimex_status.h
dvise.h
f_packet_types.h
rchvals.h
t_flags.h
tomic_ops.h
udit_arch.h
aud_options.h
lkpg_ops.h
ootflags1.h
ootflags2.h
ootflags3.h
pf_class.h
pf_commands.h
pf_map_types.h
pf_map_update_elem_flags.h
pf_miscop.h
pf_mode.h
pf_op_alu.h
pf_op_jmp.h
pf_prog_types.h
pf_rval.h
pf_size.h
pf_src.h
sg_protocol.h
sg_subprotocol.h
t_protocols.h
acheflush_scope.h
ap.h
ap_mask0.h
ap_mask1.h
ap_version.h
lockflags.h
locknames.h
lone_flags.h
puclocknames.h
elete_module_flags.h
irent_types.h
omains.h
fd_flags.h
pollctls.h
pollevents.h
pollflags.h
vdev_abs.h
vdev_autorepeat.h
vdev_ev.h
vdev_ff_status.h
vdev_ff_types.h
vdev_keycode.h
vdev_leds.h
vdev_misc.h
vdev_mtslots.h
vdev_prop.h
vdev_relative_axes.h
vdev_snd.h
vdev_switch.h
vdev_sync.h
_owner_types.h
_seals.h
alloc_flags.h
an_classes.h
an_event_flags.h
an_init_flags.h
an_mark_flags.h
cntl64cmds.h
cntlcmds.h
dflags.h
lockcmds.h
smagic.h
utexops.h
utexwakecmps.h
utexwakeops.h
etrandom_flags.h
etsockipoptions.h
etsockipv6options.h
cmpfilterflags.h
f_dqblk_valid.h
f_dqinfo_valid.h
ffflags.h
net_protocols.h
notify_flags.h
notify_init_flags.h
octl_dirs.h
oprio_class.h
oprio_who.h
p_cmsg_types.h
pc_msg_flags.h
timer_which.h
cmp_types.h
exec_arch_values.h
exec_file_load_flags.h
exec_load_flags.h
ey_perms.h
ey_reqkeys.h
ey_spec.h
eyctl_commands.h
ockfcmds.h
oop_crypt_type_options.h
oop_flags_options.h
advise_cmds.h
bindflags.h
ctl_sync.h
embarrier_cmds.h
emfd_create_flags.h
empolicyflags.h
lock_flags.h
lockall_flags.h
map_flags.h
map_prot.h
odem_flags.h
odetypes.h
odule_init_flags.h
ount_flags.h
ove_pages_flags.h
remap_flags.h
sg_flags.h
sgctl_flags.h
td_file_mode_options.h
td_flags_options.h
td_mode_options.h
td_nandecc_options.h
td_otp_options.h
td_type_options.h
etlink_protocols.h
otifyflags.h
t_descriptor_types.h
pen_access_modes.h
pen_mode_flags.h
penmodessol.h
acket_mreq_type.h
erf_event_open_flags.h
ersonality_options.h
olicies.h
ollflags.h
r_cap_ambient.h
r_mce_kill.h
r_mce_kill_policy.h
r_set_mm.h
r_tsc.h
r_unalign_flags.h
rctl_options.h
riorities.h
tp_flags_options.h
trace_cmds.h
trace_events.h
trace_setoptions_flags.h
uota_formats.h
uotacmds.h
uotatypes.h
ename_flags.h
esource_flags.h
esources.h
ched_flags.h
chedulers.h
cmvals.h
ecbits.h
eccomp_filter_flags.h
eccomp_mode.h
eccomp_ops.h
eccomp_ret_action.h
emctl_flags.h
emop_flags.h
etsockipoptions.h
etsockipv6options.h
fd_flags.h
g_io_dxfer_direction.h
hm_flags.h
hm_resource_flags.h
hmctl_flags.h
hutdown_modes.h
igact_flags.h
igaltstack_flags.h
igbus_codes.h
igchld_codes.h
igemt_codes.h
igev_value.h
igfpe_codes.h
igill_codes.h
iginfo_codes.h
igpoll_codes.h
igprocmaskcmds.h
igprof_codes.h
igsegv_codes.h
igsys_codes.h
igtrap_codes.h
ock_type_flags.h
ocketlayers.h
ockipoptions.h
ockipv6options.h
ockipxoptions.h
ockoptions.h
ockpacketoptions.h
ockrawoptions.h
ocksctpoptions.h
ocktcpoptions.h
ocktypes.h
plice_flags.h
ram_alloc_flags.h
wap_flags.h
ync_file_range_flags.h
ysctl_kern.h
ysctl_net.h
ysctl_net_core.h
ysctl_net_ipv4.h
ysctl_net_ipv4_conf.h
ysctl_net_ipv4_route.h
ysctl_net_ipv6.h
ysctl_net_ipv6_route.h
ysctl_net_unix.h
ysctl_root.h
ysctl_vm.h
yslog_action_type.h
ysmips_operations.h
cflsh_options.h
cxonc_options.h
imerfdflags.h
bi_volume_props.h
bi_volume_types.h
ffd_flags.h
mount_flags.h
sagewho.h
4l2_buf_flags.h
4l2_buf_types.h
4l2_capture_modes.h
4l2_colorspaces.h
4l2_control_classes.h
4l2_control_flags.h
4l2_control_ids.h
4l2_control_types.h
4l2_device_capabilities_flags.h
4l2_fields.h
4l2_format_description_flags.h
4l2_frameinterval_types.h
4l2_framesize_types.h
4l2_input_types.h
4l2_memories.h
4l2_streaming_capabilities.h
ait4_options.h
aitid_types.h
hence_codes.h
attrflags.h
fs_dqblk_flags.h
fs_quota_flags.h
f4b2cf666b676496f413064761d44bbd93522dbb 10-Dec-2015 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD

Change-Id: I65e4a0c7b98d3a813829088e8bcb34ed7d71fa3e
97af1be4c6449c7efbb3537d2005a2868f0af4c2 07-Dec-2015 Dmitry V. Levin <ldv@altlinux.org> Update umount2 flags

* umount.c (MNT_FORCE, MNT_DETACH, MNT_EXPIRE): Move definitions ...
* xlat/umount_flags.in: ... here. Add UMOUNT_NOFOLLOW.
mount_flags.in
eb76c4be150102e5ddf2f2cf90673d8d7cda9afd 06-Dec-2015 Dmitry V. Levin <ldv@altlinux.org> prctl: add PR_CAP_AMBIENT parser

* xlat/pr_cap_ambient.in: New file.
* prctl.c: Include "xlat/pr_cap_ambient.h".
(SYS_FUNC(prctl)): Handle PR_CAP_AMBIENT.
r_cap_ambient.in
b165910f98ce3ef5b809a363050456f182b6b53a 06-Dec-2015 Dmitry V. Levin <ldv@altlinux.org> Fix build on systems that lack EM_FRV definition

* xlat/audit_arch.in: Guard AUDIT_ARCH_FRV with EM_FRV check.
udit_arch.in
2154702865b489cfb14a649f6a3217ded32bf5f9 05-Dec-2015 Dmitry V. Levin <ldv@altlinux.org> fcntl: skip F_GETLK64, F_SETLK64, and F_SETLKW64 in fcntl syscall parser

As the kernel recognizes F_GETLK64, F_SETLK64, and F_SETLKW64 commands
in fcntl64 syscall only, do not parse their structures in fcntl parser.

* xlat/fcntlcmds.in: Move F_GETLK64, F_SETLK64, and F_SETLKW64 ...
* xlat/fcntl64cmds.in: ... here.
* fcntl.c: Include "xlat/fcntl64cmds.h".
(print_fcntl): Move printing of first two syscall arguments
and handling of F_GETLK64, F_SETLK64, and F_SETLKW64 commands ...
(SYS_FUNC(fcntl), SYS_FUNC(fcntl64)): ... here.
* tests/fcntl.c: New file, based on struct_flock.c.
* tests/fcntl64.c: Likewise.
* tests/struct_flock.c (test_flock_einval, create_sample): New functions.
(test_flock): Use test_flock_einval.
(test_flock64, main): Remove.
* tests/fcntl.test: New test.
* tests/fcntl64.test: Likewise.
* tests/struct_flock.test: Remove.
* tests/Makefile.am (check_PROGRAMS): Add fcntl and fcntl64,
remove struct_flock.
(TESTS): Add fcntl.test and fcntl64.test, remove struct_flock.test.
(EXTRA_DIST) Add struct_flock.c.
* tests/.gitignore: Add fcntl and fcntl64, remove struct_flock.
cntl64cmds.in
cntlcmds.in
c7c5270966c4193d19ad4236ac0f33fba7499805 09-Oct-2015 Dmitry V. Levin <ldv@altlinux.org> fcntl.c: implement decoding for all known operations

* xlat/f_owner_types.in: New file.
* xlat/f_seals.in: Likewise.
* fcntl.c: Include "xlat/f_owner_types.h" and "xlat/f_seals.h".
(print_f_owner_ex): New function.
(SYS_FUNC(fcntl)): Use it.
Handle F_SETPIPE_SZ, F_GETPIPE_SZ, F_OFD_SETLKW,
F_OFD_SETLK, F_SETOWN_EX, F_ADD_SEALS, F_SETSIG,
F_OFD_GETLK, F_GETOWN_EX, F_GET_SEALS, F_GETSIG.
_owner_types.in
_seals.in
bcc73975fd30ae58ae187627f2c80296fb92cb61 09-Oct-2015 Dmitry V. Levin <ldv@altlinux.org> Update F_* constants

* xlat/fcntlcmds.in: Add F_SETOWN_EX, F_GETOWN_EX, F_GETOWNER_UIDS,
F_OFD_GETLK, F_OFD_SETLK, F_OFD_SETLKW, and F_CANCELLK.
Remove F_ALLOCSP, F_BLKSIZE, F_BLOCKS, F_CHKFL, F_CNVT, F_DUP2FD,
F_ISSTREAM, F_NPRIV, F_PRIV, F_QUOTACL, F_REVOKE, F_RGETLK, F_RSETLK,
F_RSETLKW, F_SHARE, and F_UNSHARE.
Add default values.
cntlcmds.in
db62a712f9d665199a6b7f07e0e620a66278bc26 09-Oct-2015 Dmitry V. Levin <ldv@altlinux.org> Update LOCK_* constants

* xlat/flockcmds.in: Add LOCK_MAND, LOCK_READ, LOCK_WRITE, and LOCK_RW.
Add default values.
lockcmds.in
a56a81c1ec0495b4f644d901ddaa2b54cb3122fe 24-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Remove parsers of getpmsg and putpmsg syscalls

These system calls are not implemented in the Linux kernel.

* linux/dummy.h(getpmsg, putpmsg): Move to the list of deprecated
syscalls.
* Makefile.am (strace_SOURCES): Remove stream.c.
* stream.c: Remove.
* xlat/pmsgflags.in: Remove.
msgflags.in
aae525f94edb1f797159e86685798e4681d51756 24-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Remove parser of query_module syscall

Since query_module syscall is present only in kernels before Linux 2.6
and strace does not support those kernels, there is no use to keep this
parser any longer.

* bjm.c: Do not include <sys/*>, "xlat/qm_which.h",
and "xlat/modflags.h".
(MOD_*, QM_*, module_symbol, module_info, SYS_FUNC(query_module)):
Remove.
* linux/dummy.h (sys_query_module): Add stub alias.
* xlat/modflags.in: Remove.
* xlat/qm_which.in: Remove.
odflags.in
m_which.in
ea1970500ed1b5a1888de3ff6347471c822182fa 22-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Implement kexec_file_load syscall decoding

* xlat/kexec_file_load_flags.in: New file.
* kexec.c: Include "xlat/kexec_file_load_flags.h".
(SYS_FUNC(kexec_file_load)): New function.
* linux/dummy.h (sys_kexec_file_load): Remove stub alias.
* pathtrace.c (pathtrace_match): Add SEN_kexec_file_load.
exec_file_load_flags.in
7aa9c0d2999671aa018172e41d52a55ddeac1723 22-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Implement kcmp syscall decoding

* kcmp.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* linux/dummy.h (sys_kcmp): Remove stub alias.
* xlat/kcmp_types.in: New file.
cmp_types.in
1f111cff5a09e7c78fb4daaf6dada0abe22185c9 21-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Implement IPPROTO_IP control messages decoding

* net.c: Include "xlat/ip_cmsg_types.h".
(print_cmsg_ip_pktinfo, print_cmsg_ip_ttl, print_cmsg_ip_tos,
print_cmsg_ip_opts, print_cmsg_ip_recverr, print_cmsg_ip_checksum,
print_cmsg_ip_origdstaddr): New functions.
(print_cmsg_type_data): Add generic SOL_IP level decoding.
Use these functions for decoding of IP_PKTINFO, IP_TTL, IP_TOS,
IP_RECVOPTS, IP_RETOPTS, IP_RECVERR, IP_ORIGDSTADDR, IP_CHECKSUM,
and SCM_SECURITY type messages.
* xlat/ip_cmsg_types.in: New file.
* xlat/sockipoptions.in: Move IP_RETOPTS before IP_RECVRETOPTS.
* tests/inet-cmsg.c: New file.
* tests/inet-cmsg.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add inet-cmsg.
(TESTS): Add inet-cmsg.test.
* tests/.gitignore: Add inet-cmsg.

Suggested-by: Orion Poplawski <orion@cora.nwra.com>
p_cmsg_types.in
ockipoptions.in
5cb45b25a37390afab4a62220ce148a2c135e595 20-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> mpers: skip xlat struct definitions in mpers mode

Avoid duplicate definitions of xlat structures in files
compiled in mpers mode.

Each xlat file defines the corresponding xlat struct with
either global or local visibility using the following rules:

- if xlat struct declaration is available in defs.h,
a global definition is provided in regular mode,
and nothing is provided in mpers mode;
- otherwise, if xlat file is included by a mpers source file,
a global definition is provided in regular mode
(unless no mpers mode is supported on this architecture,
in that case, a local definition is provided instead),
and a declaration is provided in mpers mode;
- otherwise, a local definition is provided in regular mode,
and an error message is printed in mpers mode.

Fallback definitions of constants provided by xlat files
remain available in all modes.

* bootstrap: Invoke generate_mpers_am.sh before xlat/gen.sh.
* defs.h (adjtimex_modes, adjtimex_status, sigev_value): Remove.
* generate_mpers_am.sh: Generate mpers_xlat.h.
* Makefile.am (EXTRA_DIST): Add mpers_xlat.h.
* print_sigevent.c: Include "xlat/sigev_value.h" unconditionally.
* print_timex.c: Include "xlat/adjtimex_modes.h" and
"xlat/adjtimex_status.h" unconditionally.
* xlat/gen.sh (cond_xlat): Move printing of fallback definitions ...
(cond_def): ... here.
(gen_header): Check also mpers_xlat.h for global declarations
of xlat structures.
Process input file twice, first time print directives
only, second time print everything.
Wrap struct xlat into #ifdef IN_MPERS ... #else ... #endif.
* xlat/getrandom_flags.in: Cleanup.
en.sh
etrandom_flags.in
a367db8e5b0e1d852af1c3d358c9f7204077fd73 19-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Mpersify parsers of readdir and getdents syscalls

* defs.h (dirent_types): New xlat prototype.
* dirent.c: Stop including "xlat/direnttypes.h".
(kernel_dirent): New typedef. Mpersify it.
(print_old_dirent): Use it instead of old_dirent_t.
(SYS_FUNC(getdents)): Use it instead of struct kernel_dirent.
Rename direnttypes to dirent_types.
(SYS_FUNC(getdents64)): Move ...
* dirent64.c: ... here. Rename direnttypes to dirent_types.
Include "xlat/dirent_types.h".
* Makefile.am (strace_SOURCES): Add dirent64.c.
* xlat/direnttypes.in: Rename to xlat/dirent_types.in.
irent_types.in
irenttypes.in
3a1e95d14e99ed1bef0a6a097ed4620bf809e191 19-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> net.c: move fallback definition of SCM_SECURITY to xlat/

* net.c: Move fallback definition of SCM_SECURITY ...
* xlat/scmvals.in: ... here.
cmvals.in
0d0a50aa2511f7fd0b32af41e6b18e34e37e6345 15-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Implement mlock2 syscall decoding

* mem.c: Include "xlat/mlock_flags.h".
(SYS_FUNC(mlock2)): New function.
* xlat/mlock_flags.in: New file.
* xlat/mlockall_flags.in: Add MCL_ONFAULT, add default values.
* linux/dummy.h (mlock2): Remove.
* tests/mlock2.c: New file.
* tests/mlock2.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add mlock2.
(TESTS): Add mlock2.test.
* tests/.gitignore Add mlock2.
lock_flags.in
lockall_flags.in
2aec1e67dfe78eea06db48a76adbd392d8ec5a31 15-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Implement membarrier syscall decoding

* membarrier.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* xlat/membarrier_cmds.in: New file.
* linux/dummy.h (membarrier): Remove.
* tests/membarrier.c: New file.
* tests/membarrier.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add membarrier.
(TESTS): Add membarrier.test.
* tests/.gitignore: Add membarrier.
embarrier_cmds.in
a6ebdb149edadac7ddb793448778bd8643003d27 15-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> Implement userfaultfd syscall decoding

* userfaultfd.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* xlat/uffd_flags.in: New file.
* linux/dummy.h (userfaultfd): Remove.
* tests/userfaultfd.c: New file.
* tests/userfaultfd.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add userfaultfd.
(TESTS): Add userfaultfd.test.
* tests/.gitignore: Add userfaultfd.
ffd_flags.in
644a8093a290f1aa3f3c074e9fcebf926acea115 16-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> time.c: move fallback definitions of SIGEV_* values to xlat/

* time.c: Move fallback definitions of SIGEV_* values ...
* xlat/sigev_value.in: ... here.
igev_value.in
6375f151a73bcd44152e572c323bc5b50fa3255e 01-Sep-2015 Anton Blanchard <anton@samba.org> Add PowerPC specific ptrace constants

* xlat/ptrace_cmds.in: Add PowerPC specific ptrace constants.
trace_cmds.in
cb7699c2d0764f90de1550f735121a893fd2f510 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update SCTP_* constants

* xlat/socksctpoptions.in: Add SCTP_GET_ASSOC_ID_LIST, SCTP_AUTO_ASCONF,
SCTP_PEER_ADDR_THLDS, SCTP_RECVRCVINFO, SCTP_RECVNXTINFO,
SCTP_DEFAULT_SNDINFO, SCTP_SOCKOPT_CONNECTX, SCTP_SOCKOPT_CONNECTX3,
and SCTP_GET_ASSOC_STATS.
ocksctpoptions.in
456f41ab30a209f74b4851946e16ba0a973abf28 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update F_* constants

* xlat/fcntlcmds.in: Add F_SETPIPE_SZ, F_GETPIPE_SZ, F_ADD_SEALS,
and F_GET_SEALS.
cntlcmds.in
e96869bd96e079f4c39df305d68986f716025903 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update RENAME_* constants

* xlat/rename_flags.in: Add RENAME_WHITEOUT.
ename_flags.in
a9cda6940a38e353dbbf90230fb1b3db8e655577 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update SO_* constants

* xlat/sockoptions.in: Add SO_ATTACH_BPF, SO_BPF_EXTENSIONS,
SO_BUSY_POLL, SO_DETACH_BPF, SO_GET_FILTER, SO_INCOMING_CPU,
SO_LOCK_FILTER, SO_MAX_PACING_RATE, SO_PEEK_OFF, SO_RXQ_OVFL,
SO_SELECT_ERR_QUEUE, and SO_WIFI_STATUS.
ockoptions.in
718dc4361cfe0b6237241e63551ac41e7ff726f6 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update INPUT_PROP_* constants

* xlat/evdev_prop.in: Add INPUT_PROP_ACCELEROMETER.
vdev_prop.in
d6414fbdcc33fff4bd0be04234f9ba64fcfb42ca 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update KEY_* constants

* xlat/evdev_keycode.in: Add KEY_ROTATE_DISPLAY, KEY_NUMERIC_A,
KEY_NUMERIC_B, KEY_NUMERIC_C, and KEY_NUMERIC_D.
vdev_keycode.in
137bf1b91012c37372ebba2a09404db2bfe90d8f 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update FALLOC_FL_* constants

* xlat/falloc_flags.in: Add FALLOC_FL_INSERT_RANGE.
alloc_flags.in
d44ffe041b92a3f7d07c01b82f81b160926207b7 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update AF_* and PF_* constants

* xlat/addrfams.in: Add AF_IB and AF_MPLS.
* xlat/domains.in: Add PF_IB and PF_MPLS.
ddrfams.in
omains.in
209f695f93f0e347f3cfa095910d9972f4d91e89 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update TCP_* constants

* xlat/socktcpoptions.in: Add TCP_NOTSENT_LOWAT, TCP_CC_INFO,
TCP_SAVE_SYN, and TCP_SAVED_SYN.
ocktcpoptions.in
7f0063ca6c65d0adc265e511da79583e08ea3e9b 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update PACKET_* constants

* xlat/sockpacketoptions.in: Add PACKET_VNET_HDR, PACKET_TX_TIMESTAMP,
PACKET_TIMESTAMP, PACKET_FANOUT, PACKET_TX_HAS_OFF, PACKET_QDISC_BYPASS,
PACKET_ROLLOVER_STATS, and PACKET_FANOUT_DATA.
ockpacketoptions.in
57c29189aabac0cf238d620c0652610b015d5774 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update BPF_MAP_TYPE_* constants

* xlat/bpf_map_types.in: Add BPF_MAP_TYPE_PERF_EVENT_ARRAY.
pf_map_types.in
6fda3314fc46da58ed83327c579b3aee999dcb93 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update IPPROTO_* constants

* xlat/inet_protocols.in: Add IPPROTO_MPLS.
net_protocols.in
3fe9d3669e21335d8c9d3ad58836c467e57288b9 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update IP_* constants

* xlat/sockipoptions.in: Add IP_CHECKSUM and IP_BIND_ADDRESS_NO_PORT.
ockipoptions.in
8e0442d43c6ff67f6f84763820bee4728e238fac 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update PTRACE_O_* constants

* ptrace.h: Define PTRACE_O_SUSPEND_SECCOMP.
* xlat/ptrace_setoptions_flags.in: Add it.
trace_setoptions_flags.in
b02bcfadcb42dae0335b1b5dcff141f8cdc38ae1 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update PR_* constants

* xlat/prctl_options.in: Add PR_SET_FP_MODE, PR_GET_FP_MODE,
and PR_CAP_AMBIENT.
rctl_options.in
b0d1955e1768c17d418524c1a87647f7547ccad8 14-Sep-2015 Dmitry V. Levin <ldv@altlinux.org> Update SECBIT_* constants

* xlat/secbits.in: Add SECBIT_NO_CAP_AMBIENT_RAISE
and SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED.
ecbits.in
54646b8e057443f0b76afe9a231eae63afbf5d5a 19-Aug-2015 Mike Frysinger <vapier@gentoo.org> decode extend getsockopt/setsockopt options

Currently the code assumes the set of valid options between getsockopt
and setsockopt are exactly the same and thus maintains one list. The
kernel unfortunately does not do this -- it allows for different opts
between the get and set functions. See the {g,s}et_opt{min,max} fields
in the various netfilter subcores.

To support this, extend the printxval function to take multiple sets of
xlats as varargs. Then we add the new get/set lists, and pass them down
in the net code when decoding things.

A simple example is iptables; before:
getsockopt(4, SOL_IP, 0x40 /* IP_??? */, ...) = 0
getsockopt(4, SOL_IP, 0x41 /* IP_??? */, ...) = 0
after:
getsockopt(4, SOL_IP, IPT_SO_GET_INFO, ...) = 0
getsockopt(4, SOL_IP, IPT_SO_GET_ENTRIES, ...) = 0

If these were setsockopt calls, then 0x40 & 0x41 would be
IPT_SO_SET_REPLACE & IPT_SO_SET_ADD_COUNTERS.

* configure.ac: Check for netfilter headers.
* defs.h (printxvals): New prototype.
(printxval): Change to a define.
* net.c: Include netfilter headers and new sockopts headers.
(print_sockopt_fd_level_name): Add a is_getsockopt argument. Change SOL_IP
and SOL_IPV6 decoding to use printxvals, and use is_getsockopt to pass more
xlats down.
(getsockopt): Call print_sockopt_fd_level_name with is_getsockopt as true.
(setsockopt): Call print_sockopt_fd_level_name with is_getsockopt as false.
* util.c (printxval): Rename to ...
(printxvals): ... this. Rewrite to be varargs based.
* xlat/getsockipoptions.in: New xlat list.
* xlat/getsockipv6options.in, xlat/setsockipoptions.in,
xlat/setsockipv6options.in: Likewise.
etsockipoptions.in
etsockipv6options.in
etsockipoptions.in
etsockipv6options.in
69c1570d556467f04580e6c369d93f9d6f7b5f9b 25-Aug-2015 Dmitry V. Levin <ldv@altlinux.org> Fix build on systems that lack EM_ARM/EM_OPENRISC definitions

* xlat/audit_arch.in: Guard AUDIT_ARCH_ARM and AUDIT_ARCH_ARMEB
with EM_ARM check. Guard AUDIT_ARCH_OPENRISC with EM_OPENRISC check.
udit_arch.in
12cca59aedb51aaffbe87c21f220ad815598c3d2 24-Aug-2015 Dmitry V. Levin <ldv@altlinux.org> Fix build on systems that lack O_CLOEXEC definition

* xlat/efd_flags.in: Check that O_CLOEXEC is defined.
* xlat/epollflags.in: Likewise.
* xlat/sfd_flags.in: Likewise.
* xlat/timerfdflags.in: Fix O_CLOEXEC check.
fd_flags.in
pollflags.in
fd_flags.in
imerfdflags.in
d2eaf67486748263dfe84e735767f3651066a754 18-Aug-2015 Mike Frysinger <vapier@gentoo.org> signal: SIGSYS: decode si_syscall & si_arch fields

When receiving SIGSYS, the si_syscall & si_arch fields are set to known
values, so make sure we decode their values into the symbol settings.
This makes stracing seccomp failures much easier.

* defs.h (syscall_name): New prototype.
* printsiginfo.c: Include linux/audit.h and xlat/audit_arch.h.
(print_si_info): Decode si_syscall & si_arch for SIGSYS.
* syscall.c (undefined_scno_name): Delete.
(syscall_name): New function.
(trace_syscall_entering): Change undefined_scno_name to syscall_name.
(trace_syscall_exiting): Likewise.
* xlat/audit_arch.in: New file.
udit_arch.in
30ac0627f29756306b307504bd35bc5e79288f56 03-Aug-2015 Dmitry V. Levin <ldv@altlinux.org> signalfd4: fix flags decoding

* configure.ac (AC_CHECK_FUNCS): Add eventfd.
(AC_CHECK_HEADERS): Add sys/signalfd.h.
* signalfd.c: Include <fcntl.h>.
[HAVE_SYS_SIGNALFD_H] Include <sys/signalfd.h>.
Include "xlat/sfd_flags.h".
(do_signalfd): Use sfd_flags for flags decoding.
* xlat/sfd_flags.in: New file.
* tests/signalfd.c: Likewise.
* tests/signalfd.expected: Likewise.
* tests/signalfd.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add signalfd.
(TESTS): Add signalfd.test.
(EXTRA_DIST): Add signalfd.expected.
* tests/.gitignore: Add signalfd.
fd_flags.in
bf62c1b52db799335a13fa56db363ab5d94d44fa 02-Aug-2015 Dmitry V. Levin <ldv@altlinux.org> epoll_create1: fix flags decoding

* xlat/epollflags.in: Remove EPOLL_NONBLOCK, provide fallback definition
for EPOLL_CLOEXEC.
* tests/epoll_create1.c: New file.
* tests/epoll_create1.expected: Likewise.
* tests/epoll_create1.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add epoll_create1.
(TESTS): Add epoll_create1.test.
(EXTRA_DIST): Add epoll_create1.expected.
* tests/.gitignore: Add epoll_create1.
pollflags.in
c8cba990a29f9a7ef701dbfb867b11b6253df0a6 01-Aug-2015 Dmitry V. Levin <ldv@altlinux.org> eventfd2: fix flags decoding

* configure.ac (AC_CHECK_HEADERS): Add sys/eventfd.h.
* eventfd.c: Include <fcntl.h>.
[HAVE_SYS_EVENTFD_H] Include <sys/eventfd.h>.
Include "xlat/efd_flags.h".
(do_eventfd): Use efd_flags for flags decoding.
* xlat/efd_flags.in: New file.
* tests/eventfd.c: New file.
* tests/eventfd.expected: Likewise.
* tests/eventfd.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add eventfd.
(TESTS): Add eventfd.test.
(EXTRA_DIST): Add eventfd.expected.
* tests/.gitignore: Add eventfd.
fd_flags.in
73a4fa43f5e5ec4b5d94c60207a58672fd3f7213 01-Aug-2015 Dmitry V. Levin <ldv@altlinux.org> Update PERF_FLAG_* constants

* xlat/perf_event_open_flags.in: Add PERF_FLAG_FD_CLOEXEC,
provide fallback definitions.
erf_event_open_flags.in
f9ce39d1e4d541e15aab486f36a02a9d8269e85c 31-Jul-2015 Elvira Khabirova <lineprinter0@gmail.com> ipc.c: move fallback definitions of msg, sem, and shm constants to xlat/

* ipc.c: Move MSG_STAT and MSG_INFO definitions to xlat/msgctl_flags.in.
Move SHM_STAT and SHM_INFO definitions to xlat/shmctl_flags.in.
Move SEM_STAT and SEM_INFO definitions to xlat/semctl_flags.in.
sgctl_flags.in
emctl_flags.in
hmctl_flags.in
ec5954ccfb93e866eb045bea0a5301c2b694bffb 29-Jul-2015 Elliott Hughes <enh@google.com> Update generated files after strace sync.

Change-Id: I9e44f063e4e93833a5be5328a06f1c8a25abda88
akemodule.am
lkpg_ops.h
pf_commands.h
pf_map_types.h
pf_map_update_elem_flags.h
pf_prog_types.h
pollctls.h
emfd_create_flags.h
td_file_mode_options.h
ched_flags.h
wap_flags.h
ait4_options.h
e6eafbafb2cacbf1be14bf08656e4e1152f1bfff 29-Jul-2015 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
3456bcca6732829c00b66745743325fc6162322f 29-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> Implement sched_getattr and sched_setattr syscalls decoding

* xlat/sched_flags.in: New file.
* sched.c: Include "xlat/sched_flags.h".
(print_sched_attr, sys_sched_setattr, sys_sched_getattr): New functions.
* linux/dummy.h (sys_sched_getattr, sys_sched_setattr): Remove.
* tests/sched_xetattr.c: New file.
* tests/sched_xetattr.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add sched_xetattr.
(TESTS): Add sched_xetattr.test.
* tests/.gitignore: Add sched_xetattr.
ched_flags.in
95b84ea641e724dff6e0f9b7d66a8a00b75c196a 29-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> Implement memfd_create syscall decoding

* memfd_create.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* linux/dummy.h (sys_memfd_create): Remove.
* pathtrace.c (pathtrace_match): Add SEN_memfd_create.
* xlat/memfd_create_flags.in: New file.
* tests/memfd_create.c: New file.
* tests/memfd_create.expected: Likewise.
* tests/memfd_create.test: New test.
* tests/Makefile.am: (check_PROGRAMS): Add memfd_create.
(TESTS): Add memfd_create.test.
(EXTRA_DIST): Add memfd_create.expected.
* tests/.gitignore: Add memfd_create.
emfd_create_flags.in
ddb53dd142ea6702afbc1ff238840969183a709d 26-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> Implement bpf syscall decoding

* bpf.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* configure.ac (AC_CHECK_HEADERS): Add linux/bpf.h.
* linux/dummy.h (sys_bpf): Remove.
* pathtrace.c (pathtrace_match): Add SEN_bpf.
* xlat/bpf_commands.in: New file.
* xlat/bpf_map_types.in: New file.
* xlat/bpf_map_update_elem_flags.in: New file.
* xlat/bpf_prog_types.in: New file.
* tests/bpf.c: New file.
* tests/bpf.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add bpf.
(TESTS): Add bpf.test.
* tests/.gitignore: Add bpf.
pf_commands.in
pf_map_types.in
pf_map_update_elem_flags.in
pf_prog_types.in
716fb202636e34afdaa1d025759170c73e0aaf3c 20-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> Remove unused parsers of getmsg and putmsg

* stream.c [SPARC || SPARC64] (sys_putmsg, sys_getmsg): Remove.
Stop including "xlat/msgflags.h".
* xlat/msgflags.in: Remove.
sgflags.in
d4b3f6a8e2bcad921503781d0510208786598511 20-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> xlat/epollctls.in: add default values

* xlat/epollctls.in (EPOLL_CTL_ADD, EPOLL_CTL_DEL, EPOLL_CTL_MOD): Add
default values.
pollctls.in
63bae232d25719b80bd99cd2e105770ad00f7a98 17-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> swapon.c: move fallback definitions of swap options to xlat/

* swapon.c: Move definitions of SWAP_FLAG_* flags ...
* xlat/swap_flags.in: ... here.
wap_flags.in
f6026b6e657ce8619e54dfd081a354ec929ba0ce 15-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> wait: move fallback definitions of wait options to xlat/

* wait.c: Move definitions of __W* flags ...
* xlat/wait4_options.in: ... here.
ait4_options.in
eddefd64c3ad70bd4dbec22838cdd45f87c14cff 07-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> mtd.c: enhance mtd and ubi ioctl parsers

Decode as much data on entering syscall as possible.

* xlat/mtd_file_mode_options.in: New file.
* mtd.c: Include <linux/ioctl.h> instead of <sys/ioctl.h>.
Include "xlat/mtd_file_mode_options.h".
Update for RVAL_DECODED.
(mtd_ioctl, ubi_ioctl): Use printnum_int and umove_or_printaddr.
td_file_mode_options.in
1dbe6839ebc8f86c4f816c6302992f98d094d667 05-Jul-2015 Dmitry V. Levin <ldv@altlinux.org> blkpg_ops: add BLKPG_RESIZE_PARTITION constant

* xlat/blkpg_ops.in: Add BLKPG_RESIZE_PARTITION.

Reported-by: Christian Neukirchen <chneukirchen@gmail.com>
lkpg_ops.in
a0ccdac57bc9ac3fc9e9d9d8f669212403300d02 30-Jun-2015 Elliott Hughes <enh@google.com> Fix strace build post-update.

Change-Id: I72f2fa288722f358637a5823a82738e8d222ae7e
t_flags.h
lone_flags.h
utexops.h
utexwakecmps.h
utexwakeops.h
ount_flags.h
ocketlayers.h
ockipv6options.h
attrflags.h
ba71c8650a4281679442c2d17451309afb31ed68 30-Jun-2015 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
0c5619538f719d398d04e5a54fe1c099dea56572 17-Jun-2015 Dmitry V. Levin <ldv@altlinux.org> xattr: move fallback definitions of xattr flags to xlat/

* xattr.c: Include <sys/xattr.h> insread of <linux/xattr.h>.
Move definitions of XATTR_* flags ...
* xlat/xattrflags.in: ... here.
attrflags.in
f64a4395d9f0937574943192066ffb8cb12efb8e 17-Jun-2015 Dmitry V. Levin <ldv@altlinux.org> link: move fallback definitions of AT_* constants to xlat/

* link.c: Move definitions of AT_* constants ...
* xlat/at_flags.in: ... here.
t_flags.in
fddeeba9b8f83573aff43d4041f1770749cb1235 17-Jun-2015 Dmitry V. Levin <ldv@altlinux.org> net: move fallback definitions of SOL_* constants to xlat/

* net.c: Move definitions of SOL_* constants ...
* xlat/socketlayers.in: ... here.
ocketlayers.in
003cc9f66a3b30ab3cf54566a1d9cf626e573a0d 17-Jun-2015 Dmitry V. Levin <ldv@altlinux.org> futex: move fallback definitions of futex constants to xlat/

* futex.c: Move definitions of FUTEX_OP_CMP_* constants ...
* xlat/futexwakecmps.in: ... here.
* futex.c: Move definitions of other FUTEX_OP_* constants ...
* xlat/futexwakeops.in: ... here.
* futex.c: Move definitions of remaining FUTEX_* constants except
FUTEX_PRIVATE_FLAG and FUTEX_CLOCK_REALTIME flags ...
* xlat/futexops.in: ... here.
utexops.in
utexwakecmps.in
utexwakeops.in
14f4038ad7db7ec7ddb0e9b7f487d1c95fdaa062 17-Jun-2015 Dmitry V. Levin <ldv@altlinux.org> clone: move definitions of cloning flags to xlat/

* clone.c: Include <sched.h>. Move definitions of CLONE_* flags ...
* xlat/clone_flags.in: ... here.
lone_flags.in
cf7ee30c6b0ca145260fa88ba7284c165ece6694 16-Jun-2015 Dmitry V. Levin <ldv@altlinux.org> Update mount flags constants

* mount.c: Remove definitions of mount flags constants.
* xlat/mount_flags.in: Update from linux v4.0, add default values.
ount_flags.in
0b95590ee2d982abd30852bfdd72038c02aad758 09-Jun-2015 Dmitry V. Levin <ldv@altlinux.org> Update IPV6 socket options constants

* xlat/sockipv6options.in: Update from linux v4.0.
ockipv6options.in
afaea3dcf1238cf108691bdbef4c6b31d6752b37 07-Apr-2015 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD

Change-Id: I71324955ac973323aa790485c240e553272ff266
c3d4308528852d8c502f98f3393f6df1e3865383 07-Apr-2015 Elliott Hughes <enh@google.com> Regenerate generated files after strace update.

Change-Id: I96c505a0aa7d7d34b6e8133e430d06f3d966d6ad
igaltstack_flags.h
igbus_codes.h
igchld_codes.h
igemt_codes.h
igfpe_codes.h
igill_codes.h
iginfo_codes.h
igpoll_codes.h
igsegv_codes.h
igsys_codes.h
igtrap_codes.h
f7430b706530994d5ac16e32eee3570360320b0c 27-Mar-2015 Dmitry V. Levin <ldv@altlinux.org> Update siginfo_t constants

* xlat/sigbus_codes.in: Add BUS_MCEERR_AR and BUS_MCEERR_AO,
add default values.
* xlat/sigtrap_codes.in: Add TRAP_BRANCH and TRAP_HWBKPT,
add default values.
* xlat/sigsegv_codes.in: Add SEGV_BNDERR, add default values.
* xlat/sigchld_codes.in: Add default values.
* xlat/sigemt_codes.in: Likewise.
* xlat/sigfpe_codes.in: Likewise.
* xlat/sigill_codes.in: Likewise.
* xlat/siginfo_codes.in: Likewise.
* xlat/sigpoll_codes.in: Likewise.
* xlat/sigsys_codes.in: Likewise.
igbus_codes.in
igchld_codes.in
igemt_codes.in
igfpe_codes.in
igill_codes.in
iginfo_codes.in
igpoll_codes.in
igsegv_codes.in
igsys_codes.in
igtrap_codes.in
174bb2b36ec7b4c922331ff52681d79eac7add2e 26-Mar-2015 Dmitry V. Levin <ldv@altlinux.org> signal.c: move sigaltstack parser to a separate file

* sigaltstack.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* signal.c (print_stack_t, sys_sigaltstack): Move to sigaltstack.c.
* xlat/sigaltstack_flags.in: Add default values.
igaltstack_flags.in
dfc6418e5231155d6fbc30713b47d9f40e21c9d1 18-Mar-2015 Elliott Hughes <enh@google.com> Check in strace's generated xlat files.

These were hidden by another .gitignore file.

Change-Id: I5e392db7cdc4f5842eab2a43ff139d106adad63a
gitignore
pf_class.h
pf_miscop.h
pf_mode.h
pf_op_alu.h
pf_op_jmp.h
pf_rval.h
pf_size.h
pf_src.h
sg_protocol.h
sg_subprotocol.h
ap.h
ap_mask0.h
ap_mask1.h
vdev_abs.h
vdev_autorepeat.h
vdev_ev.h
vdev_ff_status.h
vdev_ff_types.h
vdev_keycode.h
vdev_leds.h
vdev_misc.h
vdev_mtslots.h
vdev_prop.h
vdev_relative_axes.h
vdev_snd.h
vdev_switch.h
vdev_sync.h
etrandom_flags.h
octl_dirs.h
exec_load_flags.h
acket_mreq_type.h
r_mce_kill.h
r_mce_kill_policy.h
r_set_mm.h
r_tsc.h
r_unalign_flags.h
trace_events.h
ecbits.h
eccomp_filter_flags.h
eccomp_mode.h
eccomp_ops.h
eccomp_ret_action.h
0328d0a8a4c8c60cb7e4651f45f62f06823d5acb 18-Mar-2015 Elliott Hughes <enh@google.com> Fix strace build after upstream sync.

Change-Id: I9ac78d23979e45d26fb71ecb4a75f70947c32d1f
akemodule.am
ccess_flags.h
clipc.h
ddrfams.h
djtimex_modes.h
djtimex_state.h
djtimex_status.h
dvise.h
f_packet_types.h
rchvals.h
t_flags.h
tomic_ops.h
aud_options.h
lkpg_ops.h
ootflags1.h
ootflags2.h
ootflags3.h
t_protocols.h
acheflush_scope.h
ap_version.h
lockflags.h
locknames.h
lone_flags.h
puclocknames.h
elete_module_flags.h
irenttypes.h
omains.h
pollctls.h
pollevents.h
pollflags.h
alloc_flags.h
an_classes.h
an_event_flags.h
an_init_flags.h
an_mark_flags.h
cntlcmds.h
dflags.h
lockcmds.h
smagic.h
utexops.h
utexwakecmps.h
utexwakeops.h
cmpfilterflags.h
f_dqblk_valid.h
f_dqinfo_valid.h
ffflags.h
net_protocols.h
notify_flags.h
notify_init_flags.h
oprio_class.h
oprio_who.h
pc_msg_flags.h
timer_which.h
exec_arch_values.h
ey_perms.h
ey_reqkeys.h
ey_spec.h
eyctl_commands.h
ockfcmds.h
oop_crypt_type_options.h
oop_flags_options.h
advise_cmds.h
bindflags.h
ctl_sync.h
empolicyflags.h
lockall_flags.h
map_flags.h
map_prot.h
odem_flags.h
odetypes.h
odflags.h
odule_init_flags.h
ount_flags.h
ove_pages_flags.h
remap_flags.h
sg_flags.h
sgctl_flags.h
sgflags.h
td_flags_options.h
td_mode_options.h
td_nandecc_options.h
td_otp_options.h
td_type_options.h
etlink_protocols.h
otifyflags.h
t_descriptor_types.h
pen_access_modes.h
pen_mode_flags.h
penmodessol.h
erf_event_open_flags.h
ersonality_options.h
msgflags.h
olicies.h
ollflags.h
rctl_options.h
riorities.h
tp_flags_options.h
trace_cmds.h
trace_setoptions_flags.h
m_which.h
uota_formats.h
uotacmds.h
uotatypes.h
ename_flags.h
esource_flags.h
esources.h
chedulers.h
cmvals.h
emctl_flags.h
emop_flags.h
g_io_dxfer_direction.h
hm_flags.h
hm_resource_flags.h
hmctl_flags.h
hutdown_modes.h
igact_flags.h
igaltstack_flags.h
igbus_codes.h
igchld_codes.h
igemt_codes.h
igev_value.h
igfpe_codes.h
igill_codes.h
iginfo_codes.h
igpoll_codes.h
igprocmaskcmds.h
igprof_codes.h
igsegv_codes.h
igsys_codes.h
igtrap_codes.h
ock_type_flags.h
ocketlayers.h
ockipoptions.h
ockipv6options.h
ockipxoptions.h
ockoptions.h
ockpacketoptions.h
ockrawoptions.h
ocksctpoptions.h
ocktcpoptions.h
ocktypes.h
plice_flags.h
ram_alloc_flags.h
wap_flags.h
ync_file_range_flags.h
ysctl_kern.h
ysctl_net.h
ysctl_net_core.h
ysctl_net_ipv4.h
ysctl_net_ipv4_conf.h
ysctl_net_ipv4_route.h
ysctl_net_ipv6.h
ysctl_net_ipv6_route.h
ysctl_net_unix.h
ysctl_root.h
ysctl_vm.h
yslog_action_type.h
ysmips_operations.h
cflsh_options.h
cxonc_options.h
imerfdflags.h
bi_volume_props.h
bi_volume_types.h
mount_flags.h
sagewho.h
4l2_buf_flags.h
4l2_buf_types.h
4l2_capture_modes.h
4l2_colorspaces.h
4l2_control_classes.h
4l2_control_flags.h
4l2_control_ids.h
4l2_control_types.h
4l2_device_capabilities_flags.h
4l2_fields.h
4l2_format_description_flags.h
4l2_frameinterval_types.h
4l2_framesize_types.h
4l2_input_types.h
4l2_memories.h
4l2_streaming_capabilities.h
ait4_options.h
aitid_types.h
hence_codes.h
attrflags.h
fs_dqblk_flags.h
fs_quota_flags.h
ef5390304e21bb94f78e3fc52a0b128bbf4658f9 17-Mar-2015 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
7e6556711e9a46423a1d55859d7aa07f8119c9e9 03-Mar-2015 Dmitry V. Levin <ldv@altlinux.org> Add arch-specific PTRACE_* constants

* xlat/ptrace_cmds.in: Add arch-specific ptrace commands.
* xlat/ptrace_events.in: Add PTRACE_EVENT_MIGRATE for tile.
* xlat/ptrace_setoptions_flags.in: Add PTRACE_O_TRACEMIGRATE for tile.

This fixes Debian bug #734554.
trace_cmds.in
trace_events.in
trace_setoptions_flags.in
48ceaee38436357f4cd31e67a63cc961e8441516 27-Feb-2015 Mike Frysinger <vapier@gentoo.org> xlat: avoid fork bombing the build system

When there were fewer xlat headers, this didn't matter as much.
But now with >200, trying to run them all in parallel can easily
fork bomb smaller systems.

* xlat/gen.sh (main): Do not more jobs than # of cpus.
en.sh
5b0819eab767a5368df1a3e270c85fab0e066860 22-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> evdev: update constants from linux v3.19

* xlat/evdev_keycode.in: Update from linux v3.19.
* xlat/evdev_prop.in: Likewise.
vdev_keycode.in
vdev_prop.in
4f750b9ad1bb870337395355047ac2f89f340feb 20-Feb-2015 Etienne Gemsa <etienne.gemsa@lse.epita.fr> Add decoding for evdev ioctls

This patch introduces decoding for evdev ioctls. For EVIOCSFF the five
first members are decoded, the union is not. The code was compiled and
tested on x86_64 with Linux 3.13.

* evdev.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* defs.h (evdev_ioctl): New prototype.
* ioctl.c (ioctl_decode): Call evdev_ioctl for 'E' ioctl commands.
* xlat/evdev_autorepeat.in: New file.
* xlat/evdev_ff_status.in: New file.
* xlat/evdev_ff_types.in: New file.
* xlat/evdev_keycode.in: New file.
* xlat/evdev_leds.in: New file.
* xlat/evdev_misc.in: New file.
* xlat/evdev_mtslots.in: New file.
* xlat/evdev_prop.in: New file.
* xlat/evdev_relative_axes.in: New file.
* xlat/evdev_snd.in: New file.
* xlat/evdev_switch.in: New file.
* xlat/evdev_sync.in: New file.

Signed-off-by: Etienne Gemsa <etienne.gemsa@lse.epita.fr>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
vdev_autorepeat.in
vdev_ff_status.in
vdev_ff_types.in
vdev_keycode.in
vdev_leds.in
vdev_misc.in
vdev_mtslots.in
vdev_prop.in
vdev_relative_axes.in
vdev_snd.in
vdev_switch.in
vdev_sync.in
34bbcc6270c7c1adc1687e4115aa64a265850730 19-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Remove linux/fanotify.h

* linux/fanotify.h: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
* fanotify.c: Do not include <linux/fanotify.h>.
* xlat/fan_classes.in: Add default values.
* xlat/fan_event_flags.in: Likewise.
* xlat/fan_init_flags.in: Likewise.
* xlat/fan_mark_flags.in: Likewise.
an_classes.in
an_event_flags.in
an_init_flags.in
an_mark_flags.in
20945739309a1ea4ce10d029ff4a6ef787f83403 19-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Remove linux/keyctl.h

* linux/keyctl.h: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
* keyctl.c: Do not include <linux/keyctl.h>.
* xlat/key_perms.in: Add default values.
* xlat/key_reqkeys.in: Likewise.
* xlat/key_spec.in: Likewise.
* xlat/keyctl_commands.in: Likewise.
ey_perms.in
ey_reqkeys.in
ey_spec.in
eyctl_commands.in
ff6a55dee9113f4d5f239a97f827d223d3633c08 19-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Remove linux/kexec.h

* linux/kexec.h: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
* kexec.c: Do not include <linux/kexec.h>.
* xlat/kexec_arch_values.in: Add default values.
* xlat/kexec_flags.in: Rename to kexec_load_flags.in, add default
values.
exec_arch_values.in
exec_flags.in
exec_load_flags.in
3a232997d8f12d25a8eebd8a7f2f0a7777baaccb 19-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Remove linux/inotify.h

* linux/inotify.h: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
* inotify.c: Do not include <linux/inotify.h>.
* xlat/inotify_flags.in: Add default values.
notify_flags.in
3e6525ff4b17905fe7765725d2d775ab3ee878a1 19-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Remove linux/reboot.h

* linux/reboot.h: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
* reboot.c: Do not include <linux/reboot.h>.
* xlat/bootflags1.in: Add default values.
* xlat/bootflags2.in: Likewise.
* xlat/bootflags3.in: Likewise.
ootflags1.in
ootflags2.in
ootflags3.in
0a59454fb3b32792923a8d03dfa8151781326e51 19-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> seccomp: fix fallback definitions of some SECCOMP_* constants

* seccomp.c (SECCOMP_SET_MODE_STRICT, SECCOMP_SET_MODE_FILTER,
SECCOMP_FILTER_FLAG_TSYNC): Remove fallback definitions.
* xlat/seccomp_filter_flags.in: Add default value.
* xlat/seccomp_ops.in: Add default values.
eccomp_filter_flags.in
eccomp_ops.in
1e880730539b5d95d63345faf89409b0ed7b87d6 14-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Improve prctl decoding

* configure.ac (AC_CHECK_HEADERS): Add linux/securebits.h.
* prctl.c (sys_prctl): Implement full decoding of all PR_* constants
as defined in linux v3.19.
(sys_arch_prctl): Fix decoding of unknown commands.
* xlat/cap.in: New file.
* xlat/pr_mce_kill.in: New file.
* xlat/pr_mce_kill_policy.in: New file.
* xlat/pr_set_mm.in: New file.
* xlat/pr_tsc.in: New file.
* xlat/pr_unalign_flags.in: New file.
* xlat/secbits.in: New file.
* xlat/prctl_options.in: Remove non-linux constants, add fallback
definitions.
* xlat/seccomp_mode.in: Add fallback definitions.
ap.in
r_mce_kill.in
r_mce_kill_policy.in
r_set_mm.in
r_tsc.in
r_unalign_flags.in
rctl_options.in
ecbits.in
eccomp_mode.in
cff9f8aa94a51be4a80f81349d72e9de5bb50c49 18-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> xlat: extend syntax

* xlat/gen.sh (gen_header): If the name of constant is specified with a
value, generate a default definition for the constant using this value.
* xlat/timerfdflags.in: Use extended syntax.
en.sh
imerfdflags.in
2f0808b88ee90d364ff34d84dbe8853c527d0d38 19-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Move CAP_* definitions out to header files

* Makefile.am (strace_SOURCES): Add caps0.h and caps1.h.
* caps0.h: New file.
* caps1.h: New file.
* capability.c: Remove CAP_* definitions, include "caps0.h"
and "caps1.h" instead.
Include "xlat/cap_mask0.h" instead of "xlat/capabilities.h".
Include "xlat/cap_mask1.h" instead of "xlat/capabilities1.h".
(print_cap_bits): Update callers.
* xlat/capabilities.in: Rename to xlat/cap_mask0.in.
* xlat/capabilities1.in: Rename to xlat/cap_mask1.in.
ap_mask0.in
ap_mask1.in
apabilities.in
apabilities1.in
d8b3404555b9a324610d0caaa0b9237f14605818 12-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Enhance wait status decoding

* xlat/ptrace_events.in: New file.
* wait.c: Include "xlat/ptrace_events.h".
(printstatus): In case of WIFSTOPPED, print 0x80 flag separately from
the stop signal name.
[WIFCONTINUED]: Add WIFCONTINUED support.
Decode PTRACE_EVENT_* events.
trace_events.in
67d0a8ecfa288928c2096123a9ddfb0e5392edbf 06-Feb-2015 Bart Van Assche <bart.vanassche@sandisk.com> scsi: add bsg support

The Linux kernel supports two different versions of the SG_IO API,
namely v3 and v4. This patch adds support for version 4 of this API.
At least the sg3_utils package supports version 4 of this API. Version
4 of this API is used if /dev/bsg/H:C:I:L is used as device name.

This patch has been tested by inspecting the output of the following
commands:

modprobe scsi_debug dev_size_mb=16 delay=0
dev=$(lsscsi | sed -n '/ scsi_debug /s,^[^/]*,,p')
./strace -eioctl -s256 sg_inq $dev
echo 'Test XDWRITEREAD(10)'
bsg=/dev/bsg/$(lsscsi | sed -n '/ scsi_debug /s,^\[\([^]]\+\)\].*,\1,p')
dd if=/dev/zero bs=512 count=1 |
./strace -eioctl -s256 sg_raw -s 512 -r 1024 $bsg 53 00 00 00 00 01 00 00 01 00

* configure.ac (AC_CHECK_HEADERS): Add linux/bsg.h.
* xlat/bsg_protocol.in: New file.
* xlat/bsg_subprotocol.in: Likewise.
* scsi.c: Include them and <linux/bsg.h>.
(print_sg_io_v3_req, print_sg_io_v3_res, print_sg_io_v4_req,
print_sg_io_v4_res): New functions.
(print_sg_io_req, print_sg_io_res): Use them.
(scsi_ioctl): Update callers.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
sg_protocol.in
sg_subprotocol.in
2af6903f456b549fd57ba8beceddec961803cb3d 05-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Implement seccomp decoding

* configure.ac (AC_CHECK_HEADERS): Add linux/filter.h
and linux/seccomp.h.
* defs.h (print_seccomp_filter): New prototype.
* linux/dummy.h (sys_seccomp): Remove.
* linux/syscall.h (sys_seccomp): New prototype.
* prctl.c: Include <linux/seccomp.h>.
(sys_prctl): Decode PR_SET_SECCOMP.
* seccomp.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* xlat/bpf_class.in: New file.
* xlat/bpf_miscop.in: Likewise.
* xlat/bpf_mode.in: Likewise.
* xlat/bpf_op_alu.in: Likewise.
* xlat/bpf_op_jmp.in: Likewise.
* xlat/bpf_rval.in: Likewise.
* xlat/bpf_size.in: Likewise.
* xlat/bpf_src.in: Likewise.
* xlat/seccomp_filter_flags.in: Likewise.
* xlat/seccomp_mode.in: Likewise.
* xlat/seccomp_ops.in: Likewise.
* xlat/seccomp_ret_action.in: Likewise.
pf_class.in
pf_miscop.in
pf_mode.in
pf_op_alu.in
pf_op_jmp.in
pf_rval.in
pf_size.in
pf_src.in
eccomp_filter_flags.in
eccomp_mode.in
eccomp_ops.in
eccomp_ret_action.in
fef09070d6f7788ac02aaca82ec4af6367787628 04-Feb-2015 Dmitry V. Levin <ldv@altlinux.org> Implement getrandom syscall decoding

* getrandom.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* linux/dummy.h (sys_getrandom): Remove.
* linux/syscall.h (sys_getrandom): New prototype.
* xlat/getrandom_flags.in: New file.
* tests/getrandom.c: New file.
* tests/getrandom.awk: New file.
* tests/getrandom.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add getrandom.
(TESTS): Add getrandom.test.
(EXTRA_DIST): Add getrandom.awk.
* tests/.gitignore: Add getrandom.
etrandom_flags.in
6d31c7a6a974472cf32579dbd61554b45a5fbd0e 29-Jan-2015 Dmitry V. Levin <ldv@altlinux.org> net: define all SOL_* constants

Ensure that all known SOL_* constants are defined.
Sync the list of known SOL_* constants with linux/socket.h.

* net.c: Provide definitions for all SOL_* constants.
Remove all SOL_* preprocessor conditionals.
(socketlayers): Disconnect from inet_protocols.
* xlat/socketlayers.in: Remove SOL_ICMP, add SOL_ALG and SOL_NFC.
ocketlayers.in
02f2f091d58023912ad8814c960cf6c8bc3d0574 29-Jan-2015 Dmitry V. Levin <ldv@altlinux.org> setsockopt: decode PACKET_ADD_MEMBERSHIP

* xlat/packet_mreq_type.in: New file.
* net.c: Include "xlat/packet_mreq_type.h".
(print_packet_mreq): New function.
(print_setsockopt): Use it.
acket_mreq_type.in
b85a7f3b9525a3b4cd84f301b2c7b100348242fe 24-Jan-2015 Dmitry V. Levin <ldv@altlinux.org> Impove struct cmsghdr decoding

Print all cmsghdr structures in msg_control array,
not just the first one.
Change output format to be consistent with other parts of strace
where structures and arrays are printed.
Implement decoder for SCM_SECURITY message type.

* net.c (print_scm_rights, print_scm_creds, print_scm_security):
New functions.
(printcmsghdr): Use them. Iterate over all members of the array.
* xlat/scmvals.in: Add SCM_SECURITY.
* tests/scm_rights.c (main): Pass one more descriptor to the receiver.
Set SO_PASSCRED on the receiver part. Reserve enough space to receive
SCM_CREDENTIALS and SCM_RIGHTS.
* tests/scm_rights-fd.test: Update.
cmvals.in
778dfb270f1dcbd872435cb4e362427da8e4f1dc 24-Jan-2015 Dmitry V. Levin <ldv@altlinux.org> Update SO_* constants

* xlat/sockoptions.in: Add SO_DOMAIN, SO_MARK, SO_NOFCS, SO_PASSSEC,
SO_PROTOCOL, SO_RCVBUFFORCE, SO_SNDBUFFORCE, SO_TIMESTAMPING,
and SO_TIMESTAMPNS.
ockoptions.in
6f9a01c72121bc0b0fc760d9fea6879fb85f6f02 21-Jan-2015 Gabriel Laskar <gabriel@lse.epita.fr> ioctl: add decoding for parametrized command names

Some ioctl commands from evdev, hiddev, mixer, uinput, spi, and joystick
are parametrized by a size or a number that are variable. This change
implements printing of these parametrized ioctl command names.

* configure.ac (AC_CHECK_HEADERS): Add linux/input.h.
* defs.h (ioctl_decode_number): New prototype.
* io.c (sys_ioctl): Use ioctl_decode_number.
* ioctl.c (ioctl_decode_number): New function.
* xlat/evdev_abs.in: New file.
* xlat/evdev_ev.in: New file.

Signed-off-by: Gabriel Laskar <gabriel@lse.epita.fr>
vdev_abs.in
vdev_ev.in
924996a41e54a3ac6bb90a43a8cebbbf6c0e1319 20-Jan-2015 Dmitry V. Levin <ldv@altlinux.org> ioctl: print unrecognized ioctl codes in _IOC(dir,type,nr,size) format

* defs.h (ioctl_print_code): New prototype.
* ioctl.c: Include xlat/ioctl_dirs.h.
(ioctl_print_code): New function.
* io.c (sys_ioctl): Use it.
* xlat/ioctl_dirs.in: New file.
octl_dirs.in
75023a9381f49dd1a74ffc7d7397d88686d10cf9 09-Jan-2015 Dmitry V. Levin <ldv@altlinux.org> Fix build on systems that lack O_CLOEXEC definition

* xlat/timerfdflags.in [!TFD_CLOEXEC]: Check that O_CLOEXEC is defined.
imerfdflags.in
2928afe3b41bf96c98be59e802dd3655cd346aef 28-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Cleanup struct stat.st_flags decoding

There are no symbolic constants defined for struct stat.st_flags,
so decode this rare field as unsigned int.

* xlat/fileflags.in: Remove.
* file.c (realprintstat, printstat64) [HAVE_STRUCT_STAT_ST_FLAGS]:
Decode struct stat.st_flags as unsigned int.
ileflags.in
caca6eeed8d78749feb75013d5d0e0bdd5574961 06-Jan-2015 Elliott Hughes <enh@google.com> Fix the strace build after the sync to ToT.

Change-Id: Ib59a12f38595c968445ebdf20c62081cf05e8d0a
akemodule.am
t_flags.h
t_protocols.h
ap_version.h
apabilities.h
apabilities1.h
alloc_flags.h
smagic.h
pen_mode_flags.h
rctl_options.h
trace_cmds.h
chedulers.h
wap_flags.h
imerfdflags.h
4l2_buf_flags.h
4l2_buf_types.h
4l2_capture_modes.h
4l2_colorspaces.h
4l2_control_classes.h
4l2_control_flags.h
4l2_control_ids.h
4l2_control_types.h
4l2_device_capabilities_flags.h
4l2_fields.h
4l2_format_description_flags.h
4l2_frameinterval_types.h
4l2_framesize_types.h
4l2_input_types.h
4l2_memories.h
4l2_streaming_capabilities.h
33232a5ba8ad46a31fa2fd5f427637bf7d1746f4 05-Jan-2015 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
f1639d8f51cd609a43f5091f4cc3b31be4c63ec4 31-Dec-2014 Mike Frysinger <vapier@gentoo.org> timerfd: update flags decoding

The current code only decodes TFD_TIMER_ABSTIME when the kernel has
a bunch of newer flags. We have to handle fallbacks for all of them
since the kernel doesn't currently export things to userspace.

* time.c: Include fcntl.h for O_* defines.
(TFD_TIMER_ABSTIME): Move to xlat/timerfdflags.in.
* xlat/timerfdflags.in: Add more definitions.
imerfdflags.in
79fb4d6a9ab049d0935374226647d4b32c9c86ea 13-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Update PTRACE_* constants

* xlat/ptrace_cmds.in: Add PTRACE_PEEKSIGINFO, PTRACE_GETSIGMASK,
and PTRACE_SETSIGMASK.
trace_cmds.in
825b524c8cf5acc1740176ed6f89c711b996770e 13-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Update SWAP_FLAG_* constants

* swapon.c: Ensure that SWAP_FLAG_DISCARD_ONCE and
SWAP_FLAG_DISCARD_PAGES are defined.
* xlat/swap_flags.in: Add SWAP_FLAG_DISCARD_ONCE and
SWAP_FLAG_DISCARD_PAGES.
wap_flags.in
719554d5ebeaa677385412ac0e88d04f15ac14cf 11-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Update SCHED_* constants

* xlat/schedulers.in: Add SCHED_BATCH, SCHED_ISO, SCHED_IDLE, and
SCHED_DEADLINE.
chedulers.in
4bcce0ae6fffefdfff6b465bc2630756d97b026e 11-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Update prctl PR_* constants

* xlat/prctl_options.in: Add PR_SET_THP_DISABLE, PR_GET_THP_DISABLE,
PR_MPX_ENABLE_MANAGEMENT, and PR_MPX_DISABLE_MANAGEMENT.
rctl_options.in
52572b6fdd88a9a9349581c03625126dd7de80b0 11-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Implement decoding of fallocate FALLOC_FL_* flags

* xlat/falloc_flags.in: New file.
* configure.ac (AC_CHECK_HEADERS): Add linux/falloc.h.
* fallocate.c [HAVE_LINUX_FALLOC_H]: Include <linux/falloc.h>.
Include xlat/falloc_flags.h.
(sys_fallocate): Decode flags.
alloc_flags.in
4b9c68b9a3a5297050985b2cbcb74752051edf98 05-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Implement full decoding of 64-bit capabilities

Unlike v1 capabilities which are 32-bit, v2 and v3 are 64-bit, but
before this change only lower 32 capability bits were decoded for
v2 and v3.

* xlat/capabilities1.in: New file.
* capability.c: Define v2/v3 CAP_* constants.
Include xlat/capabilities1.h.
(get_cap_header): New function.
(print_cap_header): Update to use get_cap_header result.
(print_cap_data): Decoder higher capability bits for v2 and v3.
(sys_capget, sys_capset): Use get_cap_header, update print_cap_header
and print_cap_data calls.
* tests/caps.c: New file.
* tests/caps.awk: New file.
* tests/caps.test: New test.
* tests/Makefile.am (CHECK_PROGRAMS): Add caps.
(TESTS): Add caps.test.
(EXTRA_DIST): Add caps.awk.
apabilities1.in
bf7fdfa96eb5d052b0535a6ce0d3179a770830f9 03-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Make parsers of capget and capset syscalls self-contained

Various versions of <linux/capability.h> used to require different
workarounds to avoid conflicts with types defined by libc headers.
Define all required types and constants locally to fix this issue.

* configure.ac (AC_CHECK_HEADERS): Remove linux/capability.h.
* capability.c: Do not include <linux/capability.h>, remove workarounds
for problematic versions of <linux/capability.h> file.
Define CAP_* and _LINUX_CAPABILITY_VERSION_* constants as enums.
(struct __user_cap_header_struct, struct __user_cap_data_struct): Define.
* xlat/cap_version.in: Add #unconditional.
* xlat/capabilities.in: Likewise.
ap_version.in
apabilities.in
6b82ba5b7f4617dab3197eb707739be51346eb82 02-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Remove unused sys_mctl

Starting with commit v4.6-240-g5afdf12, nobody compiles this
non-Linux code.

* mem.c [MC_SYNC]: Remove.
* xlat/mctl_funcs.in: Remove.
* xlat/mctl_lockas.in: Remove.
ctl_funcs.in
ctl_lockas.in
681452b0f854833d4bd443fcd9bb0bab2b46339f 01-Dec-2014 Dmitry V. Levin <ldv@altlinux.org> Remove unused <sys/acl.h> based code

Starting with commit v4.6-240-g5afdf12, nobody compiles this
non-Linux code.

* configure.ac (AC_CHECK_HEADERS): Remove sys/acl.h.
* file.c [HAVE_SYS_ACL_H]: Remove.
* xlat/aclcmds.in: Remove.
clcmds.in
18901ea0caf900d6c3aad8748d072234e9f0f850 20-Nov-2014 Mike Frysinger <vapier@gentoo.org> Decode open's O_TMPFILE

* xlat/open_mode_flags.in: Add O_TMPFILE definition.
pen_mode_flags.in
c400a1c70ebebde368481c01e85d68e7fd118be6 03-Oct-2014 Lubomir Rintel <lkundrak@v3.sk> Dump details for Bluetooth socket operations

* configure.ac (AC_CHECK_HEADERS): Add bluetooth/bluetooth.h.
* xlat/bt_protocols.in: New file.
* net.c [AF_BLUETOOTH && HAVE_BLUETOOTH_BLUETOOTH_H]: Include bluetooth
headers.
[PF_BLUETOOTH && HAVE_BLUETOOTH_BLUETOOTH_H]: Include "xlat/bt_protocols.h".
(printsock) [AF_BLUETOOTH && HAVE_BLUETOOTH_BLUETOOTH_H]: Dump details
for AF_BLUETOOTH sockets.
(sys_socket) [PF_BLUETOOTH && HAVE_BLUETOOTH_BLUETOOTH_H]: Decode
protocol for PF_BLUETOOTH sockets.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
t_protocols.in
0cc961440b527ff8c16954fc411a1529072edb92 03-Nov-2014 Philippe De Muyter <phdm@macqel.be> Implement Video4Linux video-input ioctls decoder

Introduce v4l2.c, a decoder for the arguments of the video-input subset
of the v4l2 ioctl's. This is a combination of
- previous work by Peter Zotov <whitequark@whitequark.org>, found at
https://gist.githubusercontent.com/whitequark/1263207/raw/strace-4.6-v4l2-ioctls.patch
- previous work by William Manley <will@williammanley.net>, found at
http://marc.info/?l=strace&m=139395588520675
- forward port, additions and fixes by Philippe De Muyter <phdm@macqel.be>

As v4l2 is a moving target, I have made v4l2.c compilable with ancient
linux kernels by testing the availability of some macros. It has been
succesfully compiled on linux 3.10, 3.1, 2.6.31 and 2.6.22, and
succesfully used on linux 3.10 with a camera device.

* configure.ac: Check for availabilty of V4L2_* enum constants.
* Makefile.am (strace_SOURCES): Add v4l2.c.
* defs.h (v4l2_ioctl): New prototype.
* ioctl.c (ioctl_decode): Use v4l2_ioctl.
* v4l2.c: New file.
* xlat/v4l2_*.in: New files.

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Cc: Peter Zotov <whitequark@whitequark.org>
Cc: William Manley <will@williammanley.net>
4l2_buf_flags.in
4l2_buf_types.in
4l2_capture_modes.in
4l2_colorspaces.in
4l2_control_classes.in
4l2_control_flags.in
4l2_control_ids.in
4l2_control_types.in
4l2_device_capabilities_flags.in
4l2_fields.in
4l2_format_description_flags.in
4l2_frameinterval_types.in
4l2_framesize_types.in
4l2_input_types.in
4l2_memories.in
4l2_streaming_capabilities.in
e4a6ec19eb8cbc0beea09c744d57e8de60343fc0 22-Sep-2014 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
4176d533e0c0a205aa07e9670c6935cf9bd394a6 22-Sep-2014 Dmitry V. Levin <ldv@altlinux.org> fsmagic: sort array by value and use bsearch for faster lookup

* defs.h (xlat_search): New prototype.
* util.c (xlat_bsearch_compare, xlat_search): New functions.
* file.c (sprintfstype): Use xlat_search for fsmagic lookup.
* xlat/fsmagic.in: Sort by value and mark as not NULL-terminated.
* tests/statfs.c: New file.
* tests/statfs.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add statfs.
(statfs_CFLAGS): Define.
(TESTS): Add statfs.test.
* tests/.gitignore: Add statfs.
smagic.in
7faa5b488444b798324989df5ebcc614b68477ff 21-Sep-2014 Dmitry V. Levin <ldv@altlinux.org> fsmagic: update from <linux/magic.h>

* xlat/fsmagic.in: Add new constants from <linux/magic.h>.
Reported by Elliott Hughes.
smagic.in
5b677ab904f4ab8b272fdc78b2b9e8321412392d 14-Aug-2014 Mike Frysinger <vapier@gentoo.org> renameat2: add decoding support

* file.c (decode_renameat, sys_renameat2): New functions.
(sys_renameat): Use decode_renameat.
* pathtrace.c (pathtrace_match): Handle sys_renameat2.
* linux/syscall.h (sys_renameat2): New prototype.
* xlat/rename_flags.in: New file.
ename_flags.in
ab87bba68c195f1e2baf39b0b9788a171dc5f522 15-Aug-2014 Elliott Hughes <enh@google.com> Merge "Generate xlat/rename_flags.h."
caa20a125af9c7d856b97df8abb4ebd1e6b94a48 15-Aug-2014 Elliott Hughes <enh@google.com> Generate xlat/rename_flags.h.

Change-Id: If3b803c9801cfcb80fc38998fe1ec7ff40ae7be4
ename_flags.h
69ef3d485a4324d30faaa14893da51c92dc3f5b3 15-Aug-2014 Elliott Hughes <enh@google.com> Merge remote-tracking branch 'strace/master' into HEAD
827283714cf6f0ff11f3b46a98203cb3c8fd920b 07-Jun-2014 Elliott Hughes <enh@google.com> Add new generated strace files ignored by xlat/.gitignore.

These shouldn't be checked in to the upstream strace git repository,
but they should be in ours!

Change-Id: If950542c25bdeb18b6a565ecb07a434bb8730d9a
akemodule.am
ccess_flags.h
clcmds.h
clipc.h
ddrfams.h
djtimex_modes.h
djtimex_state.h
djtimex_status.h
dvise.h
f_packet_types.h
rchvals.h
t_flags.h
tomic_ops.h
aud_options.h
lkpg_ops.h
ootflags1.h
ootflags2.h
ootflags3.h
acheflush_scope.h
ap_version.h
apabilities.h
lockflags.h
locknames.h
lone_flags.h
puclocknames.h
elete_module_flags.h
irenttypes.h
omains.h
pollctls.h
pollevents.h
pollflags.h
an_classes.h
an_event_flags.h
an_init_flags.h
an_mark_flags.h
cntlcmds.h
dflags.h
ileflags.h
lockcmds.h
smagic.h
utexops.h
utexwakecmps.h
utexwakeops.h
cmpfilterflags.h
f_dqblk_valid.h
f_dqinfo_valid.h
ffflags.h
net_protocols.h
notify_flags.h
notify_init_flags.h
oprio_class.h
oprio_who.h
pc_msg_flags.h
timer_which.h
exec_arch_values.h
exec_flags.h
ey_perms.h
ey_reqkeys.h
ey_spec.h
eyctl_commands.h
ockfcmds.h
oop_crypt_type_options.h
oop_flags_options.h
advise_cmds.h
bindflags.h
ctl_funcs.h
ctl_lockas.h
ctl_sync.h
empolicyflags.h
lockall_flags.h
map_flags.h
map_prot.h
odem_flags.h
odetypes.h
odflags.h
odule_init_flags.h
ount_flags.h
ove_pages_flags.h
remap_flags.h
sg_flags.h
sgctl_flags.h
sgflags.h
td_flags_options.h
td_mode_options.h
td_nandecc_options.h
td_otp_options.h
td_type_options.h
etlink_protocols.h
otifyflags.h
t_descriptor_types.h
pen_access_modes.h
pen_mode_flags.h
penmodessol.h
erf_event_open_flags.h
ersonality_options.h
msgflags.h
olicies.h
ollflags.h
rctl_options.h
riorities.h
tp_flags_options.h
trace_cmds.h
trace_setoptions_flags.h
m_which.h
uota_formats.h
uotacmds.h
uotatypes.h
esource_flags.h
esources.h
chedulers.h
cmvals.h
emctl_flags.h
emop_flags.h
g_io_dxfer_direction.h
hm_flags.h
hm_resource_flags.h
hmctl_flags.h
hutdown_modes.h
igact_flags.h
igaltstack_flags.h
igbus_codes.h
igchld_codes.h
igemt_codes.h
igev_value.h
igfpe_codes.h
igill_codes.h
iginfo_codes.h
igpoll_codes.h
igprocmaskcmds.h
igprof_codes.h
igsegv_codes.h
igsys_codes.h
igtrap_codes.h
ock_type_flags.h
ocketlayers.h
ockipoptions.h
ockipv6options.h
ockipxoptions.h
ockoptions.h
ockpacketoptions.h
ockrawoptions.h
ocksctpoptions.h
ocktcpoptions.h
ocktypes.h
plice_flags.h
ram_alloc_flags.h
wap_flags.h
ync_file_range_flags.h
ysctl_kern.h
ysctl_net.h
ysctl_net_core.h
ysctl_net_ipv4.h
ysctl_net_ipv4_conf.h
ysctl_net_ipv4_route.h
ysctl_net_ipv6.h
ysctl_net_ipv6_route.h
ysctl_net_unix.h
ysctl_root.h
ysctl_vm.h
yslog_action_type.h
ysmips_operations.h
cflsh_options.h
cxonc_options.h
imerfdflags.h
bi_volume_props.h
bi_volume_types.h
mount_flags.h
sagewho.h
ait4_options.h
aitid_types.h
hence_codes.h
attrflags.h
fs_dqblk_flags.h
fs_quota_flags.h
d04bb2bb804fae73d29b234eae081af6f80e8209 04-Jun-2014 Dmitry V. Levin <ldv@altlinux.org> Fix delete_module decoding

* xlat/delete_module_flags.in: New file.
* file.c (sys_delete_module): Move ...
* bjm.c (sys_delete_module): ... to here.
Decode 1st argument using printstr instead of printpath.
* NEWS: Mention it.
elete_module_flags.in
6dbbe0737a76c1bae5b0995025a9b0843781a393 26-Apr-2014 Dmitry V. Levin <ldv@altlinux.org> sysctl: update CTL_*, KERN_*, NET_*, and VM_* constants

* configure.ac (AC_CHECK_DECLS): Add CTL_*, KERN_*, NET_*, and
VM_* constants.
* system.c (CTL_PROC, CTL_CPU): Remove definitions.
* xlat/sysctl_*.in: Update.
ysctl_kern.in
ysctl_net.in
ysctl_net_core.in
ysctl_net_ipv4.in
ysctl_net_ipv4_conf.in
ysctl_net_ipv4_route.in
ysctl_net_ipv6.in
ysctl_net_ipv6_route.in
ysctl_net_unix.in
ysctl_root.in
ysctl_vm.in
63ebcfc55920544a5fd2deaba64540b671cb6d1e 26-Apr-2014 Dmitry V. Levin <ldv@altlinux.org> xlat: cleanup the aftermath of automatic conversion
map_flags.in
pen_mode_flags.in
igact_flags.in
ait4_options.in
0ed617bd66624cec6138102545d73b2e2346f1f6 26-Apr-2014 Dmitry V. Levin <ldv@altlinux.org> Generate xlat/*.in files

Automatically convert xlat structures from *.c files to xlat/*.in files
using "./generate_xlat_in.sh *.c" command.
ccess_flags.in
clcmds.in
clipc.in
ddrfams.in
djtimex_modes.in
djtimex_state.in
djtimex_status.in
dvise.in
f_packet_types.in
rchvals.in
t_flags.in
tomic_ops.in
aud_options.in
lkpg_ops.in
ootflags1.in
ootflags2.in
ootflags3.in
acheflush_scope.in
ap_version.in
apabilities.in
lockflags.in
locknames.in
lone_flags.in
puclocknames.in
irenttypes.in
omains.in
pollctls.in
pollevents.in
pollflags.in
an_classes.in
an_event_flags.in
an_init_flags.in
an_mark_flags.in
cntlcmds.in
dflags.in
ileflags.in
lockcmds.in
smagic.in
utexops.in
utexwakecmps.in
utexwakeops.in
cmpfilterflags.in
f_dqblk_valid.in
f_dqinfo_valid.in
ffflags.in
net_protocols.in
notify_flags.in
notify_init_flags.in
oprio_class.in
oprio_who.in
pc_msg_flags.in
timer_which.in
exec_arch_values.in
exec_flags.in
ey_perms.in
ey_reqkeys.in
ey_spec.in
eyctl_commands.in
ockfcmds.in
oop_crypt_type_options.in
oop_flags_options.in
advise_cmds.in
bindflags.in
ctl_funcs.in
ctl_lockas.in
ctl_sync.in
empolicyflags.in
lockall_flags.in
map_flags.in
map_prot.in
odem_flags.in
odetypes.in
odflags.in
odule_init_flags.in
ount_flags.in
ove_pages_flags.in
remap_flags.in
sg_flags.in
sgctl_flags.in
sgflags.in
td_flags_options.in
td_mode_options.in
td_nandecc_options.in
td_otp_options.in
td_type_options.in
etlink_protocols.in
otifyflags.in
t_descriptor_types.in
pen_access_modes.in
pen_mode_flags.in
penmodessol.in
erf_event_open_flags.in
ersonality_options.in
msgflags.in
olicies.in
ollflags.in
rctl_options.in
riorities.in
tp_flags_options.in
trace_cmds.in
trace_setoptions_flags.in
m_which.in
uota_formats.in
uotacmds.in
uotatypes.in
esource_flags.in
esources.in
chedulers.in
cmvals.in
emctl_flags.in
emop_flags.in
g_io_dxfer_direction.in
hm_flags.in
hm_resource_flags.in
hmctl_flags.in
hutdown_modes.in
igact_flags.in
igaltstack_flags.in
igbus_codes.in
igchld_codes.in
igemt_codes.in
igev_value.in
igfpe_codes.in
igill_codes.in
iginfo_codes.in
igpoll_codes.in
igprocmaskcmds.in
igprof_codes.in
igsegv_codes.in
igsys_codes.in
igtrap_codes.in
ock_type_flags.in
ocketlayers.in
ockipoptions.in
ockipv6options.in
ockipxoptions.in
ockoptions.in
ockpacketoptions.in
ockrawoptions.in
ocksctpoptions.in
ocktcpoptions.in
ocktypes.in
plice_flags.in
ram_alloc_flags.in
wap_flags.in
ync_file_range_flags.in
ysctl_kern.in
ysctl_net.in
ysctl_net_core.in
ysctl_net_ipv4.in
ysctl_net_ipv4_conf.in
ysctl_net_ipv4_route.in
ysctl_net_ipv6.in
ysctl_net_ipv6_route.in
ysctl_net_unix.in
ysctl_root.in
ysctl_vm.in
yslog_action_type.in
ysmips_operations.in
cflsh_options.in
cxonc_options.in
imerfdflags.in
bi_volume_props.in
bi_volume_types.in
mount_flags.in
sagewho.in
ait4_options.in
aitid_types.in
hence_codes.in
attrflags.in
fs_dqblk_flags.in
fs_quota_flags.in
5153b5cd681a4091d378883d06291b5bcb963e69 26-Apr-2014 Dmitry V. Levin <ldv@altlinux.org> Enhance xlat generator

* xlat/gen.sh: Define all xlat structs not declared in defs.h as static.
Some symbolic constants are not macros, extend #ifdef check to cover
symbolic constants checked by AC_CHECK_DECLS.
Handle complex symbolic constants in SYMBOL|... form.
Handle symbolic constants in 1<<SYMBOL form.
Handle numeric constants.
Implement #unconditional directive that turns off preprocessor checks.
Implement #unterminated directive that turns off adding XLAT_END.
en.sh
761ed9ba42d00aa9cbd4daceefbbff016e7c9f12 16-Feb-2014 Mike Frysinger <vapier@gentoo.org> Implement xlat generator

* bootstrap: New file.
* xlat/gen.sh: Likewise.
* Makefile.am: Include xlat/Makemodule.am
(EXTRA_DIST): Add $(XLAT_INPUT_FILES), $(XLAT_HEADER_FILES), and
xlat/gen.sh.
en.sh