aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-07-07 22:06:36 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-07-07 22:06:36 +0000
commit5b70c8ffac1eddfa08e3e279cbacf88a62b90093 (patch)
tree4e293d63e61351539e549cbe28a69efbc24136d6
parentd3b9bf49913589c2e3587b3b6089f442642ebdd1 (diff)
parentada03b32510768aa72c22be58f48f43c4c4c41e9 (diff)
downloadstrace-oreo-mr1-wear-release.tar.gz
release-request-ccd04736-6e66-4825-a227-ecd69d8b5337-for-git_oc-mr1-release-4163697 snap-temp-L79500000080559163android-wear-8.1.0_r1android-vts-8.1_r9android-vts-8.1_r8android-vts-8.1_r7android-vts-8.1_r6android-vts-8.1_r5android-vts-8.1_r4android-vts-8.1_r3android-vts-8.1_r14android-vts-8.1_r13android-vts-8.1_r12android-vts-8.1_r11android-vts-8.1_r10android-security-8.1.0_r93android-security-8.1.0_r92android-security-8.1.0_r91android-security-8.1.0_r90android-security-8.1.0_r89android-security-8.1.0_r88android-security-8.1.0_r87android-security-8.1.0_r86android-security-8.1.0_r85android-security-8.1.0_r84android-security-8.1.0_r83android-security-8.1.0_r82android-cts-8.1_r9android-cts-8.1_r8android-cts-8.1_r7android-cts-8.1_r6android-cts-8.1_r5android-cts-8.1_r4android-cts-8.1_r3android-cts-8.1_r25android-cts-8.1_r24android-cts-8.1_r23android-cts-8.1_r22android-cts-8.1_r21android-cts-8.1_r20android-cts-8.1_r2android-cts-8.1_r19android-cts-8.1_r18android-cts-8.1_r17android-cts-8.1_r16android-cts-8.1_r15android-cts-8.1_r14android-cts-8.1_r13android-cts-8.1_r12android-cts-8.1_r11android-cts-8.1_r10android-cts-8.1_r1android-8.1.0_r9android-8.1.0_r81android-8.1.0_r80android-8.1.0_r8android-8.1.0_r79android-8.1.0_r78android-8.1.0_r77android-8.1.0_r76android-8.1.0_r75android-8.1.0_r74android-8.1.0_r73android-8.1.0_r72android-8.1.0_r71android-8.1.0_r70android-8.1.0_r7android-8.1.0_r69android-8.1.0_r68android-8.1.0_r67android-8.1.0_r66android-8.1.0_r65android-8.1.0_r64android-8.1.0_r63android-8.1.0_r62android-8.1.0_r61android-8.1.0_r60android-8.1.0_r6android-8.1.0_r53android-8.1.0_r52android-8.1.0_r51android-8.1.0_r50android-8.1.0_r5android-8.1.0_r48android-8.1.0_r47android-8.1.0_r46android-8.1.0_r45android-8.1.0_r43android-8.1.0_r42android-8.1.0_r41android-8.1.0_r40android-8.1.0_r4android-8.1.0_r39android-8.1.0_r38android-8.1.0_r37android-8.1.0_r36android-8.1.0_r35android-8.1.0_r33android-8.1.0_r32android-8.1.0_r31android-8.1.0_r30android-8.1.0_r3android-8.1.0_r29android-8.1.0_r28android-8.1.0_r27android-8.1.0_r26android-8.1.0_r25android-8.1.0_r23android-8.1.0_r22android-8.1.0_r21android-8.1.0_r20android-8.1.0_r2android-8.1.0_r19android-8.1.0_r18android-8.1.0_r17android-8.1.0_r16android-8.1.0_r15android-8.1.0_r14android-8.1.0_r13android-8.1.0_r12android-8.1.0_r11android-8.1.0_r10android-8.1.0_r1security-oc-mr1-releaseoreo-mr1-wear-releaseoreo-mr1-vts-releaseoreo-mr1-security-releaseoreo-mr1-s1-releaseoreo-mr1-releaseoreo-mr1-cuttlefish-testingoreo-mr1-cts-releaseoreo-m8-releaseoreo-m7-releaseoreo-m6-s4-releaseoreo-m6-s3-releaseoreo-m6-s2-releaseoreo-m5-releaseoreo-m4-s9-releaseoreo-m4-s8-releaseoreo-m4-s7-releaseoreo-m4-s6-releaseoreo-m4-s5-releaseoreo-m4-s4-releaseoreo-m4-s3-releaseoreo-m4-s2-releaseoreo-m4-s12-releaseoreo-m4-s11-releaseoreo-m4-s10-releaseoreo-m4-s1-releaseoreo-m3-releaseoreo-m2-s5-releaseoreo-m2-s4-releaseoreo-m2-s3-releaseoreo-m2-s2-releaseoreo-m2-s1-releaseoreo-m2-release
Change-Id: I98acc548cdc11ac59bd95a6b95b4849cf21456f2
-rw-r--r--Android.mk149
-rw-r--r--COPYING4
-rw-r--r--CREDITS4
-rw-r--r--ChangeLog1577
-rw-r--r--Makefile.am1064
-rw-r--r--Makefile.in308
-rw-r--r--NEWS36
-rw-r--r--aio.c4
-rw-r--r--block.c26
-rw-r--r--bpf.c6
-rw-r--r--btrfs.c8
-rw-r--r--clone.c2
-rw-r--r--config.h1326
-rw-r--r--config.h.in12
-rwxr-xr-xconfigure122
-rw-r--r--configure.ac141
-rw-r--r--count.c2
-rw-r--r--debian/changelog12
-rw-r--r--debian/changelog.in6
-rw-r--r--debian/copyright2
-rw-r--r--defs.h143
-rw-r--r--desc.c3
-rw-r--r--dirent.c2
-rw-r--r--dirent64.c2
-rw-r--r--dm.c2
-rw-r--r--dyxlat.c103
-rw-r--r--evdev.c2
-rw-r--r--fetch_struct_statfs.c2
-rw-r--r--file_ioctl.c6
-rw-r--r--gcc_compat.h2
-rw-r--r--io.c10
-rw-r--r--ioctlsort.c4
-rw-r--r--ipc_defs.h9
-rw-r--r--kcmp.c2
-rw-r--r--kexec.c2
-rw-r--r--linux/32/ioctls_inc_align16.h37
-rw-r--r--linux/32/ioctls_inc_align32.h37
-rw-r--r--linux/32/ioctls_inc_align64.h37
-rw-r--r--linux/64/ioctls_inc.h37
-rw-r--r--linux/aarch64/arch_regs.c42
-rw-r--r--linux/alpha/syscallent.h2
-rw-r--r--linux/arc/arch_regs.c2
-rw-r--r--linux/arm/arch_sigreturn.c2
-rw-r--r--linux/arm/get_scno.c2
-rw-r--r--linux/bfin/get_syscall_args.c5
-rw-r--r--linux/inet_diag.h72
-rw-r--r--linux/mips/syscallent-n32-stub.h331
-rw-r--r--linux/mips/syscallent-n64-stub.h327
-rw-r--r--linux/mips/syscallent-o32-stub.h367
-rw-r--r--linux/netlink_diag.h30
-rw-r--r--linux/nios2/arch_regs.c2
-rw-r--r--linux/nios2/arch_regs.h2
-rw-r--r--linux/packet_diag.h40
-rw-r--r--linux/personality.h8
-rw-r--r--linux/ptp_clock.h4
-rw-r--r--linux/sh64/arch_regs.h20
-rw-r--r--linux/smc_diag.h33
-rw-r--r--linux/sock_diag.h3
-rw-r--r--linux/tile/arch_sigreturn.c2
-rw-r--r--linux/ubi-user.h2
-rw-r--r--linux/unix_diag.h25
-rw-r--r--linux/x32/ioctls_inc0.h37
-rw-r--r--linux/x86_64/get_scno.c14
-rw-r--r--linux/x86_64/set_error.c4
-rw-r--r--m4/ax_code_coverage.m42
-rw-r--r--macros.h38
-rw-r--r--mem.c2
-rw-r--r--mpers.am2
-rw-r--r--mpers_type.h3
-rw-r--r--msghdr.c28
-rw-r--r--native_printer_decls.h3
-rw-r--r--native_printer_defs.h3
-rw-r--r--net.c39
-rw-r--r--netlink.c286
-rw-r--r--netlink.h59
-rw-r--r--netlink_sock_diag.c885
-rw-r--r--nlattr.c191
-rw-r--r--nlattr.h60
-rw-r--r--numa.c12
-rw-r--r--open.c4
-rw-r--r--or1k_atomic.c20
-rw-r--r--pathtrace.c6
-rw-r--r--perf.c136
-rw-r--r--perf_event_struct.h56
-rw-r--r--print_fields.h68
-rw-r--r--print_timespec.c36
-rw-r--r--print_timeval.c12
-rw-r--r--printers.h9
-rw-r--r--qualify.c34
-rw-r--r--quota.c61
-rw-r--r--resource.c9
-rw-r--r--scno.am44
-rw-r--r--signal.c111
-rw-r--r--sockaddr.c41
-rw-r--r--socketutils.c319
-rw-r--r--statx.c22
-rw-r--r--statx.h4
-rwxr-xr-xstrace-graph3
-rw-r--r--strace.c661
-rw-r--r--strace.spec9
-rw-r--r--strace.spec.in3
-rw-r--r--syscall.c123
-rw-r--r--sysctl.c2
-rw-r--r--tests-m32/Makefile7114
-rw-r--r--tests-m32/Makefile.am390
-rw-r--r--tests-m32/Makefile.in696
-rw-r--r--tests-m32/add_key.c3
-rw-r--r--tests-m32/aio.c26
-rw-r--r--tests-m32/block_reset_raise_run.c55
-rw-r--r--tests-m32/btrfs.c48
-rw-r--r--tests-m32/create_nl_socket.c52
-rw-r--r--tests-m32/dup3.c2
-rw-r--r--tests-m32/errno2name.c3
-rw-r--r--tests-m32/execve.c11
-rw-r--r--tests-m32/execveat.c11
-rw-r--r--tests-m32/futex.c4
-rw-r--r--tests-m32/gen_tests.am1007
-rw-r--r--tests-m32/gen_tests.in16
-rw-r--r--tests-m32/getcpu.c8
-rw-r--r--tests-m32/init.sh4
-rwxr-xr-xtests-m32/interactive_block.test15
-rw-r--r--tests-m32/ioctl.c2
-rw-r--r--tests-m32/ioctl_block.c8
-rw-r--r--tests-m32/ioctl_evdev.c8
-rw-r--r--tests-m32/ioctl_mtd.c20
-rw-r--r--tests-m32/ioctl_sg_io_v3.c44
-rw-r--r--tests-m32/ioctl_sg_io_v4.c28
-rw-r--r--tests-m32/ioctl_sock_gifconf.c2
-rw-r--r--tests-m32/ioctl_uffdio.c2
-rw-r--r--tests-m32/ioctl_v4l2.c29
-rw-r--r--tests-m32/ip_mreq.c4
-rw-r--r--tests-m32/ipc_msgbuf.c2
-rw-r--r--tests-m32/ipc_sem.c8
-rw-r--r--tests-m32/kexec_file_load.c2
-rw-r--r--tests-m32/keyctl.c2
-rw-r--r--tests-m32/ksysent.c2
-rw-r--r--tests-m32/mincore.c2
-rw-r--r--tests-m32/mmsg.c21
-rw-r--r--tests-m32/mmsg_name.c4
-rw-r--r--tests-m32/mq.c2
-rw-r--r--tests-m32/mq_sendrecv.c4
-rw-r--r--tests-m32/msg_control.c161
-rw-r--r--tests-m32/net-accept-connect.c2
-rw-r--r--tests-m32/net-sockaddr.c2
-rw-r--r--tests-m32/net-y-unix.c2
-rw-r--r--tests-m32/net-yy-inet.c4
-rw-r--r--tests-m32/net-yy-netlink.c6
-rw-r--r--tests-m32/net-yy-unix.c2
-rw-r--r--tests-m32/netlink_audit.c64
-rwxr-xr-xtests-m32/netlink_audit.gen.test3
-rw-r--r--tests-m32/netlink_generic.c88
-rwxr-xr-xtests-m32/netlink_generic.gen.test3
-rw-r--r--tests-m32/netlink_inet_diag.c2
-rw-r--r--tests-m32/netlink_netfilter.c90
-rwxr-xr-xtests-m32/netlink_netfilter.gen.test3
-rw-r--r--tests-m32/netlink_netlink_diag.c6
-rw-r--r--tests-m32/netlink_protocol.c93
-rwxr-xr-xtests-m32/netlink_protocol.gen.test4
-rw-r--r--tests-m32/netlink_route.c107
-rwxr-xr-xtests-m32/netlink_route.gen.test3
-rw-r--r--tests-m32/netlink_selinux.c64
-rwxr-xr-xtests-m32/netlink_selinux.gen.test3
-rw-r--r--tests-m32/netlink_sock_diag.c1606
-rwxr-xr-xtests-m32/netlink_sock_diag.test33
-rw-r--r--tests-m32/netlink_unix_diag.c6
-rw-r--r--tests-m32/netlink_xfrm.c100
-rwxr-xr-xtests-m32/netlink_xfrm.gen.test3
-rw-r--r--tests-m32/nlattr.c326
-rwxr-xr-xtests-m32/nlattr.gen.test3
-rw-r--r--tests-m32/nlattr_inet_diag_msg.c198
-rwxr-xr-xtests-m32/nlattr_inet_diag_msg.gen.test3
-rw-r--r--tests-m32/nlattr_netlink_diag_msg.c118
-rwxr-xr-xtests-m32/nlattr_netlink_diag_msg.gen.test3
-rw-r--r--tests-m32/nlattr_unix_diag_msg.c116
-rwxr-xr-xtests-m32/nlattr_unix_diag_msg.gen.test3
-rw-r--r--tests-m32/nsyscalls.c2
-rwxr-xr-xtests-m32/options-syntax.test12
-rw-r--r--tests-m32/perf_event_open.c86
-rw-r--r--tests-m32/poll.c68
-rw-r--r--tests-m32/ppoll.c7
-rw-r--r--tests-m32/preadv-pwritev.c7
-rw-r--r--tests-m32/preadv.c7
-rw-r--r--tests-m32/preadv2-pwritev2.c7
-rw-r--r--tests-m32/print_quoted_string.c2
-rw-r--r--tests-m32/print_time.c2
-rw-r--r--tests-m32/printstr.c9
-rw-r--r--tests-m32/process_vm_readv_writev.c19
-rw-r--r--tests-m32/pselect6.c4
-rw-r--r--tests-m32/ptrace.c4
-rw-r--r--tests-m32/pure_executables.am347
-rwxr-xr-xtests-m32/pure_executables.list15
-rw-r--r--tests-m32/qual_fault.c112
-rwxr-xr-xtests-m32/qual_fault.test32
-rw-r--r--tests-m32/quotactl-xfs.c96
-rw-r--r--tests-m32/quotactl.c40
-rw-r--r--tests-m32/quotactl.h13
-rw-r--r--tests-m32/readahead.c4
-rw-r--r--tests-m32/readv.c10
-rw-r--r--tests-m32/reboot.c8
-rw-r--r--tests-m32/recvmsg.c9
-rw-r--r--tests-m32/request_key.c3
-rw-r--r--tests-m32/rt_sigaction.awk (renamed from tests-m32/sigaction.awk)0
-rw-r--r--tests-m32/rt_sigaction.c67
-rwxr-xr-xtests-m32/rt_sigaction.test (renamed from tests-m32/sigaction.test)0
-rw-r--r--tests-m32/rt_sigqueueinfo.c2
-rw-r--r--tests-m32/rt_tgsigqueueinfo.c5
-rw-r--r--tests-m32/run_expect_termsig.c58
-rw-r--r--tests-m32/sched_get_priority_mxx.c2
-rw-r--r--tests-m32/seccomp-filter-v.c2
-rw-r--r--tests-m32/semop.c3
-rw-r--r--tests-m32/sendfile.c74
-rw-r--r--tests-m32/sendfile64.c69
-rw-r--r--tests-m32/sigaction.c194
-rwxr-xr-xtests-m32/sigaction.gen.test4
-rw-r--r--tests-m32/signal.c132
-rwxr-xr-xtests-m32/signal.gen.test4
-rw-r--r--tests-m32/signal2name.c3
-rw-r--r--tests-m32/signal_receive.c4
-rw-r--r--tests-m32/sigpending.c106
-rwxr-xr-xtests-m32/sigpending.gen.test4
-rw-r--r--tests-m32/sigprocmask.c151
-rwxr-xr-xtests-m32/sigprocmask.gen.test4
-rw-r--r--tests-m32/sockname.c4
-rw-r--r--tests-m32/stack-fcall.c2
-rw-r--r--tests-m32/statx.c2
-rwxr-xr-xtests-m32/strace-V.test2
-rwxr-xr-xtests-m32/termsig.test15
-rw-r--r--tests-m32/test_nlattr.h183
-rw-r--r--tests-m32/tests.h33
-rw-r--r--tests-m32/times-fail.c2
-rw-r--r--tests-m32/times.c2
-rw-r--r--tests-m32/uio.c6
-rw-r--r--tests-m32/unblock_reset_raise.c54
-rw-r--r--tests-m32/unix-pair-sendto-recvfrom.c2
-rw-r--r--tests-m32/vmsplice.c2
-rw-r--r--tests-m32/waitid.c3
-rw-r--r--tests-m32/xattr.c2
-rw-r--r--tests-m32/xchownx.c15
-rw-r--r--tests-m32/xselect.c4
-rw-r--r--tests-m32/xstatfsx.c17
-rw-r--r--tests-m32/xstatx.c112
-rw-r--r--tests-m32/zeroargc.c43
-rw-r--r--tests-mx32/Makefile7114
-rw-r--r--tests-mx32/Makefile.am390
-rw-r--r--tests-mx32/Makefile.in696
-rw-r--r--tests-mx32/add_key.c3
-rw-r--r--tests-mx32/aio.c26
-rw-r--r--tests-mx32/block_reset_raise_run.c55
-rw-r--r--tests-mx32/btrfs.c48
-rw-r--r--tests-mx32/create_nl_socket.c52
-rw-r--r--tests-mx32/dup3.c2
-rw-r--r--tests-mx32/errno2name.c3
-rw-r--r--tests-mx32/execve.c11
-rw-r--r--tests-mx32/execveat.c11
-rw-r--r--tests-mx32/futex.c4
-rw-r--r--tests-mx32/gen_tests.am1007
-rw-r--r--tests-mx32/gen_tests.in16
-rw-r--r--tests-mx32/getcpu.c8
-rw-r--r--tests-mx32/init.sh4
-rwxr-xr-xtests-mx32/interactive_block.test15
-rw-r--r--tests-mx32/ioctl.c2
-rw-r--r--tests-mx32/ioctl_block.c8
-rw-r--r--tests-mx32/ioctl_evdev.c8
-rw-r--r--tests-mx32/ioctl_mtd.c20
-rw-r--r--tests-mx32/ioctl_sg_io_v3.c44
-rw-r--r--tests-mx32/ioctl_sg_io_v4.c28
-rw-r--r--tests-mx32/ioctl_sock_gifconf.c2
-rw-r--r--tests-mx32/ioctl_uffdio.c2
-rw-r--r--tests-mx32/ioctl_v4l2.c29
-rw-r--r--tests-mx32/ip_mreq.c4
-rw-r--r--tests-mx32/ipc_msgbuf.c2
-rw-r--r--tests-mx32/ipc_sem.c8
-rw-r--r--tests-mx32/kexec_file_load.c2
-rw-r--r--tests-mx32/keyctl.c2
-rw-r--r--tests-mx32/ksysent.c2
-rw-r--r--tests-mx32/mincore.c2
-rw-r--r--tests-mx32/mmsg.c21
-rw-r--r--tests-mx32/mmsg_name.c4
-rw-r--r--tests-mx32/mq.c2
-rw-r--r--tests-mx32/mq_sendrecv.c4
-rw-r--r--tests-mx32/msg_control.c161
-rw-r--r--tests-mx32/net-accept-connect.c2
-rw-r--r--tests-mx32/net-sockaddr.c2
-rw-r--r--tests-mx32/net-y-unix.c2
-rw-r--r--tests-mx32/net-yy-inet.c4
-rw-r--r--tests-mx32/net-yy-netlink.c6
-rw-r--r--tests-mx32/net-yy-unix.c2
-rw-r--r--tests-mx32/netlink_audit.c64
-rwxr-xr-xtests-mx32/netlink_audit.gen.test3
-rw-r--r--tests-mx32/netlink_generic.c88
-rwxr-xr-xtests-mx32/netlink_generic.gen.test3
-rw-r--r--tests-mx32/netlink_inet_diag.c2
-rw-r--r--tests-mx32/netlink_netfilter.c90
-rwxr-xr-xtests-mx32/netlink_netfilter.gen.test3
-rw-r--r--tests-mx32/netlink_netlink_diag.c6
-rw-r--r--tests-mx32/netlink_protocol.c93
-rwxr-xr-xtests-mx32/netlink_protocol.gen.test4
-rw-r--r--tests-mx32/netlink_route.c107
-rwxr-xr-xtests-mx32/netlink_route.gen.test3
-rw-r--r--tests-mx32/netlink_selinux.c64
-rwxr-xr-xtests-mx32/netlink_selinux.gen.test3
-rw-r--r--tests-mx32/netlink_sock_diag.c1606
-rwxr-xr-xtests-mx32/netlink_sock_diag.test33
-rw-r--r--tests-mx32/netlink_unix_diag.c6
-rw-r--r--tests-mx32/netlink_xfrm.c100
-rwxr-xr-xtests-mx32/netlink_xfrm.gen.test3
-rw-r--r--tests-mx32/nlattr.c326
-rwxr-xr-xtests-mx32/nlattr.gen.test3
-rw-r--r--tests-mx32/nlattr_inet_diag_msg.c198
-rwxr-xr-xtests-mx32/nlattr_inet_diag_msg.gen.test3
-rw-r--r--tests-mx32/nlattr_netlink_diag_msg.c118
-rwxr-xr-xtests-mx32/nlattr_netlink_diag_msg.gen.test3
-rw-r--r--tests-mx32/nlattr_unix_diag_msg.c116
-rwxr-xr-xtests-mx32/nlattr_unix_diag_msg.gen.test3
-rw-r--r--tests-mx32/nsyscalls.c2
-rwxr-xr-xtests-mx32/options-syntax.test12
-rw-r--r--tests-mx32/perf_event_open.c86
-rw-r--r--tests-mx32/poll.c68
-rw-r--r--tests-mx32/ppoll.c7
-rw-r--r--tests-mx32/preadv-pwritev.c7
-rw-r--r--tests-mx32/preadv.c7
-rw-r--r--tests-mx32/preadv2-pwritev2.c7
-rw-r--r--tests-mx32/print_quoted_string.c2
-rw-r--r--tests-mx32/print_time.c2
-rw-r--r--tests-mx32/printstr.c9
-rw-r--r--tests-mx32/process_vm_readv_writev.c19
-rw-r--r--tests-mx32/pselect6.c4
-rw-r--r--tests-mx32/ptrace.c4
-rw-r--r--tests-mx32/pure_executables.am347
-rwxr-xr-xtests-mx32/pure_executables.list15
-rw-r--r--tests-mx32/qual_fault.c112
-rwxr-xr-xtests-mx32/qual_fault.test32
-rw-r--r--tests-mx32/quotactl-xfs.c96
-rw-r--r--tests-mx32/quotactl.c40
-rw-r--r--tests-mx32/quotactl.h13
-rw-r--r--tests-mx32/readahead.c4
-rw-r--r--tests-mx32/readv.c10
-rw-r--r--tests-mx32/reboot.c8
-rw-r--r--tests-mx32/recvmsg.c9
-rw-r--r--tests-mx32/request_key.c3
-rw-r--r--tests-mx32/rt_sigaction.awk (renamed from tests-mx32/sigaction.awk)0
-rw-r--r--tests-mx32/rt_sigaction.c67
-rwxr-xr-xtests-mx32/rt_sigaction.test (renamed from tests-mx32/sigaction.test)0
-rw-r--r--tests-mx32/rt_sigqueueinfo.c2
-rw-r--r--tests-mx32/rt_tgsigqueueinfo.c5
-rw-r--r--tests-mx32/run_expect_termsig.c58
-rw-r--r--tests-mx32/sched_get_priority_mxx.c2
-rw-r--r--tests-mx32/seccomp-filter-v.c2
-rw-r--r--tests-mx32/semop.c3
-rw-r--r--tests-mx32/sendfile.c74
-rw-r--r--tests-mx32/sendfile64.c69
-rw-r--r--tests-mx32/sigaction.c194
-rwxr-xr-xtests-mx32/sigaction.gen.test4
-rw-r--r--tests-mx32/signal.c132
-rwxr-xr-xtests-mx32/signal.gen.test4
-rw-r--r--tests-mx32/signal2name.c3
-rw-r--r--tests-mx32/signal_receive.c4
-rw-r--r--tests-mx32/sigpending.c106
-rwxr-xr-xtests-mx32/sigpending.gen.test4
-rw-r--r--tests-mx32/sigprocmask.c151
-rwxr-xr-xtests-mx32/sigprocmask.gen.test4
-rw-r--r--tests-mx32/sockname.c4
-rw-r--r--tests-mx32/stack-fcall.c2
-rw-r--r--tests-mx32/statx.c2
-rwxr-xr-xtests-mx32/strace-V.test2
-rwxr-xr-xtests-mx32/termsig.test15
-rw-r--r--tests-mx32/test_nlattr.h183
-rw-r--r--tests-mx32/tests.h33
-rw-r--r--tests-mx32/times-fail.c2
-rw-r--r--tests-mx32/times.c2
-rw-r--r--tests-mx32/uio.c6
-rw-r--r--tests-mx32/unblock_reset_raise.c54
-rw-r--r--tests-mx32/unix-pair-sendto-recvfrom.c2
-rw-r--r--tests-mx32/vmsplice.c2
-rw-r--r--tests-mx32/waitid.c3
-rw-r--r--tests-mx32/xattr.c2
-rw-r--r--tests-mx32/xchownx.c15
-rw-r--r--tests-mx32/xselect.c4
-rw-r--r--tests-mx32/xstatfsx.c17
-rw-r--r--tests-mx32/xstatx.c112
-rw-r--r--tests-mx32/zeroargc.c43
-rw-r--r--tests/Makefile7114
-rw-r--r--tests/Makefile.am390
-rw-r--r--tests/Makefile.in696
-rw-r--r--tests/add_key.c3
-rw-r--r--tests/aio.c26
-rw-r--r--tests/block_reset_raise_run.c55
-rw-r--r--tests/btrfs.c48
-rw-r--r--tests/create_nl_socket.c52
-rw-r--r--tests/dup3.c2
-rw-r--r--tests/errno2name.c3
-rw-r--r--tests/execve.c11
-rw-r--r--tests/execveat.c11
-rw-r--r--tests/futex.c4
-rw-r--r--tests/gen_tests.am1007
-rw-r--r--tests/gen_tests.in16
-rw-r--r--tests/getcpu.c8
-rw-r--r--tests/init.sh4
-rwxr-xr-xtests/interactive_block.test15
-rw-r--r--tests/ioctl.c2
-rw-r--r--tests/ioctl_block.c8
-rw-r--r--tests/ioctl_evdev.c8
-rw-r--r--tests/ioctl_mtd.c20
-rw-r--r--tests/ioctl_sg_io_v3.c44
-rw-r--r--tests/ioctl_sg_io_v4.c28
-rw-r--r--tests/ioctl_sock_gifconf.c2
-rw-r--r--tests/ioctl_uffdio.c2
-rw-r--r--tests/ioctl_v4l2.c29
-rw-r--r--tests/ip_mreq.c4
-rw-r--r--tests/ipc_msgbuf.c2
-rw-r--r--tests/ipc_sem.c8
-rw-r--r--tests/kexec_file_load.c2
-rw-r--r--tests/keyctl.c2
-rw-r--r--tests/ksysent.c2
-rw-r--r--tests/mincore.c2
-rw-r--r--tests/mmsg.c21
-rw-r--r--tests/mmsg_name.c4
-rw-r--r--tests/mq.c2
-rw-r--r--tests/mq_sendrecv.c4
-rw-r--r--tests/msg_control.c161
-rw-r--r--tests/net-accept-connect.c2
-rw-r--r--tests/net-sockaddr.c2
-rw-r--r--tests/net-y-unix.c2
-rw-r--r--tests/net-yy-inet.c4
-rw-r--r--tests/net-yy-netlink.c6
-rw-r--r--tests/net-yy-unix.c2
-rw-r--r--tests/netlink_audit.c64
-rwxr-xr-xtests/netlink_audit.gen.test3
-rw-r--r--tests/netlink_generic.c88
-rwxr-xr-xtests/netlink_generic.gen.test3
-rw-r--r--tests/netlink_inet_diag.c2
-rw-r--r--tests/netlink_netfilter.c90
-rwxr-xr-xtests/netlink_netfilter.gen.test3
-rw-r--r--tests/netlink_netlink_diag.c6
-rw-r--r--tests/netlink_protocol.c93
-rwxr-xr-xtests/netlink_protocol.gen.test4
-rw-r--r--tests/netlink_route.c107
-rwxr-xr-xtests/netlink_route.gen.test3
-rw-r--r--tests/netlink_selinux.c64
-rwxr-xr-xtests/netlink_selinux.gen.test3
-rw-r--r--tests/netlink_sock_diag.c1606
-rwxr-xr-xtests/netlink_sock_diag.test33
-rw-r--r--tests/netlink_unix_diag.c6
-rw-r--r--tests/netlink_xfrm.c100
-rwxr-xr-xtests/netlink_xfrm.gen.test3
-rw-r--r--tests/nlattr.c326
-rwxr-xr-xtests/nlattr.gen.test3
-rw-r--r--tests/nlattr_inet_diag_msg.c198
-rwxr-xr-xtests/nlattr_inet_diag_msg.gen.test3
-rw-r--r--tests/nlattr_netlink_diag_msg.c118
-rwxr-xr-xtests/nlattr_netlink_diag_msg.gen.test3
-rw-r--r--tests/nlattr_unix_diag_msg.c116
-rwxr-xr-xtests/nlattr_unix_diag_msg.gen.test3
-rw-r--r--tests/nsyscalls.c2
-rwxr-xr-xtests/options-syntax.test12
-rw-r--r--tests/perf_event_open.c86
-rw-r--r--tests/poll.c68
-rw-r--r--tests/ppoll.c7
-rw-r--r--tests/preadv-pwritev.c7
-rw-r--r--tests/preadv.c7
-rw-r--r--tests/preadv2-pwritev2.c7
-rw-r--r--tests/print_quoted_string.c2
-rw-r--r--tests/print_time.c2
-rw-r--r--tests/printstr.c9
-rw-r--r--tests/process_vm_readv_writev.c19
-rw-r--r--tests/pselect6.c4
-rw-r--r--tests/ptrace.c4
-rw-r--r--tests/pure_executables.am347
-rwxr-xr-xtests/pure_executables.list15
-rw-r--r--tests/qual_fault.c112
-rwxr-xr-xtests/qual_fault.test32
-rw-r--r--tests/quotactl-xfs.c96
-rw-r--r--tests/quotactl.c40
-rw-r--r--tests/quotactl.h13
-rw-r--r--tests/readahead.c4
-rw-r--r--tests/readv.c10
-rw-r--r--tests/reboot.c8
-rw-r--r--tests/recvmsg.c9
-rw-r--r--tests/request_key.c3
-rw-r--r--tests/rt_sigaction.awk (renamed from tests/sigaction.awk)0
-rw-r--r--tests/rt_sigaction.c67
-rwxr-xr-xtests/rt_sigaction.test (renamed from tests/sigaction.test)0
-rw-r--r--tests/rt_sigqueueinfo.c2
-rw-r--r--tests/rt_tgsigqueueinfo.c5
-rw-r--r--tests/run_expect_termsig.c58
-rw-r--r--tests/sched_get_priority_mxx.c2
-rw-r--r--tests/seccomp-filter-v.c2
-rw-r--r--tests/semop.c3
-rw-r--r--tests/sendfile.c74
-rw-r--r--tests/sendfile64.c69
-rw-r--r--tests/sigaction.c194
-rwxr-xr-xtests/sigaction.gen.test4
-rw-r--r--tests/signal.c132
-rwxr-xr-xtests/signal.gen.test4
-rw-r--r--tests/signal2name.c3
-rw-r--r--tests/signal_receive.c4
-rw-r--r--tests/sigpending.c106
-rwxr-xr-xtests/sigpending.gen.test4
-rw-r--r--tests/sigprocmask.c151
-rwxr-xr-xtests/sigprocmask.gen.test4
-rw-r--r--tests/sockname.c4
-rw-r--r--tests/stack-fcall.c2
-rw-r--r--tests/statx.c2
-rwxr-xr-xtests/strace-V.test2
-rwxr-xr-xtests/termsig.test15
-rw-r--r--tests/test_nlattr.h183
-rw-r--r--tests/tests.h33
-rw-r--r--tests/times-fail.c2
-rw-r--r--tests/times.c2
-rw-r--r--tests/uio.c6
-rw-r--r--tests/unblock_reset_raise.c54
-rw-r--r--tests/unix-pair-sendto-recvfrom.c2
-rw-r--r--tests/vmsplice.c2
-rw-r--r--tests/waitid.c3
-rw-r--r--tests/xattr.c2
-rw-r--r--tests/xchownx.c15
-rw-r--r--tests/xselect.c4
-rw-r--r--tests/xstatfsx.c17
-rw-r--r--tests/xstatx.c112
-rw-r--r--tests/zeroargc.c43
-rw-r--r--time.c5
-rw-r--r--uid.c8
-rw-r--r--uname.c10
-rw-r--r--unwind.c84
-rw-r--r--util.c269
-rw-r--r--v4l2.c6
-rw-r--r--wait.c6
-rw-r--r--xlat.c220
-rw-r--r--xlat/Makemodule.am704
-rw-r--r--xlat/archvals.h8
-rw-r--r--xlat/archvals.in2
-rw-r--r--xlat/arp_hardware_types.h3
-rw-r--r--xlat/arp_hardware_types.in1
-rw-r--r--xlat/ethernet_protocols.h7
-rw-r--r--xlat/inet_diag_attrs.h31
-rw-r--r--xlat/inet_diag_attrs.in18
-rw-r--r--xlat/inet_diag_extended_flags.h30
-rw-r--r--xlat/inet_diag_extended_flags.in17
-rw-r--r--xlat/inet_diag_req_attrs.h16
-rw-r--r--xlat/inet_diag_req_attrs.in3
-rw-r--r--xlat/inet_protocols.h7
-rw-r--r--xlat/keyctl_commands.h4
-rw-r--r--xlat/keyctl_commands.in1
-rw-r--r--xlat/netlink_diag_attrs.h19
-rw-r--r--xlat/netlink_diag_attrs.in6
-rw-r--r--xlat/netlink_diag_show.h26
-rw-r--r--xlat/netlink_diag_show.in4
-rw-r--r--xlat/netlink_get_flags.h26
-rw-r--r--xlat/netlink_get_flags.in4
-rw-r--r--xlat/netlink_new_flags.h26
-rw-r--r--xlat/netlink_new_flags.in4
-rw-r--r--xlat/netlink_socket_flags.h32
-rw-r--r--xlat/netlink_socket_flags.in6
-rw-r--r--xlat/netlink_states.h22
-rw-r--r--xlat/netlink_states.in2
-rw-r--r--xlat/nl_audit_types.h382
-rw-r--r--xlat/nl_audit_types.in98
-rw-r--r--xlat/nl_netfilter_msg_types.h22
-rw-r--r--xlat/nl_netfilter_msg_types.in2
-rw-r--r--xlat/nl_netfilter_subsys_ids.h66
-rw-r--r--xlat/nl_netfilter_subsys_ids.in13
-rw-r--r--xlat/nl_route_types.h241
-rw-r--r--xlat/nl_route_types.in71
-rw-r--r--xlat/nl_selinux_types.h22
-rw-r--r--xlat/nl_selinux_types.in2
-rw-r--r--xlat/nl_sock_diag_types.h30
-rw-r--r--xlat/nl_sock_diag_types.in4
-rw-r--r--xlat/nl_xfrm_types.h117
-rw-r--r--xlat/nl_xfrm_types.in34
-rw-r--r--xlat/packet_diag_attrs.h22
-rw-r--r--xlat/packet_diag_attrs.in9
-rw-r--r--xlat/packet_diag_show.h32
-rw-r--r--xlat/packet_diag_show.in6
-rw-r--r--xlat/scmvals.h110
-rw-r--r--xlat/scmvals.in55
-rw-r--r--xlat/sigact_flags.h4
-rw-r--r--xlat/sigact_flags.in2
-rw-r--r--xlat/smc_diag_attrs.h18
-rw-r--r--xlat/smc_diag_attrs.in5
-rw-r--r--xlat/smc_diag_extended_flags.h16
-rw-r--r--xlat/smc_diag_extended_flags.in3
-rw-r--r--xlat/smc_states.h62
-rw-r--r--xlat/smc_states.in12
-rw-r--r--xlat/sockoptions.h9
-rw-r--r--xlat/sockoptions.in3
-rw-r--r--xlat/socksctpoptions.h18
-rw-r--r--xlat/socksctpoptions.in6
-rw-r--r--xlat/socktypes.h7
-rw-r--r--xlat/tcp_state_flags.h51
-rw-r--r--xlat/tcp_state_flags.in13
-rw-r--r--xlat/tcp_states.h62
-rw-r--r--xlat/tcp_states.in12
-rw-r--r--xlat/unix_diag_attrs.h21
-rw-r--r--xlat/unix_diag_attrs.in8
-rw-r--r--xlat/unix_diag_show.h32
-rw-r--r--xlat/unix_diag_show.in6
-rw-r--r--xlat/v4l2_buf_types.h3
-rw-r--r--xlat/v4l2_buf_types.in1
-rw-r--r--xlat/v4l2_control_flags.h9
-rw-r--r--xlat/v4l2_control_flags.in3
-rw-r--r--xlat/v4l2_control_types.h25
-rw-r--r--xlat/v4l2_control_types.in9
-rw-r--r--xlat/v4l2_device_capabilities_flags.h3
-rw-r--r--xlat/v4l2_device_capabilities_flags.in1
-rw-r--r--xmalloc.c25
605 files changed, 32564 insertions, 26524 deletions
diff --git a/Android.mk b/Android.mk
index c348c1a5..b2a8fcf3 100644
--- a/Android.mk
+++ b/Android.mk
@@ -16,32 +16,10 @@
LOCAL_PATH := $(call my-dir)
-#
-# To update:
-#
-
-# repo sync .
-# repo start merge .
-# git merge aosp/upstream-master --no-ff # resolve any conflicts
-# ./configure && make
-# mm -j32
-# # (Make any necessary Android.mk changes and test the new strace.)
-# # Beware the .gitignore files --- xlat especially.
-# git commit -a --amend
-#
-
-# We don't currently have a good solution for the 'configure' side of things.
-# You can get a list of the HAVE_* variables in use and manually go through it:
-#
-# find . -name "*.[ch]" | xargs grep HAVE_ | sed 's/.*\(HAVE_[A-Z0-9_]*\).*/\1/p' | grep -v HAVE_DECL_ | sort | uniq -d
-
-# -------------------------------------------------------------------------
+ifneq ($(strip $(TARGET_ARCH)),mips)
include $(CLEAR_VARS)
-strace_version := "4.17"
-strace_year := "2017"
-
LOCAL_SRC_FILES := \
access.c \
affinity.c \
@@ -60,6 +38,8 @@ LOCAL_SRC_FILES := \
desc.c \
dirent.c \
dirent64.c \
+ dm.c \
+ dyxlat.c \
epoll.c \
evdev.c \
eventfd.c \
@@ -120,6 +100,8 @@ LOCAL_SRC_FILES := \
mtd.c \
net.c \
netlink.c \
+ netlink_sock_diag.c \
+ nlattr.c \
nsfs.c \
numa.c \
oldstat.c \
@@ -206,112 +188,15 @@ LOCAL_SRC_FILES := \
v4l2.c \
wait.c \
xattr.c \
+ xlat.c \
xmalloc.c \
-LOCAL_CFLAGS := \
- -DGETGROUPS_T=gid_t \
- \
- -UHAVE_ASM_CACHECTL_H \
- -DHAVE_ASM_SIGCONTEXT_H=1 \
- -DHAVE_BLKGETSIZE64=1 \
- -UHAVE_BLUETOOTH_BLUETOOTH_H \
- -DHAVE___BUILTIN_POPCOUNT=1 \
- -DHAVE_DIRENT_H=1 \
- -DHAVE_DLADDR=1 \
- -DHAVE_ELF_H=1 \
- -DHAVE_FOPEN64=1 \
- -DHAVE_FORK=1 \
- -DHAVE_FSTATAT=1 \
- -DHAVE_FTRUNCATE=1 \
- -DHAVE_FUTIMENS=1 \
- -DHAVE_IF_INDEXTONAME=1 \
- -DHAVE_INET_NTOP=1 \
- -DHAVE_INET_PTON=1 \
- -DHAVE_INTTYPES_H=1 \
- -DHAVE_LINUX_BPF_H=1 \
- -DHAVE_LINUX_BSG_H=1 \
- -DHAVE_LINUX_BTRFS_H=1 \
- -DHAVE_LINUX_FALLOC_H=1 \
- -DHAVE_LINUX_FILTER_H=1 \
- -DHAVE_LINUX_FUTEX_H=1 \
- -DHAVE_LINUX_ICMP_H=1 \
- -DHAVE_LINUX_IF_PACKET_H=1 \
- -DHAVE_LINUX_INPUT_H=1 \
- -DHAVE_LINUX_IN6_H=1 \
- -DHAVE_LINUX_IPC_H=1 \
- -DHAVE_LINUX_MQUEUE=1 \
- -DHAVE_LINUX_MSG_H=1 \
- -DHAVE_LINUX_NETLINK_H=1 \
- -DHAVE_LINUX_PERF_EVENT_H=1 \
- -DHAVE_LINUX_SEM_H=1 \
- -DHAVE_LINUX_SHM_H=1 \
- -DHAVE_LITTLE_ENDIAN_LONG_LONG=1 \
- -DHAVE_LONG_LONG=1 \
- -DHAVE_NETINET_TCP_H=1 \
- -DHAVE_NETINET_UDP_H=1 \
- -DHAVE_POLL_H=1 \
- -DHAVE_PRCTL=1 \
- -DHAVE_PWRITEV=1 \
- -DHAVE_SCSI_SG_H=1 \
- -DHAVE_SENDMSG=1 \
- -DHAVE_SIGACTION=1 \
- -DHAVE_SIG_ATOMIC_T=1 \
- -DHAVE_SIGINFO_T=1 \
- -DHAVE_SIGINFO_T_SI_OVERRUN=1 \
- -DHAVE_SIGINFO_T_SI_SYSCALL=1 \
- -DHAVE_SIGINFO_T_SI_TIMERID=1 \
- -DHAVE_STATFS64=1 \
- -DHAVE_STDBOOL_H=1 \
- -DHAVE_STRERROR=1 \
- -DHAVE_STRUCT_BTRFS_IOCTL_DEFRAG_RANGE_ARGS_START=1 \
- -DHAVE_STRUCT_BTRFS_IOCTL_FEATURE_FLAGS_COMPAT_FLAGS=1 \
- -DHAVE_STRUCT_FLOCK=1 \
- -DHAVE_STRUCT_FLOCK64=1 \
- -DHAVE_STRUCT_MMSGHDR=1 \
- -DHAVE_STRUCT_MSGHDR_MSG_CONTROL=1 \
- -DHAVE_STRUCT_SIGCONTEXT=1 \
- -DHAVE_STRUCT_SIGEVENT__SIGEV_UN__PAD=1 \
- -DHAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID=1 \
- -DHAVE_STRUCT_STATFS64=1 \
- -UHAVE_STRUCT_STAT_ST_ACLCNT \
- -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 \
- -DHAVE_STRUCT_STAT_ST_BLOCKS=1 \
- -UHAVE_STRUCT_STAT_ST_FLAGS \
- -UHAVE_STRUCT_STAT_ST_FSTYPE \
- -UHAVE_STRUCT_STAT_ST_GEN \
- -UHAVE_STRUCT_STAT_ST_LEVEL \
- -DHAVE_STRUCT_STAT_ST_RDEV=1 \
- -DHAVE_STRUCT_SYSINFO_FREEHIGH=1 \
- -DHAVE_STRUCT_SYSINFO_MEM_UNIT=1 \
- -DHAVE_STRUCT_SYSINFO_TOTALHIGH=1 \
- -DHAVE_STRUCT_UTSNAME_DOMAINNAME=1 \
- -DHAVE_SYS_EPOLL_H=1 \
- -DHAVE_SYS_IOCTL_H=1 \
- -DHAVE_SYS_POLL_H=1 \
- -DHAVE_SYS_REG_H=1 \
- -DHAVE_SYS_VFS_H=1 \
- -DHAVE_SYS_XATTR_H=1 \
- -DHAVE_UNISTD_H=1 \
- -DHAVE_UTIMENSAT=1 \
- \
- -DMAJOR_IN_SYSMACROS \
- -DPACKAGE_NAME='"strace"' \
- -DPACKAGE_URL='"https://strace.io"' \
- -DPACKAGE_VERSION='$(strace_version)' \
- -DCOPYRIGHT_YEAR='$(strace_year)' \
- -DSIZEOF_KERNEL_LONG_T=SIZEOF_LONG \
- -DSIZEOF_OFF_T=SIZEOF_LONG \
- -DSIZEOF_LONG_LONG=8 \
- -DSTDC_HEADERS=1 \
- -DSTRACE_KNOWS_ONLY_EABI=1 \
- -D_LFS64_LARGEFILE=1 \
-
-LOCAL_CFLAGS += -D_GNU_SOURCE=1 -D_POSIX_SOURCE=1
-
-LOCAL_CFLAGS += -fno-strict-aliasing
-
-LOCAL_CFLAGS_32 += -DSIZEOF_LONG=4 -DSIZEOF_RLIM_T=4 -DHAVE_STRUCT_STAT64=1
-LOCAL_CFLAGS_64 += -DSIZEOF_LONG=8 -DSIZEOF_RLIM_T=8
+# We have "config.h", but since we're using one file for both LP32 and LP64,
+# we need to set the hard-coded size #defines here instead.
+LOCAL_CFLAGS := -DHAVE_CONFIG_H
+LOCAL_CFLAGS_32 += -DSIZEOF_LONG_LONG=8 -DSIZEOF_LONG=4 -DSIZEOF_RLIM_T=4 -DHAVE_STRUCT_STAT64=1
+LOCAL_CFLAGS_64 += -DSIZEOF_LONG_LONG=8 -DSIZEOF_LONG=8 -DSIZEOF_RLIM_T=8
+LOCAL_CFLAGS += -DSIZEOF_KERNEL_LONG_T=SIZEOF_LONG -DSIZEOF_OFF_T=SIZEOF_LONG
LOCAL_CFLAGS_arm += -DARM=1
LOCAL_CFLAGS_arm += -DHAVE_STRUCT___OLD_KERNEL_STAT=1
@@ -331,12 +216,12 @@ LOCAL_CFLAGS_x86_64 += -DX86_64=1
LOCAL_CFLAGS += \
-Wall \
- -Wwrite-strings \
- -Wsign-compare \
+ -Werror \
-Wno-missing-field-initializers \
-Wno-pointer-arith \
-Wno-unused-parameter \
-Wno-sign-compare \
+ -fno-strict-aliasing \
LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/linux/arm $(LOCAL_PATH)/linux
LOCAL_C_INCLUDES_arm64 := $(LOCAL_PATH)/linux/aarch64 $(LOCAL_PATH)/linux
@@ -345,14 +230,12 @@ LOCAL_C_INCLUDES_mips64 := $(LOCAL_PATH)/linux/mips $(LOCAL_PATH)/linux
LOCAL_C_INCLUDES_x86 := $(LOCAL_PATH)/linux/i386 $(LOCAL_PATH)/linux
LOCAL_C_INCLUDES_x86_64 := $(LOCAL_PATH)/linux/x86_64 $(LOCAL_PATH)/linux
-LOCAL_CLANG := true
-
LOCAL_MODULE := strace
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_MODULE_TAGS := debug
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
include $(BUILD_EXECUTABLE)
+
+endif
diff --git a/COPYING b/COPYING
index 168a7155..a3592086 100644
--- a/COPYING
+++ b/COPYING
@@ -3,8 +3,8 @@ Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
Copyright (c) 1995, 1996 Michael Elizabeth Chastain <mec@duracef.shout.net>
Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
-Copyright (C) 1998-2001 Wichert Akkerman <wakkerma@deephackmode.org>
-Copyright (C) 2001-2017 The strace developers.
+Copyright (c) 1998-2001 Wichert Akkerman <wakkerma@deephackmode.org>
+Copyright (c) 2001-2017 The strace developers.
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/CREDITS b/CREDITS
index d4fade10..a59c8dd9 100644
--- a/CREDITS
+++ b/CREDITS
@@ -56,6 +56,7 @@ strace-devel@lists.sourceforge.net mailing list.
Erik Johansson <erik@ejohansson.se>
Etienne Gemsa <etienne.gemsa@lse.epita.fr>
Eugene Syromyatnikov <evgsyr@gmail.com>
+ Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Fabien Siron <fabien.siron@epita.fr>
Fei Jie <feij.fnst@cn.fujitsu.com>
@@ -97,6 +98,7 @@ strace-devel@lists.sourceforge.net mailing list.
Katerina Koukiou <k.koukiou@googlemail.com>
Keith Owens <kaos.ocs@gmail.com>
Keith Thompson <kst@alsys.com>
+ Khem Raj <raj.khem@gmail.com>
Kirill A. Shutemov <kirill@shutemov.name>
Kyle McMartin <kyle@mcmartin.ca>
Lai JiangShan <laijs@cn.fujitsu.com>
@@ -123,6 +125,7 @@ strace-devel@lists.sourceforge.net mailing list.
Mike Frysinger <vapier@gentoo.org>
Mike Stroyan <mike.stroyan@hp.com>
Mikulas Patocka <mpatocka@redhat.com>
+ Miroslav Lichvar <mlichvar@redhat.com>
Muttley Meen <muttley.meen@gmail.com>
Nahim El Atmani <naam@lse.epita.fr>
Namhyung Kim <namhyung.kim@lge.com>
@@ -150,6 +153,7 @@ strace-devel@lists.sourceforge.net mailing list.
Rishi Bhatt <bhatt.rishi062@gmail.com>
Roland Borde <bo@uebemc.siemens.de>
Roland McGrath <roland@redhat.com>
+ Romain Naour <romain.naour@smile.fr>
Sami Farin <safari@u.safari.iki.fi>
Sandhya Bankar <bankarsandhya512@gmail.com>
Scott Tsai <scottt958@yahoo.com.tw>
diff --git a/ChangeLog b/ChangeLog
index 01f65633..fed0a301 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1580 @@
+2017-07-05 Dmitry V. Levin <ldv@altlinux.org>
+
+ Prepare for 4.18 release.
+ * NEWS: Update for 4.18 release.
+
+2017-07-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: robustify create_nl_socket based tests against the race condition
+ There is a race condition between the moment a netlink socket is created
+ and the moment it is reported via SOCK_DIAG_BY_FAMILY interface.
+ Add one more operation on the socket created by create_nl_socket
+ to increase chances of winning the race.
+
+ * tests/create_nl_socket.c (create_nl_socket_ext): Add a getsockopt call
+ with the created socket.
+
+2017-07-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ Update NEWS.
+
+2017-07-04 Romain Naour <romain.naour@smile.fr>
+
+ nios2: fix wrong access to "SP" register in user_pt_regs.
+ Starting with linux commit v4.0-rc4~21^2, "SP" register
+ is available via regs[PTR_SP] member of struct user_pt_regs.
+
+ * linux/nios2/arch_regs.h (nios2_sp_ptr): Change type
+ to "unsigned int *".
+ * linux/nios2/arch_regs.c (nios2_sp_ptr): Likewise.
+ Replace .sp with .regs[PTR_SP].
+
+ Fixes: http://autobuild.buildroot.net/results/b9f/b9fc25b82f3280872fe1593ac252a8529ba83576
+ Fixes: v4.16-34-g6117728a ("nios2: export nios2_sp_ptr")
+
+2017-07-03 Eugene Syromyatnikov <evgsyr@gmail.com>
+ Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: add multi-process check to qual_fault.test.
+ Check that syscall counters used for tampering are per-tcb.
+
+ * tests/qual_fault.c: Include <fcntl.h> for open(),
+ <sys/param.h> for PATH_MAX, and <sys/wait.h> for wait().
+ (expfd): Rename to exp_fd, remove const qualifier and initialization.
+ (gotfd): Rename to got_fd, remove const qualifier and initialization.
+ (out_fd): New variable, for the expected strace output.
+ (open_file): New helper function.
+ (main): Remove st, add num_procs, proc, exp_prefix, got_prefix,
+ out_prefix, pid_prefix. Remove stat asserts, update argc assert.
+ Add num_procs, exp_prefix, got_prefix, out_prefix, pid_prefix
+ initialization. Add per-process loop, open expfd, gotfd, out_fd, pidfd
+ in each one, print process's pid to pidfd, print exit message to out_fd.
+ Add wait() call for each forked process.
+ * tests/qual_fault.test (N): increase to 100 in order to check
+ concurrent process execution.
+ (check_fault_injection): Take additional argument for the process
+ count, pass it to qual_fault, add filename variables for expected strace
+ output and pid file, pass them to qual_fault.
+ Specify -ff parameter to strace invocation.
+ Compare write and strace output for the each process.
+ Update all check_fault_injection invocation with process count argument,
+ add an invocation with 4 concurrent processes.
+ * tests/init.sh (TIMEOUT_DURATION): Raise from 120 to 300.
+
+2017-07-03 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: adjust TEST_NLATTR_OBJECT and TEST_NLATTR_ARRAY for large objects
+ * tests/test_nlattr.h (TEST_NLATTR_OBJECT, TEST_NLATTR_ARRAY): Add
+ support for objects larger than DEFAULT_STRLEN.
+ * tests/nlattr_inet_diag_msg.c (main): Change pattern size
+ from DEFAULT_STRLEN to 4096.
+ * tests/nlattr_netlink_diag_msg.c: Likewise.
+ * tests/nlattr_unix_diag_msg.c: Likewise.
+
+ Reported-by: JingPiao Chen <chenjingpiao@gmail.com>
+
+2017-07-03 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: move DEFAULT_STRLEN macro to tests.h.
+ * tests/tests.h [!DEFAULT_STRLEN] (DEFAULT_STRLEN): New macro.
+ * tests/mincore.c (DEFAULT_STRLEN): Remove.
+ * tests/mmsg_name.c: Likewise.
+ * tests/msg_control.c: Likewise.
+ * tests/netlink_protocol.c: Likewise.
+ * tests/nlattr.c: Likewise.
+ * tests/nlattr_inet_diag_msg.c: Likewise.
+ * tests/nlattr_netlink_diag_msg.c: Likewise.
+ * tests/nlattr_unix_diag_msg.c: Likewise.
+ * tests/printstr.c: Likewise.
+ * tests/xattr.c: Likewise.
+ * tests/execve.c: Likewise.
+ (main): Initialize str_a and str_b arrays at run time.
+ * tests/execveat.c: Likewise.
+
+ Suggested-by: JingPiao Chen <chenjingpiao@gmail.com>
+
+2017-07-03 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ tests: use unified diff in order to improve test log readability.
+ * tests/init.sh (match_diff): Add -u option to the diff invocation.
+
+2017-07-02 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix error diagnostics in case of zero argc.
+ * strace.c (init): Adjust argc along with argv,
+ check that adjusted argc is sane.
+ * tests/zeroargc.c: New file.
+ * tests/.gitignore: Add zeroargc.
+ * tests/Makefile.am (check_PROGRAMS): Likewise.
+ * tests/options-syntax.test: Check strace error diagnostics
+ in case of zero argc.
+
+2017-07-02 Dmitry V. Levin <ldv@altlinux.org>
+
+ Use program_invocation_name instead of a local progname variable.
+ Emulate program_invocation_name only if it is not provided by libc.
+
+ * configure.ac: Check for program_invocation_name variable.
+ * strace.c (progname): Remove.
+ [!HAVE_PROGRAM_INVOCATION_NAME] (program_invocation_name): New variable.
+ (verror_msg, error_msg_and_help): Use it instead of progname.
+ (init): Initialize program_invocation_name instead of progname.
+
+2017-07-02 Dmitry V. Levin <ldv@altlinux.org>
+ Victor Krapivensky <krapivenskiy.va@phystech.edu>
+
+ Introduce generic STRINGIFY and STRINGIFY_VAL macros.
+ * macros.h (STRINGIFY, STRINGIFY_VAL): New macros.
+ * mpers_type.h: Include "macros.h".
+ [IN_MPERS] (STRINGIFY): Remove.
+ * tests/sockname.c (TEST_SYSCALL_STR__, TEST_SYSCALL_STR_): Remove.
+ (TEST_SYSCALL_STR): Use STRINGIFY_VAL.
+
+2017-07-02 Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce macros.h.
+ Introduce a separate header file for generic macros shared between
+ strace and its tests. Start this unification with ARRAY_SIZE macro.
+
+ * defs.h: Include "macros.h".
+ (ARRAY_SIZE): Move ...
+ * macros.h: ... to new file.
+ * Makefile.am (strace_SOURCES): Add it.
+ * tests/tests.h: Include "macros.h".
+ (ARRAY_SIZE): Remove. All callers updated.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ quota: use PRINT_FIELD_FLAGS.
+ * quota.c (struct xfs_dqblk): Change d_flags field's type from int8_t
+ to uint8_t.
+ (decode_cmd_data): Use PRINT_FIELD_FLAGS.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ Unify different generic PRINT_FIELD_* implementations.
+ Create a new header print_fields.h and move generic PRINT_FIELD_*
+ macros there.
+
+ * print_fields.h: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+ * netlink_sock_diag.c: Include "print_fields.h".
+ (PRINT_FIELD_U, PRINT_FIELD_X, PRINT_FIELD_COOKIE, PRINT_FIELD_FLAGS,
+ PRINT_FIELD_XVAL): Move to print_fields.h file.
+ * quota.c: Include "print_fields.h".
+ (PRINT_FIELD_D): Move to print_fields.h file.
+ (PRINT_FIELD_U, PRINT_FIELD_X): Remove.
+ * statx.c: Include "print_fields.h".
+ (PRINT_FIELD_U): Remove.
+ (SYS_FUNC(statx)): Update PRINT_FIELD_U callers.
+ * tests/quotactl.h: Include "print_fields.h".
+ * tests/quotactl-xfs.c: Update callers of PRINT_FIELD_* macros.
+ * tests/quotactl.c: Likewise.
+ (PRINT_FIELD_D, PRINT_FIELD_U, PRINT_FIELD_X): Remove.
+ * tests/test_nlattr.h: Include "print_fields.h".
+ (PRINT_FIELD_U, PRINT_FIELD_X): Remove.
+ * tests/xstatx.c: Include "print_fields.h".
+ (PRINT_FIELD_U): Remove.
+ (print_stat): Update PRINT_FIELD_U callers.
+ * tests/tests.h [!STRACE_PRINTF] (STRACE_PRINTF): Define to printf.
+
+2017-07-01 Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
+
+ arc: fix wrong access to "sp" member in user_regs_struct.
+ "sp" register is a member of "scratch" structure (which is nested
+ in user_regs_struct)
+
+ * linux/arc/arch_regs.c: Replace .sp with .scratch.sp .
+
+ Fixes: v4.16-31-g134042a5 ("arc: export arc_sp_ptr")
+
+2017-07-01 Khem Raj <raj.khem@gmail.com>
+
+ aarch64, tile: replace struct ucontext with ucontext_t.
+ glibc >= 2.26 has dropped the tag struct ucontext from ucontext_t type.
+
+ * linux/arm/arch_sigreturn.c (arch_sigreturn) [AARCH64]: Replace
+ struct ucontext with ucontext_t.
+ * linux/tile/arch_sigreturn.c (arch_sigreturn): Likewise.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: enhance nlattr_unix_diag_msg test.
+ * tests/nlattr_unix_diag_msg.c: Include "test_nlattr.h".
+ (test_unix_diag_vfs, test_unix_diag_icons, test_unix_diag_rqlen):
+ Remove.
+ (init_unix_diag_msg): Add const qualifier to arguments and variables.
+ (print_unix_diag_msg, print_uint): New functions.
+ (main): Use them and macros from test_nlattr.h file.
+
+2017-07-01 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of netlink unix_diag_msg attributes.
+ * tests/nlattr_unix_diag_msg.c: New file.
+ * tests/gen_tests.in (nlattr_unix_diag_msg): New entry.
+ * tests/pure_executables.list: Add nlattr_unix_diag_msg.
+ * tests/.gitignore: Likewise.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: ensure that structure field names are printed properly
+ * netlink_sock_diag.c (decode_unix_diag_vfs, decode_unix_diag_rqlen):
+ Use PRINT_FIELD_U to print structure fields.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: add const qualifiers.
+ Add const qualifiers to auto variables and function arguments.
+ This change does not affect the code generated by the compiler,
+ the purpose of these "const" qualifiers is to highlight the intent.
+
+ * netlink_sock_diag.c (decode_unix_diag_vfs, decode_unix_diag_inode,
+ decode_unix_diag_rqlen): Add const qualifier to tcp, addr, and len
+ arguments.
+
+2017-07-01 JingPiao Chen <chenjingpiao@gmail.com>
+
+ netlink: decode AF_UNIX unix_diag_msg attributes.
+ * netlink_sock_diag.c (unix_diag_msg_nla_decoders): New array.
+ (decode_unix_diag_msg): Use it.
+ * linux/unix_diag.h (unix_diag_vfs, unix_diag_rqlen): New structures.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: enhance nlattr_netlink_diag_msg test.
+ * tests/nlattr_netlink_diag_msg.c: Include "test_nlattr.h".
+ (test_netlink_diag_groups, test_netlink_diag_rx_ring,
+ test_netlink_diag_flags): Remove.
+ (init_netlink_diag_msg): Add const qualifier to arguments and variables.
+ (print_netlink_diag_msg, print_xlong): New functions.
+ (main): Use them and macros from test_nlattr.h file.
+
+2017-07-01 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of netlink_diag_msg attributes.
+ * tests/nlattr_netlink_diag_msg.c: New file.
+ * tests/gen_tests.in (nlattr_netlink_diag_msg): New entry.
+ * tests/pure_executables.list: Add nlattr_netlink_diag_msg.
+ * tests/.gitignore: Likewise.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: ensure that structure field names are printed properly
+ * netlink_sock_diag.c (decode_netlink_diag_ring): Use PRINT_FIELD_U
+ to print structure fields.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: add const qualifiers.
+ Add const qualifiers to auto variables and function arguments.
+ This change does not affect the code generated by the compiler,
+ the purpose of these "const" qualifiers is to highlight the intent.
+
+ * netlink_sock_diag.c (print_group, decode_netlink_diag_groups,
+ decode_netlink_diag_ring, decode_netlink_diag_flags): Add const
+ qualifier to tcp, addr, and len arguments.
+
+2017-07-01 JingPiao Chen <chenjingpiao@gmail.com>
+
+ netlink: decode AF_NETLINK netlink_diag_msg attributes.
+ * linux/netlink_diag.h (netlink_diag_ring): New structure.
+ (NDIAG_FLAG_*): New macros.
+ * netlink_sock_diag.c: Include "xlat/netlink_socket_flags.h".
+ (print_group, decode_netlink_diag_groups, decode_netlink_diag_ring,
+ decode_netlink_diag_flags): New functions.
+ (netlink_diag_msg_nla_decoders): New array.
+ (decode_netlink_diag_msg): Use it.
+ * xlat/netlink_socket_flags.in: New file.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: print inet_diag_sockid.idiag_if as an interface index
+ * netlink_sock_diag.c (print_inet_diag_sockid): Print idiag_if field
+ using print_ifindex.
+ * tests/nlattr_inet_diag_msg.c: Include <net/if.h>.
+ (IFINDEX_LO): New macro.
+ (init_inet_diag_msg): Set inet_diag_sockid.idiag_if field.
+ (print_inet_diag_msg): Update expected output.
+
+2017-07-01 Dmitry V. Levin <ldv@altlinux.org>
+ JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of several standard netlink attributes.
+ * tests/nlattr_inet_diag_msg.c (main): Check decoding of uint32_t,
+ uint8_t, and zero-terminated string attributes.
+
+2017-06-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: enhance nlattr_inet_diag_msg test.
+ * tests/test_nlattr.h: New file.
+ * tests/Makefile.am (libtests_a_SOURCES): Add it.
+ * tests/nlattr_inet_diag_msg.c: Include "test_nlattr.h".
+ (test_inet_diag_meminfo, test_inet_diag_vegasinfo,
+ test_inet_diag_dctcpinfo, test_inet_diag_bbrinfo): Remove.
+ (address): New variable.
+ (init_inet_diag_msg): Remove "address" argument, add const qualifier
+ to all remaining arguments.
+ (print_inet_diag_msg, print_uint): New functions.
+ (main): Use macros from test_nlattr.h file.
+
+2017-06-30 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of netlink inet_diag_msg attributes.
+ * tests/nlattr_inet_diag_msg.c: New file.
+ * tests/gen_tests.in (nlattr_inet_diag_msg): New entry.
+ * tests/pure_executables.list: Add nlattr_inet_diag_msg.
+ * tests/.gitignore: Likewise.
+
+2017-06-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: ensure that structure field names are printed properly
+ * netlink_sock_diag.c (PRINT_FIELD_X): New macro.
+ (decode_inet_diag_meminfo, decode_tcpvegas_info, decode_tcp_dctcp_info,
+ decode_tcp_bbr_info): Use it and PRINT_FIELD_U to print structure
+ fields.
+
+2017-06-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: add const qualifiers.
+ Add const qualifiers to auto variables and function arguments.
+ This change does not affect the code generated by the compiler,
+ the purpose of these "const" qualifiers is to highlight the intent.
+
+ * netlink_sock_diag.c (print_meminfo, decode_meminfo,
+ decode_inet_diag_meminfo, decode_tcpvegas_info, decode_tcp_dctcp_info,
+ decode_tcp_bbr_info): Add const qualifier to tcp, addr, and len
+ arguments.
+
+2017-06-30 JingPiao Chen <chenjingpiao@gmail.com>
+
+ netlink: decode AF_INET inet_diag_msg attributes.
+ * linux/inet_diag.h (inet_diag_meminfo, tcpvegas_info,
+ tcp_dctcp_info, tcp_bbr_info): New structures.
+ * linux/sock_diag.h (SK_MEMINFO_VARS): New macro.
+ * netlink_sock_diag.c: Include <linux/sock_diag.h>.
+ (print_meminfo, decode_meminfo, decode_inet_diag_meminfo,
+ decode_tcpvegas_info, decode_tcp_dctcp_info, decode_tcp_bbr_info):
+ New functions.
+ (inet_diag_msg_nla_decoders): New array.
+ (decode_inet_diag_msg): Use it.
+
+2017-06-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ nlattr: add const qualifiers to auto variables and function arguments.
+ This change does not affect the code generated by the compiler,
+ the purpose of these "const" qualifiers is to highlight the intent.
+
+ * nlattr.c (decode_nlattr_with_data, decode_nla_str, decode_nla_strn,
+ decode_nla_##name): Add const qualifier to tcp, addr, and len arguments.
+
+2017-06-30 JingPiao Chen <chenjingpiao@gmail.com>
+ Fabien Siron <fabien.siron@epita.fr>
+
+ netlink: introduce nla_decoder_t to parse netlink attributes data.
+ * nlattr.h (nla_decoder_t): New typedef.
+ (DECL_NLA): New macro.
+ (decode_nlattr): Add decoders, size and opaque_data argument.
+ * nlattr.c: (decode_nlattr_with_data): Likewise.
+ (decode_nla_*): New functions.
+ * netlink_sock_diag.c (decode_inet_diag_req_compat)
+ (decode_inet_diag_req_v2, decode_inet_diag_msg)
+ (decode_netlink_diag_msg, (decode_packet_diag_msg)
+ (decode_smc_diag_msg, decode_unix_diag_msg): Add decoders,
+ size and opaque_data arguments. All callers updated.
+
+2017-06-30 JingPiao Chen <chenjingpiao@gmail.com>
+
+ netlink: add a basic netlink attribute parser of AF_SMC diag.
+ * netlink_sock_diag.c: Include "xlat/smc_diag_attrs.h".
+ (decode_smc_diag_msg): Use decode_nlattr.
+ * xlat/smc_diag_attrs.in: New file.
+
+2017-06-30 JingPiao Chen <chenjingpiao@gmail.com>
+ Fabien Siron <fabien.siron@epita.fr>
+
+ netlink: add a basic netlink attribute parser of AF_INET diag.
+ * linux/inet_diag.h (INET_DIAG_REQ_*): New enum.
+ * netlink_sock_diag.c: Include "xlat/inet_diag_attrs.h"
+ and "xlat/inet_diag_req_attrs.h".
+ (decode_inet_diag_req_compat, decode_inet_diag_req_v2,
+ decode_inet_diag_msg): Use decode_nlattr.
+ * xlat/inet_diag_attrs.in: New file.
+ * xlat/inet_diag_req_attrs.in: Likewise.
+
+ netlink: add a basic netlink attribute parser of AF_PACKET diag.
+ * linux/packet_diag.h (PACKET_DIAG_*): New enum.
+ * netlink_sock_diag.c: Include "xlat/packet_diag_attrs.h".
+ (decode_packet_diag_msg): Use decode_nlattr.
+ * xlat/packet_diag_attrs.in: New file.
+
+ netlink: add a basic netlink attribute parser of AF_NETLINK diag.
+ * linux/netlink_diag.h (NETLINK_DIAG_*): New enum.
+ * netlink_sock_diag.c: Include "xlat/netlink_diag_attrs.h".
+ (decode_netlink_diag_msg): Use decode_nlattr.
+ * xlat/netlink_diag_attrs.in: New file.
+
+2017-06-29 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink_sock_diag: ensure that structure field names are printed properly
+ * netlink_sock_diag.c (PRINT_FIELD_U, PRINT_FIELD_COOKIE,
+ PRINT_FIELD_FLAGS, PRINT_FIELD_XVAL): New macros.
+ (decode_unix_diag_req, decode_unix_diag_msg, decode_netlink_diag_req,
+ decode_netlink_diag_msg, decode_packet_diag_req, decode_packet_diag_msg,
+ print_inet_diag_sockid, decode_inet_diag_req_compat,
+ decode_inet_diag_req_v2, decode_inet_diag_msg, decode_smc_diag_req,
+ decode_smc_diag_msg): Use them to print structure fields.
+
+2017-06-29 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
+
+ Update ioctl entries from linux v4.12-rc7.
+ * linux/32/ioctls_inc_align16.h: Update from linux v4.12-rc7
+ (with f7a320ff commit applied on top) using ioctls_gen.sh.
+ * linux/32/ioctls_inc_align32.h: Likewise.
+ * linux/32/ioctls_inc_align64.h: Likewise.
+ * linux/64/ioctls_inc.h: Likewise.
+ * linux/x32/ioctls_inc0.h: Likewise.
+ * NEWS: Mention this.
+
+2017-06-29 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
+
+ maint: fix ioctls_sym.sh premature termination.
+ When the list of headers do not fit into the command line, xargs splits
+ it into several lists and then passes them to grep. If no headers from
+ a list match the grep pattern, grep exits with a non-zero status that
+ causes xargs to exit with a non-zero status, too.
+
+ * maint/ioctls_sym.sh: Use "find -exec +" instead of xargs,
+ ignore its exit status.
+
+2017-06-27 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: introduce NLMSG_ATTR macro.
+ * tests/tests.h (NLMSG_ATTR): New macro.
+ * tests/nlattr.c (test_nlattr, test_nla_type): Use it.
+
+2017-06-27 JingPiao Chen <chenjingpiao@gmail.com>
+
+ netlink: pass NLMSG_DONE messages to family specific payload decoders.
+ While many NLMSG_DONE messages indeed have payload containing
+ just one integer, there are exceptions. Handle this by passing
+ payloads of NLMSG_DONE messages to family specific netlink
+ payload decoders.
+
+ * netlink.c (print_nlmsghdr): Do not skip family detection
+ for nlmsg_type == NLMSG_DONE.
+ (decode_nlmsg_type): Skip family specific type decoders
+ for type == NLMSG_DONE.
+ (decode_nlmsg_flags): Skip family specific decoding of flags
+ for type == NLMSG_DONE.
+ (decode_netlink_sock_diag): Skip for nlmsg_type == NLMSG_DONE.
+
+2017-06-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ Unexport die_out_of_memory.
+ Print more specific error diagnostics than a generic "Out of memory"
+ when an error happens outside xmalloc.c.
+
+ * defs.h (die_out_of_memory): Remove prototype.
+ * strace.c (strace_popen, init): Call perror_msg_and_die instead
+ of die_out_of_memory.
+ * unwind.c (unwind_tcb_init): Likewise.
+ * xmalloc.c (die_out_of_memory): Add static qualifier.
+
+2017-06-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ Check -s argument early.
+ * util.c (printstr_ex): Move the check that -s argument
+ does not exceed -1U / 4 ...
+ * strace.c (init): ... here.
+ * tests/options-syntax.test: Check it.
+
+2017-06-25 Dmitry V. Levin <ldv@altlinux.org>
+
+ Include "netlink.h" instead of <linux/netlink.h>
+ * net.c: Include "netlink.h" instead of <linux/netlink.h>.
+ * sockaddr.c: Likewise.
+ * tests/create_nl_socket.c: Likewise.
+ * tests/net-sockaddr.c: Likewise.
+ * tests/netlink_audit.c: Likewise.
+ * tests/netlink_generic.c: Likewise.
+ * tests/netlink_inet_diag.c: Likewise.
+ * tests/netlink_netfilter.c: Likewise.
+ * tests/netlink_route.c: Likewise.
+ * tests/netlink_selinux.c: Likewise.
+ * tests/netlink_xfrm.c: Likewise.
+ * tests/net-yy-netlink.c: Include "netlink.h" instead
+ of <linux/netlink.h>, remove fallback definition of NETLINK_SOCK_DIAG.
+ * tests/netlink_netlink_diag.c: Likewise.
+ * tests/netlink_protocol.c: Likewise.
+ * tests/netlink_sock_diag.c: Likewise.
+ * tests/netlink_unix_diag.c: Likewise.
+ * tests/nlattr.c: Likewise.
+
+2017-06-24 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink: provide a fallback definition of NETLINK_SOCK_DIAG.
+ Add a fallback definition of NETLINK_SOCK_DIAG to netlink.h
+ instead of adding these fallback definitions to every file.
+
+ * netlink.h: Provide a fallback definition of NETLINK_SOCK_DIAG.
+ * socketutils.c: Include "netlink.h" instead of <linux/netlink.h>,
+ remove fallback definition of NETLINK_SOCK_DIAG.
+
+2017-06-23 Dmitry V. Levin <ldv@altlinux.org>
+
+ Update prctl ARCH_* constants.
+ * xlat/archvals.in: Add ARCH_GET_CPUID and ARCH_SET_CPUID
+ introduced by linux kernel commit v4.12-rc1~153^2~2.
+
+2017-06-22 Dmitry V. Levin <ldv@altlinux.org>
+
+ Update V4L2_* constants.
+ * xlat/v4l2_buf_types.in: Add V4L2_BUF_TYPE_META_CAPTURE introduced
+ by linux kernel commit v4.12-rc1~85^2~71.
+ * xlat/v4l2_device_capabilities_flags.in: Add V4L2_CAP_META_CAPTURE
+ introduced by the same commit.
+ * xlat/v4l2_control_flags.in: Add V4L2_CTRL_FLAG_HAS_PAYLOAD,
+ V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, and V4L2_CTRL_FLAG_MODIFY_LAYOUT
+ introduced by linux kernel commits v3.17-rc1~112^2~363,
+ v4.1-rc1~59^2~1^2~63, and v4.12-rc1~85^2~62, respectively.
+ * xlat/v4l2_control_types.in: Add V4L2_CTRL_TYPE_U8, V4L2_CTRL_TYPE_U16,
+ and V4L2_CTRL_TYPE_U32 introduced by linux kernel commits
+ v3.17-rc1~112^2~343 and v3.17-rc1~112^2~112.
+
+ Update SCTP_* constants.
+ * xlat/socksctpoptions.in: Add SCTP_ENABLE_STREAM_RESET,
+ SCTP_RESET_STREAMS, SCTP_RESET_ASSOC, SCTP_ADD_STREAMS,
+ SCTP_RECONFIG_SUPPORTED, and SCTP_PR_STREAM_STATUS introduced
+ by linux kernel commits v4.11-rc1~124^2~387^2~1, v4.11-rc1~124^2~387^2,
+ v4.11-rc1~124^2~166^2~2, v4.11-rc1~124^2~166^2, v4.12-rc1~64^3~469^2,
+ and v4.12-rc1~64^3~276, respectively.
+
+ Update RTM_* constants.
+ * xlat/nl_route_types.in: Add RTM_DELNETCONF introduced
+ by linux kernel commit v4.12-rc1~64^3~312^2~6.
+
+ Update NDIAG_SHOW_* constants.
+ * linux/netlink_diag.h (NDIAG_SHOW_FLAGS): New constant introduced
+ by linux kernel commit v4.12-rc1~64^3~260.
+ * xlat/netlink_diag_show.in: Add it.
+
+ Update KEYCTL_* constants.
+ * xlat/keyctl_commands.in: Add KEYCTL_RESTRICT_KEYRING introduced
+ by linux kernel commit v4.12-rc1~123^2~7^2~2^2~3.
+
+ Update ARPHRD_* constants.
+ * xlat/arp_hardware_types.in: Add ARPHRD_VSOCKMON introduced
+ by linux kernel commit v4.12-rc1~129^2~118^2~2.
+
+ Update SO_* constants.
+ * xlat/sockoptions.in: Add SO_MEMINFO, SO_INCOMING_NAPI_ID,
+ and SO_COOKIE introduced by linux kernel commits v4.12-rc1~64^3~389,
+ v4.12-rc1~64^3~341^2, and v4.12-rc1~64^3~221^2~1, respectively.
+
+2017-06-21 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: check more corner cases of nlattr decoding.
+ * tests/nlattr.c (test_nlattr): Check decoding in case of invalid
+ struct nlattr.nla_len.
+
+2017-06-21 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of netlink attribute.
+ * tests/nlattr.c: New file.
+ * tests/gen_tests.in (nlattr): New entry.
+ * tests/pure_executables.list: Add nlattr.
+ * tests/.gitignore: Likewise.
+
+2017-06-21 JingPiao Chen <chenjingpiao@gmail.com>
+ Fabien Siron <fabien.siron@epita.fr>
+
+ netlink: introduce a basic netlink attributes parser.
+ * linux/unix_diag.h (UNIX_DIAG_*): New enum.
+ * nlattr.c: New file.
+ * nlattr.h: Likewise.
+ * Makefile.am (strace_SOURCES): Add them.
+ * netlink_sock_diag.c: Include "nlattr.h" and "xlat/unix_diag_attrs.h".
+ (decode_unix_diag_msg): Use decode_nlattr.
+ * xlat/unix_diag_attrs.in: New file.
+
+2017-06-21 JingPiao Chen <chenjingpiao@gmail.com>
+
+ netlink: introduce netlink.h.
+ * netlink.h: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+ * netlink_sock_diag.c: Include "netlink.h",
+ remove <sys/socket.h> and <linux/netlink.h>.
+ * netlink.c: Likewise.
+ (NLMSG_HDRLEN): Move to netlink.h.
+ * tests/netlink_protocol.c: Replace <linux/netlink.h> with "netlink.h".
+ * tests/netlink_sock_diag.c: Likewise.
+
+2017-06-20 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: add SET_STRUCT macro to tests.h.
+ * tests/netlink_sock_diag.c (INIT_STRUCT): Rename to SET_STRUCT,
+ all callers updated. Move ...
+ * tests/tests.h: ... here.
+
+2017-06-19 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: fix potential unaligned access in netlink_sock_diag.test.
+ Despite our efforts made to avoid unaligned access, gcc appears to be
+ generating instructions that might cause unaligned access when copying
+ structures to unaligned addresses.
+
+ Fix this issue by replacing copying of structures to unaligned addresses
+ with memcpy calls.
+
+ * tests/netlink_sock_diag.c (INIT_STRUCT): New macro.
+ (test_odd_family_req, test_odd_family_msg, test_unix_diag_req,
+ test_unix_diag_msg, test_netlink_diag_req, test_netlink_diag_msg,
+ test_packet_diag_req, test_packet_diag_msg, test_inet_diag_sockid,
+ test_inet_diag_req, test_inet_diag_req_v2, test_inet_diag_msg,
+ test_smc_diag_req, test_smc_diag_msg): Use it to initialize potentially
+ unaligned struct nlmsghdr. Do not access nlh->nlmsg_len.
+
+2017-06-19 Masatake YAMATO <yamato@redhat.com>
+
+ tests: check decoding of NETLINK_GENERIC message types.
+ * tests/netlink_generic.c: New file.
+ * tests/gen_tests.in (netlink_generic): New entry.
+ * tests/pure_executables.list: Add netlink_generic.
+ * tests/.gitignore: Likewise.
+
+2017-06-19 Masatake YAMATO <yamato@redhat.com>
+
+ netlink: add decoding of NETLINK_GENERIC protocol families.
+ NETLINK_GENERIC is a protocol stacked on netlink protocol.
+
+ When a NETLINK_GENERIC subsystem registers its "family" name in the
+ kernel at run time, an integer value associated with this name is
+ assigned by the kernel. This integer value is specified in struct
+ nlmsghdr.nlmsg_type of subsequent communications with the
+ NETLINK_GENERIC subsystem.
+
+ This change implements decoding of NETLINK_GENERIC message types in
+ symbolic form, for example:
+
+ $ ./strace -yy -e 'sendto' ip tcp_metrics > /dev/null
+ sendto(4<NETLINK:[GENERIC:12345]>, {{len=20, type=tcp_metrics, ...
+ +++ exited with 0 +++
+
+ Note that type= specifying the NETLINK_GENERIC protocol family
+ is decoded properly.
+
+ * netlink.c (decode_nlmsg_type_generic): New function.
+ (nlmsg_types): Add NETLINK_GENERIC entry.
+
+2017-06-19 Masatake YAMATO <yamato@redhat.com>
+
+ socketutils: build a dynamic xlat table for NETLINK_GENERIC decoding.
+ * configure.ac (AC_CHECK_HEADERS): Add linux/genetlink.h.
+ * defs.h (genl_families_xlat): New prototype.
+ * socketutils.c [HAVE_LINUX_GENETLINK_H]: Include <linux/genetlink.h>.
+ [HAVE_LINUX_GENETLINK_H] (genl_send_dump_families,
+ genl_parse_families_response): New helper functions.
+ (genl_families_xlat): New function for building the xlat table
+ for NETLINK_GENERIC decoding.
+
+2017-06-19 Masatake YAMATO <yamato@redhat.com>
+
+ dyxlat: new interface for building xlat tables dynamically.
+ xlat tables are usually generated at build time.
+
+ printxval is suitable for printing struct nlmsghdr.nlmsg_type for
+ NETLINK_GENERIC protocol. However, the corresponding xlat table
+ cannot be defined at build time because the values are registered
+ by the kernel at run time.
+
+ This change introduces dyxlat functions for building xlat tables
+ dynamically. The primary use case is decoding nlmsg_type but this
+ interface can be used for other purposes.
+
+ * defs.h (struct dyxlat): New opaque data type.
+ (dyxlat_alloc, dyxlat_free, dyxlat_add_pair): New function declarations.
+ * dyxlat.c: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+
+2017-06-19 Masatake YAMATO <yamato@redhat.com>
+
+ Introduce xstrndup function.
+ * configure.ac (AC_CHECK_FUNCS): Add strndup.
+ * defs.h (xstrndup): New prototype.
+ * xmalloc.c (xstrndup): New function.
+
+2017-06-18 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink: do not print extra braces around payloadless nlmsghdr.
+ * netlink.c (decode_nlmsghdr_with_payload): Print braces before
+ print_nlmsghdr and after decode_payload iff decode_payload is invoked.
+ * tests/netlink_audit.c (test_nlmsg_type): Update expected output.
+ * tests/netlink_netfilter.c: Likewise.
+ * tests/netlink_selinux.c: Likewise.
+ * tests/netlink_protocol.c (send_query): Likewise.
+ * tests/netlink_route.c (test_nlmsg_type, test_nlmsg_flags): Likewise.
+ * tests/netlink_sock_diag.c: Likewise.
+ * tests/netlink_xfrm.c: Likewise.
+
+2017-06-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ Strip argument name of type "struct tcb *" from function prototypes.
+ "struct tcb *" was used in most prototypes along with "struct tcb *tcp",
+ this change converts the latter form to the former for consistency.
+
+ Fix a few spacing style issues.
+ Reported by kernel's checkpatch.pl script.
+
+2017-06-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ Strip redundant trailing semicolons.
+ Strip trailing semicolons from macro definitions.
+ Strip extra semicolons from statements terminations.
+
+ Reported by kernel's checkpatch.pl script.
+
+2017-06-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix macros encosure in a do/while loop.
+ Enclose macros with multiple statements and macros starting
+ with "if" statement in a do/while loop.
+ Do not enclose single statement macros in a do/while loop.
+
+ Reported by kernel's checkpatch.pl script.
+
+2017-06-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ Use __func__ instead of gcc specific __FUNCTION__
+ Reported by kernel's checkpatch.pl script.
+
+2017-06-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix a few initialization style issues.
+ Do not initialise statics and globals to 0, NULL, or false.
+
+ Reported by kernel's checkpatch.pl script.
+
+2017-06-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix function prototypes with unspecified arguments.
+ Change functions declared as taking unspecified number of arguments
+ of unspecified type to functions that take no arguments.
+
+ Reported by kernel's checkpatch.pl script.
+
+2017-06-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix a few sizeof style issues.
+ Reported by kernel's checkpatch.pl script.
+
+ Fix a few misspellings in comments.
+ Reported by kernel's checkpatch.pl script.
+
+2017-06-16 Dmitry V. Levin <ldv@altlinux.org>
+
+ print_mreq: remove superfluous print_quoted_string calls.
+ The string returned by inet_ntoa(3) has IPv4 dotted-decimal notation,
+ no need to quote it.
+
+ * net.c (print_mreq): Remove print_quoted_string calls.
+
+2017-06-15 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: check decoding of incomplete SCM_TIMESTAMP* control messages.
+ * tests/msg_control.c (test_scm_timestamp, test_scm_timestampns,
+ test_scm_timestamping): Check decoding of incomplete control messages.
+
+2017-06-15 Miroslav Lichvar <mlichvar@redhat.com>
+
+ msghdr: print SCM_TIMESTAMP* control messages.
+ Add support for printing control messages containing software and/or
+ hardware timestamps, which are typically enabled by NTP and PTP
+ implementations.
+
+ * print_timeval.c (print_struct_timeval_data_size): New mpers printer.
+ * print_timespec.c (print_struct_timespec_data_size,
+ print_struct_timespec_array_data_size): Likewise.
+ * msghdr.c (print_scm_timestamp, print_scm_timestampns,
+ print_scm_timestamping): New functions.
+ (cmsg_socket_printers): Add them.
+ * NEWS: Mention this change.
+ * tests/msg_control.c: Include "xlat.h" and "xlat/scmvals.h".
+ (test_scm_timestamp, test_scm_timestampns, test_scm_timestamping):
+ New functions.
+ (test_sol_socket): Use them.
+
+2017-06-15 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of NETLINK_SOCK_DIAG AF_SMC messages.
+ * tests/netlink_sock_diag.c: Include <linux/smc_diag.h>.
+ (SMC_ACTIVE): New macro.
+ (test_smc_diag_req, test_smc_diag_msg): New functions.
+ (main): Use them.
+
+ netlink: add a basic socket diag parser of AF_SMC messages.
+ * linux/smc_diag.h: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * netlink_sock_diag.c: Include <linux/smc_diag.h>,
+ "xlat/smc_diag_extended_flags.h" and "xlat/smc_states.h".
+ (decode_smc_diag_req, decode_smc_diag_msg): New functions.
+ (diag_decoders): Add AF_SMC.
+ * xlat/smc_diag_extended_flags.in: New file.
+ * xlat/smc_states.in: Likewise.
+
+2017-06-15 JingPiao Chen <chenjingpiao@gmail.com>
+ Fabien Siron <fabien.siron@epita.fr>
+
+ tests: check decoding of NETLINK_SOCK_DIAG AF_INET messages.
+ * tests/netlink_sock_diag.c: Include <arpa/inet.h>
+ and <linux/inet_diag.h>.
+ (test_inet_diag_sockid, test_inet_diag_req, test_inet_diag_req_v2,
+ test_inet_diag_msg): New functions.
+ (mian): Use them.
+
+ netlink: add a basic socket diag parser of AF_INET and AF_INET6 messages
+ * defs.h (inet_protocols): New xlat prototype.
+ * linux/inet_diag.h (inet_diag_req): New structure.
+ (INET_DIAG_*): New enum.
+ * netlink_sock_diag.c: Include <arpa/inet.h>, <linux/inet_diag.h>
+ and "xlat/inet_diag_extended_flags.h".
+ (print_inet_diag_sockid, decode_inet_diag_req_compat)
+ (decode_inet_diag_req_v2, decode_inet_diag_req)
+ (decode_inet_diag_msg): New functions.
+ (diag_decoders): Add AF_INET and AF_INET6;
+ * xlat/inet_diag_extended_flags.in: New file.
+
+2017-06-15 Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce print_inet_addr.
+ * defs.h (print_inet_addr): New prototype.
+ * sockaddr.c (print_inet_addr): New function.
+ (print_sockaddr_data_in6): Use it.
+ * net.c (print_mreq6): Likewise.
+ * tests/ip_mreq.c (main): Update expected output.
+
+2017-06-15 JingPiao Chen <chenjingpiao@gmail.com>
+ Fabien Siron <fabien.siron@epita.fr>
+
+ tests: check decoding of NETLINK_SOCK_DIAG AF_PACKET messages.
+ * tests/netlink_sock_diag.c: Include <linux/if_ether.h>
+ and <linux/packet_diag.h>.
+ (test_packet_diag_req, test_packet_diag_msg): New functions.
+ (main): Use them.
+
+ netlink: add a basic socket diag parser of AF_PACKET messages.
+ * linux/packet_diag.h: New file.
+ * Makefile.am (EXTRA_DIST): Add it.
+ * defs.h (ethernet_protocols): New xlat prototype.
+ * netlink_sock_diag.c: Include <linux/packet_diag.h>
+ and "xlat/packet_diag_show.h".
+ (decode_packet_diag_req, decode_packet_diag_msg): New functions.
+ (diag_decoders): Add AF_PACKET.
+ * xlat/packet_diag_show.in: New file.
+
+ tests: check decoding of NETLINK_SOCK_DIAG AF_NETLINK messages.
+ * tests/netlink_sock_diag.c: Include <linux/netlink_diag.h>.
+ (test_netlink_diag_req, test_netlink_diag_msg): New functions.
+ (main): Use them.
+
+ netlink: add a basic socket diag parser of AF_NETLINK messages.
+ * linux/netlink_diag.h (NDIAG_SHOW_GROUPS, NDIAG_SHOW_RING_CFG):
+ New macros.
+ * netlink_sock_diag.c: Include <linux/netlink_diag.h>,
+ "xlat/netlink_diag_show.h" and "xlat/netlink_states.h".
+ (decode_netlink_diag_req, decode_netlink_diag_msg): New functions.
+ (diag_decoders): Add AF_NETLINK.
+ * xlat/netlink_diag_show.in: New file.
+ * xlat/netlink_states.in: Likewise.
+
+2017-06-15 Dmitry V. Levin <ldv@altlinux.org>
+ Fabien Siron <fabien.siron@epita.fr>
+ JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of NETLINK_SOCK_DIAG AF_UNIX messages.
+ * tests/netlink_sock_diag.c: Include <netinet/tcp.h>
+ and <linux/unix_diag.h>.
+ (test_odd_family_req, test_odd_family_msg, test_unix_diag_req,
+ test_unix_diag_msg): New functions.
+ (main): Use them.
+
+ netlink: add a basic socket diag parser of AF_UNIX messages.
+ * defs.h (socktypes): New xlat prototype.
+ * linux/unix_diag.h (UDIAG_SHOW_VFS, UDIAG_SHOW_ICONS, UDIAG_SHOW_RQLEN,
+ UDIAG_SHOW_MEMINFO): New macros.
+ * netlink_sock_diag.c: Include <sys/socket.h>, <linux/netlink.h>,
+ <linux/unix_diag.h>, "xlat/tcp_states.h", "xlat/tcp_state_flags.h",
+ and "xlat/unix_diag_show.h".
+ (decode_unix_diag_req, decode_unix_diag_msg): New functions.
+ (netlink_diag_decoder_t): New typedef.
+ (diag_decoders): New array.
+ (decode_netlink_sock_diag): Use it.
+ * xlat/tcp_state_flags.in: New file.
+ * xlat/tcp_states.in: Likewise.
+ * xlat/unix_diag_show.in: Likewise.
+
+ netlink: introduce family specific payload decoders.
+ * defs.h (netlink_decoder_t): New typedef.
+ (DECL_NETLINK): New macro.
+ (decode_netlink_sock_diag): New prototype.
+ * netlink.c (netlink_decoders): New array.
+ (decode_payload): Use it to invoke netlink family specific decoders.
+ * netlink_sock_diag.c: New file.
+ * Makefile.am (strace_SOURCES): Add it.
+
+2017-06-15 Dmitry V. Levin <ldv@altlinux.org>
+
+ Update SCM_* constants.
+ * xlat/scmvals.in: Add SCM_TIMESTAMP, SCM_TIMESTAMPNS, SCM_TIMESTAMPING,
+ SCM_WIFI_STATUS, and SCM_TIMESTAMPING_OPT_STATS.
+
+2017-06-14 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink: refactor decode_nlmsg_type.
+ * netlink.c (decode_nlmsg_type_default, decode_nlmsg_type_netfilter):
+ New functions.
+ (nlmsg_types_decoder_t): New typedef.
+ (nlmsg_types): Add decoder field.
+ (decode_nlmsg_type): Use it.
+
+2017-06-14 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: extend printstr test.
+ * tests/printstr.c (main): Add a case for short read.
+
+2017-06-13 Dmitry V. Levin <ldv@altlinux.org>
+
+ v4l2: fix preprocessor checks.
+ Fix checks for struct v4l2_window.global_alpha and struct
+ v4l2_sdr_format.buffersize.
+
+ * v4l2.c (print_v4l2_format_fmt): Do not assume that
+ HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA and
+ HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE are defined.
+ * tests/ioctl_v4l2.c (init_v4l2_format, dprint_ioctl_v4l2): Likewise.
+
+2017-06-12 Dmitry V. Levin <ldv@altlinux.org>
+
+ Move xlat related functions to a separate file.
+ * util.c (xlookup, xlat_bsearch_compare, xlat_search, printxvals,
+ printxval_searchn, addflags, sprintflags, printflags_ex): Move ...
+ * xlat.c: ... to this new file.
+ * Makefile.am (strace_SOURCES): Add it.
+
+2017-06-12 Masatake YAMATO <yamato@redhat.com>
+
+ socketeutils: extend receive_responses further.
+ This is the second patch in series of implementing NETLINK_GENERIC
+ protocol decoder.
+
+ This change allows passing of opaque user data to the callback function.
+
+ * socketutils.c (receive_responses): Change the type of proto_name
+ argument from "const char *" to "void *" to allow passing
+ of arbitrary data to the callback function.
+ Rename proto_name to opaque_data, make it the last argument.
+ Pass it to the callback function as the last argument.
+ (inet_parse_response, unix_parse_response, netlink_parse_response):
+ Change the type of proto_name argument from "const char *" to "void *",
+ rename it to opaque_data, make it the last argument.
+ Introduce a local variable proto_name to convert the type
+ of opaque_data argument from "void *" to "const char *".
+ (unix_get, inet_get, netlink_get): Cast the protocol name from
+ "const char *" to "void *" for passing to the callback function.
+
+2017-06-12 Masatake YAMATO <yamato@redhat.com>
+
+ socketeutils: extend receive_responses to handle other netlink types.
+ This is the first patch in series of implementing NETLINK_GENERIC
+ protocol decoder.
+
+ receive_responses was written for decoding kernel responses of type
+ SOCK_DIAG_BY_FAMILY, other types were ignored.
+
+ This change makes the type of netlink response a parameter
+ so the function can be used for other types of communication.
+
+ * socketutils.c (receive_responses): add a new parameter
+ expected_msg_type to handle types other than SOCK_DIAG_BY_FAMILY.
+
+2017-06-12 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: fix typo.
+ * tests/dup3.c (SKIP_MAIN_UNDEFINED): Remove duplicated &&.
+
+2017-06-08 Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce printflags_ex function.
+ Add printflags_ex extension over printflags64 that, similar
+ to printxvals, takes a NULL-terminated sequence of xlat pointers.
+
+ * defs.h (printflags_ex): New prototype.
+ (printflags64): Turn into a thin wrapper around printflags_ex.
+ * netlink.c (decode_nlmsg_flags): Use printflags_ex.
+ * util.c (printflags_ex): New function.
+ (printflags64): Remove.
+ * xlat/netlink_get_flags.in: Remove entries listed
+ in xlat/netlink_flags.in file.
+ * xlat/netlink_new_flags.in: Likewise.
+
+2017-06-08 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: add check for decoding netlink get and new flags.
+ * tests/netlink_route.c (test_nlmsg_flags): New function, checks
+ decoding of NETLINK_ROUTE get and new flags.
+ (main): Use it.
+ * tests/netlink_sock_diag.c (test_nlmsg_flags): New function, checks
+ decoding of NETLINK_SOCK_DIAG get flags.
+ (main): Use it.
+ * tests/netlink_xfrm.c: (test_nlmsg_flags): New function, checks
+ decoding of NETLINK_XFRM get and new flags.
+ (main): Use it.
+
+2017-06-08 JingPiao Chen <chenjingpiao@gmail.com>
+ Fabien Siron <fabien.siron@epita.fr>
+ Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink: implement generic nlmsg_flags decoding.
+ * netlink.c: Include "xlat/netlink_get_flags.h"
+ and "xlat/netlink_new_flags.h".
+ (decode_nlmsg_flags): New function.
+ (print_nlmsghdr): Use it.
+ * xlat/netlink_get_flags.in: New file.
+ * xlat/netlink_new_flags.in: Likewise.
+
+2017-06-08 Dmitry V. Levin <ldv@altlinux.org>
+
+ xlat: provide fallback definitions for XFRM_MSG_* constants.
+ Some of XFRM_MSG_* constants were introduced later than the header file
+ where they are defined.
+
+ * xlat/nl_xfrm_types.in: Add default values for constants.
+
+2017-06-05 Victor Krapivensky <krapivenskiy.va@phystech.edu>
+
+ syscall.c: split trace_syscall() into 6 functions.
+ This change removes the trace_syscall function. Now, the code that uses
+ syscall.c trace functions is expected to check whether it is a syscall
+ entry or exit (with entering(tcp)/exiting(tcp)) itself, and then make
+ an appropriate sequence of function calls.
+
+ * defs.h: Update comment on TCB_INSYSCALL.
+ (trace_syscall): Remove prototype.
+ (syscall_entering_decode, syscall_entering_trace,
+ syscall_entering_finish, syscall_exiting_decode, syscall_exiting_trace,
+ syscall_exiting_finish): New prototypes.
+ * strace.c (trace_syscall): New static replacement for old trace_syscall.
+ * syscall.c (trace_syscall): Remove.
+ (trace_syscall_entering): Split into ...
+ (syscall_entering_decode, syscall_entering_trace,
+ syscall_entering_finish): ... new functions.
+ (trace_syscall_exiting): Split into ...
+ (syscall_exiting_decode, syscall_exiting_trace,
+ syscall_exiting_finish): ... new functions.
+
+2017-06-05 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: guard against missing linux/netfilter/nfnetlink.h.
+ nfnetlink was introduced in linux by commit v2.6.14-rc1~1035^2~217,
+ add a guard for the case when system headers are not fresh enough.
+
+ * configure.ac (AC_CHECK_HEADERS): Add linux/netfilter/nfnetlink.h.
+ * tests/netlink_netfilter.c: Check for HAVE_LINUX_NETFILTER_NFNETLINK_H.
+
+2017-06-05 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: check decoding of NETLINK_XFRM message types.
+ * tests/netlink_xfrm.c: New file.
+ * tests/gen_tests.in (netlink_xfrm): New entry.
+ * tests/pure_executables.list: Add netlink_xfrm.
+ * tests/.gitignore: Likewise.
+
+ tests: check decoding of NETLINK_SELINUX message types.
+ * tests/netlink_selinux.c: New file.
+ * tests/gen_tests.in (netlink_selinux): New entry.
+ * tests/pure_executables.list: Add netlink_selinux.
+ * tests/.gitignore: Likewise.
+
+ tests: check decoding of NETLINK_NETFILTER message types.
+ * tests/netlink_netfilter.c: New file.
+ * tests/gen_tests.in (netlink_netfilter): New entry.
+ * tests/pure_executables.list: Add netlink_netfilter.
+ * tests/.gitignore: Likewise.
+
+ tests: check decoding of NETLINK_AUDIT message types.
+ * tests/netlink_audit.c: New file.
+ * tests/gen_tests.in (netlink_audit): New entry.
+ * tests/pure_executables.list: Add netlink_audit.
+ * tests/.gitignore: Likewise.
+
+ tests: check decoding of NETLINK_ROUTE message types.
+ * tests/netlink_route.c: New file.
+ * tests/gen_tests.in (netlink_route): New entry.
+ * tests/pure_executables.list: Add netlink_route.
+ * tests/.gitignore: Likewise.
+
+ tests: check decoding of NETLINK_SOCK_DIAG message types.
+ * tests/netlink_sock_diag.c: New file.
+ * tests/netlink_sock_diag.test: New test.
+ * tests/pure_executables.list: Add netlink_sock_diag.
+ * tests/.gitignore: Likewise.
+ * tests/Makefile.am (DECODER_TESTS): Add netlink_sock_diag.test.
+
+2017-06-05 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: use create_nl_socket in netlink_protocol.test.
+ * tests/netlink_protocol.c (main): Use create_nl_socket.
+
+ tests: change netlink_protocol.test to trace sendto syscalls only.
+ * tests/gen_tests.in (netlink_protocol): Replace %network with sendto.
+ * tests/netlink_protocol.c (main): Update expected output.
+
+ tests: enhance create_nl_socket diagnostics messages.
+ * tests/tests.h (create_nl_socket): Rename to create_nl_socket_ext,
+ add a string argument.
+ (create_nl_socket): New macro wrapper around create_nl_socket_ext.
+ * tests/create_nl_socket.c (create_nl_socket): Rename
+ to create_nl_socket_ext, add a string argument, include it
+ in diagnostic messages.
+
+ tests: use const and designated initializers in create_nl_socket.c.
+ * tests/create_nl_socket.c: Stop including <string.h>.
+ (create_nl_socket): Use const and designated initializers.
+
+2017-06-05 JingPiao Chen <chenjingpiao@gmail.com>
+
+ tests: add create_nl_socket function to libtests.
+ * tests/create_nl_socket.c: New file.
+ * tests/tests.h (create_nl_socket): New prototype.
+ * tests/Makefile.am (libtests_a_SOURCES): Add create_nl_socket.c.
+
+2017-06-05 Dmitry V. Levin <ldv@altlinux.org>
+ Fabien Siron <fabien.siron@epita.fr>
+
+ netlink: add decoding of NETLINK_NETFILTER message types.
+ * xlat/nl_netfilter_msg_types.in: New file.
+ * xlat/nl_netfilter_subsys_ids.in: Likewise.
+ * netlink.c: Include "xlat/nl_netfilter_msg_types.h"
+ and "xlat/nl_netfilter_subsys_ids.h".
+ (nlmsg_types): Add NETLINK_NETFILTER.
+ (decode_nlmsg_type): Handle NETLINK_NETFILTER.
+
+ netlink: add decoding of NETLINK_XFRM message types.
+ * xlat/nl_xfrm_types.in: New file.
+ * netlink.c: Include "xlat/nl_xfrm_types.h".
+ (nlmsg_types): Add NETLINK_XFRM.
+
+ netlink: add decoding of NETLINK_SELINUX message types.
+ * xlat/nl_selinux_types.in: New file.
+ * netlink.c: Include "xlat/nl_selinux_types.h".
+ (nlmsg_types): Add NETLINK_SELINUX.
+
+ netlink: add decoding of NETLINK_ROUTE message types.
+ * xlat/nl_route_types.in: New file.
+ * netlink.c: Include <linux/rtnetlink.h> and "xlat/nl_route_types.h".
+ (nlmsg_types): Add NETLINK_ROUTE.
+
+ netlink: add decoding of NETLINK_AUDIT message types.
+ * xlat/nl_audit_types.in: New file.
+ * netlink.c: Include <linux/audit.h> and "xlat/nl_audit_types.h".
+ (nlmsg_types): Add NETLINK_AUDIT.
+
+2017-06-05 Dmitry V. Levin <ldv@altlinux.org>
+ Fabien Siron <fabien.siron@epita.fr>
+
+ netlink: implement generic nlmsg_type decoding.
+ Implement a pluggable mechanism of nlmsg_type decoding.
+ Add decoding of NETLINK_SOCK_DIAG types.
+
+ * linux/sock_diag.h (SOCK_DESTROY): New macro.
+ * xlat/nl_sock_diag_types.in: New file.
+ * netlink.c: Include xlat/nl_sock_diag_types.h.
+ (get_fd_nl_family, decode_nlmsg_type): New functions.
+ (print_nlmsghdr): Use them for nlmsg_type decoding.
+
+2017-06-05 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink: add netlink family argument to printers and decoders.
+ * netlink.c (NL_FAMILY_ERROR, NL_FAMILY_DEFAULT): New constants.
+ (print_nlmsghdr): Add netlink family argument, change return type
+ to int, return family.
+ (decode_nlmsghdr_with_payload, decode_nlmsgerr, decode_payload): Add
+ netlink family argument. All callers updated.
+
+2017-06-05 Fabien Siron <fabien.siron@epita.fr>
+ Dmitry V. Levin <ldv@altlinux.org>
+
+ Add file descriptor argument to decode_netlink.
+ * defs.h (decode_netlink): Add file descriptor argument.
+ * io.c (print_iovec): Specify file descriptor to decode_netlink.
+ * net.c (decode_sockbuf): Likewise.
+ * netlink.c (print_nlmsghdr, decode_nlmsghdr_with_payload,
+ decode_nlmsgerr, decode_payload, decode_nlmsghdr_with_payload,
+ decode_netlink): Likewise.
+ All callers updated.
+
+ Introduce getfdinode to obtain inode from fd.
+ * defs.h (getfdinode): New prototype.
+ * utils.c (getfdinode): New function.
+
+2017-06-05 Fabien Siron <fabien.siron@epita.fr>
+ Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce get_sockaddr_by_inode.
+ Add a way to get socket information without printing it.
+
+ * defs.h (get_sockaddr_by_inode): New prototype.
+ * socketutils.c (get_sockaddr_by_inode): New function.
+
+2017-06-05 Dmitry V. Levin <ldv@altlinux.org>
+
+ socketutils.c: introduce get_sockaddr_by_inode_uncached.
+ * socketutils.c (get_sockaddr_by_inode_uncached): New function.
+ (print_sockaddr_by_inode_uncached): Use it.
+
+2017-06-05 Fabien Siron <fabien.siron@epita.fr>
+ Dmitry V. Levin <ldv@altlinux.org>
+
+ socketutils.c: use get_sockaddr_by_inode_cached.
+ * socketutils.c (unix_print, inet_print, tcp_v4_print, tcp_v6_print,
+ udp_v4_print, udp_v6_print, netlink_print): Remove.
+ (unix_get, inet_get, tcp_v4_get, tcp_v6_get, udp_v4_get,
+ udp_v6_get, netlink_get): New functions.
+ (protocols): Update.
+
+2017-06-05 Dmitry V. Levin <ldv@altlinux.org>
+
+ socketutils.c: move inet_print closer to its first use.
+ * socketutils.c (inet_print): Move right before tcp_v4_print.
+
+2017-06-05 Fabien Siron <fabien.siron@epita.fr>
+ Dmitry V. Levin <ldv@altlinux.org>
+
+ socketutils.c: introduce cache_inode_details.
+ cache_inode_details gives a way to obtain cache information without
+ printing it.
+
+ * socketutils.c (cache_and_print_inode_details): Rename
+ to cache_inode_details. Do not print cached information.
+ (inet_parse_response, unix_parse_response, netlink_parse_response):
+ Use cache_inode_details instead of cache_and_print_inode_details.
+ (inet_print, unix_print, netlink_print): Call
+ print_sockaddr_by_inode_cached.
+
+2017-06-05 Victor Krapivensky <krapivenskiy.va@phystech.edu>
+
+ strace.c: move termination code to a separate function.
+ This will be needed for the pull-style API.
+
+ * strace.c (terminate): New function.
+ (main): Use it.
+
+2017-06-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: avoid hitting SO_SNDBUF limit in sendfile/sendfile64 tests.
+ Do not assume that an executable is small enough and SO_SNDBUF is large
+ enough so that the executable could be sendfile'ed into a socket pair.
+
+ * tests/sendfile.c (main): Create a regular file of the right size
+ to avoid hitting SO_SNDBUF limit.
+ * tests/sendfile64.c: Likewise.
+
+ Reported-by: Andreas Schwab <schwab@linux-m68k.org>
+
+2017-06-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ Move netlink_protocols definition from net.c to netlink.c.
+ The side effect of #include "xlat/netlink_protocols.h" is
+ NETLINK_* constants properly defined in that header file.
+ While net.c does not use these constants itself, netlink.c
+ is going to need them soon.
+
+ * net.c: Move inclusion of "xlat/netlink_protocols.h" ...
+ * netlink.c: ... here.
+
+2017-06-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ travis: switch from gcc-6 to gcc-7.
+ * .travis.yml (matrix): Change gcc-6 to gcc-7.
+
+ tests: extend checking of NLMSG_DONE decoding.
+ * tests/netlink_protocol.c (test_nlmsg_done): Use designated
+ initializers. Check decoding of messages with non-integer payload.
+
+2017-06-04 JingPiao Chen <chenjingpiao@gmail.com>
+
+ netlink: decode NLMSG_DONE messages.
+ * netlink.c (decode_payload): Decode NLMSG_DONE messages.
+ * tests/netlink_protocol.c (test_nlmsg_done): New function
+ for checking decoding of NLMSG_DONE messages.
+ (main): Use it.
+
+2017-06-04 Dmitry V. Levin <ldv@altlinux.org>
+
+ socketutils.c: introduce get_sockaddr_by_inode_cached.
+ * socketutils.c (get_sockaddr_by_inode_cached): New function.
+ (print_sockaddr_by_inode_cached): Use it.
+
+2017-06-03 Dmitry V. Levin <ldv@altlinux.org>
+
+ Unexport print_sockaddr_by_inode_cached.
+ Change print_sockaddr_by_inode to be the only function exposed,
+ hide print_sockaddr_by_inode_cached as a part of implementation.
+
+ * defs.h (print_sockaddr_by_inode_cached): Remove prototype.
+ (print_sockaddr_by_inode): Add struct tcb * and descriptor arguments.
+ * socketutils.c (print_sockaddr_by_inode_cached): Make static.
+ (print_sockaddr_by_inode): Rename to print_sockaddr_by_inode_uncached,
+ make static.
+ (print_sockaddr_by_inode): New function.
+ * util.c (printfd): Update to use new print_sockaddr_by_inode.
+
+2017-06-03 Dmitry V. Levin <ldv@altlinux.org>
+
+ Introduce str_strip_prefix_len function and STR_STRIP_PREFIX macro.
+ Address proliferation of string prefix check implementations.
+
+ * defs.h (str_strip_prefix_len): New inline function.
+ (STR_STRIP_PREFIX): New macro.
+ * qualify.c (strip_prefix): Remove.
+ (parse_inject_token): Use STR_STRIP_PREFIX instead of strip_prefix.
+ (qualify): Use str_strip_prefix_len.
+ * socketutils.c (netlink_parse_response): Likewise.
+ * util.c (printfd): Likewise.
+
+2017-06-02 Dmitry V. Levin <ldv@altlinux.org>
+
+ netlink: move NLMSG_ERROR payload length check to nlmsgerr decoder.
+ Move decoder specific check to the decoder.
+
+ * netlink.c (decode_payload): Move NLMSG_ERROR payload length check ...
+ (decode_nlmsgerr): ... here.
+
+2017-06-02 Dmitry V. Levin <ldv@altlinux.org>
+
+ strace.c: handle PTRACE_EVENT_EXEC like other events.
+ There is nothing unusual about PTRACE_EVENT_EXEC that would require
+ a special treatment.
+
+ * strace.c (next_event): Move PTRACE_EVENT_EXEC handling to the main
+ switch statement.
+
+2017-06-02 Dmitry V. Levin <ldv@altlinux.org>
+
+ strace.c: remove dead code.
+ As strace does not use WCONTINUED flag, there is no need to handle
+ WIFCONTINUED status.
+
+ * strace.c (print_debug_info) [WIFCONTINUED]: Remove.
+ (next_event): Remove redundant !WIFSTOPPED check.
+
+2017-06-02 Victor Krapivensky <krapivenskiy.va@phystech.edu>
+
+ strace.c: refactor trace into two functions.
+ This change decouples waiting for next event from reacting to it. This
+ makes the control flow easier to understand, and serves as a preparation
+ for implementing a pull-style API for LuaJIT.
+
+ * strace.c (enum trace_event): New enum.
+ (trace): Split into ...
+ (next_event, dispatch_event): ... new functions.
+ (main): Use them.
+
+2017-05-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ scno.am: include config.h before syscallent.h.
+ This fixes generation of syscallent.i and subsequent scno.h files
+ on mips where syscallent.h checks macros defined in config.h.
+
+ * scno.am (syscallent.i): Add $(top_builddir)/config.h
+ to prerequisites, include it.
+ * NEWS: Mention this fix.
+
+ Reported-by: David Robins <dbrobins@i4031.net>
+
+2017-05-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: check decoding of sigaction syscall.
+ * tests/sigaction.c: New file.
+ * tests/gen_tests.in (sigaction): New entry.
+ * tests/pure_executables.list: Add sigaction.
+ * tests/.gitignore: Likewise.
+
+ tests: rename sigaction.test to rt_sigaction.test.
+ * tests/sigaction.awk: Rename to rt_sigaction.awk.
+ * tests/sigaction.c: Rename to tests/rt_sigaction.c.
+ * tests/sigaction.test: Rename to tests/rt_sigaction.test.
+ * tests/.gitignore: Replace sigaction with rt_sigaction.
+ * tests/pure_executables.list: Likewise.
+ * tests/Makefile.am (DECODER_TESTS): Replace sigaction.test
+ with rt_sigaction.test.
+ (EXTRA_DIST): Replace sigaction.awk with rt_sigaction.awk.
+
+2017-05-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ sparc: enhance decoding of signal number argument of sigaction syscall.
+ On sparc, unlike all other architectures, old sigaction syscall takes
+ a negated signal number.
+
+ * signal.c (SYS_FUNC(sigaction)) [SPARC || SPARC64]: Enhance printing
+ of negative signal number argument.
+
+2017-05-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ signal: enhance printing of old_sigaction.mask.
+ * signal.c (decode_old_sigaction): Print old_sigaction.mask
+ using tprint_old_sigmask_val.
+
+ signal: limit scope of struct old_sigaction32 definition.
+ * signal.c (struct old_sigaction32): Define only if [!current_wordsize].
+
+2017-05-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ signal: fix decoding of struct old_sigaction on some architectures.
+ On alpha, struct old_sigaction.sa_flags has a 32-bit type.
+
+ On mips, only first word of old_sigaction.sa_mask is read.
+
+ On all architectures except alpha and mips that have old sigaction
+ syscall, struct old_sigaction has sa_restorer field that has to be
+ decoded.
+
+ * signal.c (struct old_sigaction) [ALPHA]: Change sa_flags type
+ to unsigned int, add ATTRIBUTE_PACKED.
+ [MIPS]: Dhrink sa_mask array to 1 element.
+ [!ALPHA && !MIPS]: Define sa_restorer field unconditionally.
+ (struct old_sigaction32): Likewise.
+ (decode_old_sigaction) [!current_wordsize]: Initialize sa_restorer field
+ from old_sigaction32.sa_restorer unconditionally.
+ [!ALPHA && !MIPS]: Print old_sigaction.sa_restorer if SA_RESTORER flag
+ is set.
+ * NEWS: Mention this change.
+
+2017-05-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ xlat: rename SA_STACK to SA_ONSTACK.
+ SA_ONSTACK is the standard name while its alias SA_STACK is not even
+ defined on many platforms.
+
+ * xlat/sigact_flags.in (SA_STACK): Rename to SA_ONSTACK.
+
+2017-05-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: check decoding of sigpending syscall.
+ * tests/sigpending.c: New file.
+ * tests/gen_tests.in (sigpending): New entry.
+ * tests/pure_executables.list: Add sigpending.
+ * tests/.gitignore: Likewise.
+
+ tests: check decoding of sigprocmask syscall.
+ * tests/sigprocmask.c: New file.
+ * tests/gen_tests.in (sigprocmask): New entry.
+ * tests/pure_executables.list: Add sigprocmask.
+ * tests/.gitignore: Likewise.
+
+2017-05-28 Dmitry V. Levin <ldv@altlinux.org>
+
+ alpha: rename sys_sigprocmask to sys_osf_sigprocmask.
+ Parsers of sigprocmask and osf_sigprocmask syscalls are different
+ anyway, so rename the function to match the syscall name.
+
+ * signal.c [ALPHA] (SYS_FUNC(sigprocmask)): Rename
+ to SYS_FUNC(osf_sigprocmask).
+ * linux/alpha/syscallent.h: Update sys_func.
+
+2017-05-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ Enable coverage when strace is self terminated by signal.
+ The data collected by -fprofile-arcs during program run is saved
+ on program exit. When program is terminated by signal, the data
+ is not saved. However, libgcov provides an interface to dump
+ the data at runtime.
+
+ * m4/ax_code_coverage.m4 (AX_CODE_COVERAGE): Add -DENABLE_COVERAGE_GCOV
+ to CODE_COVERAGE_CPPFLAGS.
+ * strace.c [ENABLE_COVERAGE_GCOV] (__gcov_flush): New prototype.
+ (main) [ENABLE_COVERAGE_GCOV]: Call __gcov_flush() before raise()
+ and sigprocmask() calls that might cause program termination.
+
+2017-05-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ tests: check termination signal forwarding.
+ * tests/run_expect_termsig.c: New file.
+ * tests/unblock_reset_raise.c: Likewise.
+ * tests/termsig.test: New test.
+ * tests/.gitignore: Add run_expect_termsig and unblock_reset_raise.
+ * tests/Makefile.am (check_PROGRAMS): Likewise.
+ (MISC_TESTS): Add termsig.test.
+
+2017-05-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix termination signal forwarding.
+ When traced command is terminated by a blocked signal, unblock
+ that signal to ensure strace termination with the same signal.
+
+ * strace.c (main): Unblock the signal raised for strace termination.
+ * NEWS: Mention this change.
+
+2017-05-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ Do not reset SIGCHLD handler in tracees to SIG_DFL.
+ While strace resets SIGCHLD handler to the default action so that
+ waitpid definitely works without losing track of children, tracees
+ should not inherit this change.
+
+ * strace.c (struct exec_params): Add child_sa field.
+ (init): When setting SIGCHLD handler to SIG_DFL, save the old handler.
+ (exec_or_die): Restore SIGCHLD handler if it was different from SIG_DFL
+ at startup.
+ * NEWS: Mention this change.
+
+2017-05-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ Refactor setting of signal handlers to reduce redundancy.
+ * strace.c (set_sigaction): New function.
+ (init): Use it instead of sigaction with sigaddset.
+
+ tests: check how signals are unblocked in interactive mode.
+ * tests/block_reset_raise_run.c: New file.
+ * tests/interactive_block.test: New test.
+ * tests/.gitignore: Add block_reset_raise_run.
+ * tests/Makefile.am (check_PROGRAMS): Likewise.
+ (MISC_TESTS): Add interactive_block.test.
+
+2017-05-27 Dmitry V. Levin <ldv@altlinux.org>
+
+ Fix unblocking of signals in interactive mode.
+ In interactive mode (-I2), those signals that were blocked at startup
+ will remain blocked for the whole period of strace execution.
+
+ * strace.c (empty_set): Rename to start_set. All users changed.
+ (init): Initialize start_set and blocked_set to the set of currently
+ blocked signals.
+ (startup_attach, trace): Use SIG_SETMASK instead of SIG_BLOCK.
+ * NEWS: Mention this change.
+
+2017-05-26 Dmitry V. Levin <ldv@altlinux.org>
+
+ Cleanup interactive check.
+ * strace.c (init): Check for INTR_WHILE_WAIT mode the same way
+ as in other places.
+
+ tests: check decoding of signal syscall.
+ * tests/signal.c: New file.
+ * tests/gen_tests.in (signal): New entry.
+ * tests/pure_executables.list: Add signal.
+ * tests/.gitignore: Likewise.
+
+2017-05-26 Eugene Syromyatnikov <evgsyr@gmail.com>
+
+ Unify capitalisation of (c) in copyright notices.
+
+2017-05-25 Dmitry V. Levin <ldv@altlinux.org>
+
+ Post-release administrivia.
+ * NEWS: Add a header line for the next release.
+ * debian/changelog.in: Add a changelog entry for 4.17-1.
+ * strace.spec.in: Likewise.
+
2017-05-24 Dmitry V. Levin <ldv@altlinux.org>
Prepare for 4.17 release.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 00000000..cb650215
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,1064 @@
+# Automake input for strace.
+#
+# Copyright (c) 2002-2009 Roland McGrath <roland@redhat.com>
+# Copyright (c) 2006-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2008-2015 Mike Frysinger <vapier@gentoo.org>
+# Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+# Copyright (c) 2002-2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+if HAVE_M32_RUNTIME
+TESTS_M32 = tests-m32
+endif
+if HAVE_MX32_RUNTIME
+TESTS_MX32 = tests-mx32
+endif
+SUBDIRS = tests $(TESTS_M32) $(TESTS_MX32)
+
+bin_PROGRAMS = strace
+man_MANS = strace.1
+bin_SCRIPTS = strace-graph strace-log-merge
+
+OS = linux
+# ARCH is `i386', `m68k', `sparc', etc.
+ARCH = @arch@
+
+ACLOCAL_AMFLAGS = -I m4
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = -I$(builddir)/$(OS)/$(ARCH) \
+ -I$(srcdir)/$(OS)/$(ARCH) \
+ -I$(builddir)/$(OS) \
+ -I$(srcdir)/$(OS) \
+ -I$(builddir) \
+ -I$(srcdir)
+
+AM_CFLAGS_FOR_BUILD = $(WARN_CFLAGS_FOR_BUILD)
+AM_CPPFLAGS_FOR_BUILD = $(AM_CPPFLAGS)
+
+include xlat/Makemodule.am
+
+strace_CPPFLAGS = $(AM_CPPFLAGS)
+strace_CFLAGS = $(AM_CFLAGS)
+strace_LDFLAGS =
+strace_LDADD = libstrace.a
+noinst_LIBRARIES = libstrace.a
+
+libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
+libstrace_a_CFLAGS = $(strace_CFLAGS)
+libstrace_a_SOURCES = \
+ fstatfs.c \
+ fstatfs64.c \
+ ipc.c \
+ sigreturn.c \
+ socketcall.c \
+ statfs.c \
+ statfs64.c \
+ sync_file_range.c \
+ sync_file_range2.c \
+ upeek.c \
+ upoke.c \
+ # end of libstrace_a_SOURCES
+
+strace_SOURCES = \
+ access.c \
+ affinity.c \
+ aio.c \
+ alpha.c \
+ bjm.c \
+ block.c \
+ bpf.c \
+ btrfs.c \
+ cacheflush.c \
+ capability.c \
+ caps0.h \
+ caps1.h \
+ chdir.c \
+ chmod.c \
+ clone.c \
+ copy_file_range.c \
+ count.c \
+ defs.h \
+ desc.c \
+ dirent.c \
+ dirent64.c \
+ dm.c \
+ dyxlat.c \
+ empty.h \
+ epoll.c \
+ evdev.c \
+ eventfd.c \
+ execve.c \
+ fadvise.c \
+ fallocate.c \
+ fanotify.c \
+ fchownat.c \
+ fcntl.c \
+ fetch_seccomp_fprog.c \
+ fetch_struct_flock.c \
+ fetch_struct_mmsghdr.c \
+ fetch_struct_msghdr.c \
+ fetch_struct_stat.c \
+ fetch_struct_stat64.c \
+ fetch_struct_statfs.c \
+ file_handle.c \
+ file_ioctl.c \
+ fs_x_ioctl.c \
+ flock.c \
+ flock.h \
+ futex.c \
+ gcc_compat.h \
+ get_robust_list.c \
+ getcpu.c \
+ getcwd.c \
+ getrandom.c \
+ hdio.c \
+ hostname.c \
+ inotify.c \
+ io.c \
+ ioctl.c \
+ ioperm.c \
+ iopl.c \
+ ioprio.c \
+ ipc_defs.h \
+ ipc_msg.c \
+ ipc_msgctl.c \
+ ipc_sem.c \
+ ipc_shm.c \
+ ipc_shmctl.c \
+ kcmp.c \
+ kernel_types.h \
+ kexec.c \
+ keyctl.c \
+ ldt.c \
+ link.c \
+ linux/asm_stat.h \
+ linux/x32/asm_stat.h \
+ linux/x86_64/asm_stat.h \
+ lookup_dcookie.c \
+ loop.c \
+ lseek.c \
+ macros.h \
+ mem.c \
+ membarrier.c \
+ memfd_create.c \
+ mknod.c \
+ mmsghdr.c \
+ mount.c \
+ mpers_type.h \
+ mq.c \
+ msghdr.c \
+ msghdr.h \
+ mtd.c \
+ native_defs.h \
+ net.c \
+ netlink.c \
+ netlink.h \
+ netlink_sock_diag.c \
+ nlattr.c \
+ nlattr.h \
+ nsfs.c \
+ nsfs.h \
+ nsig.h \
+ numa.c \
+ oldstat.c \
+ open.c \
+ or1k_atomic.c \
+ pathtrace.c \
+ perf.c \
+ perf_event_struct.h \
+ personality.c \
+ pkeys.c \
+ poll.c \
+ prctl.c \
+ print_dev_t.c \
+ print_fields.h \
+ print_mq_attr.c \
+ print_msgbuf.c \
+ print_sg_req_info.c \
+ print_sigevent.c \
+ print_statfs.c \
+ print_struct_stat.c \
+ print_time.c \
+ print_timespec.c \
+ print_timeval.c \
+ print_timex.c \
+ printmode.c \
+ printrusage.c \
+ printsiginfo.c \
+ printsiginfo.h \
+ process.c \
+ process_vm.c \
+ ptp.c \
+ ptrace.h \
+ qualify.c \
+ quota.c \
+ readahead.c \
+ readlink.c \
+ reboot.c \
+ regs.h \
+ renameat.c \
+ resource.c \
+ rt_sigframe.c \
+ rt_sigreturn.c \
+ rtc.c \
+ sched.c \
+ sched_attr.h \
+ scsi.c \
+ seccomp.c \
+ seccomp_fprog.h \
+ sendfile.c \
+ sg_io_v3.c \
+ sg_io_v4.c \
+ sigaltstack.c \
+ sigevent.h \
+ signal.c \
+ signalfd.c \
+ sock.c \
+ sockaddr.c \
+ socketutils.c \
+ sram_alloc.c \
+ stat.c \
+ stat.h \
+ stat64.c \
+ statfs.c \
+ statfs.h \
+ statx.c \
+ statx.h \
+ strace.c \
+ swapon.c \
+ syscall.c \
+ sysctl.c \
+ sysent.h \
+ sysinfo.c \
+ syslog.c \
+ sysmips.c \
+ term.c \
+ time.c \
+ times.c \
+ truncate.c \
+ ubi.c \
+ uid.c \
+ uid16.c \
+ umask.c \
+ umount.c \
+ uname.c \
+ userfaultfd.c \
+ ustat.c \
+ util.c \
+ utime.c \
+ utimes.c \
+ v4l2.c \
+ wait.c \
+ xattr.c \
+ xlat.c \
+ xlat.h \
+ xmalloc.c \
+ # end of strace_SOURCES
+
+if USE_LIBUNWIND
+strace_SOURCES += unwind.c
+strace_CPPFLAGS += $(libunwind_CPPFLAGS)
+strace_LDFLAGS += $(libunwind_LDFLAGS)
+strace_LDADD += $(libunwind_LIBS)
+endif
+
+@CODE_COVERAGE_RULES@
+CODE_COVERAGE_BRANCH_COVERAGE = 1
+CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
+ --prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
+CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*'
+strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
+strace_CFLAGS += $(CODE_COVERAGE_CFLAGS)
+strace_LDADD += $(CODE_COVERAGE_LDFLAGS)
+
+# Enable this to get link map generated
+#strace_LDFLAGS += -Wl,-Map=strace.mapfile
+
+EXTRA_DIST = \
+ $(man_MANS) \
+ .version \
+ COPYING \
+ CREDITS \
+ ChangeLog \
+ ChangeLog-CVS \
+ README-linux-ptrace \
+ debian/changelog \
+ debian/compat \
+ debian/control \
+ debian/copyright \
+ debian/rules \
+ debian/source/format \
+ debian/strace-udeb.install \
+ debian/strace.docs \
+ debian/strace.examples \
+ debian/strace.install \
+ debian/strace.manpages \
+ debian/strace64.install \
+ debian/strace64.manpages \
+ debian/watch \
+ generate_sen.sh \
+ ioctl_iocdef.c \
+ ioctlsort.c \
+ linux/32/ioctls_inc.h \
+ linux/32/ioctls_inc_align16.h \
+ linux/32/ioctls_inc_align32.h \
+ linux/32/ioctls_inc_align64.h \
+ linux/32/syscallent.h \
+ linux/64/ioctls_inc.h \
+ linux/64/syscallent.h \
+ linux/aarch64/arch_regs.c \
+ linux/aarch64/arch_regs.h \
+ linux/aarch64/arch_rt_sigframe.c\
+ linux/aarch64/arch_sigreturn.c \
+ linux/aarch64/errnoent1.h \
+ linux/aarch64/get_error.c \
+ linux/aarch64/get_scno.c \
+ linux/aarch64/get_syscall_args.c\
+ linux/aarch64/ioctls_arch0.h \
+ linux/aarch64/ioctls_arch1.h \
+ linux/aarch64/ioctls_inc0.h \
+ linux/aarch64/ioctls_inc1.h \
+ linux/aarch64/set_error.c \
+ linux/aarch64/set_scno.c \
+ linux/aarch64/signalent1.h \
+ linux/aarch64/syscallent.h \
+ linux/aarch64/syscallent1.h \
+ linux/alpha/arch_getrval2.c \
+ linux/alpha/arch_regs.c \
+ linux/alpha/arch_regs.h \
+ linux/alpha/arch_rt_sigframe.c \
+ linux/alpha/arch_sigreturn.c \
+ linux/alpha/errnoent.h \
+ linux/alpha/get_error.c \
+ linux/alpha/get_scno.c \
+ linux/alpha/get_syscall_args.c \
+ linux/alpha/get_syscall_result.c\
+ linux/alpha/ioctls_arch0.h \
+ linux/alpha/ioctls_inc0.h \
+ linux/alpha/set_error.c \
+ linux/alpha/set_scno.c \
+ linux/alpha/signalent.h \
+ linux/alpha/syscallent.h \
+ linux/alpha/userent.h \
+ linux/arc/arch_regs.c \
+ linux/arc/arch_regs.h \
+ linux/arc/arch_rt_sigframe.c \
+ linux/arc/get_error.c \
+ linux/arc/get_scno.c \
+ linux/arc/get_syscall_args.c \
+ linux/arc/ioctls_arch0.h \
+ linux/arc/ioctls_inc0.h \
+ linux/arc/set_error.c \
+ linux/arc/set_scno.c \
+ linux/arc/syscallent.h \
+ linux/arch_regs.h \
+ linux/arch_sigreturn.c \
+ linux/arm/arch_regs.c \
+ linux/arm/arch_regs.h \
+ linux/arm/arch_rt_sigframe.c \
+ linux/arm/arch_sigreturn.c \
+ linux/arm/get_error.c \
+ linux/arm/get_scno.c \
+ linux/arm/get_syscall_args.c \
+ linux/arm/ioctls_arch0.h \
+ linux/arm/ioctls_inc0.h \
+ linux/arm/set_error.c \
+ linux/arm/set_scno.c \
+ linux/arm/syscallent.h \
+ linux/arm/userent.h \
+ linux/avr32/arch_regs.c \
+ linux/avr32/arch_regs.h \
+ linux/avr32/arch_rt_sigframe.c \
+ linux/avr32/get_error.c \
+ linux/avr32/get_scno.c \
+ linux/avr32/get_syscall_args.c \
+ linux/avr32/ioctls_arch0.h \
+ linux/avr32/ioctls_inc0.h \
+ linux/avr32/set_error.c \
+ linux/avr32/set_scno.c \
+ linux/avr32/syscallent.h \
+ linux/avr32/userent.h \
+ linux/bfin/arch_regs.c \
+ linux/bfin/arch_rt_sigframe.c \
+ linux/bfin/get_error.c \
+ linux/bfin/get_scno.c \
+ linux/bfin/get_syscall_args.c \
+ linux/bfin/get_syscall_result.c \
+ linux/bfin/ioctls_arch0.h \
+ linux/bfin/ioctls_inc0.h \
+ linux/bfin/rt_sigframe.h \
+ linux/bfin/set_error.c \
+ linux/bfin/set_scno.c \
+ linux/bfin/syscallent.h \
+ linux/bfin/userent.h \
+ linux/crisv10/arch_regs.c \
+ linux/crisv10/arch_rt_sigframe.c\
+ linux/crisv10/arch_sigreturn.c \
+ linux/crisv10/get_error.c \
+ linux/crisv10/get_scno.c \
+ linux/crisv10/get_syscall_args.c \
+ linux/crisv10/get_syscall_result.c \
+ linux/crisv10/rt_sigframe.h \
+ linux/crisv10/set_error.c \
+ linux/crisv10/set_scno.c \
+ linux/crisv10/syscallent.h \
+ linux/crisv10/userent.h \
+ linux/crisv32/arch_regs.c \
+ linux/crisv32/arch_rt_sigframe.c\
+ linux/crisv32/arch_sigreturn.c \
+ linux/crisv32/get_error.c \
+ linux/crisv32/get_scno.c \
+ linux/crisv32/get_syscall_args.c \
+ linux/crisv32/get_syscall_result.c \
+ linux/crisv32/rt_sigframe.h \
+ linux/crisv32/set_error.c \
+ linux/crisv32/set_scno.c \
+ linux/crisv32/syscallent.h \
+ linux/crisv32/userent.h \
+ linux/dummy.h \
+ linux/errnoent.h \
+ linux/getregs_old.h \
+ linux/hppa/arch_regs.c \
+ linux/hppa/arch_regs.h \
+ linux/hppa/arch_rt_sigframe.c \
+ linux/hppa/errnoent.h \
+ linux/hppa/get_error.c \
+ linux/hppa/get_scno.c \
+ linux/hppa/get_syscall_args.c \
+ linux/hppa/get_syscall_result.c \
+ linux/hppa/ioctls_arch0.h \
+ linux/hppa/ioctls_inc0.h \
+ linux/hppa/rt_sigframe.h \
+ linux/hppa/set_error.c \
+ linux/hppa/set_scno.c \
+ linux/hppa/signalent.h \
+ linux/hppa/syscallent.h \
+ linux/i386/arch_regs.c \
+ linux/i386/arch_regs.h \
+ linux/i386/arch_rt_sigframe.c \
+ linux/i386/arch_sigreturn.c \
+ linux/i386/get_error.c \
+ linux/i386/get_scno.c \
+ linux/i386/get_syscall_args.c \
+ linux/i386/ioctls_arch0.h \
+ linux/i386/ioctls_inc0.h \
+ linux/i386/rt_sigframe.h \
+ linux/i386/set_error.c \
+ linux/i386/set_scno.c \
+ linux/i386/syscallent.h \
+ linux/i386/userent.h \
+ linux/i386/userent0.h \
+ linux/ia64/arch_getrval2.c \
+ linux/ia64/arch_regs.c \
+ linux/ia64/arch_regs.h \
+ linux/ia64/arch_rt_sigframe.c \
+ linux/ia64/get_error.c \
+ linux/ia64/get_scno.c \
+ linux/ia64/get_syscall_args.c \
+ linux/ia64/ioctls_arch0.h \
+ linux/ia64/ioctls_inc0.h \
+ linux/ia64/rt_sigframe.h \
+ linux/ia64/set_error.c \
+ linux/ia64/set_scno.c \
+ linux/ia64/syscallent.h \
+ linux/ia64/userent.h \
+ linux/inet_diag.h \
+ linux/m68k/arch_regs.c \
+ linux/m68k/arch_regs.h \
+ linux/m68k/arch_rt_sigframe.c \
+ linux/m68k/arch_sigreturn.c \
+ linux/m68k/get_error.c \
+ linux/m68k/get_scno.c \
+ linux/m68k/get_syscall_args.c \
+ linux/m68k/ioctls_arch0.h \
+ linux/m68k/ioctls_inc0.h \
+ linux/m68k/rt_sigframe.h \
+ linux/m68k/set_error.c \
+ linux/m68k/set_scno.c \
+ linux/m68k/syscallent.h \
+ linux/m68k/userent.h \
+ linux/metag/arch_regs.c \
+ linux/metag/arch_regs.h \
+ linux/metag/arch_rt_sigframe.c \
+ linux/metag/get_error.c \
+ linux/metag/get_scno.c \
+ linux/metag/get_syscall_args.c \
+ linux/metag/ioctls_arch0.h \
+ linux/metag/ioctls_inc0.h \
+ linux/metag/set_error.c \
+ linux/metag/set_scno.c \
+ linux/metag/syscallent.h \
+ linux/microblaze/arch_regs.c \
+ linux/microblaze/arch_rt_sigframe.c\
+ linux/microblaze/arch_sigreturn.c \
+ linux/microblaze/get_error.c \
+ linux/microblaze/get_scno.c \
+ linux/microblaze/get_syscall_args.c \
+ linux/microblaze/get_syscall_result.c \
+ linux/microblaze/ioctls_arch0.h \
+ linux/microblaze/ioctls_inc0.h \
+ linux/microblaze/set_error.c \
+ linux/microblaze/set_scno.c \
+ linux/microblaze/syscallent.h \
+ linux/microblaze/userent.h \
+ linux/mips/arch_getrval2.c \
+ linux/mips/arch_regs.c \
+ linux/mips/arch_regs.h \
+ linux/mips/arch_rt_sigframe.c \
+ linux/mips/arch_sigreturn.c \
+ linux/mips/errnoent.h \
+ linux/mips/genstub.sh \
+ linux/mips/get_error.c \
+ linux/mips/get_scno.c \
+ linux/mips/get_syscall_args.c \
+ linux/mips/ioctls_arch0.h \
+ linux/mips/ioctls_inc0.h \
+ linux/mips/rt_sigframe.h \
+ linux/mips/set_error.c \
+ linux/mips/set_scno.c \
+ linux/mips/signalent.h \
+ linux/mips/syscallent-compat.h \
+ linux/mips/syscallent-n32.h \
+ linux/mips/syscallent-n64.h \
+ linux/mips/syscallent-o32.h \
+ linux/mips/syscallent.h \
+ linux/mips/userent.h \
+ linux/mtd-abi.h \
+ linux/netlink_diag.h \
+ linux/nios2/arch_regs.c \
+ linux/nios2/arch_regs.h \
+ linux/nios2/arch_rt_sigframe.c \
+ linux/nios2/get_error.c \
+ linux/nios2/get_scno.c \
+ linux/nios2/get_syscall_args.c \
+ linux/nios2/ioctls_arch0.h \
+ linux/nios2/ioctls_inc0.h \
+ linux/nios2/set_error.c \
+ linux/nios2/set_scno.c \
+ linux/nios2/syscallent.h \
+ linux/or1k/arch_regs.c \
+ linux/or1k/arch_regs.h \
+ linux/or1k/arch_rt_sigframe.c \
+ linux/or1k/get_error.c \
+ linux/or1k/get_scno.c \
+ linux/or1k/get_syscall_args.c \
+ linux/or1k/ioctls_arch0.h \
+ linux/or1k/ioctls_inc0.h \
+ linux/or1k/set_error.c \
+ linux/or1k/set_scno.c \
+ linux/or1k/syscallent.h \
+ linux/or1k/userent.h \
+ linux/packet_diag.h \
+ linux/personality.h \
+ linux/powerpc/arch_regs.c \
+ linux/powerpc/arch_regs.h \
+ linux/powerpc/arch_rt_sigframe.c\
+ linux/powerpc/arch_sigreturn.c \
+ linux/powerpc/errnoent.h \
+ linux/powerpc/get_error.c \
+ linux/powerpc/get_scno.c \
+ linux/powerpc/get_syscall_args.c \
+ linux/powerpc/getregs_old.c \
+ linux/powerpc/getregs_old.h \
+ linux/powerpc/ioctls_arch0.h \
+ linux/powerpc/ioctls_inc0.h \
+ linux/powerpc/set_error.c \
+ linux/powerpc/set_scno.c \
+ linux/powerpc/syscallent.h \
+ linux/powerpc/userent.h \
+ linux/powerpc64/arch_regs.c \
+ linux/powerpc64/arch_regs.h \
+ linux/powerpc64/arch_rt_sigframe.c\
+ linux/powerpc64/arch_sigreturn.c \
+ linux/powerpc64/errnoent.h \
+ linux/powerpc64/errnoent1.h \
+ linux/powerpc64/get_error.c \
+ linux/powerpc64/get_scno.c \
+ linux/powerpc64/get_syscall_args.c \
+ linux/powerpc64/getregs_old.c \
+ linux/powerpc64/getregs_old.h \
+ linux/powerpc64/ioctls_arch0.h \
+ linux/powerpc64/ioctls_arch1.h \
+ linux/powerpc64/ioctls_inc0.h \
+ linux/powerpc64/ioctls_inc1.h \
+ linux/powerpc64/rt_sigframe.h \
+ linux/powerpc64/set_error.c \
+ linux/powerpc64/set_scno.c \
+ linux/powerpc64/signalent1.h \
+ linux/powerpc64/syscallent.h \
+ linux/powerpc64/syscallent1.h \
+ linux/powerpc64/userent.h \
+ linux/ptp_clock.h \
+ linux/riscv/arch_regs.c \
+ linux/riscv/arch_regs.h \
+ linux/riscv/arch_rt_sigframe.c \
+ linux/riscv/errnoent1.h \
+ linux/riscv/get_error.c \
+ linux/riscv/get_scno.c \
+ linux/riscv/get_syscall_args.c \
+ linux/riscv/ioctls_arch0.h \
+ linux/riscv/ioctls_arch1.h \
+ linux/riscv/ioctls_inc0.h \
+ linux/riscv/ioctls_inc1.h \
+ linux/riscv/set_error.c \
+ linux/riscv/set_scno.c \
+ linux/riscv/signalent1.h \
+ linux/riscv/syscallent.h \
+ linux/riscv/syscallent1.h \
+ linux/rt_sigframe.h \
+ linux/s390/arch_regs.c \
+ linux/s390/arch_regs.h \
+ linux/s390/arch_rt_sigframe.c \
+ linux/s390/arch_sigreturn.c \
+ linux/s390/get_error.c \
+ linux/s390/get_scno.c \
+ linux/s390/get_syscall_args.c \
+ linux/s390/ioctls_arch0.h \
+ linux/s390/ioctls_inc0.h \
+ linux/s390/rt_sigframe.h \
+ linux/s390/set_error.c \
+ linux/s390/set_scno.c \
+ linux/s390/syscallent.h \
+ linux/s390/userent.h \
+ linux/s390/userent0.h \
+ linux/s390/userent1.h \
+ linux/s390x/arch_regs.c \
+ linux/s390x/arch_regs.h \
+ linux/s390x/arch_rt_sigframe.c \
+ linux/s390x/arch_sigreturn.c \
+ linux/s390x/get_error.c \
+ linux/s390x/get_scno.c \
+ linux/s390x/get_syscall_args.c \
+ linux/s390x/ioctls_arch0.h \
+ linux/s390x/ioctls_inc0.h \
+ linux/s390x/rt_sigframe.h \
+ linux/s390x/set_error.c \
+ linux/s390x/set_scno.c \
+ linux/s390x/syscallent.h \
+ linux/s390x/userent.h \
+ linux/sh/arch_getrval2.c \
+ linux/sh/arch_regs.c \
+ linux/sh/arch_rt_sigframe.c \
+ linux/sh/get_error.c \
+ linux/sh/get_scno.c \
+ linux/sh/get_syscall_args.c \
+ linux/sh/get_syscall_result.c \
+ linux/sh/ioctls_arch0.h \
+ linux/sh/ioctls_inc0.h \
+ linux/sh/set_error.c \
+ linux/sh/set_scno.c \
+ linux/sh/syscallent.h \
+ linux/sh/userent.h \
+ linux/sh/userent0.h \
+ linux/sh64/arch_regs.c \
+ linux/sh64/arch_regs.h \
+ linux/sh64/arch_rt_sigframe.c \
+ linux/sh64/get_error.c \
+ linux/sh64/get_scno.c \
+ linux/sh64/get_syscall_args.c \
+ linux/sh64/get_syscall_result.c \
+ linux/sh64/ioctls_arch0.h \
+ linux/sh64/ioctls_inc0.h \
+ linux/sh64/rt_sigframe.h \
+ linux/sh64/set_error.c \
+ linux/sh64/set_scno.c \
+ linux/sh64/syscallent.h \
+ linux/sh64/userent.h \
+ linux/signalent.h \
+ linux/smc_diag.h \
+ linux/sock_diag.h \
+ linux/sparc/arch_getrval2.c \
+ linux/sparc/arch_regs.c \
+ linux/sparc/arch_regs.h \
+ linux/sparc/arch_rt_sigframe.c \
+ linux/sparc/arch_sigreturn.c \
+ linux/sparc/errnoent.h \
+ linux/sparc/gen.pl \
+ linux/sparc/get_error.c \
+ linux/sparc/get_scno.c \
+ linux/sparc/get_syscall_args.c \
+ linux/sparc/ioctls_arch0.h \
+ linux/sparc/ioctls_inc0.h \
+ linux/sparc/rt_sigframe.h \
+ linux/sparc/set_error.c \
+ linux/sparc/set_scno.c \
+ linux/sparc/signalent.h \
+ linux/sparc/syscallent.h \
+ linux/sparc/userent.h \
+ linux/sparc64/arch_getrval2.c \
+ linux/sparc64/arch_regs.c \
+ linux/sparc64/arch_regs.h \
+ linux/sparc64/arch_rt_sigframe.c\
+ linux/sparc64/arch_sigreturn.c \
+ linux/sparc64/errnoent.h \
+ linux/sparc64/errnoent1.h \
+ linux/sparc64/get_error.c \
+ linux/sparc64/get_scno.c \
+ linux/sparc64/get_syscall_args.c\
+ linux/sparc64/ioctls_arch0.h \
+ linux/sparc64/ioctls_arch1.h \
+ linux/sparc64/ioctls_inc0.h \
+ linux/sparc64/ioctls_inc1.h \
+ linux/sparc64/rt_sigframe.h \
+ linux/sparc64/set_error.c \
+ linux/sparc64/set_scno.c \
+ linux/sparc64/signalent.h \
+ linux/sparc64/signalent1.h \
+ linux/sparc64/syscallent.h \
+ linux/sparc64/syscallent1.h \
+ linux/sparc64/userent.h \
+ linux/subcall.h \
+ linux/syscall.h \
+ linux/tile/arch_regs.c \
+ linux/tile/arch_regs.h \
+ linux/tile/arch_rt_sigframe.c \
+ linux/tile/arch_sigreturn.c \
+ linux/tile/errnoent1.h \
+ linux/tile/get_error.c \
+ linux/tile/get_scno.c \
+ linux/tile/get_syscall_args.c \
+ linux/tile/ioctls_arch0.h \
+ linux/tile/ioctls_arch1.h \
+ linux/tile/ioctls_inc0.h \
+ linux/tile/ioctls_inc1.h \
+ linux/tile/rt_sigframe.h \
+ linux/tile/set_error.c \
+ linux/tile/set_scno.c \
+ linux/tile/signalent1.h \
+ linux/tile/syscallent.h \
+ linux/tile/syscallent1.h \
+ linux/tile/userent.h \
+ linux/ubi-user.h \
+ linux/unix_diag.h \
+ linux/userent.h \
+ linux/userent0.h \
+ linux/x32/arch_regs.c \
+ linux/x32/arch_regs.h \
+ linux/x32/arch_rt_sigframe.c \
+ linux/x32/arch_sigreturn.c \
+ linux/x32/errnoent1.h \
+ linux/x32/get_error.c \
+ linux/x32/get_scno.c \
+ linux/x32/get_syscall_args.c \
+ linux/x32/ioctls_arch0.h \
+ linux/x32/ioctls_arch1.h \
+ linux/x32/ioctls_inc0.h \
+ linux/x32/ioctls_inc1.h \
+ linux/x32/rt_sigframe.h \
+ linux/x32/set_error.c \
+ linux/x32/set_scno.c \
+ linux/x32/signalent1.h \
+ linux/x32/syscallent.h \
+ linux/x32/syscallent1.h \
+ linux/x32/userent.h \
+ linux/x86_64/arch_regs.c \
+ linux/x86_64/arch_regs.h \
+ linux/x86_64/arch_rt_sigframe.c \
+ linux/x86_64/arch_sigreturn.c \
+ linux/x86_64/errnoent1.h \
+ linux/x86_64/errnoent2.h \
+ linux/x86_64/gentab.pl \
+ linux/x86_64/get_error.c \
+ linux/x86_64/get_scno.c \
+ linux/x86_64/get_syscall_args.c \
+ linux/x86_64/getregs_old.c \
+ linux/x86_64/getregs_old.h \
+ linux/x86_64/ioctls_arch0.h \
+ linux/x86_64/ioctls_arch1.h \
+ linux/x86_64/ioctls_arch2.h \
+ linux/x86_64/ioctls_inc0.h \
+ linux/x86_64/ioctls_inc1.h \
+ linux/x86_64/ioctls_inc2.h \
+ linux/x86_64/rt_sigframe.h \
+ linux/x86_64/set_error.c \
+ linux/x86_64/set_scno.c \
+ linux/x86_64/signalent1.h \
+ linux/x86_64/signalent2.h \
+ linux/x86_64/syscallent.h \
+ linux/x86_64/syscallent1.h \
+ linux/x86_64/syscallent2.h \
+ linux/x86_64/userent.h \
+ linux/xtensa/arch_regs.c \
+ linux/xtensa/arch_rt_sigframe.c \
+ linux/xtensa/get_error.c \
+ linux/xtensa/get_scno.c \
+ linux/xtensa/get_syscall_args.c \
+ linux/xtensa/get_syscall_result.c \
+ linux/xtensa/ioctls_arch0.h \
+ linux/xtensa/ioctls_inc0.h \
+ linux/xtensa/set_error.c \
+ linux/xtensa/set_scno.c \
+ linux/xtensa/syscallent.h \
+ linux/xtensa/userent.h \
+ mpers.awk \
+ mpers.sh \
+ mpers_test.sh \
+ mpers_xlat.h \
+ scno.head \
+ strace-graph \
+ strace-log-merge \
+ strace.spec \
+ $(XLAT_INPUT_FILES) \
+ $(XLAT_HEADER_FILES) \
+ xlat/gen.sh \
+ xlate.el
+
+.PHONY: check-valgrind-local
+check-valgrind-local:
+
+.PHONY: srpm
+srpm: dist-xz
+ rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.xz
+
+$(srcdir)/.version:
+ $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
+
+strace_SOURCES_c = \
+ $(filter %.c,$(strace_SOURCES)) $(filter %.c,$(libstrace_a_SOURCES))
+
+sys_func.h: $(patsubst %,$(srcdir)/%,$(strace_SOURCES_c))
+ for f in $^; do \
+ sed -n 's/^SYS_FUNC(.*/extern &;/p' $$f; \
+ done | sort -u > $@
+
+syscallent_names = subcall.h syscallent.h syscallent1.h \
+ syscallent-n32.h syscallent-n64.h syscallent-o32.h
+syscallent_patterns = $(patsubst %,\%/%,$(syscallent_names))
+syscallent_files = $(filter $(syscallent_patterns),$(EXTRA_DIST))
+
+sen.h: $(patsubst %,$(srcdir)/%,$(syscallent_files))
+ for f in $^; do cat -- $$f; done | \
+ $(srcdir)/generate_sen.sh > $@
+
+dist-hook:
+ $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
+ ${AM_V_GEN}echo $(COPYRIGHT_YEAR) > $(distdir)/.year
+
+today = $(shell date +%Y-%m-%d)
+version_regexp = $(subst .,\.,$(VERSION))
+news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))'
+
+news-check: NEWS
+ $(AM_V_GEN)if head -1 $< | \
+ grep -x $(news_check_regexp) >/dev/null; then \
+ :; \
+ else \
+ echo >&2 '$<: check failed'; \
+ exit 1; \
+ fi
+
+ioctlsort_CC = $(CC_FOR_BUILD)
+ioctlsort_DEFS = $(DEFS)
+ioctlsort_INCLUDES = $(DEFAULT_INCLUDES) $(INCLUDES)
+ioctlsort_CPPFLAGS = $(AM_CPPFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD)
+ioctlsort_CFLAGS = $(AM_CFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
+ioctlsort_LDFLAGS = $(AM_LDFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD)
+
+ioctls_inc_h = $(wildcard $(srcdir)/$(OS)/$(ARCH)/ioctls_inc*.h)
+ioctlent_h = $(patsubst $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%,ioctlent%,$(ioctls_inc_h))
+ioctl_redefs_h = $(filter-out ioctl_redefs0.h,$(subst ioctlent,ioctl_redefs,$(ioctlent_h)))
+
+ioctl_redefs%.h: ioctlent%.h ioctlent0.h
+ sort $< > $<-t
+ sort ioctlent0.h | comm -23 $<-t - | \
+ sed -r -n 's/^\{ "([^"]+)", (0x[[:xdigit:]]+) \},$$/#ifdef \1\n# undef \1\n# define \1 \2\n#endif/p' \
+ > $@-t
+ rm -f $<-t
+ mv $@-t $@
+
+ioctlent%.h: ioctlsort%
+ ./$< > $@
+
+# Need to pick up <linux/ioctl.h> definitions *for host* while compiling
+# ioctlsort *for build*, hence this magic.
+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c
+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@
+
+ioctl_iocdef.h: ioctl_iocdef.i
+ sed -n 's/^DEFINE HOST/#define /p' $< > $@
+
+ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o
+ $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@
+
+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c
+ $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c
+
+ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h
+ cat $^ > $@
+
+BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) \
+ native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version
+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
+ ioctl_iocdef.h ioctl_iocdef.i \
+ native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h
+DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h
+
+include scno.am
+
+$(strace_OBJECTS): scno.h
+
+# defines mpers_source_files
+include mpers.am
+srcdir_mpers_source_files = $(patsubst %,$(srcdir)/%,$(mpers_source_files))
+mpers_preproc_files = $(mpers_source_files:.c=.c.mpers.i)
+
+mpers_NAME =
+mpers_PREFIX = $(mpers_NAME)_
+mpers_DEFS = $(DEFS)
+mpers_INCLUDES = $(DEFAULT_INCLUDES) $(INCLUDES)
+mpers_CPPFLAGS = $(strace_CPPFLAGS) $(CPPFLAGS)
+mpers_sh_opts = $(mpers_DEFS) $(mpers_INCLUDES) $(mpers_CPPFLAGS)
+libmpers_CPPFLAGS = $(strace_CPPFLAGS) -DIN_MPERS
+libmpers_CFLAGS = $(strace_CFLAGS)
+
+# mpers targets
+
+mpers-m%.stamp: $(srcdir_mpers_source_files) | printers.h
+ for f in $^; do \
+ CC="$(CC)" CFLAGS="$(mpers_sh_opts) -DMPERS_IS_$(mpers_NAME)" \
+ CPP="$(CPP)" CPPFLAGS="$(mpers_sh_opts) -DIN_MPERS -DMPERS_IS_$(mpers_NAME)" \
+ $(srcdir)/mpers.sh -$(mpers_NAME) $$f || exit; \
+ done
+ > $@
+
+m%_type_defs.h: $(srcdir_mpers_source_files)
+ for f in $^; do \
+ sed -r -n 's/^#[[:space:]]*include DEF_MPERS_TYPE\(([^)]+)\)/#ifdef MPERS_$(mpers_PREFIX)\1\n# define \1 MPERS_$(mpers_PREFIX)\1\n#endif/p' $$f || exit; \
+ done > $@-t
+ echo '#undef MPERS_PRINTER_NAME' >> $@-t
+ echo '#define MPERS_PRINTER_NAME(printer_name) printer_name' >> $@-t
+ echo '#include "$(mpers_PREFIX)printer_decls.h"' >> $@-t
+ echo '#include MPERS_$(mpers_PREFIX)IOCTL_MACROS' >> $@-t
+ mv $@-t $@
+
+m%_funcs.h: $(srcdir_mpers_source_files)
+ for f in $^; do \
+ sed -r -n 's/^SYS_FUNC\(([^)]+)\)/#undef sys_\1\n#define sys_\1 $(mpers_PREFIX)sys_\1/p' $$f || exit; \
+ done > $@-t && \
+ echo '#include "sys_func.h"' >> $@-t
+ mv $@-t $@
+
+# printers
+
+%.c.mpers.i: $(srcdir)/%.c
+ $(CPP) -P $(mpers_sh_opts) -DIN_MPERS_BOOTSTRAP $< -o $@
+
+mpers_printer_decl_pattern = ^MPERS_PRINTER_DECL\(([^,)]+),[[:space:]]*([^,)]+),[[:space:]]*([^)]+)\)$$
+
+printers.h: $(mpers_preproc_files)
+ echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
+ echo 'typedef struct {' >> $@-t
+ for f in $^; do \
+ sed -r -n 's/$(mpers_printer_decl_pattern)/ \1 (*\2)(\3);\n#define \2 MPERS_PRINTER_NAME(\2)\n/p' $$f \
+ || exit; \
+ done >> $@-t
+ echo '} struct_printers;' >> $@-t
+ echo 'extern const struct_printers *printers;' >> $@-t
+ echo '#define MPERS_PRINTER_NAME(printer_name) printers->printer_name' >> $@-t
+ mv $@-t $@
+
+%_printer_decls.h: $(mpers_preproc_files)
+ echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
+ for f in $^; do \
+ sed -r -n 's/$(mpers_printer_decl_pattern)/extern \1 $(mpers_PREFIX)\2(\3);/p' $$f \
+ || exit; \
+ done >> $@-t
+ mv $@-t $@
+
+%_printer_defs.h: $(mpers_preproc_files)
+ echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
+ for f in $^; do \
+ sed -r -n 's/$(mpers_printer_decl_pattern)/.\2 = $(mpers_PREFIX)\2,/p' $$f \
+ || exit; \
+ done >> $@-t
+ mv $@-t $@
+
+native_printer_decls.h native_printer_defs.h: mpers_PREFIX =
+
+if HAVE_M32_MPERS
+
+strace_LDADD += libmpers-m32.a
+noinst_LIBRARIES += libmpers-m32.a
+libmpers_m32_a_SOURCES = $(mpers_source_files)
+libmpers_m32_a_CPPFLAGS = $(libmpers_CPPFLAGS) -DMPERS_IS_m32 -I$(builddir)/mpers-m32
+libmpers_m32_a_CFLAGS = $(libmpers_CFLAGS)
+mpers_m32_targets = mpers-m32.stamp m32_type_defs.h m32_funcs.h m32_printer_decls.h m32_printer_defs.h
+
+BUILT_SOURCES += $(mpers_m32_targets)
+CLEANFILES += $(mpers_m32_targets)
+
+$(mpers_m32_targets): mpers_NAME = m32
+
+endif # HAVE_M32_MPERS
+
+if HAVE_MX32_MPERS
+
+strace_LDADD += libmpers-mx32.a
+noinst_LIBRARIES += libmpers-mx32.a
+libmpers_mx32_a_SOURCES = $(mpers_source_files)
+libmpers_mx32_a_CPPFLAGS = $(libmpers_CPPFLAGS) -DMPERS_IS_mx32 -I$(builddir)/mpers-mx32
+libmpers_mx32_a_CFLAGS = $(libmpers_CFLAGS)
+mpers_mx32_targets = mpers-mx32.stamp mx32_type_defs.h mx32_funcs.h mx32_printer_decls.h mx32_printer_defs.h
+
+BUILT_SOURCES += $(mpers_mx32_targets)
+CLEANFILES += $(mpers_mx32_targets)
+
+$(mpers_mx32_targets): mpers_NAME = mx32
+
+endif # HAVE_MX32_MPERS
+
+clean-local:
+ -rm -rf mpers-m32 mpers-mx32
+
+if MAINTAINER_MODE
+
+gen_changelog_start_date = 2009-07-08 20:00
+$(srcdir)/ChangeLog: $(srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
+ $(srcdir)/.version
+ @rm -f $@.new
+ (cd $(srcdir); \
+ ./gitlog-to-changelog --append-dot \
+ --since='$(gen_changelog_start_date)'; \
+ echo; echo; echo 'See ChangeLog-CVS for older changes.' \
+ ) > $@.new
+ chmod 444 $@.new
+ mv -f $@.new $@
+
+$(srcdir)/CREDITS: $(srcdir)/CREDITS.in $(srcdir)/.mailmap \
+ $(srcdir)/Makefile.in $(srcdir)/.version
+ $(AM_V_GEN) \
+ ( \
+ cd $(srcdir); \
+ sed '/^##/,$$d' CREDITS.in; \
+ { sed -n '1,/^##>/d; s/ */\t/; s/^./&/p' CREDITS.in; \
+ git log --pretty=format:'%aN %aE'; \
+ } | LC_ALL=C sort -u \
+ | awk -F'\t' '{printf("\t%s <%s>\n",$$1,$$2)}'; \
+ ) > $@-t && mv $@-t $@
+
+export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
+
+endif
diff --git a/Makefile.in b/Makefile.in
index ee3dbe30..ab67ad03 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -291,24 +291,26 @@ PROGRAMS = $(bin_PROGRAMS)
am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.c bjm.c \
block.c bpf.c btrfs.c cacheflush.c capability.c caps0.h \
caps1.h chdir.c chmod.c clone.c copy_file_range.c count.c \
- defs.h desc.c dirent.c dirent64.c dm.c empty.h epoll.c evdev.c \
- eventfd.c execve.c fadvise.c fallocate.c fanotify.c fchownat.c \
- fcntl.c fetch_seccomp_fprog.c fetch_struct_flock.c \
- fetch_struct_mmsghdr.c fetch_struct_msghdr.c \
- fetch_struct_stat.c fetch_struct_stat64.c \
- fetch_struct_statfs.c file_handle.c file_ioctl.c fs_x_ioctl.c \
- flock.c flock.h futex.c gcc_compat.h get_robust_list.c \
- getcpu.c getcwd.c getrandom.c hdio.c hostname.c inotify.c io.c \
- ioctl.c ioperm.c iopl.c ioprio.c ipc_defs.h ipc_msg.c \
- ipc_msgctl.c ipc_sem.c ipc_shm.c ipc_shmctl.c kcmp.c \
- kernel_types.h kexec.c keyctl.c ldt.c link.c linux/asm_stat.h \
- linux/x32/asm_stat.h linux/x86_64/asm_stat.h lookup_dcookie.c \
- loop.c lseek.c mem.c membarrier.c memfd_create.c mknod.c \
- mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
- native_defs.h net.c netlink.c nsfs.c nsfs.h nsig.h numa.c \
- oldstat.c open.c or1k_atomic.c pathtrace.c perf.c \
- perf_event_struct.h personality.c pkeys.c poll.c prctl.c \
- print_dev_t.c print_mq_attr.c print_msgbuf.c \
+ defs.h desc.c dirent.c dirent64.c dm.c dyxlat.c empty.h \
+ epoll.c evdev.c eventfd.c execve.c fadvise.c fallocate.c \
+ fanotify.c fchownat.c fcntl.c fetch_seccomp_fprog.c \
+ fetch_struct_flock.c fetch_struct_mmsghdr.c \
+ fetch_struct_msghdr.c fetch_struct_stat.c \
+ fetch_struct_stat64.c fetch_struct_statfs.c file_handle.c \
+ file_ioctl.c fs_x_ioctl.c flock.c flock.h futex.c gcc_compat.h \
+ get_robust_list.c getcpu.c getcwd.c getrandom.c hdio.c \
+ hostname.c inotify.c io.c ioctl.c ioperm.c iopl.c ioprio.c \
+ ipc_defs.h ipc_msg.c ipc_msgctl.c ipc_sem.c ipc_shm.c \
+ ipc_shmctl.c kcmp.c kernel_types.h kexec.c keyctl.c ldt.c \
+ link.c linux/asm_stat.h linux/x32/asm_stat.h \
+ linux/x86_64/asm_stat.h lookup_dcookie.c loop.c lseek.c \
+ macros.h mem.c membarrier.c memfd_create.c mknod.c mmsghdr.c \
+ mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
+ native_defs.h net.c netlink.c netlink.h netlink_sock_diag.c \
+ nlattr.c nlattr.h nsfs.c nsfs.h nsig.h numa.c oldstat.c open.c \
+ or1k_atomic.c pathtrace.c perf.c perf_event_struct.h \
+ personality.c pkeys.c poll.c prctl.c print_dev_t.c \
+ print_fields.h print_mq_attr.c print_msgbuf.c \
print_sg_req_info.c print_sigevent.c print_statfs.c \
print_struct_stat.c print_time.c print_timespec.c \
print_timeval.c print_timex.c printmode.c printrusage.c \
@@ -322,8 +324,8 @@ am__strace_SOURCES_DIST = access.c affinity.c aio.c alpha.c bjm.c \
statx.h strace.c swapon.c syscall.c sysctl.c sysent.h \
sysinfo.c syslog.c sysmips.c term.c time.c times.c truncate.c \
ubi.c uid.c uid16.c umask.c umount.c uname.c userfaultfd.c \
- ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.h \
- xmalloc.c unwind.c
+ ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.c \
+ xlat.h xmalloc.c unwind.c
@USE_LIBUNWIND_TRUE@am__objects_3 = strace-unwind.$(OBJEXT)
am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-aio.$(OBJEXT) strace-alpha.$(OBJEXT) \
@@ -334,12 +336,12 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-clone.$(OBJEXT) strace-copy_file_range.$(OBJEXT) \
strace-count.$(OBJEXT) strace-desc.$(OBJEXT) \
strace-dirent.$(OBJEXT) strace-dirent64.$(OBJEXT) \
- strace-dm.$(OBJEXT) strace-epoll.$(OBJEXT) \
- strace-evdev.$(OBJEXT) strace-eventfd.$(OBJEXT) \
- strace-execve.$(OBJEXT) strace-fadvise.$(OBJEXT) \
- strace-fallocate.$(OBJEXT) strace-fanotify.$(OBJEXT) \
- strace-fchownat.$(OBJEXT) strace-fcntl.$(OBJEXT) \
- strace-fetch_seccomp_fprog.$(OBJEXT) \
+ strace-dm.$(OBJEXT) strace-dyxlat.$(OBJEXT) \
+ strace-epoll.$(OBJEXT) strace-evdev.$(OBJEXT) \
+ strace-eventfd.$(OBJEXT) strace-execve.$(OBJEXT) \
+ strace-fadvise.$(OBJEXT) strace-fallocate.$(OBJEXT) \
+ strace-fanotify.$(OBJEXT) strace-fchownat.$(OBJEXT) \
+ strace-fcntl.$(OBJEXT) strace-fetch_seccomp_fprog.$(OBJEXT) \
strace-fetch_struct_flock.$(OBJEXT) \
strace-fetch_struct_mmsghdr.$(OBJEXT) \
strace-fetch_struct_msghdr.$(OBJEXT) \
@@ -366,7 +368,8 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-mmsghdr.$(OBJEXT) strace-mount.$(OBJEXT) \
strace-mq.$(OBJEXT) strace-msghdr.$(OBJEXT) \
strace-mtd.$(OBJEXT) strace-net.$(OBJEXT) \
- strace-netlink.$(OBJEXT) strace-nsfs.$(OBJEXT) \
+ strace-netlink.$(OBJEXT) strace-netlink_sock_diag.$(OBJEXT) \
+ strace-nlattr.$(OBJEXT) strace-nsfs.$(OBJEXT) \
strace-numa.$(OBJEXT) strace-oldstat.$(OBJEXT) \
strace-open.$(OBJEXT) strace-or1k_atomic.$(OBJEXT) \
strace-pathtrace.$(OBJEXT) strace-perf.$(OBJEXT) \
@@ -407,8 +410,8 @@ am_strace_OBJECTS = strace-access.$(OBJEXT) strace-affinity.$(OBJEXT) \
strace-ustat.$(OBJEXT) strace-util.$(OBJEXT) \
strace-utime.$(OBJEXT) strace-utimes.$(OBJEXT) \
strace-v4l2.$(OBJEXT) strace-wait.$(OBJEXT) \
- strace-xattr.$(OBJEXT) strace-xmalloc.$(OBJEXT) \
- $(am__objects_3)
+ strace-xattr.$(OBJEXT) strace-xlat.$(OBJEXT) \
+ strace-xmalloc.$(OBJEXT) $(am__objects_3)
strace_OBJECTS = $(am_strace_OBJECTS)
am__DEPENDENCIES_1 =
@USE_LIBUNWIND_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
@@ -778,7 +781,9 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
xlat/hw_breakpoint_len.in xlat/hw_breakpoint_type.in \
xlat/icmpfilterflags.in xlat/if_dqblk_valid.in \
xlat/if_dqinfo_flags.in xlat/if_dqinfo_valid.in \
- xlat/iffflags.in xlat/inet_protocols.in xlat/inotify_flags.in \
+ xlat/iffflags.in xlat/inet_diag_attrs.in \
+ xlat/inet_diag_extended_flags.in xlat/inet_diag_req_attrs.in \
+ xlat/inet_protocols.in xlat/inotify_flags.in \
xlat/inotify_init_flags.in xlat/ioctl_dirs.in \
xlat/ioprio_class.in xlat/ioprio_who.in xlat/ip_cmsg_types.in \
xlat/ipc_msg_flags.in xlat/ipccalls.in xlat/itimer_which.in \
@@ -798,13 +803,20 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
xlat/mtd_file_mode_options.in xlat/mtd_flags_options.in \
xlat/mtd_mode_options.in xlat/mtd_nandecc_options.in \
xlat/mtd_otp_options.in xlat/mtd_type_options.in \
- xlat/name_to_handle_at_flags.in xlat/netlink_flags.in \
- xlat/netlink_protocols.in xlat/netlink_types.in \
- xlat/notifyflags.in xlat/nt_descriptor_types.in \
- xlat/open_access_modes.in xlat/open_mode_flags.in \
- xlat/packet_mreq_type.in xlat/perf_attr_size.in \
- xlat/perf_branch_sample_type.in xlat/perf_event_open_flags.in \
- xlat/perf_event_read_format.in \
+ xlat/name_to_handle_at_flags.in xlat/netlink_diag_attrs.in \
+ xlat/netlink_diag_show.in xlat/netlink_flags.in \
+ xlat/netlink_get_flags.in xlat/netlink_new_flags.in \
+ xlat/netlink_protocols.in xlat/netlink_socket_flags.in \
+ xlat/netlink_states.in xlat/netlink_types.in \
+ xlat/nl_audit_types.in xlat/nl_netfilter_msg_types.in \
+ xlat/nl_netfilter_subsys_ids.in xlat/nl_route_types.in \
+ xlat/nl_selinux_types.in xlat/nl_sock_diag_types.in \
+ xlat/nl_xfrm_types.in xlat/notifyflags.in \
+ xlat/nt_descriptor_types.in xlat/open_access_modes.in \
+ xlat/open_mode_flags.in xlat/packet_diag_attrs.in \
+ xlat/packet_diag_show.in xlat/packet_mreq_type.in \
+ xlat/perf_attr_size.in xlat/perf_branch_sample_type.in \
+ xlat/perf_event_open_flags.in xlat/perf_event_read_format.in \
xlat/perf_event_sample_format.in xlat/perf_hw_cache_id.in \
xlat/perf_hw_cache_op_id.in xlat/perf_hw_cache_op_result_id.in \
xlat/perf_hw_id.in xlat/perf_sw_ids.in xlat/perf_type_id.in \
@@ -837,7 +849,8 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
xlat/sigpoll_codes.in xlat/sigprocmaskcmds.in \
xlat/sigprof_codes.in xlat/sigsegv_codes.in \
xlat/sigsys_codes.in xlat/sigtrap_codes.in \
- xlat/sock_type_flags.in xlat/socketcalls.in \
+ xlat/smc_diag_attrs.in xlat/smc_diag_extended_flags.in \
+ xlat/smc_states.in xlat/sock_type_flags.in xlat/socketcalls.in \
xlat/socketlayers.in xlat/sockipoptions.in \
xlat/sockipv6options.in xlat/sockipxoptions.in \
xlat/sockoptions.in xlat/sockpacketoptions.in \
@@ -852,13 +865,14 @@ XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in \
xlat/sysctl_net_ipv6_route.in xlat/sysctl_net_unix.in \
xlat/sysctl_root.in xlat/sysctl_vm.in \
xlat/syslog_action_type.in xlat/sysmips_operations.in \
- xlat/tcflsh_options.in xlat/tcxonc_options.in \
- xlat/timerfdflags.in xlat/ubi_volume_props.in \
- xlat/ubi_volume_types.in xlat/uffd_api_flags.in \
- xlat/uffd_copy_flags.in xlat/uffd_flags.in \
- xlat/uffd_register_ioctl_flags.in \
+ xlat/tcflsh_options.in xlat/tcp_state_flags.in \
+ xlat/tcp_states.in xlat/tcxonc_options.in xlat/timerfdflags.in \
+ xlat/ubi_volume_props.in xlat/ubi_volume_types.in \
+ xlat/uffd_api_flags.in xlat/uffd_copy_flags.in \
+ xlat/uffd_flags.in xlat/uffd_register_ioctl_flags.in \
xlat/uffd_register_mode_flags.in xlat/uffd_zeropage_flags.in \
- xlat/umount_flags.in xlat/unshare_flags.in xlat/usagewho.in \
+ xlat/umount_flags.in xlat/unix_diag_attrs.in \
+ xlat/unix_diag_show.in xlat/unshare_flags.in xlat/usagewho.in \
xlat/v4l2_buf_flags.in xlat/v4l2_buf_types.in \
xlat/v4l2_capture_modes.in xlat/v4l2_colorspaces.in \
xlat/v4l2_control_classes.in xlat/v4l2_control_flags.in \
@@ -921,11 +935,12 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
xlat/hw_breakpoint_len.h xlat/hw_breakpoint_type.h \
xlat/icmpfilterflags.h xlat/if_dqblk_valid.h \
xlat/if_dqinfo_flags.h xlat/if_dqinfo_valid.h xlat/iffflags.h \
- xlat/inet_protocols.h xlat/inotify_flags.h \
- xlat/inotify_init_flags.h xlat/ioctl_dirs.h \
- xlat/ioprio_class.h xlat/ioprio_who.h xlat/ip_cmsg_types.h \
- xlat/ipc_msg_flags.h xlat/ipccalls.h xlat/itimer_which.h \
- xlat/kcmp_types.h xlat/kexec_arch_values.h \
+ xlat/inet_diag_attrs.h xlat/inet_diag_extended_flags.h \
+ xlat/inet_diag_req_attrs.h xlat/inet_protocols.h \
+ xlat/inotify_flags.h xlat/inotify_init_flags.h \
+ xlat/ioctl_dirs.h xlat/ioprio_class.h xlat/ioprio_who.h \
+ xlat/ip_cmsg_types.h xlat/ipc_msg_flags.h xlat/ipccalls.h \
+ xlat/itimer_which.h xlat/kcmp_types.h xlat/kexec_arch_values.h \
xlat/kexec_file_load_flags.h xlat/kexec_load_flags.h \
xlat/key_perms.h xlat/key_reqkeys.h xlat/key_spec.h \
xlat/keyctl_commands.h xlat/lockfcmds.h xlat/loop_cmds.h \
@@ -940,16 +955,23 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
xlat/mtd_file_mode_options.h xlat/mtd_flags_options.h \
xlat/mtd_mode_options.h xlat/mtd_nandecc_options.h \
xlat/mtd_otp_options.h xlat/mtd_type_options.h \
- xlat/name_to_handle_at_flags.h xlat/netlink_flags.h \
- xlat/netlink_protocols.h xlat/netlink_types.h \
- xlat/notifyflags.h xlat/nt_descriptor_types.h \
- xlat/open_access_modes.h xlat/open_mode_flags.h \
- xlat/packet_mreq_type.h xlat/perf_attr_size.h \
- xlat/perf_branch_sample_type.h xlat/perf_event_open_flags.h \
- xlat/perf_event_read_format.h xlat/perf_event_sample_format.h \
- xlat/perf_hw_cache_id.h xlat/perf_hw_cache_op_id.h \
- xlat/perf_hw_cache_op_result_id.h xlat/perf_hw_id.h \
- xlat/perf_sw_ids.h xlat/perf_type_id.h \
+ xlat/name_to_handle_at_flags.h xlat/netlink_diag_attrs.h \
+ xlat/netlink_diag_show.h xlat/netlink_flags.h \
+ xlat/netlink_get_flags.h xlat/netlink_new_flags.h \
+ xlat/netlink_protocols.h xlat/netlink_socket_flags.h \
+ xlat/netlink_states.h xlat/netlink_types.h \
+ xlat/nl_audit_types.h xlat/nl_netfilter_msg_types.h \
+ xlat/nl_netfilter_subsys_ids.h xlat/nl_route_types.h \
+ xlat/nl_selinux_types.h xlat/nl_sock_diag_types.h \
+ xlat/nl_xfrm_types.h xlat/notifyflags.h \
+ xlat/nt_descriptor_types.h xlat/open_access_modes.h \
+ xlat/open_mode_flags.h xlat/packet_diag_attrs.h \
+ xlat/packet_diag_show.h xlat/packet_mreq_type.h \
+ xlat/perf_attr_size.h xlat/perf_branch_sample_type.h \
+ xlat/perf_event_open_flags.h xlat/perf_event_read_format.h \
+ xlat/perf_event_sample_format.h xlat/perf_hw_cache_id.h \
+ xlat/perf_hw_cache_op_id.h xlat/perf_hw_cache_op_result_id.h \
+ xlat/perf_hw_id.h xlat/perf_sw_ids.h xlat/perf_type_id.h \
xlat/personality_flags.h xlat/personality_types.h \
xlat/pkey_access.h xlat/policies.h xlat/pollflags.h \
xlat/pr_cap_ambient.h xlat/pr_dumpable.h xlat/pr_fp_mode.h \
@@ -975,27 +997,30 @@ XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h \
xlat/sigfpe_codes.h xlat/sigill_codes.h xlat/siginfo_codes.h \
xlat/sigpoll_codes.h xlat/sigprocmaskcmds.h \
xlat/sigprof_codes.h xlat/sigsegv_codes.h xlat/sigsys_codes.h \
- xlat/sigtrap_codes.h xlat/sock_type_flags.h xlat/socketcalls.h \
- xlat/socketlayers.h xlat/sockipoptions.h \
- xlat/sockipv6options.h xlat/sockipxoptions.h \
- xlat/sockoptions.h xlat/sockpacketoptions.h \
- xlat/sockrawoptions.h xlat/socksctpoptions.h \
- xlat/socktcpoptions.h xlat/socktypes.h xlat/splice_flags.h \
- xlat/sram_alloc_flags.h xlat/statfs_flags.h xlat/statx_attrs.h \
- xlat/statx_masks.h xlat/swap_flags.h \
- xlat/sync_file_range_flags.h xlat/sysctl_kern.h \
- xlat/sysctl_net.h xlat/sysctl_net_core.h \
+ xlat/sigtrap_codes.h xlat/smc_diag_attrs.h \
+ xlat/smc_diag_extended_flags.h xlat/smc_states.h \
+ xlat/sock_type_flags.h xlat/socketcalls.h xlat/socketlayers.h \
+ xlat/sockipoptions.h xlat/sockipv6options.h \
+ xlat/sockipxoptions.h xlat/sockoptions.h \
+ xlat/sockpacketoptions.h xlat/sockrawoptions.h \
+ xlat/socksctpoptions.h xlat/socktcpoptions.h xlat/socktypes.h \
+ xlat/splice_flags.h xlat/sram_alloc_flags.h \
+ xlat/statfs_flags.h xlat/statx_attrs.h xlat/statx_masks.h \
+ xlat/swap_flags.h xlat/sync_file_range_flags.h \
+ xlat/sysctl_kern.h xlat/sysctl_net.h xlat/sysctl_net_core.h \
xlat/sysctl_net_ipv4.h xlat/sysctl_net_ipv4_conf.h \
xlat/sysctl_net_ipv4_route.h xlat/sysctl_net_ipv6.h \
xlat/sysctl_net_ipv6_route.h xlat/sysctl_net_unix.h \
xlat/sysctl_root.h xlat/sysctl_vm.h xlat/syslog_action_type.h \
xlat/sysmips_operations.h xlat/tcflsh_options.h \
- xlat/tcxonc_options.h xlat/timerfdflags.h \
- xlat/ubi_volume_props.h xlat/ubi_volume_types.h \
- xlat/uffd_api_flags.h xlat/uffd_copy_flags.h xlat/uffd_flags.h \
+ xlat/tcp_state_flags.h xlat/tcp_states.h xlat/tcxonc_options.h \
+ xlat/timerfdflags.h xlat/ubi_volume_props.h \
+ xlat/ubi_volume_types.h xlat/uffd_api_flags.h \
+ xlat/uffd_copy_flags.h xlat/uffd_flags.h \
xlat/uffd_register_ioctl_flags.h \
xlat/uffd_register_mode_flags.h xlat/uffd_zeropage_flags.h \
- xlat/umount_flags.h xlat/unshare_flags.h xlat/usagewho.h \
+ xlat/umount_flags.h xlat/unix_diag_attrs.h \
+ xlat/unix_diag_show.h xlat/unshare_flags.h xlat/usagewho.h \
xlat/v4l2_buf_flags.h xlat/v4l2_buf_types.h \
xlat/v4l2_capture_modes.h xlat/v4l2_colorspaces.h \
xlat/v4l2_control_classes.h xlat/v4l2_control_flags.h \
@@ -1036,9 +1061,9 @@ libstrace_a_SOURCES = \
strace_SOURCES = access.c affinity.c aio.c alpha.c bjm.c block.c bpf.c \
btrfs.c cacheflush.c capability.c caps0.h caps1.h chdir.c \
chmod.c clone.c copy_file_range.c count.c defs.h desc.c \
- dirent.c dirent64.c dm.c empty.h epoll.c evdev.c eventfd.c \
- execve.c fadvise.c fallocate.c fanotify.c fchownat.c fcntl.c \
- fetch_seccomp_fprog.c fetch_struct_flock.c \
+ dirent.c dirent64.c dm.c dyxlat.c empty.h epoll.c evdev.c \
+ eventfd.c execve.c fadvise.c fallocate.c fanotify.c fchownat.c \
+ fcntl.c fetch_seccomp_fprog.c fetch_struct_flock.c \
fetch_struct_mmsghdr.c fetch_struct_msghdr.c \
fetch_struct_stat.c fetch_struct_stat64.c \
fetch_struct_statfs.c file_handle.c file_ioctl.c fs_x_ioctl.c \
@@ -1048,12 +1073,13 @@ strace_SOURCES = access.c affinity.c aio.c alpha.c bjm.c block.c bpf.c \
ipc_msgctl.c ipc_sem.c ipc_shm.c ipc_shmctl.c kcmp.c \
kernel_types.h kexec.c keyctl.c ldt.c link.c linux/asm_stat.h \
linux/x32/asm_stat.h linux/x86_64/asm_stat.h lookup_dcookie.c \
- loop.c lseek.c mem.c membarrier.c memfd_create.c mknod.c \
- mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h mtd.c \
- native_defs.h net.c netlink.c nsfs.c nsfs.h nsig.h numa.c \
- oldstat.c open.c or1k_atomic.c pathtrace.c perf.c \
+ loop.c lseek.c macros.h mem.c membarrier.c memfd_create.c \
+ mknod.c mmsghdr.c mount.c mpers_type.h mq.c msghdr.c msghdr.h \
+ mtd.c native_defs.h net.c netlink.c netlink.h \
+ netlink_sock_diag.c nlattr.c nlattr.h nsfs.c nsfs.h nsig.h \
+ numa.c oldstat.c open.c or1k_atomic.c pathtrace.c perf.c \
perf_event_struct.h personality.c pkeys.c poll.c prctl.c \
- print_dev_t.c print_mq_attr.c print_msgbuf.c \
+ print_dev_t.c print_fields.h print_mq_attr.c print_msgbuf.c \
print_sg_req_info.c print_sigevent.c print_statfs.c \
print_struct_stat.c print_time.c print_timespec.c \
print_timeval.c print_timex.c printmode.c printrusage.c \
@@ -1067,8 +1093,8 @@ strace_SOURCES = access.c affinity.c aio.c alpha.c bjm.c block.c bpf.c \
statx.h strace.c swapon.c syscall.c sysctl.c sysent.h \
sysinfo.c syslog.c sysmips.c term.c time.c times.c truncate.c \
ubi.c uid.c uid16.c umask.c umount.c uname.c userfaultfd.c \
- ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.h \
- xmalloc.c $(am__append_1)
+ ustat.c util.c utime.c utimes.c v4l2.c wait.c xattr.c xlat.c \
+ xlat.h xmalloc.c $(am__append_1)
CODE_COVERAGE_BRANCH_COVERAGE = 1
CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
@@ -1351,6 +1377,7 @@ EXTRA_DIST = \
linux/or1k/set_scno.c \
linux/or1k/syscallent.h \
linux/or1k/userent.h \
+ linux/packet_diag.h \
linux/personality.h \
linux/powerpc/arch_regs.c \
linux/powerpc/arch_regs.h \
@@ -1467,6 +1494,7 @@ EXTRA_DIST = \
linux/sh64/syscallent.h \
linux/sh64/userent.h \
linux/signalent.h \
+ linux/smc_diag.h \
linux/sock_diag.h \
linux/sparc/arch_getrval2.c \
linux/sparc/arch_regs.c \
@@ -1930,6 +1958,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-dirent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-dirent64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-dm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-dyxlat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-epoll.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-evdev.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-eventfd.Po@am__quote@
@@ -1987,6 +2016,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-mtd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-net.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-netlink_sock_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-nlattr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-nsfs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-numa.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-oldstat.Po@am__quote@
@@ -2068,6 +2099,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-v4l2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-wait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-xattr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-xlat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strace-xmalloc.Po@am__quote@
.c.o:
@@ -3512,6 +3544,20 @@ strace-dm.obj: dm.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dm.obj `if test -f 'dm.c'; then $(CYGPATH_W) 'dm.c'; else $(CYGPATH_W) '$(srcdir)/dm.c'; fi`
+strace-dyxlat.o: dyxlat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dyxlat.o -MD -MP -MF $(DEPDIR)/strace-dyxlat.Tpo -c -o strace-dyxlat.o `test -f 'dyxlat.c' || echo '$(srcdir)/'`dyxlat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dyxlat.Tpo $(DEPDIR)/strace-dyxlat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dyxlat.c' object='strace-dyxlat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dyxlat.o `test -f 'dyxlat.c' || echo '$(srcdir)/'`dyxlat.c
+
+strace-dyxlat.obj: dyxlat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-dyxlat.obj -MD -MP -MF $(DEPDIR)/strace-dyxlat.Tpo -c -o strace-dyxlat.obj `if test -f 'dyxlat.c'; then $(CYGPATH_W) 'dyxlat.c'; else $(CYGPATH_W) '$(srcdir)/dyxlat.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-dyxlat.Tpo $(DEPDIR)/strace-dyxlat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dyxlat.c' object='strace-dyxlat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-dyxlat.obj `if test -f 'dyxlat.c'; then $(CYGPATH_W) 'dyxlat.c'; else $(CYGPATH_W) '$(srcdir)/dyxlat.c'; fi`
+
strace-epoll.o: epoll.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-epoll.o -MD -MP -MF $(DEPDIR)/strace-epoll.Tpo -c -o strace-epoll.o `test -f 'epoll.c' || echo '$(srcdir)/'`epoll.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-epoll.Tpo $(DEPDIR)/strace-epoll.Po
@@ -4310,6 +4356,34 @@ strace-netlink.obj: netlink.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink.obj `if test -f 'netlink.c'; then $(CYGPATH_W) 'netlink.c'; else $(CYGPATH_W) '$(srcdir)/netlink.c'; fi`
+strace-netlink_sock_diag.o: netlink_sock_diag.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_sock_diag.o -MD -MP -MF $(DEPDIR)/strace-netlink_sock_diag.Tpo -c -o strace-netlink_sock_diag.o `test -f 'netlink_sock_diag.c' || echo '$(srcdir)/'`netlink_sock_diag.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_sock_diag.Tpo $(DEPDIR)/strace-netlink_sock_diag.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='netlink_sock_diag.c' object='strace-netlink_sock_diag.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_sock_diag.o `test -f 'netlink_sock_diag.c' || echo '$(srcdir)/'`netlink_sock_diag.c
+
+strace-netlink_sock_diag.obj: netlink_sock_diag.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-netlink_sock_diag.obj -MD -MP -MF $(DEPDIR)/strace-netlink_sock_diag.Tpo -c -o strace-netlink_sock_diag.obj `if test -f 'netlink_sock_diag.c'; then $(CYGPATH_W) 'netlink_sock_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_sock_diag.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-netlink_sock_diag.Tpo $(DEPDIR)/strace-netlink_sock_diag.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='netlink_sock_diag.c' object='strace-netlink_sock_diag.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-netlink_sock_diag.obj `if test -f 'netlink_sock_diag.c'; then $(CYGPATH_W) 'netlink_sock_diag.c'; else $(CYGPATH_W) '$(srcdir)/netlink_sock_diag.c'; fi`
+
+strace-nlattr.o: nlattr.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nlattr.o -MD -MP -MF $(DEPDIR)/strace-nlattr.Tpo -c -o strace-nlattr.o `test -f 'nlattr.c' || echo '$(srcdir)/'`nlattr.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-nlattr.Tpo $(DEPDIR)/strace-nlattr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nlattr.c' object='strace-nlattr.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nlattr.o `test -f 'nlattr.c' || echo '$(srcdir)/'`nlattr.c
+
+strace-nlattr.obj: nlattr.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nlattr.obj -MD -MP -MF $(DEPDIR)/strace-nlattr.Tpo -c -o strace-nlattr.obj `if test -f 'nlattr.c'; then $(CYGPATH_W) 'nlattr.c'; else $(CYGPATH_W) '$(srcdir)/nlattr.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-nlattr.Tpo $(DEPDIR)/strace-nlattr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nlattr.c' object='strace-nlattr.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-nlattr.obj `if test -f 'nlattr.c'; then $(CYGPATH_W) 'nlattr.c'; else $(CYGPATH_W) '$(srcdir)/nlattr.c'; fi`
+
strace-nsfs.o: nsfs.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-nsfs.o -MD -MP -MF $(DEPDIR)/strace-nsfs.Tpo -c -o strace-nsfs.o `test -f 'nsfs.c' || echo '$(srcdir)/'`nsfs.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-nsfs.Tpo $(DEPDIR)/strace-nsfs.Po
@@ -5430,6 +5504,20 @@ strace-xattr.obj: xattr.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-xattr.obj `if test -f 'xattr.c'; then $(CYGPATH_W) 'xattr.c'; else $(CYGPATH_W) '$(srcdir)/xattr.c'; fi`
+strace-xlat.o: xlat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-xlat.o -MD -MP -MF $(DEPDIR)/strace-xlat.Tpo -c -o strace-xlat.o `test -f 'xlat.c' || echo '$(srcdir)/'`xlat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-xlat.Tpo $(DEPDIR)/strace-xlat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xlat.c' object='strace-xlat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-xlat.o `test -f 'xlat.c' || echo '$(srcdir)/'`xlat.c
+
+strace-xlat.obj: xlat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-xlat.obj -MD -MP -MF $(DEPDIR)/strace-xlat.Tpo -c -o strace-xlat.obj `if test -f 'xlat.c'; then $(CYGPATH_W) 'xlat.c'; else $(CYGPATH_W) '$(srcdir)/xlat.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-xlat.Tpo $(DEPDIR)/strace-xlat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xlat.c' object='strace-xlat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -c -o strace-xlat.obj `if test -f 'xlat.c'; then $(CYGPATH_W) 'xlat.c'; else $(CYGPATH_W) '$(srcdir)/xlat.c'; fi`
+
strace-xmalloc.o: xmalloc.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-xmalloc.o -MD -MP -MF $(DEPDIR)/strace-xmalloc.Tpo -c -o strace-xmalloc.o `test -f 'xmalloc.c' || echo '$(srcdir)/'`xmalloc.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/strace-xmalloc.Tpo $(DEPDIR)/strace-xmalloc.Po
@@ -6182,6 +6270,12 @@ $(top_srcdir)/xlat/if_dqinfo_valid.h: $(top_srcdir)/xlat/if_dqinfo_valid.in $(to
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/iffflags.h: $(top_srcdir)/xlat/iffflags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_diag_attrs.h: $(top_srcdir)/xlat/inet_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_diag_extended_flags.h: $(top_srcdir)/xlat/inet_diag_extended_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_diag_req_attrs.h: $(top_srcdir)/xlat/inet_diag_req_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/inet_protocols.h: $(top_srcdir)/xlat/inet_protocols.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/inotify_flags.h: $(top_srcdir)/xlat/inotify_flags.in $(top_srcdir)/xlat/gen.sh
@@ -6278,12 +6372,38 @@ $(top_srcdir)/xlat/mtd_type_options.h: $(top_srcdir)/xlat/mtd_type_options.in $(
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/name_to_handle_at_flags.h: $(top_srcdir)/xlat/name_to_handle_at_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_diag_attrs.h: $(top_srcdir)/xlat/netlink_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_diag_show.h: $(top_srcdir)/xlat/netlink_diag_show.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/netlink_flags.h: $(top_srcdir)/xlat/netlink_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_get_flags.h: $(top_srcdir)/xlat/netlink_get_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_new_flags.h: $(top_srcdir)/xlat/netlink_new_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/netlink_protocols.h: $(top_srcdir)/xlat/netlink_protocols.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_socket_flags.h: $(top_srcdir)/xlat/netlink_socket_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_states.h: $(top_srcdir)/xlat/netlink_states.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/netlink_types.h: $(top_srcdir)/xlat/netlink_types.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_audit_types.h: $(top_srcdir)/xlat/nl_audit_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_netfilter_msg_types.h: $(top_srcdir)/xlat/nl_netfilter_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_netfilter_subsys_ids.h: $(top_srcdir)/xlat/nl_netfilter_subsys_ids.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_route_types.h: $(top_srcdir)/xlat/nl_route_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_selinux_types.h: $(top_srcdir)/xlat/nl_selinux_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_sock_diag_types.h: $(top_srcdir)/xlat/nl_sock_diag_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_xfrm_types.h: $(top_srcdir)/xlat/nl_xfrm_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/notifyflags.h: $(top_srcdir)/xlat/notifyflags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/nt_descriptor_types.h: $(top_srcdir)/xlat/nt_descriptor_types.in $(top_srcdir)/xlat/gen.sh
@@ -6292,6 +6412,10 @@ $(top_srcdir)/xlat/open_access_modes.h: $(top_srcdir)/xlat/open_access_modes.in
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/open_mode_flags.h: $(top_srcdir)/xlat/open_mode_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/packet_diag_attrs.h: $(top_srcdir)/xlat/packet_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/packet_diag_show.h: $(top_srcdir)/xlat/packet_diag_show.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/packet_mreq_type.h: $(top_srcdir)/xlat/packet_mreq_type.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/perf_attr_size.h: $(top_srcdir)/xlat/perf_attr_size.in $(top_srcdir)/xlat/gen.sh
@@ -6448,6 +6572,12 @@ $(top_srcdir)/xlat/sigsys_codes.h: $(top_srcdir)/xlat/sigsys_codes.in $(top_srcd
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/sigtrap_codes.h: $(top_srcdir)/xlat/sigtrap_codes.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/smc_diag_attrs.h: $(top_srcdir)/xlat/smc_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/smc_diag_extended_flags.h: $(top_srcdir)/xlat/smc_diag_extended_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/smc_states.h: $(top_srcdir)/xlat/smc_states.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/sock_type_flags.h: $(top_srcdir)/xlat/sock_type_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/socketcalls.h: $(top_srcdir)/xlat/socketcalls.in $(top_srcdir)/xlat/gen.sh
@@ -6514,6 +6644,10 @@ $(top_srcdir)/xlat/sysmips_operations.h: $(top_srcdir)/xlat/sysmips_operations.i
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/tcflsh_options.h: $(top_srcdir)/xlat/tcflsh_options.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcp_state_flags.h: $(top_srcdir)/xlat/tcp_state_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcp_states.h: $(top_srcdir)/xlat/tcp_states.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/tcxonc_options.h: $(top_srcdir)/xlat/tcxonc_options.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/timerfdflags.h: $(top_srcdir)/xlat/timerfdflags.in $(top_srcdir)/xlat/gen.sh
@@ -6536,6 +6670,10 @@ $(top_srcdir)/xlat/uffd_zeropage_flags.h: $(top_srcdir)/xlat/uffd_zeropage_flags
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/umount_flags.h: $(top_srcdir)/xlat/umount_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/unix_diag_attrs.h: $(top_srcdir)/xlat/unix_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/unix_diag_show.h: $(top_srcdir)/xlat/unix_diag_show.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/unshare_flags.h: $(top_srcdir)/xlat/unshare_flags.in $(top_srcdir)/xlat/gen.sh
$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
$(top_srcdir)/xlat/usagewho.h: $(top_srcdir)/xlat/usagewho.in $(top_srcdir)/xlat/gen.sh
@@ -6660,8 +6798,8 @@ ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c
ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h
cat $^ > $@
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
- $(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
+syscallent.i: $(top_builddir)/config.h $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
+ $(CPP) -P $(SCNO_CPPFLAGS) -include $^ -o $@
scno.h: $(top_srcdir)/scno.head syscallent.i
echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
diff --git a/NEWS b/NEWS
index b8c88eb2..85806f95 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,35 @@
+Noteworthy changes in release 4.18 (2017-07-05)
+===============================================
+
+* Improvements
+ * Implemented decoding of SCM_TIMESTAMP* control messages.
+ * Implemented decoding of netlink NLMSG_DONE messages.
+ * Implemented decoding of netlink generic nlmsg_type and nlmsg_flags.
+ * Implemented decoding of NETLINK_AUDIT, NETLINK_NETFILTER, NETLINK_ROUTE,
+ NETLINK_SELINUX, NETLINK_SOCK_DIAG, and NETLINK_XFRM message types.
+ * Implemented decoding of NETLINK_GENERIC protocol families.
+ * Implemented basic protocol specific decoding of AF_INET, AF_INET6,
+ AF_NETLINK, AF_PACKET, AF_SMC, and AF_UNIX messages of NETLINK_SOCK_DIAG.
+ * Implemented basic decoding of netlink attributes.
+ * Implemented basic protocol specific decoding of AF_INET, AF_NETLINK,
+ AF_PACKET, AF_SMC, and AF_UNIX netlink attributes of NETLINK_SOCK_DIAG.
+ * Implemented decoding of inet_diag_msg, netlink_diag_msg, and unix_diag_msg
+ netlink attributes of NETLINK_SOCK_DIAG.
+ * Updated lists of ARPHRD_*, KEYCTL_*, NDIAG_SHOW_*, RTM_*, SCM_*, SCTP_*,
+ SO_*, V4L2_*, and prctl ARCH_* constants.
+ * Updated lists of ioctl commands from Linux 4.12.
+
+* Bug fixes
+ * In interactive mode (-I2), those signals that were blocked at startup
+ will remain blocked for the whole period of strace execution.
+ * strace no longer resets SIGCHLD handler in tracees to the default action.
+ * When traced command is terminated by a blocked signal, strace unblocks
+ that signal to ensure its own termination with the same signal.
+ * Fixed corner cases in decoding of old sigaction syscall.
+ * Fixed build with old kernel headers on mips.
+ * Fixed build on aarch64 and tile with glibc >= 2.26.
+ * Fixed build on arc and nios2.
+
Noteworthy changes in release 4.17 (2017-05-24)
===============================================
@@ -832,7 +864,7 @@ Changes in 4.4
==============
* Fix Linux/ia64 support, looks like someone renamed a few things on us
* Fix the ioctl setup for Linux, turned out it did not really work.
- Improve the ioctl extracter as well so we decode some more ones.
+ Improve the ioctl extractor as well so we decode some more ones.
Changes in 4.3.1
================
@@ -924,7 +956,7 @@ New Features in version 3.0
===========================
* non-ascii strings can be optionally printed entirely in hex
-* the output format is readable when mutiple processes are generating output
+* the output format is readable when multiple processes are generating output
* exit values are printed in an alignment column
* is is possible to suppress messages about attaching and detaching
* various tracing features can be enabled on a per syscall/signal/desc basis
diff --git a/aio.c b/aio.c
index 5565d0c7..7adb20df 100644
--- a/aio.c
+++ b/aio.c
@@ -167,9 +167,9 @@ print_iocbp(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
struct iocb cb;
if (elem_size < sizeof(kernel_ulong_t)) {
- addr = * (unsigned int *) elem_buf;
+ addr = *(unsigned int *) elem_buf;
} else {
- addr = * (kernel_ulong_t *) elem_buf;
+ addr = *(kernel_ulong_t *) elem_buf;
}
tprints("{");
diff --git a/block.c b/block.c
index 4d1a965b..c77b92ac 100644
--- a/block.c
+++ b/block.c
@@ -67,7 +67,7 @@ typedef struct blk_user_trace_setup {
#include MPERS_DEFS
#ifndef BLKPG
-# define BLKPG _IO(0x12,105)
+# define BLKPG _IO(0x12, 105)
#endif
/*
@@ -80,40 +80,40 @@ typedef struct blk_user_trace_setup {
# define BLKTRACESETUP _IOWR(0x12, 115, struct_blk_user_trace_setup)
#endif
#ifndef BLKTRACESTART
-# define BLKTRACESTART _IO(0x12,116)
+# define BLKTRACESTART _IO(0x12, 116)
#endif
#ifndef BLKTRACESTOP
-# define BLKTRACESTOP _IO(0x12,117)
+# define BLKTRACESTOP _IO(0x12, 117)
#endif
#ifndef BLKTRACETEARDOWN
-# define BLKTRACETEARDOWN _IO(0x12,118)
+# define BLKTRACETEARDOWN _IO(0x12, 118)
#endif
#ifndef BLKDISCARD
-# define BLKDISCARD _IO(0x12,119)
+# define BLKDISCARD _IO(0x12, 119)
#endif
#ifndef BLKIOMIN
-# define BLKIOMIN _IO(0x12,120)
+# define BLKIOMIN _IO(0x12, 120)
#endif
#ifndef BLKIOOPT
-# define BLKIOOPT _IO(0x12,121)
+# define BLKIOOPT _IO(0x12, 121)
#endif
#ifndef BLKALIGNOFF
-# define BLKALIGNOFF _IO(0x12,122)
+# define BLKALIGNOFF _IO(0x12, 122)
#endif
#ifndef BLKPBSZGET
-# define BLKPBSZGET _IO(0x12,123)
+# define BLKPBSZGET _IO(0x12, 123)
#endif
#ifndef BLKDISCARDZEROES
-# define BLKDISCARDZEROES _IO(0x12,124)
+# define BLKDISCARDZEROES _IO(0x12, 124)
#endif
#ifndef BLKSECDISCARD
-# define BLKSECDISCARD _IO(0x12,125)
+# define BLKSECDISCARD _IO(0x12, 125)
#endif
#ifndef BLKROTATIONAL
-# define BLKROTATIONAL _IO(0x12,126)
+# define BLKROTATIONAL _IO(0x12, 126)
#endif
#ifndef BLKZEROOUT
-# define BLKZEROOUT _IO(0x12,127)
+# define BLKZEROOUT _IO(0x12, 127)
#endif
#include "xlat/blkpg_ops.h"
diff --git a/bpf.c b/bpf.c
index 2c709e17..de909d30 100644
--- a/bpf.c
+++ b/bpf.c
@@ -182,7 +182,7 @@ bpf_prog_load(struct tcb *const tcp, const kernel_ulong_t addr,
static int
bpf_obj_manage(struct tcb *const tcp, const kernel_ulong_t addr,
- unsigned int size)
+ unsigned int size)
{
struct {
uint64_t ATTRIBUTE_ALIGNED(8) pathname;
@@ -243,14 +243,14 @@ bpf_prog_attach_detach(struct tcb *const tcp, const kernel_ulong_t addr,
static int
bpf_prog_attach(struct tcb *const tcp, const kernel_ulong_t addr,
- unsigned int size)
+ unsigned int size)
{
return bpf_prog_attach_detach(tcp, addr, size, true);
}
static int
bpf_prog_detach(struct tcb *const tcp, const kernel_ulong_t addr,
- unsigned int size)
+ unsigned int size)
{
return bpf_prog_attach_detach(tcp, addr, size, false);
}
diff --git a/btrfs.c b/btrfs.c
index 141cafa3..e730c7aa 100644
--- a/btrfs.c
+++ b/btrfs.c
@@ -367,7 +367,7 @@ btrfs_print_ino_path_container(struct tcb *tcp,
static bool
print_uint64(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
{
- tprintf("%" PRIu64, * (uint64_t *) elem_buf);
+ tprintf("%" PRIu64, *(uint64_t *) elem_buf);
return true;
}
@@ -488,7 +488,7 @@ static bool
print_objectid_callback(struct tcb *tcp, void *elem_buf,
size_t elem_size, void *data)
{
- btrfs_print_objectid(* (uint64_t *) elem_buf);
+ btrfs_print_objectid(*(uint64_t *) elem_buf);
return true;
}
@@ -679,12 +679,12 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
(uint64_t) args.start.srcdevid,
(uint64_t) args.start.cont_reading_from_srcdev_mode);
- str = (const char*) args.start.srcdev_name;
+ str = (const char *) args.start.srcdev_name;
print_quoted_string(str,
sizeof(args.start.srcdev_name),
QUOTE_0_TERMINATED);
tprints(", tgtdev_name=");
- str = (const char*) args.start.tgtdev_name;
+ str = (const char *) args.start.tgtdev_name;
print_quoted_string(str,
sizeof(args.start.tgtdev_name),
QUOTE_0_TERMINATED);
diff --git a/clone.c b/clone.c
index a1c799a6..a5f2b242 100644
--- a/clone.c
+++ b/clone.c
@@ -109,7 +109,7 @@ SYS_FUNC(clone)
tcp->u_arg[ARG_STACKSIZE]);
#endif
tprints("flags=");
- if (!printflags64(clone_flags, flags &~ CSIGNAL, NULL))
+ if (!printflags64(clone_flags, flags & ~CSIGNAL, NULL))
sep = "";
if ((flags & CSIGNAL) != 0)
tprintf("%s%s", sep, signame(flags & CSIGNAL));
diff --git a/config.h b/config.h
new file mode 100644
index 00000000..73ae7f65
--- /dev/null
+++ b/config.h
@@ -0,0 +1,1326 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define for the AArch64 architecture. */
+/* #undef AARCH64 */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define for the Alpha architecture. */
+/* #undef ALPHA */
+
+/* Define for the ARC architecture. */
+/* #undef ARC */
+
+/* Define for the ARM architecture. */
+/* #undef ARM */
+
+/* SA_RESTORER defined in <asm/signal.h> */
+/* #undef ASM_SA_RESTORER */
+
+/* SIGRTMIN defined in <asm/signal.h> */
+/* #undef ASM_SIGRTMIN */
+
+/* Define for the AVR32 architecture. */
+/* #undef AVR32 */
+
+/* Define for the Blackfin architecture. */
+/* #undef BFIN */
+
+/* Current copyright year. */
+#define COPYRIGHT_YEAR "2017"
+
+/* Define for the CRISv10 architecture. */
+/* #undef CRISV10 */
+
+/* Define for the CRISv32 architecture. */
+/* #undef CRISV32 */
+
+/* Define to 1 if you want OABI support on ARM EABI. */
+#define ENABLE_ARM_OABI 0
+
+/* Define to 1 if you have the `accept4' function. */
+#define HAVE_ACCEPT4 1
+
+/* Define to 1 if you have the <asm/cachectl.h> header file. */
+/* #undef HAVE_ASM_CACHECTL_H */
+
+/* Define to 1 if you have the <asm/sigcontext.h> header file. */
+#define HAVE_ASM_SIGCONTEXT_H 1
+
+/* Define to 1 if you have the <asm/sysmips.h> header file. */
+/* #undef HAVE_ASM_SYSMIPS_H */
+
+/* Define to 1 if you have BLKGETSIZE64. */
+#define HAVE_BLKGETSIZE64 1
+
+/* Define to 1 if you have the <bluetooth/bluetooth.h> header file. */
+/* #undef HAVE_BLUETOOTH_BLUETOOTH_H */
+
+/* Define to 1 if you have the declaration of `BTRFS_COMPRESS_LZO', and to 0
+ if you don't. */
+#define HAVE_DECL_BTRFS_COMPRESS_LZO 0
+
+/* Define to 1 if you have the declaration of `BTRFS_COMPRESS_NONE', and to 0
+ if you don't. */
+#define HAVE_DECL_BTRFS_COMPRESS_NONE 0
+
+/* Define to 1 if you have the declaration of `BTRFS_COMPRESS_ZLIB', and to 0
+ if you don't. */
+#define HAVE_DECL_BTRFS_COMPRESS_ZLIB 0
+
+/* Define to 1 if you have the declaration of `CTL_ARLAN', and to 0 if you
+ don't. */
+#define HAVE_DECL_CTL_ARLAN 1
+
+/* Define to 1 if you have the declaration of `CTL_FRV', and to 0 if you
+ don't. */
+#define HAVE_DECL_CTL_FRV 1
+
+/* Define to 1 if you have the declaration of `CTL_PM', and to 0 if you don't.
+ */
+#define HAVE_DECL_CTL_PM 1
+
+/* Define to 1 if you have the declaration of `CTL_PROC', and to 0 if you
+ don't. */
+#define HAVE_DECL_CTL_PROC 1
+
+/* Define to 1 if you have the declaration of `CTL_S390DBF', and to 0 if you
+ don't. */
+#define HAVE_DECL_CTL_S390DBF 1
+
+/* Define to 1 if you have the declaration of `CTL_SUNRPC', and to 0 if you
+ don't. */
+#define HAVE_DECL_CTL_SUNRPC 1
+
+/* Define to 1 if you have the declaration of `KERN_ACPI_VIDEO_FLAGS', and to
+ 0 if you don't. */
+#define HAVE_DECL_KERN_ACPI_VIDEO_FLAGS 1
+
+/* Define to 1 if you have the declaration of `KERN_BOOTLOADER_TYPE', and to 0
+ if you don't. */
+#define HAVE_DECL_KERN_BOOTLOADER_TYPE 1
+
+/* Define to 1 if you have the declaration of `KERN_COMPAT_LOG', and to 0 if
+ you don't. */
+#define HAVE_DECL_KERN_COMPAT_LOG 1
+
+/* Define to 1 if you have the declaration of `KERN_HZ_TIMER', and to 0 if you
+ don't. */
+#define HAVE_DECL_KERN_HZ_TIMER 1
+
+/* Define to 1 if you have the declaration of `KERN_IA64_UNALIGNED', and to 0
+ if you don't. */
+#define HAVE_DECL_KERN_IA64_UNALIGNED 1
+
+/* Define to 1 if you have the declaration of `KERN_MAX_LOCK_DEPTH', and to 0
+ if you don't. */
+#define HAVE_DECL_KERN_MAX_LOCK_DEPTH 1
+
+/* Define to 1 if you have the declaration of `KERN_NGROUPS_MAX', and to 0 if
+ you don't. */
+#define HAVE_DECL_KERN_NGROUPS_MAX 1
+
+/* Define to 1 if you have the declaration of `KERN_NMI_WATCHDOG', and to 0 if
+ you don't. */
+#define HAVE_DECL_KERN_NMI_WATCHDOG 1
+
+/* Define to 1 if you have the declaration of `KERN_PANIC_ON_NMI', and to 0 if
+ you don't. */
+#define HAVE_DECL_KERN_PANIC_ON_NMI 1
+
+/* Define to 1 if you have the declaration of `KERN_PRINTK_RATELIMIT', and to
+ 0 if you don't. */
+#define HAVE_DECL_KERN_PRINTK_RATELIMIT 1
+
+/* Define to 1 if you have the declaration of `KERN_PRINTK_RATELIMIT_BURST',
+ and to 0 if you don't. */
+#define HAVE_DECL_KERN_PRINTK_RATELIMIT_BURST 1
+
+/* Define to 1 if you have the declaration of `KERN_PTY', and to 0 if you
+ don't. */
+#define HAVE_DECL_KERN_PTY 1
+
+/* Define to 1 if you have the declaration of `KERN_RANDOMIZE', and to 0 if
+ you don't. */
+#define HAVE_DECL_KERN_RANDOMIZE 1
+
+/* Define to 1 if you have the declaration of `KERN_SETUID_DUMPABLE', and to 0
+ if you don't. */
+#define HAVE_DECL_KERN_SETUID_DUMPABLE 1
+
+/* Define to 1 if you have the declaration of `KERN_SPARC_SCONS_PWROFF', and
+ to 0 if you don't. */
+#define HAVE_DECL_KERN_SPARC_SCONS_PWROFF 1
+
+/* Define to 1 if you have the declaration of `KERN_SPIN_RETRY', and to 0 if
+ you don't. */
+#define HAVE_DECL_KERN_SPIN_RETRY 1
+
+/* Define to 1 if you have the declaration of `KERN_UNKNOWN_NMI_PANIC', and to
+ 0 if you don't. */
+#define HAVE_DECL_KERN_UNKNOWN_NMI_PANIC 1
+
+/* Define to 1 if you have the declaration of `LO_FLAGS_AUTOCLEAR', and to 0
+ if you don't. */
+#define HAVE_DECL_LO_FLAGS_AUTOCLEAR 1
+
+/* Define to 1 if you have the declaration of `LO_FLAGS_DIRECT_IO', and to 0
+ if you don't. */
+#define HAVE_DECL_LO_FLAGS_DIRECT_IO 1
+
+/* Define to 1 if you have the declaration of `LO_FLAGS_PARTSCAN', and to 0 if
+ you don't. */
+#define HAVE_DECL_LO_FLAGS_PARTSCAN 1
+
+/* Define to 1 if you have the declaration of `LO_FLAGS_READ_ONLY', and to 0
+ if you don't. */
+#define HAVE_DECL_LO_FLAGS_READ_ONLY 1
+
+/* Define to 1 if you have the declaration of `LO_FLAGS_USE_AOPS', and to 0 if
+ you don't. */
+#define HAVE_DECL_LO_FLAGS_USE_AOPS 0
+
+/* Define to 1 if you have the declaration of `NET_CIPSOV4_CACHE_BUCKET_SIZE',
+ and to 0 if you don't. */
+#define HAVE_DECL_NET_CIPSOV4_CACHE_BUCKET_SIZE 1
+
+/* Define to 1 if you have the declaration of `NET_CIPSOV4_CACHE_ENABLE', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_CIPSOV4_CACHE_ENABLE 1
+
+/* Define to 1 if you have the declaration of `NET_CIPSOV4_RBM_OPTFMT', and to
+ 0 if you don't. */
+#define HAVE_DECL_NET_CIPSOV4_RBM_OPTFMT 1
+
+/* Define to 1 if you have the declaration of `NET_CIPSOV4_RBM_STRICTVALID',
+ and to 0 if you don't. */
+#define HAVE_DECL_NET_CIPSOV4_RBM_STRICTVALID 1
+
+/* Define to 1 if you have the declaration of `NET_CORE_AEVENT_ETIME', and to
+ 0 if you don't. */
+#define HAVE_DECL_NET_CORE_AEVENT_ETIME 1
+
+/* Define to 1 if you have the declaration of `NET_CORE_AEVENT_RSEQTH', and to
+ 0 if you don't. */
+#define HAVE_DECL_NET_CORE_AEVENT_RSEQTH 1
+
+/* Define to 1 if you have the declaration of `NET_CORE_BUDGET', and to 0 if
+ you don't. */
+#define HAVE_DECL_NET_CORE_BUDGET 1
+
+/* Define to 1 if you have the declaration of `NET_CORE_DESTROY_DELAY', and to
+ 0 if you don't. */
+#define HAVE_DECL_NET_CORE_DESTROY_DELAY 0
+
+/* Define to 1 if you have the declaration of `NET_CORE_WARNINGS', and to 0 if
+ you don't. */
+#define HAVE_DECL_NET_CORE_WARNINGS 1
+
+/* Define to 1 if you have the declaration of `NET_DCCP', and to 0 if you
+ don't. */
+#define HAVE_DECL_NET_DCCP 1
+
+/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_ACCEPT', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_CONF_ARP_ACCEPT 1
+
+/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_ANNOUNCE',
+ and to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_CONF_ARP_ANNOUNCE 1
+
+/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_IGNORE', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_CONF_ARP_IGNORE 1
+
+/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_NOTIFY', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_CONF_ARP_NOTIFY 1
+
+/* Define to 1 if you have the declaration of
+ `NET_IPV4_CONF_FORCE_IGMP_VERSION', and to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_CONF_FORCE_IGMP_VERSION 1
+
+/* Define to 1 if you have the declaration of
+ `NET_IPV4_CONF_PROMOTE_SECONDARIES', and to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_CONF_PROMOTE_SECONDARIES 1
+
+/* Define to 1 if you have the declaration of
+ `NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR', and to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR 1
+
+/* Define to 1 if you have the declaration of `NET_IPV4_IGMP_MAX_MSF', and to
+ 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_IGMP_MAX_MSF 1
+
+/* Define to 1 if you have the declaration of `NET_IPV4_IPFRAG_MAX_DIST', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_IPFRAG_MAX_DIST 1
+
+/* Define to 1 if you have the declaration of
+ `NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS', and to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS 1
+
+/* Define to 1 if you have the declaration of
+ `NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS', and to 0 if you don't. */
+#define HAVE_DECL_NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS 1
+
+/* Define to 1 if you have the declaration of `NET_IPV6_MLD_MAX_MSF', and to 0
+ if you don't. */
+#define HAVE_DECL_NET_IPV6_MLD_MAX_MSF 1
+
+/* Define to 1 if you have the declaration of
+ `NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS', and to 0 if you don't. */
+#define HAVE_DECL_NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS 1
+
+/* Define to 1 if you have the declaration of `NET_IRDA', and to 0 if you
+ don't. */
+#define HAVE_DECL_NET_IRDA 1
+
+/* Define to 1 if you have the declaration of `NET_LLC', and to 0 if you
+ don't. */
+#define HAVE_DECL_NET_LLC 1
+
+/* Define to 1 if you have the declaration of `NET_NETFILTER', and to 0 if you
+ don't. */
+#define HAVE_DECL_NET_NETFILTER 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_ABC', and to 0 if you
+ don't. */
+#define HAVE_DECL_NET_TCP_ABC 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_ALLOWED_CONG_CONTROL',
+ and to 0 if you don't. */
+#define HAVE_DECL_NET_TCP_ALLOWED_CONG_CONTROL 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_AVAIL_CONG_CONTROL',
+ and to 0 if you don't. */
+#define HAVE_DECL_NET_TCP_AVAIL_CONG_CONTROL 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_BASE_MSS', and to 0 if
+ you don't. */
+#define HAVE_DECL_NET_TCP_BASE_MSS 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_BIC_BETA', and to 0 if
+ you don't. */
+#define HAVE_DECL_NET_TCP_BIC_BETA 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_CONG_CONTROL', and to 0
+ if you don't. */
+#define HAVE_DECL_NET_TCP_CONG_CONTROL 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_DEFAULT_WIN_SCALE', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_TCP_DEFAULT_WIN_SCALE 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_DMA_COPYBREAK', and to
+ 0 if you don't. */
+#define HAVE_DECL_NET_TCP_DMA_COPYBREAK 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_FRTO_RESPONSE', and to
+ 0 if you don't. */
+#define HAVE_DECL_NET_TCP_FRTO_RESPONSE 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_MAX_SSTHRESH', and to 0
+ if you don't. */
+#define HAVE_DECL_NET_TCP_MAX_SSTHRESH 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_MODERATE_RCVBUF', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_TCP_MODERATE_RCVBUF 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_MTU_PROBING', and to 0
+ if you don't. */
+#define HAVE_DECL_NET_TCP_MTU_PROBING 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_NO_METRICS_SAVE', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_TCP_NO_METRICS_SAVE 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_SLOW_START_AFTER_IDLE',
+ and to 0 if you don't. */
+#define HAVE_DECL_NET_TCP_SLOW_START_AFTER_IDLE 1
+
+/* Define to 1 if you have the declaration of `NET_TCP_TSO_WIN_DIVISOR', and
+ to 0 if you don't. */
+#define HAVE_DECL_NET_TCP_TSO_WIN_DIVISOR 1
+
+/* Define to 1 if you have the declaration of `PTRACE_PEEKUSER', and to 0 if
+ you don't. */
+#define HAVE_DECL_PTRACE_PEEKUSER 1
+
+/* Define to 1 if you have the declaration of `PTRACE_POKEUSER', and to 0 if
+ you don't. */
+#define HAVE_DECL_PTRACE_POKEUSER 1
+
+/* Define to 1 if you have the declaration of `P_ALL', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_ALL 1
+
+/* Define to 1 if you have the declaration of `P_CID', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_CID 0
+
+/* Define to 1 if you have the declaration of `P_GID', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_GID 0
+
+/* Define to 1 if you have the declaration of `P_LWPID', and to 0 if you
+ don't. */
+#define HAVE_DECL_P_LWPID 0
+
+/* Define to 1 if you have the declaration of `P_PGID', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_PGID 1
+
+/* Define to 1 if you have the declaration of `P_PID', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_PID 1
+
+/* Define to 1 if you have the declaration of `P_PPID', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_PPID 0
+
+/* Define to 1 if you have the declaration of `P_SID', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_SID 0
+
+/* Define to 1 if you have the declaration of `P_UID', and to 0 if you don't.
+ */
+#define HAVE_DECL_P_UID 0
+
+/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you
+ don't. */
+#define HAVE_DECL_SYS_ERRLIST 0
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_CAPTURE', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE 0
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_OUTPUT', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT 0
+
+/* Define to 1 if you have the declaration of
+ `V4L2_BUF_TYPE_SLICED_VBI_CAPTURE', and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE 1
+
+/* Define to 1 if you have the declaration of
+ `V4L2_BUF_TYPE_SLICED_VBI_OUTPUT', and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT 1
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VBI_CAPTURE', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VBI_CAPTURE 1
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VBI_OUTPUT', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VBI_OUTPUT 1
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VIDEO_CAPTURE',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE 1
+
+/* Define to 1 if you have the declaration of
+ `V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE', and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE 1
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VIDEO_OUTPUT',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT 1
+
+/* Define to 1 if you have the declaration of
+ `V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE', and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE 1
+
+/* Define to 1 if you have the declaration of
+ `V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY', and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY 1
+
+/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VIDEO_OVERLAY',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OVERLAY 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_470_SYSTEM_BG',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_470_SYSTEM_BG 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_470_SYSTEM_M',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_470_SYSTEM_M 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_BT878', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_BT878 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_JPEG', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_JPEG 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_REC709', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_REC709 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_SMPTE170M', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_SMPTE170M 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_SMPTE240M', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_SMPTE240M 1
+
+/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_SRGB', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_COLORSPACE_SRGB 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_BITMASK', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_BITMASK 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_BOOLEAN', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_BOOLEAN 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_BUTTON', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_BUTTON 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_CTRL_CLASS', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_CTRL_CLASS 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_INTEGER', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_INTEGER 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_INTEGER64', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_INTEGER64 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_INTEGER_MENU',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_INTEGER_MENU 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_MENU', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_MENU 1
+
+/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_STRING', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_CTRL_TYPE_STRING 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_ALTERNATE', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_FIELD_ALTERNATE 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_ANY', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_FIELD_ANY 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_BOTTOM', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_FIELD_BOTTOM 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_INTERLACED', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_FIELD_INTERLACED 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_INTERLACED_BT', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_FIELD_INTERLACED_BT 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_INTERLACED_TB', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_FIELD_INTERLACED_TB 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_NONE', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_FIELD_NONE 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_SEQ_BT', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_FIELD_SEQ_BT 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_SEQ_TB', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_FIELD_SEQ_TB 1
+
+/* Define to 1 if you have the declaration of `V4L2_FIELD_TOP', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_FIELD_TOP 1
+
+/* Define to 1 if you have the declaration of `V4L2_FRMIVAL_TYPE_CONTINUOUS',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_FRMIVAL_TYPE_CONTINUOUS 1
+
+/* Define to 1 if you have the declaration of `V4L2_FRMIVAL_TYPE_DISCRETE',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_FRMIVAL_TYPE_DISCRETE 1
+
+/* Define to 1 if you have the declaration of `V4L2_FRMIVAL_TYPE_STEPWISE',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_FRMIVAL_TYPE_STEPWISE 1
+
+/* Define to 1 if you have the declaration of `V4L2_FRMSIZE_TYPE_CONTINUOUS',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_FRMSIZE_TYPE_CONTINUOUS 1
+
+/* Define to 1 if you have the declaration of `V4L2_FRMSIZE_TYPE_DISCRETE',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_FRMSIZE_TYPE_DISCRETE 1
+
+/* Define to 1 if you have the declaration of `V4L2_FRMSIZE_TYPE_STEPWISE',
+ and to 0 if you don't. */
+#define HAVE_DECL_V4L2_FRMSIZE_TYPE_STEPWISE 1
+
+/* Define to 1 if you have the declaration of `V4L2_MEMORY_DMABUF', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_MEMORY_DMABUF 1
+
+/* Define to 1 if you have the declaration of `V4L2_MEMORY_MMAP', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_MEMORY_MMAP 1
+
+/* Define to 1 if you have the declaration of `V4L2_MEMORY_OVERLAY', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_MEMORY_OVERLAY 1
+
+/* Define to 1 if you have the declaration of `V4L2_MEMORY_USERPTR', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_MEMORY_USERPTR 1
+
+/* Define to 1 if you have the declaration of `V4L2_PRIORITY_BACKGROUND', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_PRIORITY_BACKGROUND 1
+
+/* Define to 1 if you have the declaration of `V4L2_PRIORITY_INTERACTIVE', and
+ to 0 if you don't. */
+#define HAVE_DECL_V4L2_PRIORITY_INTERACTIVE 1
+
+/* Define to 1 if you have the declaration of `V4L2_PRIORITY_RECORD', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_PRIORITY_RECORD 1
+
+/* Define to 1 if you have the declaration of `V4L2_PRIORITY_UNSET', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_PRIORITY_UNSET 1
+
+/* Define to 1 if you have the declaration of `V4L2_TUNER_ANALOG_TV', and to 0
+ if you don't. */
+#define HAVE_DECL_V4L2_TUNER_ANALOG_TV 1
+
+/* Define to 1 if you have the declaration of `V4L2_TUNER_DIGITAL_TV', and to
+ 0 if you don't. */
+#define HAVE_DECL_V4L2_TUNER_DIGITAL_TV 1
+
+/* Define to 1 if you have the declaration of `V4L2_TUNER_RADIO', and to 0 if
+ you don't. */
+#define HAVE_DECL_V4L2_TUNER_RADIO 1
+
+/* Define to 1 if you have the declaration of `VM_BLOCK_DUMP', and to 0 if you
+ don't. */
+#define HAVE_DECL_VM_BLOCK_DUMP 1
+
+/* Define to 1 if you have the declaration of `VM_HUGETLB_GROUP', and to 0 if
+ you don't. */
+#define HAVE_DECL_VM_HUGETLB_GROUP 1
+
+/* Define to 1 if you have the declaration of `VM_LAPTOP_MODE', and to 0 if
+ you don't. */
+#define HAVE_DECL_VM_LAPTOP_MODE 1
+
+/* Define to 1 if you have the declaration of `VM_LEGACY_VA_LAYOUT', and to 0
+ if you don't. */
+#define HAVE_DECL_VM_LEGACY_VA_LAYOUT 1
+
+/* Define to 1 if you have the declaration of `VM_MAX_MAP_COUNT', and to 0 if
+ you don't. */
+#define HAVE_DECL_VM_MAX_MAP_COUNT 1
+
+/* Define to 1 if you have the declaration of `VM_SWAP_TOKEN_TIMEOUT', and to
+ 0 if you don't. */
+#define HAVE_DECL_VM_SWAP_TOKEN_TIMEOUT 1
+
+/* Define to 1 if you have the declaration of `VM_VFS_CACHE_PRESSURE', and to
+ 0 if you don't. */
+#define HAVE_DECL_VM_VFS_CACHE_PRESSURE 1
+
+/* Define to 1 if the system provides dladdr */
+#define HAVE_DLADDR 1
+
+/* Define to 1 if you have the <elf.h> header file. */
+#define HAVE_ELF_H 1
+
+/* Define to 1 if you have the `fallocate' function. */
+#define HAVE_FALLOCATE 1
+
+/* Define to 1 if you have the `fanotify_mark' function. */
+/* #undef HAVE_FANOTIFY_MARK */
+
+/* Define to 1 if you have the `fopen64' function. */
+#define HAVE_FOPEN64 1
+
+/* Define to 1 if you have the `fork' function. */
+#define HAVE_FORK 1
+
+/* Define to 1 if you have the `fputs_unlocked' function. */
+/* #undef HAVE_FPUTS_UNLOCKED */
+
+/* Define to 1 if you have the `fstatat' function. */
+#define HAVE_FSTATAT 1
+
+/* Define to 1 if you have the `ftruncate' function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define to 1 if you have the `futimens' function. */
+#define HAVE_FUTIMENS 1
+
+/* Define to 1 if you have the <gnu_stubs> header file. */
+/* #undef HAVE_GNU_STUBS */
+
+/* Define to 1 if you have the <gnu/stubs-32.h> header file. */
+/* #undef HAVE_GNU_STUBS_32_H */
+
+/* Define to 1 if you have the <gnu/stubs-x32.h> header file. */
+/* #undef HAVE_GNU_STUBS_X32_H */
+
+/* Define to 1 if you have the `if_indextoname' function. */
+#define HAVE_IF_INDEXTONAME 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <libunwind-ptrace.h> header file. */
+/* #undef HAVE_LIBUNWIND_PTRACE_H */
+
+/* Define to 1 if you have the <linux/bpf.h> header file. */
+#define HAVE_LINUX_BPF_H 1
+
+/* Define to 1 if you have the <linux/bsg.h> header file. */
+#define HAVE_LINUX_BSG_H 1
+
+/* Define to 1 if you have the <linux/btrfs.h> header file. */
+#define HAVE_LINUX_BTRFS_H 1
+
+/* Define to 1 if you have the <linux/dm-ioctl.h> header file. */
+#define HAVE_LINUX_DM_IOCTL_H 1
+
+/* Define to 1 if you have the <linux/dqblk_xfs.h> header file. */
+#define HAVE_LINUX_DQBLK_XFS_H 1
+
+/* Define to 1 if you have the <linux/falloc.h> header file. */
+#define HAVE_LINUX_FALLOC_H 1
+
+/* Define to 1 if you have the <linux/fiemap.h> header file. */
+#define HAVE_LINUX_FIEMAP_H 1
+
+/* Define to 1 if you have the <linux/filter.h> header file. */
+#define HAVE_LINUX_FILTER_H 1
+
+/* Define to 1 if you have the <linux/genetlink.h> header file. */
+#define HAVE_LINUX_GENETLINK_H 1
+
+/* Define to 1 if you have the <linux/hiddev.h> header file. */
+#define HAVE_LINUX_HIDDEV_H 1
+
+/* Define to 1 if you have the <linux/input.h> header file. */
+#define HAVE_LINUX_INPUT_H 1
+
+/* Define to 1 if you have the <linux/ipc.h> header file. */
+#define HAVE_LINUX_IPC_H 1
+
+/* Define to 1 if you have the <linux/ip_vs.h> header file. */
+#define HAVE_LINUX_IP_VS_H 1
+
+/* Define to 1 if you have the <linux/mmtimer.h> header file. */
+#define HAVE_LINUX_MMTIMER_H 1
+
+/* Define to 1 if you have the <linux/mqueue.h> header file. */
+#define HAVE_LINUX_MQUEUE_H 1
+
+/* Define to 1 if you have the <linux/msg.h> header file. */
+#define HAVE_LINUX_MSG_H 1
+
+/* Define to 1 if you have the <linux/netfilter_arp/arp_tables.h> header file.
+ */
+#define HAVE_LINUX_NETFILTER_ARP_ARP_TABLES_H 1
+
+/* Define to 1 if you have the <linux/netfilter_bridge/ebtables.h> header
+ file. */
+#define HAVE_LINUX_NETFILTER_BRIDGE_EBTABLES_H 1
+
+/* Define to 1 if you have the <linux/netfilter_ipv4/ip_tables.h> header file.
+ */
+#define HAVE_LINUX_NETFILTER_IPV4_IP_TABLES_H 1
+
+/* Define to 1 if you have the <linux/netfilter_ipv6/ip6_tables.h> header
+ file. */
+#define HAVE_LINUX_NETFILTER_IPV6_IP6_TABLES_H 1
+
+/* Define to 1 if you have the <linux/netfilter/nfnetlink.h> header file. */
+#define HAVE_LINUX_NETFILTER_NFNETLINK_H 1
+
+/* Define to 1 if you have the <linux/nsfs.h> header file. */
+#define HAVE_LINUX_NSFS_H 1
+
+/* Define to 1 if you have the <linux/perf_event.h> header file. */
+#define HAVE_LINUX_PERF_EVENT_H 1
+
+/* Define to 1 if you have the <linux/quota.h> header file. */
+#define HAVE_LINUX_QUOTA_H 1
+
+/* Define to 1 if you have the <linux/seccomp.h> header file. */
+#define HAVE_LINUX_SECCOMP_H 1
+
+/* Define to 1 if you have the <linux/securebits.h> header file. */
+#define HAVE_LINUX_SECUREBITS_H 1
+
+/* Define to 1 if you have the <linux/sem.h> header file. */
+#define HAVE_LINUX_SEM_H 1
+
+/* Define to 1 if you have the <linux/shm.h> header file. */
+#define HAVE_LINUX_SHM_H 1
+
+/* Define to 1 if you have the <linux/userfaultfd.h> header file. */
+#define HAVE_LINUX_USERFAULTFD_H 1
+
+/* Define to 1 if you have the <linux/utsname.h> header file. */
+#define HAVE_LINUX_UTSNAME_H 1
+
+/* Define to 1 if you have CFLAG mpers support */
+/* #undef HAVE_M32_MPERS */
+
+/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
+/* #undef HAVE_M32_STRUCT_STAT */
+
+/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
+/* #undef HAVE_M32_STRUCT_STAT64 */
+
+/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat64'.
+ */
+/* #undef HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC */
+
+/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat'. */
+/* #undef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <mqueue.h> header file. */
+/* #undef HAVE_MQUEUE_H */
+
+/* Define to 1 if you have CFLAG mpers support */
+/* #undef HAVE_MX32_MPERS */
+
+/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
+/* #undef HAVE_MX32_STRUCT_STAT */
+
+/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
+/* #undef HAVE_MX32_STRUCT_STAT64 */
+
+/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat64'.
+ */
+/* #undef HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC */
+
+/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat'. */
+/* #undef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC */
+
+/* Define to 1 if you have the <netinet/sctp.h> header file. */
+/* #undef HAVE_NETINET_SCTP_H */
+
+/* Define to 1 if you have the <netinet/tcp.h> header file. */
+#define HAVE_NETINET_TCP_H 1
+
+/* Define to 1 if you have the <netinet/udp.h> header file. */
+#define HAVE_NETINET_UDP_H 1
+
+/* Define to 1 if you have the <netipx/ipx.h> header file. */
+/* #undef HAVE_NETIPX_IPX_H */
+
+/* Define to 1 if you have the `open64' function. */
+#define HAVE_OPEN64 1
+
+/* Define to 1 if you have the `prctl' function. */
+#define HAVE_PRCTL 1
+
+/* Define to 1 if you have the `preadv' function. */
+#define HAVE_PREADV 1
+
+/* Define to 1 if you have the `process_vm_readv' function. */
+#define HAVE_PROCESS_VM_READV 1
+
+/* Define to 1 if the system provides program_invocation_name variable */
+/* #undef HAVE_PROGRAM_INVOCATION_NAME */
+
+/* Define to 1 if you have the `pwritev' function. */
+#define HAVE_PWRITEV 1
+
+/* Define to 1 if you have the `readahead' function. */
+#define HAVE_READAHEAD 1
+
+/* Define to 1 if you have the <scsi/sg.h> header file. */
+#define HAVE_SCSI_SG_H 1
+
+/* Define to 1 if `si_overrun' is a member of `siginfo_t'. */
+#define HAVE_SIGINFO_T_SI_OVERRUN 1
+
+/* Define to 1 if `si_syscall' is a member of `siginfo_t'. */
+#define HAVE_SIGINFO_T_SI_SYSCALL 1
+
+/* Define to 1 if `si_timerid' is a member of `siginfo_t'. */
+#define HAVE_SIGINFO_T_SI_TIMERID 1
+
+/* Define to 1 if you have the `signalfd' function. */
+#define HAVE_SIGNALFD 1
+
+/* Define to 1 if the system has the type `sig_atomic_t'. */
+#define HAVE_SIG_ATOMIC_T 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `stpcpy' function. */
+#define HAVE_STPCPY 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strndup' function. */
+#define HAVE_STRNDUP 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if you have the `strsignal' function. */
+#define HAVE_STRSIGNAL 1
+
+/* Define to 1 if the system has the type `struct blk_user_trace_setup'. */
+#define HAVE_STRUCT_BLK_USER_TRACE_SETUP 1
+
+/* Define to 1 if `start' is a member of `struct
+ btrfs_ioctl_defrag_range_args'. */
+#define HAVE_STRUCT_BTRFS_IOCTL_DEFRAG_RANGE_ARGS_START 1
+
+/* Define to 1 if `compat_flags' is a member of `struct
+ btrfs_ioctl_feature_flags'. */
+#define HAVE_STRUCT_BTRFS_IOCTL_FEATURE_FLAGS_COMPAT_FLAGS 1
+
+/* Define to 1 if `nodesize' is a member of `struct btrfs_ioctl_fs_info_args'.
+ */
+#define HAVE_STRUCT_BTRFS_IOCTL_FS_INFO_ARGS_NODESIZE 1
+
+/* Define to 1 if `buf_size' is a member of `struct
+ btrfs_ioctl_search_args_v2'. */
+#define HAVE_STRUCT_BTRFS_IOCTL_SEARCH_ARGS_V2_BUF_SIZE 1
+
+/* Define to 1 if the system has the type `struct flock'. */
+#define HAVE_STRUCT_FLOCK 1
+
+/* Define to 1 if the system has the type `struct flock64'. */
+#define HAVE_STRUCT_FLOCK64 1
+
+/* Define to 1 if the system has the type `struct ia64_fpreg'. */
+/* #undef HAVE_STRUCT_IA64_FPREG */
+
+/* Define to 1 if `resolution' is a member of `struct input_absinfo'. */
+#define HAVE_STRUCT_INPUT_ABSINFO_RESOLUTION 1
+
+/* Define to 1 if the system has the type `struct mmsghdr'. */
+#define HAVE_STRUCT_MMSGHDR 1
+
+/* Define to 1 if `aux_watermark' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_AUX_WATERMARK 1
+
+/* Define to 1 if `bp_type' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_BP_TYPE 1
+
+/* Define to 1 if `branch_sample_type' is a member of `struct
+ perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_BRANCH_SAMPLE_TYPE 1
+
+/* Define to 1 if `comm_exec' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_COMM_EXEC 1
+
+/* Define to 1 if `config1' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG1 1
+
+/* Define to 1 if `config2' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG2 1
+
+/* Define to 1 if `context_switch' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_CONTEXT_SWITCH 1
+
+/* Define to 1 if `exclude_callchain_kernel' is a member of `struct
+ perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_KERNEL 1
+
+/* Define to 1 if `exclude_callchain_user' is a member of `struct
+ perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_USER 1
+
+/* Define to 1 if `exclude_guest' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_GUEST 1
+
+/* Define to 1 if `exclude_host' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_HOST 1
+
+/* Define to 1 if `mmap2' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_MMAP2 1
+
+/* Define to 1 if `mmap_data' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_MMAP_DATA 1
+
+/* Define to 1 if `precise_ip' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_PRECISE_IP 1
+
+/* Define to 1 if `sample_id_all' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_ID_ALL 1
+
+/* Define to 1 if `sample_max_stack' is a member of `struct perf_event_attr'.
+ */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_MAX_STACK 1
+
+/* Define to 1 if `sample_regs_intr' is a member of `struct perf_event_attr'.
+ */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_INTR 1
+
+/* Define to 1 if `sample_regs_user' is a member of `struct perf_event_attr'.
+ */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_USER 1
+
+/* Define to 1 if `sample_stack_user' is a member of `struct perf_event_attr'.
+ */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_STACK_USER 1
+
+/* Define to 1 if `use_clockid' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_USE_CLOCKID 1
+
+/* Define to 1 if `write_backward' is a member of `struct perf_event_attr'. */
+#define HAVE_STRUCT_PERF_EVENT_ATTR_WRITE_BACKWARD 1
+
+/* Define to 1 if the system has the type `struct ptrace_peeksiginfo_args'. */
+#define HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS 1
+
+/* Define to 1 if the system has the type `struct pt_all_user_regs'. */
+/* #undef HAVE_STRUCT_PT_ALL_USER_REGS */
+
+/* Define to 1 if the system has the type `struct sigcontext'. */
+#define HAVE_STRUCT_SIGCONTEXT 1
+
+/* Define to 1 if the system has the type `struct stat64'. */
+/* #undef HAVE_STRUCT_STAT64 */
+
+/* Define to 1 if `st_mtime_nsec' is a member of `struct stat64'. */
+/* #undef HAVE_STRUCT_STAT64_ST_MTIME_NSEC */
+
+/* Define to 1 if the system has the type `struct statfs'. */
+#define HAVE_STRUCT_STATFS 1
+
+/* Define to 1 if the system has the type `struct statfs64'. */
+#define HAVE_STRUCT_STATFS64 1
+
+/* Define to 1 if `f_flags' is a member of `struct statfs64'. */
+#define HAVE_STRUCT_STATFS64_F_FLAGS 1
+
+/* Define to 1 if `f_frsize' is a member of `struct statfs64'. */
+#define HAVE_STRUCT_STATFS64_F_FRSIZE 1
+
+/* Define to 1 if `f_fsid.val' is a member of `struct statfs64'. */
+#define HAVE_STRUCT_STATFS64_F_FSID_VAL 1
+
+/* Define to 1 if `f_fsid.__val' is a member of `struct statfs64'. */
+/* #undef HAVE_STRUCT_STATFS64_F_FSID___VAL */
+
+/* Define to 1 if `f_flags' is a member of `struct statfs'. */
+#define HAVE_STRUCT_STATFS_F_FLAGS 1
+
+/* Define to 1 if `f_frsize' is a member of `struct statfs'. */
+#define HAVE_STRUCT_STATFS_F_FRSIZE 1
+
+/* Define to 1 if `f_fsid.val' is a member of `struct statfs'. */
+#define HAVE_STRUCT_STATFS_F_FSID_VAL 1
+
+/* Define to 1 if `f_fsid.__val' is a member of `struct statfs'. */
+/* #undef HAVE_STRUCT_STATFS_F_FSID___VAL */
+
+/* Define to 1 if `st_mtime_nsec' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+
+/* Define to 1 if `tai' is a member of `struct timex'. */
+#define HAVE_STRUCT_TIMEX_TAI 1
+
+/* Define to 1 if the system has the type `struct user_desc'. */
+/* #undef HAVE_STRUCT_USER_DESC */
+
+/* Define to 1 if `domainname' is a member of `struct utsname'. */
+#define HAVE_STRUCT_UTSNAME_DOMAINNAME 1
+
+/* Define to 1 if `buffersize' is a member of `struct v4l2_sdr_format'. */
+#define HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE 1
+
+/* Define to 1 if `global_alpha' is a member of `struct v4l2_window'. */
+#define HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA 1
+
+/* Define to 1 if the system has the type `struct __kernel_flock'. */
+/* #undef HAVE_STRUCT___KERNEL_FLOCK */
+
+/* Define to 1 if the system has the type `struct __kernel_flock64'. */
+/* #undef HAVE_STRUCT___KERNEL_FLOCK64 */
+
+/* Define to 1 if the system has the type `struct __old_kernel_stat'. */
+/* #undef HAVE_STRUCT___OLD_KERNEL_STAT */
+
+/* Define to 1 if you have the `sync_file_range' function. */
+#define HAVE_SYNC_FILE_RANGE 1
+
+/* Define to 1 if you have the <sys/conf.h> header file. */
+/* #undef HAVE_SYS_CONF_H */
+
+/* Define to 1 if you have the <sys/eventfd.h> header file. */
+#define HAVE_SYS_EVENTFD_H 1
+
+/* Define to 1 if you have the <sys/fanotify.h> header file. */
+/* #undef HAVE_SYS_FANOTIFY_H */
+
+/* Define to 1 if you have the <sys/ipc.h> header file. */
+#define HAVE_SYS_IPC_H 1
+
+/* Define to 1 if you have the <sys/msg.h> header file. */
+#define HAVE_SYS_MSG_H 1
+
+/* Define to 1 if you have the <sys/quota.h> header file. */
+#define HAVE_SYS_QUOTA_H 1
+
+/* Define to 1 if you have the <sys/reg.h> header file. */
+#define HAVE_SYS_REG_H 1
+
+/* Define to 1 if you have the <sys/sem.h> header file. */
+#define HAVE_SYS_SEM_H 1
+
+/* Define to 1 if you have the <sys/shm.h> header file. */
+#define HAVE_SYS_SHM_H 1
+
+/* Define to 1 if you have the <sys/signalfd.h> header file. */
+#define HAVE_SYS_SIGNALFD_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/xattr.h> header file. */
+#define HAVE_SYS_XATTR_H 1
+
+/* Define to 1 if typeof works with your compiler. */
+#define HAVE_TYPEOF 1
+
+/* Define to 1 if union bpf_attr.attach_flags initialization works */
+#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1
+
+/* Define to 1 if union bpf_attr.bpf_fd initialization works */
+#define HAVE_UNION_BPF_ATTR_BPF_FD 1
+
+/* Define to 1 if union bpf_attr.log_buf initialization works */
+#define HAVE_UNION_BPF_ATTR_LOG_BUF 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <ustat.h> header file. */
+/* #undef HAVE_USTAT_H */
+
+/* Define to 1 if you have the `utimensat' function. */
+#define HAVE_UTIMENSAT 1
+
+/* Define to 1 if the system provides __builtin_popcount function */
+#define HAVE___BUILTIN_POPCOUNT 1
+
+/* Define to 1 if the system has the type `__kernel_long_t'. */
+#define HAVE___KERNEL_LONG_T 1
+
+/* Define to 1 if the system has the type `__kernel_ulong_t'. */
+#define HAVE___KERNEL_ULONG_T 1
+
+/* Define for the HPPA architecture. */
+/* #undef HPPA */
+
+/* Define for the i386 architecture. */
+/* #undef I386 */
+
+/* Define for the IA64 architecture. */
+/* #undef IA64 */
+
+/* Define for _ABIN32. */
+/* #undef LINUX_MIPSN32 */
+
+/* Define for _ABI64. */
+/* #undef LINUX_MIPSN64 */
+
+/* Define for _ABIO32. */
+/* #undef LINUX_MIPSO32 */
+
+/* Define for the m68k architecture. */
+/* #undef M68K */
+
+/* Define for the Meta architecture. */
+/* #undef METAG */
+
+/* Define for the MicroBlaze architecture. */
+/* #undef MICROBLAZE */
+
+/* Define for the MIPS architecture. */
+/* #undef MIPS */
+
+/* Define for the Nios-II architecture. */
+/* #undef NIOS2 */
+
+/* Define for the OpenRISC 1000 architecture. */
+/* #undef OR1K */
+
+/* Name of package */
+#define PACKAGE "strace"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "strace-devel@lists.sourceforge.net"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "strace"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "strace 4.18"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "strace"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://strace.io"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "4.18"
+
+/* Define for the PowerPC architecture. */
+/* #undef POWERPC */
+
+/* Define for the PowerPC64 architecture. */
+/* #undef POWERPC64 */
+
+/* Define for the RISC-V architecture */
+/* #undef RISCV */
+
+/* Define for the S390 architecture. */
+/* #undef S390 */
+
+/* Define for the S390x architecture. */
+/* #undef S390X */
+
+/* Define for the SH architecture. */
+/* #undef SH */
+
+/* Define for the SH64 architecture. */
+/* #undef SH64 */
+
+/* The size of `kernel_long_t', as computed by sizeof. */
+/* #undef SIZEOF_KERNEL_LONG_T */
+
+/* The size of `long', as computed by sizeof. */
+/* #undef SIZEOF_LONG */
+
+/* The size of `long long', as computed by sizeof. */
+/* #undef SIZEOF_LONG_LONG */
+
+/* The size of `off_t', as computed by sizeof. */
+/* #undef SIZEOF_OFF_T */
+
+/* The size of `struct i64_i32', as computed by sizeof. */
+#define SIZEOF_STRUCT_I64_I32 16
+
+/* Define for the SPARC architecture. */
+/* #undef SPARC */
+
+/* Define for the SPARC64 architecture. */
+/* #undef SPARC64 */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define for the Tile architecture */
+/* #undef TILE */
+
+/* Compile stack tracing functionality */
+/* #undef USE_LIBUNWIND */
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+
+
+/* Version number of package */
+#define VERSION "4.18"
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* # undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Define for the 32bit AMD x86-64 architecture. */
+/* #undef X32 */
+
+/* Define for the 64bit AMD x86-64 architecture. */
+/* #undef X86_64 */
+
+/* Define for the Xtensa architecture */
+/* #undef XTENSA */
+
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
+/* Define to __typeof__ if your compiler spells it that way. */
+/* #undef typeof */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
diff --git a/config.h.in b/config.h.in
index 54b9892c..f6394550 100644
--- a/config.h.in
+++ b/config.h.in
@@ -717,6 +717,9 @@
/* Define to 1 if you have the <linux/filter.h> header file. */
#undef HAVE_LINUX_FILTER_H
+/* Define to 1 if you have the <linux/genetlink.h> header file. */
+#undef HAVE_LINUX_GENETLINK_H
+
/* Define to 1 if you have the <linux/hiddev.h> header file. */
#undef HAVE_LINUX_HIDDEV_H
@@ -754,6 +757,9 @@
file. */
#undef HAVE_LINUX_NETFILTER_IPV6_IP6_TABLES_H
+/* Define to 1 if you have the <linux/netfilter/nfnetlink.h> header file. */
+#undef HAVE_LINUX_NETFILTER_NFNETLINK_H
+
/* Define to 1 if you have the <linux/nsfs.h> header file. */
#undef HAVE_LINUX_NSFS_H
@@ -843,6 +849,9 @@
/* Define to 1 if you have the `process_vm_readv' function. */
#undef HAVE_PROCESS_VM_READV
+/* Define to 1 if the system provides program_invocation_name variable */
+#undef HAVE_PROGRAM_INVOCATION_NAME
+
/* Define to 1 if you have the `pwritev' function. */
#undef HAVE_PWRITEV
@@ -885,6 +894,9 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
+/* Define to 1 if you have the `strndup' function. */
+#undef HAVE_STRNDUP
+
/* Define to 1 if you have the <stropts.h> header file. */
#undef HAVE_STROPTS_H
diff --git a/configure b/configure
index 9a1c0873..c85be08b 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for strace 4.17.
+# Generated by GNU Autoconf 2.69 for strace 4.18.
#
# Report bugs to <strace-devel@lists.sourceforge.net>.
#
@@ -11,7 +11,7 @@
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
#
-# Copyright (C) 1999-2017 The strace developers.
+# Copyright (c) 1999-2017 The strace developers.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
@@ -582,8 +582,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='strace'
PACKAGE_TARNAME='strace'
-PACKAGE_VERSION='4.17'
-PACKAGE_STRING='strace 4.17'
+PACKAGE_VERSION='4.18'
+PACKAGE_STRING='strace 4.18'
PACKAGE_BUGREPORT='strace-devel@lists.sourceforge.net'
PACKAGE_URL='https://strace.io'
@@ -1346,7 +1346,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures strace 4.17 to adapt to many kinds of systems.
+\`configure' configures strace 4.18 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1416,7 +1416,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of strace 4.17:";;
+ short | recursive ) echo "Configuration of strace 4.18:";;
esac
cat <<\_ACEOF
@@ -1528,14 +1528,14 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-strace configure 4.17
+strace configure 4.18
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-Copyright (C) 1999-2017 The strace developers.
+Copyright (c) 1999-2017 The strace developers.
_ACEOF
exit
fi
@@ -2268,7 +2268,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by strace $as_me 4.17, which was
+It was created by strace $as_me 4.18, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3138,7 +3138,7 @@ fi
# Define the identity of the package.
PACKAGE='strace'
- VERSION='4.17'
+ VERSION='4.18'
cat >>confdefs.h <<_ACEOF
@@ -8397,7 +8397,7 @@ fi
fi
- CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
+ CODE_COVERAGE_CPPFLAGS="-DENABLE_COVERAGE_GCOV -DNDEBUG"
CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
CODE_COVERAGE_LDFLAGS="-lgcov"
@@ -9203,7 +9203,7 @@ $as_echo "#define gid_t int" >>confdefs.h
fi
-for ac_func in accept4 fallocate fanotify_mark fopen64 fork fputs_unlocked fstatat ftruncate futimens if_indextoname open64 prctl preadv process_vm_readv pwritev readahead signalfd stpcpy strerror strsignal sync_file_range utimensat
+for ac_func in accept4 fallocate fanotify_mark fopen64 fork fputs_unlocked fstatat ftruncate futimens if_indextoname open64 prctl preadv process_vm_readv pwritev readahead signalfd stpcpy strerror strndup strsignal sync_file_range utimensat
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -9678,7 +9678,7 @@ _ACEOF
fi
-for ac_header in asm/cachectl.h asm/sysmips.h bluetooth/bluetooth.h elf.h inttypes.h linux/bsg.h linux/dm-ioctl.h linux/dqblk_xfs.h linux/falloc.h linux/fiemap.h linux/filter.h linux/hiddev.h linux/ip_vs.h linux/ipc.h linux/mmtimer.h linux/msg.h linux/nsfs.h linux/perf_event.h linux/quota.h linux/seccomp.h linux/securebits.h linux/sem.h linux/shm.h linux/userfaultfd.h linux/utsname.h mqueue.h netinet/sctp.h netipx/ipx.h scsi/sg.h stropts.h sys/conf.h sys/eventfd.h sys/fanotify.h sys/ipc.h sys/msg.h sys/quota.h sys/reg.h sys/sem.h sys/shm.h sys/signalfd.h sys/xattr.h ustat.h
+for ac_header in asm/cachectl.h asm/sysmips.h bluetooth/bluetooth.h elf.h inttypes.h linux/bsg.h linux/dm-ioctl.h linux/dqblk_xfs.h linux/falloc.h linux/fiemap.h linux/filter.h linux/genetlink.h linux/hiddev.h linux/ip_vs.h linux/ipc.h linux/mmtimer.h linux/msg.h linux/netfilter/nfnetlink.h linux/nsfs.h linux/perf_event.h linux/quota.h linux/seccomp.h linux/securebits.h linux/sem.h linux/shm.h linux/userfaultfd.h linux/utsname.h mqueue.h netinet/sctp.h netipx/ipx.h scsi/sg.h stropts.h sys/conf.h sys/eventfd.h sys/fanotify.h sys/ipc.h sys/msg.h sys/quota.h sys/reg.h sys/sem.h sys/shm.h sys/signalfd.h sys/xattr.h ustat.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -10069,7 +10069,7 @@ _ACEOF
fi
- ac_fn_c_check_decl "$LINENO" "BTRFS_COMPRESS_NONE" "ac_cv_have_decl_BTRFS_COMPRESS_NONE" " #include <stdio.h>
+ ac_fn_c_check_decl "$LINENO" "BTRFS_COMPRESS_NONE" "ac_cv_have_decl_BTRFS_COMPRESS_NONE" " #include <stdio.h>
#include <linux/btrfs.h>
"
if test "x$ac_cv_have_decl_BTRFS_COMPRESS_NONE" = xyes; then :
@@ -12182,7 +12182,7 @@ else
st_cv_SIGRTMIN="$(echo SIGRTMIN |
$CPP $CPPFLAGS -P -imacros asm/signal.h - |
grep '^[0-9]')"
- test -n "$st_cv_SIGRTMIN" || st_cv_SIGRTMIN=no
+ test -n "$st_cv_SIGRTMIN" || st_cv_SIGRTMIN=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_SIGRTMIN" >&5
$as_echo "$st_cv_SIGRTMIN" >&6; }
@@ -12201,7 +12201,7 @@ else
st_cv_SA_RESTORER="$(echo SA_RESTORER |
$CPP $CPPFLAGS -P -imacros asm/signal.h - |
grep ^0x)"
- test -n "$st_cv_SA_RESTORER" || st_cv_SA_RESTORER=no
+ test -n "$st_cv_SA_RESTORER" || st_cv_SA_RESTORER=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_SA_RESTORER" >&5
$as_echo "$st_cv_SA_RESTORER" >&6; }
@@ -12245,6 +12245,38 @@ $as_echo "#define HAVE___BUILTIN_POPCOUNT 1" >>confdefs.h
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for program_invocation_name" >&5
+$as_echo_n "checking for program_invocation_name... " >&6; }
+if ${st_cv_have_program_invocation_name+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <errno.h>
+int
+main ()
+{
+return !*program_invocation_name
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ st_cv_have_program_invocation_name=yes
+else
+ st_cv_have_program_invocation_name=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_have_program_invocation_name" >&5
+$as_echo "$st_cv_have_program_invocation_name" >&6; }
+if test "x$st_cv_have_program_invocation_name" = xyes; then
+
+$as_echo "#define HAVE_PROGRAM_INVOCATION_NAME 1" >>confdefs.h
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dladdr in -ldl" >&5
$as_echo_n "checking for dladdr in -ldl... " >&6; }
if ${ac_cv_lib_dl_dladdr+:} false; then :
@@ -12342,11 +12374,11 @@ libunwind_LIBS=
# Check whether --with-libunwind was given.
if test "${with_libunwind+set}" = set; then :
withval=$with_libunwind; case "${withval}" in
- yes|no|check) ;;
- *) with_libunwind=yes
- libunwind_CPPFLAGS="-I${withval}/include"
- libunwind_LDFLAGS="-L${withval}/lib" ;;
- esac
+ yes|no|check) ;;
+ *) with_libunwind=yes
+ libunwind_CPPFLAGS="-I${withval}/include"
+ libunwind_LDFLAGS="-L${withval}/lib" ;;
+ esac
else
with_libunwind=check
@@ -12366,16 +12398,16 @@ if test "x$ac_cv_header_libunwind_ptrace_h" = xyes; then :
#define HAVE_LIBUNWIND_PTRACE_H 1
_ACEOF
saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $libunwind_LDFLAGS"
+ LDFLAGS="$LDFLAGS $libunwind_LDFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for backtrace in -lunwind" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for backtrace in -lunwind" >&5
$as_echo_n "checking for backtrace in -lunwind... " >&6; }
if ${ac_cv_lib_unwind_backtrace+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lunwind $libunwind_LIBS
- $LIBS"
+ $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -12408,12 +12440,12 @@ $as_echo "$ac_cv_lib_unwind_backtrace" >&6; }
if test "x$ac_cv_lib_unwind_backtrace" = xyes; then :
libunwind_LIBS="-lunwind $libunwind_LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unw_create_addr_space in libunwind-generic" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unw_create_addr_space in libunwind-generic" >&5
$as_echo_n "checking for unw_create_addr_space in libunwind-generic... " >&6; }
- saved_LIBS="$LIBS"
- LIBS="-lunwind-generic $libunwind_LIBS $LIBS"
+ saved_LIBS="$LIBS"
+ LIBS="-lunwind-generic $libunwind_LIBS $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libunwind-ptrace.h>
int
@@ -12428,16 +12460,16 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- libunwind_LIBS="-lunwind-generic $libunwind_LIBS"
+ libunwind_LIBS="-lunwind-generic $libunwind_LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _UPT_create in -lunwind-ptrace" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _UPT_create in -lunwind-ptrace" >&5
$as_echo_n "checking for _UPT_create in -lunwind-ptrace... " >&6; }
if ${ac_cv_lib_unwind_ptrace__UPT_create+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lunwind-ptrace $libunwind_LIBS
- $LIBS"
+ $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -12469,15 +12501,15 @@ fi
$as_echo "$ac_cv_lib_unwind_ptrace__UPT_create" >&6; }
if test "x$ac_cv_lib_unwind_ptrace__UPT_create" = xyes; then :
libunwind_LIBS="-lunwind-ptrace $libunwind_LIBS"
- use_libunwind=yes
+ use_libunwind=yes
else
if test "x$with_libunwind" != xcheck; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to find _UPT_create in libunwind-ptrace
See \`config.log' for more details" "$LINENO" 5; }
- fi
+ fi
fi
@@ -12485,40 +12517,40 @@ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- if test "x$with_libunwind" != xcheck; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ if test "x$with_libunwind" != xcheck; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to find unw_create_addr_space in libunwind-generic
See \`config.log' for more details" "$LINENO" 5; }
- fi
+ fi
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LIBS="$saved_LIBS"
+ LIBS="$saved_LIBS"
else
if test "x$with_libunwind" != xcheck; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to find libunwind
See \`config.log' for more details" "$LINENO" 5; }
- fi
+ fi
fi
- LDFLAGS="$saved_LDFLAGS"
+ LDFLAGS="$saved_LDFLAGS"
else
if test "x$with_libunwind" != xcheck; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to find libunwind-ptrace.h
See \`config.log' for more details" "$LINENO" 5; }
- fi
+ fi
fi
@@ -14198,7 +14230,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by strace $as_me 4.17, which was
+This file was extended by strace $as_me 4.18, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14265,7 +14297,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-strace config.status 4.17
+strace config.status 4.18
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 620a33bf..eb7b0e78 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,7 +37,7 @@ AC_INIT([strace],
[strace],
[https://strace.io])
m4_define([copyright_year], m4_esyscmd([./copyright-year-gen .year]))
-AC_COPYRIGHT([Copyright (C) 1999-]copyright_year[ The strace developers.])
+AC_COPYRIGHT([Copyright (c) 1999-]copyright_year[ The strace developers.])
AC_CONFIG_SRCDIR([strace.c])
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_HEADERS([config.h])
@@ -283,6 +283,7 @@ AC_CHECK_FUNCS(m4_normalize([
signalfd
stpcpy
strerror
+ strndup
strsignal
sync_file_range
utimensat
@@ -366,11 +367,13 @@ AC_CHECK_HEADERS(m4_normalize([
linux/falloc.h
linux/fiemap.h
linux/filter.h
+ linux/genetlink.h
linux/hiddev.h
linux/ip_vs.h
linux/ipc.h
linux/mmtimer.h
linux/msg.h
+ linux/netfilter/nfnetlink.h
linux/nsfs.h
linux/perf_event.h
linux/quota.h
@@ -487,8 +490,8 @@ AC_CHECK_HEADERS([linux/btrfs.h], [
struct btrfs_ioctl_search_args_v2.buf_size
]),,, [ #include <stdio.h>
#include <linux/btrfs.h>])
- AC_CHECK_DECLS(m4_normalize([BTRFS_COMPRESS_NONE, BTRFS_COMPRESS_ZLIB,
- BTRFS_COMPRESS_LZO]),,,[ #include <stdio.h>
+ AC_CHECK_DECLS(m4_normalize([BTRFS_COMPRESS_NONE, BTRFS_COMPRESS_ZLIB,
+ BTRFS_COMPRESS_LZO]),,,[ #include <stdio.h>
#include <linux/btrfs.h>])])
AC_CHECK_DECLS([sys_errlist])
@@ -682,7 +685,7 @@ AC_CACHE_CHECK([for SIGRTMIN], [st_cv_SIGRTMIN],
[[st_cv_SIGRTMIN="$(echo SIGRTMIN |
$CPP $CPPFLAGS -P -imacros asm/signal.h - |
grep '^[0-9]')"
- test -n "$st_cv_SIGRTMIN" || st_cv_SIGRTMIN=no]])
+ test -n "$st_cv_SIGRTMIN" || st_cv_SIGRTMIN=no]])
if test "x$st_cv_SIGRTMIN" != xno; then
AC_DEFINE_UNQUOTED([ASM_SIGRTMIN], [$st_cv_SIGRTMIN],
[SIGRTMIN defined in <asm/signal.h>])
@@ -691,7 +694,7 @@ AC_CACHE_CHECK([for SA_RESTORER], [st_cv_SA_RESTORER],
[st_cv_SA_RESTORER="$(echo SA_RESTORER |
$CPP $CPPFLAGS -P -imacros asm/signal.h - |
grep ^0x)"
- test -n "$st_cv_SA_RESTORER" || st_cv_SA_RESTORER=no])
+ test -n "$st_cv_SA_RESTORER" || st_cv_SA_RESTORER=no])
if test "x$st_cv_SA_RESTORER" != xno; then
AC_DEFINE_UNQUOTED([ASM_SA_RESTORER], [$st_cv_SA_RESTORER],
[SA_RESTORER defined in <asm/signal.h>])
@@ -706,6 +709,16 @@ if test "x$st_cv_have___builtin_popcount" = xyes; then
[Define to 1 if the system provides __builtin_popcount function])
fi
+AC_CACHE_CHECK([for program_invocation_name], [st_cv_have_program_invocation_name],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]],
+ [[return !*program_invocation_name]])],
+ [st_cv_have_program_invocation_name=yes],
+ [st_cv_have_program_invocation_name=no])])
+if test "x$st_cv_have_program_invocation_name" = xyes; then
+ AC_DEFINE([HAVE_PROGRAM_INVOCATION_NAME], [1],
+ [Define to 1 if the system provides program_invocation_name variable])
+fi
+
AC_CHECK_LIB([dl], [dladdr], [dl_LIBS='-ldl'], [dl_LIBS=])
if test "x$ac_cv_lib_dl_dladdr" = xyes; then
AC_DEFINE([HAVE_DLADDR], [1], [Define to 1 if the system provides dladdr])
@@ -719,15 +732,15 @@ libunwind_CPPFLAGS=
libunwind_LDFLAGS=
libunwind_LIBS=
AC_ARG_WITH([libunwind],
- [AS_HELP_STRING([--with-libunwind],
- [use libunwind to implement stack tracing support])],
- [case "${withval}" in
- yes|no|check) ;;
- *) with_libunwind=yes
- libunwind_CPPFLAGS="-I${withval}/include"
- libunwind_LDFLAGS="-L${withval}/lib" ;;
- esac],
- [with_libunwind=check]
+ [AS_HELP_STRING([--with-libunwind],
+ [use libunwind to implement stack tracing support])],
+ [case "${withval}" in
+ yes|no|check) ;;
+ *) with_libunwind=yes
+ libunwind_CPPFLAGS="-I${withval}/include"
+ libunwind_LDFLAGS="-L${withval}/lib" ;;
+ esac],
+ [with_libunwind=check]
)
use_libunwind=no
@@ -736,56 +749,56 @@ AS_IF([test "x$with_libunwind" != xno],
CPPFLAGS="$CPPFLAGS $libunwind_CPPFLAGS"
AC_CHECK_HEADERS([libunwind-ptrace.h],
- [saved_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $libunwind_LDFLAGS"
-
- AC_CHECK_LIB([unwind], [backtrace],
- [libunwind_LIBS="-lunwind $libunwind_LIBS"
-
- AC_MSG_CHECKING([for unw_create_addr_space in libunwind-generic])
- saved_LIBS="$LIBS"
- LIBS="-lunwind-generic $libunwind_LIBS $LIBS"
-
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([[#include <libunwind-ptrace.h>]],
- [[return !unw_create_addr_space(0, 0)]])
- ],
- [AC_MSG_RESULT([yes])
- libunwind_LIBS="-lunwind-generic $libunwind_LIBS"
-
- AC_CHECK_LIB([unwind-ptrace], [_UPT_create],
- [libunwind_LIBS="-lunwind-ptrace $libunwind_LIBS"
- use_libunwind=yes
- ],
- [if test "x$with_libunwind" != xcheck; then
- AC_MSG_FAILURE([failed to find _UPT_create in libunwind-ptrace])
- fi
- ],
- [$libunwind_LIBS]
- )
- ],
- [AC_MSG_RESULT([no])
- if test "x$with_libunwind" != xcheck; then
- AC_MSG_FAILURE([failed to find unw_create_addr_space in libunwind-generic])
- fi
- ]
- )
-
- LIBS="$saved_LIBS"
- ],
- [if test "x$with_libunwind" != xcheck; then
- AC_MSG_FAILURE([failed to find libunwind])
- fi
- ],
- [$libunwind_LIBS]
- )
-
- LDFLAGS="$saved_LDFLAGS"
- ],
- [if test "x$with_libunwind" != xcheck; then
- AC_MSG_FAILURE([failed to find libunwind-ptrace.h])
- fi
- ]
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $libunwind_LDFLAGS"
+
+ AC_CHECK_LIB([unwind], [backtrace],
+ [libunwind_LIBS="-lunwind $libunwind_LIBS"
+
+ AC_MSG_CHECKING([for unw_create_addr_space in libunwind-generic])
+ saved_LIBS="$LIBS"
+ LIBS="-lunwind-generic $libunwind_LIBS $LIBS"
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include <libunwind-ptrace.h>]],
+ [[return !unw_create_addr_space(0, 0)]])
+ ],
+ [AC_MSG_RESULT([yes])
+ libunwind_LIBS="-lunwind-generic $libunwind_LIBS"
+
+ AC_CHECK_LIB([unwind-ptrace], [_UPT_create],
+ [libunwind_LIBS="-lunwind-ptrace $libunwind_LIBS"
+ use_libunwind=yes
+ ],
+ [if test "x$with_libunwind" != xcheck; then
+ AC_MSG_FAILURE([failed to find _UPT_create in libunwind-ptrace])
+ fi
+ ],
+ [$libunwind_LIBS]
+ )
+ ],
+ [AC_MSG_RESULT([no])
+ if test "x$with_libunwind" != xcheck; then
+ AC_MSG_FAILURE([failed to find unw_create_addr_space in libunwind-generic])
+ fi
+ ]
+ )
+
+ LIBS="$saved_LIBS"
+ ],
+ [if test "x$with_libunwind" != xcheck; then
+ AC_MSG_FAILURE([failed to find libunwind])
+ fi
+ ],
+ [$libunwind_LIBS]
+ )
+
+ LDFLAGS="$saved_LDFLAGS"
+ ],
+ [if test "x$with_libunwind" != xcheck; then
+ AC_MSG_FAILURE([failed to find libunwind-ptrace.h])
+ fi
+ ]
)
CPPFLAGS="$saved_CPPFLAGS"
diff --git a/count.c b/count.c
index 1af93361..f5e4f12f 100644
--- a/count.c
+++ b/count.c
@@ -77,7 +77,7 @@ count_syscall(struct tcb *tcp, const struct timeval *syscall_exiting_tv)
/* Initialize it. */
struct itimerval it;
- memset(&it, 0, sizeof it);
+ memset(&it, 0, sizeof(it));
it.it_interval.tv_usec = 1;
setitimer(ITIMER_REAL, &it, NULL);
getitimer(ITIMER_REAL, &it);
diff --git a/debian/changelog b/debian/changelog
index d891a6f6..25dcc0fe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
-strace (4.17-1) experimental; urgency=low
+strace (4.18-1) experimental; urgency=low
- * strace 4.17 snapshot.
+ * strace 4.18 snapshot.
- -- Strace <strace-devel@lists.sourceforge.net> Thu, 25 May 2017 15:09:49 -0700
+ -- Strace <strace-devel@lists.sourceforge.net> Wed, 05 Jul 2017 07:35:28 +0000
+
+strace (4.17-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Dmitry V. Levin <ldv@altlinux.org> Wed, 24 May 2017 16:17:18 +0000
strace (4.16-1) unstable; urgency=medium
diff --git a/debian/changelog.in b/debian/changelog.in
index 8aab9d9c..1b28572d 100644
--- a/debian/changelog.in
+++ b/debian/changelog.in
@@ -4,6 +4,12 @@ strace (@PACKAGE_VERSION@-1) experimental; urgency=low
-- Strace <@PACKAGE_BUGREPORT@> @DEB_CHANGELOGTIME@
+strace (4.17-1) unstable; urgency=medium
+
+ * New upstream version.
+
+ -- Dmitry V. Levin <ldv@altlinux.org> Wed, 24 May 2017 16:17:18 +0000
+
strace (4.16-1) unstable; urgency=medium
* New upstream version.
diff --git a/debian/copyright b/debian/copyright
index fd355077..e227efdb 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -10,7 +10,7 @@ Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
Copyright (c) 1995, 1996 Michael Elizabeth Chastain <mec@duracef.shout.net>
Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
-Copyright (C) 1998-2003 Wichert Akkerman <wakkerma@deephackmode.org>
+Copyright (c) 1998-2003 Wichert Akkerman <wakkerma@deephackmode.org>
Copyright (c) 2002-2008 Roland McGrath <roland@redhat.com>
Copyright (c) 2003-2008 Dmitry V. Levin <ldv@altlinux.org>
Copyright (c) 2007-2008 Jan Kratochvil <jan.kratochvil@redhat.com>
diff --git a/defs.h b/defs.h
index fb3a603e..b3a315f3 100644
--- a/defs.h
+++ b/defs.h
@@ -2,7 +2,7 @@
* Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
* Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
* Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
- * Copyright (C) 2001-2017 The strace developers.
+ * Copyright (c) 2001-2017 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -54,8 +54,9 @@
#include <sys/time.h>
#include "kernel_types.h"
-#include "mpers_type.h"
#include "gcc_compat.h"
+#include "macros.h"
+#include "mpers_type.h"
#include "sysent.h"
#ifndef HAVE_STRERROR
@@ -75,8 +76,6 @@ extern char *stpcpy(char *dst, const char *src);
(offsetof(type, member) + sizeof(((type *)NULL)->member))
#endif
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]) + MUST_BE_ARRAY(a))
-
/* macros */
#ifndef MAX
# define MAX(a, b) (((a) > (b)) ? (a) : (b))
@@ -106,7 +105,7 @@ extern char *stpcpy(char *dst, const char *src);
*
* Make sure that all entries in all syscallent.h files have nargs <= MAX_ARGS!
* linux/<ARCH>/syscallent*.h:
- * all have nargs <= 6 except mips o32 which has nargs <= 7.
+ * all have nargs <= 6 except mips o32 which has nargs <= 7.
*/
#ifndef MAX_ARGS
# ifdef LINUX_MIPSO32
@@ -234,11 +233,11 @@ struct tcb {
struct timeval etime; /* Syscall entry time */
#ifdef USE_LIBUNWIND
- struct UPT_info* libunwind_ui;
- struct mmap_cache_t* mmap_cache;
+ struct UPT_info *libunwind_ui;
+ struct mmap_cache_t *mmap_cache;
unsigned int mmap_cache_size;
unsigned int mmap_cache_generation;
- struct queue_t* queue;
+ struct queue_t *queue;
#endif
};
@@ -249,17 +248,13 @@ struct tcb {
/*
* Are we in system call entry or in syscall exit?
*
- * This bit is set after all syscall entry processing is done.
- * Therefore, this bit will be set when next ptrace stop occurs,
- * which should be syscall exit stop. Other stops which are possible
- * directly after syscall entry (death, ptrace event stop)
- * are simpler and handled without calling trace_syscall(), therefore
- * the places where TCB_INSYSCALL can be set but we aren't in syscall stop
- * are limited to trace(), this condition is never observed in trace_syscall()
- * and below.
- * The bit is cleared after all syscall exit processing is done.
+ * This bit is set in syscall_entering_finish() and cleared in
+ * syscall_exiting_finish().
+ * Other stops which are possible directly after syscall entry (death, ptrace
+ * event stop) are handled without calling syscall_{entering,exiting}_*().
*
- * Use entering(tcp) / exiting(tcp) to check this bit to make code more readable.
+ * Use entering(tcp) / exiting(tcp) to check this bit to make code more
+ * readable.
*/
#define TCB_INSYSCALL 0x04
#define TCB_ATTACHED 0x08 /* We attached to it already */
@@ -295,7 +290,9 @@ extern const struct xlat addrfams[];
extern const struct xlat at_flags[];
extern const struct xlat clocknames[];
extern const struct xlat dirent_types[];
+extern const struct xlat ethernet_protocols[];
extern const struct xlat evdev_abs[];
+extern const struct xlat inet_protocols[];
extern const struct xlat msg_flags[];
extern const struct xlat netlink_protocols[];
extern const struct xlat open_access_modes[];
@@ -304,6 +301,7 @@ extern const struct xlat resource_flags[];
extern const struct xlat setns_types[];
extern const struct xlat sg_io_info[];
extern const struct xlat socketlayers[];
+extern const struct xlat socktypes[];
extern const struct xlat whence_codes[];
/* Format of syscall return values */
@@ -384,7 +382,7 @@ extern unsigned ptrace_setoptions;
extern unsigned max_strlen;
extern unsigned os_release;
#undef KERNEL_VERSION
-#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
+#define KERNEL_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c))
void error_msg(const char *fmt, ...) ATTRIBUTE_FORMAT((printf, 1, 2));
void perror_msg(const char *fmt, ...) ATTRIBUTE_FORMAT((printf, 1, 2));
@@ -394,7 +392,6 @@ void error_msg_and_help(const char *fmt, ...)
ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
void perror_msg_and_die(const char *fmt, ...)
ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_NORETURN;
-void die_out_of_memory(void) ATTRIBUTE_NORETURN;
void *xmalloc(size_t size) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((1));
void *xcalloc(size_t nmemb, size_t size)
@@ -402,13 +399,22 @@ void *xcalloc(size_t nmemb, size_t size)
void *xreallocarray(void *ptr, size_t nmemb, size_t size)
ATTRIBUTE_ALLOC_SIZE((2, 3));
char *xstrdup(const char *str) ATTRIBUTE_MALLOC;
+char *xstrndup(const char *str, size_t n) ATTRIBUTE_MALLOC;
extern int read_int_from_file(const char *, int *);
extern void set_sortby(const char *);
extern void set_overhead(int);
extern void print_pc(struct tcb *);
-extern int trace_syscall(struct tcb *, unsigned int *);
+
+extern int syscall_entering_decode(struct tcb *);
+extern int syscall_entering_trace(struct tcb *, unsigned int *);
+extern void syscall_entering_finish(struct tcb *, int);
+
+extern int syscall_exiting_decode(struct tcb *, struct timeval *);
+extern int syscall_exiting_trace(struct tcb *, struct timeval, int);
+extern void syscall_exiting_finish(struct tcb *);
+
extern void count_syscall(struct tcb *, const struct timeval *);
extern void call_summary(FILE *);
@@ -446,28 +452,28 @@ static inline int set_tcb_priv_ulong(struct tcb *tcp, unsigned long val)
}
extern int
-umoven(struct tcb *tcp, kernel_ulong_t addr, unsigned int len, void *laddr);
+umoven(struct tcb *, kernel_ulong_t addr, unsigned int len, void *laddr);
#define umove(pid, addr, objp) \
umoven((pid), (addr), sizeof(*(objp)), (void *) (objp))
extern int
-umoven_or_printaddr(struct tcb *tcp, kernel_ulong_t addr,
+umoven_or_printaddr(struct tcb *, kernel_ulong_t addr,
unsigned int len, void *laddr);
#define umove_or_printaddr(pid, addr, objp) \
umoven_or_printaddr((pid), (addr), sizeof(*(objp)), (void *) (objp))
extern int
-umoven_or_printaddr_ignore_syserror(struct tcb *tcp, kernel_ulong_t addr,
+umoven_or_printaddr_ignore_syserror(struct tcb *, kernel_ulong_t addr,
unsigned int len, void *laddr);
extern int
-umovestr(struct tcb *tcp, kernel_ulong_t addr, unsigned int len, char *laddr);
+umovestr(struct tcb *, kernel_ulong_t addr, unsigned int len, char *laddr);
extern int upeek(int pid, unsigned long, kernel_ulong_t *);
extern int upoke(int pid, unsigned long, kernel_ulong_t);
extern bool
-print_array(struct tcb *tcp,
+print_array(struct tcb *,
kernel_ulong_t start_addr,
size_t nmemb,
void *elem_buf,
@@ -494,11 +500,20 @@ extern const char *signame(const int);
extern void pathtrace_select(const char *);
extern int pathtrace_match(struct tcb *);
extern int getfdpath(struct tcb *, int, char *, unsigned);
+extern unsigned long getfdinode(struct tcb *, int);
extern enum sock_proto getfdproto(struct tcb *, int);
extern const char *xlookup(const struct xlat *, const uint64_t);
extern const char *xlat_search(const struct xlat *, const size_t, const uint64_t);
+struct dyxlat;
+struct dyxlat *dyxlat_alloc(size_t nmemb);
+void dyxlat_free(struct dyxlat *);
+const struct xlat *dyxlat_get(const struct dyxlat *);
+void dyxlat_add_pair(struct dyxlat *, uint64_t val, const char *str, size_t len);
+
+const struct xlat *genl_families_xlat(void);
+
extern unsigned long get_pagesize(void);
extern int
string_to_uint_ex(const char *str, char **endptr,
@@ -511,10 +526,24 @@ string_to_uint_upto(const char *const str, unsigned int max_val)
}
extern int next_set_bit(const void *bit_array, unsigned cur_bit, unsigned size_bits);
-#define QUOTE_0_TERMINATED 0x01
-#define QUOTE_OMIT_LEADING_TRAILING_QUOTES 0x02
-#define QUOTE_OMIT_TRAILING_0 0x08
-#define QUOTE_FORCE_HEX 0x10
+/*
+ * Returns STR if it does not start with PREFIX,
+ * or a pointer to the first char in STR after PREFIX.
+ * The length of PREFIX is specified by PREFIX_LEN.
+ */
+static inline const char *
+str_strip_prefix_len(const char *str, const char *prefix, size_t prefix_len)
+{
+ return strncmp(str, prefix, prefix_len) ? str : str + prefix_len;
+}
+
+#define STR_STRIP_PREFIX(str, prefix) \
+ str_strip_prefix_len((str), (prefix), sizeof(prefix) - 1)
+
+#define QUOTE_0_TERMINATED 0x01
+#define QUOTE_OMIT_LEADING_TRAILING_QUOTES 0x02
+#define QUOTE_OMIT_TRAILING_0 0x08
+#define QUOTE_FORCE_HEX 0x10
extern int string_quote(const char *, char *, unsigned int, unsigned int);
extern int print_quoted_string(const char *, unsigned int, unsigned int);
@@ -523,10 +552,10 @@ extern int print_quoted_string(const char *, unsigned int, unsigned int);
* b refers to the higher numbered u_arg
*/
#ifdef WORDS_BIGENDIAN
-# define ULONG_LONG(a,b) \
+# define ULONG_LONG(a, b) \
((unsigned long long)(unsigned)(b) | ((unsigned long long)(a)<<32))
#else
-# define ULONG_LONG(a,b) \
+# define ULONG_LONG(a, b) \
((unsigned long long)(unsigned)(a) | ((unsigned long long)(b)<<32))
#endif
extern int getllval(struct tcb *, unsigned long long *, int);
@@ -545,7 +574,8 @@ extern int printargs_u(struct tcb *);
extern int printargs_d(struct tcb *);
extern void addflags(const struct xlat *, uint64_t);
-extern int printflags64(const struct xlat *, uint64_t, const char *);
+extern int printflags_ex(uint64_t, const char *, const struct xlat *, ...)
+ ATTRIBUTE_SENTINEL;
extern const char *sprintflags(const char *, const struct xlat *, uint64_t);
extern const char *sprinttime(long long sec);
extern const char *sprinttime_nsec(long long sec, unsigned long long nsec);
@@ -581,9 +611,11 @@ printpath(struct tcb *, kernel_ulong_t addr);
#define TIMESPEC_TEXT_BUFSIZE \
(sizeof(long long) * 3 * 2 + sizeof("{tv_sec=-, tv_nsec=}"))
extern void printfd(struct tcb *, int);
-extern void print_sockaddr(struct tcb *tcp, const void *, int);
-extern bool print_sockaddr_by_inode(const unsigned long, const enum sock_proto);
-extern bool print_sockaddr_by_inode_cached(const unsigned long);
+extern void print_sockaddr(struct tcb *, const void *sa, int len);
+extern bool
+print_inet_addr(int af, const void *addr, unsigned int len, const char *var_name);
+extern const char *get_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode);
+extern bool print_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode);
extern void print_dirfd(struct tcb *, int);
extern int
@@ -606,7 +638,7 @@ tprint_iov_upto(struct tcb *, kernel_ulong_t len, kernel_ulong_t addr,
enum iov_decode, kernel_ulong_t data_size);
extern void
-decode_netlink(struct tcb *, kernel_ulong_t addr, kernel_ulong_t len);
+decode_netlink(struct tcb *, int fd, kernel_ulong_t addr, kernel_ulong_t len);
extern void tprint_open_modes(unsigned int);
extern const char *sprint_open_modes(unsigned int);
@@ -618,7 +650,7 @@ extern void
print_seccomp_fprog(struct tcb *, kernel_ulong_t addr, unsigned short len);
struct strace_stat;
-extern void print_struct_stat(struct tcb *tcp, const struct strace_stat *const st);
+extern void print_struct_stat(struct tcb *, const struct strace_stat *const st);
struct strace_statfs;
@@ -655,6 +687,17 @@ DECL_IOCTL(uffdio);
extern int decode_sg_io_v4(struct tcb *, const kernel_ulong_t arg);
+struct nlmsghdr;
+
+typedef bool (*netlink_decoder_t)(struct tcb *, const struct nlmsghdr *,
+ kernel_ulong_t addr, kernel_ulong_t len);
+
+#define DECL_NETLINK(name) \
+extern bool \
+decode_netlink_ ## name(struct tcb *, const struct nlmsghdr *, \
+ kernel_ulong_t addr, kernel_ulong_t len)
+DECL_NETLINK(sock_diag);
+
extern int tv_nz(const struct timeval *);
extern int tv_cmp(const struct timeval *, const struct timeval *);
extern double tv_float(const struct timeval *);
@@ -665,11 +708,11 @@ extern void tv_div(struct timeval *, const struct timeval *, int);
#ifdef USE_LIBUNWIND
extern void unwind_init(void);
-extern void unwind_tcb_init(struct tcb *tcp);
-extern void unwind_tcb_fin(struct tcb *tcp);
-extern void unwind_cache_invalidate(struct tcb* tcp);
-extern void unwind_print_stacktrace(struct tcb* tcp);
-extern void unwind_capture_stacktrace(struct tcb* tcp);
+extern void unwind_tcb_init(struct tcb *);
+extern void unwind_tcb_fin(struct tcb *);
+extern void unwind_cache_invalidate(struct tcb *);
+extern void unwind_print_stacktrace(struct tcb *);
+extern void unwind_capture_stacktrace(struct tcb *);
#endif
static inline void
@@ -685,6 +728,12 @@ printstr(struct tcb *tcp, kernel_ulong_t addr)
}
static inline int
+printflags64(const struct xlat *x, uint64_t flags, const char *dflt)
+{
+ return printflags_ex(flags, dflt, x, NULL);
+}
+
+static inline int
printflags(const struct xlat *x, unsigned int flags, const char *dflt)
{
return printflags64(x, flags, dflt);
@@ -716,10 +765,10 @@ typedef struct {
extern void print_timeval32_t(const timeval32_t *);
extern void printrusage32(struct tcb *, kernel_ulong_t);
-extern const char *sprint_timeval32(struct tcb *tcp, kernel_ulong_t);
-extern void print_timeval32(struct tcb *tcp, kernel_ulong_t);
-extern void print_timeval32_utimes(struct tcb *tcp, kernel_ulong_t);
-extern void print_itimerval32(struct tcb *tcp, kernel_ulong_t);
+extern const char *sprint_timeval32(struct tcb *, kernel_ulong_t addr);
+extern void print_timeval32(struct tcb *, kernel_ulong_t addr);
+extern void print_timeval32_utimes(struct tcb *, kernel_ulong_t addr);
+extern void print_itimerval32(struct tcb *, kernel_ulong_t addr);
#endif
#ifdef HAVE_STRUCT_USER_DESC
diff --git a/desc.c b/desc.c
index d52afc43..52e58c86 100644
--- a/desc.c
+++ b/desc.c
@@ -164,8 +164,7 @@ decode_select(struct tcb *const tcp, const kernel_ulong_t *const args,
);
first = 0;
sep = ", ";
- }
- else {
+ } else {
outptr += sprintf(outptr, " %u", j);
}
}
diff --git a/dirent.c b/dirent.c
index d413ed62..71963ec3 100644
--- a/dirent.c
+++ b/dirent.c
@@ -133,7 +133,7 @@ SYS_FUNC(getdents)
d->d_reclen);
if (print_quoted_string(d->d_name, d_name_len,
- QUOTE_0_TERMINATED) > 0) {
+ QUOTE_0_TERMINATED) > 0) {
tprints("...");
}
diff --git a/dirent64.c b/dirent64.c
index e2a42536..d54cb9e7 100644
--- a/dirent64.c
+++ b/dirent64.c
@@ -106,7 +106,7 @@ SYS_FUNC(getdents64)
tprints(", d_name=");
if (print_quoted_string(d->d_name, d_name_len,
- QUOTE_0_TERMINATED) > 0) {
+ QUOTE_0_TERMINATED) > 0) {
tprints("...");
}
diff --git a/dm.c b/dm.c
index 26dcb226..24136264 100644
--- a/dm.c
+++ b/dm.c
@@ -374,7 +374,7 @@ misplaced:
static void
dm_decode_dm_target_msg(struct tcb *const tcp, const kernel_ulong_t addr,
- const struct dm_ioctl *const ioc)
+ const struct dm_ioctl *const ioc)
{
if (ioc->data_start == ioc->data_size)
return;
diff --git a/dyxlat.c b/dyxlat.c
new file mode 100644
index 00000000..ef6bef4f
--- /dev/null
+++ b/dyxlat.c
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+
+struct dyxlat {
+ size_t used;
+ size_t allocated;
+ struct xlat *xlat;
+};
+
+#define MARK_END(xlat) \
+ do { \
+ (xlat).val = 0; \
+ (xlat).str = 0; \
+ } while (0)
+
+struct dyxlat *
+dyxlat_alloc(const size_t nmemb)
+{
+ struct dyxlat *const dyxlat = xmalloc(sizeof(*dyxlat));
+
+ dyxlat->used = 1;
+ dyxlat->allocated = nmemb ? nmemb : 16;
+ dyxlat->xlat = xcalloc(dyxlat->allocated, sizeof(struct xlat));
+ MARK_END(dyxlat->xlat[0]);
+
+ return dyxlat;
+}
+
+void
+dyxlat_free(struct dyxlat *const dyxlat)
+{
+ size_t i;
+
+ for (i = 0; i < dyxlat->used - 1; ++i) {
+ free((void *) dyxlat->xlat[i].str);
+ dyxlat->xlat[i].str = NULL;
+ }
+
+ free(dyxlat->xlat);
+ dyxlat->xlat = NULL;
+ free(dyxlat);
+}
+
+const struct xlat *
+dyxlat_get(const struct dyxlat *const dyxlat)
+{
+ return dyxlat->xlat;
+}
+
+void
+dyxlat_add_pair(struct dyxlat *const dyxlat, const uint64_t val,
+ const char *const str, const size_t len)
+{
+ size_t i;
+
+ for (i = 0; i < dyxlat->used - 1; ++i) {
+ if (dyxlat->xlat[i].val == val) {
+ if (strncmp(dyxlat->xlat[i].str, str, len) == 0
+ && dyxlat->xlat[i].str[len] == '\0')
+ return;
+
+ free((void *) dyxlat->xlat[i].str);
+ dyxlat->xlat[i].str = xstrndup(str, len);
+ return;
+ }
+ }
+
+ if (dyxlat->used >= dyxlat->allocated) {
+ dyxlat->allocated *= 2;
+ dyxlat->xlat = xreallocarray(dyxlat->xlat, dyxlat->allocated,
+ sizeof(struct xlat));
+ }
+
+ dyxlat->xlat[dyxlat->used - 1].val = val;
+ dyxlat->xlat[dyxlat->used - 1].str = xstrndup(str, len);
+ MARK_END(dyxlat->xlat[dyxlat->used]);
+ dyxlat->used++;
+}
diff --git a/evdev.c b/evdev.c
index 68745515..983bf148 100644
--- a/evdev.c
+++ b/evdev.c
@@ -517,7 +517,7 @@ evdev_write_ioctl(struct tcb *const tcp, const unsigned int code,
MPERS_PRINTER_DECL(int, evdev_ioctl, struct tcb *const tcp,
const unsigned int code, const kernel_ulong_t arg)
{
- switch(_IOC_DIR(code)) {
+ switch (_IOC_DIR(code)) {
case _IOC_READ:
if (entering(tcp))
return 0;
diff --git a/fetch_struct_statfs.c b/fetch_struct_statfs.c
index 454e5b4e..4fba0f75 100644
--- a/fetch_struct_statfs.c
+++ b/fetch_struct_statfs.c
@@ -84,7 +84,7 @@ MPERS_PRINTER_DECL(bool, fetch_struct_statfs64,
{
struct_statfs64 b;
- if (sizeof(b) != size
+ if (sizeof(b) != size
#ifdef COMPAT_STATFS64_PADDED_SIZE
&& sizeof(b) != COMPAT_STATFS64_PADDED_SIZE
#endif
diff --git a/file_ioctl.c b/file_ioctl.c
index fec2f69b..cc2378f6 100644
--- a/file_ioctl.c
+++ b/file_ioctl.c
@@ -36,11 +36,11 @@
#endif
#ifndef FICLONE
-# define FICLONE _IOW(0x94, 9, int)
+# define FICLONE _IOW(0x94, 9, int)
#endif
#ifndef FICLONERANGE
-# define FICLONERANGE _IOW(0x94, 13, struct file_clone_range)
+# define FICLONERANGE _IOW(0x94, 13, struct file_clone_range)
struct file_clone_range {
int64_t src_fd;
uint64_t src_offset;
@@ -50,7 +50,7 @@ struct file_clone_range {
#endif
#ifndef FIDEDUPERANGE
-# define FIDEDUPERANGE _IOWR(0x94, 54, struct file_dedupe_range)
+# define FIDEDUPERANGE _IOWR(0x94, 54, struct file_dedupe_range)
struct file_dedupe_range_info {
int64_t dest_fd; /* in - destination file */
uint64_t dest_offset; /* in - start of extent in destination */
diff --git a/gcc_compat.h b/gcc_compat.h
index 08e81173..956aff17 100644
--- a/gcc_compat.h
+++ b/gcc_compat.h
@@ -84,7 +84,7 @@
#if GNUC_PREREQ(4, 1)
# define ALIGNOF(t_) __alignof__(t_)
#else
-# define ALIGNOF(t_) (sizeof(struct {char x_; t_ y_;}) - sizeof(t_))
+# define ALIGNOF(t_) (sizeof(struct { char x_; t_ y_; }) - sizeof(t_))
#endif
#if GNUC_PREREQ(4, 3)
diff --git a/io.c b/io.c
index acac455a..9ce1cf55 100644
--- a/io.c
+++ b/io.c
@@ -70,7 +70,7 @@ print_iovec(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
kernel_ulong_t iov_buf[2], len;
struct print_iovec_config *c = data;
- if (elem_size < sizeof(iov_buf)) {
+ if (elem_size < sizeof(iov_buf)) {
iov_buf[0] = ((unsigned int *) elem_buf)[0];
iov_buf[1] = ((unsigned int *) elem_buf)[1];
iov = iov_buf;
@@ -95,7 +95,8 @@ print_iovec(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
len = c->data_size;
if (c->data_size != (kernel_ulong_t) -1)
c->data_size -= len;
- decode_netlink(tcp, iov[0], len);
+ /* assume that the descriptor is 1st syscall argument */
+ decode_netlink(tcp, tcp->u_arg[0], iov[0], len);
break;
default:
printaddr(iov[0]);
@@ -117,8 +118,9 @@ tprint_iov_upto(struct tcb *const tcp, const kernel_ulong_t len,
const kernel_ulong_t data_size)
{
kernel_ulong_t iov[2];
- struct print_iovec_config config =
- { .decode_iov = decode_iov, .data_size = data_size };
+ struct print_iovec_config config = {
+ .decode_iov = decode_iov, .data_size = data_size
+ };
print_array(tcp, addr, len, iov, current_wordsize * 2,
umoven_or_printaddr_ignore_syserror, print_iovec, &config);
diff --git a/ioctlsort.c b/ioctlsort.c
index 9bab978d..932c6671 100644
--- a/ioctlsort.c
+++ b/ioctlsort.c
@@ -56,7 +56,7 @@ is_prefix(const char *s1, const char *s2)
}
static int
-compare_name_info(const void* a, const void* b)
+compare_name_info(const void *a, const void *b)
{
int rc;
@@ -93,7 +93,7 @@ code(const struct ioctlent *e)
}
static int
-compare_code_name(const void* a, const void* b)
+compare_code_name(const void *a, const void *b)
{
unsigned int code1 = code((struct ioctlent *) a);
unsigned int code2 = code((struct ioctlent *) b);
diff --git a/ipc_defs.h b/ipc_defs.h
index fc5d88fe..740fd9de 100644
--- a/ipc_defs.h
+++ b/ipc_defs.h
@@ -41,8 +41,11 @@
# define IPC_64 0x100
#endif
-#define PRINTCTL(flagset, arg, dflt) \
- if ((arg) & IPC_64) tprints("IPC_64|"); \
- printxval((flagset), (arg) &~ IPC_64, dflt)
+#define PRINTCTL(flagset, arg, dflt) \
+ do { \
+ if ((arg) & IPC_64) \
+ tprints("IPC_64|"); \
+ printxval((flagset), (arg) & ~IPC_64, dflt); \
+ } while (0)
#endif /* !STRACE_IPC_DEFS_H */
diff --git a/kcmp.c b/kcmp.c
index 8c0994bc..962952bd 100644
--- a/kcmp.c
+++ b/kcmp.c
@@ -40,7 +40,7 @@ SYS_FUNC(kcmp)
tprintf("%d, %d, ", pid1, pid2);
printxval(kcmp_types, type, "KCMP_???");
- switch(type) {
+ switch (type) {
case KCMP_FILE:
tprintf(", %u, %u", (unsigned) idx1, (unsigned) idx2);
break;
diff --git a/kexec.c b/kexec.c
index c11113d1..8157cc90 100644
--- a/kexec.c
+++ b/kexec.c
@@ -44,7 +44,7 @@ print_seg(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
const kernel_ulong_t *seg;
kernel_ulong_t seg_buf[4];
- if (elem_size < sizeof(seg_buf)) {
+ if (elem_size < sizeof(seg_buf)) {
unsigned int i;
for (i = 0; i < ARRAY_SIZE(seg_buf); ++i)
diff --git a/linux/32/ioctls_inc_align16.h b/linux/32/ioctls_inc_align16.h
index d509dc65..c16d5a8f 100644
--- a/linux/32/ioctls_inc_align16.h
+++ b/linux/32/ioctls_inc_align16.h
@@ -186,7 +186,7 @@
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_CPU_PREP", _IOC_WRITE, 0x6444, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_INFO", _IOC_READ|_IOC_WRITE, 0x6443, 0x10 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_NEW", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 },
-{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x30 },
+{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x38 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_USERPTR", _IOC_READ|_IOC_WRITE, 0x6448, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_WAIT", _IOC_WRITE, 0x6449, 0x20 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GET_PARAM", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
@@ -233,6 +233,7 @@
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_ENTERVT", _IOC_NONE, 0x6459, 0x00 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER", _IOC_WRITE, 0x6454, 0x28 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2", _IOC_WRITE, 0x6469, 0x40 },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2_WR", _IOC_READ|_IOC_WRITE, 0x6469, 0x40 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_APERTURE", _IOC_READ, 0x6463, 0x10 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_CACHING", _IOC_READ|_IOC_WRITE, 0x6470, 0x08 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6462, 0x10 },
@@ -487,6 +488,8 @@
{ "linux/apm_bios.h", "APM_IOC_SUSPEND", _IOC_NONE, 0x4102, 0x00 },
{ "linux/arcfb.h", "FBIO_GETCONTROL2", _IOC_READ, 0x4689, 0x04 },
{ "linux/arcfb.h", "FBIO_WAITEVENT", _IOC_NONE, 0x4688, 0x00 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_GET_SIZE", _IOC_READ|_IOC_WRITE, 0xb200, 0x10 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_MAP", _IOC_WRITE, 0xb201, 0x10 },
{ "linux/atm_eni.h", "ENI_MEMDUMP", _IOC_WRITE, 0x6160, 0x0c },
{ "linux/atm_eni.h", "ENI_SETMULT", _IOC_WRITE, 0x6167, 0x0c },
{ "linux/atm_he.h", "HE_GET_REG", _IOC_WRITE, 0x6160, 0x0c },
@@ -974,6 +977,7 @@
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_START", _IOC_READ|_IOC_WRITE, 0xaf03, 0x10 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_STOP", _IOC_READ|_IOC_WRITE, 0xaf04, 0x08 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_SETPROP", _IOC_READ|_IOC_WRITE, 0xaf08, 0x28 },
+{ "linux/fsmap.h", "FS_IOC_GETFSMAP", _IOC_READ|_IOC_WRITE, 0x583b, 0xc0 },
{ "linux/fuse.h", "FUSE_DEV_IOC_CLONE", _IOC_READ, 0xe500, 0x04 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_DDCB", _IOC_READ|_IOC_WRITE, 0xa532, 0xe8 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_RAW_DDCB", _IOC_READ|_IOC_WRITE, 0xa533, 0xe8 },
@@ -1506,6 +1510,12 @@
{ "linux/omapfb.h", "OMAPFB_VSYNC", _IOC_NONE, 0x4f26, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORGO", _IOC_NONE, 0x4f3c, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORVSYNC", _IOC_NONE, 0x4f39, 0x00 },
+{ "linux/pcitest.h", "PCITEST_BAR", _IOC_NONE, 0x5001, 0x00 },
+{ "linux/pcitest.h", "PCITEST_COPY", _IOC_WRITE, 0x5006, 0x04 },
+{ "linux/pcitest.h", "PCITEST_LEGACY_IRQ", _IOC_NONE, 0x5002, 0x00 },
+{ "linux/pcitest.h", "PCITEST_MSI", _IOC_WRITE, 0x5003, 0x04 },
+{ "linux/pcitest.h", "PCITEST_READ", _IOC_WRITE, 0x5005, 0x04 },
+{ "linux/pcitest.h", "PCITEST_WRITE", _IOC_WRITE, 0x5004, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
@@ -1940,6 +1950,12 @@
{ "linux/suspend_ioctls.h", "SNAPSHOT_S2RAM", _IOC_NONE, 0x330b, 0x00 },
{ "linux/suspend_ioctls.h", "SNAPSHOT_SET_SWAP_AREA", _IOC_WRITE, 0x330d, 0x0c },
{ "linux/suspend_ioctls.h", "SNAPSHOT_UNFREEZE", _IOC_NONE, 0x3302, 0x00 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_CTL", _IOC_READ|_IOC_WRITE, 0x5743, 0x28 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_SUMMARY", _IOC_READ, 0x5742, 0x198 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_INFO", _IOC_READ, 0x5740, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_PART_INFO", _IOC_READ|_IOC_WRITE, 0x5741, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PFF_TO_PORT", _IOC_READ|_IOC_WRITE, 0x5744, 0x0c },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PORT_TO_PFF", _IOC_READ|_IOC_WRITE, 0x5745, 0x0c },
{ "linux/sync_file.h", "SYNC_IOC_FILE_INFO", _IOC_READ|_IOC_WRITE, 0x3e04, 0x38 },
{ "linux/sync_file.h", "SYNC_IOC_MERGE", _IOC_READ|_IOC_WRITE, 0x3e03, 0x30 },
{ "linux/synclink.h", "MGSL_IOCCLRMODCOUNT", _IOC_NONE, 0x6d0f, 0x00 },
@@ -1962,6 +1978,14 @@
{ "linux/synclink.h", "MGSL_IOCTXENABLE", _IOC_NONE, 0x6d04, 0x00 },
{ "linux/synclink.h", "MGSL_IOCWAITEVENT", _IOC_READ|_IOC_WRITE, 0x6d08, 0x04 },
{ "linux/synclink.h", "MGSL_IOCWAITGPIO", _IOC_READ|_IOC_WRITE, 0x6d12, 0x10 },
+{ "linux/tee.h", "TEE_IOC_CANCEL", _IOC_READ, 0xa404, 0x08 },
+{ "linux/tee.h", "TEE_IOC_CLOSE_SESSION", _IOC_READ, 0xa405, 0x04 },
+{ "linux/tee.h", "TEE_IOC_INVOKE", _IOC_READ, 0xa403, 0x10 },
+{ "linux/tee.h", "TEE_IOC_OPEN_SESSION", _IOC_READ, 0xa402, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SHM_ALLOC", _IOC_READ|_IOC_WRITE, 0xa401, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 },
+{ "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c },
{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 },
{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 },
{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 },
@@ -2690,17 +2714,8 @@
{ "staging/android/ashmem.h", "ASHMEM_SET_PROT_MASK", _IOC_WRITE, 0x7705, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_SET_SIZE", _IOC_WRITE, 0x7703, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_UNPIN", _IOC_WRITE, 0x7708, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x14 },
-{ "staging/android/ion.h", "ION_IOC_CUSTOM", _IOC_READ|_IOC_WRITE, 0x4906, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_FREE", _IOC_READ|_IOC_WRITE, 0x4901, 0x04 },
+{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x18 },
{ "staging/android/ion.h", "ION_IOC_HEAP_QUERY", _IOC_READ|_IOC_WRITE, 0x4908, 0x18 },
-{ "staging/android/ion.h", "ION_IOC_IMPORT", _IOC_READ|_IOC_WRITE, 0x4905, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_MAP", _IOC_READ|_IOC_WRITE, 0x4902, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SHARE", _IOC_READ|_IOC_WRITE, 0x4904, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SYNC", _IOC_READ|_IOC_WRITE, 0x4907, 0x08 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_DMA_MAPPING", _IOC_WRITE, 0x49f1, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_KERNEL_MAPPING", _IOC_WRITE, 0x49f2, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_SET_FD", _IOC_NONE, 0x49f0, 0x00 },
{ "video/da8xx-fb.h", "FBIGET_BRIGHTNESS", _IOC_READ, 0x4603, 0x04 },
{ "video/da8xx-fb.h", "FBIGET_COLOR", _IOC_READ, 0x4605, 0x04 },
{ "video/da8xx-fb.h", "FBIOGET_CONTRAST", _IOC_READ, 0x4601, 0x04 },
diff --git a/linux/32/ioctls_inc_align32.h b/linux/32/ioctls_inc_align32.h
index b1b0339f..7caf8e85 100644
--- a/linux/32/ioctls_inc_align32.h
+++ b/linux/32/ioctls_inc_align32.h
@@ -186,7 +186,7 @@
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_CPU_PREP", _IOC_WRITE, 0x6444, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_INFO", _IOC_READ|_IOC_WRITE, 0x6443, 0x10 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_NEW", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 },
-{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x30 },
+{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x38 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_USERPTR", _IOC_READ|_IOC_WRITE, 0x6448, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_WAIT", _IOC_WRITE, 0x6449, 0x20 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GET_PARAM", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
@@ -233,6 +233,7 @@
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_ENTERVT", _IOC_NONE, 0x6459, 0x00 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER", _IOC_WRITE, 0x6454, 0x28 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2", _IOC_WRITE, 0x6469, 0x40 },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2_WR", _IOC_READ|_IOC_WRITE, 0x6469, 0x40 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_APERTURE", _IOC_READ, 0x6463, 0x10 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_CACHING", _IOC_READ|_IOC_WRITE, 0x6470, 0x08 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6462, 0x10 },
@@ -487,6 +488,8 @@
{ "linux/apm_bios.h", "APM_IOC_SUSPEND", _IOC_NONE, 0x4102, 0x00 },
{ "linux/arcfb.h", "FBIO_GETCONTROL2", _IOC_READ, 0x4689, 0x04 },
{ "linux/arcfb.h", "FBIO_WAITEVENT", _IOC_NONE, 0x4688, 0x00 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_GET_SIZE", _IOC_READ|_IOC_WRITE, 0xb200, 0x10 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_MAP", _IOC_WRITE, 0xb201, 0x10 },
{ "linux/atm_eni.h", "ENI_MEMDUMP", _IOC_WRITE, 0x6160, 0x0c },
{ "linux/atm_eni.h", "ENI_SETMULT", _IOC_WRITE, 0x6167, 0x0c },
{ "linux/atm_he.h", "HE_GET_REG", _IOC_WRITE, 0x6160, 0x0c },
@@ -974,6 +977,7 @@
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_START", _IOC_READ|_IOC_WRITE, 0xaf03, 0x10 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_STOP", _IOC_READ|_IOC_WRITE, 0xaf04, 0x08 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_SETPROP", _IOC_READ|_IOC_WRITE, 0xaf08, 0x28 },
+{ "linux/fsmap.h", "FS_IOC_GETFSMAP", _IOC_READ|_IOC_WRITE, 0x583b, 0xc0 },
{ "linux/fuse.h", "FUSE_DEV_IOC_CLONE", _IOC_READ, 0xe500, 0x04 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_DDCB", _IOC_READ|_IOC_WRITE, 0xa532, 0xe8 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_RAW_DDCB", _IOC_READ|_IOC_WRITE, 0xa533, 0xe8 },
@@ -1506,6 +1510,12 @@
{ "linux/omapfb.h", "OMAPFB_VSYNC", _IOC_NONE, 0x4f26, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORGO", _IOC_NONE, 0x4f3c, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORVSYNC", _IOC_NONE, 0x4f39, 0x00 },
+{ "linux/pcitest.h", "PCITEST_BAR", _IOC_NONE, 0x5001, 0x00 },
+{ "linux/pcitest.h", "PCITEST_COPY", _IOC_WRITE, 0x5006, 0x04 },
+{ "linux/pcitest.h", "PCITEST_LEGACY_IRQ", _IOC_NONE, 0x5002, 0x00 },
+{ "linux/pcitest.h", "PCITEST_MSI", _IOC_WRITE, 0x5003, 0x04 },
+{ "linux/pcitest.h", "PCITEST_READ", _IOC_WRITE, 0x5005, 0x04 },
+{ "linux/pcitest.h", "PCITEST_WRITE", _IOC_WRITE, 0x5004, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
@@ -1940,6 +1950,12 @@
{ "linux/suspend_ioctls.h", "SNAPSHOT_S2RAM", _IOC_NONE, 0x330b, 0x00 },
{ "linux/suspend_ioctls.h", "SNAPSHOT_SET_SWAP_AREA", _IOC_WRITE, 0x330d, 0x0c },
{ "linux/suspend_ioctls.h", "SNAPSHOT_UNFREEZE", _IOC_NONE, 0x3302, 0x00 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_CTL", _IOC_READ|_IOC_WRITE, 0x5743, 0x28 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_SUMMARY", _IOC_READ, 0x5742, 0x198 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_INFO", _IOC_READ, 0x5740, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_PART_INFO", _IOC_READ|_IOC_WRITE, 0x5741, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PFF_TO_PORT", _IOC_READ|_IOC_WRITE, 0x5744, 0x0c },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PORT_TO_PFF", _IOC_READ|_IOC_WRITE, 0x5745, 0x0c },
{ "linux/sync_file.h", "SYNC_IOC_FILE_INFO", _IOC_READ|_IOC_WRITE, 0x3e04, 0x38 },
{ "linux/sync_file.h", "SYNC_IOC_MERGE", _IOC_READ|_IOC_WRITE, 0x3e03, 0x30 },
{ "linux/synclink.h", "MGSL_IOCCLRMODCOUNT", _IOC_NONE, 0x6d0f, 0x00 },
@@ -1962,6 +1978,14 @@
{ "linux/synclink.h", "MGSL_IOCTXENABLE", _IOC_NONE, 0x6d04, 0x00 },
{ "linux/synclink.h", "MGSL_IOCWAITEVENT", _IOC_READ|_IOC_WRITE, 0x6d08, 0x04 },
{ "linux/synclink.h", "MGSL_IOCWAITGPIO", _IOC_READ|_IOC_WRITE, 0x6d12, 0x10 },
+{ "linux/tee.h", "TEE_IOC_CANCEL", _IOC_READ, 0xa404, 0x08 },
+{ "linux/tee.h", "TEE_IOC_CLOSE_SESSION", _IOC_READ, 0xa405, 0x04 },
+{ "linux/tee.h", "TEE_IOC_INVOKE", _IOC_READ, 0xa403, 0x10 },
+{ "linux/tee.h", "TEE_IOC_OPEN_SESSION", _IOC_READ, 0xa402, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SHM_ALLOC", _IOC_READ|_IOC_WRITE, 0xa401, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 },
+{ "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c },
{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 },
{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 },
{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 },
@@ -2690,17 +2714,8 @@
{ "staging/android/ashmem.h", "ASHMEM_SET_PROT_MASK", _IOC_WRITE, 0x7705, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_SET_SIZE", _IOC_WRITE, 0x7703, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_UNPIN", _IOC_WRITE, 0x7708, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x14 },
-{ "staging/android/ion.h", "ION_IOC_CUSTOM", _IOC_READ|_IOC_WRITE, 0x4906, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_FREE", _IOC_READ|_IOC_WRITE, 0x4901, 0x04 },
+{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x18 },
{ "staging/android/ion.h", "ION_IOC_HEAP_QUERY", _IOC_READ|_IOC_WRITE, 0x4908, 0x18 },
-{ "staging/android/ion.h", "ION_IOC_IMPORT", _IOC_READ|_IOC_WRITE, 0x4905, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_MAP", _IOC_READ|_IOC_WRITE, 0x4902, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SHARE", _IOC_READ|_IOC_WRITE, 0x4904, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SYNC", _IOC_READ|_IOC_WRITE, 0x4907, 0x08 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_DMA_MAPPING", _IOC_WRITE, 0x49f1, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_KERNEL_MAPPING", _IOC_WRITE, 0x49f2, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_SET_FD", _IOC_NONE, 0x49f0, 0x00 },
{ "video/da8xx-fb.h", "FBIGET_BRIGHTNESS", _IOC_READ, 0x4603, 0x04 },
{ "video/da8xx-fb.h", "FBIGET_COLOR", _IOC_READ, 0x4605, 0x04 },
{ "video/da8xx-fb.h", "FBIOGET_CONTRAST", _IOC_READ, 0x4601, 0x04 },
diff --git a/linux/32/ioctls_inc_align64.h b/linux/32/ioctls_inc_align64.h
index ac97f5f1..8f8c240a 100644
--- a/linux/32/ioctls_inc_align64.h
+++ b/linux/32/ioctls_inc_align64.h
@@ -186,7 +186,7 @@
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_CPU_PREP", _IOC_WRITE, 0x6444, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_INFO", _IOC_READ|_IOC_WRITE, 0x6443, 0x10 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_NEW", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 },
-{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x30 },
+{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x38 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_USERPTR", _IOC_READ|_IOC_WRITE, 0x6448, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_WAIT", _IOC_WRITE, 0x6449, 0x20 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GET_PARAM", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
@@ -233,6 +233,7 @@
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_ENTERVT", _IOC_NONE, 0x6459, 0x00 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER", _IOC_WRITE, 0x6454, 0x28 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2", _IOC_WRITE, 0x6469, 0x40 },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2_WR", _IOC_READ|_IOC_WRITE, 0x6469, 0x40 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_APERTURE", _IOC_READ, 0x6463, 0x10 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_CACHING", _IOC_READ|_IOC_WRITE, 0x6470, 0x08 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6462, 0x10 },
@@ -487,6 +488,8 @@
{ "linux/apm_bios.h", "APM_IOC_SUSPEND", _IOC_NONE, 0x4102, 0x00 },
{ "linux/arcfb.h", "FBIO_GETCONTROL2", _IOC_READ, 0x4689, 0x04 },
{ "linux/arcfb.h", "FBIO_WAITEVENT", _IOC_NONE, 0x4688, 0x00 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_GET_SIZE", _IOC_READ|_IOC_WRITE, 0xb200, 0x10 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_MAP", _IOC_WRITE, 0xb201, 0x10 },
{ "linux/atm_eni.h", "ENI_MEMDUMP", _IOC_WRITE, 0x6160, 0x0c },
{ "linux/atm_eni.h", "ENI_SETMULT", _IOC_WRITE, 0x6167, 0x0c },
{ "linux/atm_he.h", "HE_GET_REG", _IOC_WRITE, 0x6160, 0x0c },
@@ -974,6 +977,7 @@
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_START", _IOC_READ|_IOC_WRITE, 0xaf03, 0x10 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_STOP", _IOC_READ|_IOC_WRITE, 0xaf04, 0x08 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_SETPROP", _IOC_READ|_IOC_WRITE, 0xaf08, 0x28 },
+{ "linux/fsmap.h", "FS_IOC_GETFSMAP", _IOC_READ|_IOC_WRITE, 0x583b, 0xc0 },
{ "linux/fuse.h", "FUSE_DEV_IOC_CLONE", _IOC_READ, 0xe500, 0x04 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_DDCB", _IOC_READ|_IOC_WRITE, 0xa532, 0xe8 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_RAW_DDCB", _IOC_READ|_IOC_WRITE, 0xa533, 0xe8 },
@@ -1506,6 +1510,12 @@
{ "linux/omapfb.h", "OMAPFB_VSYNC", _IOC_NONE, 0x4f26, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORGO", _IOC_NONE, 0x4f3c, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORVSYNC", _IOC_NONE, 0x4f39, 0x00 },
+{ "linux/pcitest.h", "PCITEST_BAR", _IOC_NONE, 0x5001, 0x00 },
+{ "linux/pcitest.h", "PCITEST_COPY", _IOC_WRITE, 0x5006, 0x04 },
+{ "linux/pcitest.h", "PCITEST_LEGACY_IRQ", _IOC_NONE, 0x5002, 0x00 },
+{ "linux/pcitest.h", "PCITEST_MSI", _IOC_WRITE, 0x5003, 0x04 },
+{ "linux/pcitest.h", "PCITEST_READ", _IOC_WRITE, 0x5005, 0x04 },
+{ "linux/pcitest.h", "PCITEST_WRITE", _IOC_WRITE, 0x5004, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
@@ -1940,6 +1950,12 @@
{ "linux/suspend_ioctls.h", "SNAPSHOT_S2RAM", _IOC_NONE, 0x330b, 0x00 },
{ "linux/suspend_ioctls.h", "SNAPSHOT_SET_SWAP_AREA", _IOC_WRITE, 0x330d, 0x0c },
{ "linux/suspend_ioctls.h", "SNAPSHOT_UNFREEZE", _IOC_NONE, 0x3302, 0x00 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_CTL", _IOC_READ|_IOC_WRITE, 0x5743, 0x28 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_SUMMARY", _IOC_READ, 0x5742, 0x198 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_INFO", _IOC_READ, 0x5740, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_PART_INFO", _IOC_READ|_IOC_WRITE, 0x5741, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PFF_TO_PORT", _IOC_READ|_IOC_WRITE, 0x5744, 0x0c },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PORT_TO_PFF", _IOC_READ|_IOC_WRITE, 0x5745, 0x0c },
{ "linux/sync_file.h", "SYNC_IOC_FILE_INFO", _IOC_READ|_IOC_WRITE, 0x3e04, 0x38 },
{ "linux/sync_file.h", "SYNC_IOC_MERGE", _IOC_READ|_IOC_WRITE, 0x3e03, 0x30 },
{ "linux/synclink.h", "MGSL_IOCCLRMODCOUNT", _IOC_NONE, 0x6d0f, 0x00 },
@@ -1962,6 +1978,14 @@
{ "linux/synclink.h", "MGSL_IOCTXENABLE", _IOC_NONE, 0x6d04, 0x00 },
{ "linux/synclink.h", "MGSL_IOCWAITEVENT", _IOC_READ|_IOC_WRITE, 0x6d08, 0x04 },
{ "linux/synclink.h", "MGSL_IOCWAITGPIO", _IOC_READ|_IOC_WRITE, 0x6d12, 0x10 },
+{ "linux/tee.h", "TEE_IOC_CANCEL", _IOC_READ, 0xa404, 0x08 },
+{ "linux/tee.h", "TEE_IOC_CLOSE_SESSION", _IOC_READ, 0xa405, 0x04 },
+{ "linux/tee.h", "TEE_IOC_INVOKE", _IOC_READ, 0xa403, 0x10 },
+{ "linux/tee.h", "TEE_IOC_OPEN_SESSION", _IOC_READ, 0xa402, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SHM_ALLOC", _IOC_READ|_IOC_WRITE, 0xa401, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 },
+{ "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c },
{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 },
{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 },
{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 },
@@ -2690,17 +2714,8 @@
{ "staging/android/ashmem.h", "ASHMEM_SET_PROT_MASK", _IOC_WRITE, 0x7705, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_SET_SIZE", _IOC_WRITE, 0x7703, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_UNPIN", _IOC_WRITE, 0x7708, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x14 },
-{ "staging/android/ion.h", "ION_IOC_CUSTOM", _IOC_READ|_IOC_WRITE, 0x4906, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_FREE", _IOC_READ|_IOC_WRITE, 0x4901, 0x04 },
+{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x18 },
{ "staging/android/ion.h", "ION_IOC_HEAP_QUERY", _IOC_READ|_IOC_WRITE, 0x4908, 0x18 },
-{ "staging/android/ion.h", "ION_IOC_IMPORT", _IOC_READ|_IOC_WRITE, 0x4905, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_MAP", _IOC_READ|_IOC_WRITE, 0x4902, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SHARE", _IOC_READ|_IOC_WRITE, 0x4904, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SYNC", _IOC_READ|_IOC_WRITE, 0x4907, 0x08 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_DMA_MAPPING", _IOC_WRITE, 0x49f1, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_KERNEL_MAPPING", _IOC_WRITE, 0x49f2, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_SET_FD", _IOC_NONE, 0x49f0, 0x00 },
{ "video/da8xx-fb.h", "FBIGET_BRIGHTNESS", _IOC_READ, 0x4603, 0x04 },
{ "video/da8xx-fb.h", "FBIGET_COLOR", _IOC_READ, 0x4605, 0x04 },
{ "video/da8xx-fb.h", "FBIOGET_CONTRAST", _IOC_READ, 0x4601, 0x04 },
diff --git a/linux/64/ioctls_inc.h b/linux/64/ioctls_inc.h
index 995c8ce9..2e9e9ad4 100644
--- a/linux/64/ioctls_inc.h
+++ b/linux/64/ioctls_inc.h
@@ -186,7 +186,7 @@
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_CPU_PREP", _IOC_WRITE, 0x6444, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_INFO", _IOC_READ|_IOC_WRITE, 0x6443, 0x10 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_NEW", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 },
-{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x30 },
+{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x38 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_USERPTR", _IOC_READ|_IOC_WRITE, 0x6448, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_WAIT", _IOC_WRITE, 0x6449, 0x20 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GET_PARAM", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
@@ -233,6 +233,7 @@
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_ENTERVT", _IOC_NONE, 0x6459, 0x00 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER", _IOC_WRITE, 0x6454, 0x28 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2", _IOC_WRITE, 0x6469, 0x40 },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2_WR", _IOC_READ|_IOC_WRITE, 0x6469, 0x40 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_APERTURE", _IOC_READ, 0x6463, 0x10 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_CACHING", _IOC_READ|_IOC_WRITE, 0x6470, 0x08 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6462, 0x10 },
@@ -487,6 +488,8 @@
{ "linux/apm_bios.h", "APM_IOC_SUSPEND", _IOC_NONE, 0x4102, 0x00 },
{ "linux/arcfb.h", "FBIO_GETCONTROL2", _IOC_READ, 0x4689, 0x08 },
{ "linux/arcfb.h", "FBIO_WAITEVENT", _IOC_NONE, 0x4688, 0x00 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_GET_SIZE", _IOC_READ|_IOC_WRITE, 0xb200, 0x10 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_MAP", _IOC_WRITE, 0xb201, 0x10 },
{ "linux/atm_eni.h", "ENI_MEMDUMP", _IOC_WRITE, 0x6160, 0x10 },
{ "linux/atm_eni.h", "ENI_SETMULT", _IOC_WRITE, 0x6167, 0x10 },
{ "linux/atm_he.h", "HE_GET_REG", _IOC_WRITE, 0x6160, 0x10 },
@@ -974,6 +977,7 @@
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_START", _IOC_READ|_IOC_WRITE, 0xaf03, 0x10 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_STOP", _IOC_READ|_IOC_WRITE, 0xaf04, 0x08 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_SETPROP", _IOC_READ|_IOC_WRITE, 0xaf08, 0x28 },
+{ "linux/fsmap.h", "FS_IOC_GETFSMAP", _IOC_READ|_IOC_WRITE, 0x583b, 0xc0 },
{ "linux/fuse.h", "FUSE_DEV_IOC_CLONE", _IOC_READ, 0xe500, 0x04 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_DDCB", _IOC_READ|_IOC_WRITE, 0xa532, 0xe8 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_RAW_DDCB", _IOC_READ|_IOC_WRITE, 0xa533, 0xe8 },
@@ -1506,6 +1510,12 @@
{ "linux/omapfb.h", "OMAPFB_VSYNC", _IOC_NONE, 0x4f26, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORGO", _IOC_NONE, 0x4f3c, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORVSYNC", _IOC_NONE, 0x4f39, 0x00 },
+{ "linux/pcitest.h", "PCITEST_BAR", _IOC_NONE, 0x5001, 0x00 },
+{ "linux/pcitest.h", "PCITEST_COPY", _IOC_WRITE, 0x5006, 0x08 },
+{ "linux/pcitest.h", "PCITEST_LEGACY_IRQ", _IOC_NONE, 0x5002, 0x00 },
+{ "linux/pcitest.h", "PCITEST_MSI", _IOC_WRITE, 0x5003, 0x04 },
+{ "linux/pcitest.h", "PCITEST_READ", _IOC_WRITE, 0x5005, 0x08 },
+{ "linux/pcitest.h", "PCITEST_WRITE", _IOC_WRITE, 0x5004, 0x08 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x08 },
@@ -1940,6 +1950,12 @@
{ "linux/suspend_ioctls.h", "SNAPSHOT_S2RAM", _IOC_NONE, 0x330b, 0x00 },
{ "linux/suspend_ioctls.h", "SNAPSHOT_SET_SWAP_AREA", _IOC_WRITE, 0x330d, 0x0c },
{ "linux/suspend_ioctls.h", "SNAPSHOT_UNFREEZE", _IOC_NONE, 0x3302, 0x00 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_CTL", _IOC_READ|_IOC_WRITE, 0x5743, 0x28 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_SUMMARY", _IOC_READ, 0x5742, 0x198 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_INFO", _IOC_READ, 0x5740, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_PART_INFO", _IOC_READ|_IOC_WRITE, 0x5741, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PFF_TO_PORT", _IOC_READ|_IOC_WRITE, 0x5744, 0x0c },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PORT_TO_PFF", _IOC_READ|_IOC_WRITE, 0x5745, 0x0c },
{ "linux/sync_file.h", "SYNC_IOC_FILE_INFO", _IOC_READ|_IOC_WRITE, 0x3e04, 0x38 },
{ "linux/sync_file.h", "SYNC_IOC_MERGE", _IOC_READ|_IOC_WRITE, 0x3e03, 0x30 },
{ "linux/synclink.h", "MGSL_IOCCLRMODCOUNT", _IOC_NONE, 0x6d0f, 0x00 },
@@ -1962,6 +1978,14 @@
{ "linux/synclink.h", "MGSL_IOCTXENABLE", _IOC_NONE, 0x6d04, 0x00 },
{ "linux/synclink.h", "MGSL_IOCWAITEVENT", _IOC_READ|_IOC_WRITE, 0x6d08, 0x04 },
{ "linux/synclink.h", "MGSL_IOCWAITGPIO", _IOC_READ|_IOC_WRITE, 0x6d12, 0x10 },
+{ "linux/tee.h", "TEE_IOC_CANCEL", _IOC_READ, 0xa404, 0x08 },
+{ "linux/tee.h", "TEE_IOC_CLOSE_SESSION", _IOC_READ, 0xa405, 0x04 },
+{ "linux/tee.h", "TEE_IOC_INVOKE", _IOC_READ, 0xa403, 0x10 },
+{ "linux/tee.h", "TEE_IOC_OPEN_SESSION", _IOC_READ, 0xa402, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SHM_ALLOC", _IOC_READ|_IOC_WRITE, 0xa401, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 },
+{ "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c },
{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 },
{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 },
{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 },
@@ -2690,17 +2714,8 @@
{ "staging/android/ashmem.h", "ASHMEM_SET_PROT_MASK", _IOC_WRITE, 0x7705, 0x08 },
{ "staging/android/ashmem.h", "ASHMEM_SET_SIZE", _IOC_WRITE, 0x7703, 0x08 },
{ "staging/android/ashmem.h", "ASHMEM_UNPIN", _IOC_WRITE, 0x7708, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x20 },
-{ "staging/android/ion.h", "ION_IOC_CUSTOM", _IOC_READ|_IOC_WRITE, 0x4906, 0x10 },
-{ "staging/android/ion.h", "ION_IOC_FREE", _IOC_READ|_IOC_WRITE, 0x4901, 0x04 },
+{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x18 },
{ "staging/android/ion.h", "ION_IOC_HEAP_QUERY", _IOC_READ|_IOC_WRITE, 0x4908, 0x18 },
-{ "staging/android/ion.h", "ION_IOC_IMPORT", _IOC_READ|_IOC_WRITE, 0x4905, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_MAP", _IOC_READ|_IOC_WRITE, 0x4902, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SHARE", _IOC_READ|_IOC_WRITE, 0x4904, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SYNC", _IOC_READ|_IOC_WRITE, 0x4907, 0x08 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_DMA_MAPPING", _IOC_WRITE, 0x49f1, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_KERNEL_MAPPING", _IOC_WRITE, 0x49f2, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_SET_FD", _IOC_NONE, 0x49f0, 0x00 },
{ "video/da8xx-fb.h", "FBIGET_BRIGHTNESS", _IOC_READ, 0x4603, 0x04 },
{ "video/da8xx-fb.h", "FBIGET_COLOR", _IOC_READ, 0x4605, 0x04 },
{ "video/da8xx-fb.h", "FBIOGET_CONTRAST", _IOC_READ, 0x4601, 0x04 },
diff --git a/linux/aarch64/arch_regs.c b/linux/aarch64/arch_regs.c
index 4ccb1f5b..5d805fb3 100644
--- a/linux/aarch64/arch_regs.c
+++ b/linux/aarch64/arch_regs.c
@@ -1,31 +1,31 @@
struct arm_pt_regs {
- uint32_t uregs[18];
+ uint32_t uregs[18];
};
-#define ARM_cpsr uregs[16]
-#define ARM_pc uregs[15]
-#define ARM_lr uregs[14]
-#define ARM_sp uregs[13]
-#define ARM_ip uregs[12]
-#define ARM_fp uregs[11]
-#define ARM_r10 uregs[10]
-#define ARM_r9 uregs[9]
-#define ARM_r8 uregs[8]
-#define ARM_r7 uregs[7]
-#define ARM_r6 uregs[6]
-#define ARM_r5 uregs[5]
-#define ARM_r4 uregs[4]
-#define ARM_r3 uregs[3]
-#define ARM_r2 uregs[2]
-#define ARM_r1 uregs[1]
-#define ARM_r0 uregs[0]
-#define ARM_ORIG_r0 uregs[17]
+#define ARM_cpsr uregs[16]
+#define ARM_pc uregs[15]
+#define ARM_lr uregs[14]
+#define ARM_sp uregs[13]
+#define ARM_ip uregs[12]
+#define ARM_fp uregs[11]
+#define ARM_r10 uregs[10]
+#define ARM_r9 uregs[9]
+#define ARM_r8 uregs[8]
+#define ARM_r7 uregs[7]
+#define ARM_r6 uregs[6]
+#define ARM_r5 uregs[5]
+#define ARM_r4 uregs[4]
+#define ARM_r3 uregs[3]
+#define ARM_r2 uregs[2]
+#define ARM_r1 uregs[1]
+#define ARM_r0 uregs[0]
+#define ARM_ORIG_r0 uregs[17]
static union {
struct user_pt_regs aarch64_r;
struct arm_pt_regs arm_r;
} arm_regs_union;
-#define aarch64_regs arm_regs_union.aarch64_r
-#define arm_regs arm_regs_union.arm_r
+#define aarch64_regs arm_regs_union.aarch64_r
+#define arm_regs arm_regs_union.arm_r
uint64_t *const aarch64_sp_ptr = (uint64_t *) &aarch64_regs.sp;
uint32_t *const arm_sp_ptr = &arm_regs.ARM_sp;
diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
index 848c3230..ae7821f8 100644
--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h
@@ -75,7 +75,7 @@
[ 45] = { 3, TD|TF, SEN(open), "open" },
[ 46] = { 5, 0, SEN(printargs), "osf_old_sigaction" }, /* not implemented */
[ 47] = { 0, NF, SEN(getxgid), "getxgid" },
-[ 48] = { 2, TS, SEN(sigprocmask), "osf_sigprocmask" },
+[ 48] = { 2, TS, SEN(osf_sigprocmask), "osf_sigprocmask" },
[ 49] = { 5, 0, SEN(printargs), "osf_getlogin" }, /* not implemented */
[ 50] = { 5, 0, SEN(printargs), "osf_setlogin" }, /* not implemented */
[ 51] = { 1, TF, SEN(acct), "acct" },
diff --git a/linux/arc/arch_regs.c b/linux/arc/arch_regs.c
index 9a5c2dfc..88bb7998 100644
--- a/linux/arc/arch_regs.c
+++ b/linux/arc/arch_regs.c
@@ -1,4 +1,4 @@
static struct user_regs_struct arc_regs;
-unsigned long *const arc_sp_ptr = &arc_regs.sp;
+unsigned long *const arc_sp_ptr = &arc_regs.scratch.sp;
#define ARCH_REGS_FOR_GETREGSET arc_regs
#define ARCH_PC_REG arc_regs.efa
diff --git a/linux/arm/arch_sigreturn.c b/linux/arm/arch_sigreturn.c
index b60dad80..a2b71004 100644
--- a/linux/arm/arch_sigreturn.c
+++ b/linux/arm/arch_sigreturn.c
@@ -9,7 +9,7 @@ arch_sigreturn(struct tcb *tcp)
#ifdef AARCH64
tcp->currpers == 0 ?
(*aarch64_sp_ptr + SIZEOF_STRUCT_SIGINFO +
- offsetof(struct ucontext, uc_sigmask)) :
+ offsetof(ucontext_t, uc_sigmask)) :
#endif
(*arm_sp_ptr +
OFFSETOF_STRUCT_UCONTEXT_UC_SIGMASK);
diff --git a/linux/arm/get_scno.c b/linux/arm/get_scno.c
index 34407823..5f680692 100644
--- a/linux/arm/get_scno.c
+++ b/linux/arm/get_scno.c
@@ -58,7 +58,7 @@ arch_get_scno(struct tcb *tcp)
/* Fixup the syscall number */
scno &= 0x000fffff;
} else {
- scno_in_r7:
+scno_in_r7:
scno = arm_regs.ARM_r7;
}
#else /* __ARM_EABI__ || !ENABLE_ARM_OABI */
diff --git a/linux/bfin/get_syscall_args.c b/linux/bfin/get_syscall_args.c
index 13d58bd7..69613d4e 100644
--- a/linux/bfin/get_syscall_args.c
+++ b/linux/bfin/get_syscall_args.c
@@ -2,8 +2,9 @@
static int
get_syscall_args(struct tcb *tcp)
{
- static const int argreg[MAX_ARGS] =
- { PT_R0, PT_R1, PT_R2, PT_R3, PT_R4, PT_R5 };
+ static const int argreg[MAX_ARGS] = {
+ PT_R0, PT_R1, PT_R2, PT_R3, PT_R4, PT_R5
+ };
unsigned int i;
for (i = 0; i < tcp->s_ent->nargs; ++i)
diff --git a/linux/inet_diag.h b/linux/inet_diag.h
index 69012af0..24302db6 100644
--- a/linux/inet_diag.h
+++ b/linux/inet_diag.h
@@ -14,7 +14,17 @@ struct inet_diag_sockid {
uint32_t idiag_cookie[2];
};
-/* Request structure */
+/* Request structures */
+struct inet_diag_req {
+ uint8_t idiag_family;
+ uint8_t idiag_src_len;
+ uint8_t idiag_dst_len;
+ uint8_t idiag_ext;
+ struct inet_diag_sockid id;
+ uint32_t idiag_states;
+ uint32_t idiag_dbs;
+};
+
struct inet_diag_req_v2 {
uint8_t sdiag_family;
uint8_t sdiag_protocol;
@@ -24,6 +34,11 @@ struct inet_diag_req_v2 {
struct inet_diag_sockid id;
};
+enum {
+ INET_DIAG_REQ_NONE,
+ INET_DIAG_REQ_BYTECODE,
+};
+
/* Info structure */
struct inet_diag_msg {
uint8_t idiag_family;
@@ -40,4 +55,59 @@ struct inet_diag_msg {
uint32_t idiag_inode;
};
+/* Extensions */
+enum {
+ INET_DIAG_NONE,
+ INET_DIAG_MEMINFO,
+ INET_DIAG_INFO,
+ INET_DIAG_VEGASINFO,
+ INET_DIAG_CONG,
+ INET_DIAG_TOS,
+ INET_DIAG_TCLASS,
+ INET_DIAG_SKMEMINFO,
+ INET_DIAG_SHUTDOWN,
+ INET_DIAG_DCTCPINFO,
+ INET_DIAG_PROTOCOL, /* response attribute only */
+ INET_DIAG_SKV6ONLY,
+ INET_DIAG_LOCALS,
+ INET_DIAG_PEERS,
+ INET_DIAG_PAD,
+ INET_DIAG_MARK,
+ INET_DIAG_BBRINFO,
+};
+
+/* INET_DIAG_MEM */
+struct inet_diag_meminfo {
+ uint32_t idiag_rmem;
+ uint32_t idiag_wmem;
+ uint32_t idiag_fmem;
+ uint32_t idiag_tmem;
+};
+
+/* INET_DIAG_VEGASINFO */
+struct tcpvegas_info {
+ uint32_t tcpv_enabled;
+ uint32_t tcpv_rttcnt;
+ uint32_t tcpv_rtt;
+ uint32_t tcpv_minrtt;
+};
+
+/* INET_DIAG_DCTCPINFO */
+struct tcp_dctcp_info {
+ uint16_t dctcp_enabled;
+ uint16_t dctcp_ce_state;
+ uint32_t dctcp_alpha;
+ uint32_t dctcp_ab_ecn;
+ uint32_t dctcp_ab_tot;
+};
+
+/* INET_DIAG_BBRINFO */
+struct tcp_bbr_info {
+ uint32_t bbr_bw_lo;
+ uint32_t bbr_bw_hi;
+ uint32_t bbr_min_rtt;
+ uint32_t bbr_pacing_gain;
+ uint32_t bbr_cwnd_gain;
+};
+
#endif /* !STRACE_LINUX_INET_DIAG_H */
diff --git a/linux/mips/syscallent-n32-stub.h b/linux/mips/syscallent-n32-stub.h
deleted file mode 100644
index 4cfa682f..00000000
--- a/linux/mips/syscallent-n32-stub.h
+++ /dev/null
@@ -1,331 +0,0 @@
-[6000] = { 3, TD, SEN(printargs), "n32:read" }, /* start of Linux N32 */
-[6001] = { 3, TD, SEN(printargs), "n32:write" },
-[6002] = { 3, TD|TF, SEN(printargs), "n32:open" },
-[6003] = { 1, TD, SEN(printargs), "n32:close" },
-[6004] = { 2, TF|TST|TSTA, SEN(printargs), "n32:stat" },
-[6005] = { 2, TD|TFST|TSTA, SEN(printargs), "n32:fstat" },
-[6006] = { 2, TF|TLST|TSTA, SEN(printargs), "n32:lstat" },
-[6007] = { 3, TD, SEN(printargs), "n32:poll" },
-[6008] = { 3, TD, SEN(printargs), "n32:lseek" },
-[6009] = { 6, TD|TM|SI, SEN(printargs), "n32:mmap" },
-[6010] = { 3, TM|SI, SEN(printargs), "n32:mprotect" },
-[6011] = { 2, TM|SI, SEN(printargs), "n32:munmap" },
-[6012] = { 1, TM|SI, SEN(printargs), "n32:brk" },
-[6013] = { 4, TS, SEN(printargs), "n32:rt_sigaction" },
-[6014] = { 4, TS, SEN(printargs), "n32:rt_sigprocmask" },
-[6015] = { 3, TD, SEN(printargs), "n32:ioctl" },
-[6016] = { 4, TD, SEN(printargs), "n32:pread64" },
-[6017] = { 4, TD, SEN(printargs), "n32:pwrite64" },
-[6018] = { 3, TD, SEN(printargs), "n32:readv" },
-[6019] = { 3, TD, SEN(printargs), "n32:writev" },
-[6020] = { 2, TF, SEN(printargs), "n32:access" },
-[6021] = { 0, TD, SEN(printargs), "n32:pipe" },
-[6022] = { 5, TD, SEN(printargs), "n32:_newselect" },
-[6023] = { 0, 0, SEN(printargs), "n32:sched_yield" },
-[6024] = { 5, TM|SI, SEN(printargs), "n32:mremap" },
-[6025] = { 3, TM, SEN(printargs), "n32:msync" },
-[6026] = { 3, TM, SEN(printargs), "n32:mincore" },
-[6027] = { 3, TM, SEN(printargs), "n32:madvise" },
-[6028] = { 3, TI, SEN(printargs), "n32:shmget" },
-[6029] = { 3, TI|TM|SI, SEN(printargs), "n32:shmat" },
-[6030] = { 3, TI, SEN(printargs), "n32:shmctl" },
-[6031] = { 1, TD, SEN(printargs), "n32:dup" },
-[6032] = { 2, TD, SEN(printargs), "n32:dup2" },
-[6033] = { 0, TS, SEN(printargs), "n32:pause" },
-[6034] = { 2, 0, SEN(printargs), "n32:nanosleep" },
-[6035] = { 2, 0, SEN(printargs), "n32:getitimer" },
-[6036] = { 3, 0, SEN(printargs), "n32:setitimer" },
-[6037] = { 1, 0, SEN(printargs), "n32:alarm" },
-[6038] = { 0, NF, SEN(printargs), "n32:getpid" },
-[6039] = { 4, TD|TN, SEN(printargs), "n32:sendfile" },
-[6040] = { 3, TN, SEN(printargs), "n32:socket" },
-[6041] = { 3, TN, SEN(printargs), "n32:connect" },
-[6042] = { 3, TN, SEN(printargs), "n32:accept" },
-[6043] = { 6, TN, SEN(printargs), "n32:sendto" },
-[6044] = { 6, TN, SEN(printargs), "n32:recvfrom" },
-[6045] = { 3, TN, SEN(printargs), "n32:sendmsg" },
-[6046] = { 3, TN, SEN(printargs), "n32:recvmsg" },
-[6047] = { 2, TN, SEN(printargs), "n32:shutdown" },
-[6048] = { 3, TN, SEN(printargs), "n32:bind" },
-[6049] = { 2, TN, SEN(printargs), "n32:listen" },
-[6050] = { 3, TN, SEN(printargs), "n32:getsockname" },
-[6051] = { 3, TN, SEN(printargs), "n32:getpeername" },
-[6052] = { 4, TN, SEN(printargs), "n32:socketpair" },
-[6053] = { 5, TN, SEN(printargs), "n32:setsockopt" },
-[6054] = { 5, TN, SEN(printargs), "n32:getsockopt" },
-[6055] = { 5, TP, SEN(printargs), "n32:clone" },
-[6056] = { 0, TP, SEN(printargs), "n32:fork" },
-[6057] = { 3, TF|TP|SE|SI, SEN(printargs), "n32:execve" },
-[6058] = { 1, TP|SE, SEN(printargs), "n32:exit" },
-[6059] = { 4, TP, SEN(printargs), "n32:wait4" },
-[6060] = { 2, TS, SEN(printargs), "n32:kill" },
-[6061] = { 1, 0, SEN(printargs), "n32:uname" },
-[6062] = { 3, TI, SEN(printargs), "n32:semget" },
-[6063] = { 3, TI, SEN(printargs), "n32:semop" },
-[6064] = { 4, TI, SEN(printargs), "n32:semctl" },
-[6065] = { 1, TI|TM|SI, SEN(printargs), "n32:shmdt" },
-[6066] = { 2, TI, SEN(printargs), "n32:msgget" },
-[6067] = { 4, TI, SEN(printargs), "n32:msgsnd" },
-[6068] = { 5, TI, SEN(printargs), "n32:msgrcv" },
-[6069] = { 3, TI, SEN(printargs), "n32:msgctl" },
-[6070] = { 3, TD, SEN(printargs), "n32:fcntl" },
-[6071] = { 2, TD, SEN(printargs), "n32:flock" },
-[6072] = { 1, TD, SEN(printargs), "n32:fsync" },
-[6073] = { 1, TD, SEN(printargs), "n32:fdatasync" },
-[6074] = { 2, TF, SEN(printargs), "n32:truncate" },
-[6075] = { 2, TD, SEN(printargs), "n32:ftruncate" },
-[6076] = { 3, TD, SEN(printargs), "n32:getdents" },
-[6077] = { 2, TF, SEN(printargs), "n32:getcwd" },
-[6078] = { 1, TF, SEN(printargs), "n32:chdir" },
-[6079] = { 1, TD, SEN(printargs), "n32:fchdir" },
-[6080] = { 2, TF, SEN(printargs), "n32:rename" },
-[6081] = { 2, TF, SEN(printargs), "n32:mkdir" },
-[6082] = { 1, TF, SEN(printargs), "n32:rmdir" },
-[6083] = { 2, TD|TF, SEN(printargs), "n32:creat" },
-[6084] = { 2, TF, SEN(printargs), "n32:link" },
-[6085] = { 1, TF, SEN(printargs), "n32:unlink" },
-[6086] = { 2, TF, SEN(printargs), "n32:symlink" },
-[6087] = { 3, TF, SEN(printargs), "n32:readlink" },
-[6088] = { 2, TF, SEN(printargs), "n32:chmod" },
-[6089] = { 2, TD, SEN(printargs), "n32:fchmod" },
-[6090] = { 3, TF, SEN(printargs), "n32:chown" },
-[6091] = { 3, TD, SEN(printargs), "n32:fchown" },
-[6092] = { 3, TF, SEN(printargs), "n32:lchown" },
-[6093] = { 1, NF, SEN(printargs), "n32:umask" },
-[6094] = { 2, 0, SEN(printargs), "n32:gettimeofday" },
-[6095] = { 2, 0, SEN(printargs), "n32:getrlimit" },
-[6096] = { 2, 0, SEN(printargs), "n32:getrusage" },
-[6097] = { 1, 0, SEN(printargs), "n32:sysinfo" },
-[6098] = { 1, 0, SEN(printargs), "n32:times" },
-[6099] = { 4, 0, SEN(printargs), "n32:ptrace" },
-[6100] = { 0, NF, SEN(printargs), "n32:getuid" },
-[6101] = { 3, 0, SEN(printargs), "n32:syslog" },
-[6102] = { 0, NF, SEN(printargs), "n32:getgid" },
-[6103] = { 1, 0, SEN(printargs), "n32:setuid" },
-[6104] = { 1, 0, SEN(printargs), "n32:setgid" },
-[6105] = { 0, NF, SEN(printargs), "n32:geteuid" },
-[6106] = { 0, NF, SEN(printargs), "n32:getegid" },
-[6107] = { 2, 0, SEN(printargs), "n32:setpgid" },
-[6108] = { 0, NF, SEN(printargs), "n32:getppid" },
-[6109] = { 0, 0, SEN(printargs), "n32:getpgrp" },
-[6110] = { 0, 0, SEN(printargs), "n32:setsid" },
-[6111] = { 2, 0, SEN(printargs), "n32:setreuid" },
-[6112] = { 2, 0, SEN(printargs), "n32:setregid" },
-[6113] = { 2, 0, SEN(printargs), "n32:getgroups" },
-[6114] = { 2, 0, SEN(printargs), "n32:setgroups" },
-[6115] = { 3, 0, SEN(printargs), "n32:setresuid" },
-[6116] = { 3, 0, SEN(printargs), "n32:getresuid" },
-[6117] = { 3, 0, SEN(printargs), "n32:setresgid" },
-[6118] = { 3, 0, SEN(printargs), "n32:getresgid" },
-[6119] = { 1, 0, SEN(printargs), "n32:getpgid" },
-[6120] = { 1, NF, SEN(printargs), "n32:setfsuid" },
-[6121] = { 1, NF, SEN(printargs), "n32:setfsgid" },
-[6122] = { 1, 0, SEN(printargs), "n32:getsid" },
-[6123] = { 2, 0, SEN(printargs), "n32:capget" },
-[6124] = { 2, 0, SEN(printargs), "n32:capset" },
-[6125] = { 2, TS, SEN(printargs), "n32:rt_sigpending" },
-[6126] = { 4, TS, SEN(printargs), "n32:rt_sigtimedwait" },
-[6127] = { 3, TS, SEN(printargs), "n32:rt_sigqueueinfo" },
-[6128] = { 2, TS, SEN(printargs), "n32:rt_sigsuspend" },
-[6129] = { 2, TS, SEN(printargs), "n32:sigaltstack" },
-[6130] = { 2, TF, SEN(printargs), "n32:utime" },
-[6131] = { 3, TF, SEN(printargs), "n32:mknod" },
-[6132] = { 1, NF, SEN(printargs), "n32:personality" },
-[6133] = { 2, TSFA, SEN(printargs), "n32:ustat" },
-[6134] = { 2, TF|TSF|TSFA, SEN(printargs), "n32:statfs" },
-[6135] = { 2, TD|TFSF|TSFA, SEN(printargs), "n32:fstatfs" },
-[6136] = { 3, 0, SEN(printargs), "n32:sysfs" },
-[6137] = { 2, 0, SEN(printargs), "n32:getpriority" },
-[6138] = { 3, 0, SEN(printargs), "n32:setpriority" },
-[6139] = { 2, 0, SEN(printargs), "n32:sched_setparam" },
-[6140] = { 2, 0, SEN(printargs), "n32:sched_getparam" },
-[6141] = { 3, 0, SEN(printargs), "n32:sched_setscheduler" },
-[6142] = { 1, 0, SEN(printargs), "n32:sched_getscheduler" },
-[6143] = { 1, 0, SEN(printargs), "n32:sched_get_priority_max"},
-[6144] = { 1, 0, SEN(printargs), "n32:sched_get_priority_min"},
-[6145] = { 2, 0, SEN(printargs), "n32:sched_rr_get_interval" },
-[6146] = { 2, TM, SEN(printargs), "n32:mlock" },
-[6147] = { 2, TM, SEN(printargs), "n32:munlock" },
-[6148] = { 1, TM, SEN(printargs), "n32:mlockall" },
-[6149] = { 0, TM, SEN(printargs), "n32:munlockall" },
-[6150] = { 0, 0, SEN(printargs), "n32:vhangup" },
-[6151] = { 2, TF, SEN(printargs), "n32:pivot_root" },
-[6152] = { 1, 0, SEN(printargs), "n32:_sysctl" },
-[6153] = { 5, 0, SEN(printargs), "n32:prctl" },
-[6154] = { 1, 0, SEN(printargs), "n32:adjtimex" },
-[6155] = { 2, 0, SEN(printargs), "n32:setrlimit" },
-[6156] = { 1, TF, SEN(printargs), "n32:chroot" },
-[6157] = { 0, 0, SEN(printargs), "n32:sync" },
-[6158] = { 1, TF, SEN(printargs), "n32:acct" },
-[6159] = { 2, 0, SEN(printargs), "n32:settimeofday" },
-[6160] = { 5, TF, SEN(printargs), "n32:mount" },
-[6161] = { 2, TF, SEN(printargs), "n32:umount2" },
-[6162] = { 2, TF, SEN(printargs), "n32:swapon" },
-[6163] = { 1, TF, SEN(printargs), "n32:swapoff" },
-[6164] = { 4, 0, SEN(printargs), "n32:reboot" },
-[6165] = { 2, 0, SEN(printargs), "n32:sethostname" },
-[6166] = { 2, 0, SEN(printargs), "n32:setdomainname" },
-[6167] = { 2, 0, SEN(printargs), "n32:create_module" },
-[6168] = { 3, 0, SEN(printargs), "n32:init_module" },
-[6169] = { 2, 0, SEN(printargs), "n32:delete_module" },
-[6170] = { 1, 0, SEN(printargs), "n32:get_kernel_syms" },
-[6171] = { 5, 0, SEN(printargs), "n32:query_module" },
-[6172] = { 4, TF, SEN(printargs), "n32:quotactl" },
-[6173] = { 3, 0, SEN(printargs), "n32:nfsservctl" },
-[6174] = { 5, TN, SEN(printargs), "n32:getpmsg" },
-[6175] = { 5, TN, SEN(printargs), "n32:putpmsg" },
-[6176] = { 0, 0, SEN(printargs), "n32:afs_syscall" },
-[6177] = { 0, 0, SEN(printargs), "n32:reserved177" },
-[6178] = { 0, NF, SEN(printargs), "n32:gettid" },
-[6179] = { 3, TD, SEN(printargs), "n32:readahead" },
-[6180] = { 5, TF, SEN(printargs), "n32:setxattr" },
-[6181] = { 5, TF, SEN(printargs), "n32:lsetxattr" },
-[6182] = { 5, TD, SEN(printargs), "n32:fsetxattr" },
-[6183] = { 4, TF, SEN(printargs), "n32:getxattr" },
-[6184] = { 4, TF, SEN(printargs), "n32:lgetxattr" },
-[6185] = { 4, TD, SEN(printargs), "n32:fgetxattr" },
-[6186] = { 3, TF, SEN(printargs), "n32:listxattr" },
-[6187] = { 3, TF, SEN(printargs), "n32:llistxattr" },
-[6188] = { 3, TD, SEN(printargs), "n32:flistxattr" },
-[6189] = { 2, TF, SEN(printargs), "n32:removexattr" },
-[6190] = { 2, TF, SEN(printargs), "n32:lremovexattr" },
-[6191] = { 2, TD, SEN(printargs), "n32:fremovexattr" },
-[6192] = { 2, TS, SEN(printargs), "n32:tkill" },
-[6193] = { 1, 0, SEN(printargs), "n32:time" },
-[6194] = { 6, 0, SEN(printargs), "n32:futex" },
-[6195] = { 3, 0, SEN(printargs), "n32:sched_setaffinity" },
-[6196] = { 3, 0, SEN(printargs), "n32:sched_getaffinity" },
-[6197] = { 3, 0, SEN(printargs), "n32:cacheflush" },
-[6198] = { 3, 0, SEN(printargs), "n32:cachectl" },
-[6199] = { 4, 0, SEN(printargs), "n32:sysmips" },
-[6200] = { 2, TM, SEN(printargs), "n32:io_setup" },
-[6201] = { 1, TM, SEN(printargs), "n32:io_destroy" },
-[6202] = { 5, 0, SEN(printargs), "n32:io_getevents" },
-[6203] = { 3, 0, SEN(printargs), "n32:io_submit" },
-[6204] = { 3, 0, SEN(printargs), "n32:io_cancel" },
-[6205] = { 1, TP|SE, SEN(printargs), "n32:exit_group" },
-[6206] = { 3, 0, SEN(printargs), "n32:lookup_dcookie" },
-[6207] = { 1, TD, SEN(printargs), "n32:epoll_create" },
-[6208] = { 4, TD, SEN(printargs), "n32:epoll_ctl" },
-[6209] = { 4, TD, SEN(printargs), "n32:epoll_wait" },
-[6210] = { 5, TM|SI, SEN(printargs), "n32:remap_file_pages" },
-[6211] = { 0, TS, SEN(printargs), "n32:rt_sigreturn" },
-[6212] = { 3, TD, SEN(printargs), "n32:fcntl64" },
-[6213] = { 1, 0, SEN(printargs), "n32:set_tid_address" },
-[6214] = { 0, 0, SEN(printargs), "n32:restart_syscall" },
-[6215] = { 4, TI, SEN(printargs), "n32:semtimedop" },
-[6216] = { 4, TD, SEN(printargs), "n32:fadvise64" },
-[6217] = { 3, TF|TSF|TSFA, SEN(printargs), "n32:statfs64" },
-[6218] = { 3, TD|TFSF|TSFA, SEN(printargs), "n32:fstatfs64" },
-[6219] = { 4, TD|TN, SEN(printargs), "n32:sendfile64" },
-[6220] = { 3, 0, SEN(printargs), "n32:timer_create" },
-[6221] = { 4, 0, SEN(printargs), "n32:timer_settime" },
-[6222] = { 2, 0, SEN(printargs), "n32:timer_gettime" },
-[6223] = { 1, 0, SEN(printargs), "n32:timer_getoverrun" },
-[6224] = { 1, 0, SEN(printargs), "n32:timer_delete" },
-[6225] = { 2, 0, SEN(printargs), "n32:clock_settime" },
-[6226] = { 2, 0, SEN(printargs), "n32:clock_gettime" },
-[6227] = { 2, 0, SEN(printargs), "n32:clock_getres" },
-[6228] = { 4, 0, SEN(printargs), "n32:clock_nanosleep" },
-[6229] = { 3, TS, SEN(printargs), "n32:tgkill" },
-[6230] = { 2, TF, SEN(printargs), "n32:utimes" },
-[6231] = { 6, TM, SEN(printargs), "n32:mbind" },
-[6232] = { 5, TM, SEN(printargs), "n32:get_mempolicy" },
-[6233] = { 3, TM, SEN(printargs), "n32:set_mempolicy" },
-[6234] = { 4, 0, SEN(printargs), "n32:mq_open" },
-[6235] = { 1, 0, SEN(printargs), "n32:mq_unlink" },
-[6236] = { 5, 0, SEN(printargs), "n32:mq_timedsend" },
-[6237] = { 5, 0, SEN(printargs), "n32:mq_timedreceive" },
-[6238] = { 2, 0, SEN(printargs), "n32:mq_notify" },
-[6239] = { 3, 0, SEN(printargs), "n32:mq_getsetattr" },
-[6240] = { 5, 0, SEN(printargs), "n32:vserver" },
-[6241] = { 5, TP, SEN(printargs), "n32:waitid" },
-[6242] = { },
-[6243] = { 5, 0, SEN(printargs), "n32:add_key" },
-[6244] = { 4, 0, SEN(printargs), "n32:request_key" },
-[6245] = { 5, 0, SEN(printargs), "n32:keyctl" },
-[6246] = { 1, 0, SEN(printargs), "n32:set_thread_area" },
-[6247] = { 0, TD, SEN(printargs), "n32:inotify_init" },
-[6248] = { 3, TD, SEN(printargs), "n32:inotify_add_watch" },
-[6249] = { 2, TD, SEN(printargs), "n32:inotify_rm_watch" },
-[6250] = { 4, TM, SEN(printargs), "n32:migrate_pages" },
-[6251] = { 4, TD|TF, SEN(printargs), "n32:openat" },
-[6252] = { 3, TD|TF, SEN(printargs), "n32:mkdirat" },
-[6253] = { 4, TD|TF, SEN(printargs), "n32:mknodat" },
-[6254] = { 5, TD|TF, SEN(printargs), "n32:fchownat" },
-[6255] = { 3, TD|TF, SEN(printargs), "n32:futimesat" },
-[6256] = { 4, TD|TF|TFST|TSTA,SEN(printargs), "n32:newfstatat" },
-[6257] = { 3, TD|TF, SEN(printargs), "n32:unlinkat" },
-[6258] = { 4, TD|TF, SEN(printargs), "n32:renameat" },
-[6259] = { 5, TD|TF, SEN(printargs), "n32:linkat" },
-[6260] = { 3, TD|TF, SEN(printargs), "n32:symlinkat" },
-[6261] = { 4, TD|TF, SEN(printargs), "n32:readlinkat" },
-[6262] = { 3, TD|TF, SEN(printargs), "n32:fchmodat" },
-[6263] = { 3, TD|TF, SEN(printargs), "n32:faccessat" },
-[6264] = { 6, TD, SEN(printargs), "n32:pselect6" },
-[6265] = { 5, TD, SEN(printargs), "n32:ppoll" },
-[6266] = { 1, TP, SEN(printargs), "n32:unshare" },
-[6267] = { 6, TD, SEN(printargs), "n32:splice" },
-[6268] = { 4, TD, SEN(printargs), "n32:sync_file_range" },
-[6269] = { 4, TD, SEN(printargs), "n32:tee" },
-[6270] = { 4, TD, SEN(printargs), "n32:vmsplice" },
-[6271] = { 6, TM, SEN(printargs), "n32:move_pages" },
-[6272] = { 2, 0, SEN(printargs), "n32:set_robust_list" },
-[6273] = { 3, 0, SEN(printargs), "n32:get_robust_list" },
-[6274] = { 4, 0, SEN(printargs), "n32:kexec_load" },
-[6275] = { 3, 0, SEN(printargs), "n32:getcpu" },
-[6276] = { 6, TD, SEN(printargs), "n32:epoll_pwait" },
-[6277] = { 3, 0, SEN(printargs), "n32:ioprio_set" },
-[6278] = { 2, 0, SEN(printargs), "n32:ioprio_get" },
-[6279] = { 4, TD|TF, SEN(printargs), "n32:utimensat" },
-[6280] = { 3, TD|TS, SEN(printargs), "n32:signalfd" },
-[6281] = { 4, TD, SEN(printargs), "n32:timerfd" },
-[6282] = { 1, TD, SEN(printargs), "n32:eventfd" },
-[6283] = { 4, TD, SEN(printargs), "n32:fallocate" },
-[6284] = { 2, TD, SEN(printargs), "n32:timerfd_create" },
-[6285] = { 2, TD, SEN(printargs), "n32:timerfd_gettime" },
-[6286] = { 4, TD, SEN(printargs), "n32:timerfd_settime" },
-[6287] = { 4, TD|TS, SEN(printargs), "n32:signalfd4" },
-[6288] = { 2, TD, SEN(printargs), "n32:eventfd2" },
-[6289] = { 1, TD, SEN(printargs), "n32:epoll_create1" },
-[6290] = { 3, TD, SEN(printargs), "n32:dup3" },
-[6291] = { 2, TD, SEN(printargs), "n32:pipe2" },
-[6292] = { 1, TD, SEN(printargs), "n32:inotify_init1" },
-[6293] = { 4, TD, SEN(printargs), "n32:preadv" },
-[6294] = { 4, TD, SEN(printargs), "n32:pwritev" },
-[6295] = { 4, TP|TS, SEN(printargs), "n32:rt_tgsigqueueinfo" },
-[6296] = { 5, TD, SEN(printargs), "n32:perf_event_open" },
-[6297] = { 4, TN, SEN(printargs), "n32:accept4" },
-[6298] = { 5, TN, SEN(printargs), "n32:recvmmsg" },
-[6299] = { 3, TD, SEN(printargs), "n32:getdents64" },
-[6300] = { 2, TD, SEN(printargs), "n32:fanotify_init" },
-[6301] = { 5, TD|TF, SEN(printargs), "n32:fanotify_mark" },
-[6302] = { 4, 0, SEN(printargs), "n32:prlimit64" },
-[6303] = { 5, TD|TF, SEN(printargs), "n32:name_to_handle_at" },
-[6304] = { 3, TD, SEN(printargs), "n32:open_by_handle_at" },
-[6305] = { 2, 0, SEN(printargs), "n32:clock_adjtime" },
-[6306] = { 1, TD, SEN(printargs), "n32:syncfs" },
-[6307] = { 4, TN, SEN(printargs), "n32:sendmmsg" },
-[6308] = { 2, TD, SEN(printargs), "n32:setns" },
-[6309] = { 6, 0, SEN(printargs), "n32:process_vm_readv" },
-[6310] = { 6, 0, SEN(printargs), "n32:process_vm_writev" },
-[6311] = { 5, 0, SEN(printargs), "n32:kcmp" },
-[6312] = { 3, TD, SEN(printargs), "n32:finit_module" },
-[6313] = { 3, 0, SEN(printargs), "n32:sched_setattr" },
-[6314] = { 4, 0, SEN(printargs), "n32:sched_getattr" },
-[6315] = { 5, TD|TF, SEN(printargs), "n32:renameat2" },
-[6316] = { 3, 0, SEN(printargs), "n32:seccomp" },
-[6317] = { 3, 0, SEN(printargs), "n32:getrandom" },
-[6318] = { 2, TD, SEN(printargs), "n32:memfd_create" },
-[6319] = { 3, TD, SEN(printargs), "n32:bpf" },
-[6320] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "n32:execveat" },
-[6321] = { 1, TD, SEN(printargs), "n32:userfaultfd" },
-[6322] = { 2, 0, SEN(printargs), "n32:membarrier" },
-[6323] = { 3, TM, SEN(printargs), "n32:mlock2" },
-[6324] = { 6, TD, SEN(printargs), "n32:copy_file_range" },
-[6325] = { 6, TD, SEN(printargs), "n32:preadv2" },
-[6326] = { 6, TD, SEN(printargs), "n32:pwritev2" },
-[6327] = { 4, TM|SI, SEN(printargs), "n32:pkey_mprotect" },
-[6328] = { 2, 0, SEN(printargs), "n32:pkey_alloc" },
-[6329] = { 1, 0, SEN(printargs), "n32:pkey_free" },
-[6330] = { 5, TD|TF|TSTA, SEN(printargs), "n32:statx" },
diff --git a/linux/mips/syscallent-n64-stub.h b/linux/mips/syscallent-n64-stub.h
deleted file mode 100644
index 4853e8e5..00000000
--- a/linux/mips/syscallent-n64-stub.h
+++ /dev/null
@@ -1,327 +0,0 @@
-[5000] = { 3, TD, SEN(printargs), "n64:read" }, /* start of Linux N64 */
-[5001] = { 3, TD, SEN(printargs), "n64:write" },
-[5002] = { 3, TD|TF, SEN(printargs), "n64:open" },
-[5003] = { 1, TD, SEN(printargs), "n64:close" },
-[5004] = { 2, TF|TST|TSTA, SEN(printargs), "n64:stat" },
-[5005] = { 2, TD|TFST|TSTA, SEN(printargs), "n64:fstat" },
-[5006] = { 2, TF|TLST|TSTA, SEN(printargs), "n64:lstat" },
-[5007] = { 3, TD, SEN(printargs), "n64:poll" },
-[5008] = { 3, TD, SEN(printargs), "n64:lseek" },
-[5009] = { 6, TD|TM|SI, SEN(printargs), "n64:mmap" },
-[5010] = { 3, TM|SI, SEN(printargs), "n64:mprotect" },
-[5011] = { 2, TM|SI, SEN(printargs), "n64:munmap" },
-[5012] = { 1, TM|SI, SEN(printargs), "n64:brk" },
-[5013] = { 4, TS, SEN(printargs), "n64:rt_sigaction" },
-[5014] = { 4, TS, SEN(printargs), "n64:rt_sigprocmask" },
-[5015] = { 3, TD, SEN(printargs), "n64:ioctl" },
-[5016] = { 4, TD, SEN(printargs), "n64:pread64" },
-[5017] = { 4, TD, SEN(printargs), "n64:pwrite64" },
-[5018] = { 3, TD, SEN(printargs), "n64:readv" },
-[5019] = { 3, TD, SEN(printargs), "n64:writev" },
-[5020] = { 2, TF, SEN(printargs), "n64:access" },
-[5021] = { 0, TD, SEN(printargs), "n64:pipe" },
-[5022] = { 5, TD, SEN(printargs), "n64:_newselect" },
-[5023] = { 0, 0, SEN(printargs), "n64:sched_yield" },
-[5024] = { 5, TM|SI, SEN(printargs), "n64:mremap" },
-[5025] = { 3, TM, SEN(printargs), "n64:msync" },
-[5026] = { 3, TM, SEN(printargs), "n64:mincore" },
-[5027] = { 3, TM, SEN(printargs), "n64:madvise" },
-[5028] = { 3, TI, SEN(printargs), "n64:shmget" },
-[5029] = { 3, TI|TM|SI, SEN(printargs), "n64:shmat" },
-[5030] = { 3, TI, SEN(printargs), "n64:shmctl" },
-[5031] = { 1, TD, SEN(printargs), "n64:dup" },
-[5032] = { 2, TD, SEN(printargs), "n64:dup2" },
-[5033] = { 0, TS, SEN(printargs), "n64:pause" },
-[5034] = { 2, 0, SEN(printargs), "n64:nanosleep" },
-[5035] = { 2, 0, SEN(printargs), "n64:getitimer" },
-[5036] = { 3, 0, SEN(printargs), "n64:setitimer" },
-[5037] = { 1, 0, SEN(printargs), "n64:alarm" },
-[5038] = { 0, NF, SEN(printargs), "n64:getpid" },
-[5039] = { 4, TD|TN, SEN(printargs), "n64:sendfile" },
-[5040] = { 3, TN, SEN(printargs), "n64:socket" },
-[5041] = { 3, TN, SEN(printargs), "n64:connect" },
-[5042] = { 3, TN, SEN(printargs), "n64:accept" },
-[5043] = { 6, TN, SEN(printargs), "n64:sendto" },
-[5044] = { 6, TN, SEN(printargs), "n64:recvfrom" },
-[5045] = { 3, TN, SEN(printargs), "n64:sendmsg" },
-[5046] = { 3, TN, SEN(printargs), "n64:recvmsg" },
-[5047] = { 2, TN, SEN(printargs), "n64:shutdown" },
-[5048] = { 3, TN, SEN(printargs), "n64:bind" },
-[5049] = { 2, TN, SEN(printargs), "n64:listen" },
-[5050] = { 3, TN, SEN(printargs), "n64:getsockname" },
-[5051] = { 3, TN, SEN(printargs), "n64:getpeername" },
-[5052] = { 4, TN, SEN(printargs), "n64:socketpair" },
-[5053] = { 5, TN, SEN(printargs), "n64:setsockopt" },
-[5054] = { 5, TN, SEN(printargs), "n64:getsockopt" },
-[5055] = { 5, TP, SEN(printargs), "n64:clone" },
-[5056] = { 0, TP, SEN(printargs), "n64:fork" },
-[5057] = { 3, TF|TP|SE|SI, SEN(printargs), "n64:execve" },
-[5058] = { 1, TP|SE, SEN(printargs), "n64:exit" },
-[5059] = { 4, TP, SEN(printargs), "n64:wait4" },
-[5060] = { 2, TS, SEN(printargs), "n64:kill" },
-[5061] = { 1, 0, SEN(printargs), "n64:uname" },
-[5062] = { 3, TI, SEN(printargs), "n64:semget" },
-[5063] = { 3, TI, SEN(printargs), "n64:semop" },
-[5064] = { 4, TI, SEN(printargs), "n64:semctl" },
-[5065] = { 1, TI|TM|SI, SEN(printargs), "n64:shmdt" },
-[5066] = { 2, TI, SEN(printargs), "n64:msgget" },
-[5067] = { 4, TI, SEN(printargs), "n64:msgsnd" },
-[5068] = { 5, TI, SEN(printargs), "n64:msgrcv" },
-[5069] = { 3, TI, SEN(printargs), "n64:msgctl" },
-[5070] = { 3, TD, SEN(printargs), "n64:fcntl" },
-[5071] = { 2, TD, SEN(printargs), "n64:flock" },
-[5072] = { 1, TD, SEN(printargs), "n64:fsync" },
-[5073] = { 1, TD, SEN(printargs), "n64:fdatasync" },
-[5074] = { 2, TF, SEN(printargs), "n64:truncate" },
-[5075] = { 2, TD, SEN(printargs), "n64:ftruncate" },
-[5076] = { 3, TD, SEN(printargs), "n64:getdents" },
-[5077] = { 2, TF, SEN(printargs), "n64:getcwd" },
-[5078] = { 1, TF, SEN(printargs), "n64:chdir" },
-[5079] = { 1, TD, SEN(printargs), "n64:fchdir" },
-[5080] = { 2, TF, SEN(printargs), "n64:rename" },
-[5081] = { 2, TF, SEN(printargs), "n64:mkdir" },
-[5082] = { 1, TF, SEN(printargs), "n64:rmdir" },
-[5083] = { 2, TD|TF, SEN(printargs), "n64:creat" },
-[5084] = { 2, TF, SEN(printargs), "n64:link" },
-[5085] = { 1, TF, SEN(printargs), "n64:unlink" },
-[5086] = { 2, TF, SEN(printargs), "n64:symlink" },
-[5087] = { 3, TF, SEN(printargs), "n64:readlink" },
-[5088] = { 2, TF, SEN(printargs), "n64:chmod" },
-[5089] = { 2, TD, SEN(printargs), "n64:fchmod" },
-[5090] = { 3, TF, SEN(printargs), "n64:chown" },
-[5091] = { 3, TD, SEN(printargs), "n64:fchown" },
-[5092] = { 3, TF, SEN(printargs), "n64:lchown" },
-[5093] = { 1, NF, SEN(printargs), "n64:umask" },
-[5094] = { 2, 0, SEN(printargs), "n64:gettimeofday" },
-[5095] = { 2, 0, SEN(printargs), "n64:getrlimit" },
-[5096] = { 2, 0, SEN(printargs), "n64:getrusage" },
-[5097] = { 1, 0, SEN(printargs), "n64:sysinfo" },
-[5098] = { 1, 0, SEN(printargs), "n64:times" },
-[5099] = { 4, 0, SEN(printargs), "n64:ptrace" },
-[5100] = { 0, NF, SEN(printargs), "n64:getuid" },
-[5101] = { 3, 0, SEN(printargs), "n64:syslog" },
-[5102] = { 0, NF, SEN(printargs), "n64:getgid" },
-[5103] = { 1, 0, SEN(printargs), "n64:setuid" },
-[5104] = { 1, 0, SEN(printargs), "n64:setgid" },
-[5105] = { 0, NF, SEN(printargs), "n64:geteuid" },
-[5106] = { 0, NF, SEN(printargs), "n64:getegid" },
-[5107] = { 2, 0, SEN(printargs), "n64:setpgid" },
-[5108] = { 0, NF, SEN(printargs), "n64:getppid" },
-[5109] = { 0, 0, SEN(printargs), "n64:getpgrp" },
-[5110] = { 0, 0, SEN(printargs), "n64:setsid" },
-[5111] = { 2, 0, SEN(printargs), "n64:setreuid" },
-[5112] = { 2, 0, SEN(printargs), "n64:setregid" },
-[5113] = { 2, 0, SEN(printargs), "n64:getgroups" },
-[5114] = { 2, 0, SEN(printargs), "n64:setgroups" },
-[5115] = { 3, 0, SEN(printargs), "n64:setresuid" },
-[5116] = { 3, 0, SEN(printargs), "n64:getresuid" },
-[5117] = { 3, 0, SEN(printargs), "n64:setresgid" },
-[5118] = { 3, 0, SEN(printargs), "n64:getresgid" },
-[5119] = { 1, 0, SEN(printargs), "n64:getpgid" },
-[5120] = { 1, NF, SEN(printargs), "n64:setfsuid" },
-[5121] = { 1, NF, SEN(printargs), "n64:setfsgid" },
-[5122] = { 1, 0, SEN(printargs), "n64:getsid" },
-[5123] = { 2, 0, SEN(printargs), "n64:capget" },
-[5124] = { 2, 0, SEN(printargs), "n64:capset" },
-[5125] = { 2, TS, SEN(printargs), "n64:rt_sigpending" },
-[5126] = { 4, TS, SEN(printargs), "n64:rt_sigtimedwait" },
-[5127] = { 3, TS, SEN(printargs), "n64:rt_sigqueueinfo" },
-[5128] = { 2, TS, SEN(printargs), "n64:rt_sigsuspend" },
-[5129] = { 2, TS, SEN(printargs), "n64:sigaltstack" },
-[5130] = { 2, TF, SEN(printargs), "n64:utime" },
-[5131] = { 3, TF, SEN(printargs), "n64:mknod" },
-[5132] = { 1, NF, SEN(printargs), "n64:personality" },
-[5133] = { 2, TSFA, SEN(printargs), "n64:ustat" },
-[5134] = { 2, TF|TSF|TSFA, SEN(printargs), "n64:statfs" },
-[5135] = { 2, TD|TFSF|TSFA, SEN(printargs), "n64:fstatfs" },
-[5136] = { 3, 0, SEN(printargs), "n64:sysfs" },
-[5137] = { 2, 0, SEN(printargs), "n64:getpriority" },
-[5138] = { 3, 0, SEN(printargs), "n64:setpriority" },
-[5139] = { 2, 0, SEN(printargs), "n64:sched_setparam" },
-[5140] = { 2, 0, SEN(printargs), "n64:sched_getparam" },
-[5141] = { 3, 0, SEN(printargs), "n64:sched_setscheduler" },
-[5142] = { 1, 0, SEN(printargs), "n64:sched_getscheduler" },
-[5143] = { 1, 0, SEN(printargs), "n64:sched_get_priority_max"},
-[5144] = { 1, 0, SEN(printargs), "n64:sched_get_priority_min"},
-[5145] = { 2, 0, SEN(printargs), "n64:sched_rr_get_interval" },
-[5146] = { 2, TM, SEN(printargs), "n64:mlock" },
-[5147] = { 2, TM, SEN(printargs), "n64:munlock" },
-[5148] = { 1, TM, SEN(printargs), "n64:mlockall" },
-[5149] = { 0, TM, SEN(printargs), "n64:munlockall" },
-[5150] = { 0, 0, SEN(printargs), "n64:vhangup" },
-[5151] = { 2, TF, SEN(printargs), "n64:pivot_root" },
-[5152] = { 1, 0, SEN(printargs), "n64:_sysctl" },
-[5153] = { 5, 0, SEN(printargs), "n64:prctl" },
-[5154] = { 1, 0, SEN(printargs), "n64:adjtimex" },
-[5155] = { 2, 0, SEN(printargs), "n64:setrlimit" },
-[5156] = { 1, TF, SEN(printargs), "n64:chroot" },
-[5157] = { 0, 0, SEN(printargs), "n64:sync" },
-[5158] = { 1, TF, SEN(printargs), "n64:acct" },
-[5159] = { 2, 0, SEN(printargs), "n64:settimeofday" },
-[5160] = { 5, TF, SEN(printargs), "n64:mount" },
-[5161] = { 2, TF, SEN(printargs), "n64:umount2" },
-[5162] = { 2, TF, SEN(printargs), "n64:swapon" },
-[5163] = { 1, TF, SEN(printargs), "n64:swapoff" },
-[5164] = { 4, 0, SEN(printargs), "n64:reboot" },
-[5165] = { 2, 0, SEN(printargs), "n64:sethostname" },
-[5166] = { 2, 0, SEN(printargs), "n64:setdomainname" },
-[5167] = { 2, 0, SEN(printargs), "n64:create_module" },
-[5168] = { 3, 0, SEN(printargs), "n64:init_module" },
-[5169] = { 2, 0, SEN(printargs), "n64:delete_module" },
-[5170] = { 1, 0, SEN(printargs), "n64:get_kernel_syms" },
-[5171] = { 5, 0, SEN(printargs), "n64:query_module" },
-[5172] = { 4, TF, SEN(printargs), "n64:quotactl" },
-[5173] = { 3, 0, SEN(printargs), "n64:nfsservctl" },
-[5174] = { 5, TN, SEN(printargs), "n64:getpmsg" },
-[5175] = { 5, TN, SEN(printargs), "n64:putpmsg" },
-[5176] = { 0, 0, SEN(printargs), "n64:afs_syscall" },
-[5177] = { 0, 0, SEN(printargs), "n64:reserved177" },
-[5178] = { 0, NF, SEN(printargs), "n64:gettid" },
-[5179] = { 3, TD, SEN(printargs), "n64:readahead" },
-[5180] = { 5, TF, SEN(printargs), "n64:setxattr" },
-[5181] = { 5, TF, SEN(printargs), "n64:lsetxattr" },
-[5182] = { 5, TD, SEN(printargs), "n64:fsetxattr" },
-[5183] = { 4, TF, SEN(printargs), "n64:getxattr" },
-[5184] = { 4, TF, SEN(printargs), "n64:lgetxattr" },
-[5185] = { 4, TD, SEN(printargs), "n64:fgetxattr" },
-[5186] = { 3, TF, SEN(printargs), "n64:listxattr" },
-[5187] = { 3, TF, SEN(printargs), "n64:llistxattr" },
-[5188] = { 3, TD, SEN(printargs), "n64:flistxattr" },
-[5189] = { 2, TF, SEN(printargs), "n64:removexattr" },
-[5190] = { 2, TF, SEN(printargs), "n64:lremovexattr" },
-[5191] = { 2, TD, SEN(printargs), "n64:fremovexattr" },
-[5192] = { 2, TS, SEN(printargs), "n64:tkill" },
-[5193] = { 1, 0, SEN(printargs), "n64:time" },
-[5194] = { 6, 0, SEN(printargs), "n64:futex" },
-[5195] = { 3, 0, SEN(printargs), "n64:sched_setaffinity" },
-[5196] = { 3, 0, SEN(printargs), "n64:sched_getaffinity" },
-[5197] = { 3, 0, SEN(printargs), "n64:cacheflush" },
-[5198] = { 3, 0, SEN(printargs), "n64:cachectl" },
-[5199] = { 4, 0, SEN(printargs), "n64:sysmips" },
-[5200] = { 2, TM, SEN(printargs), "n64:io_setup" },
-[5201] = { 1, TM, SEN(printargs), "n64:io_destroy" },
-[5202] = { 5, 0, SEN(printargs), "n64:io_getevents" },
-[5203] = { 3, 0, SEN(printargs), "n64:io_submit" },
-[5204] = { 3, 0, SEN(printargs), "n64:io_cancel" },
-[5205] = { 1, TP|SE, SEN(printargs), "n64:exit_group" },
-[5206] = { 3, 0, SEN(printargs), "n64:lookup_dcookie" },
-[5207] = { 1, TD, SEN(printargs), "n64:epoll_create" },
-[5208] = { 4, TD, SEN(printargs), "n64:epoll_ctl" },
-[5209] = { 4, TD, SEN(printargs), "n64:epoll_wait" },
-[5210] = { 5, TM|SI, SEN(printargs), "n64:remap_file_pages" },
-[5211] = { 0, TS, SEN(printargs), "n64:rt_sigreturn" },
-[5212] = { 1, 0, SEN(printargs), "n64:set_tid_address" },
-[5213] = { 0, 0, SEN(printargs), "n64:restart_syscall" },
-[5214] = { 4, TI, SEN(printargs), "n64:semtimedop" },
-[5215] = { 4, TD, SEN(printargs), "n64:fadvise64" },
-[5216] = { 3, 0, SEN(printargs), "n64:timer_create" },
-[5217] = { 4, 0, SEN(printargs), "n64:timer_settime" },
-[5218] = { 2, 0, SEN(printargs), "n64:timer_gettime" },
-[5219] = { 1, 0, SEN(printargs), "n64:timer_getoverrun" },
-[5220] = { 1, 0, SEN(printargs), "n64:timer_delete" },
-[5221] = { 2, 0, SEN(printargs), "n64:clock_settime" },
-[5222] = { 2, 0, SEN(printargs), "n64:clock_gettime" },
-[5223] = { 2, 0, SEN(printargs), "n64:clock_getres" },
-[5224] = { 4, 0, SEN(printargs), "n64:clock_nanosleep" },
-[5225] = { 3, TS, SEN(printargs), "n64:tgkill" },
-[5226] = { 2, TF, SEN(printargs), "n64:utimes" },
-[5227] = { 6, TM, SEN(printargs), "n64:mbind" },
-[5228] = { 5, TM, SEN(printargs), "n64:get_mempolicy" },
-[5229] = { 3, TM, SEN(printargs), "n64:set_mempolicy" },
-[5230] = { 4, 0, SEN(printargs), "n64:mq_open" },
-[5231] = { 1, 0, SEN(printargs), "n64:mq_unlink" },
-[5232] = { 5, 0, SEN(printargs), "n64:mq_timedsend" },
-[5233] = { 5, 0, SEN(printargs), "n64:mq_timedreceive" },
-[5234] = { 2, 0, SEN(printargs), "n64:mq_notify" },
-[5235] = { 3, 0, SEN(printargs), "n64:mq_getsetattr" },
-[5236] = { 5, 0, SEN(printargs), "n64:vserver" },
-[5237] = { 5, TP, SEN(printargs), "n64:waitid" },
-[5238] = { },
-[5239] = { 5, 0, SEN(printargs), "n64:add_key" },
-[5240] = { 4, 0, SEN(printargs), "n64:request_key" },
-[5241] = { 5, 0, SEN(printargs), "n64:keyctl" },
-[5242] = { 1, 0, SEN(printargs), "n64:set_thread_area" },
-[5243] = { 0, TD, SEN(printargs), "n64:inotify_init" },
-[5244] = { 3, TD, SEN(printargs), "n64:inotify_add_watch" },
-[5245] = { 2, TD, SEN(printargs), "n64:inotify_rm_watch" },
-[5246] = { 4, TM, SEN(printargs), "n64:migrate_pages" },
-[5247] = { 4, TD|TF, SEN(printargs), "n64:openat" },
-[5248] = { 3, TD|TF, SEN(printargs), "n64:mkdirat" },
-[5249] = { 4, TD|TF, SEN(printargs), "n64:mknodat" },
-[5250] = { 5, TD|TF, SEN(printargs), "n64:fchownat" },
-[5251] = { 3, TD|TF, SEN(printargs), "n64:futimesat" },
-[5252] = { 4, TD|TF|TFST|TSTA,SEN(printargs), "n64:newfstatat" },
-[5253] = { 3, TD|TF, SEN(printargs), "n64:unlinkat" },
-[5254] = { 4, TD|TF, SEN(printargs), "n64:renameat" },
-[5255] = { 5, TD|TF, SEN(printargs), "n64:linkat" },
-[5256] = { 3, TD|TF, SEN(printargs), "n64:symlinkat" },
-[5257] = { 4, TD|TF, SEN(printargs), "n64:readlinkat" },
-[5258] = { 3, TD|TF, SEN(printargs), "n64:fchmodat" },
-[5259] = { 3, TD|TF, SEN(printargs), "n64:faccessat" },
-[5260] = { 6, TD, SEN(printargs), "n64:pselect6" },
-[5261] = { 5, TD, SEN(printargs), "n64:ppoll" },
-[5262] = { 1, TP, SEN(printargs), "n64:unshare" },
-[5263] = { 6, TD, SEN(printargs), "n64:splice" },
-[5264] = { 4, TD, SEN(printargs), "n64:sync_file_range" },
-[5265] = { 4, TD, SEN(printargs), "n64:tee" },
-[5266] = { 4, TD, SEN(printargs), "n64:vmsplice" },
-[5267] = { 6, TM, SEN(printargs), "n64:move_pages" },
-[5268] = { 2, 0, SEN(printargs), "n64:set_robust_list" },
-[5269] = { 3, 0, SEN(printargs), "n64:get_robust_list" },
-[5270] = { 4, 0, SEN(printargs), "n64:kexec_load" },
-[5271] = { 3, 0, SEN(printargs), "n64:getcpu" },
-[5272] = { 6, TD, SEN(printargs), "n64:epoll_pwait" },
-[5273] = { 3, 0, SEN(printargs), "n64:ioprio_set" },
-[5274] = { 2, 0, SEN(printargs), "n64:ioprio_get" },
-[5275] = { 4, TD|TF, SEN(printargs), "n64:utimensat" },
-[5276] = { 3, TD|TS, SEN(printargs), "n64:signalfd" },
-[5277] = { 4, TD, SEN(printargs), "n64:timerfd" },
-[5278] = { 1, TD, SEN(printargs), "n64:eventfd" },
-[5279] = { 4, TD, SEN(printargs), "n64:fallocate" },
-[5280] = { 2, TD, SEN(printargs), "n64:timerfd_create" },
-[5281] = { 2, TD, SEN(printargs), "n64:timerfd_gettime" },
-[5282] = { 4, TD, SEN(printargs), "n64:timerfd_settime" },
-[5283] = { 4, TD|TS, SEN(printargs), "n64:signalfd4" },
-[5284] = { 2, TD, SEN(printargs), "n64:eventfd2" },
-[5285] = { 1, TD, SEN(printargs), "n64:epoll_create1" },
-[5286] = { 3, TD, SEN(printargs), "n64:dup3" },
-[5287] = { 2, TD, SEN(printargs), "n64:pipe2" },
-[5288] = { 1, TD, SEN(printargs), "n64:inotify_init1" },
-[5289] = { 4, TD, SEN(printargs), "n64:preadv" },
-[5290] = { 4, TD, SEN(printargs), "n64:pwritev" },
-[5291] = { 4, TP|TS, SEN(printargs), "n64:rt_tgsigqueueinfo" },
-[5292] = { 5, TD, SEN(printargs), "n64:perf_event_open" },
-[5293] = { 4, TN, SEN(printargs), "n64:accept4" },
-[5294] = { 5, TN, SEN(printargs), "n64:recvmmsg" },
-[5295] = { 2, TD, SEN(printargs), "n64:fanotify_init" },
-[5296] = { 5, TD|TF, SEN(printargs), "n64:fanotify_mark" },
-[5297] = { 4, 0, SEN(printargs), "n64:prlimit64" },
-[5298] = { 5, TD|TF, SEN(printargs), "n64:name_to_handle_at" },
-[5299] = { 3, TD, SEN(printargs), "n64:open_by_handle_at" },
-[5300] = { 2, 0, SEN(printargs), "n64:clock_adjtime" },
-[5301] = { 1, TD, SEN(printargs), "n64:syncfs" },
-[5302] = { 4, TN, SEN(printargs), "n64:sendmmsg" },
-[5303] = { 2, TD, SEN(printargs), "n64:setns" },
-[5304] = { 6, 0, SEN(printargs), "n64:process_vm_readv" },
-[5305] = { 6, 0, SEN(printargs), "n64:process_vm_writev" },
-[5306] = { 5, 0, SEN(printargs), "n64:kcmp" },
-[5307] = { 3, TD, SEN(printargs), "n64:finit_module" },
-[5308] = { 3, TD, SEN(printargs), "n64:getdents64" },
-[5309] = { 3, 0, SEN(printargs), "n64:sched_setattr" },
-[5310] = { 4, 0, SEN(printargs), "n64:sched_getattr" },
-[5311] = { 5, TD|TF, SEN(printargs), "n64:renameat2" },
-[5312] = { 3, 0, SEN(printargs), "n64:seccomp" },
-[5313] = { 3, 0, SEN(printargs), "n64:getrandom" },
-[5314] = { 2, TD, SEN(printargs), "n64:memfd_create" },
-[5315] = { 3, TD, SEN(printargs), "n64:bpf" },
-[5316] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "n64:execveat" },
-[5317] = { 1, TD, SEN(printargs), "n64:userfaultfd" },
-[5318] = { 2, 0, SEN(printargs), "n64:membarrier" },
-[5319] = { 3, TM, SEN(printargs), "n64:mlock2" },
-[5320] = { 6, TD, SEN(printargs), "n64:copy_file_range" },
-[5321] = { 6, TD, SEN(printargs), "n64:preadv2" },
-[5322] = { 6, TD, SEN(printargs), "n64:pwritev2" },
-[5323] = { 4, TM|SI, SEN(printargs), "n64:pkey_mprotect" },
-[5324] = { 2, 0, SEN(printargs), "n64:pkey_alloc" },
-[5325] = { 1, 0, SEN(printargs), "n64:pkey_free" },
-[5326] = { 5, TD|TF|TSTA, SEN(printargs), "n64:statx" },
diff --git a/linux/mips/syscallent-o32-stub.h b/linux/mips/syscallent-o32-stub.h
deleted file mode 100644
index 04296fa5..00000000
--- a/linux/mips/syscallent-o32-stub.h
+++ /dev/null
@@ -1,367 +0,0 @@
-[4000] = { MA, 0, SEN(printargs), "o32:syscall" }, /* start of Linux o32 */
-[4001] = { 1, TP|SE, SEN(printargs), "o32:exit" },
-[4002] = { 0, TP, SEN(printargs), "o32:fork" },
-[4003] = { 3, TD, SEN(printargs), "o32:read" },
-[4004] = { 3, TD, SEN(printargs), "o32:write" },
-[4005] = { 3, TD|TF, SEN(printargs), "o32:open" },
-[4006] = { 1, TD, SEN(printargs), "o32:close" },
-[4007] = { 3, TP, SEN(printargs), "o32:waitpid" },
-[4008] = { 2, TD|TF, SEN(printargs), "o32:creat" },
-[4009] = { 2, TF, SEN(printargs), "o32:link" },
-[4010] = { 1, TF, SEN(printargs), "o32:unlink" },
-[4011] = { 3, TF|TP|SE|SI, SEN(printargs), "o32:execve" },
-[4012] = { 1, TF, SEN(printargs), "o32:chdir" },
-[4013] = { 1, 0, SEN(printargs), "o32:time" },
-[4014] = { 3, TF, SEN(printargs), "o32:mknod" },
-[4015] = { 2, TF, SEN(printargs), "o32:chmod" },
-[4016] = { 3, TF, SEN(printargs), "o32:lchown" },
-[4017] = { 0, TM, SEN(printargs), "o32:break" },
-[4018] = { 2, TF|TST|TSTA, SEN(printargs), "o32:oldstat" },
-[4019] = { 3, TD, SEN(printargs), "o32:lseek" },
-[4020] = { 0, NF, SEN(printargs), "o32:getpid" },
-[4021] = { 5, TF, SEN(printargs), "o32:mount" },
-[4022] = { 1, TF, SEN(printargs), "o32:umount" },
-[4023] = { 1, 0, SEN(printargs), "o32:setuid" },
-[4024] = { 0, NF, SEN(printargs), "o32:getuid" },
-[4025] = { 1, 0, SEN(printargs), "o32:stime" },
-[4026] = { 4, 0, SEN(printargs), "o32:ptrace" },
-[4027] = { 1, 0, SEN(printargs), "o32:alarm" },
-[4028] = { 2, TD|TFST|TSTA, SEN(printargs), "o32:oldfstat" },
-[4029] = { 0, TS, SEN(printargs), "o32:pause" },
-[4030] = { 2, TF, SEN(printargs), "o32:utime" },
-[4031] = { 0, 0, SEN(printargs), "o32:stty" },
-[4032] = { 0, 0, SEN(printargs), "o32:gtty" },
-[4033] = { 2, TF, SEN(printargs), "o32:access" },
-[4034] = { 1, 0, SEN(printargs), "o32:nice" },
-[4035] = { 1, 0, SEN(printargs), "o32:ftime" },
-[4036] = { 0, 0, SEN(printargs), "o32:sync" },
-[4037] = { 2, TS, SEN(printargs), "o32:kill" },
-[4038] = { 2, TF, SEN(printargs), "o32:rename" },
-[4039] = { 2, TF, SEN(printargs), "o32:mkdir" },
-[4040] = { 1, TF, SEN(printargs), "o32:rmdir" },
-[4041] = { 1, TD, SEN(printargs), "o32:dup" },
-[4042] = { 0, TD, SEN(printargs), "o32:pipe" },
-[4043] = { 1, 0, SEN(printargs), "o32:times" },
-[4044] = { 0, 0, SEN(printargs), "o32:prof" },
-[4045] = { 1, TM|SI, SEN(printargs), "o32:brk" },
-[4046] = { 1, 0, SEN(printargs), "o32:setgid" },
-[4047] = { 0, NF, SEN(printargs), "o32:getgid" },
-[4048] = { 2, TS, SEN(printargs), "o32:signal" },
-[4049] = { 0, NF, SEN(printargs), "o32:geteuid" },
-[4050] = { 0, NF, SEN(printargs), "o32:getegid" },
-[4051] = { 1, TF, SEN(printargs), "o32:acct" },
-[4052] = { 2, TF, SEN(printargs), "o32:umount2" },
-[4053] = { 0, 0, SEN(printargs), "o32:lock" },
-[4054] = { 3, TD, SEN(printargs), "o32:ioctl" },
-[4055] = { 3, TD, SEN(printargs), "o32:fcntl" },
-[4056] = { 0, 0, SEN(printargs), "o32:mpx" },
-[4057] = { 2, 0, SEN(printargs), "o32:setpgid" },
-[4058] = { 0, 0, SEN(printargs), "o32:ulimit" },
-[4059] = { 1, 0, SEN(printargs), "o32:oldolduname" },
-[4060] = { 1, NF, SEN(printargs), "o32:umask" },
-[4061] = { 1, TF, SEN(printargs), "o32:chroot" },
-[4062] = { 2, TSFA, SEN(printargs), "o32:ustat" },
-[4063] = { 2, TD, SEN(printargs), "o32:dup2" },
-[4064] = { 0, NF, SEN(printargs), "o32:getppid" },
-[4065] = { 0, 0, SEN(printargs), "o32:getpgrp" },
-[4066] = { 0, 0, SEN(printargs), "o32:setsid" },
-[4067] = { 3, TS, SEN(printargs), "o32:sigaction" },
-[4068] = { 0, TS, SEN(printargs), "o32:sgetmask" },
-[4069] = { 1, TS, SEN(printargs), "o32:ssetmask" },
-[4070] = { 2, 0, SEN(printargs), "o32:setreuid" },
-[4071] = { 2, 0, SEN(printargs), "o32:setregid" },
-[4072] = { 1, TS, SEN(printargs), "o32:sigsuspend" },
-[4073] = { 1, TS, SEN(printargs), "o32:sigpending" },
-[4074] = { 2, 0, SEN(printargs), "o32:sethostname" },
-[4075] = { 2, 0, SEN(printargs), "o32:setrlimit" },
-[4076] = { 2, 0, SEN(printargs), "o32:getrlimit" },
-[4077] = { 2, 0, SEN(printargs), "o32:getrusage" },
-[4078] = { 2, 0, SEN(printargs), "o32:gettimeofday" },
-[4079] = { 2, 0, SEN(printargs), "o32:settimeofday" },
-[4080] = { 2, 0, SEN(printargs), "o32:getgroups" },
-[4081] = { 2, 0, SEN(printargs), "o32:setgroups" },
-[4082] = { 0, 0, SEN(printargs), "o32:reserved82" },
-[4083] = { 2, TF, SEN(printargs), "o32:symlink" },
-[4084] = { 2, TF|TLST|TSTA, SEN(printargs), "o32:oldlstat" },
-[4085] = { 3, TF, SEN(printargs), "o32:readlink" },
-[4086] = { 1, TF, SEN(printargs), "o32:uselib" },
-[4087] = { 2, TF, SEN(printargs), "o32:swapon" },
-[4088] = { 4, 0, SEN(printargs), "o32:reboot" },
-[4089] = { 3, TD, SEN(printargs), "o32:readdir" },
-[4090] = { 6, TD|TM|SI, SEN(printargs), "o32:mmap" },
-[4091] = { 2, TM|SI, SEN(printargs), "o32:munmap" },
-[4092] = { 2, TF, SEN(printargs), "o32:truncate" },
-[4093] = { 2, TD, SEN(printargs), "o32:ftruncate" },
-[4094] = { 2, TD, SEN(printargs), "o32:fchmod" },
-[4095] = { 3, TD, SEN(printargs), "o32:fchown" },
-[4096] = { 2, 0, SEN(printargs), "o32:getpriority" },
-[4097] = { 3, 0, SEN(printargs), "o32:setpriority" },
-[4098] = { 0, 0, SEN(printargs), "o32:profil" },
-[4099] = { 2, TF|TSF|TSFA, SEN(printargs), "o32:statfs" },
-[4100] = { 2, TD|TFSF|TSFA, SEN(printargs), "o32:fstatfs" },
-[4101] = { 3, 0, SEN(printargs), "o32:ioperm" },
-[4102] = { 2, TD, SEN(printargs), "o32:socketcall" },
-[4103] = { 3, 0, SEN(printargs), "o32:syslog" },
-[4104] = { 3, 0, SEN(printargs), "o32:setitimer" },
-[4105] = { 2, 0, SEN(printargs), "o32:getitimer" },
-[4106] = { 2, TF|TST|TSTA, SEN(printargs), "o32:stat" },
-[4107] = { 2, TF|TLST|TSTA, SEN(printargs), "o32:lstat" },
-[4108] = { 2, TD|TFST|TSTA, SEN(printargs), "o32:fstat" },
-[4109] = { 1, 0, SEN(printargs), "o32:olduname" },
-[4110] = { 1, 0, SEN(printargs), "o32:iopl" },
-[4111] = { 0, 0, SEN(printargs), "o32:vhangup" },
-[4112] = { 0, 0, SEN(printargs), "o32:idle" },
-[4113] = { 5, 0, SEN(printargs), "o32:vm86" },
-[4114] = { 4, TP, SEN(printargs), "o32:wait4" },
-[4115] = { 1, TF, SEN(printargs), "o32:swapoff" },
-[4116] = { 1, 0, SEN(printargs), "o32:sysinfo" },
-[4117] = { 6, TI, SEN(printargs), "o32:ipc" },
-[4118] = { 1, TD, SEN(printargs), "o32:fsync" },
-[4119] = { 0, TS, SEN(printargs), "o32:sigreturn" },
-[4120] = { 5, TP, SEN(printargs), "o32:clone" },
-[4121] = { 2, 0, SEN(printargs), "o32:setdomainname" },
-[4122] = { 1, 0, SEN(printargs), "o32:uname" },
-[4123] = { 0, 0, SEN(printargs), "o32:modify_ldt" },
-[4124] = { 1, 0, SEN(printargs), "o32:adjtimex" },
-[4125] = { 3, TM|SI, SEN(printargs), "o32:mprotect" },
-[4126] = { 3, TS, SEN(printargs), "o32:sigprocmask" },
-[4127] = { 2, 0, SEN(printargs), "o32:create_module" },
-[4128] = { 3, 0, SEN(printargs), "o32:init_module" },
-[4129] = { 2, 0, SEN(printargs), "o32:delete_module" },
-[4130] = { 1, 0, SEN(printargs), "o32:get_kernel_syms" },
-[4131] = { 4, TF, SEN(printargs), "o32:quotactl" },
-[4132] = { 1, 0, SEN(printargs), "o32:getpgid" },
-[4133] = { 1, TD, SEN(printargs), "o32:fchdir" },
-[4134] = { 2, 0, SEN(printargs), "o32:bdflush" },
-[4135] = { 3, 0, SEN(printargs), "o32:sysfs" },
-[4136] = { 1, NF, SEN(printargs), "o32:personality" },
-[4137] = { 0, 0, SEN(printargs), "o32:afs_syscall" },
-[4138] = { 1, NF, SEN(printargs), "o32:setfsuid" },
-[4139] = { 1, NF, SEN(printargs), "o32:setfsgid" },
-[4140] = { 5, TD, SEN(printargs), "o32:_llseek" },
-[4141] = { 3, TD, SEN(printargs), "o32:getdents" },
-[4142] = { 5, TD, SEN(printargs), "o32:_newselect" },
-[4143] = { 2, TD, SEN(printargs), "o32:flock" },
-[4144] = { 3, TM, SEN(printargs), "o32:msync" },
-[4145] = { 3, TD, SEN(printargs), "o32:readv" },
-[4146] = { 3, TD, SEN(printargs), "o32:writev" },
-[4147] = { 3, 0, SEN(printargs), "o32:cacheflush" },
-[4148] = { 3, 0, SEN(printargs), "o32:cachectl" },
-[4149] = { 4, 0, SEN(printargs), "o32:sysmips" },
-[4150] = { 0, 0, SEN(printargs), "o32:setup" },
-[4151] = { 1, 0, SEN(printargs), "o32:getsid" },
-[4152] = { 1, TD, SEN(printargs), "o32:fdatasync" },
-[4153] = { 1, 0, SEN(printargs), "o32:_sysctl" },
-[4154] = { 2, TM, SEN(printargs), "o32:mlock" },
-[4155] = { 2, TM, SEN(printargs), "o32:munlock" },
-[4156] = { 1, TM, SEN(printargs), "o32:mlockall" },
-[4157] = { 0, TM, SEN(printargs), "o32:munlockall" },
-[4158] = { 2, 0, SEN(printargs), "o32:sched_setparam" },
-[4159] = { 2, 0, SEN(printargs), "o32:sched_getparam" },
-[4160] = { 3, 0, SEN(printargs), "o32:sched_setscheduler" },
-[4161] = { 1, 0, SEN(printargs), "o32:sched_getscheduler" },
-[4162] = { 0, 0, SEN(printargs), "o32:sched_yield" },
-[4163] = { 1, 0, SEN(printargs), "o32:sched_get_priority_max"},
-[4164] = { 1, 0, SEN(printargs), "o32:sched_get_priority_min"},
-[4165] = { 2, 0, SEN(printargs), "o32:sched_rr_get_interval" },
-[4166] = { 2, 0, SEN(printargs), "o32:nanosleep" },
-[4167] = { 5, TM|SI, SEN(printargs), "o32:mremap" },
-[4168] = { 3, TN, SEN(printargs), "o32:accept" },
-[4169] = { 3, TN, SEN(printargs), "o32:bind" },
-[4170] = { 3, TN, SEN(printargs), "o32:connect" },
-[4171] = { 3, TN, SEN(printargs), "o32:getpeername" },
-[4172] = { 3, TN, SEN(printargs), "o32:getsockname" },
-[4173] = { 5, TN, SEN(printargs), "o32:getsockopt" },
-[4174] = { 2, TN, SEN(printargs), "o32:listen" },
-[4175] = { 4, TN, SEN(printargs), "o32:recv" },
-[4176] = { 6, TN, SEN(printargs), "o32:recvfrom" },
-[4177] = { 3, TN, SEN(printargs), "o32:recvmsg" },
-[4178] = { 4, TN, SEN(printargs), "o32:send" },
-[4179] = { 3, TN, SEN(printargs), "o32:sendmsg" },
-[4180] = { 6, TN, SEN(printargs), "o32:sendto" },
-[4181] = { 5, TN, SEN(printargs), "o32:setsockopt" },
-[4182] = { 2, TN, SEN(printargs), "o32:shutdown" },
-[4183] = { 3, TN, SEN(printargs), "o32:socket" },
-[4184] = { 4, TN, SEN(printargs), "o32:socketpair" },
-[4185] = { 3, 0, SEN(printargs), "o32:setresuid" },
-[4186] = { 3, 0, SEN(printargs), "o32:getresuid" },
-[4187] = { 5, 0, SEN(printargs), "o32:query_module" },
-[4188] = { 3, TD, SEN(printargs), "o32:poll" },
-[4189] = { 3, 0, SEN(printargs), "o32:nfsservctl" },
-[4190] = { 3, 0, SEN(printargs), "o32:setresgid" },
-[4191] = { 3, 0, SEN(printargs), "o32:getresgid" },
-[4192] = { 5, 0, SEN(printargs), "o32:prctl" },
-[4193] = { 0, TS, SEN(printargs), "o32:rt_sigreturn" },
-[4194] = { 4, TS, SEN(printargs), "o32:rt_sigaction" },
-[4195] = { 4, TS, SEN(printargs), "o32:rt_sigprocmask" },
-[4196] = { 2, TS, SEN(printargs), "o32:rt_sigpending" },
-[4197] = { 4, TS, SEN(printargs), "o32:rt_sigtimedwait" },
-[4198] = { 3, TS, SEN(printargs), "o32:rt_sigqueueinfo" },
-[4199] = { 2, TS, SEN(printargs), "o32:rt_sigsuspend" },
-[4200] = { 6, TD, SEN(printargs), "o32:pread64" },
-[4201] = { 6, TD, SEN(printargs), "o32:pwrite64" },
-[4202] = { 3, TF, SEN(printargs), "o32:chown" },
-[4203] = { 2, TF, SEN(printargs), "o32:getcwd" },
-[4204] = { 2, 0, SEN(printargs), "o32:capget" },
-[4205] = { 2, 0, SEN(printargs), "o32:capset" },
-[4206] = { 2, TS, SEN(printargs), "o32:sigaltstack" },
-[4207] = { 4, TD|TN, SEN(printargs), "o32:sendfile" },
-[4208] = { 5, TN, SEN(printargs), "o32:getpmsg" },
-[4209] = { 5, TN, SEN(printargs), "o32:putpmsg" },
-[4210] = { 6, TD|TM|SI, SEN(printargs), "o32:mmap2" },
-[4211] = { 4, TF, SEN(printargs), "o32:truncate64" },
-[4212] = { 4, TD, SEN(printargs), "o32:ftruncate64" },
-[4213] = { 2, TF|TST|TSTA, SEN(printargs), "o32:stat64" },
-[4214] = { 2, TF|TLST|TSTA, SEN(printargs), "o32:lstat64" },
-[4215] = { 2, TD|TFST|TSTA, SEN(printargs), "o32:fstat64" },
-[4216] = { 2, TF, SEN(printargs), "o32:pivot_root" },
-[4217] = { 3, TM, SEN(printargs), "o32:mincore" },
-[4218] = { 3, TM, SEN(printargs), "o32:madvise" },
-[4219] = { 3, TD, SEN(printargs), "o32:getdents64" },
-[4220] = { 3, TD, SEN(printargs), "o32:fcntl64" },
-[4221] = { },
-[4222] = { 0, NF, SEN(printargs), "o32:gettid" },
-[4223] = { 5, TD, SEN(printargs), "o32:readahead" },
-[4224] = { 5, TF, SEN(printargs), "o32:setxattr" },
-[4225] = { 5, TF, SEN(printargs), "o32:lsetxattr" },
-[4226] = { 5, TD, SEN(printargs), "o32:fsetxattr" },
-[4227] = { 4, TF, SEN(printargs), "o32:getxattr" },
-[4228] = { 4, TF, SEN(printargs), "o32:lgetxattr" },
-[4229] = { 4, TD, SEN(printargs), "o32:fgetxattr" },
-[4230] = { 3, TF, SEN(printargs), "o32:listxattr" },
-[4231] = { 3, TF, SEN(printargs), "o32:llistxattr" },
-[4232] = { 3, TD, SEN(printargs), "o32:flistxattr" },
-[4233] = { 2, TF, SEN(printargs), "o32:removexattr" },
-[4234] = { 2, TF, SEN(printargs), "o32:lremovexattr" },
-[4235] = { 2, TD, SEN(printargs), "o32:fremovexattr" },
-[4236] = { 2, TS, SEN(printargs), "o32:tkill" },
-[4237] = { 4, TD|TN, SEN(printargs), "o32:sendfile64" },
-[4238] = { 6, 0, SEN(printargs), "o32:futex" },
-[4239] = { 3, 0, SEN(printargs), "o32:sched_setaffinity" },
-[4240] = { 3, 0, SEN(printargs), "o32:sched_getaffinity" },
-[4241] = { 2, TM, SEN(printargs), "o32:io_setup" },
-[4242] = { 1, TM, SEN(printargs), "o32:io_destroy" },
-[4243] = { 5, 0, SEN(printargs), "o32:io_getevents" },
-[4244] = { 3, 0, SEN(printargs), "o32:io_submit" },
-[4245] = { 3, 0, SEN(printargs), "o32:io_cancel" },
-[4246] = { 1, TP|SE, SEN(printargs), "o32:exit_group" },
-[4247] = { 4, 0, SEN(printargs), "o32:lookup_dcookie" },
-[4248] = { 1, TD, SEN(printargs), "o32:epoll_create" },
-[4249] = { 4, TD, SEN(printargs), "o32:epoll_ctl" },
-[4250] = { 4, TD, SEN(printargs), "o32:epoll_wait" },
-[4251] = { 5, TM|SI, SEN(printargs), "o32:remap_file_pages" },
-[4252] = { 1, 0, SEN(printargs), "o32:set_tid_address" },
-[4253] = { 0, 0, SEN(printargs), "o32:restart_syscall" },
-[4254] = { 7, TD, SEN(printargs), "o32:fadvise64" },
-[4255] = { 3, TF|TSF|TSFA, SEN(printargs), "o32:statfs64" },
-[4256] = { 3, TD|TFSF|TSFA, SEN(printargs), "o32:fstatfs64" },
-[4257] = { 3, 0, SEN(printargs), "o32:timer_create" },
-[4258] = { 4, 0, SEN(printargs), "o32:timer_settime" },
-[4259] = { 2, 0, SEN(printargs), "o32:timer_gettime" },
-[4260] = { 1, 0, SEN(printargs), "o32:timer_getoverrun" },
-[4261] = { 1, 0, SEN(printargs), "o32:timer_delete" },
-[4262] = { 2, 0, SEN(printargs), "o32:clock_settime" },
-[4263] = { 2, 0, SEN(printargs), "o32:clock_gettime" },
-[4264] = { 2, 0, SEN(printargs), "o32:clock_getres" },
-[4265] = { 4, 0, SEN(printargs), "o32:clock_nanosleep" },
-[4266] = { 3, TS, SEN(printargs), "o32:tgkill" },
-[4267] = { 2, TF, SEN(printargs), "o32:utimes" },
-[4268] = { 6, TM, SEN(printargs), "o32:mbind" },
-[4269] = { 5, TM, SEN(printargs), "o32:get_mempolicy" },
-[4270] = { 3, TM, SEN(printargs), "o32:set_mempolicy" },
-[4271] = { 4, 0, SEN(printargs), "o32:mq_open" },
-[4272] = { 1, 0, SEN(printargs), "o32:mq_unlink" },
-[4273] = { 5, 0, SEN(printargs), "o32:mq_timedsend" },
-[4274] = { 5, 0, SEN(printargs), "o32:mq_timedreceive" },
-[4275] = { 2, 0, SEN(printargs), "o32:mq_notify" },
-[4276] = { 3, 0, SEN(printargs), "o32:mq_getsetattr" },
-[4277] = { 5, 0, SEN(printargs), "o32:vserver" },
-[4278] = { 5, TP, SEN(printargs), "o32:waitid" },
-[4279] = { },
-[4280] = { 5, 0, SEN(printargs), "o32:add_key" },
-[4281] = { 4, 0, SEN(printargs), "o32:request_key" },
-[4282] = { 5, 0, SEN(printargs), "o32:keyctl" },
-[4283] = { 1, 0, SEN(printargs), "o32:set_thread_area" },
-[4284] = { 0, TD, SEN(printargs), "o32:inotify_init" },
-[4285] = { 3, TD, SEN(printargs), "o32:inotify_add_watch" },
-[4286] = { 2, TD, SEN(printargs), "o32:inotify_rm_watch" },
-[4287] = { 4, TM, SEN(printargs), "o32:migrate_pages" },
-[4288] = { 4, TD|TF, SEN(printargs), "o32:openat" },
-[4289] = { 3, TD|TF, SEN(printargs), "o32:mkdirat" },
-[4290] = { 4, TD|TF, SEN(printargs), "o32:mknodat" },
-[4291] = { 5, TD|TF, SEN(printargs), "o32:fchownat" },
-[4292] = { 3, TD|TF, SEN(printargs), "o32:futimesat" },
-[4293] = { 4, TD|TF|TFST|TSTA,SEN(printargs), "o32:fstatat64" },
-[4294] = { 3, TD|TF, SEN(printargs), "o32:unlinkat" },
-[4295] = { 4, TD|TF, SEN(printargs), "o32:renameat" },
-[4296] = { 5, TD|TF, SEN(printargs), "o32:linkat" },
-[4297] = { 3, TD|TF, SEN(printargs), "o32:symlinkat" },
-[4298] = { 4, TD|TF, SEN(printargs), "o32:readlinkat" },
-[4299] = { 3, TD|TF, SEN(printargs), "o32:fchmodat" },
-[4300] = { 3, TD|TF, SEN(printargs), "o32:faccessat" },
-[4301] = { 6, TD, SEN(printargs), "o32:pselect6" },
-[4302] = { 5, TD, SEN(printargs), "o32:ppoll" },
-[4303] = { 1, TP, SEN(printargs), "o32:unshare" },
-[4304] = { 6, TD, SEN(printargs), "o32:splice" },
-[4305] = { 7, TD, SEN(printargs), "o32:sync_file_range" },
-[4306] = { 4, TD, SEN(printargs), "o32:tee" },
-[4307] = { 4, TD, SEN(printargs), "o32:vmsplice" },
-[4308] = { 6, TM, SEN(printargs), "o32:move_pages" },
-[4309] = { 2, 0, SEN(printargs), "o32:set_robust_list" },
-[4310] = { 3, 0, SEN(printargs), "o32:get_robust_list" },
-[4311] = { 4, 0, SEN(printargs), "o32:kexec_load" },
-[4312] = { 3, 0, SEN(printargs), "o32:getcpu" },
-[4313] = { 6, TD, SEN(printargs), "o32:epoll_pwait" },
-[4314] = { 3, 0, SEN(printargs), "o32:ioprio_set" },
-[4315] = { 2, 0, SEN(printargs), "o32:ioprio_get" },
-[4316] = { 4, TD|TF, SEN(printargs), "o32:utimensat" },
-[4317] = { 3, TD|TS, SEN(printargs), "o32:signalfd" },
-[4318] = { 4, TD, SEN(printargs), "o32:timerfd" },
-[4319] = { 1, TD, SEN(printargs), "o32:eventfd" },
-[4320] = { 6, TD, SEN(printargs), "o32:fallocate" },
-[4321] = { 2, TD, SEN(printargs), "o32:timerfd_create" },
-[4322] = { 2, TD, SEN(printargs), "o32:timerfd_gettime" },
-[4323] = { 4, TD, SEN(printargs), "o32:timerfd_settime" },
-[4324] = { 4, TD|TS, SEN(printargs), "o32:signalfd4" },
-[4325] = { 2, TD, SEN(printargs), "o32:eventfd2" },
-[4326] = { 1, TD, SEN(printargs), "o32:epoll_create1" },
-[4327] = { 3, TD, SEN(printargs), "o32:dup3" },
-[4328] = { 2, TD, SEN(printargs), "o32:pipe2" },
-[4329] = { 1, TD, SEN(printargs), "o32:inotify_init1" },
-[4330] = { 5, TD, SEN(printargs), "o32:preadv" },
-[4331] = { 5, TD, SEN(printargs), "o32:pwritev" },
-[4332] = { 4, TP|TS, SEN(printargs), "o32:rt_tgsigqueueinfo" },
-[4333] = { 5, TD, SEN(printargs), "o32:perf_event_open" },
-[4334] = { 4, TN, SEN(printargs), "o32:accept4" },
-[4335] = { 5, TN, SEN(printargs), "o32:recvmmsg" },
-[4336] = { 2, TD, SEN(printargs), "o32:fanotify_init" },
-[4337] = { 6, TD|TF, SEN(printargs), "o32:fanotify_mark" },
-[4338] = { 4, 0, SEN(printargs), "o32:prlimit64" },
-[4339] = { 5, TD|TF, SEN(printargs), "o32:name_to_handle_at" },
-[4340] = { 3, TD, SEN(printargs), "o32:open_by_handle_at" },
-[4341] = { 2, 0, SEN(printargs), "o32:clock_adjtime" },
-[4342] = { 1, TD, SEN(printargs), "o32:syncfs" },
-[4343] = { 4, TN, SEN(printargs), "o32:sendmmsg" },
-[4344] = { 2, TD, SEN(printargs), "o32:setns" },
-[4345] = { 6, 0, SEN(printargs), "o32:process_vm_readv" },
-[4346] = { 6, 0, SEN(printargs), "o32:process_vm_writev" },
-[4347] = { 5, 0, SEN(printargs), "o32:kcmp" },
-[4348] = { 3, TD, SEN(printargs), "o32:finit_module" },
-[4349] = { 3, 0, SEN(printargs), "o32:sched_setattr" },
-[4350] = { 4, 0, SEN(printargs), "o32:sched_getattr" },
-[4351] = { 5, TD|TF, SEN(printargs), "o32:renameat2" },
-[4352] = { 3, 0, SEN(printargs), "o32:seccomp" },
-[4353] = { 3, 0, SEN(printargs), "o32:getrandom" },
-[4354] = { 2, TD, SEN(printargs), "o32:memfd_create" },
-[4355] = { 3, TD, SEN(printargs), "o32:bpf" },
-[4356] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "o32:execveat" },
-[4357] = { 1, TD, SEN(printargs), "o32:userfaultfd" },
-[4358] = { 2, 0, SEN(printargs), "o32:membarrier" },
-[4359] = { 3, TM, SEN(printargs), "o32:mlock2" },
-[4360] = { 6, TD, SEN(printargs), "o32:copy_file_range" },
-[4361] = { 6, TD, SEN(printargs), "o32:preadv2" },
-[4362] = { 6, TD, SEN(printargs), "o32:pwritev2" },
-[4363] = { 4, TM|SI, SEN(printargs), "o32:pkey_mprotect" },
-[4364] = { 2, 0, SEN(printargs), "o32:pkey_alloc" },
-[4365] = { 1, 0, SEN(printargs), "o32:pkey_free" },
-[4366] = { 5, TD|TF|TSTA, SEN(printargs), "o32:statx" },
diff --git a/linux/netlink_diag.h b/linux/netlink_diag.h
index a52507c7..88dde228 100644
--- a/linux/netlink_diag.h
+++ b/linux/netlink_diag.h
@@ -23,7 +23,33 @@ struct netlink_diag_msg {
uint32_t ndiag_cookie[2];
};
-#define NDIAG_SHOW_MEMINFO 0x00000001
-#define NDIAG_PROTO_ALL ((uint8_t) ~0)
+struct netlink_diag_ring {
+ uint32_t ndr_block_size;
+ uint32_t ndr_block_nr;
+ uint32_t ndr_frame_size;
+ uint32_t ndr_frame_nr;
+};
+
+enum {
+ NETLINK_DIAG_MEMINFO,
+ NETLINK_DIAG_GROUPS,
+ NETLINK_DIAG_RX_RING,
+ NETLINK_DIAG_TX_RING,
+ NETLINK_DIAG_FLAGS,
+};
+
+#define NDIAG_SHOW_MEMINFO 0x00000001
+#define NDIAG_SHOW_GROUPS 0x00000002
+#define NDIAG_SHOW_RING_CFG 0x00000004 /* deprecated since 4.6 */
+#define NDIAG_SHOW_FLAGS 0x00000008
+#define NDIAG_PROTO_ALL ((uint8_t) ~0)
+
+/* flags */
+#define NDIAG_FLAG_CB_RUNNING 0x00000001
+#define NDIAG_FLAG_PKTINFO 0x00000002
+#define NDIAG_FLAG_BROADCAST_ERROR 0x00000004
+#define NDIAG_FLAG_NO_ENOBUFS 0x00000008
+#define NDIAG_FLAG_LISTEN_ALL_NSID 0x00000010
+#define NDIAG_FLAG_CAP_ACK 0x00000020
#endif /* !STRACE_LINUX_NETLINK_DIAG_H */
diff --git a/linux/nios2/arch_regs.c b/linux/nios2/arch_regs.c
index 8a668bce..c18a3aa5 100644
--- a/linux/nios2/arch_regs.c
+++ b/linux/nios2/arch_regs.c
@@ -1,4 +1,4 @@
static struct user_pt_regs nios2_regs;
-unsigned long *const nios2_sp_ptr = &nios2_regs.sp;
+unsigned int *const nios2_sp_ptr = &nios2_regs.regs[PTR_SP];
# define ARCH_REGS_FOR_GETREGSET nios2_regs
#define ARCH_PC_REG nios2_regs.regs[PTR_EA]
diff --git a/linux/nios2/arch_regs.h b/linux/nios2/arch_regs.h
index 7f344b53..c4230eda 100644
--- a/linux/nios2/arch_regs.h
+++ b/linux/nios2/arch_regs.h
@@ -1 +1 @@
-extern unsigned long *const nios2_sp_ptr;
+extern unsigned int *const nios2_sp_ptr;
diff --git a/linux/packet_diag.h b/linux/packet_diag.h
new file mode 100644
index 00000000..3e8120b7
--- /dev/null
+++ b/linux/packet_diag.h
@@ -0,0 +1,40 @@
+#ifndef STRACE_LINUX_PACKET_DIAG_H
+#define STRACE_LINUX_PACKET_DIAG_H
+
+struct packet_diag_req {
+ uint8_t sdiag_family;
+ uint8_t sdiag_protocol;
+ uint16_t pad;
+ uint32_t pdiag_ino;
+ uint32_t pdiag_show;
+ uint32_t pdiag_cookie[2];
+};
+
+#define PACKET_SHOW_INFO 0x00000001
+#define PACKET_SHOW_MCLIST 0x00000002
+#define PACKET_SHOW_RING_CFG 0x00000004
+#define PACKET_SHOW_FANOUT 0x00000008
+#define PACKET_SHOW_MEMINFO 0x00000010
+#define PACKET_SHOW_FILTER 0x00000020
+
+struct packet_diag_msg {
+ uint8_t pdiag_family;
+ uint8_t pdiag_type;
+ uint16_t pdiag_num;
+
+ uint32_t pdiag_ino;
+ uint32_t pdiag_cookie[2];
+};
+
+enum {
+ PACKET_DIAG_INFO,
+ PACKET_DIAG_MCLIST,
+ PACKET_DIAG_RX_RING,
+ PACKET_DIAG_TX_RING,
+ PACKET_DIAG_FANOUT,
+ PACKET_DIAG_UID,
+ PACKET_DIAG_MEMINFO,
+ PACKET_DIAG_FILTER,
+};
+
+#endif /* !STRACE_LINUX_PACKET_DIAG_H */
diff --git a/linux/personality.h b/linux/personality.h
index 9971703f..09b35c65 100644
--- a/linux/personality.h
+++ b/linux/personality.h
@@ -8,8 +8,8 @@
* These occupy the top three bytes.
*/
enum {
- UNAME26 = 0x0020000,
- ADDR_NO_RANDOMIZE = 0x0040000, /* disable randomization of VA space */
+ UNAME26 = 0x0020000,
+ ADDR_NO_RANDOMIZE = 0x0040000, /* disable randomization of VA space */
FDPIC_FUNCPTRS = 0x0080000, /* userspace function ptrs point to descriptors
* (signal handling)
*/
@@ -19,8 +19,8 @@ enum {
ADDR_LIMIT_32BIT = 0x0800000,
SHORT_INODE = 0x1000000,
WHOLE_SECONDS = 0x2000000,
- STICKY_TIMEOUTS = 0x4000000,
- ADDR_LIMIT_3GB = 0x8000000,
+ STICKY_TIMEOUTS = 0x4000000,
+ ADDR_LIMIT_3GB = 0x8000000,
};
/*
diff --git a/linux/ptp_clock.h b/linux/ptp_clock.h
index 2f92eb66..248f3ce7 100644
--- a/linux/ptp_clock.h
+++ b/linux/ptp_clock.h
@@ -1,7 +1,7 @@
/*
* PTP 1588 clock support - user space interface
*
- * Copyright (C) 2010 OMICRON electronics GmbH
+ * Copyright (c) 2010 OMICRON electronics GmbH
* Copyright (c) 2010-2017 The strace developers.
*
* This program is free software; you can redistribute it and/or modify
@@ -90,7 +90,7 @@ struct ptp_sys_offset {
#define PTP_SYS_OFFSET _IOW(PTP_CLK_MAGIC, 5, struct ptp_sys_offset)
struct ptp_extts_event {
- struct ptp_clock_time t; /* Time event occured. */
+ struct ptp_clock_time t; /* Time event occurred. */
unsigned int index; /* Which channel produced the event. */
unsigned int flags; /* Reserved for future use. */
unsigned int rsv[2]; /* Reserved for future use. */
diff --git a/linux/sh64/arch_regs.h b/linux/sh64/arch_regs.h
index 7f64b497..670cdb66 100644
--- a/linux/sh64/arch_regs.h
+++ b/linux/sh64/arch_regs.h
@@ -1,15 +1,15 @@
/* SH64 Linux - this code assumes the following kernel API for system calls:
- PC Offset 0
- System Call Offset 16 (actually, (syscall no.) | (0x1n << 16),
- where n = no. of parameters.
- Other regs Offset 24+
+ PC Offset 0
+ System Call Offset 16 (actually, (syscall no.) | (0x1n << 16),
+ where n = no. of parameters.
+ Other regs Offset 24+
- On entry: R2-7 = parameters 1-6 (as many as necessary)
- On return: R9 = result.
+ On entry: R2-7 = parameters 1-6 (as many as necessary)
+ On return: R9 = result.
*/
/* Offset for peeks of registers */
-#define REG_OFFSET (24)
-#define REG_GENERAL(x) (8*(x)+REG_OFFSET)
-#define REG_PC (0*8)
-#define REG_SYSCALL (2*8)
+#define REG_OFFSET (24)
+#define REG_GENERAL(x) (8*(x)+REG_OFFSET)
+#define REG_PC (0*8)
+#define REG_SYSCALL (2*8)
diff --git a/linux/smc_diag.h b/linux/smc_diag.h
new file mode 100644
index 00000000..aea7d320
--- /dev/null
+++ b/linux/smc_diag.h
@@ -0,0 +1,33 @@
+#ifndef STRACE_LINUX_SMC_DIAG_H
+#define STRACE_LINUX_SMC_DIAG_H
+
+#include <linux/inet_diag.h>
+
+/* Request structure */
+struct smc_diag_req {
+ uint8_t diag_family;
+ uint8_t pad[2];
+ uint8_t diag_ext; /* Query extended information */
+ struct inet_diag_sockid id;
+};
+
+struct smc_diag_msg {
+ uint8_t diag_family;
+ uint8_t diag_state;
+ uint8_t diag_fallback;
+ uint8_t diag_shutdown;
+ struct inet_diag_sockid id;
+
+ uint32_t diag_uid;
+ uint64_t diag_inode;
+};
+
+/* Extensions */
+enum {
+ SMC_DIAG_NONE,
+ SMC_DIAG_CONNINFO,
+ SMC_DIAG_LGRINFO,
+ SMC_DIAG_SHUTDOWN,
+};
+
+#endif /* !STRACE_LINUX_SMC_DIAG_H */
diff --git a/linux/sock_diag.h b/linux/sock_diag.h
index ba0c114f..f69c385f 100644
--- a/linux/sock_diag.h
+++ b/linux/sock_diag.h
@@ -2,6 +2,9 @@
#define STRACE_LINUX_SOCK_DIAG_H
#define SOCK_DIAG_BY_FAMILY 20
+#define SOCK_DESTROY 21
+
+#define SK_MEMINFO_VARS 9
struct sock_diag_req {
uint8_t sdiag_family;
diff --git a/linux/tile/arch_sigreturn.c b/linux/tile/arch_sigreturn.c
index 1c687db2..7042cfd5 100644
--- a/linux/tile/arch_sigreturn.c
+++ b/linux/tile/arch_sigreturn.c
@@ -4,7 +4,7 @@ arch_sigreturn(struct tcb *tcp)
/* offset of ucontext in the kernel's sigframe structure */
#define SIGFRAME_UC_OFFSET C_ABI_SAVE_AREA_SIZE + sizeof(siginfo_t)
const unsigned long addr = tile_regs.sp + SIGFRAME_UC_OFFSET +
- offsetof(struct ucontext, uc_sigmask);
+ offsetof(ucontext_t, uc_sigmask);
tprints("{mask=");
print_sigset_addr(tcp, addr);
diff --git a/linux/ubi-user.h b/linux/ubi-user.h
index 7bae56eb..0f5c7756 100644
--- a/linux/ubi-user.h
+++ b/linux/ubi-user.h
@@ -1,5 +1,5 @@
/*
- * Copyright © International Business Machines Corp., 2006
+ * Copyright (c) International Business Machines Corp., 2006
* Copyright (c) 2006-2017 The strace developers.
*
* This program is free software; you can redistribute it and/or modify
diff --git a/linux/unix_diag.h b/linux/unix_diag.h
index 0c3da5bb..f1a7fc0c 100644
--- a/linux/unix_diag.h
+++ b/linux/unix_diag.h
@@ -12,7 +12,11 @@ struct unix_diag_req {
};
#define UDIAG_SHOW_NAME 0x01
+#define UDIAG_SHOW_VFS 0x02
#define UDIAG_SHOW_PEER 0x04
+#define UDIAG_SHOW_ICONS 0x08
+#define UDIAG_SHOW_RQLEN 0x10
+#define UDIAG_SHOW_MEMINFO 0x20
struct unix_diag_msg {
uint8_t udiag_family;
@@ -23,7 +27,24 @@ struct unix_diag_msg {
uint32_t udiag_cookie[2];
};
-#define UNIX_DIAG_NAME 0
-#define UNIX_DIAG_PEER 2
+enum {
+ UNIX_DIAG_NAME,
+ UNIX_DIAG_VFS,
+ UNIX_DIAG_PEER,
+ UNIX_DIAG_ICONS,
+ UNIX_DIAG_RQLEN,
+ UNIX_DIAG_MEMINFO,
+ UNIX_DIAG_SHUTDOWN,
+};
+
+struct unix_diag_vfs {
+ uint32_t udiag_vfs_ino;
+ uint32_t udiag_vfs_dev;
+};
+
+struct unix_diag_rqlen {
+ uint32_t udiag_rqueue;
+ uint32_t udiag_wqueue;
+};
#endif /* !STRACE_LINUX_UNIX_DIAG_H */
diff --git a/linux/x32/ioctls_inc0.h b/linux/x32/ioctls_inc0.h
index 37d7076e..9bdcb8b2 100644
--- a/linux/x32/ioctls_inc0.h
+++ b/linux/x32/ioctls_inc0.h
@@ -186,7 +186,7 @@
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_CPU_PREP", _IOC_WRITE, 0x6444, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_INFO", _IOC_READ|_IOC_WRITE, 0x6443, 0x10 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_NEW", _IOC_READ|_IOC_WRITE, 0x6442, 0x10 },
-{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x30 },
+{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_SUBMIT", _IOC_READ|_IOC_WRITE, 0x6446, 0x38 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_USERPTR", _IOC_READ|_IOC_WRITE, 0x6448, 0x18 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GEM_WAIT", _IOC_WRITE, 0x6449, 0x20 },
{ "drm/etnaviv_drm.h", "DRM_IOCTL_ETNAVIV_GET_PARAM", _IOC_READ|_IOC_WRITE, 0x6440, 0x10 },
@@ -233,6 +233,7 @@
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_ENTERVT", _IOC_NONE, 0x6459, 0x00 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER", _IOC_WRITE, 0x6454, 0x28 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2", _IOC_WRITE, 0x6469, 0x40 },
+{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_EXECBUFFER2_WR", _IOC_READ|_IOC_WRITE, 0x6469, 0x40 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_APERTURE", _IOC_READ, 0x6463, 0x10 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_CACHING", _IOC_READ|_IOC_WRITE, 0x6470, 0x08 },
{ "drm/i915_drm.h", "DRM_IOCTL_I915_GEM_GET_TILING", _IOC_READ|_IOC_WRITE, 0x6462, 0x10 },
@@ -487,6 +488,8 @@
{ "linux/apm_bios.h", "APM_IOC_SUSPEND", _IOC_NONE, 0x4102, 0x00 },
{ "linux/arcfb.h", "FBIO_GETCONTROL2", _IOC_READ, 0x4689, 0x04 },
{ "linux/arcfb.h", "FBIO_WAITEVENT", _IOC_NONE, 0x4688, 0x00 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_GET_SIZE", _IOC_READ|_IOC_WRITE, 0xb200, 0x10 },
+{ "linux/aspeed-lpc-ctrl.h", "ASPEED_LPC_CTRL_IOCTL_MAP", _IOC_WRITE, 0xb201, 0x10 },
{ "linux/atm_eni.h", "ENI_MEMDUMP", _IOC_WRITE, 0x6160, 0x0c },
{ "linux/atm_eni.h", "ENI_SETMULT", _IOC_WRITE, 0x6167, 0x0c },
{ "linux/atm_he.h", "HE_GET_REG", _IOC_WRITE, 0x6160, 0x0c },
@@ -974,6 +977,7 @@
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_START", _IOC_READ|_IOC_WRITE, 0xaf03, 0x10 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_PARTITION_STOP", _IOC_READ|_IOC_WRITE, 0xaf04, 0x08 },
{ "linux/fsl_hypervisor.h", "FSL_HV_IOCTL_SETPROP", _IOC_READ|_IOC_WRITE, 0xaf08, 0x28 },
+{ "linux/fsmap.h", "FS_IOC_GETFSMAP", _IOC_READ|_IOC_WRITE, 0x583b, 0xc0 },
{ "linux/fuse.h", "FUSE_DEV_IOC_CLONE", _IOC_READ, 0xe500, 0x04 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_DDCB", _IOC_READ|_IOC_WRITE, 0xa532, 0xe8 },
{ "linux/genwqe/genwqe_card.h", "GENWQE_EXECUTE_RAW_DDCB", _IOC_READ|_IOC_WRITE, 0xa533, 0xe8 },
@@ -1506,6 +1510,12 @@
{ "linux/omapfb.h", "OMAPFB_VSYNC", _IOC_NONE, 0x4f26, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORGO", _IOC_NONE, 0x4f3c, 0x00 },
{ "linux/omapfb.h", "OMAPFB_WAITFORVSYNC", _IOC_NONE, 0x4f39, 0x00 },
+{ "linux/pcitest.h", "PCITEST_BAR", _IOC_NONE, 0x5001, 0x00 },
+{ "linux/pcitest.h", "PCITEST_COPY", _IOC_WRITE, 0x5006, 0x04 },
+{ "linux/pcitest.h", "PCITEST_LEGACY_IRQ", _IOC_NONE, 0x5002, 0x00 },
+{ "linux/pcitest.h", "PCITEST_MSI", _IOC_WRITE, 0x5003, 0x04 },
+{ "linux/pcitest.h", "PCITEST_READ", _IOC_WRITE, 0x5005, 0x04 },
+{ "linux/pcitest.h", "PCITEST_WRITE", _IOC_WRITE, 0x5004, 0x04 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_DISABLE", _IOC_NONE, 0x2401, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ENABLE", _IOC_NONE, 0x2400, 0x00 },
{ "linux/perf_event.h", "PERF_EVENT_IOC_ID", _IOC_READ, 0x2407, 0x04 },
@@ -1940,6 +1950,12 @@
{ "linux/suspend_ioctls.h", "SNAPSHOT_S2RAM", _IOC_NONE, 0x330b, 0x00 },
{ "linux/suspend_ioctls.h", "SNAPSHOT_SET_SWAP_AREA", _IOC_WRITE, 0x330d, 0x0c },
{ "linux/suspend_ioctls.h", "SNAPSHOT_UNFREEZE", _IOC_NONE, 0x3302, 0x00 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_CTL", _IOC_READ|_IOC_WRITE, 0x5743, 0x28 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_EVENT_SUMMARY", _IOC_READ, 0x5742, 0x198 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_INFO", _IOC_READ, 0x5740, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_FLASH_PART_INFO", _IOC_READ|_IOC_WRITE, 0x5741, 0x10 },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PFF_TO_PORT", _IOC_READ|_IOC_WRITE, 0x5744, 0x0c },
+{ "linux/switchtec_ioctl.h", "SWITCHTEC_IOCTL_PORT_TO_PFF", _IOC_READ|_IOC_WRITE, 0x5745, 0x0c },
{ "linux/sync_file.h", "SYNC_IOC_FILE_INFO", _IOC_READ|_IOC_WRITE, 0x3e04, 0x38 },
{ "linux/sync_file.h", "SYNC_IOC_MERGE", _IOC_READ|_IOC_WRITE, 0x3e03, 0x30 },
{ "linux/synclink.h", "MGSL_IOCCLRMODCOUNT", _IOC_NONE, 0x6d0f, 0x00 },
@@ -1962,6 +1978,14 @@
{ "linux/synclink.h", "MGSL_IOCTXENABLE", _IOC_NONE, 0x6d04, 0x00 },
{ "linux/synclink.h", "MGSL_IOCWAITEVENT", _IOC_READ|_IOC_WRITE, 0x6d08, 0x04 },
{ "linux/synclink.h", "MGSL_IOCWAITGPIO", _IOC_READ|_IOC_WRITE, 0x6d12, 0x10 },
+{ "linux/tee.h", "TEE_IOC_CANCEL", _IOC_READ, 0xa404, 0x08 },
+{ "linux/tee.h", "TEE_IOC_CLOSE_SESSION", _IOC_READ, 0xa405, 0x04 },
+{ "linux/tee.h", "TEE_IOC_INVOKE", _IOC_READ, 0xa403, 0x10 },
+{ "linux/tee.h", "TEE_IOC_OPEN_SESSION", _IOC_READ, 0xa402, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SHM_ALLOC", _IOC_READ|_IOC_WRITE, 0xa401, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_RECV", _IOC_READ, 0xa406, 0x10 },
+{ "linux/tee.h", "TEE_IOC_SUPPL_SEND", _IOC_READ, 0xa407, 0x10 },
+{ "linux/tee.h", "TEE_IOC_VERSION", _IOC_READ, 0xa400, 0x0c },
{ "linux/telephony.h", "OLD_PHONE_RING_START", _IOC_NONE, 0x7187, 0x00 },
{ "linux/telephony.h", "PHONE_BUSY", _IOC_NONE, 0x71a1, 0x00 },
{ "linux/telephony.h", "PHONE_CAPABILITIES", _IOC_NONE, 0x7180, 0x00 },
@@ -2690,17 +2714,8 @@
{ "staging/android/ashmem.h", "ASHMEM_SET_PROT_MASK", _IOC_WRITE, 0x7705, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_SET_SIZE", _IOC_WRITE, 0x7703, 0x04 },
{ "staging/android/ashmem.h", "ASHMEM_UNPIN", _IOC_WRITE, 0x7708, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x14 },
-{ "staging/android/ion.h", "ION_IOC_CUSTOM", _IOC_READ|_IOC_WRITE, 0x4906, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_FREE", _IOC_READ|_IOC_WRITE, 0x4901, 0x04 },
+{ "staging/android/ion.h", "ION_IOC_ALLOC", _IOC_READ|_IOC_WRITE, 0x4900, 0x18 },
{ "staging/android/ion.h", "ION_IOC_HEAP_QUERY", _IOC_READ|_IOC_WRITE, 0x4908, 0x18 },
-{ "staging/android/ion.h", "ION_IOC_IMPORT", _IOC_READ|_IOC_WRITE, 0x4905, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_MAP", _IOC_READ|_IOC_WRITE, 0x4902, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SHARE", _IOC_READ|_IOC_WRITE, 0x4904, 0x08 },
-{ "staging/android/ion.h", "ION_IOC_SYNC", _IOC_READ|_IOC_WRITE, 0x4907, 0x08 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_DMA_MAPPING", _IOC_WRITE, 0x49f1, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_KERNEL_MAPPING", _IOC_WRITE, 0x49f2, 0x20 },
-{ "staging/android/ion_test.h", "ION_IOC_TEST_SET_FD", _IOC_NONE, 0x49f0, 0x00 },
{ "video/da8xx-fb.h", "FBIGET_BRIGHTNESS", _IOC_READ, 0x4603, 0x04 },
{ "video/da8xx-fb.h", "FBIGET_COLOR", _IOC_READ, 0x4605, 0x04 },
{ "video/da8xx-fb.h", "FBIOGET_CONTRAST", _IOC_READ, 0x4601, 0x04 },
diff --git a/linux/x86_64/get_scno.c b/linux/x86_64/get_scno.c
index 2354fb20..687f8435 100644
--- a/linux/x86_64/get_scno.c
+++ b/linux/x86_64/get_scno.c
@@ -57,7 +57,7 @@ arch_get_scno(struct tcb *tcp)
* solely by looking at __X32_SYSCALL_BIT:
* arch/x86/include/asm/compat.h::is_x32_task():
* if (task_pt_regs(current)->orig_ax & __X32_SYSCALL_BIT)
- * return true;
+ * return true;
*/
if (x86_io.iov_len == sizeof(i386_regs)) {
scno = i386_regs.orig_eax;
@@ -93,7 +93,9 @@ arch_get_scno(struct tcb *tcp)
*/
scno = x86_64_regs.orig_rax;
switch (x86_64_regs.cs) {
- case 0x23: currpers = 1; break;
+ case 0x23:
+ currpers = 1;
+ break;
case 0x33:
if (x86_64_regs.ds == 0x2b) {
currpers = 2;
@@ -123,9 +125,13 @@ arch_get_scno(struct tcb *tcp)
perror_msg("ptrace_peektext failed");
switch (call & 0xffff) {
/* x86-64: syscall = 0x0f 0x05 */
- case 0x050f: currpers = 0; break;
+ case 0x050f:
+ currpers = 0;
+ break;
/* i386: int 0x80 = 0xcd 0x80 */
- case 0x80cd: currpers = 1; break;
+ case 0x80cd:
+ currpers = 1;
+ break;
default:
currpers = current_personality;
error_msg("Unknown syscall opcode (0x%04X) while "
diff --git a/linux/x86_64/set_error.c b/linux/x86_64/set_error.c
index 123c8951..6c31bd86 100644
--- a/linux/x86_64/set_error.c
+++ b/linux/x86_64/set_error.c
@@ -10,13 +10,13 @@ static int
arch_set_error(struct tcb *tcp)
{
#ifdef HAVE_GETREGS_OLD
- x86_64_regs.rax = - (long long) tcp->u_error;
+ x86_64_regs.rax = -(long long) tcp->u_error;
return upoke(tcp->pid, 8 * RAX, x86_64_regs.rax);
#else
if (x86_io.iov_len == sizeof(i386_regs))
return i386_set_error(tcp);
- x86_64_regs.rax = - (long long) tcp->u_error;
+ x86_64_regs.rax = -(long long) tcp->u_error;
return set_regs(tcp->pid);
#endif
}
diff --git a/m4/ax_code_coverage.m4 b/m4/ax_code_coverage.m4
index 93dfce3a..3d417f0f 100644
--- a/m4/ax_code_coverage.m4
+++ b/m4/ax_code_coverage.m4
@@ -140,7 +140,7 @@ AC_DEFUN([AX_CODE_COVERAGE],[
])
dnl Build the code coverage flags
- CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
+ CODE_COVERAGE_CPPFLAGS="-DENABLE_COVERAGE_GCOV -DNDEBUG"
CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
CODE_COVERAGE_LDFLAGS="-lgcov"
diff --git a/macros.h b/macros.h
new file mode 100644
index 00000000..2913d60c
--- /dev/null
+++ b/macros.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2001-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef STRACE_MACROS_H
+#define STRACE_MACROS_H
+
+#include "gcc_compat.h"
+
+#define ARRAY_SIZE(a_) (sizeof(a_) / sizeof((a_)[0]) + MUST_BE_ARRAY(a_))
+
+#define STRINGIFY(...) #__VA_ARGS__
+#define STRINGIFY_VAL(...) STRINGIFY(__VA_ARGS__)
+
+#endif /* !STRACE_MACROS_H */
diff --git a/mem.c b/mem.c
index fb29ec14..00f5610d 100644
--- a/mem.c
+++ b/mem.c
@@ -331,7 +331,7 @@ SYS_FUNC(remap_file_pages)
static bool
print_protmap_entry(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
{
- tprintf("%#08x", * (unsigned int *) elem_buf);
+ tprintf("%#08x", *(unsigned int *) elem_buf);
return true;
}
diff --git a/mpers.am b/mpers.am
new file mode 100644
index 00000000..87717762
--- /dev/null
+++ b/mpers.am
@@ -0,0 +1,2 @@
+# Generated by ./generate_mpers_am.sh; do not edit.
+mpers_source_files = block.c btrfs.c dirent.c evdev.c fetch_seccomp_fprog.c fetch_struct_flock.c fetch_struct_mmsghdr.c fetch_struct_msghdr.c fetch_struct_stat.c fetch_struct_stat64.c fetch_struct_statfs.c hdio.c ipc_msgctl.c ipc_shmctl.c loop.c mtd.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c print_sigevent.c print_time.c print_timespec.c print_timeval.c print_timex.c printrusage.c printsiginfo.c rt_sigreturn.c rtc.c sg_io_v3.c sigaltstack.c sock.c sysinfo.c times.c ustat.c utime.c v4l2.c
diff --git a/mpers_type.h b/mpers_type.h
index ecb1efa8..64201c78 100644
--- a/mpers_type.h
+++ b/mpers_type.h
@@ -30,8 +30,9 @@
#ifndef STRACE_MPERS_TYPE_H
#define STRACE_MPERS_TYPE_H
+#include "macros.h"
+
#ifdef IN_MPERS
-# define STRINGIFY(a) #a
# define DEF_MPERS_TYPE(args) STRINGIFY(args.h)
# ifdef MPERS_IS_m32
# define MPERS_PREFIX m32_
diff --git a/msghdr.c b/msghdr.c
index 56ba5498..d2638665 100644
--- a/msghdr.c
+++ b/msghdr.c
@@ -96,6 +96,27 @@ print_scm_security(struct tcb *tcp, const void *cmsg_data,
}
static void
+print_scm_timestamp(struct tcb *tcp, const void *cmsg_data,
+ const unsigned int data_len)
+{
+ print_struct_timeval_data_size(cmsg_data, data_len);
+}
+
+static void
+print_scm_timestampns(struct tcb *tcp, const void *cmsg_data,
+ const unsigned int data_len)
+{
+ print_struct_timespec_data_size(cmsg_data, data_len);
+}
+
+static void
+print_scm_timestamping(struct tcb *tcp, const void *cmsg_data,
+ const unsigned int data_len)
+{
+ print_struct_timespec_array_data_size(cmsg_data, 3, data_len);
+}
+
+static void
print_cmsg_ip_pktinfo(struct tcb *tcp, const void *cmsg_data,
const unsigned int data_len)
{
@@ -191,7 +212,10 @@ static const struct {
} cmsg_socket_printers[] = {
[SCM_RIGHTS] = { print_scm_rights, sizeof(int) },
[SCM_CREDENTIALS] = { print_scm_creds, sizeof(struct ucred) },
- [SCM_SECURITY] = { print_scm_security, 1 }
+ [SCM_SECURITY] = { print_scm_security, 1 },
+ [SCM_TIMESTAMP] = { print_scm_timestamp, 1 },
+ [SCM_TIMESTAMPNS] = { print_scm_timestampns, 1 },
+ [SCM_TIMESTAMPING] = { print_scm_timestamping, 1 }
}, cmsg_ip_printers[] = {
[IP_PKTINFO] = { print_cmsg_ip_pktinfo, sizeof(struct in_pktinfo) },
[IP_TTL] = { print_cmsg_uint, sizeof(unsigned int) },
@@ -305,7 +329,7 @@ decode_msg_control(struct tcb *const tcp, const kernel_ulong_t addr,
print_cmsg_type_data(tcp, cmsg_level, cmsg_type,
(const void *) (u.ptr + cmsg_size),
- len > cmsg_size ? len - cmsg_size: 0);
+ len > cmsg_size ? len - cmsg_size : 0);
tprints("}");
if (len < cmsg_size) {
diff --git a/native_printer_decls.h b/native_printer_decls.h
index 76988347..19badf18 100644
--- a/native_printer_decls.h
+++ b/native_printer_decls.h
@@ -19,11 +19,14 @@ extern void printmqattr(struct tcb *const tcp, const kernel_ulong_t addr, const
extern void tprint_msgbuf(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t count);
extern int decode_sg_req_info(struct tcb *const tcp, const kernel_ulong_t arg);
extern void print_sigevent(struct tcb *const tcp, const kernel_ulong_t addr);
+extern _Bool print_struct_timespec_data_size(const void *arg, const size_t size);
+extern _Bool print_struct_timespec_array_data_size(const void *arg, const unsigned int nmemb, const size_t size);
extern void print_timespec(struct tcb *const tcp, const kernel_ulong_t addr);
extern const char * sprint_timespec(struct tcb *const tcp, const kernel_ulong_t addr);
extern void print_timespec_utime_pair(struct tcb *const tcp, const kernel_ulong_t addr);
extern void print_itimerspec(struct tcb *const tcp, const kernel_ulong_t addr);
extern void print_struct_timeval(const void *arg);
+extern _Bool print_struct_timeval_data_size(const void *arg, const size_t size);
extern void print_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
extern void print_timeval_utimes(struct tcb *const tcp, const kernel_ulong_t addr);
extern const char * sprint_timeval(struct tcb *const tcp, const kernel_ulong_t addr);
diff --git a/native_printer_defs.h b/native_printer_defs.h
index 63770319..ef43c934 100644
--- a/native_printer_defs.h
+++ b/native_printer_defs.h
@@ -19,11 +19,14 @@
.tprint_msgbuf = tprint_msgbuf,
.decode_sg_req_info = decode_sg_req_info,
.print_sigevent = print_sigevent,
+.print_struct_timespec_data_size = print_struct_timespec_data_size,
+.print_struct_timespec_array_data_size = print_struct_timespec_array_data_size,
.print_timespec = print_timespec,
.sprint_timespec = sprint_timespec,
.print_timespec_utime_pair = print_timespec_utime_pair,
.print_itimerspec = print_itimerspec,
.print_struct_timeval = print_struct_timeval,
+.print_struct_timeval_data_size = print_struct_timeval_data_size,
.print_timeval = print_timeval,
.print_timeval_utimes = print_timeval_utimes,
.sprint_timeval = sprint_timeval,
diff --git a/net.c b/net.c
index 01ab16b5..8dc47fc7 100644
--- a/net.c
+++ b/net.c
@@ -56,7 +56,7 @@
#if defined(HAVE_LINUX_IP_VS_H)
# include <linux/ip_vs.h>
#endif
-#include <linux/netlink.h>
+#include "netlink.h"
#if defined(HAVE_LINUX_NETFILTER_ARP_ARP_TABLES_H)
# include <linux/netfilter_arp/arp_tables.h>
#endif
@@ -81,7 +81,6 @@
#include "xlat/socketlayers.h"
#include "xlat/inet_protocols.h"
-#include "xlat/netlink_protocols.h"
#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
# include <bluetooth/bluetooth.h>
@@ -111,7 +110,7 @@ decode_sockbuf(struct tcb *const tcp, const int fd, const kernel_ulong_t addr,
switch (verbose(tcp) ? getfdproto(tcp, fd) : SOCK_PROTO_UNKNOWN) {
case SOCK_PROTO_NETLINK:
- decode_netlink(tcp, addr, addrlen);
+ decode_netlink(tcp, fd, addr, addrlen);
break;
default:
printstrn(tcp, addr, addrlen);
@@ -649,13 +648,10 @@ print_mreq(struct tcb *const tcp, const kernel_ulong_t addr,
if (umove_or_printaddr(tcp, addr, &mreq))
return;
- tprints("{imr_multiaddr=inet_addr(");
- print_quoted_string(inet_ntoa(mreq.imr_multiaddr),
- 16, QUOTE_0_TERMINATED);
- tprints("), imr_interface=inet_addr(");
- print_quoted_string(inet_ntoa(mreq.imr_interface),
- 16, QUOTE_0_TERMINATED);
- tprints(")}");
+ tprintf("{imr_multiaddr=inet_addr(\"%s\")",
+ inet_ntoa(mreq.imr_multiaddr));
+ tprintf(", imr_interface=inet_addr(\"%s\")}",
+ inet_ntoa(mreq.imr_interface));
}
#endif /* IP_ADD_MEMBERSHIP */
@@ -666,27 +662,20 @@ print_mreq6(struct tcb *const tcp, const kernel_ulong_t addr,
{
struct ipv6_mreq mreq;
- if (len < sizeof(mreq))
- goto fail;
-
+ if (len < sizeof(mreq)) {
+ printstrn(tcp, addr, len);
+ return;
+ }
if (umove_or_printaddr(tcp, addr, &mreq))
return;
- const struct in6_addr *in6 = &mreq.ipv6mr_multiaddr;
- char address[INET6_ADDRSTRLEN];
-
- if (!inet_ntop(AF_INET6, in6, address, sizeof(address)))
- goto fail;
+ tprints("{");
+ print_inet_addr(AF_INET6, &mreq.ipv6mr_multiaddr,
+ sizeof(mreq.ipv6mr_multiaddr), "ipv6mr_multiaddr");
- tprints("{ipv6mr_multiaddr=inet_pton(");
- print_quoted_string(address, sizeof(address), QUOTE_0_TERMINATED);
- tprints("), ipv6mr_interface=");
+ tprints(", ipv6mr_interface=");
print_ifindex(mreq.ipv6mr_interface);
tprints("}");
- return;
-
-fail:
- printstrn(tcp, addr, len);
}
#endif /* IPV6_ADD_MEMBERSHIP */
diff --git a/netlink.c b/netlink.c
index 10ca82c0..f74c3a07 100644
--- a/netlink.c
+++ b/netlink.c
@@ -28,13 +28,22 @@
*/
#include "defs.h"
-#include <sys/socket.h>
-#include <linux/netlink.h>
+#include "netlink.h"
+#include <linux/audit.h>
+#include <linux/rtnetlink.h>
+#include <linux/xfrm.h>
#include "xlat/netlink_flags.h"
+#include "xlat/netlink_get_flags.h"
+#include "xlat/netlink_new_flags.h"
+#include "xlat/netlink_protocols.h"
#include "xlat/netlink_types.h"
-
-#undef NLMSG_HDRLEN
-#define NLMSG_HDRLEN NLMSG_ALIGN(sizeof(struct nlmsghdr))
+#include "xlat/nl_audit_types.h"
+#include "xlat/nl_netfilter_msg_types.h"
+#include "xlat/nl_netfilter_subsys_ids.h"
+#include "xlat/nl_route_types.h"
+#include "xlat/nl_selinux_types.h"
+#include "xlat/nl_sock_diag_types.h"
+#include "xlat/nl_xfrm_types.h"
/*
* Fetch a struct nlmsghdr from the given address.
@@ -54,35 +63,233 @@ fetch_nlmsghdr(struct tcb *const tcp, struct nlmsghdr *const nlmsghdr,
return true;
}
+enum {
+ NL_FAMILY_ERROR = -1,
+ NL_FAMILY_DEFAULT = -2
+};
+
+static int
+get_fd_nl_family(struct tcb *const tcp, const int fd)
+{
+ const unsigned long inode = getfdinode(tcp, fd);
+ if (!inode)
+ return NL_FAMILY_ERROR;
+
+ const char *const details = get_sockaddr_by_inode(tcp, fd, inode);
+ if (!details)
+ return NL_FAMILY_ERROR;
+
+ const char *const nl_details = STR_STRIP_PREFIX(details, "NETLINK:[");
+ if (nl_details == details)
+ return NL_FAMILY_ERROR;
+
+ const struct xlat *xlats = netlink_protocols;
+ for (; xlats->str; ++xlats) {
+ const char *name = STR_STRIP_PREFIX(xlats->str, "NETLINK_");
+ if (!strncmp(nl_details, name, strlen(name)))
+ return xlats->val;
+ }
+
+ if (*nl_details >= '0' && *nl_details <= '9')
+ return atoi(nl_details);
+
+ return NL_FAMILY_ERROR;
+}
+
+static void
+decode_nlmsg_type_default(const struct xlat *const xlat,
+ const uint16_t type,
+ const char *const dflt)
+{
+ printxval(xlat, type, dflt);
+}
+
+static void
+decode_nlmsg_type_generic(const struct xlat *const xlat,
+ const uint16_t type,
+ const char *const dflt)
+{
+ printxval(genl_families_xlat(), type, dflt);
+}
+
+static void
+decode_nlmsg_type_netfilter(const struct xlat *const xlat,
+ const uint16_t type,
+ const char *const dflt)
+{
+ /* Reserved control nfnetlink messages first. */
+ const char *const text = xlookup(nl_netfilter_msg_types, type);
+ if (text) {
+ tprints(text);
+ return;
+ }
+
+ /*
+ * Other netfilter message types are split
+ * in two pieces: 8 bits subsystem and 8 bits type.
+ */
+ const uint8_t subsys_id = (uint8_t) (type >> 8);
+ const uint8_t msg_type = (uint8_t) type;
+
+ printxval(xlat, subsys_id, dflt);
+
+ /*
+ * The type is subsystem specific,
+ * print it in numeric format for now.
+ */
+ tprintf("<<8|%#x", msg_type);
+}
+
+typedef void (*nlmsg_types_decoder_t)(const struct xlat *,
+ uint16_t type,
+ const char *dflt);
+
+static const struct {
+ const nlmsg_types_decoder_t decoder;
+ const struct xlat *const xlat;
+ const char *const dflt;
+} nlmsg_types[] = {
+ [NETLINK_AUDIT] = { NULL, nl_audit_types, "AUDIT_???" },
+ [NETLINK_GENERIC] = {
+ decode_nlmsg_type_generic,
+ NULL,
+ "GENERIC_FAMILY_???"
+ },
+ [NETLINK_NETFILTER] = {
+ decode_nlmsg_type_netfilter,
+ nl_netfilter_subsys_ids,
+ "NFNL_SUBSYS_???"
+ },
+ [NETLINK_ROUTE] = { NULL, nl_route_types, "RTM_???" },
+ [NETLINK_SELINUX] = { NULL, nl_selinux_types, "SELNL_MSG_???" },
+ [NETLINK_SOCK_DIAG] = { NULL, nl_sock_diag_types, "SOCK_DIAG_???" },
+ [NETLINK_XFRM] = { NULL, nl_xfrm_types, "XFRM_MSG_???" }
+};
+
+/*
+ * As all valid netlink families are positive integers, use unsigned int
+ * for family here to filter out NL_FAMILY_ERROR and NL_FAMILY_DEFAULT.
+ */
static void
-print_nlmsghdr(struct tcb *tcp, const struct nlmsghdr *const nlmsghdr)
+decode_nlmsg_type(const uint16_t type, const unsigned int family)
+{
+ nlmsg_types_decoder_t decoder = decode_nlmsg_type_default;
+ const struct xlat *xlat = netlink_types;
+ const char *dflt = "NLMSG_???";
+
+ if (type != NLMSG_DONE && family < ARRAY_SIZE(nlmsg_types)) {
+ if (nlmsg_types[family].decoder)
+ decoder = nlmsg_types[family].decoder;
+ if (nlmsg_types[family].xlat)
+ xlat = nlmsg_types[family].xlat;
+ if (nlmsg_types[family].dflt)
+ dflt = nlmsg_types[family].dflt;
+ }
+
+ decoder(xlat, type, dflt);
+}
+
+static void
+decode_nlmsg_flags(const uint16_t flags, const uint16_t type, const int family)
+{
+ const struct xlat *table = NULL;
+
+ if (type == NLMSG_DONE)
+ goto end;
+
+ switch (family) {
+ case NETLINK_SOCK_DIAG:
+ table = netlink_get_flags;
+ break;
+ case NETLINK_ROUTE:
+ if (type == RTM_DELACTION) {
+ table = netlink_get_flags;
+ break;
+ }
+ switch (type & 3) {
+ case 0:
+ table = netlink_new_flags;
+ break;
+ case 2:
+ table = netlink_get_flags;
+ break;
+ }
+ break;
+ case NETLINK_XFRM:
+ switch (type) {
+ case XFRM_MSG_NEWSA:
+ case XFRM_MSG_NEWPOLICY:
+ case XFRM_MSG_NEWAE:
+ case XFRM_MSG_NEWSADINFO:
+ case XFRM_MSG_NEWSPDINFO:
+ table = netlink_new_flags;
+ break;
+
+ case XFRM_MSG_GETSA:
+ case XFRM_MSG_GETPOLICY:
+ case XFRM_MSG_GETAE:
+ case XFRM_MSG_GETSADINFO:
+ case XFRM_MSG_GETSPDINFO:
+ table = netlink_get_flags;
+ break;
+ }
+ break;
+ }
+
+end:
+ printflags_ex(flags, "NLM_F_???", netlink_flags, table, NULL);
+}
+
+static int
+print_nlmsghdr(struct tcb *tcp,
+ const int fd,
+ int family,
+ const struct nlmsghdr *const nlmsghdr)
{
/* print the whole structure regardless of its nlmsg_len */
tprintf("{len=%u, type=", nlmsghdr->nlmsg_len);
- printxval(netlink_types, nlmsghdr->nlmsg_type, "NLMSG_???");
+ const int hdr_family = (nlmsghdr->nlmsg_type < NLMSG_MIN_TYPE
+ && nlmsghdr->nlmsg_type != NLMSG_DONE)
+ ? NL_FAMILY_DEFAULT
+ : (family != NL_FAMILY_DEFAULT
+ ? family : get_fd_nl_family(tcp, fd));
+
+ decode_nlmsg_type(nlmsghdr->nlmsg_type, hdr_family);
tprints(", flags=");
- printflags(netlink_flags, nlmsghdr->nlmsg_flags, "NLM_F_???");
+ decode_nlmsg_flags(nlmsghdr->nlmsg_flags,
+ nlmsghdr->nlmsg_type, hdr_family);
tprintf(", seq=%u, pid=%u}", nlmsghdr->nlmsg_seq,
nlmsghdr->nlmsg_pid);
+
+ return family != NL_FAMILY_DEFAULT ? family : hdr_family;
}
static void
decode_nlmsghdr_with_payload(struct tcb *const tcp,
+ const int fd,
+ int family,
const struct nlmsghdr *const nlmsghdr,
const kernel_ulong_t addr,
const kernel_ulong_t len);
static void
decode_nlmsgerr(struct tcb *const tcp,
- kernel_ulong_t addr,
- kernel_ulong_t len)
+ const int fd,
+ const int family,
+ kernel_ulong_t addr,
+ kernel_ulong_t len)
{
struct nlmsgerr err;
+ if (len < sizeof(err.error)) {
+ printstrn(tcp, addr, len);
+ return;
+ }
+
if (umove_or_printaddr(tcp, addr, &err.error))
return;
@@ -99,49 +306,77 @@ decode_nlmsgerr(struct tcb *const tcp,
if (len) {
tprints(", msg=");
if (fetch_nlmsghdr(tcp, &err.msg, addr, len)) {
- decode_nlmsghdr_with_payload(tcp, &err.msg, addr, len);
+ decode_nlmsghdr_with_payload(tcp, fd, family,
+ &err.msg, addr, len);
}
}
tprints("}");
}
+static const netlink_decoder_t netlink_decoders[] = {
+ [NETLINK_SOCK_DIAG] = decode_netlink_sock_diag
+};
+
static void
decode_payload(struct tcb *const tcp,
+ const int fd,
+ const int family,
const struct nlmsghdr *const nlmsghdr,
const kernel_ulong_t addr,
const kernel_ulong_t len)
{
- if (nlmsghdr->nlmsg_type == NLMSG_ERROR && len >= sizeof(int)) {
- decode_nlmsgerr(tcp, addr, len);
- } else {
- printstrn(tcp, addr, len);
+ if (nlmsghdr->nlmsg_type == NLMSG_ERROR) {
+ decode_nlmsgerr(tcp, fd, family, addr, len);
+ return;
+ }
+
+ if ((unsigned int) family < ARRAY_SIZE(netlink_decoders)
+ && netlink_decoders[family]
+ && netlink_decoders[family](tcp, nlmsghdr, addr, len)) {
+ return;
+ }
+
+ if (nlmsghdr->nlmsg_type == NLMSG_DONE && len == sizeof(int)) {
+ int num;
+
+ if (!umove_or_printaddr(tcp, addr, &num))
+ tprintf("%d", num);
+ return;
}
+
+ printstrn(tcp, addr, len);
}
static void
decode_nlmsghdr_with_payload(struct tcb *const tcp,
+ const int fd,
+ int family,
const struct nlmsghdr *const nlmsghdr,
const kernel_ulong_t addr,
const kernel_ulong_t len)
{
- tprints("{");
+ const unsigned int nlmsg_len =
+ nlmsghdr->nlmsg_len > len ? len : nlmsghdr->nlmsg_len;
- print_nlmsghdr(tcp, nlmsghdr);
+ if (nlmsg_len > NLMSG_HDRLEN)
+ tprints("{");
+
+ family = print_nlmsghdr(tcp, fd, family, nlmsghdr);
- unsigned int nlmsg_len =
- nlmsghdr->nlmsg_len > len ? len : nlmsghdr->nlmsg_len;
if (nlmsg_len > NLMSG_HDRLEN) {
tprints(", ");
- decode_payload(tcp, nlmsghdr, addr + NLMSG_HDRLEN,
- nlmsg_len - NLMSG_HDRLEN);
+ decode_payload(tcp, fd, family, nlmsghdr, addr + NLMSG_HDRLEN,
+ nlmsg_len - NLMSG_HDRLEN);
+ tprints("}");
}
-
- tprints("}");
}
void
-decode_netlink(struct tcb *const tcp, kernel_ulong_t addr, kernel_ulong_t len)
+decode_netlink(struct tcb *const tcp,
+ const int fd,
+ kernel_ulong_t addr,
+ kernel_ulong_t len)
{
struct nlmsghdr nlmsghdr;
bool print_array = false;
@@ -169,7 +404,8 @@ decode_netlink(struct tcb *const tcp, kernel_ulong_t addr, kernel_ulong_t len)
print_array = true;
}
- decode_nlmsghdr_with_payload(tcp, &nlmsghdr, addr, len);
+ decode_nlmsghdr_with_payload(tcp, fd, NL_FAMILY_DEFAULT,
+ &nlmsghdr, addr, len);
if (!next_addr)
break;
diff --git a/netlink.h b/netlink.h
new file mode 100644
index 00000000..5943229a
--- /dev/null
+++ b/netlink.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef STRACE_NETLINK_H
+#define STRACE_NETLINK_H
+
+#include <sys/socket.h>
+#include <linux/netlink.h>
+
+#ifndef NETLINK_SOCK_DIAG
+# define NETLINK_SOCK_DIAG 4
+#endif
+
+#undef NLMSG_HDRLEN
+#define NLMSG_HDRLEN ((unsigned int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
+
+#ifndef NLMSG_MIN_TYPE
+# define NLMSG_MIN_TYPE 0x10
+#endif
+
+#ifndef NLA_ALIGN
+# define NLA_ALIGN(len) (((len) + 3) & ~3)
+#endif
+
+#undef NLA_HDRLEN
+#define NLA_HDRLEN ((unsigned int) NLA_ALIGN(sizeof(struct nlattr)))
+
+#ifndef NLA_TYPE_MASK
+# define NLA_F_NESTED (1 << 15)
+# define NLA_F_NET_BYTEORDER (1 << 14)
+# define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
+#endif
+
+#endif /* !STRACE_NETLINK_H */
diff --git a/netlink_sock_diag.c b/netlink_sock_diag.c
new file mode 100644
index 00000000..38889349
--- /dev/null
+++ b/netlink_sock_diag.c
@@ -0,0 +1,885 @@
+/*
+ * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+#include "netlink.h"
+#include "nlattr.h"
+#include "print_fields.h"
+
+#include <arpa/inet.h>
+#include <linux/inet_diag.h>
+#include <linux/netlink_diag.h>
+#include <linux/packet_diag.h>
+#ifdef AF_SMC
+# include <linux/smc_diag.h>
+#endif
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+#include "xlat/inet_diag_attrs.h"
+#include "xlat/inet_diag_extended_flags.h"
+#include "xlat/inet_diag_req_attrs.h"
+
+#include "xlat/tcp_states.h"
+#include "xlat/tcp_state_flags.h"
+
+#include "xlat/netlink_diag_attrs.h"
+#include "xlat/netlink_diag_show.h"
+#include "xlat/netlink_socket_flags.h"
+#include "xlat/netlink_states.h"
+
+#include "xlat/packet_diag_attrs.h"
+#include "xlat/packet_diag_show.h"
+
+#ifdef AF_SMC
+# include "xlat/smc_diag_attrs.h"
+# include "xlat/smc_diag_extended_flags.h"
+# include "xlat/smc_states.h"
+#endif
+
+#include "xlat/unix_diag_attrs.h"
+#include "xlat/unix_diag_show.h"
+
+static void
+decode_family(struct tcb *const tcp, const uint8_t family,
+ const kernel_ulong_t addr, const kernel_ulong_t len)
+{
+ tprints("{family=");
+ printxval(addrfams, family, "AF_???");
+ if (len > sizeof(family)) {
+ tprints(", ");
+ printstrn(tcp, addr + sizeof(family),
+ len - sizeof(family));
+ }
+ tprints("}");
+}
+
+static void
+decode_unix_diag_req(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct unix_diag_req req = { .sdiag_family = family };
+ const size_t offset = sizeof(req.sdiag_family);
+
+ PRINT_FIELD_XVAL("{", req, sdiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(req)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(req) - offset,
+ (void *) &req + offset)) {
+ PRINT_FIELD_U("", req, sdiag_protocol);
+ PRINT_FIELD_FLAGS(", ", req, udiag_states,
+ tcp_state_flags, "1<<TCP_???");
+ PRINT_FIELD_U(", ", req, udiag_ino);
+ PRINT_FIELD_FLAGS(", ", req, udiag_show,
+ unix_diag_show, "UDIAG_SHOW_???");
+ PRINT_FIELD_COOKIE(", ", req, udiag_cookie);
+ }
+ } else
+ tprints("...");
+ tprints("}");
+}
+
+static bool
+print_meminfo(struct tcb *const tcp,
+ void *const elem_buf,
+ const size_t elem_size,
+ void *const opaque_data)
+{
+ tprintf("%" PRIu32, *(uint32_t *) elem_buf);
+
+ return true;
+}
+
+static bool
+decode_meminfo(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ uint32_t mem;
+ size_t nmemb = len / sizeof(mem);
+
+ if (!nmemb)
+ return false;
+
+ if (nmemb > SK_MEMINFO_VARS)
+ nmemb = SK_MEMINFO_VARS;
+
+ print_array(tcp, addr, nmemb, &mem, sizeof(mem),
+ umoven_or_printaddr, print_meminfo, 0);
+
+ return true;
+}
+
+static bool
+decode_unix_diag_vfs(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ struct unix_diag_vfs uv;
+
+ if (len < sizeof(uv))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &uv))
+ return true;
+
+ tprints("{udiag_vfs_dev=");
+ print_dev_t(uv.udiag_vfs_dev);
+ PRINT_FIELD_U(", ", uv, udiag_vfs_ino);
+ tprints("}");
+
+ return true;
+}
+
+static bool
+print_inode(struct tcb *const tcp,
+ void *const elem_buf,
+ const size_t elem_size,
+ void *const opaque_data)
+{
+ tprintf("%" PRIu32, *(uint32_t *) elem_buf);
+
+ return true;
+}
+
+static bool
+decode_unix_diag_inode(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ uint32_t inode;
+ const size_t nmemb = len / sizeof(inode);
+
+ if (!nmemb)
+ return false;
+
+ print_array(tcp, addr, nmemb, &inode, sizeof(inode),
+ umoven_or_printaddr, print_inode, 0);
+
+ return true;
+}
+
+static bool
+decode_unix_diag_rqlen(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ struct unix_diag_rqlen rql;
+
+ if (len < sizeof(rql))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &rql))
+ return true;
+
+ PRINT_FIELD_U("{", rql, udiag_rqueue);
+ PRINT_FIELD_U(", ", rql, udiag_wqueue);
+ tprints("}");
+
+ return true;
+}
+
+static const nla_decoder_t unix_diag_msg_nla_decoders[] = {
+ [UNIX_DIAG_NAME] = decode_nla_str,
+ [UNIX_DIAG_VFS] = decode_unix_diag_vfs,
+ [UNIX_DIAG_PEER] = decode_nla_u32,
+ [UNIX_DIAG_ICONS] = decode_unix_diag_inode,
+ [UNIX_DIAG_RQLEN] = decode_unix_diag_rqlen,
+ [UNIX_DIAG_MEMINFO] = decode_meminfo,
+ [UNIX_DIAG_SHUTDOWN] = decode_nla_u8
+};
+
+static void
+decode_unix_diag_msg(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct unix_diag_msg msg = { .udiag_family = family };
+ size_t offset = sizeof(msg.udiag_family);
+ bool decode_nla = false;
+
+ PRINT_FIELD_XVAL("{", msg, udiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(msg)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(msg) - offset,
+ (void *) &msg + offset)) {
+ PRINT_FIELD_XVAL("", msg, udiag_type,
+ socktypes, "SOCK_???");
+ PRINT_FIELD_XVAL(", ", msg, udiag_state,
+ tcp_states, "TCP_???");
+ PRINT_FIELD_U(", ", msg, udiag_ino);
+ PRINT_FIELD_COOKIE(", ", msg, udiag_cookie);
+ decode_nla = true;
+ }
+ } else
+ tprints("...");
+ tprints("}");
+
+ offset = NLMSG_ALIGN(sizeof(msg));
+ if (decode_nla && len > offset) {
+ tprints(", ");
+ decode_nlattr(tcp, addr + offset, len - offset,
+ unix_diag_attrs, "UNIX_DIAG_???",
+ unix_diag_msg_nla_decoders,
+ ARRAY_SIZE(unix_diag_msg_nla_decoders), NULL);
+ }
+}
+
+static void
+decode_netlink_diag_req(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct netlink_diag_req req = { .sdiag_family = family };
+ const size_t offset = sizeof(req.sdiag_family);
+
+ PRINT_FIELD_XVAL("{", req, sdiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(req)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(req) - offset,
+ (void *) &req + offset)) {
+ if (NDIAG_PROTO_ALL == req.sdiag_protocol)
+ tprintf("%s=%s",
+ "sdiag_protocol", "NDIAG_PROTO_ALL");
+ else
+ PRINT_FIELD_XVAL("", req, sdiag_protocol,
+ netlink_protocols,
+ "NETLINK_???");
+ PRINT_FIELD_U(", ", req, ndiag_ino);
+ PRINT_FIELD_FLAGS(", ", req, ndiag_show,
+ netlink_diag_show, "NDIAG_SHOW_???");
+ PRINT_FIELD_COOKIE(", ", req, ndiag_cookie);
+ }
+ } else
+ tprints("...");
+ tprints("}");
+}
+
+static bool
+print_group(struct tcb *const tcp,
+ void *const elem_buf,
+ const size_t elem_size,
+ void *const opaque_data)
+{
+ if (elem_size < sizeof(kernel_ulong_t))
+ tprintf("%#0*x", (int) elem_size * 2 + 2,
+ *(unsigned int *) elem_buf);
+ else
+ tprintf("%#0*" PRI_klx, (int) elem_size * 2 + 2,
+ *(kernel_ulong_t *) elem_buf);
+
+ return true;
+}
+
+static bool
+decode_netlink_diag_groups(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ kernel_ulong_t buf;
+ const size_t nmemb = len / current_wordsize;
+
+ if (!nmemb)
+ return false;
+
+ print_array(tcp, addr, nmemb, &buf, current_wordsize,
+ umoven_or_printaddr, print_group, 0);
+
+ return true;
+}
+
+static bool
+decode_netlink_diag_ring(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ struct netlink_diag_ring ndr;
+
+ if (len < sizeof(ndr))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &ndr))
+ return true;
+
+ PRINT_FIELD_U("{", ndr, ndr_block_size);
+ PRINT_FIELD_U(", ", ndr, ndr_block_nr);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_size);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_nr);
+ tprints("}");
+
+ return true;
+}
+
+static bool
+decode_netlink_diag_flags(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ uint32_t flags;
+
+ if (len < sizeof(flags))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &flags))
+ return true;
+
+ printflags(netlink_socket_flags, flags, "NDIAG_FLAG_???");
+
+ return true;
+}
+
+static const nla_decoder_t netlink_diag_msg_nla_decoders[] = {
+ [NETLINK_DIAG_MEMINFO] = decode_meminfo,
+ [NETLINK_DIAG_GROUPS] = decode_netlink_diag_groups,
+ [NETLINK_DIAG_RX_RING] = decode_netlink_diag_ring,
+ [NETLINK_DIAG_TX_RING] = decode_netlink_diag_ring,
+ [NETLINK_DIAG_FLAGS] = decode_netlink_diag_flags
+};
+
+static void
+decode_netlink_diag_msg(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct netlink_diag_msg msg = { .ndiag_family = family };
+ size_t offset = sizeof(msg.ndiag_family);
+ bool decode_nla = false;
+
+ PRINT_FIELD_XVAL("{", msg, ndiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(msg)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(msg) - offset,
+ (void *) &msg + offset)) {
+ PRINT_FIELD_XVAL("", msg, ndiag_type,
+ socktypes, "SOCK_???");
+ PRINT_FIELD_XVAL(", ", msg, ndiag_protocol,
+ netlink_protocols, "NETLINK_???");
+ PRINT_FIELD_XVAL(", ", msg, ndiag_state,
+ netlink_states, "NETLINK_???");
+ PRINT_FIELD_U(", ", msg, ndiag_portid);
+ PRINT_FIELD_U(", ", msg, ndiag_dst_portid);
+ PRINT_FIELD_U(", ", msg, ndiag_dst_group);
+ PRINT_FIELD_U(", ", msg, ndiag_ino);
+ PRINT_FIELD_COOKIE(", ", msg, ndiag_cookie);
+ decode_nla = true;
+ }
+ } else
+ tprints("...");
+ tprints("}");
+
+ offset = NLA_ALIGN(sizeof(msg));
+ if (decode_nla && len > offset) {
+ tprints(", ");
+ decode_nlattr(tcp, addr + offset, len - offset,
+ netlink_diag_attrs, "NETLINK_DIAG_???",
+ netlink_diag_msg_nla_decoders,
+ ARRAY_SIZE(netlink_diag_msg_nla_decoders), NULL);
+ }
+}
+
+static void
+decode_packet_diag_req(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct packet_diag_req req = { .sdiag_family = family };
+ const size_t offset = sizeof(req.sdiag_family);
+
+ PRINT_FIELD_XVAL("{", req, sdiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(req)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(req) - offset,
+ (void *) &req + offset)) {
+ PRINT_FIELD_XVAL("", req, sdiag_protocol,
+ ethernet_protocols, "ETH_P_???");
+ PRINT_FIELD_U(", ", req, pdiag_ino);
+ PRINT_FIELD_FLAGS(", ", req, pdiag_show,
+ packet_diag_show, "PACKET_SHOW_???");
+ PRINT_FIELD_COOKIE(", ", req, pdiag_cookie);
+ }
+ } else
+ tprints("...");
+ tprints("}");
+}
+
+static void
+decode_packet_diag_msg(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct packet_diag_msg msg = { .pdiag_family = family };
+ size_t offset = sizeof(msg.pdiag_family);
+ bool decode_nla = false;
+
+ PRINT_FIELD_XVAL("{", msg, pdiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(msg)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(msg) - offset,
+ (void *) &msg + offset)) {
+ PRINT_FIELD_XVAL("", msg, pdiag_type,
+ socktypes, "SOCK_???");
+ PRINT_FIELD_U(", ", msg, pdiag_num);
+ PRINT_FIELD_U(", ", msg, pdiag_ino);
+ PRINT_FIELD_COOKIE(", ", msg, pdiag_cookie);
+ decode_nla = true;
+ }
+ } else
+ tprints("...");
+ tprints("}");
+
+ offset = NLA_ALIGN(sizeof(msg));
+ if (decode_nla && len > offset) {
+ tprints(", ");
+ decode_nlattr(tcp, addr + offset, len - offset,
+ packet_diag_attrs, "PACKET_DIAG_???",
+ NULL, 0, NULL);
+ }
+}
+
+static void
+print_inet_diag_sockid(const struct inet_diag_sockid *id, const uint8_t family)
+{
+ tprintf("{idiag_sport=htons(%u), idiag_dport=htons(%u)",
+ ntohs(id->idiag_sport), ntohs(id->idiag_dport));
+
+ tprints(", ");
+ print_inet_addr(family, id->idiag_src,
+ sizeof(id->idiag_src), "idiag_src");
+ tprints(", ");
+ print_inet_addr(family, id->idiag_dst,
+ sizeof(id->idiag_dst), "idiag_dst");
+
+ tprints(", idiag_if=");
+ print_ifindex(id->idiag_if);
+
+ PRINT_FIELD_COOKIE(", ", *id, idiag_cookie);
+
+ tprints("}");
+}
+
+static void
+decode_inet_diag_req_compat(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct inet_diag_req req = { .idiag_family = family };
+ size_t offset = sizeof(req.idiag_family);
+ bool decode_nla = false;
+
+ PRINT_FIELD_XVAL("{", req, idiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(req)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(req) - offset,
+ (void *) &req + offset)) {
+ PRINT_FIELD_U("", req, idiag_src_len);
+ PRINT_FIELD_U(", ", req, idiag_dst_len);
+ PRINT_FIELD_FLAGS(", ", req, idiag_ext,
+ inet_diag_extended_flags,
+ "1<<INET_DIAG_\?\?\?-1");
+ tprints(", id=");
+ print_inet_diag_sockid(&req.id, req.idiag_family);
+ PRINT_FIELD_FLAGS(", ", req, idiag_states,
+ tcp_state_flags, "1<<TCP_???");
+ PRINT_FIELD_U(", ", req, idiag_dbs);
+ decode_nla = true;
+ }
+ } else
+ tprints("...");
+ tprints("}");
+
+ offset = NLA_ALIGN(sizeof(req));
+ if (decode_nla && len > offset) {
+ tprints(", ");
+ decode_nlattr(tcp, addr + offset, len - offset,
+ inet_diag_req_attrs, "INET_DIAG_REQ_???",
+ NULL, 0, NULL);
+ }
+}
+
+static void
+decode_inet_diag_req_v2(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct inet_diag_req_v2 req = { .sdiag_family = family };
+ size_t offset = sizeof(req.sdiag_family);
+ bool decode_nla = false;
+
+ PRINT_FIELD_XVAL("{", req, sdiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(req)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(req) - offset,
+ (void *) &req + offset)) {
+ PRINT_FIELD_XVAL("", req, sdiag_protocol,
+ inet_protocols, "IPPROTO_???");
+ PRINT_FIELD_FLAGS(", ", req, idiag_ext,
+ inet_diag_extended_flags,
+ "1<<INET_DIAG_\?\?\?-1");
+ PRINT_FIELD_FLAGS(", ", req, idiag_states,
+ tcp_state_flags, "1<<TCP_???");
+ tprints(", id=");
+ print_inet_diag_sockid(&req.id, req.sdiag_family);
+ decode_nla = true;
+ }
+ } else
+ tprints("...");
+ tprints("}");
+
+ offset = NLA_ALIGN(sizeof(req));
+ if (decode_nla && len > offset) {
+ tprints(", ");
+ decode_nlattr(tcp, addr + offset, len - offset,
+ inet_diag_req_attrs, "INET_DIAG_REQ_???",
+ NULL, 0, NULL);
+ }
+}
+
+static void
+decode_inet_diag_req(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ if (nlmsghdr->nlmsg_type == TCPDIAG_GETSOCK
+ || nlmsghdr->nlmsg_type == DCCPDIAG_GETSOCK)
+ return decode_inet_diag_req_compat(tcp, nlmsghdr,
+ family, addr, len);
+ else
+ return decode_inet_diag_req_v2(tcp, nlmsghdr,
+ family, addr, len);
+}
+
+static bool
+decode_inet_diag_meminfo(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ struct inet_diag_meminfo minfo;
+
+ if (len < sizeof(minfo))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &minfo))
+ return true;
+
+ PRINT_FIELD_U("{", minfo, idiag_rmem);
+ PRINT_FIELD_U(", ", minfo, idiag_wmem);
+ PRINT_FIELD_U(", ", minfo, idiag_fmem);
+ PRINT_FIELD_U(", ", minfo, idiag_tmem);
+ tprints("}");
+
+ return true;
+}
+
+static bool
+decode_tcpvegas_info(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ struct tcpvegas_info vegas;
+
+ if (len < sizeof(vegas))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &vegas))
+ return true;
+
+ PRINT_FIELD_U("{", vegas, tcpv_enabled);
+ PRINT_FIELD_U(", ", vegas, tcpv_rttcnt);
+ PRINT_FIELD_U(", ", vegas, tcpv_rtt);
+ PRINT_FIELD_U(", ", vegas, tcpv_minrtt);
+ tprints("}");
+
+ return true;
+}
+
+static bool
+decode_tcp_dctcp_info(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ struct tcp_dctcp_info dctcp;
+
+ if (len < sizeof(dctcp))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &dctcp))
+ return true;
+
+ PRINT_FIELD_U("{", dctcp, dctcp_enabled);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ce_state);
+ PRINT_FIELD_U(", ", dctcp, dctcp_alpha);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_ecn);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_tot);
+ tprints("}");
+
+ return true;
+}
+
+static bool
+decode_tcp_bbr_info(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ struct tcp_bbr_info bbr;
+
+ if (len < sizeof(bbr))
+ return false;
+ if (umove_or_printaddr(tcp, addr, &bbr))
+ return true;
+
+ PRINT_FIELD_X("{", bbr, bbr_bw_lo);
+ PRINT_FIELD_X(", ", bbr, bbr_bw_hi);
+ PRINT_FIELD_U(", ", bbr, bbr_min_rtt);
+ PRINT_FIELD_U(", ", bbr, bbr_pacing_gain);
+ PRINT_FIELD_U(", ", bbr, bbr_cwnd_gain);
+ tprints("}");
+
+ return true;
+}
+
+static const nla_decoder_t inet_diag_msg_nla_decoders[] = {
+ [INET_DIAG_MEMINFO] = decode_inet_diag_meminfo,
+ [INET_DIAG_INFO] = NULL, /* unimplemented */
+ [INET_DIAG_VEGASINFO] = decode_tcpvegas_info,
+ [INET_DIAG_CONG] = decode_nla_str,
+ [INET_DIAG_TOS] = decode_nla_u8,
+ [INET_DIAG_TCLASS] = decode_nla_u8,
+ [INET_DIAG_SKMEMINFO] = decode_meminfo,
+ [INET_DIAG_SHUTDOWN] = decode_nla_u8,
+ [INET_DIAG_DCTCPINFO] = decode_tcp_dctcp_info,
+ [INET_DIAG_PROTOCOL] = decode_nla_u8,
+ [INET_DIAG_SKV6ONLY] = decode_nla_u8,
+ [INET_DIAG_LOCALS] = NULL, /* unimplemented */
+ [INET_DIAG_PEERS] = NULL, /* unimplemented */
+ [INET_DIAG_PAD] = NULL,
+ [INET_DIAG_MARK] = decode_nla_u32,
+ [INET_DIAG_BBRINFO] = decode_tcp_bbr_info
+};
+
+static void
+decode_inet_diag_msg(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct inet_diag_msg msg = { .idiag_family = family };
+ size_t offset = sizeof(msg.idiag_family);
+ bool decode_nla = false;
+
+ PRINT_FIELD_XVAL("{", msg, idiag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(msg)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(msg) - offset,
+ (void *) &msg + offset)) {
+ PRINT_FIELD_XVAL("", msg, idiag_state,
+ tcp_states, "TCP_???");
+ PRINT_FIELD_U(", ", msg, idiag_timer);
+ PRINT_FIELD_U(", ", msg, idiag_retrans);
+ tprints(", id=");
+ print_inet_diag_sockid(&msg.id, msg.idiag_family);
+ PRINT_FIELD_U(", ", msg, idiag_expires);
+ PRINT_FIELD_U(", ", msg, idiag_rqueue);
+ PRINT_FIELD_U(", ", msg, idiag_wqueue);
+ PRINT_FIELD_U(", ", msg, idiag_uid);
+ PRINT_FIELD_U(", ", msg, idiag_inode);
+ decode_nla = true;
+ }
+ } else
+ tprints("...");
+ tprints("}");
+
+ offset = NLA_ALIGN(sizeof(msg));
+ if (decode_nla && len > offset) {
+ tprints(", ");
+ decode_nlattr(tcp, addr + offset, len - offset,
+ inet_diag_attrs, "INET_DIAG_???",
+ inet_diag_msg_nla_decoders,
+ ARRAY_SIZE(inet_diag_msg_nla_decoders), NULL);
+ }
+}
+
+#ifdef AF_SMC
+static void
+decode_smc_diag_req(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct smc_diag_req req = { .diag_family = family };
+ const size_t offset = sizeof(req.diag_family);
+
+ PRINT_FIELD_XVAL("{", req, diag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(req)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(req) - offset,
+ (void *) &req + offset)) {
+ PRINT_FIELD_FLAGS("", req, diag_ext,
+ smc_diag_extended_flags,
+ "1<<SMC_DIAG_\?\?\?-1");
+ tprints(", id=");
+ /*
+ * AF_SMC protocol family socket handler
+ * keeping the AF_INET sock address.
+ */
+ print_inet_diag_sockid(&req.id, AF_INET);
+ }
+ } else
+ tprints("...");
+ tprints("}");
+}
+
+static void
+decode_smc_diag_msg(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const uint8_t family,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ struct smc_diag_msg msg = { .diag_family = family };
+ size_t offset = sizeof(msg.diag_family);
+ bool decode_nla = false;
+
+ PRINT_FIELD_XVAL("{", msg, diag_family, addrfams, "AF_???");
+ tprints(", ");
+ if (len >= sizeof(msg)) {
+ if (!umoven_or_printaddr(tcp, addr + offset,
+ sizeof(msg) - offset,
+ (void *) &msg + offset)) {
+ PRINT_FIELD_XVAL("", msg, diag_state,
+ smc_states, "SMC_???");
+ PRINT_FIELD_U(", ", msg, diag_fallback);
+ PRINT_FIELD_U(", ", msg, diag_shutdown);
+ tprints(", id=");
+ /*
+ * AF_SMC protocol family socket handler
+ * keeping the AF_INET sock address.
+ */
+ print_inet_diag_sockid(&msg.id, AF_INET);
+ PRINT_FIELD_U(", ", msg, diag_uid);
+ PRINT_FIELD_U(", ", msg, diag_inode);
+ decode_nla = true;
+ }
+ } else
+ tprints("...");
+ tprints("}");
+
+ offset = NLA_ALIGN(sizeof(msg));
+ if (decode_nla && len > offset) {
+ tprints(", ");
+ decode_nlattr(tcp, addr + offset, len - offset,
+ smc_diag_attrs, "SMC_DIAG_???",
+ NULL, 0, NULL);
+ }
+}
+#endif
+
+typedef void (*netlink_diag_decoder_t)(struct tcb *,
+ const struct nlmsghdr *,
+ uint8_t family,
+ kernel_ulong_t addr,
+ kernel_ulong_t len);
+
+static const struct {
+ const netlink_diag_decoder_t request, response;
+} diag_decoders[] = {
+ [AF_INET] = { decode_inet_diag_req, decode_inet_diag_msg },
+ [AF_INET6] = { decode_inet_diag_req, decode_inet_diag_msg },
+ [AF_NETLINK] = { decode_netlink_diag_req, decode_netlink_diag_msg },
+ [AF_PACKET] = { decode_packet_diag_req, decode_packet_diag_msg },
+#ifdef AF_SMC
+ [AF_SMC] = { decode_smc_diag_req, decode_smc_diag_msg },
+#endif
+ [AF_UNIX] = { decode_unix_diag_req, decode_unix_diag_msg }
+};
+
+bool
+decode_netlink_sock_diag(struct tcb *const tcp,
+ const struct nlmsghdr *const nlmsghdr,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len)
+{
+ uint8_t family;
+
+ if (nlmsghdr->nlmsg_type == NLMSG_DONE)
+ return false;
+
+ if (!umove_or_printaddr(tcp, addr, &family)) {
+ if (family < ARRAY_SIZE(diag_decoders)
+ && len > sizeof(family)) {
+ const netlink_diag_decoder_t decoder =
+ (nlmsghdr->nlmsg_flags & NLM_F_REQUEST)
+ ? diag_decoders[family].request
+ : diag_decoders[family].response;
+
+ if (decoder) {
+ decoder(tcp, nlmsghdr, family, addr, len);
+ return true;
+ }
+ }
+
+ decode_family(tcp, family, addr, len);
+ }
+
+ return true;
+}
diff --git a/nlattr.c b/nlattr.c
new file mode 100644
index 00000000..ef3d7622
--- /dev/null
+++ b/nlattr.c
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+#include "netlink.h"
+#include "nlattr.h"
+
+static bool
+fetch_nlattr(struct tcb *const tcp, struct nlattr *const nlattr,
+ const kernel_ulong_t addr, const kernel_ulong_t len)
+{
+ if (len < sizeof(struct nlattr)) {
+ printstrn(tcp, addr, len);
+ return false;
+ }
+
+ if (umove_or_printaddr(tcp, addr, nlattr))
+ return false;
+
+ return true;
+}
+
+static void
+print_nlattr(const struct nlattr *const nla,
+ const struct xlat *const table,
+ const char *const dflt)
+{
+ tprintf("{nla_len=%u, nla_type=", nla->nla_len);
+ if (nla->nla_type & NLA_F_NESTED)
+ tprints("NLA_F_NESTED|");
+ if (nla->nla_type & NLA_F_NET_BYTEORDER)
+ tprints("NLA_F_NET_BYTEORDER|");
+ printxval(table, nla->nla_type & NLA_TYPE_MASK, dflt);
+ tprints("}");
+}
+
+static void
+decode_nlattr_with_data(struct tcb *const tcp,
+ const struct nlattr *const nla,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const struct xlat *const table,
+ const char *const dflt,
+ const nla_decoder_t *const decoders,
+ const unsigned int size,
+ const void *const opaque_data)
+{
+ const unsigned int nla_len = nla->nla_len > len ? len : nla->nla_len;
+
+ if (nla_len > NLA_HDRLEN)
+ tprints("{");
+
+ print_nlattr(nla, table, dflt);
+
+ if (nla_len > NLA_HDRLEN) {
+ tprints(", ");
+ if (!decoders
+ || nla->nla_type >= size
+ || !decoders[nla->nla_type]
+ || !decoders[nla->nla_type](tcp, addr + NLA_HDRLEN,
+ nla_len - NLA_HDRLEN,
+ opaque_data))
+ printstrn(tcp, addr + NLA_HDRLEN, len - NLA_HDRLEN);
+ tprints("}");
+ }
+}
+
+void
+decode_nlattr(struct tcb *const tcp,
+ kernel_ulong_t addr,
+ kernel_ulong_t len,
+ const struct xlat *const table,
+ const char *const dflt,
+ const nla_decoder_t *const decoders,
+ const unsigned int size,
+ const void *const opaque_data)
+{
+ struct nlattr nla;
+ bool print_array = false;
+ unsigned int elt;
+
+ for (elt = 0; fetch_nlattr(tcp, &nla, addr, len); elt++) {
+ if (abbrev(tcp) && elt == max_strlen) {
+ tprints("...");
+ break;
+ }
+
+ const unsigned long nla_len = NLA_ALIGN(nla.nla_len);
+ kernel_ulong_t next_addr = 0;
+ kernel_ulong_t next_len = 0;
+
+ if (nla.nla_len >= NLA_HDRLEN) {
+ next_len = (len >= nla_len) ? len - nla_len : 0;
+
+ if (next_len && addr + nla_len > addr)
+ next_addr = addr + nla_len;
+ }
+
+ if (!print_array && next_addr) {
+ tprints("[");
+ print_array = true;
+ }
+
+ decode_nlattr_with_data(tcp, &nla, addr, len, table, dflt,
+ decoders, size, opaque_data);
+
+ if (!next_addr)
+ break;
+
+ tprints(", ");
+ addr = next_addr;
+ len = next_len;
+ }
+
+ if (print_array) {
+ tprints("]");
+ }
+}
+
+bool
+decode_nla_str(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ printstr_ex(tcp, addr, len, QUOTE_0_TERMINATED);
+
+ return true;
+}
+
+bool
+decode_nla_strn(struct tcb *const tcp,
+ const kernel_ulong_t addr,
+ const kernel_ulong_t len,
+ const void *const opaque_data)
+{
+ printstrn(tcp, addr, len);
+
+ return true;
+}
+
+#define DECODE_NLA_INTEGER(name, type, fmt) \
+bool \
+decode_nla_ ## name(struct tcb *const tcp, \
+ const kernel_ulong_t addr, \
+ const kernel_ulong_t len, \
+ const void *const opaque_data) \
+{ \
+ type num; \
+ \
+ if (len < sizeof(num)) \
+ return false; \
+ if (!umove_or_printaddr(tcp, addr, &num)) \
+ tprintf(fmt, num); \
+ return true; \
+}
+
+DECODE_NLA_INTEGER(u8, uint8_t, "%" PRIu8)
+DECODE_NLA_INTEGER(u16, uint16_t, "%" PRIu16)
+DECODE_NLA_INTEGER(u32, uint32_t, "%" PRIu32)
+DECODE_NLA_INTEGER(u64, uint64_t, "%" PRIu64)
+DECODE_NLA_INTEGER(s8, int8_t, "%" PRId8)
+DECODE_NLA_INTEGER(s16, int16_t, "%" PRId16)
+DECODE_NLA_INTEGER(s32, int32_t, "%" PRId32)
+DECODE_NLA_INTEGER(s64, int64_t, "%" PRId64)
diff --git a/nlattr.h b/nlattr.h
new file mode 100644
index 00000000..40a476fc
--- /dev/null
+++ b/nlattr.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2016-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef STRACE_NLATTR_H
+#define STRACE_NLATTR_H
+
+typedef bool (*nla_decoder_t)(struct tcb *, kernel_ulong_t addr,
+ kernel_ulong_t len, const void *opaque_data);
+extern void
+decode_nlattr(struct tcb *,
+ kernel_ulong_t addr,
+ kernel_ulong_t len,
+ const struct xlat *,
+ const char *dflt,
+ const nla_decoder_t *,
+ unsigned int size,
+ const void *opaque_data);
+
+#define DECL_NLA(name) \
+extern bool \
+decode_nla_ ## name(struct tcb *, kernel_ulong_t addr, \
+ kernel_ulong_t len, const void *)
+DECL_NLA(u8);
+DECL_NLA(u16);
+DECL_NLA(u32);
+DECL_NLA(u64);
+DECL_NLA(s8);
+DECL_NLA(s16);
+DECL_NLA(s32);
+DECL_NLA(s64);
+DECL_NLA(str);
+DECL_NLA(strn);
+
+#endif /* !STRACE_NLATTR_H */
diff --git a/numa.c b/numa.c
index a4b28f4a..7564d873 100644
--- a/numa.c
+++ b/numa.c
@@ -34,10 +34,10 @@ print_node(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
{
if (elem_size < sizeof(kernel_ulong_t)) {
tprintf("%#0*x", (int) elem_size * 2 + 2,
- * (unsigned int *) elem_buf);
+ *(unsigned int *) elem_buf);
} else {
tprintf("%#0*" PRI_klx, (int) elem_size * 2 + 2,
- * (kernel_ulong_t *) elem_buf);
+ *(kernel_ulong_t *) elem_buf);
}
return true;
@@ -127,9 +127,9 @@ print_addr(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
kernel_ulong_t addr;
if (elem_size < sizeof(addr)) {
- addr = * (unsigned int *) elem_buf;
+ addr = *(unsigned int *) elem_buf;
} else {
- addr = * (kernel_ulong_t *) elem_buf;
+ addr = *(kernel_ulong_t *) elem_buf;
}
printaddr(addr);
@@ -140,7 +140,7 @@ print_addr(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
static bool
print_status(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
{
- const int status = * (int *) elem_buf;
+ const int status = *(int *) elem_buf;
if (status < 0 && (unsigned) -status < nerrnos)
tprintf("-%s", errnoent[-status]);
@@ -153,7 +153,7 @@ print_status(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
static bool
print_int(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
{
- tprintf("%d", * (int *) elem_buf);
+ tprintf("%d", *(int *) elem_buf);
return true;
}
diff --git a/open.c b/open.c
index 222965b8..28222666 100644
--- a/open.c
+++ b/open.c
@@ -42,7 +42,7 @@
#define O_ACCMODE 03
#ifdef O_LARGEFILE
-# if O_LARGEFILE == 0 /* biarch platforms in 64-bit mode */
+# if O_LARGEFILE == 0 /* biarch platforms in 64-bit mode */
# undef O_LARGEFILE
# ifdef SPARC64
# define O_LARGEFILE 0x40000
@@ -56,7 +56,7 @@
#include "xlat/open_mode_flags.h"
#ifndef AT_FDCWD
-# define AT_FDCWD -100
+# define AT_FDCWD -100
#endif
/* The fd is an "int", so when decoding x86 on x86_64, we need to force sign
diff --git a/or1k_atomic.c b/or1k_atomic.c
index fb6aff3d..738cc2eb 100644
--- a/or1k_atomic.c
+++ b/or1k_atomic.c
@@ -31,22 +31,22 @@
#ifdef OR1K
-#define OR1K_ATOMIC_SWAP 1
-#define OR1K_ATOMIC_CMPXCHG 2
-#define OR1K_ATOMIC_XCHG 3
-#define OR1K_ATOMIC_ADD 4
-#define OR1K_ATOMIC_DECPOS 5
-#define OR1K_ATOMIC_AND 6
-#define OR1K_ATOMIC_OR 7
-#define OR1K_ATOMIC_UMAX 8
-#define OR1K_ATOMIC_UMIN 9
+#define OR1K_ATOMIC_SWAP 1
+#define OR1K_ATOMIC_CMPXCHG 2
+#define OR1K_ATOMIC_XCHG 3
+#define OR1K_ATOMIC_ADD 4
+#define OR1K_ATOMIC_DECPOS 5
+#define OR1K_ATOMIC_AND 6
+#define OR1K_ATOMIC_OR 7
+#define OR1K_ATOMIC_UMAX 8
+#define OR1K_ATOMIC_UMIN 9
#include "xlat/atomic_ops.h"
SYS_FUNC(or1k_atomic)
{
printxval64(atomic_ops, tcp->u_arg[0], "???");
- switch(tcp->u_arg[0]) {
+ switch (tcp->u_arg[0]) {
case OR1K_ATOMIC_SWAP:
tprintf(", 0x%lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]);
break;
diff --git a/pathtrace.c b/pathtrace.c
index ea48825e..9cb0ba77 100644
--- a/pathtrace.c
+++ b/pathtrace.c
@@ -33,8 +33,8 @@
#include "syscall.h"
-const char **paths_selected = NULL;
-static unsigned num_selected = 0;
+const char **paths_selected;
+static unsigned int num_selected;
/*
* Return true if specified path matches one that we're tracing.
@@ -59,7 +59,7 @@ upathmatch(struct tcb *const tcp, const kernel_ulong_t upath)
{
char path[PATH_MAX + 1];
- return umovestr(tcp, upath, sizeof path, path) > 0 &&
+ return umovestr(tcp, upath, sizeof(path), path) > 0 &&
pathmatch(path);
}
diff --git a/perf.c b/perf.c
index 98f2ae1a..6af0f42a 100644
--- a/perf.c
+++ b/perf.c
@@ -168,7 +168,7 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
if (use_new_size > 0)
printxval(perf_attr_size, new_size,
- "PERF_ATTR_SIZE_???");
+ "PERF_ATTR_SIZE_???");
else
tprints("???");
}
@@ -176,17 +176,17 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
switch (attr->type) {
case PERF_TYPE_HARDWARE:
PRINT_XLAT(", config=", perf_hw_id, attr->config,
- "PERF_COUNT_HW_???");
+ "PERF_COUNT_HW_???");
break;
case PERF_TYPE_SOFTWARE:
PRINT_XLAT(", config=", perf_sw_ids, attr->config,
- "PERF_COUNT_SW_???");
+ "PERF_COUNT_SW_???");
break;
case PERF_TYPE_TRACEPOINT:
/*
* "The value to use in config can be obtained from under
- * debugfs tracing/events/../../id if ftrace is enabled in the
- * kernel."
+ * debugfs tracing/events/../../id if ftrace is enabled
+ * in the kernel."
*/
tprintf(", config=%" PRIu64, attr->config);
break;
@@ -196,9 +196,9 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
* (perf_hw_cache_op_result_id << 16)
*/
PRINT_XLAT(", config=", perf_hw_cache_id, attr->config & 0xFF,
- "PERF_COUNT_HW_CACHE_???");
+ "PERF_COUNT_HW_CACHE_???");
PRINT_XLAT("|", perf_hw_cache_op_id, (attr->config >> 8) & 0xFF,
- "PERF_COUNT_HW_CACHE_OP_???");
+ "PERF_COUNT_HW_CACHE_OP_???");
/*
* Current code (see set_ext_hw_attr in arch/x86/events/core.c,
* tile_map_cache_event in arch/tile/kernel/perf_event.c,
@@ -215,8 +215,8 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
* that cache result is 8 bits in size.
*/
PRINT_XLAT("<<8|", perf_hw_cache_op_result_id,
- (attr->config >> 16) & 0xFF,
- "PERF_COUNT_HW_CACHE_RESULT_???");
+ (attr->config >> 16) & 0xFF,
+ "PERF_COUNT_HW_CACHE_RESULT_???");
tprints("<<16");
if (attr->config >> 24) {
tprintf("|%#" PRIx64 "<<24", attr->config >> 24);
@@ -262,60 +262,60 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
"PERF_FORMAT_???");
tprintf(", disabled=%u"
- ", inherit=%u"
- ", pinned=%u"
- ", exclusive=%u"
- ", exclusive_user=%u"
- ", exclude_kernel=%u"
- ", exclude_hv=%u"
- ", exclude_idle=%u"
- ", mmap=%u"
- ", comm=%u"
- ", freq=%u"
- ", inherit_stat=%u"
- ", enable_on_exec=%u"
- ", task=%u"
- ", watermark=%u"
- ", precise_ip=%u",
- attr->disabled,
- attr->inherit,
- attr->pinned,
- attr->exclusive,
- attr->exclude_user,
- attr->exclude_kernel,
- attr->exclude_hv,
- attr->exclude_idle,
- attr->mmap,
- attr->comm,
- attr->freq,
- attr->inherit_stat,
- attr->enable_on_exec,
- attr->task,
- attr->watermark,
- attr->precise_ip);
+ ", inherit=%u"
+ ", pinned=%u"
+ ", exclusive=%u"
+ ", exclusive_user=%u"
+ ", exclude_kernel=%u"
+ ", exclude_hv=%u"
+ ", exclude_idle=%u"
+ ", mmap=%u"
+ ", comm=%u"
+ ", freq=%u"
+ ", inherit_stat=%u"
+ ", enable_on_exec=%u"
+ ", task=%u"
+ ", watermark=%u"
+ ", precise_ip=%u",
+ attr->disabled,
+ attr->inherit,
+ attr->pinned,
+ attr->exclusive,
+ attr->exclude_user,
+ attr->exclude_kernel,
+ attr->exclude_hv,
+ attr->exclude_idle,
+ attr->mmap,
+ attr->comm,
+ attr->freq,
+ attr->inherit_stat,
+ attr->enable_on_exec,
+ attr->task,
+ attr->watermark,
+ attr->precise_ip);
tprints_comment(precise_ip_desc[attr->precise_ip]);
tprintf(", mmap_data=%u"
- ", sample_id_all=%u"
- ", exclude_host=%u"
- ", exclude_guest=%u"
- ", exclude_callchain_kernel=%u"
- ", exclude_callchain_user=%u"
- ", mmap2=%u"
- ", comm_exec=%u"
- ", use_clockid=%u"
- ", context_switch=%u"
- ", write_backward=%u",
- attr->mmap_data,
- attr->sample_id_all,
- attr->exclude_host,
- attr->exclude_guest,
- attr->exclude_callchain_kernel,
- attr->exclude_callchain_user,
- attr->mmap2,
- attr->comm_exec,
- attr->use_clockid,
- attr->context_switch,
- attr->write_backward);
+ ", sample_id_all=%u"
+ ", exclude_host=%u"
+ ", exclude_guest=%u"
+ ", exclude_callchain_kernel=%u"
+ ", exclude_callchain_user=%u"
+ ", mmap2=%u"
+ ", comm_exec=%u"
+ ", use_clockid=%u"
+ ", context_switch=%u"
+ ", write_backward=%u",
+ attr->mmap_data,
+ attr->sample_id_all,
+ attr->exclude_host,
+ attr->exclude_guest,
+ attr->exclude_callchain_kernel,
+ attr->exclude_callchain_user,
+ attr->mmap2,
+ attr->comm_exec,
+ attr->use_clockid,
+ attr->context_switch,
+ attr->write_backward);
/*
* Print it only in case it is non-zero, since it may contain flags we
@@ -323,7 +323,7 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
*/
if (attr->__reserved_1) {
tprintf(", __reserved_1=%#" PRIx64,
- (uint64_t) attr->__reserved_1);
+ (uint64_t) attr->__reserved_1);
tprints_comment("Bits 63..28");
}
@@ -335,10 +335,10 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
if (attr->type == PERF_TYPE_BREAKPOINT)
/* Any combination of R/W with X is deemed invalid */
PRINT_XLAT(", bp_type=", hw_breakpoint_type, attr->bp_type,
- (attr->bp_type <=
- (HW_BREAKPOINT_X | HW_BREAKPOINT_RW)) ?
- "HW_BREAKPOINT_INVALID" :
- "HW_BREAKPOINT_???");
+ (attr->bp_type <=
+ (HW_BREAKPOINT_X | HW_BREAKPOINT_RW)) ?
+ "HW_BREAKPOINT_INVALID" :
+ "HW_BREAKPOINT_???");
if (attr->type == PERF_TYPE_BREAKPOINT)
tprintf(", bp_addr=%#" PRIx64, attr->bp_addr);
@@ -360,7 +360,7 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
if (attr->sample_type & PERF_SAMPLE_BRANCH_STACK) {
tprints(", branch_sample_type=");
printflags64(perf_branch_sample_type, attr->branch_sample_type,
- "PERF_SAMPLE_BRANCH_???");
+ "PERF_SAMPLE_BRANCH_???");
}
_PERF_CHECK_FIELD(sample_regs_user);
@@ -379,7 +379,7 @@ print_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr)
*/
if (attr->sample_type & PERF_SAMPLE_STACK_USER)
tprintf(", sample_stack_user=%#" PRIx32,
- attr->sample_stack_user);
+ attr->sample_stack_user);
if (attr->use_clockid) {
_PERF_CHECK_FIELD(clockid);
diff --git a/perf_event_struct.h b/perf_event_struct.h
index 161f6383..b5a15bb5 100644
--- a/perf_event_struct.h
+++ b/perf_event_struct.h
@@ -13,34 +13,34 @@ struct perf_event_attr {
};
uint64_t sample_type;
uint64_t read_format;
- uint64_t disabled :1,
- inherit :1,
- pinned :1,
- exclusive :1,
- exclude_user :1,
- exclude_kernel :1,
- exclude_hv :1,
- exclude_idle :1,
- mmap :1,
- comm :1,
- freq :1,
- inherit_stat :1,
- enable_on_exec :1,
- task :1,
- watermark :1,
- precise_ip :2,
- mmap_data :1,
- sample_id_all :1,
- exclude_host :1,
- exclude_guest :1,
- exclude_callchain_kernel :1,
- exclude_callchain_user :1,
- mmap2 :1,
- comm_exec :1,
- use_clockid :1,
- context_switch :1,
- write_backward :1,
- __reserved_1 :36;
+ uint64_t disabled :1,
+ inherit :1,
+ pinned :1,
+ exclusive :1,
+ exclude_user :1,
+ exclude_kernel :1,
+ exclude_hv :1,
+ exclude_idle :1,
+ mmap :1,
+ comm :1,
+ freq :1,
+ inherit_stat :1,
+ enable_on_exec :1,
+ task :1,
+ watermark :1,
+ precise_ip :2,
+ mmap_data :1,
+ sample_id_all :1,
+ exclude_host :1,
+ exclude_guest :1,
+ exclude_callchain_kernel :1,
+ exclude_callchain_user :1,
+ mmap2 :1,
+ comm_exec :1,
+ use_clockid :1,
+ context_switch :1,
+ write_backward :1,
+ __reserved_1 :36;
union {
uint32_t wakeup_events;
uint32_t wakeup_watermark;
diff --git a/print_fields.h b/print_fields.h
new file mode 100644
index 00000000..92b8a8a1
--- /dev/null
+++ b/print_fields.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef STRACE_PRINT_FIELDS_H
+#define STRACE_PRINT_FIELDS_H
+
+/*
+ * The printf-like function to use in header files
+ * shared between strace and its tests.
+ */
+#ifndef STRACE_PRINTF
+# define STRACE_PRINTF tprintf
+#endif
+
+#define PRINT_FIELD_D(prefix_, where_, field_) \
+ STRACE_PRINTF("%s%s=%lld", (prefix_), #field_, \
+ sign_extend_unsigned_to_ll((where_).field_))
+
+#define PRINT_FIELD_U(prefix_, where_, field_) \
+ STRACE_PRINTF("%s%s=%llu", (prefix_), #field_, \
+ zero_extend_signed_to_ull((where_).field_))
+
+#define PRINT_FIELD_X(prefix_, where_, field_) \
+ STRACE_PRINTF("%s%s=%#llx", (prefix_), #field_, \
+ zero_extend_signed_to_ull((where_).field_))
+
+#define PRINT_FIELD_COOKIE(prefix_, where_, field_) \
+ STRACE_PRINTF("%s%s=[%llu, %llu]", (prefix_), #field_, \
+ zero_extend_signed_to_ull((where_).field_[0]), \
+ zero_extend_signed_to_ull((where_).field_[1]))
+
+#define PRINT_FIELD_FLAGS(prefix_, where_, field_, xlat_, dflt_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ printflags((xlat_), (where_).field_, (dflt_)); \
+ } while (0)
+
+#define PRINT_FIELD_XVAL(prefix_, where_, field_, xlat_, dflt_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ printxval((xlat_), (where_).field_, (dflt_)); \
+ } while (0)
+
+#endif /* !STRACE_PRINT_FIELDS_H */
diff --git a/print_timespec.c b/print_timespec.c
index 1e99074b..c8ab5b7b 100644
--- a/print_timespec.c
+++ b/print_timespec.c
@@ -68,6 +68,42 @@ print_timespec_t_utime(const timespec_t *t)
}
}
+MPERS_PRINTER_DECL(bool, print_struct_timespec_data_size,
+ const void *arg, const size_t size)
+{
+ if (size < sizeof(timespec_t)) {
+ tprints("?");
+ return false;
+ }
+
+ print_timespec_t(arg);
+ return true;
+}
+
+MPERS_PRINTER_DECL(bool, print_struct_timespec_array_data_size,
+ const void *arg, const unsigned int nmemb,
+ const size_t size)
+{
+ const timespec_t *ts = arg;
+ unsigned int i;
+
+ if (nmemb > size / sizeof(timespec_t)) {
+ tprints("?");
+ return false;
+ }
+
+ tprints("[");
+
+ for (i = 0; i < nmemb; i++) {
+ if (i)
+ tprints(", ");
+ print_timespec_t(&ts[i]);
+ }
+
+ tprints("]");
+ return true;
+}
+
MPERS_PRINTER_DECL(void, print_timespec,
struct tcb *const tcp, const kernel_ulong_t addr)
{
diff --git a/print_timeval.c b/print_timeval.c
index 8d625546..8e0708f4 100644
--- a/print_timeval.c
+++ b/print_timeval.c
@@ -55,6 +55,18 @@ MPERS_PRINTER_DECL(void, print_struct_timeval, const void *arg)
print_timeval_t(arg);
}
+MPERS_PRINTER_DECL(bool, print_struct_timeval_data_size,
+ const void *arg, const size_t size)
+{
+ if (size < sizeof(timeval_t)) {
+ tprints("?");
+ return false;
+ }
+
+ print_timeval_t(arg);
+ return true;
+}
+
MPERS_PRINTER_DECL(void, print_timeval,
struct tcb *const tcp, const kernel_ulong_t addr)
{
diff --git a/printers.h b/printers.h
index c775092b..6bf08605 100644
--- a/printers.h
+++ b/printers.h
@@ -60,6 +60,12 @@ typedef struct {
void (*print_sigevent)(struct tcb *const tcp, const kernel_ulong_t addr);
#define print_sigevent MPERS_PRINTER_NAME(print_sigevent)
+ _Bool (*print_struct_timespec_data_size)(const void *arg, const size_t size);
+#define print_struct_timespec_data_size MPERS_PRINTER_NAME(print_struct_timespec_data_size)
+
+ _Bool (*print_struct_timespec_array_data_size)(const void *arg, const unsigned int nmemb, const size_t size);
+#define print_struct_timespec_array_data_size MPERS_PRINTER_NAME(print_struct_timespec_array_data_size)
+
void (*print_timespec)(struct tcb *const tcp, const kernel_ulong_t addr);
#define print_timespec MPERS_PRINTER_NAME(print_timespec)
@@ -75,6 +81,9 @@ typedef struct {
void (*print_struct_timeval)(const void *arg);
#define print_struct_timeval MPERS_PRINTER_NAME(print_struct_timeval)
+ _Bool (*print_struct_timeval_data_size)(const void *arg, const size_t size);
+#define print_struct_timeval_data_size MPERS_PRINTER_NAME(print_struct_timeval_data_size)
+
void (*print_timeval)(struct tcb *const tcp, const kernel_ulong_t addr);
#define print_timeval MPERS_PRINTER_NAME(print_timeval)
diff --git a/qualify.c b/qualify.c
index 30888e61..3df4805a 100644
--- a/qualify.c
+++ b/qualify.c
@@ -414,18 +414,6 @@ handle_inversion:
}
}
-/*
- * Returns NULL if STR does not start with PREFIX,
- * or a pointer to the first char in STR after PREFIX.
- */
-static const char *
-strip_prefix(const char *prefix, const char *str)
-{
- size_t len = strlen(prefix);
-
- return strncmp(prefix, str, len) ? NULL : str + len;
-}
-
static int
find_errno_by_name(const char *name)
{
@@ -446,9 +434,9 @@ parse_inject_token(const char *const token, struct inject_opts *const fopts,
const char *val;
int intval;
- if ((val = strip_prefix("when=", token))) {
+ if ((val = STR_STRIP_PREFIX(token, "when=")) != token) {
/*
- * == 1+1
+ * == 1+1
* F == F+0
* F+ == F+1
* F+S
@@ -476,7 +464,7 @@ parse_inject_token(const char *const token, struct inject_opts *const fopts,
/* F == F+0 */
fopts->step = 0;
}
- } else if ((val = strip_prefix("error=", token))) {
+ } else if ((val = STR_STRIP_PREFIX(token, "error=")) != token) {
if (fopts->rval != INJECT_OPTS_RVAL_DEFAULT)
return false;
intval = string_to_uint_upto(val, MAX_ERRNO_VALUE);
@@ -485,14 +473,16 @@ parse_inject_token(const char *const token, struct inject_opts *const fopts,
if (intval < 1)
return false;
fopts->rval = -intval;
- } else if (!fault_tokens_only && (val = strip_prefix("retval=", token))) {
+ } else if (!fault_tokens_only
+ && (val = STR_STRIP_PREFIX(token, "retval=")) != token) {
if (fopts->rval != INJECT_OPTS_RVAL_DEFAULT)
return false;
intval = string_to_uint(val);
if (intval < 0)
return false;
fopts->rval = intval;
- } else if (!fault_tokens_only && (val = strip_prefix("signal=", token))) {
+ } else if (!fault_tokens_only
+ && (val = STR_STRIP_PREFIX(token, "signal=")) != token) {
intval = sigstr_to_uint(val);
if (intval < 1 || intval > NSIG_BYTES * 8)
return false;
@@ -677,14 +667,14 @@ qualify(const char *str)
unsigned int i;
for (i = 0; i < ARRAY_SIZE(qual_options); ++i) {
- const char *p = qual_options[i].name;
- unsigned int len = strlen(p);
+ const char *name = qual_options[i].name;
+ const size_t len = strlen(name);
+ const char *val = str_strip_prefix_len(str, name, len);
- if (strncmp(str, p, len) || str[len] != '=')
+ if (val == str || *val != '=')
continue;
-
+ str = val + 1;
opt = &qual_options[i];
- str += len + 1;
break;
}
diff --git a/quota.c b/quota.c
index 19f391f7..7607ae01 100644
--- a/quota.c
+++ b/quota.c
@@ -30,6 +30,7 @@
*/
#include "defs.h"
+#include "print_fields.h"
#define SUBCMDMASK 0x00ff
#define SUBCMDSHIFT 8
@@ -55,8 +56,7 @@
* leads to problems when it is used on 32-bit tracee which does not have such
* padding.
*/
-struct if_dqblk
-{
+struct if_dqblk {
uint64_t dqb_bhardlimit;
uint64_t dqb_bsoftlimit;
uint64_t dqb_curspace;
@@ -81,10 +81,9 @@ struct if_nextdqblk {
uint32_t dqb_id;
};
-struct xfs_dqblk
-{
+struct xfs_dqblk {
int8_t d_version; /* version of this structure */
- int8_t d_flags; /* XFS_{USER,PROJ,GROUP}_QUOTA */
+ uint8_t d_flags; /* XFS_{USER,PROJ,GROUP}_QUOTA */
uint16_t d_fieldmask; /* field specifier */
uint32_t d_id; /* user, project, or group ID */
uint64_t d_blk_hardlimit; /* absolute limit on disk blks */
@@ -107,23 +106,20 @@ struct xfs_dqblk
char d_padding4[8]; /* yet more padding */
};
-struct if_dqinfo
-{
+struct if_dqinfo {
uint64_t dqi_bgrace;
uint64_t dqi_igrace;
uint32_t dqi_flags;
uint32_t dqi_valid;
};
-typedef struct fs_qfilestat
-{
+typedef struct fs_qfilestat {
uint64_t qfs_ino; /* inode number */
uint64_t qfs_nblks; /* number of BBs 512-byte-blks */
uint32_t qfs_nextents; /* number of extents */
} fs_qfilestat_t;
-struct xfs_dqstats
-{
+struct xfs_dqstats {
int8_t qs_version; /* version number for future changes */
uint16_t qs_flags; /* XFS_QUOTA_{U,P,G}DQ_{ACCT,ENFD} */
int8_t qs_pad; /* unused */
@@ -158,18 +154,6 @@ struct fs_quota_statv {
uint64_t qs_pad2[8];
};
-#define PRINT_FIELD_D(prefix, where, field) \
- tprintf("%s%s=%lld", (prefix), #field, \
- sign_extend_unsigned_to_ll((where).field))
-
-#define PRINT_FIELD_U(prefix, where, field) \
- tprintf("%s%s=%llu", (prefix), #field, \
- zero_extend_signed_to_ull((where).field))
-
-#define PRINT_FIELD_X(prefix, where, field) \
- tprintf("%s%s=%#llx", (prefix), #field, \
- zero_extend_signed_to_ull((where).field))
-
static int
decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
{
@@ -213,9 +197,8 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
if (!abbrev(tcp)) {
PRINT_FIELD_U(", ", dq, dqb_btime);
PRINT_FIELD_U(", ", dq, dqb_itime);
- tprints(", dqb_valid=");
- printflags(if_dqblk_valid,
- dq.dqb_valid, "QIF_???");
+ PRINT_FIELD_FLAGS(", ", dq, dqb_valid,
+ if_dqblk_valid, "QIF_???");
} else {
tprints(", ...");
}
@@ -244,9 +227,8 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
if (!abbrev(tcp)) {
PRINT_FIELD_U(", ", dq, dqb_btime);
PRINT_FIELD_U(", ", dq, dqb_itime);
- tprints(", dqb_valid=");
- printflags(if_dqblk_valid,
- dq.dqb_valid, "QIF_???");
+ PRINT_FIELD_FLAGS(", ", dq, dqb_valid,
+ if_dqblk_valid, "QIF_???");
PRINT_FIELD_U(", ", dq, dqb_id);
} else {
PRINT_FIELD_U(", ", dq, dqb_id);
@@ -277,9 +259,8 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
if (umove_or_printaddr(tcp, data, &dq))
break;
PRINT_FIELD_D("{", dq, d_version);
- tprints(", d_flags=");
- printflags(xfs_dqblk_flags,
- (uint8_t) dq.d_flags, "XFS_???_QUOTA");
+ PRINT_FIELD_FLAGS(", ", dq, d_flags,
+ xfs_dqblk_flags, "XFS_???_QUOTA");
PRINT_FIELD_X(", ", dq, d_fieldmask);
PRINT_FIELD_U(", ", dq, d_id);
PRINT_FIELD_U(", ", dq, d_blk_hardlimit);
@@ -340,10 +321,8 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
break;
PRINT_FIELD_U("{", dq, dqi_bgrace);
PRINT_FIELD_U(", ", dq, dqi_igrace);
- tprints(", dqi_flags=");
- printflags(if_dqinfo_flags, dq.dqi_flags, "DQF_???");
- tprints(", dqi_valid=");
- printflags(if_dqinfo_valid, dq.dqi_valid, "IIF_???");
+ PRINT_FIELD_FLAGS(", ", dq, dqi_flags, if_dqinfo_flags, "DQF_???");
+ PRINT_FIELD_FLAGS(", ", dq, dqi_valid, if_dqinfo_valid, "IIF_???");
tprints("}");
break;
}
@@ -361,9 +340,8 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
break;
PRINT_FIELD_D("{", dq, qs_version);
if (!abbrev(tcp)) {
- tprints(", qs_flags=");
- printflags(xfs_quota_flags,
- dq.qs_flags, "XFS_QUOTA_???");
+ PRINT_FIELD_FLAGS(", ", dq, qs_flags,
+ xfs_quota_flags, "XFS_QUOTA_???");
PRINT_FIELD_U(", ", dq, qs_incoredqs);
PRINT_FIELD_U(", qs_uquota={", dq.qs_uquota, qfs_ino);
PRINT_FIELD_U(", ", dq.qs_uquota, qfs_nblks);
@@ -396,9 +374,8 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, kernel_ulong_t data)
break;
PRINT_FIELD_D("{", dq, qs_version);
if (!abbrev(tcp)) {
- tprints(", qs_flags=");
- printflags(xfs_quota_flags,
- dq.qs_flags, "XFS_QUOTA_???");
+ PRINT_FIELD_FLAGS(", ", dq, qs_flags,
+ xfs_quota_flags, "XFS_QUOTA_???");
PRINT_FIELD_U(", ", dq, qs_incoredqs);
PRINT_FIELD_U(", qs_uquota={", dq.qs_uquota, qfs_ino);
PRINT_FIELD_U(", ", dq.qs_uquota, qfs_nblks);
diff --git a/resource.c b/resource.c
index ab367528..27d653e6 100644
--- a/resource.c
+++ b/resource.c
@@ -120,8 +120,7 @@ SYS_FUNC(getrlimit)
if (entering(tcp)) {
printxval(resources, tcp->u_arg[0], "RLIMIT_???");
tprints(", ");
- }
- else {
+ } else {
decode_rlimit(tcp, tcp->u_arg[1]);
}
return 0;
@@ -157,8 +156,7 @@ SYS_FUNC(getrusage)
if (entering(tcp)) {
printxval(usagewho, tcp->u_arg[0], "RUSAGE_???");
tprints(", ");
- }
- else
+ } else
printrusage(tcp, tcp->u_arg[1]);
return 0;
}
@@ -169,8 +167,7 @@ SYS_FUNC(osf_getrusage)
if (entering(tcp)) {
printxval(usagewho, tcp->u_arg[0], "RUSAGE_???");
tprints(", ");
- }
- else
+ } else
printrusage32(tcp, tcp->u_arg[1]);
return 0;
}
diff --git a/scno.am b/scno.am
new file mode 100644
index 00000000..ee3db597
--- /dev/null
+++ b/scno.am
@@ -0,0 +1,44 @@
+# scno.h make rules for strace.
+#
+# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
+
+syscallent.i: $(top_builddir)/config.h $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
+ $(CPP) -P $(SCNO_CPPFLAGS) -include $^ -o $@
+
+digits = [[:digit:]][[:digit:]]*
+al_nums = [[:alnum:]_][[:alnum:]_]*
+SCNO_SED = /TRACE_INDIRECT_SUBCALL/d; s/^\[[[:space:]]*\($(digits)\)\][[:space:]]*=[[:space:]]*{[^,]*,[^,]*,[^,]*,[[:space:]]*"\($(al_nums)\)"[[:space:]]*},.*/\#ifndef __NR_\2\n\# define __NR_\2 (SYSCALL_BIT | \1)\n\#endif/p
+
+scno.h: $(top_srcdir)/scno.head syscallent.i
+ echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
+ cat $< >> $@-t
+ LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t
+ mv $@-t $@
+
+CLEANFILES += syscallent.i scno.h
diff --git a/signal.c b/signal.c
index 2c21f906..b14124e9 100644
--- a/signal.c
+++ b/signal.c
@@ -6,7 +6,7 @@
* Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Linux for s390 port by D.J. Barrow
* <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
- * Copyright (C) 2001-2017 The strace developers.
+ * Copyright (c) 2001-2017 The strace developers.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -289,8 +289,7 @@ SYS_FUNC(ssetmask)
{
if (entering(tcp)) {
tprint_old_sigmask_val("", (unsigned) tcp->u_arg[0]);
- }
- else if (!syserror(tcp)) {
+ } else if (!syserror(tcp)) {
tcp->auxstr = sprint_old_sigmask_val("old mask ",
(unsigned) tcp->u_rval);
return RVAL_HEX | RVAL_STR;
@@ -300,30 +299,25 @@ SYS_FUNC(ssetmask)
struct old_sigaction {
/* sa_handler may be a libc #define, need to use other name: */
-#ifdef MIPS
+#if defined MIPS
unsigned int sa_flags;
unsigned long sa_handler__;
- /* Kernel treats sa_mask as an array of longs. */
- unsigned long sa_mask[NSIG / sizeof(long)];
+ unsigned long sa_mask;
+#elif defined ALPHA
+ unsigned long sa_handler__;
+ unsigned long sa_mask;
+ unsigned int sa_flags;
#else
unsigned long sa_handler__;
unsigned long sa_mask;
unsigned long sa_flags;
-#endif /* !MIPS */
-#if HAVE_SA_RESTORER
unsigned long sa_restorer;
#endif
-};
-
-struct old_sigaction32 {
- /* sa_handler may be a libc #define, need to use other name: */
- uint32_t sa_handler__;
- uint32_t sa_mask;
- uint32_t sa_flags;
-#if HAVE_SA_RESTORER
- uint32_t sa_restorer;
+}
+#ifdef ALPHA
+ ATTRIBUTE_PACKED
#endif
-};
+;
static void
decode_old_sigaction(struct tcb *const tcp, const kernel_ulong_t addr)
@@ -332,7 +326,12 @@ decode_old_sigaction(struct tcb *const tcp, const kernel_ulong_t addr)
#ifndef current_wordsize
if (current_wordsize < sizeof(sa.sa_handler__)) {
- struct old_sigaction32 sa32;
+ struct old_sigaction32 {
+ uint32_t sa_handler__;
+ uint32_t sa_mask;
+ uint32_t sa_flags;
+ uint32_t sa_restorer;
+ } sa32;
if (umove_or_printaddr(tcp, addr, &sa32))
return;
@@ -340,9 +339,7 @@ decode_old_sigaction(struct tcb *const tcp, const kernel_ulong_t addr)
memset(&sa, 0, sizeof(sa));
sa.sa_handler__ = sa32.sa_handler__;
sa.sa_flags = sa32.sa_flags;
-#if HAVE_SA_RESTORER && defined SA_RESTORER
sa.sa_restorer = sa32.sa_restorer;
-#endif
sa.sa_mask = sa32.sa_mask;
} else
#endif
@@ -352,15 +349,11 @@ decode_old_sigaction(struct tcb *const tcp, const kernel_ulong_t addr)
tprints("{sa_handler=");
print_sa_handler(sa.sa_handler__);
tprints(", sa_mask=");
-#ifdef MIPS
- tprintsigmask_addr("", sa.sa_mask);
-#else
- tprintsigmask_val("", sa.sa_mask);
-#endif
+ tprint_old_sigmask_val("", sa.sa_mask);
tprints(", sa_flags=");
printflags(sigact_flags, sa.sa_flags, "SA_???");
-#if HAVE_SA_RESTORER && defined SA_RESTORER
- if (sa.sa_flags & SA_RESTORER) {
+#if !(defined ALPHA || defined MIPS)
+ if (sa.sa_flags & 0x04000000U) {
tprints(", sa_restorer=");
printaddr(sa.sa_restorer);
}
@@ -371,7 +364,14 @@ decode_old_sigaction(struct tcb *const tcp, const kernel_ulong_t addr)
SYS_FUNC(sigaction)
{
if (entering(tcp)) {
- printsignal(tcp->u_arg[0]);
+ int signo = tcp->u_arg[0];
+#if defined SPARC || defined SPARC64
+ if (signo < 0) {
+ tprints("-");
+ signo = -signo;
+ }
+#endif
+ printsignal(signo);
tprints(", ");
decode_old_sigaction(tcp, tcp->u_arg[1]);
tprints(", ");
@@ -415,42 +415,46 @@ SYS_FUNC(sigsuspend)
return RVAL_DECODED;
}
-/* "Old" sigprocmask, which operates with word-sized signal masks */
-SYS_FUNC(sigprocmask)
+#ifdef ALPHA
+/*
+ * The OSF/1 sigprocmask is different: it doesn't pass in two pointers,
+ * but rather passes in the new bitmask as an argument and then returns
+ * the old bitmask. This "works" because we only have 64 signals to worry
+ * about. If you want more, use of the rt_sigprocmask syscall is required.
+ *
+ * Alpha:
+ * old = osf_sigprocmask(how, new);
+ * Everyone else:
+ * ret = sigprocmask(how, &new, &old, ...);
+ */
+SYS_FUNC(osf_sigprocmask)
{
-# ifdef ALPHA
if (entering(tcp)) {
- /*
- * Alpha/OSF is different: it doesn't pass in two pointers,
- * but rather passes in the new bitmask as an argument and
- * then returns the old bitmask. This "works" because we
- * only have 64 signals to worry about. If you want more,
- * use of the rt_sigprocmask syscall is required.
- * Alpha:
- * old = osf_sigprocmask(how, new);
- * Everyone else:
- * ret = sigprocmask(how, &new, &old, ...);
- */
printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
tprintsigmask_val(", ", tcp->u_arg[1]);
- }
- else if (!syserror(tcp)) {
+ } else if (!syserror(tcp)) {
tcp->auxstr = sprintsigmask_val("old mask ", tcp->u_rval);
return RVAL_HEX | RVAL_STR;
}
-# else /* !ALPHA */
+ return 0;
+}
+
+#else /* !ALPHA */
+
+/* "Old" sigprocmask, which operates with word-sized signal masks */
+SYS_FUNC(sigprocmask)
+{
if (entering(tcp)) {
printxval(sigprocmaskcmds, tcp->u_arg[0], "SIG_???");
tprints(", ");
print_sigset_addr_len(tcp, tcp->u_arg[1], current_wordsize);
tprints(", ");
- }
- else {
+ } else {
print_sigset_addr_len(tcp, tcp->u_arg[2], current_wordsize);
}
-# endif /* !ALPHA */
return 0;
}
+#endif /* !ALPHA */
SYS_FUNC(kill)
{
@@ -486,8 +490,7 @@ SYS_FUNC(rt_sigprocmask)
tprints(", ");
print_sigset_addr_len(tcp, tcp->u_arg[1], tcp->u_arg[3]);
tprints(", ");
- }
- else {
+ } else {
print_sigset_addr_len(tcp, tcp->u_arg[2], tcp->u_arg[3]);
tprintf(", %" PRI_klu, tcp->u_arg[3]);
}
@@ -495,8 +498,7 @@ SYS_FUNC(rt_sigprocmask)
}
/* Structure describing the action to be taken when a signal arrives. */
-struct new_sigaction
-{
+struct new_sigaction {
/* sa_handler may be a libc #define, need to use other name: */
#ifdef MIPS
unsigned int sa_flags;
@@ -512,8 +514,7 @@ struct new_sigaction
unsigned long sa_mask[NSIG / sizeof(long)];
};
/* Same for i386-on-x86_64 and similar cases */
-struct new_sigaction32
-{
+struct new_sigaction32 {
uint32_t sa_handler__;
uint32_t sa_flags;
#if HAVE_SA_RESTORER
diff --git a/sockaddr.c b/sockaddr.c
index 174108ca..bfbe585b 100644
--- a/sockaddr.c
+++ b/sockaddr.c
@@ -35,7 +35,7 @@
#include <netinet/in.h>
#include <arpa/inet.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/if_packet.h>
#include <linux/if_arp.h>
#include <linux/if_ether.h>
@@ -81,6 +81,34 @@ print_sockaddr_data_un(const void *const buf, const int addrlen)
}
}
+bool
+print_inet_addr(const int af,
+ const void *const addr,
+ const unsigned int len,
+ const char *const var_name)
+{
+ const char *af_name = NULL;
+ char buf[INET6_ADDRSTRLEN];
+
+ switch (af) {
+ case AF_INET:
+ af_name = "AF_INET";
+ break;
+ case AF_INET6:
+ af_name = "AF_INET6";
+ break;
+ }
+
+ if (af_name && inet_ntop(af, addr, buf, sizeof(buf))) {
+ tprintf("inet_pton(%s, \"%s\", &%s)", af_name, buf, var_name);
+ return true;
+ } else {
+ tprintf("%s=", var_name);
+ print_quoted_string(addr, len, 0);
+ return false;
+ }
+}
+
static void
print_sockaddr_data_in(const void *const buf, const int addrlen)
{
@@ -97,13 +125,10 @@ print_sockaddr_data_in6(const void *const buf, const int addrlen)
{
const struct sockaddr_in6 *const sa_in6 = buf;
- char string_addr[100];
- inet_ntop(AF_INET6, &sa_in6->sin6_addr,
- string_addr, sizeof(string_addr));
- tprintf("sin6_port=htons(%u), inet_pton(AF_INET6"
- ", \"%s\", &sin6_addr), sin6_flowinfo=htonl(%u)",
- ntohs(sa_in6->sin6_port), string_addr,
- ntohl(sa_in6->sin6_flowinfo));
+ tprintf("sin6_port=htons(%u), ", ntohs(sa_in6->sin6_port));
+ print_inet_addr(AF_INET6, &sa_in6->sin6_addr,
+ sizeof(sa_in6->sin6_addr), "sin6_addr");
+ tprintf(", sin6_flowinfo=htonl(%u)", ntohl(sa_in6->sin6_flowinfo));
if (addrlen <= (int) SIN6_MIN_LEN)
return;
diff --git a/socketutils.c b/socketutils.c
index ef8269ce..ce4e5249 100644
--- a/socketutils.c
+++ b/socketutils.c
@@ -31,22 +31,21 @@
#include <netinet/in.h>
#include <sys/socket.h>
#include <arpa/inet.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/inet_diag.h>
#include <linux/unix_diag.h>
#include <linux/netlink_diag.h>
#include <linux/rtnetlink.h>
+#if HAVE_LINUX_GENETLINK_H
+#include <linux/genetlink.h>
+#endif
#include <sys/un.h>
#ifndef UNIX_PATH_MAX
# define UNIX_PATH_MAX sizeof(((struct sockaddr_un *) 0)->sun_path)
#endif
-#ifndef NETLINK_SOCK_DIAG
-# define NETLINK_SOCK_DIAG 4
-#endif
-
typedef struct {
unsigned long inode;
char *details;
@@ -57,23 +56,29 @@ static cache_entry cache[CACHE_SIZE];
#define CACHE_MASK (CACHE_SIZE - 1)
static int
-cache_and_print_inode_details(const unsigned long inode, char *const details)
+cache_inode_details(const unsigned long inode, char *const details)
{
cache_entry *e = &cache[inode & CACHE_MASK];
free(e->details);
e->inode = inode;
e->details = details;
- tprints(details);
return 1;
}
-bool
-print_sockaddr_by_inode_cached(const unsigned long inode)
+static const char *
+get_sockaddr_by_inode_cached(const unsigned long inode)
{
const cache_entry *const e = &cache[inode & CACHE_MASK];
- if (e && inode == e->inode) {
- tprints(e->details);
+ return (e && inode == e->inode) ? e->details : NULL;
+}
+
+static bool
+print_sockaddr_by_inode_cached(const unsigned long inode)
+{
+ const char *const details = get_sockaddr_by_inode_cached(inode);
+ if (details) {
+ tprints(details);
return true;
}
return false;
@@ -128,9 +133,10 @@ inet_send_query(const int fd, const int family, const int proto)
}
static int
-inet_parse_response(const char *const proto_name, const void *const data,
- const int data_len, const unsigned long inode)
+inet_parse_response(const void *const data, const int data_len,
+ const unsigned long inode, void *opaque_data)
{
+ const char *const proto_name = opaque_data;
const struct inet_diag_msg *const diag_msg = data;
static const char zero_addr[sizeof(struct in6_addr)];
socklen_t addr_size, text_size;
@@ -140,7 +146,7 @@ inet_parse_response(const char *const proto_name, const void *const data,
if (diag_msg->idiag_inode != inode)
return 0;
- switch(diag_msg->idiag_family) {
+ switch (diag_msg->idiag_family) {
case AF_INET:
addr_size = sizeof(struct in_addr);
text_size = INET_ADDRSTRLEN;
@@ -178,14 +184,15 @@ inet_parse_response(const char *const proto_name, const void *const data,
return false;
}
- return cache_and_print_inode_details(inode, details);
+ return cache_inode_details(inode, details);
}
static bool
receive_responses(const int fd, const unsigned long inode,
- const char *proto_name,
- int (* parser) (const char *, const void *,
- int, unsigned long))
+ const unsigned long expected_msg_type,
+ int (*parser)(const void *, int,
+ unsigned long, void *),
+ void *opaque_data)
{
static union {
struct nlmsghdr hdr;
@@ -220,10 +227,10 @@ receive_responses(const int fd, const unsigned long inode,
if (!NLMSG_OK(h, ret))
return false;
for (; NLMSG_OK(h, ret); h = NLMSG_NEXT(h, ret)) {
- if (h->nlmsg_type != SOCK_DIAG_BY_FAMILY)
+ if (h->nlmsg_type != expected_msg_type)
return false;
- const int rc = parser(proto_name, NLMSG_DATA(h),
- h->nlmsg_len, inode);
+ const int rc = parser(NLMSG_DATA(h),
+ h->nlmsg_len, inode, opaque_data);
if (rc > 0)
return true;
if (rc < 0)
@@ -234,14 +241,6 @@ receive_responses(const int fd, const unsigned long inode,
}
static bool
-inet_print(const int fd, const int family, const int protocol,
- const unsigned long inode, const char *proto_name)
-{
- return inet_send_query(fd, family, protocol)
- && receive_responses(fd, inode, proto_name, inet_parse_response);
-}
-
-static bool
unix_send_query(const int fd, const unsigned long inode)
{
struct {
@@ -264,9 +263,10 @@ unix_send_query(const int fd, const unsigned long inode)
}
static int
-unix_parse_response(const char *proto_name, const void *data,
- const int data_len, const unsigned long inode)
+unix_parse_response(const void *data, const int data_len,
+ const unsigned long inode, void *opaque_data)
{
+ const char *proto_name = opaque_data;
const struct unix_diag_msg *diag_msg = data;
struct rtattr *attr;
int rta_len = data_len - NLMSG_LENGTH(sizeof(*diag_msg));
@@ -337,7 +337,7 @@ unix_parse_response(const char *proto_name, const void *data,
peer_str, path_str) < 0)
return -1;
- return cache_and_print_inode_details(inode, details);
+ return cache_inode_details(inode, details);
}
static bool
@@ -362,9 +362,10 @@ netlink_send_query(const int fd, const unsigned long inode)
}
static int
-netlink_parse_response(const char *proto_name, const void *data,
- const int data_len, const unsigned long inode)
+netlink_parse_response(const void *data, const int data_len,
+ const unsigned long inode, void *opaque_data)
{
+ const char *proto_name = opaque_data;
const struct netlink_diag_msg *const diag_msg = data;
const char *netlink_proto;
char *details;
@@ -381,12 +382,7 @@ netlink_parse_response(const char *proto_name, const void *data,
diag_msg->ndiag_protocol);
if (netlink_proto) {
- static const char netlink_prefix[] = "NETLINK_";
- const size_t netlink_prefix_len =
- sizeof(netlink_prefix) -1;
- if (strncmp(netlink_proto, netlink_prefix,
- netlink_prefix_len) == 0)
- netlink_proto += netlink_prefix_len;
+ netlink_proto = STR_STRIP_PREFIX(netlink_proto, "NETLINK_");
if (asprintf(&details, "%s:[%s:%u]", proto_name,
netlink_proto, diag_msg->ndiag_portid) < 0)
return -1;
@@ -396,58 +392,71 @@ netlink_parse_response(const char *proto_name, const void *data,
return -1;
}
- return cache_and_print_inode_details(inode, details);
+ return cache_inode_details(inode, details);
}
-static bool
-unix_print(const int fd, const unsigned long inode)
+static const char *
+unix_get(const int fd, const unsigned long inode)
{
return unix_send_query(fd, inode)
- && receive_responses(fd, inode, "UNIX", unix_parse_response);
+ && receive_responses(fd, inode, SOCK_DIAG_BY_FAMILY,
+ unix_parse_response, (void *) "UNIX")
+ ? get_sockaddr_by_inode_cached(inode) : NULL;
}
-static bool
-tcp_v4_print(const int fd, const unsigned long inode)
+static const char *
+inet_get(const int fd, const int family, const int protocol,
+ const unsigned long inode, const char *proto_name)
{
- return inet_print(fd, AF_INET, IPPROTO_TCP, inode, "TCP");
+ return inet_send_query(fd, family, protocol)
+ && receive_responses(fd, inode, SOCK_DIAG_BY_FAMILY,
+ inet_parse_response, (void *) proto_name)
+ ? get_sockaddr_by_inode_cached(inode) : NULL;
}
-static bool
-udp_v4_print(const int fd, const unsigned long inode)
+static const char *
+tcp_v4_get(const int fd, const unsigned long inode)
{
- return inet_print(fd, AF_INET, IPPROTO_UDP, inode, "UDP");
+ return inet_get(fd, AF_INET, IPPROTO_TCP, inode, "TCP");
}
-static bool
-tcp_v6_print(const int fd, const unsigned long inode)
+static const char *
+udp_v4_get(const int fd, const unsigned long inode)
{
- return inet_print(fd, AF_INET6, IPPROTO_TCP, inode, "TCPv6");
+ return inet_get(fd, AF_INET, IPPROTO_UDP, inode, "UDP");
}
-static bool
-udp_v6_print(const int fd, const unsigned long inode)
+static const char *
+tcp_v6_get(const int fd, const unsigned long inode)
{
- return inet_print(fd, AF_INET6, IPPROTO_UDP, inode, "UDPv6");
+ return inet_get(fd, AF_INET6, IPPROTO_TCP, inode, "TCPv6");
}
-static bool
-netlink_print(const int fd, const unsigned long inode)
+static const char *
+udp_v6_get(const int fd, const unsigned long inode)
+{
+ return inet_get(fd, AF_INET6, IPPROTO_UDP, inode, "UDPv6");
+}
+
+static const char *
+netlink_get(const int fd, const unsigned long inode)
{
return netlink_send_query(fd, inode)
- && receive_responses(fd, inode, "NETLINK",
- netlink_parse_response);
+ && receive_responses(fd, inode, SOCK_DIAG_BY_FAMILY,
+ netlink_parse_response, (void *) "NETLINK")
+ ? get_sockaddr_by_inode_cached(inode) : NULL;
}
static const struct {
const char *const name;
- bool (*const print)(int, unsigned long);
+ const char * (*const get)(int, unsigned long);
} protocols[] = {
- [SOCK_PROTO_UNIX] = { "UNIX", unix_print },
- [SOCK_PROTO_TCP] = { "TCP", tcp_v4_print },
- [SOCK_PROTO_UDP] = { "UDP", udp_v4_print },
- [SOCK_PROTO_TCPv6] = { "TCPv6", tcp_v6_print },
- [SOCK_PROTO_UDPv6] = { "UDPv6", udp_v6_print },
- [SOCK_PROTO_NETLINK] = { "NETLINK", netlink_print }
+ [SOCK_PROTO_UNIX] = { "UNIX", unix_get },
+ [SOCK_PROTO_TCP] = { "TCP", tcp_v4_get },
+ [SOCK_PROTO_UDP] = { "UDP", udp_v4_get },
+ [SOCK_PROTO_TCPv6] = { "TCPv6", tcp_v6_get },
+ [SOCK_PROTO_UDPv6] = { "UDPv6", udp_v6_get },
+ [SOCK_PROTO_NETLINK] = { "NETLINK", netlink_get }
};
enum sock_proto
@@ -462,39 +471,179 @@ get_proto_by_name(const char *const name)
return SOCK_PROTO_UNKNOWN;
}
-/* Given an inode number of a socket, print out the details
- * of the ip address and port. */
-
-bool
-print_sockaddr_by_inode(const unsigned long inode, const enum sock_proto proto)
+static const char *
+get_sockaddr_by_inode_uncached(const unsigned long inode,
+ const enum sock_proto proto)
{
if ((unsigned int) proto >= ARRAY_SIZE(protocols) ||
- (proto != SOCK_PROTO_UNKNOWN && !protocols[proto].print))
- return false;
+ (proto != SOCK_PROTO_UNKNOWN && !protocols[proto].get))
+ return NULL;
const int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG);
if (fd < 0)
- return false;
- bool r = false;
+ return NULL;
+ const char *details = NULL;
if (proto != SOCK_PROTO_UNKNOWN) {
- r = protocols[proto].print(fd, inode);
- if (!r) {
- tprintf("%s:[%lu]", protocols[proto].name, inode);
- r = true;
- }
+ details = protocols[proto].get(fd, inode);
} else {
unsigned int i;
for (i = (unsigned int) SOCK_PROTO_UNKNOWN + 1;
i < ARRAY_SIZE(protocols); ++i) {
- if (!protocols[i].print)
+ if (!protocols[i].get)
continue;
- r = protocols[i].print(fd, inode);
- if (r)
+ details = protocols[i].get(fd, inode);
+ if (details)
break;
}
}
close(fd);
- return r;
+ return details;
}
+
+static bool
+print_sockaddr_by_inode_uncached(const unsigned long inode,
+ const enum sock_proto proto)
+{
+ const char *details = get_sockaddr_by_inode_uncached(inode, proto);
+
+ if (details) {
+ tprints(details);
+ return true;
+ }
+
+ if ((unsigned int) proto < ARRAY_SIZE(protocols) &&
+ protocols[proto].name) {
+ tprintf("%s:[%lu]", protocols[proto].name, inode);
+ return true;
+ }
+
+ return false;
+}
+
+/* Given an inode number of a socket, return its protocol details. */
+const char *
+get_sockaddr_by_inode(struct tcb *const tcp, const int fd,
+ const unsigned long inode)
+{
+ const char *details = get_sockaddr_by_inode_cached(inode);
+ return details ? details :
+ get_sockaddr_by_inode_uncached(inode, getfdproto(tcp, fd));
+}
+
+/* Given an inode number of a socket, print out its protocol details. */
+bool
+print_sockaddr_by_inode(struct tcb *const tcp, const int fd,
+ const unsigned long inode)
+{
+ return print_sockaddr_by_inode_cached(inode) ? true :
+ print_sockaddr_by_inode_uncached(inode, getfdproto(tcp, fd));
+}
+
+#ifdef HAVE_LINUX_GENETLINK_H
+/*
+ * Managing the cache for decoding communications of Netlink GENERIC protocol
+ *
+ * As name shown Netlink GENERIC protocol is generic protocol. The
+ * numbers of msg types used in the protocol are not defined
+ * statically. Kernel defines them on demand. So the xlat converted
+ * from header files doesn't help for decoding the protocol. Following
+ * codes are building xlat(dyxlat) at runtime.
+ */
+static bool
+genl_send_dump_families(const int fd)
+{
+ struct {
+ const struct nlmsghdr nlh;
+ struct genlmsghdr gnlh;
+ } req = {
+ .nlh = {
+ .nlmsg_len = sizeof(req),
+ .nlmsg_type = GENL_ID_CTRL,
+ .nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
+ },
+ .gnlh = {
+ .cmd = CTRL_CMD_GETFAMILY,
+ }
+ };
+ return send_query(fd, &req, sizeof(req));
+}
+
+static int
+genl_parse_families_response(const void *const data,
+ const int data_len, const unsigned long inode,
+ void *opaque_data)
+{
+ struct dyxlat *const dyxlat = opaque_data;
+ const struct genlmsghdr *const gnlh = data;
+ struct rtattr *attr;
+ int rta_len = data_len - NLMSG_LENGTH(sizeof(*gnlh));
+
+ char *name = NULL;
+ unsigned int name_len = 0;
+ uint16_t *id = NULL;
+
+ if (rta_len < 0)
+ return -1;
+ if (gnlh->cmd != CTRL_CMD_NEWFAMILY)
+ return -1;
+ if (gnlh->version != 2)
+ return -1;
+
+ for (attr = (struct rtattr *) (gnlh + 1);
+ RTA_OK(attr, rta_len);
+ attr = RTA_NEXT(attr, rta_len)) {
+ switch (attr->rta_type) {
+ case CTRL_ATTR_FAMILY_NAME:
+ if (!name) {
+ name = RTA_DATA(attr);
+ name_len = RTA_PAYLOAD(attr);
+ }
+ break;
+ case CTRL_ATTR_FAMILY_ID:
+ if (!id && RTA_PAYLOAD(attr) == sizeof(*id))
+ id = RTA_DATA(attr);
+ break;
+ }
+
+ if (name && id) {
+ dyxlat_add_pair(dyxlat, *id, name, name_len);
+ name = NULL;
+ id = NULL;
+ }
+ }
+
+ return 0;
+}
+
+const struct xlat *
+genl_families_xlat(void)
+{
+ static struct dyxlat *dyxlat;
+
+ if (!dyxlat) {
+ dyxlat = dyxlat_alloc(32);
+
+ int fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
+ if (fd < 0)
+ goto out;
+
+ if (genl_send_dump_families(fd))
+ receive_responses(fd, 0, GENL_ID_CTRL,
+ genl_parse_families_response, dyxlat);
+ close(fd);
+ }
+
+out:
+ return dyxlat_get(dyxlat);
+}
+
+#else /* !HAVE_LINUX_GENETLINK_H */
+
+const struct xlat *
+genl_families_xlat(void)
+{
+ return NULL;
+}
+#endif
diff --git a/statx.c b/statx.c
index 6e913878..c78b173d 100644
--- a/statx.c
+++ b/statx.c
@@ -26,6 +26,7 @@
*/
#include "defs.h"
+#include "print_fields.h"
#include "statx.h"
#include <sys/stat.h>
@@ -54,9 +55,6 @@ SYS_FUNC(statx)
printflags(statx_masks, tcp->u_arg[3], "STATX_???");
tprints(", ");
} else {
-#define PRINT_FIELD_U(field) \
- tprintf(", %s=%llu", #field, (unsigned long long) stx.field)
-
#define PRINT_FIELD_TIME(field) \
do { \
tprintf(", " #field "={tv_sec=%" PRId64 \
@@ -74,13 +72,13 @@ SYS_FUNC(statx)
printflags(statx_masks, stx.stx_mask, "STATX_???");
if (!abbrev(tcp))
- PRINT_FIELD_U(stx_blksize);
+ PRINT_FIELD_U(", ", stx, stx_blksize);
tprints(", stx_attributes=");
printflags(statx_attrs, stx.stx_attributes, "STATX_ATTR_???");
if (!abbrev(tcp)) {
- PRINT_FIELD_U(stx_nlink);
+ PRINT_FIELD_U(", ", stx, stx_nlink);
printuid(", stx_uid=", stx.stx_uid);
printuid(", stx_gid=", stx.stx_gid);
}
@@ -89,12 +87,12 @@ SYS_FUNC(statx)
print_symbolic_mode_t(stx.stx_mode);
if (!abbrev(tcp))
- PRINT_FIELD_U(stx_ino);
+ PRINT_FIELD_U(", ", stx, stx_ino);
- PRINT_FIELD_U(stx_size);
+ PRINT_FIELD_U(", ", stx, stx_size);
if (!abbrev(tcp)) {
- PRINT_FIELD_U(stx_blocks);
+ PRINT_FIELD_U(", ", stx, stx_blocks);
tprints(", stx_attributes_mask=");
printflags(statx_attrs, stx.stx_attributes_mask,
@@ -104,10 +102,10 @@ SYS_FUNC(statx)
PRINT_FIELD_TIME(stx_btime);
PRINT_FIELD_TIME(stx_ctime);
PRINT_FIELD_TIME(stx_mtime);
- PRINT_FIELD_U(stx_rdev_major);
- PRINT_FIELD_U(stx_rdev_minor);
- PRINT_FIELD_U(stx_dev_major);
- PRINT_FIELD_U(stx_dev_minor);
+ PRINT_FIELD_U(", ", stx, stx_rdev_major);
+ PRINT_FIELD_U(", ", stx, stx_rdev_minor);
+ PRINT_FIELD_U(", ", stx, stx_dev_major);
+ PRINT_FIELD_U(", ", stx, stx_dev_minor);
} else {
tprints(", ...");
}
diff --git a/statx.h b/statx.h
index 20372870..bd5b0477 100644
--- a/statx.h
+++ b/statx.h
@@ -40,7 +40,7 @@ typedef struct {
uint32_t stx_mask; /* What results were written [uncond] */
uint32_t stx_blksize; /* Preferred general I/O size [uncond] */
uint64_t stx_attributes; /* Flags conveying information about the file
- [uncond] */
+ [uncond] */
uint32_t stx_nlink; /* Number of hard links */
uint32_t stx_uid; /* User ID of owner */
@@ -52,7 +52,7 @@ typedef struct {
uint64_t stx_size; /* File size */
uint64_t stx_blocks; /* Number of 512-byte blocks allocated */
uint64_t stx_attributes_mask; /* Mask to show what's supported in
- stx_attributes */
+ stx_attributes */
struct_statx_timestamp stx_atime; /* Last access time */
struct_statx_timestamp stx_btime; /* File creation time */
diff --git a/strace-graph b/strace-graph
index 9056dcea..045f5e48 100755
--- a/strace-graph
+++ b/strace-graph
@@ -9,7 +9,8 @@
# The script can also handle the output with strace -t, -tt, or -ttt.
# It will add elapsed time for each process in that case.
-# This script is Copyright (C) 1998 by Richard Braakman <dark@xs4all.nl>.
+# Copyright (c) 1998 by Richard Braakman <dark@xs4all.nl>.
+# Copyright (c) 1998-2017 The strace developers.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/strace.c b/strace.c
index fc165511..955a1c9f 100644
--- a/strace.c
+++ b/strace.c
@@ -57,7 +57,7 @@ extern char *optarg;
#ifdef USE_LIBUNWIND
/* if this is true do the stack trace for every system call */
-bool stack_trace_enabled = false;
+bool stack_trace_enabled;
#endif
#define my_tkill(tid, sig) syscall(__NR_tkill, (tid), (sig))
@@ -74,27 +74,27 @@ bool stack_trace_enabled = false;
const unsigned int syscall_trap_sig = SIGTRAP | 0x80;
cflag_t cflag = CFLAG_NONE;
-unsigned int followfork = 0;
+unsigned int followfork;
unsigned int ptrace_setoptions = PTRACE_O_TRACESYSGOOD | PTRACE_O_TRACEEXEC
| PTRACE_O_TRACEEXIT;
-unsigned int xflag = 0;
-bool debug_flag = 0;
-bool Tflag = 0;
-bool iflag = 0;
-bool count_wallclock = 0;
-unsigned int qflag = 0;
-static unsigned int tflag = 0;
-static bool rflag = 0;
-static bool print_pid_pfx = 0;
+unsigned int xflag;
+bool debug_flag;
+bool Tflag;
+bool iflag;
+bool count_wallclock;
+unsigned int qflag;
+static unsigned int tflag;
+static bool rflag;
+static bool print_pid_pfx;
/* -I n */
enum {
- INTR_NOT_SET = 0,
- INTR_ANYWHERE = 1, /* don't block/ignore any signals */
- INTR_WHILE_WAIT = 2, /* block fatal signals while decoding syscall. default */
- INTR_NEVER = 3, /* block fatal signals. default if '-o FILE PROG' */
- INTR_BLOCK_TSTP_TOO = 4, /* block fatal signals and SIGTSTP (^Z) */
- NUM_INTR_OPTS
+ INTR_NOT_SET = 0,
+ INTR_ANYWHERE = 1, /* don't block/ignore any signals */
+ INTR_WHILE_WAIT = 2, /* block fatal signals while decoding syscall. default */
+ INTR_NEVER = 3, /* block fatal signals. default if '-o FILE PROG' */
+ INTR_BLOCK_TSTP_TOO = 4, /* block fatal signals and SIGTSTP (^Z) */
+ NUM_INTR_OPTS
};
static int opt_intr;
/* We play with signal mask only if this mode is active: */
@@ -112,7 +112,7 @@ static int opt_intr;
* wait() etc. Without -D, strace process gets lodged in between,
* disrupting parent<->child link.
*/
-static bool daemonized_tracer = 0;
+static bool daemonized_tracer;
#if USE_SEIZE
static int post_attach_sigstop = TCB_IGNORE_ONE_SIGSTOP;
@@ -123,18 +123,18 @@ static int post_attach_sigstop = TCB_IGNORE_ONE_SIGSTOP;
#endif
/* Sometimes we want to print only succeeding syscalls. */
-bool not_failing_only = 0;
+bool not_failing_only;
/* Show path associated with fd arguments */
-unsigned int show_fd_path = 0;
+unsigned int show_fd_path;
-static bool detach_on_execve = 0;
+static bool detach_on_execve;
static int exit_code;
-static int strace_child = 0;
-static int strace_tracer_pid = 0;
+static int strace_child;
+static int strace_tracer_pid;
-static char *username = NULL;
+static char *username;
static uid_t run_uid;
static gid_t run_gid;
@@ -142,23 +142,26 @@ unsigned int max_strlen = DEFAULT_STRLEN;
static int acolumn = DEFAULT_ACOLUMN;
static char *acolumn_spaces;
-static char *outfname = NULL;
+static char *outfname;
/* If -ff, points to stderr. Else, it's our common output log */
static FILE *shared_log;
-struct tcb *printing_tcp = NULL;
+struct tcb *printing_tcp;
static struct tcb *current_tcp;
static struct tcb **tcbtab;
static unsigned int nprocs, tcbtabsize;
-static const char *progname;
+
+#ifndef HAVE_PROGRAM_INVOCATION_NAME
+char *program_invocation_name;
+#endif
unsigned os_release; /* generated from uname()'s u.release */
static void detach(struct tcb *tcp);
static void cleanup(void);
static void interrupt(int sig);
-static sigset_t empty_set, blocked_set;
+static sigset_t start_set, blocked_set;
#ifdef HAVE_SIG_ATOMIC_T
static volatile sig_atomic_t interrupted;
@@ -191,7 +194,7 @@ static void
print_version(void)
{
printf("%s -- version %s\n"
- "Copyright (C) 1991-%s The strace developers <%s>.\n"
+ "Copyright (c) 1991-%s The strace developers <%s>.\n"
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
PACKAGE_NAME, PACKAGE_VERSION, COPYRIGHT_YEAR, PACKAGE_URL);
@@ -298,13 +301,15 @@ static void verror_msg(int err_no, const char *fmt, va_list p)
msg = NULL;
if (vasprintf(&msg, fmt, p) >= 0) {
if (err_no)
- fprintf(stderr, "%s: %s: %s\n", progname, msg, strerror(err_no));
+ fprintf(stderr, "%s: %s: %s\n",
+ program_invocation_name, msg, strerror(err_no));
else
- fprintf(stderr, "%s: %s\n", progname, msg);
+ fprintf(stderr, "%s: %s\n",
+ program_invocation_name, msg);
free(msg);
} else {
/* malloc in vasprintf failed, try it without malloc */
- fprintf(stderr, "%s: ", progname);
+ fprintf(stderr, "%s: ", program_invocation_name);
vfprintf(stderr, fmt, p);
if (err_no)
fprintf(stderr, ": %s\n", strerror(err_no));
@@ -339,7 +344,8 @@ void error_msg_and_help(const char *fmt, ...)
va_start(p, fmt);
verror_msg(0, fmt, p);
}
- fprintf(stderr, "Try '%s -h' for more information.\n", progname);
+ fprintf(stderr, "Try '%s -h' for more information.\n",
+ program_invocation_name);
die();
}
@@ -520,7 +526,7 @@ strace_fopen(const char *path)
return fp;
}
-static int popen_pid = 0;
+static int popen_pid;
#ifndef _PATH_BSHELL
# define _PATH_BSHELL "/bin/sh"
@@ -566,7 +572,7 @@ strace_popen(const char *command)
swap_uid();
fp = fdopen(fds[1], "w");
if (!fp)
- die_out_of_memory();
+ perror_msg_and_die("fdopen");
return fp;
}
@@ -690,12 +696,10 @@ printleader(struct tcb *tcp)
tprintf("%6ld.%06ld ",
(long) dtv.tv_sec, (long) dtv.tv_usec);
otv = tv;
- }
- else if (tflag > 2) {
+ } else if (tflag > 2) {
tprintf("%ld.%06ld ",
(long) tv.tv_sec, (long) tv.tv_usec);
- }
- else {
+ } else {
time_t local = tv.tv_sec;
strftime(str, sizeof(str), "%T", localtime(&local));
if (tflag > 1)
@@ -919,8 +923,7 @@ detach(struct tcb *tcp)
goto wait_loop;
if (errno != ESRCH)
perror_msg("detach: ptrace(PTRACE_INTERRUPT,%u)", tcp->pid);
- }
- else {
+ } else {
error = my_tkill(tcp->pid, SIGSTOP);
if (!error)
goto wait_loop;
@@ -1032,7 +1035,7 @@ process_opt_p_list(char *opt)
* pidof uses space as delim, pgrep uses newline. :(
*/
int pid;
- char *delim = opt + strcspn(opt, ", \n\t");
+ char *delim = opt + strcspn(opt, "\n\t ,");
char c = *delim;
*delim = '\0';
@@ -1128,7 +1131,7 @@ startup_attach(void)
* We rely on cleanup() from this point on.
*/
if (interactive)
- sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+ sigprocmask(SIG_SETMASK, &blocked_set, NULL);
if (daemonized_tracer) {
pid_t pid = fork();
@@ -1170,10 +1173,10 @@ startup_attach(void)
attach_tcb(tcp);
if (interactive) {
- sigprocmask(SIG_SETMASK, &empty_set, NULL);
+ sigprocmask(SIG_SETMASK, &start_set, NULL);
if (interrupted)
goto ret;
- sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+ sigprocmask(SIG_SETMASK, &blocked_set, NULL);
}
} /* for each tcbtab[] */
@@ -1188,7 +1191,7 @@ startup_attach(void)
ret:
if (interactive)
- sigprocmask(SIG_SETMASK, &empty_set, NULL);
+ sigprocmask(SIG_SETMASK, &start_set, NULL);
}
/* Stack-o-phobic exec helper, in the hope to work around
@@ -1200,6 +1203,7 @@ struct exec_params {
gid_t run_egid;
char **argv;
char *pathname;
+ struct sigaction child_sa;
};
static struct exec_params params_for_tracee;
@@ -1230,8 +1234,7 @@ exec_or_die(void)
if (setreuid(run_uid, params->run_euid) < 0) {
perror_msg_and_die("setreuid");
}
- }
- else if (geteuid() != 0)
+ } else if (geteuid() != 0)
if (setreuid(run_uid, run_uid) < 0) {
perror_msg_and_die("setreuid");
}
@@ -1254,6 +1257,9 @@ exec_or_die(void)
alarm(0);
}
+ if (params_for_tracee.child_sa.sa_handler != SIG_DFL)
+ sigaction(SIGCHLD, &params_for_tracee.child_sa, NULL);
+
execv(params->pathname, params->argv);
perror_msg_and_die("exec");
}
@@ -1360,15 +1366,13 @@ startup_child(char **argv)
if (colon) {
n = colon - path;
m = n + 1;
- }
- else
+ } else
m = n = strlen(path);
if (n == 0) {
if (!getcwd(pathname, PATH_MAX))
continue;
len = strlen(pathname);
- }
- else if (n > sizeof pathname - 1)
+ } else if (n > sizeof(pathname) - 1)
continue;
else {
strncpy(pathname, path, n);
@@ -1462,8 +1466,7 @@ startup_child(char **argv)
| TCB_SKIP_DETACH_ON_FIRST_EXEC
| (NOMMU_SYSTEM ? 0 : (TCB_HIDE_LOG | post_attach_sigstop));
newoutf(tcp);
- }
- else {
+ } else {
/* With -D, we are *child* here, the tracee is our parent. */
strace_child = strace_tracer_pid;
strace_tracer_pid = getpid();
@@ -1578,12 +1581,12 @@ get_os_release(void)
error_msg_and_die("Bad OS release string: '%s'", u.release);
/* Note: this open-codes KERNEL_VERSION(): */
rel = (rel << 8) | atoi(p);
- if (rel >= KERNEL_VERSION(1,0,0))
+ if (rel >= KERNEL_VERSION(1, 0, 0))
break;
while (*p >= '0' && *p <= '9')
p++;
if (*p != '.') {
- if (rel >= KERNEL_VERSION(0,1,0)) {
+ if (rel >= KERNEL_VERSION(0, 1, 0)) {
/* "X.Y-something" means "X.Y.0" */
rel <<= 8;
break;
@@ -1595,6 +1598,17 @@ get_os_release(void)
return rel;
}
+static void
+set_sigaction(int signo, void (*sighandler)(int), struct sigaction *oldact)
+{
+ /* if signal handler is a function, add the signal to blocked_set */
+ if (sighandler != SIG_IGN && sighandler != SIG_DFL)
+ sigaddset(&blocked_set, signo);
+
+ const struct sigaction sa = { .sa_handler = sighandler };
+ sigaction(signo, &sa, oldact);
+}
+
/*
* Initialization part of main() was eating much stack (~0.5k),
* which was unused after init.
@@ -1608,16 +1622,12 @@ init(int argc, char *argv[])
{
int c, i;
int optF = 0;
- struct sigaction sa;
- progname = argv[0] ? argv[0] : "strace";
-
- /* Make sure SIGCHLD has the default action so that waitpid
- definitely works without losing track of children. The user
- should not have given us a bogus state to inherit, but he might
- have. Arguably we should detect SIG_IGN here and pass it on
- to children, but probably noone really needs that. */
- signal(SIGCHLD, SIG_DFL);
+ if (!program_invocation_name || !*program_invocation_name) {
+ static char name[] = "strace";
+ program_invocation_name =
+ (argv[0] && *argv[0]) ? argv[0] : name;
+ }
strace_tracer_pid = getpid();
@@ -1733,7 +1743,7 @@ init(int argc, char *argv[])
break;
case 's':
i = string_to_uint(optarg);
- if (i < 0)
+ if (i < 0 || (unsigned int) i > -1U / 4)
error_opt_arg(c, optarg);
max_strlen = i;
break;
@@ -1750,7 +1760,7 @@ init(int argc, char *argv[])
#endif
case 'E':
if (putenv(optarg) < 0)
- die_out_of_memory();
+ perror_msg_and_die("putenv");
break;
case 'I':
opt_intr = string_to_uint_upto(optarg, NUM_INTR_OPTS - 1);
@@ -1762,14 +1772,11 @@ init(int argc, char *argv[])
break;
}
}
- argv += optind;
- /* argc -= optind; - no need, argc is not used below */
- acolumn_spaces = xmalloc(acolumn + 1);
- memset(acolumn_spaces, ' ', acolumn);
- acolumn_spaces[acolumn] = '\0';
+ argv += optind;
+ argc -= optind;
- if (!argv[0] && !nprocs) {
+ if (argc < 0 || (!argv[0] && !nprocs)) {
error_msg_and_help("must have PROG [ARGS] or -p PID");
}
@@ -1811,6 +1818,15 @@ init(int argc, char *argv[])
tflag = 1;
}
+ acolumn_spaces = xmalloc(acolumn + 1);
+ memset(acolumn_spaces, ' ', acolumn);
+ acolumn_spaces[acolumn] = '\0';
+
+ sigprocmask(SIG_SETMASK, NULL, &start_set);
+ memcpy(&blocked_set, &start_set, sizeof(blocked_set));
+
+ set_sigaction(SIGCHLD, SIG_DFL, &params_for_tracee.child_sa);
+
#ifdef USE_LIBUNWIND
if (stack_trace_enabled) {
unsigned int tcbi;
@@ -1835,8 +1851,7 @@ init(int argc, char *argv[])
}
run_uid = pent->pw_uid;
run_gid = pent->pw_gid;
- }
- else {
+ } else {
run_uid = getuid();
run_gid = getgid();
}
@@ -1873,8 +1888,7 @@ init(int argc, char *argv[])
if (followfork >= 2)
error_msg_and_help("piping the output and -ff are mutually exclusive");
shared_log = strace_popen(outfname + 1);
- }
- else if (followfork < 2)
+ } else if (followfork < 2)
shared_log = strace_fopen(outfname);
} else {
/* -ff without -o FILE is the same as single -f */
@@ -1885,6 +1899,15 @@ init(int argc, char *argv[])
if (!outfname || outfname[0] == '|' || outfname[0] == '!') {
setvbuf(shared_log, NULL, _IOLBF, 0);
}
+
+ /*
+ * argv[0] -pPID -oFILE Default interactive setting
+ * yes * 0 INTR_WHILE_WAIT
+ * no 1 0 INTR_WHILE_WAIT
+ * yes * 1 INTR_NEVER
+ * no 1 1 INTR_WHILE_WAIT
+ */
+
if (outfname && argv[0]) {
if (!opt_intr)
opt_intr = INTR_NEVER;
@@ -1894,17 +1917,8 @@ init(int argc, char *argv[])
if (!opt_intr)
opt_intr = INTR_WHILE_WAIT;
- /* argv[0] -pPID -oFILE Default interactive setting
- * yes * 0 INTR_WHILE_WAIT
- * no 1 0 INTR_WHILE_WAIT
- * yes * 1 INTR_NEVER
- * no 1 1 INTR_WHILE_WAIT
- */
-
- sigemptyset(&empty_set);
- sigemptyset(&blocked_set);
-
- /* startup_child() must be called before the signal handlers get
+ /*
+ * startup_child() must be called before the signal handlers get
* installed below as they are inherited into the spawned process.
* Also we do not need to be protected by them as during interruption
* in the startup_child() mode we kill the spawned process anyway.
@@ -1913,35 +1927,24 @@ init(int argc, char *argv[])
startup_child(argv);
}
- sa.sa_handler = SIG_IGN;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- sigaction(SIGTTOU, &sa, NULL); /* SIG_IGN */
- sigaction(SIGTTIN, &sa, NULL); /* SIG_IGN */
+ set_sigaction(SIGTTOU, SIG_IGN, NULL);
+ set_sigaction(SIGTTIN, SIG_IGN, NULL);
if (opt_intr != INTR_ANYWHERE) {
if (opt_intr == INTR_BLOCK_TSTP_TOO)
- sigaction(SIGTSTP, &sa, NULL); /* SIG_IGN */
+ set_sigaction(SIGTSTP, SIG_IGN, NULL);
/*
* In interactive mode (if no -o OUTFILE, or -p PID is used),
* fatal signals are blocked while syscall stop is processed,
* and acted on in between, when waiting for new syscall stops.
* In non-interactive mode, signals are ignored.
*/
- if (opt_intr == INTR_WHILE_WAIT) {
- sigaddset(&blocked_set, SIGHUP);
- sigaddset(&blocked_set, SIGINT);
- sigaddset(&blocked_set, SIGQUIT);
- sigaddset(&blocked_set, SIGPIPE);
- sigaddset(&blocked_set, SIGTERM);
- sa.sa_handler = interrupt;
- }
- /* SIG_IGN, or set handler for these */
- sigaction(SIGHUP, &sa, NULL);
- sigaction(SIGINT, &sa, NULL);
- sigaction(SIGQUIT, &sa, NULL);
- sigaction(SIGPIPE, &sa, NULL);
- sigaction(SIGTERM, &sa, NULL);
+ set_sigaction(SIGHUP, interactive ? interrupt : SIG_IGN, NULL);
+ set_sigaction(SIGINT, interactive ? interrupt : SIG_IGN, NULL);
+ set_sigaction(SIGQUIT, interactive ? interrupt : SIG_IGN, NULL);
+ set_sigaction(SIGPIPE, interactive ? interrupt : SIG_IGN, NULL);
+ set_sigaction(SIGTERM, interactive ? interrupt : SIG_IGN, NULL);
}
+
if (nprocs != 0 || daemonized_tracer)
startup_attach();
@@ -2025,11 +2028,6 @@ print_debug_info(const int pid, int status)
sprintf(buf, "WIFEXITED,exitcode=%u", WEXITSTATUS(status));
if (WIFSTOPPED(status))
sprintf(buf, "WIFSTOPPED,sig=%s", signame(WSTOPSIG(status)));
-#ifdef WIFCONTINUED
- /* Should never be seen */
- if (WIFCONTINUED(status))
- strcpy(buf, "WIFCONTINUED");
-#endif
evbuf[0] = '\0';
if (event != 0) {
static const char *const event_names[] = {
@@ -2251,25 +2249,79 @@ print_event_exit(struct tcb *tcp)
line_ended();
}
-/* Returns true iff the main trace loop has to continue. */
-static bool
-trace(void)
+enum trace_event {
+ /* Break the main loop. */
+ TE_BREAK,
+
+ /* Call next_event() again. */
+ TE_NEXT,
+
+ /* Restart the tracee with signal 0 and call next_event() again. */
+ TE_RESTART,
+
+ /*
+ * For all the events below, current_tcp is set to current tracee's
+ * tcb. All the suggested actions imply that you want to continue
+ * tracing of the current tracee; alternatively, you can detach it.
+ */
+
+ /*
+ * Syscall entry or exit.
+ * Restart the tracee with signal 0, or with an injected signal number.
+ */
+ TE_SYSCALL_STOP,
+
+ /*
+ * Tracee received signal with number WSTOPSIG(*pstatus); signal info
+ * is written to *si. Restart the tracee (with that signal number
+ * if you want to deliver it).
+ */
+ TE_SIGNAL_DELIVERY_STOP,
+
+ /*
+ * Tracee was killed by a signal with number WTERMSIG(*pstatus).
+ */
+ TE_SIGNALLED,
+
+ /*
+ * Tracee was stopped by a signal with number WSTOPSIG(*pstatus).
+ * Restart the tracee with that signal number.
+ */
+ TE_GROUP_STOP,
+
+ /*
+ * Tracee exited with status WEXITSTATUS(*pstatus).
+ */
+ TE_EXITED,
+
+ /*
+ * Tracee is going to perform execve().
+ * Restart the tracee with signal 0.
+ */
+ TE_STOP_BEFORE_EXECVE,
+
+ /*
+ * Tracee is going to terminate.
+ * Restart the tracee with signal 0.
+ */
+ TE_STOP_BEFORE_EXIT,
+};
+
+static enum trace_event
+next_event(int *pstatus, siginfo_t *si)
{
int pid;
int wait_errno;
int status;
- bool stopped;
- unsigned int sig;
- unsigned int event;
struct tcb *tcp;
struct rusage ru;
if (interrupted)
- return false;
+ return TE_BREAK;
/*
* Used to exit simply when nprocs hits zero, but in this testcase:
- * int main() { _exit(!!fork()); }
+ * int main(void) { _exit(!!fork()); }
* under strace -f, parent sometimes (rarely) manages
* to exit before we see the first stop of the child,
* and we are losing track of it:
@@ -2285,21 +2337,21 @@ trace(void)
* on exit. Oh well...
*/
if (nprocs == 0)
- return false;
+ return TE_BREAK;
}
if (interactive)
- sigprocmask(SIG_SETMASK, &empty_set, NULL);
- pid = wait4(-1, &status, __WALL, (cflag ? &ru : NULL));
+ sigprocmask(SIG_SETMASK, &start_set, NULL);
+ pid = wait4(-1, pstatus, __WALL, (cflag ? &ru : NULL));
wait_errno = errno;
if (interactive)
- sigprocmask(SIG_BLOCK, &blocked_set, NULL);
+ sigprocmask(SIG_SETMASK, &blocked_set, NULL);
if (pid < 0) {
if (wait_errno == EINTR)
- return true;
+ return TE_NEXT;
if (nprocs == 0 && wait_errno == ECHILD)
- return false;
+ return TE_BREAK;
/*
* If nprocs > 0, ECHILD is not expected,
* treat it as any other error here:
@@ -2308,10 +2360,12 @@ trace(void)
perror_msg_and_die("wait4(__WALL)");
}
+ status = *pstatus;
+
if (pid == popen_pid) {
if (!WIFSTOPPED(status))
popen_pid = 0;
- return true;
+ return TE_NEXT;
}
if (debug_flag)
@@ -2323,42 +2377,11 @@ trace(void)
if (!tcp) {
tcp = maybe_allocate_tcb(pid, status);
if (!tcp)
- return true;
+ return TE_NEXT;
}
clear_regs();
- event = (unsigned int) status >> 16;
-
- if (event == PTRACE_EVENT_EXEC) {
- /*
- * Under Linux, execve changes pid to thread leader's pid,
- * and we see this changed pid on EVENT_EXEC and later,
- * execve sysexit. Leader "disappears" without exit
- * notification. Let user know that, drop leader's tcb,
- * and fix up pid in execve thread's tcb.
- * Effectively, execve thread's tcb replaces leader's tcb.
- *
- * BTW, leader is 'stuck undead' (doesn't report WIFEXITED
- * on exit syscall) in multithreaded programs exactly
- * in order to handle this case.
- *
- * PTRACE_GETEVENTMSG returns old pid starting from Linux 3.0.
- * On 2.6 and earlier, it can return garbage.
- */
- if (os_release >= KERNEL_VERSION(3,0,0))
- tcp = maybe_switch_tcbs(tcp, pid);
-
- if (detach_on_execve) {
- if (tcp->flags & TCB_SKIP_DETACH_ON_FIRST_EXEC) {
- tcp->flags &= ~TCB_SKIP_DETACH_ON_FIRST_EXEC;
- } else {
- detach(tcp); /* do "-b execve" thingy */
- return true;
- }
- }
- }
-
/* Set current output file */
current_tcp = tcp;
@@ -2367,160 +2390,218 @@ trace(void)
tcp->stime = ru.ru_stime;
}
- if (WIFSIGNALED(status)) {
- print_signalled(tcp, pid, status);
- droptcb(tcp);
- return true;
- }
+ if (WIFSIGNALED(status))
+ return TE_SIGNALLED;
- if (WIFEXITED(status)) {
- print_exited(tcp, pid, status);
- droptcb(tcp);
- return true;
- }
+ if (WIFEXITED(status))
+ return TE_EXITED;
- if (!WIFSTOPPED(status)) {
- /*
- * Neither signalled, exited or stopped.
- * How could that be?
- */
- error_msg("pid %u not stopped!", pid);
- droptcb(tcp);
- return true;
- }
+ /*
+ * As WCONTINUED flag has not been specified to wait4,
+ * it cannot be WIFCONTINUED(status), so the only case
+ * that remains is WIFSTOPPED(status).
+ */
/* Is this the very first time we see this tracee stopped? */
- if (tcp->flags & TCB_STARTUP) {
+ if (tcp->flags & TCB_STARTUP)
startup_tcb(tcp);
- }
- sig = WSTOPSIG(status);
+ const unsigned int sig = WSTOPSIG(status);
+ const unsigned int event = (unsigned int) status >> 16;
switch (event) {
- case 0:
- break;
- case PTRACE_EVENT_EXIT:
- print_event_exit(tcp);
- goto restart_tracee_with_sig_0;
-#if USE_SEIZE
- case PTRACE_EVENT_STOP:
+ case 0:
+ /*
+ * Is this post-attach SIGSTOP?
+ * Interestingly, the process may stop
+ * with STOPSIG equal to some other signal
+ * than SIGSTOP if we happened to attach
+ * just before the process takes a signal.
+ */
+ if (sig == SIGSTOP && (tcp->flags & TCB_IGNORE_ONE_SIGSTOP)) {
+ if (debug_flag)
+ error_msg("ignored SIGSTOP on pid %d", tcp->pid);
+ tcp->flags &= ~TCB_IGNORE_ONE_SIGSTOP;
+ return TE_RESTART;
+ } else if (sig == syscall_trap_sig) {
+ return TE_SYSCALL_STOP;
+ } else {
+ *si = (siginfo_t) {};
/*
- * PTRACE_INTERRUPT-stop or group-stop.
- * PTRACE_INTERRUPT-stop has sig == SIGTRAP here.
+ * True if tracee is stopped by signal
+ * (as opposed to "tracee received signal").
+ * TODO: shouldn't we check for errno == EINVAL too?
+ * We can get ESRCH instead, you know...
*/
- switch (sig) {
- case SIGSTOP:
- case SIGTSTP:
- case SIGTTIN:
- case SIGTTOU:
- stopped = true;
- goto show_stopsig;
- }
- /* fall through */
+ bool stopped = ptrace(PTRACE_GETSIGINFO, pid, 0, si) < 0;
+ return stopped ? TE_GROUP_STOP : TE_SIGNAL_DELIVERY_STOP;
+ }
+ break;
+#if USE_SEIZE
+ case PTRACE_EVENT_STOP:
+ /*
+ * PTRACE_INTERRUPT-stop or group-stop.
+ * PTRACE_INTERRUPT-stop has sig == SIGTRAP here.
+ */
+ switch (sig) {
+ case SIGSTOP:
+ case SIGTSTP:
+ case SIGTTIN:
+ case SIGTTOU:
+ return TE_GROUP_STOP;
+ }
+ return TE_RESTART;
#endif
- default:
- goto restart_tracee_with_sig_0;
+ case PTRACE_EVENT_EXEC:
+ return TE_STOP_BEFORE_EXECVE;
+ case PTRACE_EVENT_EXIT:
+ return TE_STOP_BEFORE_EXIT;
+ default:
+ return TE_RESTART;
}
+}
- /*
- * Is this post-attach SIGSTOP?
- * Interestingly, the process may stop
- * with STOPSIG equal to some other signal
- * than SIGSTOP if we happend to attach
- * just before the process takes a signal.
- */
- if (sig == SIGSTOP && (tcp->flags & TCB_IGNORE_ONE_SIGSTOP)) {
- if (debug_flag)
- error_msg("ignored SIGSTOP on pid %d", tcp->pid);
- tcp->flags &= ~TCB_IGNORE_ONE_SIGSTOP;
- goto restart_tracee_with_sig_0;
+static int
+trace_syscall(struct tcb *tcp, unsigned int *sig)
+{
+ if (entering(tcp)) {
+ int res = syscall_entering_decode(tcp);
+ switch (res) {
+ case 0:
+ return 0;
+ case 1:
+ res = syscall_entering_trace(tcp, sig);
+ }
+ syscall_entering_finish(tcp, res);
+ return res;
+ } else {
+ struct timeval tv = {};
+ int res = syscall_exiting_decode(tcp, &tv);
+ if (res != 0) {
+ res = syscall_exiting_trace(tcp, tv, res);
+ }
+ syscall_exiting_finish(tcp);
+ return res;
}
+}
- if (sig != syscall_trap_sig) {
- siginfo_t si = {};
+/* Returns true iff the main trace loop has to continue. */
+static bool
+dispatch_event(enum trace_event ret, int *pstatus, siginfo_t *si)
+{
+ unsigned int restart_op = PTRACE_SYSCALL;
+ unsigned int restart_sig = 0;
- /*
- * True if tracee is stopped by signal
- * (as opposed to "tracee received signal").
- * TODO: shouldn't we check for errno == EINVAL too?
- * We can get ESRCH instead, you know...
- */
- stopped = ptrace(PTRACE_GETSIGINFO, pid, 0, &si) < 0;
-#if USE_SEIZE
-show_stopsig:
-#endif
- print_stopped(tcp, stopped ? NULL : &si, sig);
+ switch (ret) {
+ case TE_BREAK:
+ return false;
+
+ case TE_NEXT:
+ return true;
+
+ case TE_RESTART:
+ break;
- if (!stopped)
- /* It's signal-delivery-stop. Inject the signal */
- goto restart_tracee;
+ case TE_SYSCALL_STOP:
+ if (trace_syscall(current_tcp, &restart_sig) < 0) {
+ /*
+ * ptrace() failed in trace_syscall().
+ * Likely a result of process disappearing mid-flight.
+ * Observed case: exit_group() or SIGKILL terminating
+ * all processes in thread group.
+ * We assume that ptrace error was caused by process death.
+ * We used to detach(current_tcp) here, but since we no
+ * longer implement "detach before death" policy/hack,
+ * we can let this process to report its death to us
+ * normally, via WIFEXITED or WIFSIGNALED wait status.
+ */
+ return true;
+ }
+ break;
+
+ case TE_SIGNAL_DELIVERY_STOP:
+ restart_sig = WSTOPSIG(*pstatus);
+ print_stopped(current_tcp, si, restart_sig);
+ break;
+
+ case TE_SIGNALLED:
+ print_signalled(current_tcp, current_tcp->pid, *pstatus);
+ droptcb(current_tcp);
+ return true;
- /* It's group-stop */
+ case TE_GROUP_STOP:
+ restart_sig = WSTOPSIG(*pstatus);
+ print_stopped(current_tcp, NULL, restart_sig);
if (use_seize) {
/*
* This ends ptrace-stop, but does *not* end group-stop.
- * This makes stopping signals work properly on straced process
- * (that is, process really stops. It used to continue to run).
+ * This makes stopping signals work properly on straced
+ * process (that is, process really stops. It used to
+ * continue to run).
*/
- if (ptrace_restart(PTRACE_LISTEN, tcp, 0) < 0) {
- /* Note: ptrace_restart emitted error message */
- exit_code = 1;
- return false;
- }
- return true;
+ restart_op = PTRACE_LISTEN;
+ restart_sig = 0;
}
- /* We don't have PTRACE_LISTEN support... */
- goto restart_tracee;
- }
+ break;
- /* We handled quick cases, we are permitted to interrupt now. */
- if (interrupted)
- return false;
+ case TE_EXITED:
+ print_exited(current_tcp, current_tcp->pid, *pstatus);
+ droptcb(current_tcp);
+ return true;
- /*
- * This should be syscall entry or exit.
- * Handle it.
- */
- sig = 0;
- if (trace_syscall(tcp, &sig) < 0) {
+ case TE_STOP_BEFORE_EXECVE:
/*
- * ptrace() failed in trace_syscall().
- * Likely a result of process disappearing mid-flight.
- * Observed case: exit_group() or SIGKILL terminating
- * all processes in thread group.
- * We assume that ptrace error was caused by process death.
- * We used to detach(tcp) here, but since we no longer
- * implement "detach before death" policy/hack,
- * we can let this process to report its death to us
- * normally, via WIFEXITED or WIFSIGNALED wait status.
+ * Under Linux, execve changes pid to thread leader's pid,
+ * and we see this changed pid on EVENT_EXEC and later,
+ * execve sysexit. Leader "disappears" without exit
+ * notification. Let user know that, drop leader's tcb,
+ * and fix up pid in execve thread's tcb.
+ * Effectively, execve thread's tcb replaces leader's tcb.
+ *
+ * BTW, leader is 'stuck undead' (doesn't report WIFEXITED
+ * on exit syscall) in multithreaded programs exactly
+ * in order to handle this case.
+ *
+ * PTRACE_GETEVENTMSG returns old pid starting from Linux 3.0.
+ * On 2.6 and earlier, it can return garbage.
*/
- return true;
+ if (os_release >= KERNEL_VERSION(3, 0, 0))
+ current_tcp = maybe_switch_tcbs(current_tcp, current_tcp->pid);
+
+ if (detach_on_execve) {
+ if (current_tcp->flags & TCB_SKIP_DETACH_ON_FIRST_EXEC) {
+ current_tcp->flags &= ~TCB_SKIP_DETACH_ON_FIRST_EXEC;
+ } else {
+ detach(current_tcp); /* do "-b execve" thingy */
+ return true;
+ }
+ }
+ break;
+
+ case TE_STOP_BEFORE_EXIT:
+ print_event_exit(current_tcp);
+ break;
}
- goto restart_tracee;
-restart_tracee_with_sig_0:
- sig = 0;
+ /* We handled quick cases, we are permitted to interrupt now. */
+ if (interrupted)
+ return false;
-restart_tracee:
- if (ptrace_restart(PTRACE_SYSCALL, tcp, sig) < 0) {
+ if (ptrace_restart(restart_op, current_tcp, restart_sig) < 0) {
/* Note: ptrace_restart emitted error message */
exit_code = 1;
return false;
}
-
return true;
}
-int
-main(int argc, char *argv[])
-{
- init(argc, argv);
-
- exit_code = !nprocs;
-
- while (trace())
- ;
+#ifdef ENABLE_COVERAGE_GCOV
+extern void __gcov_flush(void);
+#endif
+static void ATTRIBUTE_NORETURN
+terminate(void)
+{
cleanup();
fflush(NULL);
if (shared_log != stderr)
@@ -2537,11 +2618,37 @@ main(int argc, char *argv[])
/* Child was killed by a signal, mimic that. */
exit_code &= 0xff;
signal(exit_code, SIG_DFL);
+#ifdef ENABLE_COVERAGE_GCOV
+ __gcov_flush();
+#endif
raise(exit_code);
+
+ /* Unblock the signal. */
+ sigset_t mask;
+ sigemptyset(&mask);
+ sigaddset(&mask, exit_code);
+#ifdef ENABLE_COVERAGE_GCOV
+ __gcov_flush();
+#endif
+ sigprocmask(SIG_UNBLOCK, &mask, NULL);
+
/* Paranoia - what if this signal is not fatal?
Exit with 128 + signo then. */
exit_code += 128;
}
+ exit(exit_code);
+}
+
+int
+main(int argc, char *argv[])
+{
+ init(argc, argv);
- return exit_code;
+ exit_code = !nprocs;
+
+ int status;
+ siginfo_t si;
+ while (dispatch_event(next_event(&status, &si), &status, &si))
+ ;
+ terminate();
}
diff --git a/strace.spec b/strace.spec
index 1c27aa47..963b2f29 100644
--- a/strace.spec
+++ b/strace.spec
@@ -1,6 +1,6 @@
Summary: Tracks and displays system calls associated with a running process
Name: strace
-Version: 4.17
+Version: 4.18
Release: 1%{?dist}
License: BSD
Group: Development/Debuggers
@@ -101,8 +101,11 @@ echo 'END OF TEST SUITE INFORMATION'
%endif
%changelog
-* Thu May 25 2017 strace-devel@lists.sourceforge.net - 4.17-1
-- strace 4.17 snapshot.
+* Wed Jul 05 2017 strace-devel@lists.sourceforge.net - 4.18-1
+- strace 4.18 snapshot.
+
+* Wed May 24 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.17-1
+- v4.16 -> v4.17.
* Tue Feb 14 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.16-1
- v4.15 -> v4.16.
diff --git a/strace.spec.in b/strace.spec.in
index 6fc26897..76f28bbb 100644
--- a/strace.spec.in
+++ b/strace.spec.in
@@ -104,6 +104,9 @@ echo 'END OF TEST SUITE INFORMATION'
* @RPM_CHANGELOGTIME@ @PACKAGE_BUGREPORT@ - @PACKAGE_VERSION@-1
- @PACKAGE_STRING@ snapshot.
+* Wed May 24 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.17-1
+- v4.16 -> v4.17.
+
* Tue Feb 14 2017 Dmitry V. Levin <ldv@altlinux.org> - 4.16-1
- v4.15 -> v4.16.
diff --git a/syscall.c b/syscall.c
index a34f640e..02626c73 100644
--- a/syscall.c
+++ b/syscall.c
@@ -651,25 +651,29 @@ tamper_with_syscall_exiting(struct tcb *tcp)
return 0;
}
-static int
-trace_syscall_entering(struct tcb *tcp, unsigned int *sig)
+/*
+ * Returns:
+ * 0: "ignore this ptrace stop", bail out silently.
+ * 1: ok, decoded; call
+ * syscall_entering_finish(tcp, syscall_entering_trace(tcp, ...)).
+ * other: error; call syscall_entering_finish(tcp, res), where res is the value
+ * returned.
+ */
+int
+syscall_entering_decode(struct tcb *tcp)
{
int res = get_scno(tcp);
if (res == 0)
return res;
-
int scno_good = res;
- if (res == 1)
- res = get_syscall_args(tcp);
-
- if (res != 1) {
+ if (res != 1 || (res = get_syscall_args(tcp)) != 1) {
printleader(tcp);
tprintf("%s(", scno_good == 1 ? tcp->s_ent->sys_name : "????");
/*
* " <unavailable>" will be added later by the code which
* detects ptrace errors.
*/
- goto ret;
+ return res;
}
#ifdef LINUX_MIPSO32
@@ -692,6 +696,12 @@ trace_syscall_entering(struct tcb *tcp, unsigned int *sig)
}
#endif
+ return 1;
+}
+
+int
+syscall_entering_trace(struct tcb *tcp, unsigned int *sig)
+{
/* Restrain from fault injection while the trace executes strace code. */
if (hide_log(tcp)) {
tcp->qual_flg &= ~QUAL_INJECT;
@@ -710,24 +720,21 @@ trace_syscall_entering(struct tcb *tcp, unsigned int *sig)
if (!(tcp->qual_flg & QUAL_TRACE)
|| (tracing_paths && !pathtrace_match(tcp))
) {
- tcp->flags |= TCB_INSYSCALL | TCB_FILTERED;
- tcp->sys_func_rval = 0;
+ tcp->flags |= TCB_FILTERED;
return 0;
}
tcp->flags &= ~TCB_FILTERED;
if (hide_log(tcp)) {
- res = 0;
- goto ret;
+ return 0;
}
if (tcp->qual_flg & QUAL_INJECT)
tamper_with_syscall_entering(tcp, sig);
if (cflag == CFLAG_ONLY_STATS) {
- res = 0;
- goto ret;
+ return 0;
}
#ifdef USE_LIBUNWIND
@@ -739,19 +746,20 @@ trace_syscall_entering(struct tcb *tcp, unsigned int *sig)
printleader(tcp);
tprintf("%s(", tcp->s_ent->sys_name);
- if (tcp->qual_flg & QUAL_RAW)
- res = printargs(tcp);
- else
- res = tcp->s_ent->sys_func(tcp);
-
+ int res = (tcp->qual_flg & QUAL_RAW)
+ ? printargs(tcp) : tcp->s_ent->sys_func(tcp);
fflush(tcp->outf);
- ret:
+ return res;
+}
+
+void
+syscall_entering_finish(struct tcb *tcp, int res)
+{
tcp->flags |= TCB_INSYSCALL;
tcp->sys_func_rval = res;
/* Measure the entrance time as late as possible to avoid errors. */
- if (Tflag || cflag)
+ if ((Tflag || cflag) && !filtered(tcp))
gettimeofday(&tcp->etime, NULL);
- return res;
}
static bool
@@ -760,14 +768,20 @@ syscall_tampered(struct tcb *tcp)
return tcp->flags & TCB_TAMPERED;
}
-static int
-trace_syscall_exiting(struct tcb *tcp)
+/* Returns:
+ * 0: "bail out".
+ * 1: ok.
+ * -1: error in one of ptrace ops.
+ *
+ * If not 0, call syscall_exiting_trace(tcp, res), where res is the return
+ * value. Anyway, call syscall_exiting_finish(tcp) then.
+ */
+int
+syscall_exiting_decode(struct tcb *tcp, struct timeval *ptv)
{
- struct timeval tv;
-
/* Measure the exit time as early as possible to avoid errors. */
if ((Tflag || cflag) && !(filtered(tcp) || hide_log(tcp)))
- gettimeofday(&tv, NULL);
+ gettimeofday(ptv, NULL);
#ifdef USE_LIBUNWIND
if (stack_trace_enabled) {
@@ -777,21 +791,25 @@ trace_syscall_exiting(struct tcb *tcp)
#endif
if (filtered(tcp) || hide_log(tcp))
- goto ret;
+ return 0;
get_regs(tcp->pid);
#if SUPPORTED_PERSONALITIES > 1
update_personality(tcp, tcp->currpers);
#endif
- int res = (get_regs_error ? -1 : get_syscall_result(tcp));
+ return get_regs_error ? -1 : get_syscall_result(tcp);
+}
+int
+syscall_exiting_trace(struct tcb *tcp, struct timeval tv, int res)
+{
if (syserror(tcp) && syscall_tampered(tcp))
tamper_with_syscall_exiting(tcp);
if (cflag) {
count_syscall(tcp, &tv);
if (cflag == CFLAG_ONLY_STATS) {
- goto ret;
+ return 0;
}
}
@@ -818,9 +836,6 @@ trace_syscall_exiting(struct tcb *tcp)
tabto();
tprints("= ? <unavailable>\n");
line_ended();
- tcp->flags &= ~(TCB_INSYSCALL | TCB_TAMPERED);
- tcp->sys_func_rval = 0;
- free_tcb_priv_data(tcp);
return res;
}
tcp->s_prev_ent = tcp->s_ent;
@@ -832,13 +847,13 @@ trace_syscall_exiting(struct tcb *tcp)
/* FIXME: not_failing_only (IOW, option -z) is broken:
* failure of syscall is known only after syscall return.
* Thus we end up with something like this on, say, ENOENT:
- * open("doesnt_exist", O_RDONLY <unfinished ...>
+ * open("does_not_exist", O_RDONLY <unfinished ...>
* {next syscall decode}
* whereas the intended result is that open(...) line
* is not shown at all.
*/
if (not_failing_only && tcp->u_error)
- goto ret; /* ignore failed syscalls */
+ return 0; /* ignore failed syscalls */
if (tcp->sys_func_rval & RVAL_DECODED)
sys_res = tcp->sys_func_rval;
else
@@ -857,8 +872,7 @@ trace_syscall_exiting(struct tcb *tcp)
}
if (syscall_tampered(tcp))
tprints(" (INJECTED)");
- }
- else if (!(sys_res & RVAL_NONE) && u_error) {
+ } else if (!(sys_res & RVAL_NONE) && u_error) {
const char *u_error_str;
switch (u_error) {
@@ -929,8 +943,7 @@ trace_syscall_exiting(struct tcb *tcp)
tprints(" (INJECTED)");
if ((sys_res & RVAL_STR) && tcp->auxstr)
tprintf(" (%s)", tcp->auxstr);
- }
- else {
+ } else {
if (sys_res & RVAL_NONE)
tprints("= ?");
else {
@@ -968,8 +981,7 @@ trace_syscall_exiting(struct tcb *tcp)
if (show_fd_path) {
tprints("= ");
printfd(tcp, tcp->u_rval);
- }
- else
+ } else
tprintf("= %" PRI_kld, tcp->u_rval);
break;
default:
@@ -995,19 +1007,15 @@ trace_syscall_exiting(struct tcb *tcp)
if (stack_trace_enabled)
unwind_print_stacktrace(tcp);
#endif
-
- ret:
- tcp->flags &= ~(TCB_INSYSCALL | TCB_TAMPERED);
- tcp->sys_func_rval = 0;
- free_tcb_priv_data(tcp);
return 0;
}
-int
-trace_syscall(struct tcb *tcp, unsigned int *signo)
+void
+syscall_exiting_finish(struct tcb *tcp)
{
- return exiting(tcp) ?
- trace_syscall_exiting(tcp) : trace_syscall_entering(tcp, signo);
+ tcp->flags &= ~(TCB_INSYSCALL | TCB_TAMPERED);
+ tcp->sys_func_rval = 0;
+ free_tcb_priv_data(tcp);
}
bool
@@ -1230,10 +1238,11 @@ free_sysent_buf(void *ptr)
/*
* Returns:
- * 0: "ignore this ptrace stop", bail out of trace_syscall_entering() silently.
- * 1: ok, continue in trace_syscall_entering().
- * other: error, trace_syscall_entering() should print error indicator
- * ("????" etc) and bail out.
+ * 0: "ignore this ptrace stop", syscall_entering_decode() should return a "bail
+ * out silently" code.
+ * 1: ok, continue in syscall_entering_decode().
+ * other: error, syscall_entering_decode() should print error indicator
+ * ("????" etc) and return an appropriate code.
*/
int
get_scno(struct tcb *tcp)
@@ -1277,8 +1286,8 @@ static int get_syscall_result_regs(struct tcb *);
#endif
/* Returns:
- * 1: ok, continue in trace_syscall_exiting().
- * -1: error, trace_syscall_exiting() should print error indicator
+ * 1: ok, continue in syscall_exiting_trace().
+ * -1: error, syscall_exiting_trace() should print error indicator
* ("????" etc) and bail out.
*/
static int
@@ -1313,5 +1322,5 @@ syscall_name(kernel_ulong_t scno)
if (current_personality == X32_PERSONALITY_NUMBER)
scno &= ~__X32_SYSCALL_BIT;
#endif
- return scno_is_valid(scno) ? sysent[scno].sys_name: NULL;
+ return scno_is_valid(scno) ? sysent[scno].sys_name : NULL;
}
diff --git a/sysctl.c b/sysctl.c
index 64594155..176973a3 100644
--- a/sysctl.c
+++ b/sysctl.c
@@ -155,7 +155,7 @@ SYS_FUNC(sysctl)
default:
goto out;
}
- out:
+out:
max_cnt = info.nlen;
if (abbrev(tcp) && max_cnt > max_strlen)
max_cnt = max_strlen;
diff --git a/tests-m32/Makefile b/tests-m32/Makefile
deleted file mode 100644
index 1bfab922..00000000
--- a/tests-m32/Makefile
+++ /dev/null
@@ -1,7114 +0,0 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
-# tests-m32/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-# Automake input for strace tests.
-#
-# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2011-2017 The strace developers.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# scno.h make rules for strace.
-#
-# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/strace
-pkgincludedir = $(includedir)/strace
-pkglibdir = $(libdir)/strace
-pkglibexecdir = $(libexecdir)/strace
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = x86_64-pc-linux-gnu
-host_triplet = x86_64-pc-linux-gnu
-DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
- $(srcdir)/../scno.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/depcomp \
- $(top_srcdir)/test-driver
-check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
- attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
- attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
- execve-v$(EXEEXT) execveat-v$(EXEEXT) \
- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
- getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
- ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
- ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
- ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
- msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
- netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
- netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
- perf_event_open_nonverbose$(EXEEXT) \
- perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
- prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
- print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
- qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
- qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
- quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
- redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
- scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
- seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
- signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
- threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
- unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
- wait4-v$(EXEEXT) waitid-v$(EXEEXT)
-TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
-subdir = tests-m32
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
- $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
- $(top_srcdir)/m4/ax_valgrind_check.m4 \
- $(top_srcdir)/m4/mpers.m4 \
- $(top_srcdir)/m4/st_save_restore_var.m4 \
- $(top_srcdir)/m4/st_warn_cflags.m4 \
- $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AR = ar
-ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
-am__v_AR_0 = @echo " AR " $@;
-am__v_AR_1 =
-libtests_a_AR = $(AR) $(ARFLAGS)
-libtests_a_LIBADD =
-am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
- libtests_a-error_msg.$(OBJEXT) \
- libtests_a-fill_memory.$(OBJEXT) \
- libtests_a-get_page_size.$(OBJEXT) \
- libtests_a-get_sigset_size.$(OBJEXT) \
- libtests_a-hexdump_strdup.$(OBJEXT) \
- libtests_a-hexquote_strndup.$(OBJEXT) \
- libtests_a-inode_of_sockfd.$(OBJEXT) \
- libtests_a-libmmsg.$(OBJEXT) \
- libtests_a-libsocketcall.$(OBJEXT) \
- libtests_a-overflowuid.$(OBJEXT) \
- libtests_a-pipe_maxfd.$(OBJEXT) \
- libtests_a-print_quoted_string.$(OBJEXT) \
- libtests_a-print_time.$(OBJEXT) \
- libtests_a-printflags.$(OBJEXT) libtests_a-printxval.$(OBJEXT) \
- libtests_a-signal2name.$(OBJEXT) \
- libtests_a-skip_unavailable.$(OBJEXT) \
- libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
- libtests_a-tprintf.$(OBJEXT)
-libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
-am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
- access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
- adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
- brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
- chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
- clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
- clock_xettime$(EXEEXT) copy_file_range$(EXEEXT) creat$(EXEEXT) \
- delete_module$(EXEEXT) dup$(EXEEXT) dup2$(EXEEXT) \
- dup3$(EXEEXT) epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
- epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
- erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
- fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
- fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) fchdir$(EXEEXT) \
- fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
- fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
- fcntl64$(EXEEXT) fdatasync$(EXEEXT) file_handle$(EXEEXT) \
- file_ioctl$(EXEEXT) finit_module$(EXEEXT) flock$(EXEEXT) \
- fstat$(EXEEXT) fstat64$(EXEEXT) fstatat64$(EXEEXT) \
- fstatfs$(EXEEXT) fstatfs64$(EXEEXT) fsync$(EXEEXT) \
- ftruncate$(EXEEXT) ftruncate64$(EXEEXT) futex$(EXEEXT) \
- futimesat$(EXEEXT) get_mempolicy$(EXEEXT) getcpu$(EXEEXT) \
- getcwd$(EXEEXT) getdents$(EXEEXT) getdents64$(EXEEXT) \
- getegid$(EXEEXT) getegid32$(EXEEXT) geteuid$(EXEEXT) \
- geteuid32$(EXEEXT) getgid$(EXEEXT) getgid32$(EXEEXT) \
- getgroups$(EXEEXT) getgroups32$(EXEEXT) getpeername$(EXEEXT) \
- getpgrp$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
- getrandom$(EXEEXT) getresgid$(EXEEXT) getresgid32$(EXEEXT) \
- getresuid$(EXEEXT) getresuid32$(EXEEXT) getrlimit$(EXEEXT) \
- getrusage$(EXEEXT) getsid$(EXEEXT) getsockname$(EXEEXT) \
- getuid$(EXEEXT) getuid32$(EXEEXT) getxxid$(EXEEXT) \
- inet-cmsg$(EXEEXT) init_module$(EXEEXT) inotify$(EXEEXT) \
- inotify_init1$(EXEEXT) ioctl$(EXEEXT) ioctl_block$(EXEEXT) \
- ioctl_dm$(EXEEXT) ioctl_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
- ioctl_mtd$(EXEEXT) ioctl_rtc$(EXEEXT) ioctl_scsi$(EXEEXT) \
- ioctl_sg_io_v3$(EXEEXT) ioctl_sg_io_v4$(EXEEXT) \
- ioctl_sock_gifconf$(EXEEXT) ioctl_uffdio$(EXEEXT) \
- ioctl_v4l2$(EXEEXT) ioperm$(EXEEXT) iopl$(EXEEXT) \
- ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) ipc_msg$(EXEEXT) \
- ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) ipc_shm$(EXEEXT) \
- kcmp$(EXEEXT) kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) \
- keyctl$(EXEEXT) kill$(EXEEXT) lchown$(EXEEXT) \
- lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
- llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
- lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(EXEEXT) \
- mbind$(EXEEXT) membarrier$(EXEEXT) memfd_create$(EXEEXT) \
- migrate_pages$(EXEEXT) mincore$(EXEEXT) mkdir$(EXEEXT) \
- mkdirat$(EXEEXT) mknod$(EXEEXT) mknodat$(EXEEXT) \
- mlock$(EXEEXT) mlock2$(EXEEXT) mlockall$(EXEEXT) mmap$(EXEEXT) \
- mmap64$(EXEEXT) mmsg$(EXEEXT) mmsg_name$(EXEEXT) \
- mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
- mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
- mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
- msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(EXEEXT) \
- net-icmp_filter$(EXEEXT) net-sockaddr$(EXEEXT) \
- net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
- net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
- netlink_protocol$(EXEEXT) newfstatat$(EXEEXT) \
- old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
- oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
- openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
- perf_event_open$(EXEEXT) personality$(EXEEXT) pipe$(EXEEXT) \
- pipe2$(EXEEXT) pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) \
- pkey_mprotect$(EXEEXT) poll$(EXEEXT) ppoll$(EXEEXT) \
- prctl-arg2-intptr$(EXEEXT) prctl-dumpable$(EXEEXT) \
- prctl-name$(EXEEXT) prctl-no-args$(EXEEXT) \
- prctl-pdeathsig$(EXEEXT) prctl-securebits$(EXEEXT) \
- prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
- pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
- preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
- printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
- process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
- pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
- read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
- readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
- reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
- recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
- renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
- rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
- rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(EXEEXT) \
- rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
- rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
- sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
- sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
- sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
- seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
- sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
- setdomainname$(EXEEXT) setfsgid$(EXEEXT) setfsgid32$(EXEEXT) \
- setfsuid$(EXEEXT) setfsuid32$(EXEEXT) setgid$(EXEEXT) \
- setgid32$(EXEEXT) setgroups$(EXEEXT) setgroups32$(EXEEXT) \
- sethostname$(EXEEXT) setns$(EXEEXT) setregid$(EXEEXT) \
- setregid32$(EXEEXT) setresgid$(EXEEXT) setresgid32$(EXEEXT) \
- setresuid$(EXEEXT) setresuid32$(EXEEXT) setreuid$(EXEEXT) \
- setreuid32$(EXEEXT) setrlimit$(EXEEXT) setuid$(EXEEXT) \
- setuid32$(EXEEXT) shmxt$(EXEEXT) shutdown$(EXEEXT) \
- sigaction$(EXEEXT) sigaltstack$(EXEEXT) siginfo$(EXEEXT) \
- signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
- socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
- stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
- statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
- utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
- vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
- waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
- xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
- xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
- xettimeofday$(EXEEXT)
-_newselect_SOURCES = _newselect.c
-_newselect_OBJECTS = _newselect.$(OBJEXT)
-_newselect_LDADD = $(LDADD)
-_newselect_DEPENDENCIES = libtests.a
-accept_SOURCES = accept.c
-accept_OBJECTS = accept.$(OBJEXT)
-accept_LDADD = $(LDADD)
-accept_DEPENDENCIES = libtests.a
-accept4_SOURCES = accept4.c
-accept4_OBJECTS = accept4.$(OBJEXT)
-accept4_LDADD = $(LDADD)
-accept4_DEPENDENCIES = libtests.a
-access_SOURCES = access.c
-access_OBJECTS = access.$(OBJEXT)
-access_LDADD = $(LDADD)
-access_DEPENDENCIES = libtests.a
-acct_SOURCES = acct.c
-acct_OBJECTS = acct.$(OBJEXT)
-acct_LDADD = $(LDADD)
-acct_DEPENDENCIES = libtests.a
-add_key_SOURCES = add_key.c
-add_key_OBJECTS = add_key.$(OBJEXT)
-add_key_LDADD = $(LDADD)
-add_key_DEPENDENCIES = libtests.a
-adjtimex_SOURCES = adjtimex.c
-adjtimex_OBJECTS = adjtimex.$(OBJEXT)
-adjtimex_LDADD = $(LDADD)
-adjtimex_DEPENDENCIES = libtests.a
-aio_SOURCES = aio.c
-aio_OBJECTS = aio.$(OBJEXT)
-aio_LDADD = $(LDADD)
-aio_DEPENDENCIES = libtests.a
-alarm_SOURCES = alarm.c
-alarm_OBJECTS = alarm.$(OBJEXT)
-alarm_LDADD = $(LDADD)
-alarm_DEPENDENCIES = libtests.a
-answer_SOURCES = answer.c
-answer_OBJECTS = answer.$(OBJEXT)
-answer_LDADD = $(LDADD)
-answer_DEPENDENCIES = libtests.a
-attach_f_p_SOURCES = attach-f-p.c
-attach_f_p_OBJECTS = attach-f-p.$(OBJEXT)
-attach_f_p_DEPENDENCIES = $(LDADD)
-attach_f_p_cmd_SOURCES = attach-f-p-cmd.c
-attach_f_p_cmd_OBJECTS = attach-f-p-cmd.$(OBJEXT)
-attach_f_p_cmd_LDADD = $(LDADD)
-attach_f_p_cmd_DEPENDENCIES = libtests.a
-attach_p_cmd_cmd_SOURCES = attach-p-cmd-cmd.c
-attach_p_cmd_cmd_OBJECTS = attach-p-cmd-cmd.$(OBJEXT)
-attach_p_cmd_cmd_LDADD = $(LDADD)
-attach_p_cmd_cmd_DEPENDENCIES = libtests.a
-attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
-attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
-attach_p_cmd_p_LDADD = $(LDADD)
-attach_p_cmd_p_DEPENDENCIES = libtests.a
-bpf_SOURCES = bpf.c
-bpf_OBJECTS = bpf.$(OBJEXT)
-bpf_LDADD = $(LDADD)
-bpf_DEPENDENCIES = libtests.a
-brk_SOURCES = brk.c
-brk_OBJECTS = brk.$(OBJEXT)
-brk_LDADD = $(LDADD)
-brk_DEPENDENCIES = libtests.a
-btrfs_SOURCES = btrfs.c
-btrfs_OBJECTS = btrfs.$(OBJEXT)
-btrfs_LDADD = $(LDADD)
-btrfs_DEPENDENCIES = libtests.a
-caps_SOURCES = caps.c
-caps_OBJECTS = caps.$(OBJEXT)
-caps_LDADD = $(LDADD)
-caps_DEPENDENCIES = libtests.a
-caps_abbrev_SOURCES = caps-abbrev.c
-caps_abbrev_OBJECTS = caps-abbrev.$(OBJEXT)
-caps_abbrev_LDADD = $(LDADD)
-caps_abbrev_DEPENDENCIES = libtests.a
-chmod_SOURCES = chmod.c
-chmod_OBJECTS = chmod.$(OBJEXT)
-chmod_LDADD = $(LDADD)
-chmod_DEPENDENCIES = libtests.a
-chown_SOURCES = chown.c
-chown_OBJECTS = chown.$(OBJEXT)
-chown_LDADD = $(LDADD)
-chown_DEPENDENCIES = libtests.a
-chown32_SOURCES = chown32.c
-chown32_OBJECTS = chown32.$(OBJEXT)
-chown32_LDADD = $(LDADD)
-chown32_DEPENDENCIES = libtests.a
-chroot_SOURCES = chroot.c
-chroot_OBJECTS = chroot.$(OBJEXT)
-chroot_LDADD = $(LDADD)
-chroot_DEPENDENCIES = libtests.a
-clock_adjtime_SOURCES = clock_adjtime.c
-clock_adjtime_OBJECTS = clock_adjtime.$(OBJEXT)
-clock_adjtime_LDADD = $(LDADD)
-clock_adjtime_DEPENDENCIES = libtests.a
-clock_nanosleep_SOURCES = clock_nanosleep.c
-clock_nanosleep_OBJECTS = clock_nanosleep.$(OBJEXT)
-clock_nanosleep_LDADD = $(LDADD)
-clock_nanosleep_DEPENDENCIES = libtests.a
-clock_xettime_SOURCES = clock_xettime.c
-clock_xettime_OBJECTS = clock_xettime.$(OBJEXT)
-clock_xettime_DEPENDENCIES = $(LDADD)
-copy_file_range_SOURCES = copy_file_range.c
-copy_file_range_OBJECTS = copy_file_range.$(OBJEXT)
-copy_file_range_LDADD = $(LDADD)
-copy_file_range_DEPENDENCIES = libtests.a
-count_f_SOURCES = count-f.c
-count_f_OBJECTS = count-f.$(OBJEXT)
-count_f_DEPENDENCIES = $(LDADD)
-creat_SOURCES = creat.c
-creat_OBJECTS = creat.$(OBJEXT)
-creat_LDADD = $(LDADD)
-creat_DEPENDENCIES = libtests.a
-delete_module_SOURCES = delete_module.c
-delete_module_OBJECTS = delete_module.$(OBJEXT)
-delete_module_LDADD = $(LDADD)
-delete_module_DEPENDENCIES = libtests.a
-dup_SOURCES = dup.c
-dup_OBJECTS = dup.$(OBJEXT)
-dup_LDADD = $(LDADD)
-dup_DEPENDENCIES = libtests.a
-dup2_SOURCES = dup2.c
-dup2_OBJECTS = dup2.$(OBJEXT)
-dup2_LDADD = $(LDADD)
-dup2_DEPENDENCIES = libtests.a
-dup3_SOURCES = dup3.c
-dup3_OBJECTS = dup3.$(OBJEXT)
-dup3_LDADD = $(LDADD)
-dup3_DEPENDENCIES = libtests.a
-epoll_create_SOURCES = epoll_create.c
-epoll_create_OBJECTS = epoll_create.$(OBJEXT)
-epoll_create_LDADD = $(LDADD)
-epoll_create_DEPENDENCIES = libtests.a
-epoll_create1_SOURCES = epoll_create1.c
-epoll_create1_OBJECTS = epoll_create1.$(OBJEXT)
-epoll_create1_LDADD = $(LDADD)
-epoll_create1_DEPENDENCIES = libtests.a
-epoll_ctl_SOURCES = epoll_ctl.c
-epoll_ctl_OBJECTS = epoll_ctl.$(OBJEXT)
-epoll_ctl_LDADD = $(LDADD)
-epoll_ctl_DEPENDENCIES = libtests.a
-epoll_pwait_SOURCES = epoll_pwait.c
-epoll_pwait_OBJECTS = epoll_pwait.$(OBJEXT)
-epoll_pwait_LDADD = $(LDADD)
-epoll_pwait_DEPENDENCIES = libtests.a
-epoll_wait_SOURCES = epoll_wait.c
-epoll_wait_OBJECTS = epoll_wait.$(OBJEXT)
-epoll_wait_LDADD = $(LDADD)
-epoll_wait_DEPENDENCIES = libtests.a
-erestartsys_SOURCES = erestartsys.c
-erestartsys_OBJECTS = erestartsys.$(OBJEXT)
-erestartsys_LDADD = $(LDADD)
-erestartsys_DEPENDENCIES = libtests.a
-eventfd_SOURCES = eventfd.c
-eventfd_OBJECTS = eventfd.$(OBJEXT)
-eventfd_LDADD = $(LDADD)
-eventfd_DEPENDENCIES = libtests.a
-execve_SOURCES = execve.c
-execve_OBJECTS = execve.$(OBJEXT)
-execve_LDADD = $(LDADD)
-execve_DEPENDENCIES = libtests.a
-execve_v_SOURCES = execve-v.c
-execve_v_OBJECTS = execve-v.$(OBJEXT)
-execve_v_LDADD = $(LDADD)
-execve_v_DEPENDENCIES = libtests.a
-execveat_SOURCES = execveat.c
-execveat_OBJECTS = execveat.$(OBJEXT)
-execveat_LDADD = $(LDADD)
-execveat_DEPENDENCIES = libtests.a
-execveat_v_SOURCES = execveat-v.c
-execveat_v_OBJECTS = execveat-v.$(OBJEXT)
-execveat_v_LDADD = $(LDADD)
-execveat_v_DEPENDENCIES = libtests.a
-faccessat_SOURCES = faccessat.c
-faccessat_OBJECTS = faccessat.$(OBJEXT)
-faccessat_LDADD = $(LDADD)
-faccessat_DEPENDENCIES = libtests.a
-fadvise64_SOURCES = fadvise64.c
-fadvise64_OBJECTS = fadvise64.$(OBJEXT)
-fadvise64_LDADD = $(LDADD)
-fadvise64_DEPENDENCIES = libtests.a
-fadvise64_64_SOURCES = fadvise64_64.c
-fadvise64_64_OBJECTS = fadvise64_64.$(OBJEXT)
-fadvise64_64_LDADD = $(LDADD)
-fadvise64_64_DEPENDENCIES = libtests.a
-fallocate_SOURCES = fallocate.c
-fallocate_OBJECTS = fallocate.$(OBJEXT)
-fallocate_LDADD = $(LDADD)
-fallocate_DEPENDENCIES = libtests.a
-fanotify_init_SOURCES = fanotify_init.c
-fanotify_init_OBJECTS = fanotify_init.$(OBJEXT)
-fanotify_init_LDADD = $(LDADD)
-fanotify_init_DEPENDENCIES = libtests.a
-fanotify_mark_SOURCES = fanotify_mark.c
-fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
-fanotify_mark_LDADD = $(LDADD)
-fanotify_mark_DEPENDENCIES = libtests.a
-fchdir_SOURCES = fchdir.c
-fchdir_OBJECTS = fchdir.$(OBJEXT)
-fchdir_LDADD = $(LDADD)
-fchdir_DEPENDENCIES = libtests.a
-fchmod_SOURCES = fchmod.c
-fchmod_OBJECTS = fchmod.$(OBJEXT)
-fchmod_LDADD = $(LDADD)
-fchmod_DEPENDENCIES = libtests.a
-fchmodat_SOURCES = fchmodat.c
-fchmodat_OBJECTS = fchmodat.$(OBJEXT)
-fchmodat_LDADD = $(LDADD)
-fchmodat_DEPENDENCIES = libtests.a
-fchown_SOURCES = fchown.c
-fchown_OBJECTS = fchown.$(OBJEXT)
-fchown_LDADD = $(LDADD)
-fchown_DEPENDENCIES = libtests.a
-fchown32_SOURCES = fchown32.c
-fchown32_OBJECTS = fchown32.$(OBJEXT)
-fchown32_LDADD = $(LDADD)
-fchown32_DEPENDENCIES = libtests.a
-fchownat_SOURCES = fchownat.c
-fchownat_OBJECTS = fchownat.$(OBJEXT)
-fchownat_LDADD = $(LDADD)
-fchownat_DEPENDENCIES = libtests.a
-fcntl_SOURCES = fcntl.c
-fcntl_OBJECTS = fcntl.$(OBJEXT)
-fcntl_LDADD = $(LDADD)
-fcntl_DEPENDENCIES = libtests.a
-fcntl64_SOURCES = fcntl64.c
-fcntl64_OBJECTS = fcntl64.$(OBJEXT)
-fcntl64_LDADD = $(LDADD)
-fcntl64_DEPENDENCIES = libtests.a
-fdatasync_SOURCES = fdatasync.c
-fdatasync_OBJECTS = fdatasync.$(OBJEXT)
-fdatasync_LDADD = $(LDADD)
-fdatasync_DEPENDENCIES = libtests.a
-file_handle_SOURCES = file_handle.c
-file_handle_OBJECTS = file_handle.$(OBJEXT)
-file_handle_LDADD = $(LDADD)
-file_handle_DEPENDENCIES = libtests.a
-file_ioctl_SOURCES = file_ioctl.c
-file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
-file_ioctl_LDADD = $(LDADD)
-file_ioctl_DEPENDENCIES = libtests.a
-filter_unavailable_SOURCES = filter-unavailable.c
-filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
-filter_unavailable_DEPENDENCIES = $(LDADD)
-finit_module_SOURCES = finit_module.c
-finit_module_OBJECTS = finit_module.$(OBJEXT)
-finit_module_LDADD = $(LDADD)
-finit_module_DEPENDENCIES = libtests.a
-flock_SOURCES = flock.c
-flock_OBJECTS = flock.$(OBJEXT)
-flock_LDADD = $(LDADD)
-flock_DEPENDENCIES = libtests.a
-fork_f_SOURCES = fork-f.c
-fork_f_OBJECTS = fork-f.$(OBJEXT)
-fork_f_LDADD = $(LDADD)
-fork_f_DEPENDENCIES = libtests.a
-fstat_SOURCES = fstat.c
-fstat_OBJECTS = fstat.$(OBJEXT)
-fstat_LDADD = $(LDADD)
-fstat_DEPENDENCIES = libtests.a
-fstat64_SOURCES = fstat64.c
-fstat64_OBJECTS = fstat64-fstat64.$(OBJEXT)
-fstat64_LDADD = $(LDADD)
-fstat64_DEPENDENCIES = libtests.a
-fstatat64_SOURCES = fstatat64.c
-fstatat64_OBJECTS = fstatat64-fstatat64.$(OBJEXT)
-fstatat64_LDADD = $(LDADD)
-fstatat64_DEPENDENCIES = libtests.a
-fstatfs_SOURCES = fstatfs.c
-fstatfs_OBJECTS = fstatfs.$(OBJEXT)
-fstatfs_LDADD = $(LDADD)
-fstatfs_DEPENDENCIES = libtests.a
-fstatfs64_SOURCES = fstatfs64.c
-fstatfs64_OBJECTS = fstatfs64.$(OBJEXT)
-fstatfs64_LDADD = $(LDADD)
-fstatfs64_DEPENDENCIES = libtests.a
-fsync_SOURCES = fsync.c
-fsync_OBJECTS = fsync.$(OBJEXT)
-fsync_LDADD = $(LDADD)
-fsync_DEPENDENCIES = libtests.a
-ftruncate_SOURCES = ftruncate.c
-ftruncate_OBJECTS = ftruncate.$(OBJEXT)
-ftruncate_LDADD = $(LDADD)
-ftruncate_DEPENDENCIES = libtests.a
-ftruncate64_SOURCES = ftruncate64.c
-ftruncate64_OBJECTS = ftruncate64-ftruncate64.$(OBJEXT)
-ftruncate64_LDADD = $(LDADD)
-ftruncate64_DEPENDENCIES = libtests.a
-futex_SOURCES = futex.c
-futex_OBJECTS = futex.$(OBJEXT)
-futex_LDADD = $(LDADD)
-futex_DEPENDENCIES = libtests.a
-futimesat_SOURCES = futimesat.c
-futimesat_OBJECTS = futimesat.$(OBJEXT)
-futimesat_LDADD = $(LDADD)
-futimesat_DEPENDENCIES = libtests.a
-get_mempolicy_SOURCES = get_mempolicy.c
-get_mempolicy_OBJECTS = get_mempolicy.$(OBJEXT)
-get_mempolicy_LDADD = $(LDADD)
-get_mempolicy_DEPENDENCIES = libtests.a
-getcpu_SOURCES = getcpu.c
-getcpu_OBJECTS = getcpu.$(OBJEXT)
-getcpu_LDADD = $(LDADD)
-getcpu_DEPENDENCIES = libtests.a
-getcwd_SOURCES = getcwd.c
-getcwd_OBJECTS = getcwd.$(OBJEXT)
-getcwd_LDADD = $(LDADD)
-getcwd_DEPENDENCIES = libtests.a
-getdents_SOURCES = getdents.c
-getdents_OBJECTS = getdents.$(OBJEXT)
-getdents_LDADD = $(LDADD)
-getdents_DEPENDENCIES = libtests.a
-getdents64_SOURCES = getdents64.c
-getdents64_OBJECTS = getdents64.$(OBJEXT)
-getdents64_LDADD = $(LDADD)
-getdents64_DEPENDENCIES = libtests.a
-getegid_SOURCES = getegid.c
-getegid_OBJECTS = getegid.$(OBJEXT)
-getegid_LDADD = $(LDADD)
-getegid_DEPENDENCIES = libtests.a
-getegid32_SOURCES = getegid32.c
-getegid32_OBJECTS = getegid32.$(OBJEXT)
-getegid32_LDADD = $(LDADD)
-getegid32_DEPENDENCIES = libtests.a
-geteuid_SOURCES = geteuid.c
-geteuid_OBJECTS = geteuid.$(OBJEXT)
-geteuid_LDADD = $(LDADD)
-geteuid_DEPENDENCIES = libtests.a
-geteuid32_SOURCES = geteuid32.c
-geteuid32_OBJECTS = geteuid32.$(OBJEXT)
-geteuid32_LDADD = $(LDADD)
-geteuid32_DEPENDENCIES = libtests.a
-getgid_SOURCES = getgid.c
-getgid_OBJECTS = getgid.$(OBJEXT)
-getgid_LDADD = $(LDADD)
-getgid_DEPENDENCIES = libtests.a
-getgid32_SOURCES = getgid32.c
-getgid32_OBJECTS = getgid32.$(OBJEXT)
-getgid32_LDADD = $(LDADD)
-getgid32_DEPENDENCIES = libtests.a
-getgroups_SOURCES = getgroups.c
-getgroups_OBJECTS = getgroups.$(OBJEXT)
-getgroups_LDADD = $(LDADD)
-getgroups_DEPENDENCIES = libtests.a
-getgroups32_SOURCES = getgroups32.c
-getgroups32_OBJECTS = getgroups32.$(OBJEXT)
-getgroups32_LDADD = $(LDADD)
-getgroups32_DEPENDENCIES = libtests.a
-getpeername_SOURCES = getpeername.c
-getpeername_OBJECTS = getpeername.$(OBJEXT)
-getpeername_LDADD = $(LDADD)
-getpeername_DEPENDENCIES = libtests.a
-getpgrp_SOURCES = getpgrp.c
-getpgrp_OBJECTS = getpgrp.$(OBJEXT)
-getpgrp_LDADD = $(LDADD)
-getpgrp_DEPENDENCIES = libtests.a
-getpid_SOURCES = getpid.c
-getpid_OBJECTS = getpid.$(OBJEXT)
-getpid_LDADD = $(LDADD)
-getpid_DEPENDENCIES = libtests.a
-getppid_SOURCES = getppid.c
-getppid_OBJECTS = getppid.$(OBJEXT)
-getppid_LDADD = $(LDADD)
-getppid_DEPENDENCIES = libtests.a
-getrandom_SOURCES = getrandom.c
-getrandom_OBJECTS = getrandom.$(OBJEXT)
-getrandom_LDADD = $(LDADD)
-getrandom_DEPENDENCIES = libtests.a
-getresgid_SOURCES = getresgid.c
-getresgid_OBJECTS = getresgid.$(OBJEXT)
-getresgid_LDADD = $(LDADD)
-getresgid_DEPENDENCIES = libtests.a
-getresgid32_SOURCES = getresgid32.c
-getresgid32_OBJECTS = getresgid32.$(OBJEXT)
-getresgid32_LDADD = $(LDADD)
-getresgid32_DEPENDENCIES = libtests.a
-getresuid_SOURCES = getresuid.c
-getresuid_OBJECTS = getresuid.$(OBJEXT)
-getresuid_LDADD = $(LDADD)
-getresuid_DEPENDENCIES = libtests.a
-getresuid32_SOURCES = getresuid32.c
-getresuid32_OBJECTS = getresuid32.$(OBJEXT)
-getresuid32_LDADD = $(LDADD)
-getresuid32_DEPENDENCIES = libtests.a
-getrlimit_SOURCES = getrlimit.c
-getrlimit_OBJECTS = getrlimit.$(OBJEXT)
-getrlimit_LDADD = $(LDADD)
-getrlimit_DEPENDENCIES = libtests.a
-getrusage_SOURCES = getrusage.c
-getrusage_OBJECTS = getrusage.$(OBJEXT)
-getrusage_LDADD = $(LDADD)
-getrusage_DEPENDENCIES = libtests.a
-getsid_SOURCES = getsid.c
-getsid_OBJECTS = getsid.$(OBJEXT)
-getsid_LDADD = $(LDADD)
-getsid_DEPENDENCIES = libtests.a
-getsockname_SOURCES = getsockname.c
-getsockname_OBJECTS = getsockname.$(OBJEXT)
-getsockname_LDADD = $(LDADD)
-getsockname_DEPENDENCIES = libtests.a
-gettid_SOURCES = gettid.c
-gettid_OBJECTS = gettid.$(OBJEXT)
-gettid_LDADD = $(LDADD)
-gettid_DEPENDENCIES = libtests.a
-getuid_SOURCES = getuid.c
-getuid_OBJECTS = getuid.$(OBJEXT)
-getuid_LDADD = $(LDADD)
-getuid_DEPENDENCIES = libtests.a
-getuid32_SOURCES = getuid32.c
-getuid32_OBJECTS = getuid32.$(OBJEXT)
-getuid32_LDADD = $(LDADD)
-getuid32_DEPENDENCIES = libtests.a
-getxxid_SOURCES = getxxid.c
-getxxid_OBJECTS = getxxid.$(OBJEXT)
-getxxid_LDADD = $(LDADD)
-getxxid_DEPENDENCIES = libtests.a
-inet_cmsg_SOURCES = inet-cmsg.c
-inet_cmsg_OBJECTS = inet-cmsg.$(OBJEXT)
-inet_cmsg_LDADD = $(LDADD)
-inet_cmsg_DEPENDENCIES = libtests.a
-init_module_SOURCES = init_module.c
-init_module_OBJECTS = init_module.$(OBJEXT)
-init_module_LDADD = $(LDADD)
-init_module_DEPENDENCIES = libtests.a
-inotify_SOURCES = inotify.c
-inotify_OBJECTS = inotify.$(OBJEXT)
-inotify_LDADD = $(LDADD)
-inotify_DEPENDENCIES = libtests.a
-inotify_init1_SOURCES = inotify_init1.c
-inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
-inotify_init1_LDADD = $(LDADD)
-inotify_init1_DEPENDENCIES = libtests.a
-int_0x80_SOURCES = int_0x80.c
-int_0x80_OBJECTS = int_0x80.$(OBJEXT)
-int_0x80_LDADD = $(LDADD)
-int_0x80_DEPENDENCIES = libtests.a
-ioctl_SOURCES = ioctl.c
-ioctl_OBJECTS = ioctl.$(OBJEXT)
-ioctl_LDADD = $(LDADD)
-ioctl_DEPENDENCIES = libtests.a
-ioctl_block_SOURCES = ioctl_block.c
-ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
-ioctl_block_LDADD = $(LDADD)
-ioctl_block_DEPENDENCIES = libtests.a
-ioctl_dm_SOURCES = ioctl_dm.c
-ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
-ioctl_dm_LDADD = $(LDADD)
-ioctl_dm_DEPENDENCIES = libtests.a
-ioctl_dm_v_SOURCES = ioctl_dm-v.c
-ioctl_dm_v_OBJECTS = ioctl_dm-v.$(OBJEXT)
-ioctl_dm_v_LDADD = $(LDADD)
-ioctl_dm_v_DEPENDENCIES = libtests.a
-ioctl_evdev_SOURCES = ioctl_evdev.c
-ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT)
-ioctl_evdev_LDADD = $(LDADD)
-ioctl_evdev_DEPENDENCIES = libtests.a
-ioctl_evdev_v_SOURCES = ioctl_evdev-v.c
-ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT)
-ioctl_evdev_v_LDADD = $(LDADD)
-ioctl_evdev_v_DEPENDENCIES = libtests.a
-ioctl_loop_SOURCES = ioctl_loop.c
-ioctl_loop_OBJECTS = ioctl_loop.$(OBJEXT)
-ioctl_loop_LDADD = $(LDADD)
-ioctl_loop_DEPENDENCIES = libtests.a
-ioctl_loop_nv_SOURCES = ioctl_loop-nv.c
-ioctl_loop_nv_OBJECTS = ioctl_loop-nv.$(OBJEXT)
-ioctl_loop_nv_LDADD = $(LDADD)
-ioctl_loop_nv_DEPENDENCIES = libtests.a
-ioctl_loop_v_SOURCES = ioctl_loop-v.c
-ioctl_loop_v_OBJECTS = ioctl_loop-v.$(OBJEXT)
-ioctl_loop_v_LDADD = $(LDADD)
-ioctl_loop_v_DEPENDENCIES = libtests.a
-ioctl_mtd_SOURCES = ioctl_mtd.c
-ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
-ioctl_mtd_LDADD = $(LDADD)
-ioctl_mtd_DEPENDENCIES = libtests.a
-ioctl_nsfs_SOURCES = ioctl_nsfs.c
-ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
-ioctl_nsfs_LDADD = $(LDADD)
-ioctl_nsfs_DEPENDENCIES = libtests.a
-ioctl_rtc_SOURCES = ioctl_rtc.c
-ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
-ioctl_rtc_LDADD = $(LDADD)
-ioctl_rtc_DEPENDENCIES = libtests.a
-ioctl_rtc_v_SOURCES = ioctl_rtc-v.c
-ioctl_rtc_v_OBJECTS = ioctl_rtc-v.$(OBJEXT)
-ioctl_rtc_v_LDADD = $(LDADD)
-ioctl_rtc_v_DEPENDENCIES = libtests.a
-ioctl_scsi_SOURCES = ioctl_scsi.c
-ioctl_scsi_OBJECTS = ioctl_scsi.$(OBJEXT)
-ioctl_scsi_LDADD = $(LDADD)
-ioctl_scsi_DEPENDENCIES = libtests.a
-ioctl_sg_io_v3_SOURCES = ioctl_sg_io_v3.c
-ioctl_sg_io_v3_OBJECTS = ioctl_sg_io_v3.$(OBJEXT)
-ioctl_sg_io_v3_LDADD = $(LDADD)
-ioctl_sg_io_v3_DEPENDENCIES = libtests.a
-ioctl_sg_io_v4_SOURCES = ioctl_sg_io_v4.c
-ioctl_sg_io_v4_OBJECTS = ioctl_sg_io_v4.$(OBJEXT)
-ioctl_sg_io_v4_LDADD = $(LDADD)
-ioctl_sg_io_v4_DEPENDENCIES = libtests.a
-ioctl_sock_gifconf_SOURCES = ioctl_sock_gifconf.c
-ioctl_sock_gifconf_OBJECTS = ioctl_sock_gifconf.$(OBJEXT)
-ioctl_sock_gifconf_LDADD = $(LDADD)
-ioctl_sock_gifconf_DEPENDENCIES = libtests.a
-ioctl_uffdio_SOURCES = ioctl_uffdio.c
-ioctl_uffdio_OBJECTS = ioctl_uffdio.$(OBJEXT)
-ioctl_uffdio_LDADD = $(LDADD)
-ioctl_uffdio_DEPENDENCIES = libtests.a
-ioctl_v4l2_SOURCES = ioctl_v4l2.c
-ioctl_v4l2_OBJECTS = ioctl_v4l2.$(OBJEXT)
-ioctl_v4l2_LDADD = $(LDADD)
-ioctl_v4l2_DEPENDENCIES = libtests.a
-ioperm_SOURCES = ioperm.c
-ioperm_OBJECTS = ioperm.$(OBJEXT)
-ioperm_LDADD = $(LDADD)
-ioperm_DEPENDENCIES = libtests.a
-iopl_SOURCES = iopl.c
-iopl_OBJECTS = iopl.$(OBJEXT)
-iopl_LDADD = $(LDADD)
-iopl_DEPENDENCIES = libtests.a
-ioprio_SOURCES = ioprio.c
-ioprio_OBJECTS = ioprio.$(OBJEXT)
-ioprio_LDADD = $(LDADD)
-ioprio_DEPENDENCIES = libtests.a
-ip_mreq_SOURCES = ip_mreq.c
-ip_mreq_OBJECTS = ip_mreq.$(OBJEXT)
-ip_mreq_LDADD = $(LDADD)
-ip_mreq_DEPENDENCIES = libtests.a
-ipc_SOURCES = ipc.c
-ipc_OBJECTS = ipc.$(OBJEXT)
-ipc_LDADD = $(LDADD)
-ipc_DEPENDENCIES = libtests.a
-ipc_msg_SOURCES = ipc_msg.c
-ipc_msg_OBJECTS = ipc_msg.$(OBJEXT)
-ipc_msg_LDADD = $(LDADD)
-ipc_msg_DEPENDENCIES = libtests.a
-ipc_msgbuf_SOURCES = ipc_msgbuf.c
-ipc_msgbuf_OBJECTS = ipc_msgbuf.$(OBJEXT)
-ipc_msgbuf_LDADD = $(LDADD)
-ipc_msgbuf_DEPENDENCIES = libtests.a
-ipc_sem_SOURCES = ipc_sem.c
-ipc_sem_OBJECTS = ipc_sem.$(OBJEXT)
-ipc_sem_LDADD = $(LDADD)
-ipc_sem_DEPENDENCIES = libtests.a
-ipc_shm_SOURCES = ipc_shm.c
-ipc_shm_OBJECTS = ipc_shm.$(OBJEXT)
-ipc_shm_LDADD = $(LDADD)
-ipc_shm_DEPENDENCIES = libtests.a
-kcmp_SOURCES = kcmp.c
-kcmp_OBJECTS = kcmp.$(OBJEXT)
-kcmp_LDADD = $(LDADD)
-kcmp_DEPENDENCIES = libtests.a
-kexec_file_load_SOURCES = kexec_file_load.c
-kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
-kexec_file_load_LDADD = $(LDADD)
-kexec_file_load_DEPENDENCIES = libtests.a
-kexec_load_SOURCES = kexec_load.c
-kexec_load_OBJECTS = kexec_load.$(OBJEXT)
-kexec_load_LDADD = $(LDADD)
-kexec_load_DEPENDENCIES = libtests.a
-keyctl_SOURCES = keyctl.c
-keyctl_OBJECTS = keyctl.$(OBJEXT)
-keyctl_LDADD = $(LDADD)
-keyctl_DEPENDENCIES = libtests.a
-kill_SOURCES = kill.c
-kill_OBJECTS = kill.$(OBJEXT)
-kill_LDADD = $(LDADD)
-kill_DEPENDENCIES = libtests.a
-ksysent_SOURCES = ksysent.c
-ksysent_OBJECTS = ksysent.$(OBJEXT)
-ksysent_LDADD = $(LDADD)
-ksysent_DEPENDENCIES = libtests.a
-lchown_SOURCES = lchown.c
-lchown_OBJECTS = lchown.$(OBJEXT)
-lchown_LDADD = $(LDADD)
-lchown_DEPENDENCIES = libtests.a
-lchown32_SOURCES = lchown32.c
-lchown32_OBJECTS = lchown32.$(OBJEXT)
-lchown32_LDADD = $(LDADD)
-lchown32_DEPENDENCIES = libtests.a
-link_SOURCES = link.c
-link_OBJECTS = link.$(OBJEXT)
-link_LDADD = $(LDADD)
-link_DEPENDENCIES = libtests.a
-linkat_SOURCES = linkat.c
-linkat_OBJECTS = linkat.$(OBJEXT)
-linkat_LDADD = $(LDADD)
-linkat_DEPENDENCIES = libtests.a
-llseek_SOURCES = llseek.c
-llseek_OBJECTS = llseek.$(OBJEXT)
-llseek_LDADD = $(LDADD)
-llseek_DEPENDENCIES = libtests.a
-lookup_dcookie_SOURCES = lookup_dcookie.c
-lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
-lookup_dcookie_LDADD = $(LDADD)
-lookup_dcookie_DEPENDENCIES = libtests.a
-lseek_SOURCES = lseek.c
-lseek_OBJECTS = lseek.$(OBJEXT)
-lseek_LDADD = $(LDADD)
-lseek_DEPENDENCIES = libtests.a
-lstat_SOURCES = lstat.c
-lstat_OBJECTS = lstat.$(OBJEXT)
-lstat_LDADD = $(LDADD)
-lstat_DEPENDENCIES = libtests.a
-lstat64_SOURCES = lstat64.c
-lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
-lstat64_LDADD = $(LDADD)
-lstat64_DEPENDENCIES = libtests.a
-madvise_SOURCES = madvise.c
-madvise_OBJECTS = madvise.$(OBJEXT)
-madvise_LDADD = $(LDADD)
-madvise_DEPENDENCIES = libtests.a
-mbind_SOURCES = mbind.c
-mbind_OBJECTS = mbind.$(OBJEXT)
-mbind_LDADD = $(LDADD)
-mbind_DEPENDENCIES = libtests.a
-membarrier_SOURCES = membarrier.c
-membarrier_OBJECTS = membarrier.$(OBJEXT)
-membarrier_LDADD = $(LDADD)
-membarrier_DEPENDENCIES = libtests.a
-memfd_create_SOURCES = memfd_create.c
-memfd_create_OBJECTS = memfd_create.$(OBJEXT)
-memfd_create_LDADD = $(LDADD)
-memfd_create_DEPENDENCIES = libtests.a
-migrate_pages_SOURCES = migrate_pages.c
-migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
-migrate_pages_LDADD = $(LDADD)
-migrate_pages_DEPENDENCIES = libtests.a
-mincore_SOURCES = mincore.c
-mincore_OBJECTS = mincore.$(OBJEXT)
-mincore_LDADD = $(LDADD)
-mincore_DEPENDENCIES = libtests.a
-mkdir_SOURCES = mkdir.c
-mkdir_OBJECTS = mkdir.$(OBJEXT)
-mkdir_LDADD = $(LDADD)
-mkdir_DEPENDENCIES = libtests.a
-mkdirat_SOURCES = mkdirat.c
-mkdirat_OBJECTS = mkdirat.$(OBJEXT)
-mkdirat_LDADD = $(LDADD)
-mkdirat_DEPENDENCIES = libtests.a
-mknod_SOURCES = mknod.c
-mknod_OBJECTS = mknod.$(OBJEXT)
-mknod_LDADD = $(LDADD)
-mknod_DEPENDENCIES = libtests.a
-mknodat_SOURCES = mknodat.c
-mknodat_OBJECTS = mknodat.$(OBJEXT)
-mknodat_LDADD = $(LDADD)
-mknodat_DEPENDENCIES = libtests.a
-mlock_SOURCES = mlock.c
-mlock_OBJECTS = mlock.$(OBJEXT)
-mlock_LDADD = $(LDADD)
-mlock_DEPENDENCIES = libtests.a
-mlock2_SOURCES = mlock2.c
-mlock2_OBJECTS = mlock2.$(OBJEXT)
-mlock2_LDADD = $(LDADD)
-mlock2_DEPENDENCIES = libtests.a
-mlockall_SOURCES = mlockall.c
-mlockall_OBJECTS = mlockall.$(OBJEXT)
-mlockall_LDADD = $(LDADD)
-mlockall_DEPENDENCIES = libtests.a
-mmap_SOURCES = mmap.c
-mmap_OBJECTS = mmap.$(OBJEXT)
-mmap_LDADD = $(LDADD)
-mmap_DEPENDENCIES = libtests.a
-mmap64_SOURCES = mmap64.c
-mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT)
-mmap64_LDADD = $(LDADD)
-mmap64_DEPENDENCIES = libtests.a
-mmsg_SOURCES = mmsg.c
-mmsg_OBJECTS = mmsg.$(OBJEXT)
-mmsg_LDADD = $(LDADD)
-mmsg_DEPENDENCIES = libtests.a
-mmsg_silent_SOURCES = mmsg-silent.c
-mmsg_silent_OBJECTS = mmsg-silent.$(OBJEXT)
-mmsg_silent_LDADD = $(LDADD)
-mmsg_silent_DEPENDENCIES = libtests.a
-mmsg_name_SOURCES = mmsg_name.c
-mmsg_name_OBJECTS = mmsg_name.$(OBJEXT)
-mmsg_name_LDADD = $(LDADD)
-mmsg_name_DEPENDENCIES = libtests.a
-mmsg_name_v_SOURCES = mmsg_name-v.c
-mmsg_name_v_OBJECTS = mmsg_name-v.$(OBJEXT)
-mmsg_name_v_LDADD = $(LDADD)
-mmsg_name_v_DEPENDENCIES = libtests.a
-mount_SOURCES = mount.c
-mount_OBJECTS = mount.$(OBJEXT)
-mount_LDADD = $(LDADD)
-mount_DEPENDENCIES = libtests.a
-move_pages_SOURCES = move_pages.c
-move_pages_OBJECTS = move_pages.$(OBJEXT)
-move_pages_LDADD = $(LDADD)
-move_pages_DEPENDENCIES = libtests.a
-mq_SOURCES = mq.c
-mq_OBJECTS = mq.$(OBJEXT)
-mq_DEPENDENCIES = $(LDADD)
-mq_sendrecv_SOURCES = mq_sendrecv.c
-mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
-mq_sendrecv_DEPENDENCIES = $(LDADD)
-mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
-mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
-mq_sendrecv_read_DEPENDENCIES = $(LDADD)
-mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
-mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
-mq_sendrecv_write_DEPENDENCIES = $(LDADD)
-msg_control_SOURCES = msg_control.c
-msg_control_OBJECTS = msg_control.$(OBJEXT)
-msg_control_LDADD = $(LDADD)
-msg_control_DEPENDENCIES = libtests.a
-msg_control_v_SOURCES = msg_control-v.c
-msg_control_v_OBJECTS = msg_control-v.$(OBJEXT)
-msg_control_v_LDADD = $(LDADD)
-msg_control_v_DEPENDENCIES = libtests.a
-msg_name_SOURCES = msg_name.c
-msg_name_OBJECTS = msg_name.$(OBJEXT)
-msg_name_LDADD = $(LDADD)
-msg_name_DEPENDENCIES = libtests.a
-munlockall_SOURCES = munlockall.c
-munlockall_OBJECTS = munlockall.$(OBJEXT)
-munlockall_LDADD = $(LDADD)
-munlockall_DEPENDENCIES = libtests.a
-nanosleep_SOURCES = nanosleep.c
-nanosleep_OBJECTS = nanosleep.$(OBJEXT)
-nanosleep_LDADD = $(LDADD)
-nanosleep_DEPENDENCIES = libtests.a
-net_accept_connect_SOURCES = net-accept-connect.c
-net_accept_connect_OBJECTS = net-accept-connect.$(OBJEXT)
-net_accept_connect_LDADD = $(LDADD)
-net_accept_connect_DEPENDENCIES = libtests.a
-net_icmp_filter_SOURCES = net-icmp_filter.c
-net_icmp_filter_OBJECTS = net-icmp_filter.$(OBJEXT)
-net_icmp_filter_LDADD = $(LDADD)
-net_icmp_filter_DEPENDENCIES = libtests.a
-net_sockaddr_SOURCES = net-sockaddr.c
-net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
-net_sockaddr_LDADD = $(LDADD)
-net_sockaddr_DEPENDENCIES = libtests.a
-net_y_unix_SOURCES = net-y-unix.c
-net_y_unix_OBJECTS = net-y-unix.$(OBJEXT)
-net_y_unix_LDADD = $(LDADD)
-net_y_unix_DEPENDENCIES = libtests.a
-net_yy_inet_SOURCES = net-yy-inet.c
-net_yy_inet_OBJECTS = net-yy-inet.$(OBJEXT)
-net_yy_inet_LDADD = $(LDADD)
-net_yy_inet_DEPENDENCIES = libtests.a
-net_yy_netlink_SOURCES = net-yy-netlink.c
-net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
-net_yy_netlink_LDADD = $(LDADD)
-net_yy_netlink_DEPENDENCIES = libtests.a
-net_yy_unix_SOURCES = net-yy-unix.c
-net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
-net_yy_unix_LDADD = $(LDADD)
-net_yy_unix_DEPENDENCIES = libtests.a
-netlink_inet_diag_SOURCES = netlink_inet_diag.c
-netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
-netlink_inet_diag_LDADD = $(LDADD)
-netlink_inet_diag_DEPENDENCIES = libtests.a
-netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
-netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
-netlink_netlink_diag_LDADD = $(LDADD)
-netlink_netlink_diag_DEPENDENCIES = libtests.a
-netlink_protocol_SOURCES = netlink_protocol.c
-netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
-netlink_protocol_LDADD = $(LDADD)
-netlink_protocol_DEPENDENCIES = libtests.a
-netlink_unix_diag_SOURCES = netlink_unix_diag.c
-netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
-netlink_unix_diag_LDADD = $(LDADD)
-netlink_unix_diag_DEPENDENCIES = libtests.a
-newfstatat_SOURCES = newfstatat.c
-newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
-newfstatat_LDADD = $(LDADD)
-newfstatat_DEPENDENCIES = libtests.a
-nsyscalls_SOURCES = nsyscalls.c
-nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
-nsyscalls_LDADD = $(LDADD)
-nsyscalls_DEPENDENCIES = libtests.a
-old_mmap_SOURCES = old_mmap.c
-old_mmap_OBJECTS = old_mmap.$(OBJEXT)
-old_mmap_LDADD = $(LDADD)
-old_mmap_DEPENDENCIES = libtests.a
-oldfstat_SOURCES = oldfstat.c
-oldfstat_OBJECTS = oldfstat.$(OBJEXT)
-oldfstat_LDADD = $(LDADD)
-oldfstat_DEPENDENCIES = libtests.a
-oldlstat_SOURCES = oldlstat.c
-oldlstat_OBJECTS = oldlstat.$(OBJEXT)
-oldlstat_LDADD = $(LDADD)
-oldlstat_DEPENDENCIES = libtests.a
-oldselect_SOURCES = oldselect.c
-oldselect_OBJECTS = oldselect.$(OBJEXT)
-oldselect_LDADD = $(LDADD)
-oldselect_DEPENDENCIES = libtests.a
-oldstat_SOURCES = oldstat.c
-oldstat_OBJECTS = oldstat.$(OBJEXT)
-oldstat_LDADD = $(LDADD)
-oldstat_DEPENDENCIES = libtests.a
-open_SOURCES = open.c
-open_OBJECTS = open.$(OBJEXT)
-open_LDADD = $(LDADD)
-open_DEPENDENCIES = libtests.a
-openat_SOURCES = openat.c
-openat_OBJECTS = openat.$(OBJEXT)
-openat_LDADD = $(LDADD)
-openat_DEPENDENCIES = libtests.a
-osf_utimes_SOURCES = osf_utimes.c
-osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
-osf_utimes_LDADD = $(LDADD)
-osf_utimes_DEPENDENCIES = libtests.a
-pause_SOURCES = pause.c
-pause_OBJECTS = pause.$(OBJEXT)
-pause_LDADD = $(LDADD)
-pause_DEPENDENCIES = libtests.a
-pc_SOURCES = pc.c
-pc_OBJECTS = pc.$(OBJEXT)
-am__DEPENDENCIES_1 =
-pc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-perf_event_open_SOURCES = perf_event_open.c
-perf_event_open_OBJECTS = perf_event_open.$(OBJEXT)
-perf_event_open_LDADD = $(LDADD)
-perf_event_open_DEPENDENCIES = libtests.a
-perf_event_open_nonverbose_SOURCES = perf_event_open_nonverbose.c
-perf_event_open_nonverbose_OBJECTS = \
- perf_event_open_nonverbose.$(OBJEXT)
-perf_event_open_nonverbose_LDADD = $(LDADD)
-perf_event_open_nonverbose_DEPENDENCIES = libtests.a
-perf_event_open_unabbrev_SOURCES = perf_event_open_unabbrev.c
-perf_event_open_unabbrev_OBJECTS = perf_event_open_unabbrev.$(OBJEXT)
-perf_event_open_unabbrev_LDADD = $(LDADD)
-perf_event_open_unabbrev_DEPENDENCIES = libtests.a
-personality_SOURCES = personality.c
-personality_OBJECTS = personality.$(OBJEXT)
-personality_LDADD = $(LDADD)
-personality_DEPENDENCIES = libtests.a
-pipe_SOURCES = pipe.c
-pipe_OBJECTS = pipe.$(OBJEXT)
-pipe_LDADD = $(LDADD)
-pipe_DEPENDENCIES = libtests.a
-pipe2_SOURCES = pipe2.c
-pipe2_OBJECTS = pipe2.$(OBJEXT)
-pipe2_LDADD = $(LDADD)
-pipe2_DEPENDENCIES = libtests.a
-pkey_alloc_SOURCES = pkey_alloc.c
-pkey_alloc_OBJECTS = pkey_alloc.$(OBJEXT)
-pkey_alloc_LDADD = $(LDADD)
-pkey_alloc_DEPENDENCIES = libtests.a
-pkey_free_SOURCES = pkey_free.c
-pkey_free_OBJECTS = pkey_free.$(OBJEXT)
-pkey_free_LDADD = $(LDADD)
-pkey_free_DEPENDENCIES = libtests.a
-pkey_mprotect_SOURCES = pkey_mprotect.c
-pkey_mprotect_OBJECTS = pkey_mprotect.$(OBJEXT)
-pkey_mprotect_LDADD = $(LDADD)
-pkey_mprotect_DEPENDENCIES = libtests.a
-poll_SOURCES = poll.c
-poll_OBJECTS = poll.$(OBJEXT)
-poll_LDADD = $(LDADD)
-poll_DEPENDENCIES = libtests.a
-ppoll_SOURCES = ppoll.c
-ppoll_OBJECTS = ppoll.$(OBJEXT)
-ppoll_LDADD = $(LDADD)
-ppoll_DEPENDENCIES = libtests.a
-ppoll_v_SOURCES = ppoll-v.c
-ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
-ppoll_v_LDADD = $(LDADD)
-ppoll_v_DEPENDENCIES = libtests.a
-prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
-prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
-prctl_arg2_intptr_LDADD = $(LDADD)
-prctl_arg2_intptr_DEPENDENCIES = libtests.a
-prctl_dumpable_SOURCES = prctl-dumpable.c
-prctl_dumpable_OBJECTS = prctl-dumpable.$(OBJEXT)
-prctl_dumpable_LDADD = $(LDADD)
-prctl_dumpable_DEPENDENCIES = libtests.a
-prctl_name_SOURCES = prctl-name.c
-prctl_name_OBJECTS = prctl-name.$(OBJEXT)
-prctl_name_LDADD = $(LDADD)
-prctl_name_DEPENDENCIES = libtests.a
-prctl_no_args_SOURCES = prctl-no-args.c
-prctl_no_args_OBJECTS = prctl-no-args.$(OBJEXT)
-prctl_no_args_LDADD = $(LDADD)
-prctl_no_args_DEPENDENCIES = libtests.a
-prctl_pdeathsig_SOURCES = prctl-pdeathsig.c
-prctl_pdeathsig_OBJECTS = prctl-pdeathsig.$(OBJEXT)
-prctl_pdeathsig_LDADD = $(LDADD)
-prctl_pdeathsig_DEPENDENCIES = libtests.a
-prctl_seccomp_filter_v_SOURCES = prctl-seccomp-filter-v.c
-prctl_seccomp_filter_v_OBJECTS = prctl-seccomp-filter-v.$(OBJEXT)
-prctl_seccomp_filter_v_LDADD = $(LDADD)
-prctl_seccomp_filter_v_DEPENDENCIES = libtests.a
-prctl_seccomp_strict_SOURCES = prctl-seccomp-strict.c
-prctl_seccomp_strict_OBJECTS = prctl-seccomp-strict.$(OBJEXT)
-prctl_seccomp_strict_LDADD = $(LDADD)
-prctl_seccomp_strict_DEPENDENCIES = libtests.a
-prctl_securebits_SOURCES = prctl-securebits.c
-prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT)
-prctl_securebits_LDADD = $(LDADD)
-prctl_securebits_DEPENDENCIES = libtests.a
-prctl_tid_address_SOURCES = prctl-tid_address.c
-prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT)
-prctl_tid_address_LDADD = $(LDADD)
-prctl_tid_address_DEPENDENCIES = libtests.a
-prctl_tsc_SOURCES = prctl-tsc.c
-prctl_tsc_OBJECTS = prctl-tsc.$(OBJEXT)
-prctl_tsc_LDADD = $(LDADD)
-prctl_tsc_DEPENDENCIES = libtests.a
-pread64_pwrite64_SOURCES = pread64-pwrite64.c
-pread64_pwrite64_OBJECTS = \
- pread64_pwrite64-pread64-pwrite64.$(OBJEXT)
-pread64_pwrite64_LDADD = $(LDADD)
-pread64_pwrite64_DEPENDENCIES = libtests.a
-preadv_SOURCES = preadv.c
-preadv_OBJECTS = preadv-preadv.$(OBJEXT)
-preadv_LDADD = $(LDADD)
-preadv_DEPENDENCIES = libtests.a
-preadv_pwritev_SOURCES = preadv-pwritev.c
-preadv_pwritev_OBJECTS = preadv_pwritev-preadv-pwritev.$(OBJEXT)
-preadv_pwritev_LDADD = $(LDADD)
-preadv_pwritev_DEPENDENCIES = libtests.a
-preadv2_pwritev2_SOURCES = preadv2-pwritev2.c
-preadv2_pwritev2_OBJECTS = preadv2-pwritev2.$(OBJEXT)
-preadv2_pwritev2_LDADD = $(LDADD)
-preadv2_pwritev2_DEPENDENCIES = libtests.a
-print_maxfd_SOURCES = print_maxfd.c
-print_maxfd_OBJECTS = print_maxfd.$(OBJEXT)
-print_maxfd_LDADD = $(LDADD)
-print_maxfd_DEPENDENCIES = libtests.a
-printstr_SOURCES = printstr.c
-printstr_OBJECTS = printstr.$(OBJEXT)
-printstr_LDADD = $(LDADD)
-printstr_DEPENDENCIES = libtests.a
-prlimit64_SOURCES = prlimit64.c
-prlimit64_OBJECTS = prlimit64.$(OBJEXT)
-prlimit64_LDADD = $(LDADD)
-prlimit64_DEPENDENCIES = libtests.a
-process_vm_readv_SOURCES = process_vm_readv.c
-process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
-process_vm_readv_LDADD = $(LDADD)
-process_vm_readv_DEPENDENCIES = libtests.a
-process_vm_writev_SOURCES = process_vm_writev.c
-process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
-process_vm_writev_LDADD = $(LDADD)
-process_vm_writev_DEPENDENCIES = libtests.a
-pselect6_SOURCES = pselect6.c
-pselect6_OBJECTS = pselect6.$(OBJEXT)
-pselect6_LDADD = $(LDADD)
-pselect6_DEPENDENCIES = libtests.a
-ptrace_SOURCES = ptrace.c
-ptrace_OBJECTS = ptrace.$(OBJEXT)
-ptrace_LDADD = $(LDADD)
-ptrace_DEPENDENCIES = libtests.a
-pwritev_SOURCES = pwritev.c
-pwritev_OBJECTS = pwritev-pwritev.$(OBJEXT)
-pwritev_LDADD = $(LDADD)
-pwritev_DEPENDENCIES = libtests.a
-qual_fault_SOURCES = qual_fault.c
-qual_fault_OBJECTS = qual_fault.$(OBJEXT)
-qual_fault_LDADD = $(LDADD)
-qual_fault_DEPENDENCIES = libtests.a
-qual_inject_error_signal_SOURCES = qual_inject-error-signal.c
-qual_inject_error_signal_OBJECTS = qual_inject-error-signal.$(OBJEXT)
-qual_inject_error_signal_LDADD = $(LDADD)
-qual_inject_error_signal_DEPENDENCIES = libtests.a
-qual_inject_retval_SOURCES = qual_inject-retval.c
-qual_inject_retval_OBJECTS = qual_inject-retval.$(OBJEXT)
-qual_inject_retval_LDADD = $(LDADD)
-qual_inject_retval_DEPENDENCIES = libtests.a
-qual_inject_signal_SOURCES = qual_inject-signal.c
-qual_inject_signal_OBJECTS = qual_inject-signal.$(OBJEXT)
-qual_inject_signal_LDADD = $(LDADD)
-qual_inject_signal_DEPENDENCIES = libtests.a
-qual_signal_SOURCES = qual_signal.c
-qual_signal_OBJECTS = qual_signal.$(OBJEXT)
-qual_signal_LDADD = $(LDADD)
-qual_signal_DEPENDENCIES = libtests.a
-quotactl_SOURCES = quotactl.c
-quotactl_OBJECTS = quotactl.$(OBJEXT)
-quotactl_LDADD = $(LDADD)
-quotactl_DEPENDENCIES = libtests.a
-quotactl_v_SOURCES = quotactl-v.c
-quotactl_v_OBJECTS = quotactl-v.$(OBJEXT)
-quotactl_v_LDADD = $(LDADD)
-quotactl_v_DEPENDENCIES = libtests.a
-quotactl_xfs_SOURCES = quotactl-xfs.c
-quotactl_xfs_OBJECTS = quotactl-xfs.$(OBJEXT)
-quotactl_xfs_LDADD = $(LDADD)
-quotactl_xfs_DEPENDENCIES = libtests.a
-quotactl_xfs_v_SOURCES = quotactl-xfs-v.c
-quotactl_xfs_v_OBJECTS = quotactl-xfs-v.$(OBJEXT)
-quotactl_xfs_v_LDADD = $(LDADD)
-quotactl_xfs_v_DEPENDENCIES = libtests.a
-read_write_SOURCES = read-write.c
-read_write_OBJECTS = read-write.$(OBJEXT)
-read_write_LDADD = $(LDADD)
-read_write_DEPENDENCIES = libtests.a
-readahead_SOURCES = readahead.c
-readahead_OBJECTS = readahead.$(OBJEXT)
-readahead_LDADD = $(LDADD)
-readahead_DEPENDENCIES = libtests.a
-readdir_SOURCES = readdir.c
-readdir_OBJECTS = readdir.$(OBJEXT)
-readdir_LDADD = $(LDADD)
-readdir_DEPENDENCIES = libtests.a
-readlink_SOURCES = readlink.c
-readlink_OBJECTS = readlink.$(OBJEXT)
-readlink_LDADD = $(LDADD)
-readlink_DEPENDENCIES = libtests.a
-readlinkat_SOURCES = readlinkat.c
-readlinkat_OBJECTS = readlinkat.$(OBJEXT)
-readlinkat_LDADD = $(LDADD)
-readlinkat_DEPENDENCIES = libtests.a
-readv_SOURCES = readv.c
-readv_OBJECTS = readv.$(OBJEXT)
-readv_LDADD = $(LDADD)
-readv_DEPENDENCIES = libtests.a
-reboot_SOURCES = reboot.c
-reboot_OBJECTS = reboot.$(OBJEXT)
-reboot_LDADD = $(LDADD)
-reboot_DEPENDENCIES = libtests.a
-recvfrom_SOURCES = recvfrom.c
-recvfrom_OBJECTS = recvfrom.$(OBJEXT)
-recvfrom_LDADD = $(LDADD)
-recvfrom_DEPENDENCIES = libtests.a
-recvmmsg_timeout_SOURCES = recvmmsg-timeout.c
-recvmmsg_timeout_OBJECTS = recvmmsg-timeout.$(OBJEXT)
-recvmmsg_timeout_LDADD = $(LDADD)
-recvmmsg_timeout_DEPENDENCIES = libtests.a
-recvmsg_SOURCES = recvmsg.c
-recvmsg_OBJECTS = recvmsg.$(OBJEXT)
-recvmsg_LDADD = $(LDADD)
-recvmsg_DEPENDENCIES = libtests.a
-redirect_fds_SOURCES = redirect-fds.c
-redirect_fds_OBJECTS = redirect-fds.$(OBJEXT)
-redirect_fds_LDADD = $(LDADD)
-redirect_fds_DEPENDENCIES = libtests.a
-remap_file_pages_SOURCES = remap_file_pages.c
-remap_file_pages_OBJECTS = remap_file_pages.$(OBJEXT)
-remap_file_pages_LDADD = $(LDADD)
-remap_file_pages_DEPENDENCIES = libtests.a
-rename_SOURCES = rename.c
-rename_OBJECTS = rename.$(OBJEXT)
-rename_LDADD = $(LDADD)
-rename_DEPENDENCIES = libtests.a
-renameat_SOURCES = renameat.c
-renameat_OBJECTS = renameat.$(OBJEXT)
-renameat_LDADD = $(LDADD)
-renameat_DEPENDENCIES = libtests.a
-renameat2_SOURCES = renameat2.c
-renameat2_OBJECTS = renameat2.$(OBJEXT)
-renameat2_LDADD = $(LDADD)
-renameat2_DEPENDENCIES = libtests.a
-request_key_SOURCES = request_key.c
-request_key_OBJECTS = request_key.$(OBJEXT)
-request_key_LDADD = $(LDADD)
-request_key_DEPENDENCIES = libtests.a
-restart_syscall_SOURCES = restart_syscall.c
-restart_syscall_OBJECTS = restart_syscall.$(OBJEXT)
-restart_syscall_LDADD = $(LDADD)
-restart_syscall_DEPENDENCIES = libtests.a
-rmdir_SOURCES = rmdir.c
-rmdir_OBJECTS = rmdir.$(OBJEXT)
-rmdir_LDADD = $(LDADD)
-rmdir_DEPENDENCIES = libtests.a
-rt_sigpending_SOURCES = rt_sigpending.c
-rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
-rt_sigpending_LDADD = $(LDADD)
-rt_sigpending_DEPENDENCIES = libtests.a
-rt_sigprocmask_SOURCES = rt_sigprocmask.c
-rt_sigprocmask_OBJECTS = rt_sigprocmask.$(OBJEXT)
-rt_sigprocmask_LDADD = $(LDADD)
-rt_sigprocmask_DEPENDENCIES = libtests.a
-rt_sigqueueinfo_SOURCES = rt_sigqueueinfo.c
-rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
-rt_sigqueueinfo_LDADD = $(LDADD)
-rt_sigqueueinfo_DEPENDENCIES = libtests.a
-rt_sigreturn_SOURCES = rt_sigreturn.c
-rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
-rt_sigreturn_LDADD = $(LDADD)
-rt_sigreturn_DEPENDENCIES = libtests.a
-rt_sigsuspend_SOURCES = rt_sigsuspend.c
-rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
-rt_sigsuspend_LDADD = $(LDADD)
-rt_sigsuspend_DEPENDENCIES = libtests.a
-rt_sigtimedwait_SOURCES = rt_sigtimedwait.c
-rt_sigtimedwait_OBJECTS = rt_sigtimedwait.$(OBJEXT)
-rt_sigtimedwait_LDADD = $(LDADD)
-rt_sigtimedwait_DEPENDENCIES = libtests.a
-rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
-rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
-rt_tgsigqueueinfo_LDADD = $(LDADD)
-rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
-sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
-sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
-sched_get_priority_mxx_LDADD = $(LDADD)
-sched_get_priority_mxx_DEPENDENCIES = libtests.a
-sched_rr_get_interval_SOURCES = sched_rr_get_interval.c
-sched_rr_get_interval_OBJECTS = sched_rr_get_interval.$(OBJEXT)
-sched_rr_get_interval_LDADD = $(LDADD)
-sched_rr_get_interval_DEPENDENCIES = libtests.a
-sched_xetaffinity_SOURCES = sched_xetaffinity.c
-sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
-sched_xetaffinity_LDADD = $(LDADD)
-sched_xetaffinity_DEPENDENCIES = libtests.a
-sched_xetattr_SOURCES = sched_xetattr.c
-sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
-sched_xetattr_LDADD = $(LDADD)
-sched_xetattr_DEPENDENCIES = libtests.a
-sched_xetparam_SOURCES = sched_xetparam.c
-sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
-sched_xetparam_LDADD = $(LDADD)
-sched_xetparam_DEPENDENCIES = libtests.a
-sched_xetscheduler_SOURCES = sched_xetscheduler.c
-sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
-sched_xetscheduler_LDADD = $(LDADD)
-sched_xetscheduler_DEPENDENCIES = libtests.a
-sched_yield_SOURCES = sched_yield.c
-sched_yield_OBJECTS = sched_yield.$(OBJEXT)
-sched_yield_LDADD = $(LDADD)
-sched_yield_DEPENDENCIES = libtests.a
-scm_rights_SOURCES = scm_rights.c
-scm_rights_OBJECTS = scm_rights.$(OBJEXT)
-scm_rights_LDADD = $(LDADD)
-scm_rights_DEPENDENCIES = libtests.a
-seccomp_filter_SOURCES = seccomp-filter.c
-seccomp_filter_OBJECTS = seccomp-filter.$(OBJEXT)
-seccomp_filter_LDADD = $(LDADD)
-seccomp_filter_DEPENDENCIES = libtests.a
-seccomp_filter_v_SOURCES = seccomp-filter-v.c
-seccomp_filter_v_OBJECTS = seccomp-filter-v.$(OBJEXT)
-seccomp_filter_v_LDADD = $(LDADD)
-seccomp_filter_v_DEPENDENCIES = libtests.a
-seccomp_strict_SOURCES = seccomp-strict.c
-seccomp_strict_OBJECTS = seccomp-strict.$(OBJEXT)
-seccomp_strict_LDADD = $(LDADD)
-seccomp_strict_DEPENDENCIES = libtests.a
-select_SOURCES = select.c
-select_OBJECTS = select.$(OBJEXT)
-select_LDADD = $(LDADD)
-select_DEPENDENCIES = libtests.a
-semop_SOURCES = semop.c
-semop_OBJECTS = semop.$(OBJEXT)
-semop_LDADD = $(LDADD)
-semop_DEPENDENCIES = libtests.a
-sendfile_SOURCES = sendfile.c
-sendfile_OBJECTS = sendfile.$(OBJEXT)
-sendfile_LDADD = $(LDADD)
-sendfile_DEPENDENCIES = libtests.a
-sendfile64_SOURCES = sendfile64.c
-sendfile64_OBJECTS = sendfile64.$(OBJEXT)
-sendfile64_LDADD = $(LDADD)
-sendfile64_DEPENDENCIES = libtests.a
-set_mempolicy_SOURCES = set_mempolicy.c
-set_mempolicy_OBJECTS = set_mempolicy.$(OBJEXT)
-set_mempolicy_LDADD = $(LDADD)
-set_mempolicy_DEPENDENCIES = libtests.a
-set_ptracer_any_SOURCES = set_ptracer_any.c
-set_ptracer_any_OBJECTS = set_ptracer_any.$(OBJEXT)
-set_ptracer_any_LDADD = $(LDADD)
-set_ptracer_any_DEPENDENCIES = libtests.a
-setdomainname_SOURCES = setdomainname.c
-setdomainname_OBJECTS = setdomainname.$(OBJEXT)
-setdomainname_LDADD = $(LDADD)
-setdomainname_DEPENDENCIES = libtests.a
-setfsgid_SOURCES = setfsgid.c
-setfsgid_OBJECTS = setfsgid.$(OBJEXT)
-setfsgid_LDADD = $(LDADD)
-setfsgid_DEPENDENCIES = libtests.a
-setfsgid32_SOURCES = setfsgid32.c
-setfsgid32_OBJECTS = setfsgid32.$(OBJEXT)
-setfsgid32_LDADD = $(LDADD)
-setfsgid32_DEPENDENCIES = libtests.a
-setfsuid_SOURCES = setfsuid.c
-setfsuid_OBJECTS = setfsuid.$(OBJEXT)
-setfsuid_LDADD = $(LDADD)
-setfsuid_DEPENDENCIES = libtests.a
-setfsuid32_SOURCES = setfsuid32.c
-setfsuid32_OBJECTS = setfsuid32.$(OBJEXT)
-setfsuid32_LDADD = $(LDADD)
-setfsuid32_DEPENDENCIES = libtests.a
-setgid_SOURCES = setgid.c
-setgid_OBJECTS = setgid.$(OBJEXT)
-setgid_LDADD = $(LDADD)
-setgid_DEPENDENCIES = libtests.a
-setgid32_SOURCES = setgid32.c
-setgid32_OBJECTS = setgid32.$(OBJEXT)
-setgid32_LDADD = $(LDADD)
-setgid32_DEPENDENCIES = libtests.a
-setgroups_SOURCES = setgroups.c
-setgroups_OBJECTS = setgroups.$(OBJEXT)
-setgroups_LDADD = $(LDADD)
-setgroups_DEPENDENCIES = libtests.a
-setgroups32_SOURCES = setgroups32.c
-setgroups32_OBJECTS = setgroups32.$(OBJEXT)
-setgroups32_LDADD = $(LDADD)
-setgroups32_DEPENDENCIES = libtests.a
-sethostname_SOURCES = sethostname.c
-sethostname_OBJECTS = sethostname.$(OBJEXT)
-sethostname_LDADD = $(LDADD)
-sethostname_DEPENDENCIES = libtests.a
-setns_SOURCES = setns.c
-setns_OBJECTS = setns.$(OBJEXT)
-setns_LDADD = $(LDADD)
-setns_DEPENDENCIES = libtests.a
-setregid_SOURCES = setregid.c
-setregid_OBJECTS = setregid.$(OBJEXT)
-setregid_LDADD = $(LDADD)
-setregid_DEPENDENCIES = libtests.a
-setregid32_SOURCES = setregid32.c
-setregid32_OBJECTS = setregid32.$(OBJEXT)
-setregid32_LDADD = $(LDADD)
-setregid32_DEPENDENCIES = libtests.a
-setresgid_SOURCES = setresgid.c
-setresgid_OBJECTS = setresgid.$(OBJEXT)
-setresgid_LDADD = $(LDADD)
-setresgid_DEPENDENCIES = libtests.a
-setresgid32_SOURCES = setresgid32.c
-setresgid32_OBJECTS = setresgid32.$(OBJEXT)
-setresgid32_LDADD = $(LDADD)
-setresgid32_DEPENDENCIES = libtests.a
-setresuid_SOURCES = setresuid.c
-setresuid_OBJECTS = setresuid.$(OBJEXT)
-setresuid_LDADD = $(LDADD)
-setresuid_DEPENDENCIES = libtests.a
-setresuid32_SOURCES = setresuid32.c
-setresuid32_OBJECTS = setresuid32.$(OBJEXT)
-setresuid32_LDADD = $(LDADD)
-setresuid32_DEPENDENCIES = libtests.a
-setreuid_SOURCES = setreuid.c
-setreuid_OBJECTS = setreuid.$(OBJEXT)
-setreuid_LDADD = $(LDADD)
-setreuid_DEPENDENCIES = libtests.a
-setreuid32_SOURCES = setreuid32.c
-setreuid32_OBJECTS = setreuid32.$(OBJEXT)
-setreuid32_LDADD = $(LDADD)
-setreuid32_DEPENDENCIES = libtests.a
-setrlimit_SOURCES = setrlimit.c
-setrlimit_OBJECTS = setrlimit.$(OBJEXT)
-setrlimit_LDADD = $(LDADD)
-setrlimit_DEPENDENCIES = libtests.a
-setuid_SOURCES = setuid.c
-setuid_OBJECTS = setuid.$(OBJEXT)
-setuid_LDADD = $(LDADD)
-setuid_DEPENDENCIES = libtests.a
-setuid32_SOURCES = setuid32.c
-setuid32_OBJECTS = setuid32.$(OBJEXT)
-setuid32_LDADD = $(LDADD)
-setuid32_DEPENDENCIES = libtests.a
-shmxt_SOURCES = shmxt.c
-shmxt_OBJECTS = shmxt.$(OBJEXT)
-shmxt_LDADD = $(LDADD)
-shmxt_DEPENDENCIES = libtests.a
-shutdown_SOURCES = shutdown.c
-shutdown_OBJECTS = shutdown.$(OBJEXT)
-shutdown_LDADD = $(LDADD)
-shutdown_DEPENDENCIES = libtests.a
-sigaction_SOURCES = sigaction.c
-sigaction_OBJECTS = sigaction.$(OBJEXT)
-sigaction_LDADD = $(LDADD)
-sigaction_DEPENDENCIES = libtests.a
-sigaltstack_SOURCES = sigaltstack.c
-sigaltstack_OBJECTS = sigaltstack.$(OBJEXT)
-sigaltstack_LDADD = $(LDADD)
-sigaltstack_DEPENDENCIES = libtests.a
-siginfo_SOURCES = siginfo.c
-siginfo_OBJECTS = siginfo.$(OBJEXT)
-siginfo_LDADD = $(LDADD)
-siginfo_DEPENDENCIES = libtests.a
-signal_receive_SOURCES = signal_receive.c
-signal_receive_OBJECTS = signal_receive.$(OBJEXT)
-signal_receive_LDADD = $(LDADD)
-signal_receive_DEPENDENCIES = libtests.a
-signalfd4_SOURCES = signalfd4.c
-signalfd4_OBJECTS = signalfd4.$(OBJEXT)
-signalfd4_LDADD = $(LDADD)
-signalfd4_DEPENDENCIES = libtests.a
-sigreturn_SOURCES = sigreturn.c
-sigreturn_OBJECTS = sigreturn.$(OBJEXT)
-sigreturn_LDADD = $(LDADD)
-sigreturn_DEPENDENCIES = libtests.a
-sigsuspend_SOURCES = sigsuspend.c
-sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
-sigsuspend_LDADD = $(LDADD)
-sigsuspend_DEPENDENCIES = libtests.a
-sleep_SOURCES = sleep.c
-sleep_OBJECTS = sleep.$(OBJEXT)
-sleep_LDADD = $(LDADD)
-sleep_DEPENDENCIES = libtests.a
-socketcall_SOURCES = socketcall.c
-socketcall_OBJECTS = socketcall.$(OBJEXT)
-socketcall_LDADD = $(LDADD)
-socketcall_DEPENDENCIES = libtests.a
-splice_SOURCES = splice.c
-splice_OBJECTS = splice.$(OBJEXT)
-splice_LDADD = $(LDADD)
-splice_DEPENDENCIES = libtests.a
-am_stack_fcall_OBJECTS = stack-fcall.$(OBJEXT) stack-fcall-0.$(OBJEXT) \
- stack-fcall-1.$(OBJEXT) stack-fcall-2.$(OBJEXT) \
- stack-fcall-3.$(OBJEXT)
-stack_fcall_OBJECTS = $(am_stack_fcall_OBJECTS)
-stack_fcall_LDADD = $(LDADD)
-stack_fcall_DEPENDENCIES = libtests.a
-stat_SOURCES = stat.c
-stat_OBJECTS = stat.$(OBJEXT)
-stat_LDADD = $(LDADD)
-stat_DEPENDENCIES = libtests.a
-stat64_SOURCES = stat64.c
-stat64_OBJECTS = stat64-stat64.$(OBJEXT)
-stat64_LDADD = $(LDADD)
-stat64_DEPENDENCIES = libtests.a
-statfs_SOURCES = statfs.c
-statfs_OBJECTS = statfs-statfs.$(OBJEXT)
-statfs_LDADD = $(LDADD)
-statfs_DEPENDENCIES = libtests.a
-statfs64_SOURCES = statfs64.c
-statfs64_OBJECTS = statfs64.$(OBJEXT)
-statfs64_LDADD = $(LDADD)
-statfs64_DEPENDENCIES = libtests.a
-statx_SOURCES = statx.c
-statx_OBJECTS = statx.$(OBJEXT)
-statx_LDADD = $(LDADD)
-statx_DEPENDENCIES = libtests.a
-swap_SOURCES = swap.c
-swap_OBJECTS = swap.$(OBJEXT)
-swap_LDADD = $(LDADD)
-swap_DEPENDENCIES = libtests.a
-sxetmask_SOURCES = sxetmask.c
-sxetmask_OBJECTS = sxetmask.$(OBJEXT)
-sxetmask_LDADD = $(LDADD)
-sxetmask_DEPENDENCIES = libtests.a
-symlink_SOURCES = symlink.c
-symlink_OBJECTS = symlink.$(OBJEXT)
-symlink_LDADD = $(LDADD)
-symlink_DEPENDENCIES = libtests.a
-symlinkat_SOURCES = symlinkat.c
-symlinkat_OBJECTS = symlinkat.$(OBJEXT)
-symlinkat_LDADD = $(LDADD)
-symlinkat_DEPENDENCIES = libtests.a
-sync_SOURCES = sync.c
-sync_OBJECTS = sync.$(OBJEXT)
-sync_LDADD = $(LDADD)
-sync_DEPENDENCIES = libtests.a
-sync_file_range_SOURCES = sync_file_range.c
-sync_file_range_OBJECTS = sync_file_range.$(OBJEXT)
-sync_file_range_LDADD = $(LDADD)
-sync_file_range_DEPENDENCIES = libtests.a
-sync_file_range2_SOURCES = sync_file_range2.c
-sync_file_range2_OBJECTS = sync_file_range2.$(OBJEXT)
-sync_file_range2_LDADD = $(LDADD)
-sync_file_range2_DEPENDENCIES = libtests.a
-sysinfo_SOURCES = sysinfo.c
-sysinfo_OBJECTS = sysinfo.$(OBJEXT)
-sysinfo_LDADD = $(LDADD)
-sysinfo_DEPENDENCIES = libtests.a
-syslog_SOURCES = syslog.c
-syslog_OBJECTS = syslog.$(OBJEXT)
-syslog_LDADD = $(LDADD)
-syslog_DEPENDENCIES = libtests.a
-tee_SOURCES = tee.c
-tee_OBJECTS = tee.$(OBJEXT)
-tee_LDADD = $(LDADD)
-tee_DEPENDENCIES = libtests.a
-threads_execve_SOURCES = threads-execve.c
-threads_execve_OBJECTS = threads-execve.$(OBJEXT)
-threads_execve_DEPENDENCIES = $(LDADD)
-time_SOURCES = time.c
-time_OBJECTS = time.$(OBJEXT)
-time_LDADD = $(LDADD)
-time_DEPENDENCIES = libtests.a
-timer_create_SOURCES = timer_create.c
-timer_create_OBJECTS = timer_create.$(OBJEXT)
-timer_create_LDADD = $(LDADD)
-timer_create_DEPENDENCIES = libtests.a
-timer_xettime_SOURCES = timer_xettime.c
-timer_xettime_OBJECTS = timer_xettime.$(OBJEXT)
-timer_xettime_LDADD = $(LDADD)
-timer_xettime_DEPENDENCIES = libtests.a
-timerfd_xettime_SOURCES = timerfd_xettime.c
-timerfd_xettime_OBJECTS = timerfd_xettime.$(OBJEXT)
-timerfd_xettime_LDADD = $(LDADD)
-timerfd_xettime_DEPENDENCIES = libtests.a
-times_SOURCES = times.c
-times_OBJECTS = times.$(OBJEXT)
-times_DEPENDENCIES = $(LDADD)
-times_fail_SOURCES = times-fail.c
-times_fail_OBJECTS = times-fail.$(OBJEXT)
-times_fail_LDADD = $(LDADD)
-times_fail_DEPENDENCIES = libtests.a
-truncate_SOURCES = truncate.c
-truncate_OBJECTS = truncate.$(OBJEXT)
-truncate_LDADD = $(LDADD)
-truncate_DEPENDENCIES = libtests.a
-truncate64_SOURCES = truncate64.c
-truncate64_OBJECTS = truncate64-truncate64.$(OBJEXT)
-truncate64_LDADD = $(LDADD)
-truncate64_DEPENDENCIES = libtests.a
-ugetrlimit_SOURCES = ugetrlimit.c
-ugetrlimit_OBJECTS = ugetrlimit.$(OBJEXT)
-ugetrlimit_LDADD = $(LDADD)
-ugetrlimit_DEPENDENCIES = libtests.a
-uio_SOURCES = uio.c
-uio_OBJECTS = uio-uio.$(OBJEXT)
-uio_LDADD = $(LDADD)
-uio_DEPENDENCIES = libtests.a
-umask_SOURCES = umask.c
-umask_OBJECTS = umask.$(OBJEXT)
-umask_LDADD = $(LDADD)
-umask_DEPENDENCIES = libtests.a
-umount_SOURCES = umount.c
-umount_OBJECTS = umount.$(OBJEXT)
-umount_LDADD = $(LDADD)
-umount_DEPENDENCIES = libtests.a
-umount2_SOURCES = umount2.c
-umount2_OBJECTS = umount2.$(OBJEXT)
-umount2_LDADD = $(LDADD)
-umount2_DEPENDENCIES = libtests.a
-umoven_illptr_SOURCES = umoven-illptr.c
-umoven_illptr_OBJECTS = umoven-illptr.$(OBJEXT)
-umoven_illptr_LDADD = $(LDADD)
-umoven_illptr_DEPENDENCIES = libtests.a
-umovestr_SOURCES = umovestr.c
-umovestr_OBJECTS = umovestr.$(OBJEXT)
-umovestr_LDADD = $(LDADD)
-umovestr_DEPENDENCIES = libtests.a
-umovestr_illptr_SOURCES = umovestr-illptr.c
-umovestr_illptr_OBJECTS = umovestr-illptr.$(OBJEXT)
-umovestr_illptr_LDADD = $(LDADD)
-umovestr_illptr_DEPENDENCIES = libtests.a
-umovestr2_SOURCES = umovestr2.c
-umovestr2_OBJECTS = umovestr2.$(OBJEXT)
-umovestr2_LDADD = $(LDADD)
-umovestr2_DEPENDENCIES = libtests.a
-umovestr3_SOURCES = umovestr3.c
-umovestr3_OBJECTS = umovestr3.$(OBJEXT)
-umovestr3_LDADD = $(LDADD)
-umovestr3_DEPENDENCIES = libtests.a
-uname_SOURCES = uname.c
-uname_OBJECTS = uname.$(OBJEXT)
-uname_LDADD = $(LDADD)
-uname_DEPENDENCIES = libtests.a
-unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
-unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
-unix_pair_send_recv_LDADD = $(LDADD)
-unix_pair_send_recv_DEPENDENCIES = libtests.a
-unix_pair_sendto_recvfrom_SOURCES = unix-pair-sendto-recvfrom.c
-unix_pair_sendto_recvfrom_OBJECTS = \
- unix-pair-sendto-recvfrom.$(OBJEXT)
-unix_pair_sendto_recvfrom_LDADD = $(LDADD)
-unix_pair_sendto_recvfrom_DEPENDENCIES = libtests.a
-unlink_SOURCES = unlink.c
-unlink_OBJECTS = unlink.$(OBJEXT)
-unlink_LDADD = $(LDADD)
-unlink_DEPENDENCIES = libtests.a
-unlinkat_SOURCES = unlinkat.c
-unlinkat_OBJECTS = unlinkat.$(OBJEXT)
-unlinkat_LDADD = $(LDADD)
-unlinkat_DEPENDENCIES = libtests.a
-unshare_SOURCES = unshare.c
-unshare_OBJECTS = unshare.$(OBJEXT)
-unshare_LDADD = $(LDADD)
-unshare_DEPENDENCIES = libtests.a
-userfaultfd_SOURCES = userfaultfd.c
-userfaultfd_OBJECTS = userfaultfd.$(OBJEXT)
-userfaultfd_LDADD = $(LDADD)
-userfaultfd_DEPENDENCIES = libtests.a
-ustat_SOURCES = ustat.c
-ustat_OBJECTS = ustat.$(OBJEXT)
-ustat_LDADD = $(LDADD)
-ustat_DEPENDENCIES = libtests.a
-utime_SOURCES = utime.c
-utime_OBJECTS = utime.$(OBJEXT)
-utime_LDADD = $(LDADD)
-utime_DEPENDENCIES = libtests.a
-utimensat_SOURCES = utimensat.c
-utimensat_OBJECTS = utimensat.$(OBJEXT)
-utimensat_LDADD = $(LDADD)
-utimensat_DEPENDENCIES = libtests.a
-utimes_SOURCES = utimes.c
-utimes_OBJECTS = utimes.$(OBJEXT)
-utimes_LDADD = $(LDADD)
-utimes_DEPENDENCIES = libtests.a
-vfork_f_SOURCES = vfork-f.c
-vfork_f_OBJECTS = vfork-f.$(OBJEXT)
-vfork_f_LDADD = $(LDADD)
-vfork_f_DEPENDENCIES = libtests.a
-vhangup_SOURCES = vhangup.c
-vhangup_OBJECTS = vhangup.$(OBJEXT)
-vhangup_LDADD = $(LDADD)
-vhangup_DEPENDENCIES = libtests.a
-vmsplice_SOURCES = vmsplice.c
-vmsplice_OBJECTS = vmsplice.$(OBJEXT)
-vmsplice_LDADD = $(LDADD)
-vmsplice_DEPENDENCIES = libtests.a
-wait4_SOURCES = wait4.c
-wait4_OBJECTS = wait4.$(OBJEXT)
-wait4_LDADD = $(LDADD)
-wait4_DEPENDENCIES = libtests.a
-wait4_v_SOURCES = wait4-v.c
-wait4_v_OBJECTS = wait4-v.$(OBJEXT)
-wait4_v_LDADD = $(LDADD)
-wait4_v_DEPENDENCIES = libtests.a
-waitid_SOURCES = waitid.c
-waitid_OBJECTS = waitid.$(OBJEXT)
-waitid_LDADD = $(LDADD)
-waitid_DEPENDENCIES = libtests.a
-waitid_v_SOURCES = waitid-v.c
-waitid_v_OBJECTS = waitid-v.$(OBJEXT)
-waitid_v_LDADD = $(LDADD)
-waitid_v_DEPENDENCIES = libtests.a
-waitpid_SOURCES = waitpid.c
-waitpid_OBJECTS = waitpid.$(OBJEXT)
-waitpid_LDADD = $(LDADD)
-waitpid_DEPENDENCIES = libtests.a
-xattr_SOURCES = xattr.c
-xattr_OBJECTS = xattr.$(OBJEXT)
-xattr_LDADD = $(LDADD)
-xattr_DEPENDENCIES = libtests.a
-xattr_strings_SOURCES = xattr-strings.c
-xattr_strings_OBJECTS = xattr-strings.$(OBJEXT)
-xattr_strings_LDADD = $(LDADD)
-xattr_strings_DEPENDENCIES = libtests.a
-xet_robust_list_SOURCES = xet_robust_list.c
-xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
-xet_robust_list_LDADD = $(LDADD)
-xet_robust_list_DEPENDENCIES = libtests.a
-xetitimer_SOURCES = xetitimer.c
-xetitimer_OBJECTS = xetitimer.$(OBJEXT)
-xetitimer_LDADD = $(LDADD)
-xetitimer_DEPENDENCIES = libtests.a
-xetpgid_SOURCES = xetpgid.c
-xetpgid_OBJECTS = xetpgid.$(OBJEXT)
-xetpgid_LDADD = $(LDADD)
-xetpgid_DEPENDENCIES = libtests.a
-xetpriority_SOURCES = xetpriority.c
-xetpriority_OBJECTS = xetpriority.$(OBJEXT)
-xetpriority_LDADD = $(LDADD)
-xetpriority_DEPENDENCIES = libtests.a
-xettimeofday_SOURCES = xettimeofday.c
-xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
-xettimeofday_LDADD = $(LDADD)
-xettimeofday_DEPENDENCIES = libtests.a
-AM_V_P = $(am__v_P_$(V))
-am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-am__v_lt_1 =
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
- access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
- attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
- perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
- ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
- prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
- preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
- process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
- pwritev.c qual_fault.c qual_inject-error-signal.c \
- qual_inject-retval.c qual_inject-signal.c qual_signal.c \
- quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
- read-write.c readahead.c readdir.c readlink.c readlinkat.c \
- readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
- redirect-fds.c remap_file_pages.c rename.c renameat.c \
- renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
- $(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
- statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
- threads-execve.c time.c timer_create.c timer_xettime.c \
- timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
- ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
- umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
-DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
- access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
- attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
- perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
- ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
- prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
- preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
- process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
- pwritev.c qual_fault.c qual_inject-error-signal.c \
- qual_inject-retval.c qual_inject-signal.c qual_signal.c \
- quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
- read-write.c readahead.c readdir.c readlink.c readlinkat.c \
- readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
- redirect-fds.c remap_file_pages.c rename.c renameat.c \
- renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
- $(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
- statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
- threads-execve.c time.c timer_create.c timer_xettime.c \
- timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
- ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
- umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__extra_recursive_targets = check-valgrind-recursive
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors_dummy = \
- mgn= red= grn= lgn= blu= brg= std=; \
- am__color_tests=no
-am__tty_colors = { \
- $(am__tty_colors_dummy); \
- if test "X$(AM_COLOR_TESTS)" = Xno; then \
- am__color_tests=no; \
- elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
- am__color_tests=yes; \
- elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
- am__color_tests=yes; \
- fi; \
- if test $$am__color_tests = yes; then \
- red=''; \
- grn=''; \
- lgn=''; \
- blu=''; \
- mgn=''; \
- brg=''; \
- std=''; \
- fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__recheck_rx = ^[ ]*:recheck:[ ]*
-am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
-am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
- recheck = 1; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- { \
- if ((getline line2 < ($$0 ".log")) < 0) \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
- { \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
- { \
- break; \
- } \
- }; \
- if (recheck) \
- print $$0; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
- print "fatal: making $@: " msg | "cat >&2"; \
- exit 1; \
-} \
-function rst_section(header) \
-{ \
- print header; \
- len = length(header); \
- for (i = 1; i <= len; i = i + 1) \
- printf "="; \
- printf "\n\n"; \
-} \
-{ \
- copy_in_global_log = 1; \
- global_test_result = "RUN"; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".trs"); \
- if (line ~ /$(am__global_test_result_rx)/) \
- { \
- sub("$(am__global_test_result_rx)", "", line); \
- sub("[ ]*$$", "", line); \
- global_test_result = line; \
- } \
- else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
- copy_in_global_log = 0; \
- }; \
- if (copy_in_global_log) \
- { \
- rst_section(global_test_result ": " $$0); \
- while ((rc = (getline line < ($$0 ".log"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".log"); \
- print line; \
- }; \
- printf "\n"; \
- }; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
- --color-tests "$$am__color_tests" \
- --enable-hard-errors "$$am__enable_hard_errors" \
- --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test. Creates the
-# directory for the log if needed. Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup); \
-$(am__vpath_adj_setup) $(am__vpath_adj) \
-$(am__tty_colors); \
-srcdir=$(srcdir); export srcdir; \
-case "$@" in \
- */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
- *) am__odir=.;; \
-esac; \
-test "x$$am__odir" = x"." || test -d "$$am__odir" \
- || $(MKDIR_P) "$$am__odir" || exit $$?; \
-if test -f "./$$f"; then dir=./; \
-elif test -f "$$f"; then dir=; \
-else dir="$(srcdir)/"; fi; \
-tst=$$dir$$f; log='$@'; \
-if test -n '$(DISABLE_HARD_ERRORS)'; then \
- am__enable_hard_errors=no; \
-else \
- am__enable_hard_errors=yes; \
-fi; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- am__expect_failure=yes;; \
- *) \
- am__expect_failure=no;; \
-esac; \
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed). The result is saved in the shell variable
-# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
- bases='$(TEST_LOGS)'; \
- bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
- bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check recheck
-#am__EXEEXT_2 = strace-k.test
-TEST_SUITE_LOG = test-suite.log
-TEST_EXTENSIONS = .test
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:.log=.log)
-TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
-TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
- $(TEST_LOG_FLAGS)
-am__set_b = \
- case '$@' in \
- */*) \
- case '$*' in \
- */*) b='$*';; \
- *) b=`echo '$@' | sed 's/\.log$$//'`; \
- esac;; \
- *) \
- b='$*';; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /tmp/strace-4.17/missing aclocal-1.14
-AMTAR = $${TAR-tar}
-AM_DEFAULT_VERBOSITY = 1
-AUTOCONF = ${SHELL} /tmp/strace-4.17/missing autoconf
-AUTOHEADER = ${SHELL} /tmp/strace-4.17/missing autoheader
-AUTOMAKE = ${SHELL} /tmp/strace-4.17/missing automake-1.14
-AWK = gawk
-BUILD_EXEEXT =
-BUILD_OBJEXT =
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CC_FOR_BUILD = gcc
-CFLAGS = -g -O2
-CFLAGS_FOR_BUILD = -g -O2
-CODE_COVERAGE_CFLAGS =
-CODE_COVERAGE_CPPFLAGS =
-CODE_COVERAGE_CXXFLAGS =
-CODE_COVERAGE_ENABLED = no
-CODE_COVERAGE_LDFLAGS =
-COPYRIGHT_YEAR = 2017
-CPP = gcc -E
-CPPFLAGS =
-CPPFLAGS_FOR_BUILD =
-CPP_FOR_BUILD = gcc -E
-CYGPATH_W = echo
-DEB_CHANGELOGTIME = Thu, 25 May 2017 15:09:49 -0700
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = /bin/grep -E
-ENABLE_VALGRIND_drd = no
-ENABLE_VALGRIND_helgrind = no
-ENABLE_VALGRIND_memcheck = yes
-ENABLE_VALGRIND_sgcheck =
-EXEEXT =
-GCOV =
-GENHTML =
-GREP = /bin/grep
-INSTALL = /usr/bin/install -c
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
-LCOV =
-LDFLAGS =
-LDFLAGS_FOR_BUILD =
-LIBOBJS =
-LIBS =
-LTLIBOBJS =
-MAINT = #
-MAKEINFO = ${SHELL} /tmp/strace-4.17/missing makeinfo
-MIPS_ABI =
-MKDIR_P = /bin/mkdir -p
-OBJEXT = o
-PACKAGE = strace
-PACKAGE_BUGREPORT = strace-devel@lists.sourceforge.net
-PACKAGE_NAME = strace
-PACKAGE_STRING = strace 4.17
-PACKAGE_TARNAME = strace
-PACKAGE_URL = https://strace.io
-PACKAGE_VERSION = 4.17
-PATH_SEPARATOR = :
-PERL = /usr/bin/perl
-RANLIB = ranlib
-RPM_CHANGELOGTIME = Thu May 25 2017
-SED = /bin/sed
-SET_MAKE =
-SHELL = /bin/sh
-STRIP =
-VALGRIND = valgrind
-VALGRIND_ENABLED = yes
-VERSION = 4.17
-WARN_CFLAGS = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
-WARN_CFLAGS_FOR_BUILD = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
-abs_builddir = /tmp/strace-4.17/tests-m32
-abs_srcdir = /tmp/strace-4.17/tests-m32
-abs_top_builddir = /tmp/strace-4.17
-abs_top_srcdir = /tmp/strace-4.17
-ac_ct_CC = gcc
-ac_ct_CC_FOR_BUILD = gcc
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = $${TAR-tar} chof - "$$tardir"
-am__untar = $${TAR-tar} xf -
-arch = x86_64
-arch_m32 = i386
-arch_mx32 = x32
-bindir = ${exec_prefix}/bin
-build = x86_64-pc-linux-gnu
-build_alias =
-build_cpu = x86_64
-build_os = linux-gnu
-build_vendor = pc
-builddir = .
-datadir = ${datarootdir}
-datarootdir = ${prefix}/share
-dl_LIBS = -ldl
-docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
-dvidir = ${docdir}
-exec_prefix = ${prefix}
-host = x86_64-pc-linux-gnu
-host_alias =
-host_cpu = x86_64
-host_os = linux-gnu
-host_vendor = pc
-htmldir = ${docdir}
-includedir = ${prefix}/include
-infodir = ${datarootdir}/info
-install_sh = ${SHELL} /tmp/strace-4.17/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-libunwind_CPPFLAGS =
-libunwind_LDFLAGS =
-libunwind_LIBS =
-localedir = ${datarootdir}/locale
-localstatedir = ${prefix}/var
-mandir = ${datarootdir}/man
-mkdir_p = $(MKDIR_P)
-oldincludedir = /usr/include
-pdfdir = ${docdir}
-prefix = /usr/local
-program_transform_name = s,x,x,
-psdir = ${docdir}
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-srcdir = .
-sysconfdir = ${prefix}/etc
-target_alias =
-top_build_prefix = ../
-top_builddir = ..
-top_srcdir = ..
-valgrind_enabled_tools = memcheck
-valgrind_tools = memcheck helgrind drd sgcheck
-OS = linux
-ARCH = i386
-MPERS_NAME = m32
-ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) -m32
-AM_CFLAGS = $(WARN_CFLAGS)
-AM_CPPFLAGS = $(ARCH_MFLAGS) \
- -I$(builddir) \
- -I$(top_builddir)/$(OS)/$(ARCH) \
- -I$(top_srcdir)/$(OS)/$(ARCH) \
- -I$(top_builddir)/$(OS) \
- -I$(top_srcdir)/$(OS) \
- -I$(top_builddir) \
- -I$(top_srcdir)
-
-AM_LDFLAGS = $(ARCH_MFLAGS)
-libtests_a_SOURCES = \
- errno2name.c \
- error_msg.c \
- fill_memory.c \
- get_page_size.c \
- get_sigset_size.c \
- hexdump_strdup.c \
- hexquote_strndup.c \
- inode_of_sockfd.c \
- libmmsg.c \
- libsocketcall.c \
- overflowuid.c \
- pipe_maxfd.c \
- print_quoted_string.c \
- print_time.c \
- printflags.c \
- printxval.c \
- signal2name.c \
- skip_unavailable.c \
- sprintrc.c \
- tail_alloc.c \
- tests.h \
- tprintf.c \
- # end of libtests_a_SOURCES
-
-libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-check_LIBRARIES = libtests.a
-LDADD = libtests.a
-
-# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
-PURE_EXECUTABLES = \
- _newselect \
- accept \
- accept4 \
- access \
- acct \
- add_key \
- adjtimex \
- aio \
- alarm \
- bpf \
- brk \
- btrfs \
- caps \
- chmod \
- chown \
- chown32 \
- chroot \
- clock_adjtime \
- clock_nanosleep \
- clock_xettime \
- copy_file_range \
- creat \
- delete_module \
- dup \
- dup2 \
- dup3 \
- epoll_create \
- epoll_create1 \
- epoll_ctl \
- epoll_pwait \
- epoll_wait \
- erestartsys \
- eventfd \
- execve \
- execveat \
- faccessat \
- fadvise64 \
- fadvise64_64 \
- fallocate \
- fanotify_init \
- fanotify_mark \
- fchdir \
- fchmod \
- fchmodat \
- fchown \
- fchown32 \
- fchownat \
- fcntl \
- fcntl64 \
- fdatasync \
- file_handle \
- file_ioctl \
- finit_module \
- flock \
- fstat \
- fstat64 \
- fstatat64 \
- fstatfs \
- fstatfs64 \
- fsync \
- ftruncate \
- ftruncate64 \
- futex \
- futimesat \
- get_mempolicy \
- getcpu \
- getcwd \
- getdents \
- getdents64 \
- getegid \
- getegid32 \
- geteuid \
- geteuid32 \
- getgid \
- getgid32 \
- getgroups \
- getgroups32 \
- getpeername \
- getpgrp \
- getpid \
- getppid \
- getrandom \
- getresgid \
- getresgid32 \
- getresuid \
- getresuid32 \
- getrlimit \
- getrusage \
- getsid \
- getsockname \
- getuid \
- getuid32 \
- getxxid \
- inet-cmsg \
- init_module \
- inotify \
- inotify_init1 \
- ioctl \
- ioctl_block \
- ioctl_dm \
- ioctl_evdev \
- ioctl_loop \
- ioctl_mtd \
- ioctl_rtc \
- ioctl_scsi \
- ioctl_sg_io_v3 \
- ioctl_sg_io_v4 \
- ioctl_sock_gifconf \
- ioctl_uffdio \
- ioctl_v4l2 \
- ioperm \
- iopl \
- ioprio \
- ip_mreq \
- ipc \
- ipc_msg \
- ipc_msgbuf \
- ipc_sem \
- ipc_shm \
- kcmp \
- kexec_file_load \
- kexec_load \
- keyctl \
- kill \
- lchown \
- lchown32 \
- link \
- linkat \
- llseek \
- lookup_dcookie \
- lseek \
- lstat \
- lstat64 \
- madvise \
- mbind \
- membarrier \
- memfd_create \
- migrate_pages \
- mincore \
- mkdir \
- mkdirat \
- mknod \
- mknodat \
- mlock \
- mlock2 \
- mlockall \
- mmap \
- mmap64 \
- mmsg \
- mmsg_name \
- mount \
- move_pages \
- mq \
- mq_sendrecv \
- mq_sendrecv-read \
- mq_sendrecv-write \
- msg_control \
- msg_name \
- munlockall \
- nanosleep \
- net-icmp_filter \
- net-sockaddr \
- net-y-unix \
- net-yy-inet \
- net-yy-netlink \
- net-yy-unix \
- netlink_protocol \
- newfstatat \
- old_mmap \
- oldfstat \
- oldlstat \
- oldselect \
- oldstat \
- open \
- openat \
- osf_utimes \
- pause \
- perf_event_open \
- personality \
- pipe \
- pipe2 \
- pkey_alloc \
- pkey_free \
- pkey_mprotect \
- poll \
- ppoll \
- prctl-arg2-intptr \
- prctl-dumpable \
- prctl-name \
- prctl-no-args \
- prctl-pdeathsig \
- prctl-securebits \
- prctl-tid_address \
- prctl-tsc \
- pread64-pwrite64 \
- preadv \
- preadv-pwritev \
- preadv2-pwritev2 \
- printstr \
- prlimit64 \
- process_vm_readv \
- process_vm_writev \
- pselect6 \
- ptrace \
- pwritev \
- quotactl \
- quotactl-xfs \
- read-write \
- readahead \
- readdir \
- readlink \
- readlinkat \
- readv \
- reboot \
- recvfrom \
- recvmmsg-timeout \
- recvmsg \
- remap_file_pages \
- rename \
- renameat \
- renameat2 \
- request_key \
- rmdir \
- rt_sigpending \
- rt_sigprocmask \
- rt_sigqueueinfo \
- rt_sigreturn \
- rt_sigsuspend \
- rt_sigtimedwait \
- rt_tgsigqueueinfo \
- sched_get_priority_mxx \
- sched_rr_get_interval \
- sched_xetaffinity \
- sched_xetattr \
- sched_xetparam \
- sched_xetscheduler \
- sched_yield \
- seccomp-filter \
- select \
- semop \
- sendfile \
- sendfile64 \
- set_mempolicy \
- setdomainname \
- setfsgid \
- setfsgid32 \
- setfsuid \
- setfsuid32 \
- setgid \
- setgid32 \
- setgroups \
- setgroups32 \
- sethostname \
- setns \
- setregid \
- setregid32 \
- setresgid \
- setresgid32 \
- setresuid \
- setresuid32 \
- setreuid \
- setreuid32 \
- setrlimit \
- setuid \
- setuid32 \
- shmxt \
- shutdown \
- sigaction \
- sigaltstack \
- siginfo \
- signalfd4 \
- sigreturn \
- sigsuspend \
- socketcall \
- splice \
- stat \
- stat64 \
- statfs \
- statfs64 \
- statx \
- swap \
- sxetmask \
- symlink \
- symlinkat \
- sync \
- sync_file_range \
- sync_file_range2 \
- sysinfo \
- syslog \
- tee \
- time \
- timer_create \
- timer_xettime \
- timerfd_xettime \
- times \
- times-fail \
- truncate \
- truncate64 \
- ugetrlimit \
- uio \
- umask \
- umount \
- umount2 \
- umoven-illptr \
- umovestr \
- umovestr-illptr \
- umovestr2 \
- umovestr3 \
- uname \
- unlink \
- unlinkat \
- unshare \
- userfaultfd \
- ustat \
- utime \
- utimensat \
- utimes \
- vhangup \
- vmsplice \
- wait4 \
- waitid \
- waitpid \
- xattr \
- xattr-strings \
- xet_robust_list \
- xetitimer \
- xetpgid \
- xetpriority \
- xettimeofday \
- #
-
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
-count_f_LDADD = -lpthread $(LDADD)
-filter_unavailable_LDADD = -lpthread $(LDADD)
-fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-mq_LDADD = -lrt $(LDADD)
-mq_sendrecv_LDADD = -lrt $(LDADD)
-mq_sendrecv_read_LDADD = -lrt $(LDADD)
-mq_sendrecv_write_LDADD = -lrt $(LDADD)
-newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-pc_LDADD = $(dl_LIBS) $(LDADD)
-pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-threads_execve_LDADD = -lrt -lpthread $(LDADD)
-times_LDADD = -lrt $(LDADD)
-truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-stack_fcall_SOURCES = stack-fcall.c \
- stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
-
-
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
-GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
- access.gen.test acct.gen.test add_key.gen.test \
- adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
- chroot.gen.test clock.gen.test clock_adjtime.gen.test \
- clock_nanosleep.gen.test clock_xettime.gen.test \
- copy_file_range.gen.test creat.gen.test delete_module.gen.test \
- dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
- epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
- epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
- execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
- fallocate.gen.test fanotify_init.gen.test \
- fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
- fchmodat.gen.test fchown.gen.test fchown32.gen.test \
- fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
- fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
- finit_module.gen.test flock.gen.test fork-f.gen.test \
- fstat.gen.test fstat64.gen.test fstatat64.gen.test \
- fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
- ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
- get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
- getdents.gen.test getdents64.gen.test getegid.gen.test \
- getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
- getgid.gen.test getgid32.gen.test getgroups.gen.test \
- getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
- getpid.gen.test getppid.gen.test getrandom.gen.test \
- getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
- getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
- getsid.gen.test getsockname.gen.test gettid.gen.test \
- getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
- init_module.gen.test inotify.gen.test inotify_init1.gen.test \
- int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
- ioctl_evdev-v.gen.test ioctl_loop.gen.test \
- ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
- ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
- ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
- ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
- iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
- ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
- kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
- keyctl.gen.test kill.gen.test lchown.gen.test \
- lchown32.gen.test link.gen.test linkat.gen.test \
- lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
- madvise.gen.test mbind.gen.test membarrier.gen.test \
- memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
- mkdir.gen.test mkdirat.gen.test mknod.gen.test \
- mknodat.gen.test mlock.gen.test mlock2.gen.test \
- mlockall.gen.test mmap64.gen.test mmsg.gen.test \
- mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
- mount.gen.test move_pages.gen.test mq.gen.test \
- mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
- mq_sendrecv-write.gen.test msg_control.gen.test \
- msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
- nanosleep.gen.test net-icmp_filter.gen.test \
- net-sockaddr.gen.test netlink_protocol.gen.test \
- newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
- oldlstat.gen.test oldstat.gen.test open.gen.test \
- openat.gen.test osf_utimes.gen.test pause.gen.test \
- perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
- perf_event_open_unabbrev.gen.test pipe2.gen.test \
- pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
- ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
- preadv.gen.test preadv-pwritev.gen.test \
- preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
- process_vm_readv.gen.test process_vm_writev.gen.test \
- pselect6.gen.test ptrace.gen.test pwritev.gen.test \
- quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
- quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
- readdir.gen.test readlink.gen.test readlinkat.gen.test \
- reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
- recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
- rename.gen.test renameat.gen.test renameat2.gen.test \
- request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
- rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
- rt_sigreturn.gen.test rt_sigsuspend.gen.test \
- rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
- sched.gen.test sched_get_priority_mxx.gen.test \
- sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
- sched_xetattr.gen.test sched_xetparam.gen.test \
- sched_xetscheduler.gen.test sched_yield.gen.test \
- seccomp-filter.gen.test seccomp-filter-v.gen.test \
- select.gen.test semop.gen.test sendfile.gen.test \
- sendfile64.gen.test set_mempolicy.gen.test \
- setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
- setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
- setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
- sethostname.gen.test setns.gen.test setregid.gen.test \
- setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
- setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
- setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
- setuid32.gen.test shmxt.gen.test shutdown.gen.test \
- siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
- sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
- statfs64.gen.test statx.gen.test swap.gen.test \
- sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
- sync.gen.test sync_file_range.gen.test \
- sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
- tee.gen.test time.gen.test timer_create.gen.test \
- timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
- times-fail.gen.test trace_fstat.gen.test \
- trace_fstatfs.gen.test trace_lstat.gen.test \
- trace_question.gen.test trace_stat.gen.test \
- trace_stat_like.gen.test trace_statfs.gen.test \
- trace_statfs_like.gen.test truncate.gen.test \
- truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
- umoven-illptr.gen.test umovestr-illptr.gen.test \
- umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
- unshare.gen.test userfaultfd.gen.test ustat.gen.test \
- utime.gen.test utimensat.gen.test utimes.gen.test \
- vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
- wait4.gen.test wait4-v.gen.test waitid.gen.test \
- waitid-v.gen.test waitpid.gen.test xattr.gen.test \
- xattr-strings.gen.test xet_robust_list.gen.test \
- xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
- xettimeofday.gen.test
-LIBUNWIND_TESTS =
-#LIBUNWIND_TESTS = strace-k.test
-DECODER_TESTS = \
- brk.test \
- btrfs-v.test \
- btrfs-vw.test \
- btrfs-w.test \
- caps-abbrev.test \
- caps.test \
- eventfd.test \
- execve-v.test \
- execve.test \
- fadvise64.test \
- futex.test \
- getuid.test \
- ioctl.test \
- ioctl_dm-v.test \
- ioctl_dm.test \
- ioctl_loop-nv.test \
- ioctl_nsfs.test \
- ioctl_sock_gifconf.test \
- ipc_msgbuf.test \
- llseek.test \
- lseek.test \
- mmap.test \
- net-y-unix.test \
- net-yy-inet.test \
- net-yy-netlink.test \
- net-yy-unix.test \
- net.test \
- nsyscalls.test \
- oldselect.test \
- personality.test \
- pipe.test \
- poll.test \
- prctl-arg2-intptr.test \
- prctl-dumpable.test \
- prctl-name.test \
- prctl-no-args.test \
- prctl-pdeathsig.test \
- prctl-seccomp-filter-v.test \
- prctl-seccomp-strict.test \
- prctl-securebits.test \
- prctl-tid_address.test \
- prctl-tsc.test \
- qual_fault-exit_group.test \
- readv.test \
- scm_rights-fd.test \
- seccomp-strict.test \
- sigaction.test \
- sigaltstack.test \
- sun_path.test \
- uio.test \
- umount.test \
- umount2.test \
- umovestr.test \
- umovestr2.test \
- uname.test \
- unix-pair-send-recv.test \
- unix-pair-sendto-recvfrom.test \
- # end of DECODER_TESTS
-
-MISC_TESTS = \
- attach-f-p.test \
- attach-p-cmd.test \
- bexecve.test \
- count-f.test \
- count.test \
- detach-running.test \
- detach-sleeping.test \
- detach-stopped.test \
- filter-unavailable.test \
- get_regs.test \
- ksysent.test \
- opipe.test \
- options-syntax.test \
- pc.test \
- qual_fault-syntax.test \
- qual_fault.test \
- qual_inject-error-signal.test \
- qual_inject-retval.test \
- qual_inject-signal.test \
- qual_inject-syntax.test \
- qual_signal.test \
- qual_syscall.test \
- redirect-fds.test \
- redirect.test \
- restart_syscall.test \
- strace-C.test \
- strace-E.test \
- strace-S.test \
- strace-T.test \
- strace-V.test \
- strace-ff.test \
- strace-r.test \
- strace-t.test \
- strace-tt.test \
- strace-ttt.test \
- threads-execve.test \
- # end of MISC_TESTS
-
-XFAIL_TESTS_ =
-XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
-XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
-XFAIL_TESTS_x86_64 = int_0x80.gen.test
-XFAIL_TESTS_x32 = int_0x80.gen.test
-XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
-TEST_LOG_COMPILER = env
-AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
-VALGRIND_FLAGS = --quiet
-VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
-EXTRA_DIST = \
- caps-abbrev.awk \
- caps.awk \
- clock.in \
- count-f.expected \
- eventfd.expected \
- fadvise.h \
- filter-unavailable.expected \
- fstatat.c \
- fstatx.c \
- gen_pure_executables.sh \
- gen_tests.in \
- gen_tests.sh \
- getresugid.c \
- init.sh \
- init_delete_module.h \
- ioctl-v.sh \
- ipc.sh \
- ipc_msgbuf.expected \
- ksysent.sed \
- lstatx.c \
- match.awk \
- net.expected \
- oldselect.expected \
- pipe.expected \
- process_vm_readv_writev.c \
- pure_executables.list \
- qual_fault-exit_group.expected \
- qual_inject-error-signal.expected \
- qual_inject-signal.expected \
- quotactl.h \
- regex.in \
- run.sh \
- sched.in \
- scno_tampering.sh \
- setfsugid.c \
- setresugid.c \
- setreugid.c \
- setugid.c \
- sigaction.awk \
- sigaltstack.expected \
- sockname.c \
- strace-C.expected \
- strace-E.expected \
- strace-T.expected \
- strace-ff.expected \
- strace-k.test \
- strace-r.expected \
- strace.supp \
- struct_flock.c \
- sun_path.expected \
- trace_fstat.in \
- trace_fstatfs.in \
- trace_lstat.in \
- trace_question.in \
- trace_stat.in \
- trace_stat_like.in \
- trace_statfs.in \
- trace_statfs_like.in \
- uio.expected \
- umode_t.c \
- umovestr.expected \
- unix-pair-send-recv.expected \
- unix-pair-sendto-recvfrom.expected \
- xchownx.c \
- xgetrlimit.c \
- xselect.c \
- xstatfs.c \
- xstatfs64.c \
- xstatfsx.c \
- xstatx.c \
- xutimes.c \
- $(TESTS)
-
-objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h syscallent.i scno.h
-SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
-
-digits = [[:digit:]][[:digit:]]*
-al_nums = [[:alnum:]_][[:alnum:]_]*
-SCNO_SED = /TRACE_INDIRECT_SUBCALL/d; s/^\[[[:space:]]*\($(digits)\)\][[:space:]]*=[[:space:]]*{[^,]*,[^,]*,[^,]*,[[:space:]]*"\($(al_nums)\)"[[:space:]]*},.*/\#ifndef __NR_\2\n\# define __NR_\2 (SYSCALL_BIT | \1)\n\#endif/p
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests-m32/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign tests-m32/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkLIBRARIES:
- -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-
-libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES)
- $(AM_V_at)-rm -f libtests.a
- $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
- $(AM_V_at)$(RANLIB) libtests.a
-
-clean-checkPROGRAMS:
- -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
-
-_newselect$(EXEEXT): $(_newselect_OBJECTS) $(_newselect_DEPENDENCIES) $(EXTRA__newselect_DEPENDENCIES)
- @rm -f _newselect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(_newselect_OBJECTS) $(_newselect_LDADD) $(LIBS)
-
-accept$(EXEEXT): $(accept_OBJECTS) $(accept_DEPENDENCIES) $(EXTRA_accept_DEPENDENCIES)
- @rm -f accept$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(accept_OBJECTS) $(accept_LDADD) $(LIBS)
-
-accept4$(EXEEXT): $(accept4_OBJECTS) $(accept4_DEPENDENCIES) $(EXTRA_accept4_DEPENDENCIES)
- @rm -f accept4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(accept4_OBJECTS) $(accept4_LDADD) $(LIBS)
-
-access$(EXEEXT): $(access_OBJECTS) $(access_DEPENDENCIES) $(EXTRA_access_DEPENDENCIES)
- @rm -f access$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
-
-acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES)
- @rm -f acct$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
-
-add_key$(EXEEXT): $(add_key_OBJECTS) $(add_key_DEPENDENCIES) $(EXTRA_add_key_DEPENDENCIES)
- @rm -f add_key$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(add_key_OBJECTS) $(add_key_LDADD) $(LIBS)
-
-adjtimex$(EXEEXT): $(adjtimex_OBJECTS) $(adjtimex_DEPENDENCIES) $(EXTRA_adjtimex_DEPENDENCIES)
- @rm -f adjtimex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(adjtimex_OBJECTS) $(adjtimex_LDADD) $(LIBS)
-
-aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES)
- @rm -f aio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS)
-
-alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES)
- @rm -f alarm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS)
-
-answer$(EXEEXT): $(answer_OBJECTS) $(answer_DEPENDENCIES) $(EXTRA_answer_DEPENDENCIES)
- @rm -f answer$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(answer_OBJECTS) $(answer_LDADD) $(LIBS)
-
-attach-f-p$(EXEEXT): $(attach_f_p_OBJECTS) $(attach_f_p_DEPENDENCIES) $(EXTRA_attach_f_p_DEPENDENCIES)
- @rm -f attach-f-p$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_f_p_OBJECTS) $(attach_f_p_LDADD) $(LIBS)
-
-attach-f-p-cmd$(EXEEXT): $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_DEPENDENCIES) $(EXTRA_attach_f_p_cmd_DEPENDENCIES)
- @rm -f attach-f-p-cmd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_LDADD) $(LIBS)
-
-attach-p-cmd-cmd$(EXEEXT): $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_DEPENDENCIES) $(EXTRA_attach_p_cmd_cmd_DEPENDENCIES)
- @rm -f attach-p-cmd-cmd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_LDADD) $(LIBS)
-
-attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES) $(EXTRA_attach_p_cmd_p_DEPENDENCIES)
- @rm -f attach-p-cmd-p$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
-
-bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES)
- @rm -f bpf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
-
-brk$(EXEEXT): $(brk_OBJECTS) $(brk_DEPENDENCIES) $(EXTRA_brk_DEPENDENCIES)
- @rm -f brk$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(brk_OBJECTS) $(brk_LDADD) $(LIBS)
-
-btrfs$(EXEEXT): $(btrfs_OBJECTS) $(btrfs_DEPENDENCIES) $(EXTRA_btrfs_DEPENDENCIES)
- @rm -f btrfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(btrfs_OBJECTS) $(btrfs_LDADD) $(LIBS)
-
-caps$(EXEEXT): $(caps_OBJECTS) $(caps_DEPENDENCIES) $(EXTRA_caps_DEPENDENCIES)
- @rm -f caps$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(caps_OBJECTS) $(caps_LDADD) $(LIBS)
-
-caps-abbrev$(EXEEXT): $(caps_abbrev_OBJECTS) $(caps_abbrev_DEPENDENCIES) $(EXTRA_caps_abbrev_DEPENDENCIES)
- @rm -f caps-abbrev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(caps_abbrev_OBJECTS) $(caps_abbrev_LDADD) $(LIBS)
-
-chmod$(EXEEXT): $(chmod_OBJECTS) $(chmod_DEPENDENCIES) $(EXTRA_chmod_DEPENDENCIES)
- @rm -f chmod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
-
-chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES)
- @rm -f chown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
-
-chown32$(EXEEXT): $(chown32_OBJECTS) $(chown32_DEPENDENCIES) $(EXTRA_chown32_DEPENDENCIES)
- @rm -f chown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chown32_OBJECTS) $(chown32_LDADD) $(LIBS)
-
-chroot$(EXEEXT): $(chroot_OBJECTS) $(chroot_DEPENDENCIES) $(EXTRA_chroot_DEPENDENCIES)
- @rm -f chroot$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chroot_OBJECTS) $(chroot_LDADD) $(LIBS)
-
-clock_adjtime$(EXEEXT): $(clock_adjtime_OBJECTS) $(clock_adjtime_DEPENDENCIES) $(EXTRA_clock_adjtime_DEPENDENCIES)
- @rm -f clock_adjtime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_adjtime_OBJECTS) $(clock_adjtime_LDADD) $(LIBS)
-
-clock_nanosleep$(EXEEXT): $(clock_nanosleep_OBJECTS) $(clock_nanosleep_DEPENDENCIES) $(EXTRA_clock_nanosleep_DEPENDENCIES)
- @rm -f clock_nanosleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_nanosleep_OBJECTS) $(clock_nanosleep_LDADD) $(LIBS)
-
-clock_xettime$(EXEEXT): $(clock_xettime_OBJECTS) $(clock_xettime_DEPENDENCIES) $(EXTRA_clock_xettime_DEPENDENCIES)
- @rm -f clock_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_xettime_OBJECTS) $(clock_xettime_LDADD) $(LIBS)
-
-copy_file_range$(EXEEXT): $(copy_file_range_OBJECTS) $(copy_file_range_DEPENDENCIES) $(EXTRA_copy_file_range_DEPENDENCIES)
- @rm -f copy_file_range$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(copy_file_range_OBJECTS) $(copy_file_range_LDADD) $(LIBS)
-
-count-f$(EXEEXT): $(count_f_OBJECTS) $(count_f_DEPENDENCIES) $(EXTRA_count_f_DEPENDENCIES)
- @rm -f count-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(count_f_OBJECTS) $(count_f_LDADD) $(LIBS)
-
-creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIES)
- @rm -f creat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
-
-delete_module$(EXEEXT): $(delete_module_OBJECTS) $(delete_module_DEPENDENCIES) $(EXTRA_delete_module_DEPENDENCIES)
- @rm -f delete_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(delete_module_OBJECTS) $(delete_module_LDADD) $(LIBS)
-
-dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES)
- @rm -f dup$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
-
-dup2$(EXEEXT): $(dup2_OBJECTS) $(dup2_DEPENDENCIES) $(EXTRA_dup2_DEPENDENCIES)
- @rm -f dup2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup2_OBJECTS) $(dup2_LDADD) $(LIBS)
-
-dup3$(EXEEXT): $(dup3_OBJECTS) $(dup3_DEPENDENCIES) $(EXTRA_dup3_DEPENDENCIES)
- @rm -f dup3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup3_OBJECTS) $(dup3_LDADD) $(LIBS)
-
-epoll_create$(EXEEXT): $(epoll_create_OBJECTS) $(epoll_create_DEPENDENCIES) $(EXTRA_epoll_create_DEPENDENCIES)
- @rm -f epoll_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_create_OBJECTS) $(epoll_create_LDADD) $(LIBS)
-
-epoll_create1$(EXEEXT): $(epoll_create1_OBJECTS) $(epoll_create1_DEPENDENCIES) $(EXTRA_epoll_create1_DEPENDENCIES)
- @rm -f epoll_create1$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_create1_OBJECTS) $(epoll_create1_LDADD) $(LIBS)
-
-epoll_ctl$(EXEEXT): $(epoll_ctl_OBJECTS) $(epoll_ctl_DEPENDENCIES) $(EXTRA_epoll_ctl_DEPENDENCIES)
- @rm -f epoll_ctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_ctl_OBJECTS) $(epoll_ctl_LDADD) $(LIBS)
-
-epoll_pwait$(EXEEXT): $(epoll_pwait_OBJECTS) $(epoll_pwait_DEPENDENCIES) $(EXTRA_epoll_pwait_DEPENDENCIES)
- @rm -f epoll_pwait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_pwait_OBJECTS) $(epoll_pwait_LDADD) $(LIBS)
-
-epoll_wait$(EXEEXT): $(epoll_wait_OBJECTS) $(epoll_wait_DEPENDENCIES) $(EXTRA_epoll_wait_DEPENDENCIES)
- @rm -f epoll_wait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_wait_OBJECTS) $(epoll_wait_LDADD) $(LIBS)
-
-erestartsys$(EXEEXT): $(erestartsys_OBJECTS) $(erestartsys_DEPENDENCIES) $(EXTRA_erestartsys_DEPENDENCIES)
- @rm -f erestartsys$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(erestartsys_OBJECTS) $(erestartsys_LDADD) $(LIBS)
-
-eventfd$(EXEEXT): $(eventfd_OBJECTS) $(eventfd_DEPENDENCIES) $(EXTRA_eventfd_DEPENDENCIES)
- @rm -f eventfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(eventfd_OBJECTS) $(eventfd_LDADD) $(LIBS)
-
-execve$(EXEEXT): $(execve_OBJECTS) $(execve_DEPENDENCIES) $(EXTRA_execve_DEPENDENCIES)
- @rm -f execve$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
-
-execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES)
- @rm -f execve-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
-
-execveat$(EXEEXT): $(execveat_OBJECTS) $(execveat_DEPENDENCIES) $(EXTRA_execveat_DEPENDENCIES)
- @rm -f execveat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
-
-execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES)
- @rm -f execveat-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
-
-faccessat$(EXEEXT): $(faccessat_OBJECTS) $(faccessat_DEPENDENCIES) $(EXTRA_faccessat_DEPENDENCIES)
- @rm -f faccessat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
-
-fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES)
- @rm -f fadvise64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
-
-fadvise64_64$(EXEEXT): $(fadvise64_64_OBJECTS) $(fadvise64_64_DEPENDENCIES) $(EXTRA_fadvise64_64_DEPENDENCIES)
- @rm -f fadvise64_64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fadvise64_64_OBJECTS) $(fadvise64_64_LDADD) $(LIBS)
-
-fallocate$(EXEEXT): $(fallocate_OBJECTS) $(fallocate_DEPENDENCIES) $(EXTRA_fallocate_DEPENDENCIES)
- @rm -f fallocate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fallocate_OBJECTS) $(fallocate_LDADD) $(LIBS)
-
-fanotify_init$(EXEEXT): $(fanotify_init_OBJECTS) $(fanotify_init_DEPENDENCIES) $(EXTRA_fanotify_init_DEPENDENCIES)
- @rm -f fanotify_init$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fanotify_init_OBJECTS) $(fanotify_init_LDADD) $(LIBS)
-
-fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $(EXTRA_fanotify_mark_DEPENDENCIES)
- @rm -f fanotify_mark$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
-
-fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES)
- @rm -f fchdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS)
-
-fchmod$(EXEEXT): $(fchmod_OBJECTS) $(fchmod_DEPENDENCIES) $(EXTRA_fchmod_DEPENDENCIES)
- @rm -f fchmod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
-
-fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES)
- @rm -f fchmodat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
-
-fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES)
- @rm -f fchown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
-
-fchown32$(EXEEXT): $(fchown32_OBJECTS) $(fchown32_DEPENDENCIES) $(EXTRA_fchown32_DEPENDENCIES)
- @rm -f fchown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchown32_OBJECTS) $(fchown32_LDADD) $(LIBS)
-
-fchownat$(EXEEXT): $(fchownat_OBJECTS) $(fchownat_DEPENDENCIES) $(EXTRA_fchownat_DEPENDENCIES)
- @rm -f fchownat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
-
-fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES)
- @rm -f fcntl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
-
-fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES)
- @rm -f fcntl64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
-
-fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES)
- @rm -f fdatasync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
-
-file_handle$(EXEEXT): $(file_handle_OBJECTS) $(file_handle_DEPENDENCIES) $(EXTRA_file_handle_DEPENDENCIES)
- @rm -f file_handle$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
-
-file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES)
- @rm -f file_ioctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
-
-filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES)
- @rm -f filter-unavailable$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
-
-finit_module$(EXEEXT): $(finit_module_OBJECTS) $(finit_module_DEPENDENCIES) $(EXTRA_finit_module_DEPENDENCIES)
- @rm -f finit_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(finit_module_OBJECTS) $(finit_module_LDADD) $(LIBS)
-
-flock$(EXEEXT): $(flock_OBJECTS) $(flock_DEPENDENCIES) $(EXTRA_flock_DEPENDENCIES)
- @rm -f flock$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
-
-fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES)
- @rm -f fork-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
-
-fstat$(EXEEXT): $(fstat_OBJECTS) $(fstat_DEPENDENCIES) $(EXTRA_fstat_DEPENDENCIES)
- @rm -f fstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstat_OBJECTS) $(fstat_LDADD) $(LIBS)
-
-fstat64$(EXEEXT): $(fstat64_OBJECTS) $(fstat64_DEPENDENCIES) $(EXTRA_fstat64_DEPENDENCIES)
- @rm -f fstat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstat64_OBJECTS) $(fstat64_LDADD) $(LIBS)
-
-fstatat64$(EXEEXT): $(fstatat64_OBJECTS) $(fstatat64_DEPENDENCIES) $(EXTRA_fstatat64_DEPENDENCIES)
- @rm -f fstatat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatat64_OBJECTS) $(fstatat64_LDADD) $(LIBS)
-
-fstatfs$(EXEEXT): $(fstatfs_OBJECTS) $(fstatfs_DEPENDENCIES) $(EXTRA_fstatfs_DEPENDENCIES)
- @rm -f fstatfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatfs_OBJECTS) $(fstatfs_LDADD) $(LIBS)
-
-fstatfs64$(EXEEXT): $(fstatfs64_OBJECTS) $(fstatfs64_DEPENDENCIES) $(EXTRA_fstatfs64_DEPENDENCIES)
- @rm -f fstatfs64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatfs64_OBJECTS) $(fstatfs64_LDADD) $(LIBS)
-
-fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIES)
- @rm -f fsync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
-
-ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES)
- @rm -f ftruncate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
-
-ftruncate64$(EXEEXT): $(ftruncate64_OBJECTS) $(ftruncate64_DEPENDENCIES) $(EXTRA_ftruncate64_DEPENDENCIES)
- @rm -f ftruncate64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ftruncate64_OBJECTS) $(ftruncate64_LDADD) $(LIBS)
-
-futex$(EXEEXT): $(futex_OBJECTS) $(futex_DEPENDENCIES) $(EXTRA_futex_DEPENDENCIES)
- @rm -f futex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(futex_OBJECTS) $(futex_LDADD) $(LIBS)
-
-futimesat$(EXEEXT): $(futimesat_OBJECTS) $(futimesat_DEPENDENCIES) $(EXTRA_futimesat_DEPENDENCIES)
- @rm -f futimesat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(futimesat_OBJECTS) $(futimesat_LDADD) $(LIBS)
-
-get_mempolicy$(EXEEXT): $(get_mempolicy_OBJECTS) $(get_mempolicy_DEPENDENCIES) $(EXTRA_get_mempolicy_DEPENDENCIES)
- @rm -f get_mempolicy$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(get_mempolicy_OBJECTS) $(get_mempolicy_LDADD) $(LIBS)
-
-getcpu$(EXEEXT): $(getcpu_OBJECTS) $(getcpu_DEPENDENCIES) $(EXTRA_getcpu_DEPENDENCIES)
- @rm -f getcpu$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getcpu_OBJECTS) $(getcpu_LDADD) $(LIBS)
-
-getcwd$(EXEEXT): $(getcwd_OBJECTS) $(getcwd_DEPENDENCIES) $(EXTRA_getcwd_DEPENDENCIES)
- @rm -f getcwd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getcwd_OBJECTS) $(getcwd_LDADD) $(LIBS)
-
-getdents$(EXEEXT): $(getdents_OBJECTS) $(getdents_DEPENDENCIES) $(EXTRA_getdents_DEPENDENCIES)
- @rm -f getdents$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getdents_OBJECTS) $(getdents_LDADD) $(LIBS)
-
-getdents64$(EXEEXT): $(getdents64_OBJECTS) $(getdents64_DEPENDENCIES) $(EXTRA_getdents64_DEPENDENCIES)
- @rm -f getdents64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getdents64_OBJECTS) $(getdents64_LDADD) $(LIBS)
-
-getegid$(EXEEXT): $(getegid_OBJECTS) $(getegid_DEPENDENCIES) $(EXTRA_getegid_DEPENDENCIES)
- @rm -f getegid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getegid_OBJECTS) $(getegid_LDADD) $(LIBS)
-
-getegid32$(EXEEXT): $(getegid32_OBJECTS) $(getegid32_DEPENDENCIES) $(EXTRA_getegid32_DEPENDENCIES)
- @rm -f getegid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getegid32_OBJECTS) $(getegid32_LDADD) $(LIBS)
-
-geteuid$(EXEEXT): $(geteuid_OBJECTS) $(geteuid_DEPENDENCIES) $(EXTRA_geteuid_DEPENDENCIES)
- @rm -f geteuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(geteuid_OBJECTS) $(geteuid_LDADD) $(LIBS)
-
-geteuid32$(EXEEXT): $(geteuid32_OBJECTS) $(geteuid32_DEPENDENCIES) $(EXTRA_geteuid32_DEPENDENCIES)
- @rm -f geteuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(geteuid32_OBJECTS) $(geteuid32_LDADD) $(LIBS)
-
-getgid$(EXEEXT): $(getgid_OBJECTS) $(getgid_DEPENDENCIES) $(EXTRA_getgid_DEPENDENCIES)
- @rm -f getgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgid_OBJECTS) $(getgid_LDADD) $(LIBS)
-
-getgid32$(EXEEXT): $(getgid32_OBJECTS) $(getgid32_DEPENDENCIES) $(EXTRA_getgid32_DEPENDENCIES)
- @rm -f getgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgid32_OBJECTS) $(getgid32_LDADD) $(LIBS)
-
-getgroups$(EXEEXT): $(getgroups_OBJECTS) $(getgroups_DEPENDENCIES) $(EXTRA_getgroups_DEPENDENCIES)
- @rm -f getgroups$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgroups_OBJECTS) $(getgroups_LDADD) $(LIBS)
-
-getgroups32$(EXEEXT): $(getgroups32_OBJECTS) $(getgroups32_DEPENDENCIES) $(EXTRA_getgroups32_DEPENDENCIES)
- @rm -f getgroups32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgroups32_OBJECTS) $(getgroups32_LDADD) $(LIBS)
-
-getpeername$(EXEEXT): $(getpeername_OBJECTS) $(getpeername_DEPENDENCIES) $(EXTRA_getpeername_DEPENDENCIES)
- @rm -f getpeername$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpeername_OBJECTS) $(getpeername_LDADD) $(LIBS)
-
-getpgrp$(EXEEXT): $(getpgrp_OBJECTS) $(getpgrp_DEPENDENCIES) $(EXTRA_getpgrp_DEPENDENCIES)
- @rm -f getpgrp$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
-
-getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES)
- @rm -f getpid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
-
-getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES)
- @rm -f getppid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
-
-getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES)
- @rm -f getrandom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
-
-getresgid$(EXEEXT): $(getresgid_OBJECTS) $(getresgid_DEPENDENCIES) $(EXTRA_getresgid_DEPENDENCIES)
- @rm -f getresgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresgid_OBJECTS) $(getresgid_LDADD) $(LIBS)
-
-getresgid32$(EXEEXT): $(getresgid32_OBJECTS) $(getresgid32_DEPENDENCIES) $(EXTRA_getresgid32_DEPENDENCIES)
- @rm -f getresgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresgid32_OBJECTS) $(getresgid32_LDADD) $(LIBS)
-
-getresuid$(EXEEXT): $(getresuid_OBJECTS) $(getresuid_DEPENDENCIES) $(EXTRA_getresuid_DEPENDENCIES)
- @rm -f getresuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresuid_OBJECTS) $(getresuid_LDADD) $(LIBS)
-
-getresuid32$(EXEEXT): $(getresuid32_OBJECTS) $(getresuid32_DEPENDENCIES) $(EXTRA_getresuid32_DEPENDENCIES)
- @rm -f getresuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresuid32_OBJECTS) $(getresuid32_LDADD) $(LIBS)
-
-getrlimit$(EXEEXT): $(getrlimit_OBJECTS) $(getrlimit_DEPENDENCIES) $(EXTRA_getrlimit_DEPENDENCIES)
- @rm -f getrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrlimit_OBJECTS) $(getrlimit_LDADD) $(LIBS)
-
-getrusage$(EXEEXT): $(getrusage_OBJECTS) $(getrusage_DEPENDENCIES) $(EXTRA_getrusage_DEPENDENCIES)
- @rm -f getrusage$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrusage_OBJECTS) $(getrusage_LDADD) $(LIBS)
-
-getsid$(EXEEXT): $(getsid_OBJECTS) $(getsid_DEPENDENCIES) $(EXTRA_getsid_DEPENDENCIES)
- @rm -f getsid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
-
-getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES)
- @rm -f getsockname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
-
-gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES)
- @rm -f gettid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
-
-getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES)
- @rm -f getuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
-
-getuid32$(EXEEXT): $(getuid32_OBJECTS) $(getuid32_DEPENDENCIES) $(EXTRA_getuid32_DEPENDENCIES)
- @rm -f getuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getuid32_OBJECTS) $(getuid32_LDADD) $(LIBS)
-
-getxxid$(EXEEXT): $(getxxid_OBJECTS) $(getxxid_DEPENDENCIES) $(EXTRA_getxxid_DEPENDENCIES)
- @rm -f getxxid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getxxid_OBJECTS) $(getxxid_LDADD) $(LIBS)
-
-inet-cmsg$(EXEEXT): $(inet_cmsg_OBJECTS) $(inet_cmsg_DEPENDENCIES) $(EXTRA_inet_cmsg_DEPENDENCIES)
- @rm -f inet-cmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inet_cmsg_OBJECTS) $(inet_cmsg_LDADD) $(LIBS)
-
-init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA_init_module_DEPENDENCIES)
- @rm -f init_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
-
-inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES)
- @rm -f inotify$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
-
-inotify_init1$(EXEEXT): $(inotify_init1_OBJECTS) $(inotify_init1_DEPENDENCIES) $(EXTRA_inotify_init1_DEPENDENCIES)
- @rm -f inotify_init1$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
-
-int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES)
- @rm -f int_0x80$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
-
-ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES)
- @rm -f ioctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
-
-ioctl_block$(EXEEXT): $(ioctl_block_OBJECTS) $(ioctl_block_DEPENDENCIES) $(EXTRA_ioctl_block_DEPENDENCIES)
- @rm -f ioctl_block$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
-
-ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES)
- @rm -f ioctl_dm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
-
-ioctl_dm-v$(EXEEXT): $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_DEPENDENCIES) $(EXTRA_ioctl_dm_v_DEPENDENCIES)
- @rm -f ioctl_dm-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_LDADD) $(LIBS)
-
-ioctl_evdev$(EXEEXT): $(ioctl_evdev_OBJECTS) $(ioctl_evdev_DEPENDENCIES) $(EXTRA_ioctl_evdev_DEPENDENCIES)
- @rm -f ioctl_evdev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS)
-
-ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES)
- @rm -f ioctl_evdev-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS)
-
-ioctl_loop$(EXEEXT): $(ioctl_loop_OBJECTS) $(ioctl_loop_DEPENDENCIES) $(EXTRA_ioctl_loop_DEPENDENCIES)
- @rm -f ioctl_loop$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_OBJECTS) $(ioctl_loop_LDADD) $(LIBS)
-
-ioctl_loop-nv$(EXEEXT): $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_DEPENDENCIES) $(EXTRA_ioctl_loop_nv_DEPENDENCIES)
- @rm -f ioctl_loop-nv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_LDADD) $(LIBS)
-
-ioctl_loop-v$(EXEEXT): $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_DEPENDENCIES) $(EXTRA_ioctl_loop_v_DEPENDENCIES)
- @rm -f ioctl_loop-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_LDADD) $(LIBS)
-
-ioctl_mtd$(EXEEXT): $(ioctl_mtd_OBJECTS) $(ioctl_mtd_DEPENDENCIES) $(EXTRA_ioctl_mtd_DEPENDENCIES)
- @rm -f ioctl_mtd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
-
-ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES)
- @rm -f ioctl_nsfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS)
-
-ioctl_rtc$(EXEEXT): $(ioctl_rtc_OBJECTS) $(ioctl_rtc_DEPENDENCIES) $(EXTRA_ioctl_rtc_DEPENDENCIES)
- @rm -f ioctl_rtc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_rtc_OBJECTS) $(ioctl_rtc_LDADD) $(LIBS)
-
-ioctl_rtc-v$(EXEEXT): $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_DEPENDENCIES) $(EXTRA_ioctl_rtc_v_DEPENDENCIES)
- @rm -f ioctl_rtc-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_LDADD) $(LIBS)
-
-ioctl_scsi$(EXEEXT): $(ioctl_scsi_OBJECTS) $(ioctl_scsi_DEPENDENCIES) $(EXTRA_ioctl_scsi_DEPENDENCIES)
- @rm -f ioctl_scsi$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_scsi_OBJECTS) $(ioctl_scsi_LDADD) $(LIBS)
-
-ioctl_sg_io_v3$(EXEEXT): $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v3_DEPENDENCIES)
- @rm -f ioctl_sg_io_v3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_LDADD) $(LIBS)
-
-ioctl_sg_io_v4$(EXEEXT): $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v4_DEPENDENCIES)
- @rm -f ioctl_sg_io_v4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_LDADD) $(LIBS)
-
-ioctl_sock_gifconf$(EXEEXT): $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_DEPENDENCIES) $(EXTRA_ioctl_sock_gifconf_DEPENDENCIES)
- @rm -f ioctl_sock_gifconf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_LDADD) $(LIBS)
-
-ioctl_uffdio$(EXEEXT): $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_DEPENDENCIES) $(EXTRA_ioctl_uffdio_DEPENDENCIES)
- @rm -f ioctl_uffdio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_LDADD) $(LIBS)
-
-ioctl_v4l2$(EXEEXT): $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_DEPENDENCIES) $(EXTRA_ioctl_v4l2_DEPENDENCIES)
- @rm -f ioctl_v4l2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_LDADD) $(LIBS)
-
-ioperm$(EXEEXT): $(ioperm_OBJECTS) $(ioperm_DEPENDENCIES) $(EXTRA_ioperm_DEPENDENCIES)
- @rm -f ioperm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioperm_OBJECTS) $(ioperm_LDADD) $(LIBS)
-
-iopl$(EXEEXT): $(iopl_OBJECTS) $(iopl_DEPENDENCIES) $(EXTRA_iopl_DEPENDENCIES)
- @rm -f iopl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(iopl_OBJECTS) $(iopl_LDADD) $(LIBS)
-
-ioprio$(EXEEXT): $(ioprio_OBJECTS) $(ioprio_DEPENDENCIES) $(EXTRA_ioprio_DEPENDENCIES)
- @rm -f ioprio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
-
-ip_mreq$(EXEEXT): $(ip_mreq_OBJECTS) $(ip_mreq_DEPENDENCIES) $(EXTRA_ip_mreq_DEPENDENCIES)
- @rm -f ip_mreq$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ip_mreq_OBJECTS) $(ip_mreq_LDADD) $(LIBS)
-
-ipc$(EXEEXT): $(ipc_OBJECTS) $(ipc_DEPENDENCIES) $(EXTRA_ipc_DEPENDENCIES)
- @rm -f ipc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_OBJECTS) $(ipc_LDADD) $(LIBS)
-
-ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEPENDENCIES)
- @rm -f ipc_msg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS)
-
-ipc_msgbuf$(EXEEXT): $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_DEPENDENCIES) $(EXTRA_ipc_msgbuf_DEPENDENCIES)
- @rm -f ipc_msgbuf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_LDADD) $(LIBS)
-
-ipc_sem$(EXEEXT): $(ipc_sem_OBJECTS) $(ipc_sem_DEPENDENCIES) $(EXTRA_ipc_sem_DEPENDENCIES)
- @rm -f ipc_sem$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_sem_OBJECTS) $(ipc_sem_LDADD) $(LIBS)
-
-ipc_shm$(EXEEXT): $(ipc_shm_OBJECTS) $(ipc_shm_DEPENDENCIES) $(EXTRA_ipc_shm_DEPENDENCIES)
- @rm -f ipc_shm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_shm_OBJECTS) $(ipc_shm_LDADD) $(LIBS)
-
-kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES)
- @rm -f kcmp$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
-
-kexec_file_load$(EXEEXT): $(kexec_file_load_OBJECTS) $(kexec_file_load_DEPENDENCIES) $(EXTRA_kexec_file_load_DEPENDENCIES)
- @rm -f kexec_file_load$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kexec_file_load_OBJECTS) $(kexec_file_load_LDADD) $(LIBS)
-
-kexec_load$(EXEEXT): $(kexec_load_OBJECTS) $(kexec_load_DEPENDENCIES) $(EXTRA_kexec_load_DEPENDENCIES)
- @rm -f kexec_load$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kexec_load_OBJECTS) $(kexec_load_LDADD) $(LIBS)
-
-keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDENCIES)
- @rm -f keyctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS)
-
-kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES)
- @rm -f kill$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
-
-ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES)
- @rm -f ksysent$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS)
-
-lchown$(EXEEXT): $(lchown_OBJECTS) $(lchown_DEPENDENCIES) $(EXTRA_lchown_DEPENDENCIES)
- @rm -f lchown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lchown_OBJECTS) $(lchown_LDADD) $(LIBS)
-
-lchown32$(EXEEXT): $(lchown32_OBJECTS) $(lchown32_DEPENDENCIES) $(EXTRA_lchown32_DEPENDENCIES)
- @rm -f lchown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lchown32_OBJECTS) $(lchown32_LDADD) $(LIBS)
-
-link$(EXEEXT): $(link_OBJECTS) $(link_DEPENDENCIES) $(EXTRA_link_DEPENDENCIES)
- @rm -f link$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(link_OBJECTS) $(link_LDADD) $(LIBS)
-
-linkat$(EXEEXT): $(linkat_OBJECTS) $(linkat_DEPENDENCIES) $(EXTRA_linkat_DEPENDENCIES)
- @rm -f linkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
-
-llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES)
- @rm -f llseek$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
-
-lookup_dcookie$(EXEEXT): $(lookup_dcookie_OBJECTS) $(lookup_dcookie_DEPENDENCIES) $(EXTRA_lookup_dcookie_DEPENDENCIES)
- @rm -f lookup_dcookie$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS)
-
-lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES)
- @rm -f lseek$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS)
-
-lstat$(EXEEXT): $(lstat_OBJECTS) $(lstat_DEPENDENCIES) $(EXTRA_lstat_DEPENDENCIES)
- @rm -f lstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lstat_OBJECTS) $(lstat_LDADD) $(LIBS)
-
-lstat64$(EXEEXT): $(lstat64_OBJECTS) $(lstat64_DEPENDENCIES) $(EXTRA_lstat64_DEPENDENCIES)
- @rm -f lstat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
-
-madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES)
- @rm -f madvise$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
-
-mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES)
- @rm -f mbind$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
-
-membarrier$(EXEEXT): $(membarrier_OBJECTS) $(membarrier_DEPENDENCIES) $(EXTRA_membarrier_DEPENDENCIES)
- @rm -f membarrier$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(membarrier_OBJECTS) $(membarrier_LDADD) $(LIBS)
-
-memfd_create$(EXEEXT): $(memfd_create_OBJECTS) $(memfd_create_DEPENDENCIES) $(EXTRA_memfd_create_DEPENDENCIES)
- @rm -f memfd_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(memfd_create_OBJECTS) $(memfd_create_LDADD) $(LIBS)
-
-migrate_pages$(EXEEXT): $(migrate_pages_OBJECTS) $(migrate_pages_DEPENDENCIES) $(EXTRA_migrate_pages_DEPENDENCIES)
- @rm -f migrate_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
-
-mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES)
- @rm -f mincore$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
-
-mkdir$(EXEEXT): $(mkdir_OBJECTS) $(mkdir_DEPENDENCIES) $(EXTRA_mkdir_DEPENDENCIES)
- @rm -f mkdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mkdir_OBJECTS) $(mkdir_LDADD) $(LIBS)
-
-mkdirat$(EXEEXT): $(mkdirat_OBJECTS) $(mkdirat_DEPENDENCIES) $(EXTRA_mkdirat_DEPENDENCIES)
- @rm -f mkdirat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mkdirat_OBJECTS) $(mkdirat_LDADD) $(LIBS)
-
-mknod$(EXEEXT): $(mknod_OBJECTS) $(mknod_DEPENDENCIES) $(EXTRA_mknod_DEPENDENCIES)
- @rm -f mknod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mknod_OBJECTS) $(mknod_LDADD) $(LIBS)
-
-mknodat$(EXEEXT): $(mknodat_OBJECTS) $(mknodat_DEPENDENCIES) $(EXTRA_mknodat_DEPENDENCIES)
- @rm -f mknodat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mknodat_OBJECTS) $(mknodat_LDADD) $(LIBS)
-
-mlock$(EXEEXT): $(mlock_OBJECTS) $(mlock_DEPENDENCIES) $(EXTRA_mlock_DEPENDENCIES)
- @rm -f mlock$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlock_OBJECTS) $(mlock_LDADD) $(LIBS)
-
-mlock2$(EXEEXT): $(mlock2_OBJECTS) $(mlock2_DEPENDENCIES) $(EXTRA_mlock2_DEPENDENCIES)
- @rm -f mlock2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlock2_OBJECTS) $(mlock2_LDADD) $(LIBS)
-
-mlockall$(EXEEXT): $(mlockall_OBJECTS) $(mlockall_DEPENDENCIES) $(EXTRA_mlockall_DEPENDENCIES)
- @rm -f mlockall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlockall_OBJECTS) $(mlockall_LDADD) $(LIBS)
-
-mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES)
- @rm -f mmap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS)
-
-mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES)
- @rm -f mmap64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS)
-
-mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES)
- @rm -f mmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS)
-
-mmsg-silent$(EXEEXT): $(mmsg_silent_OBJECTS) $(mmsg_silent_DEPENDENCIES) $(EXTRA_mmsg_silent_DEPENDENCIES)
- @rm -f mmsg-silent$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_silent_OBJECTS) $(mmsg_silent_LDADD) $(LIBS)
-
-mmsg_name$(EXEEXT): $(mmsg_name_OBJECTS) $(mmsg_name_DEPENDENCIES) $(EXTRA_mmsg_name_DEPENDENCIES)
- @rm -f mmsg_name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_name_OBJECTS) $(mmsg_name_LDADD) $(LIBS)
-
-mmsg_name-v$(EXEEXT): $(mmsg_name_v_OBJECTS) $(mmsg_name_v_DEPENDENCIES) $(EXTRA_mmsg_name_v_DEPENDENCIES)
- @rm -f mmsg_name-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_name_v_OBJECTS) $(mmsg_name_v_LDADD) $(LIBS)
-
-mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIES)
- @rm -f mount$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
-
-move_pages$(EXEEXT): $(move_pages_OBJECTS) $(move_pages_DEPENDENCIES) $(EXTRA_move_pages_DEPENDENCIES)
- @rm -f move_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
-
-mq$(EXEEXT): $(mq_OBJECTS) $(mq_DEPENDENCIES) $(EXTRA_mq_DEPENDENCIES)
- @rm -f mq$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_OBJECTS) $(mq_LDADD) $(LIBS)
-
-mq_sendrecv$(EXEEXT): $(mq_sendrecv_OBJECTS) $(mq_sendrecv_DEPENDENCIES) $(EXTRA_mq_sendrecv_DEPENDENCIES)
- @rm -f mq_sendrecv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_OBJECTS) $(mq_sendrecv_LDADD) $(LIBS)
-
-mq_sendrecv-read$(EXEEXT): $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_DEPENDENCIES) $(EXTRA_mq_sendrecv_read_DEPENDENCIES)
- @rm -f mq_sendrecv-read$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_LDADD) $(LIBS)
-
-mq_sendrecv-write$(EXEEXT): $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_DEPENDENCIES) $(EXTRA_mq_sendrecv_write_DEPENDENCIES)
- @rm -f mq_sendrecv-write$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_LDADD) $(LIBS)
-
-msg_control$(EXEEXT): $(msg_control_OBJECTS) $(msg_control_DEPENDENCIES) $(EXTRA_msg_control_DEPENDENCIES)
- @rm -f msg_control$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_control_OBJECTS) $(msg_control_LDADD) $(LIBS)
-
-msg_control-v$(EXEEXT): $(msg_control_v_OBJECTS) $(msg_control_v_DEPENDENCIES) $(EXTRA_msg_control_v_DEPENDENCIES)
- @rm -f msg_control-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_control_v_OBJECTS) $(msg_control_v_LDADD) $(LIBS)
-
-msg_name$(EXEEXT): $(msg_name_OBJECTS) $(msg_name_DEPENDENCIES) $(EXTRA_msg_name_DEPENDENCIES)
- @rm -f msg_name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_name_OBJECTS) $(msg_name_LDADD) $(LIBS)
-
-munlockall$(EXEEXT): $(munlockall_OBJECTS) $(munlockall_DEPENDENCIES) $(EXTRA_munlockall_DEPENDENCIES)
- @rm -f munlockall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(munlockall_OBJECTS) $(munlockall_LDADD) $(LIBS)
-
-nanosleep$(EXEEXT): $(nanosleep_OBJECTS) $(nanosleep_DEPENDENCIES) $(EXTRA_nanosleep_DEPENDENCIES)
- @rm -f nanosleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(nanosleep_OBJECTS) $(nanosleep_LDADD) $(LIBS)
-
-net-accept-connect$(EXEEXT): $(net_accept_connect_OBJECTS) $(net_accept_connect_DEPENDENCIES) $(EXTRA_net_accept_connect_DEPENDENCIES)
- @rm -f net-accept-connect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_accept_connect_OBJECTS) $(net_accept_connect_LDADD) $(LIBS)
-
-net-icmp_filter$(EXEEXT): $(net_icmp_filter_OBJECTS) $(net_icmp_filter_DEPENDENCIES) $(EXTRA_net_icmp_filter_DEPENDENCIES)
- @rm -f net-icmp_filter$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_icmp_filter_OBJECTS) $(net_icmp_filter_LDADD) $(LIBS)
-
-net-sockaddr$(EXEEXT): $(net_sockaddr_OBJECTS) $(net_sockaddr_DEPENDENCIES) $(EXTRA_net_sockaddr_DEPENDENCIES)
- @rm -f net-sockaddr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
-
-net-y-unix$(EXEEXT): $(net_y_unix_OBJECTS) $(net_y_unix_DEPENDENCIES) $(EXTRA_net_y_unix_DEPENDENCIES)
- @rm -f net-y-unix$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_y_unix_OBJECTS) $(net_y_unix_LDADD) $(LIBS)
-
-net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA_net_yy_inet_DEPENDENCIES)
- @rm -f net-yy-inet$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
-
-net-yy-netlink$(EXEEXT): $(net_yy_netlink_OBJECTS) $(net_yy_netlink_DEPENDENCIES) $(EXTRA_net_yy_netlink_DEPENDENCIES)
- @rm -f net-yy-netlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_netlink_OBJECTS) $(net_yy_netlink_LDADD) $(LIBS)
-
-net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA_net_yy_unix_DEPENDENCIES)
- @rm -f net-yy-unix$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
-
-netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES)
- @rm -f netlink_inet_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
-
-netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES)
- @rm -f netlink_netlink_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
-
-netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPENDENCIES) $(EXTRA_netlink_protocol_DEPENDENCIES)
- @rm -f netlink_protocol$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
-
-netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES)
- @rm -f netlink_unix_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
-
-newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES)
- @rm -f newfstatat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
-
-nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES)
- @rm -f nsyscalls$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
-
-old_mmap$(EXEEXT): $(old_mmap_OBJECTS) $(old_mmap_DEPENDENCIES) $(EXTRA_old_mmap_DEPENDENCIES)
- @rm -f old_mmap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(old_mmap_OBJECTS) $(old_mmap_LDADD) $(LIBS)
-
-oldfstat$(EXEEXT): $(oldfstat_OBJECTS) $(oldfstat_DEPENDENCIES) $(EXTRA_oldfstat_DEPENDENCIES)
- @rm -f oldfstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldfstat_OBJECTS) $(oldfstat_LDADD) $(LIBS)
-
-oldlstat$(EXEEXT): $(oldlstat_OBJECTS) $(oldlstat_DEPENDENCIES) $(EXTRA_oldlstat_DEPENDENCIES)
- @rm -f oldlstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldlstat_OBJECTS) $(oldlstat_LDADD) $(LIBS)
-
-oldselect$(EXEEXT): $(oldselect_OBJECTS) $(oldselect_DEPENDENCIES) $(EXTRA_oldselect_DEPENDENCIES)
- @rm -f oldselect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldselect_OBJECTS) $(oldselect_LDADD) $(LIBS)
-
-oldstat$(EXEEXT): $(oldstat_OBJECTS) $(oldstat_DEPENDENCIES) $(EXTRA_oldstat_DEPENDENCIES)
- @rm -f oldstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldstat_OBJECTS) $(oldstat_LDADD) $(LIBS)
-
-open$(EXEEXT): $(open_OBJECTS) $(open_DEPENDENCIES) $(EXTRA_open_DEPENDENCIES)
- @rm -f open$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
-
-openat$(EXEEXT): $(openat_OBJECTS) $(openat_DEPENDENCIES) $(EXTRA_openat_DEPENDENCIES)
- @rm -f openat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
-
-osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES)
- @rm -f osf_utimes$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
-
-pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES)
- @rm -f pause$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
-
-pc$(EXEEXT): $(pc_OBJECTS) $(pc_DEPENDENCIES) $(EXTRA_pc_DEPENDENCIES)
- @rm -f pc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pc_OBJECTS) $(pc_LDADD) $(LIBS)
-
-perf_event_open$(EXEEXT): $(perf_event_open_OBJECTS) $(perf_event_open_DEPENDENCIES) $(EXTRA_perf_event_open_DEPENDENCIES)
- @rm -f perf_event_open$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_OBJECTS) $(perf_event_open_LDADD) $(LIBS)
-
-perf_event_open_nonverbose$(EXEEXT): $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_DEPENDENCIES) $(EXTRA_perf_event_open_nonverbose_DEPENDENCIES)
- @rm -f perf_event_open_nonverbose$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_LDADD) $(LIBS)
-
-perf_event_open_unabbrev$(EXEEXT): $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_DEPENDENCIES) $(EXTRA_perf_event_open_unabbrev_DEPENDENCIES)
- @rm -f perf_event_open_unabbrev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_LDADD) $(LIBS)
-
-personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA_personality_DEPENDENCIES)
- @rm -f personality$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS)
-
-pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES)
- @rm -f pipe$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
-
-pipe2$(EXEEXT): $(pipe2_OBJECTS) $(pipe2_DEPENDENCIES) $(EXTRA_pipe2_DEPENDENCIES)
- @rm -f pipe2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pipe2_OBJECTS) $(pipe2_LDADD) $(LIBS)
-
-pkey_alloc$(EXEEXT): $(pkey_alloc_OBJECTS) $(pkey_alloc_DEPENDENCIES) $(EXTRA_pkey_alloc_DEPENDENCIES)
- @rm -f pkey_alloc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_alloc_OBJECTS) $(pkey_alloc_LDADD) $(LIBS)
-
-pkey_free$(EXEEXT): $(pkey_free_OBJECTS) $(pkey_free_DEPENDENCIES) $(EXTRA_pkey_free_DEPENDENCIES)
- @rm -f pkey_free$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_free_OBJECTS) $(pkey_free_LDADD) $(LIBS)
-
-pkey_mprotect$(EXEEXT): $(pkey_mprotect_OBJECTS) $(pkey_mprotect_DEPENDENCIES) $(EXTRA_pkey_mprotect_DEPENDENCIES)
- @rm -f pkey_mprotect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_mprotect_OBJECTS) $(pkey_mprotect_LDADD) $(LIBS)
-
-poll$(EXEEXT): $(poll_OBJECTS) $(poll_DEPENDENCIES) $(EXTRA_poll_DEPENDENCIES)
- @rm -f poll$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(poll_OBJECTS) $(poll_LDADD) $(LIBS)
-
-ppoll$(EXEEXT): $(ppoll_OBJECTS) $(ppoll_DEPENDENCIES) $(EXTRA_ppoll_DEPENDENCIES)
- @rm -f ppoll$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
-
-ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES)
- @rm -f ppoll-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_LDADD) $(LIBS)
-
-prctl-arg2-intptr$(EXEEXT): $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_DEPENDENCIES) $(EXTRA_prctl_arg2_intptr_DEPENDENCIES)
- @rm -f prctl-arg2-intptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_LDADD) $(LIBS)
-
-prctl-dumpable$(EXEEXT): $(prctl_dumpable_OBJECTS) $(prctl_dumpable_DEPENDENCIES) $(EXTRA_prctl_dumpable_DEPENDENCIES)
- @rm -f prctl-dumpable$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_dumpable_OBJECTS) $(prctl_dumpable_LDADD) $(LIBS)
-
-prctl-name$(EXEEXT): $(prctl_name_OBJECTS) $(prctl_name_DEPENDENCIES) $(EXTRA_prctl_name_DEPENDENCIES)
- @rm -f prctl-name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_name_OBJECTS) $(prctl_name_LDADD) $(LIBS)
-
-prctl-no-args$(EXEEXT): $(prctl_no_args_OBJECTS) $(prctl_no_args_DEPENDENCIES) $(EXTRA_prctl_no_args_DEPENDENCIES)
- @rm -f prctl-no-args$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_no_args_OBJECTS) $(prctl_no_args_LDADD) $(LIBS)
-
-prctl-pdeathsig$(EXEEXT): $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_DEPENDENCIES) $(EXTRA_prctl_pdeathsig_DEPENDENCIES)
- @rm -f prctl-pdeathsig$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_LDADD) $(LIBS)
-
-prctl-seccomp-filter-v$(EXEEXT): $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_DEPENDENCIES) $(EXTRA_prctl_seccomp_filter_v_DEPENDENCIES)
- @rm -f prctl-seccomp-filter-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_LDADD) $(LIBS)
-
-prctl-seccomp-strict$(EXEEXT): $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_DEPENDENCIES) $(EXTRA_prctl_seccomp_strict_DEPENDENCIES)
- @rm -f prctl-seccomp-strict$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_LDADD) $(LIBS)
-
-prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPENDENCIES) $(EXTRA_prctl_securebits_DEPENDENCIES)
- @rm -f prctl-securebits$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS)
-
-prctl-tid_address$(EXEEXT): $(prctl_tid_address_OBJECTS) $(prctl_tid_address_DEPENDENCIES) $(EXTRA_prctl_tid_address_DEPENDENCIES)
- @rm -f prctl-tid_address$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_tid_address_OBJECTS) $(prctl_tid_address_LDADD) $(LIBS)
-
-prctl-tsc$(EXEEXT): $(prctl_tsc_OBJECTS) $(prctl_tsc_DEPENDENCIES) $(EXTRA_prctl_tsc_DEPENDENCIES)
- @rm -f prctl-tsc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_tsc_OBJECTS) $(prctl_tsc_LDADD) $(LIBS)
-
-pread64-pwrite64$(EXEEXT): $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_DEPENDENCIES) $(EXTRA_pread64_pwrite64_DEPENDENCIES)
- @rm -f pread64-pwrite64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_LDADD) $(LIBS)
-
-preadv$(EXEEXT): $(preadv_OBJECTS) $(preadv_DEPENDENCIES) $(EXTRA_preadv_DEPENDENCIES)
- @rm -f preadv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv_OBJECTS) $(preadv_LDADD) $(LIBS)
-
-preadv-pwritev$(EXEEXT): $(preadv_pwritev_OBJECTS) $(preadv_pwritev_DEPENDENCIES) $(EXTRA_preadv_pwritev_DEPENDENCIES)
- @rm -f preadv-pwritev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv_pwritev_OBJECTS) $(preadv_pwritev_LDADD) $(LIBS)
-
-preadv2-pwritev2$(EXEEXT): $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_DEPENDENCIES) $(EXTRA_preadv2_pwritev2_DEPENDENCIES)
- @rm -f preadv2-pwritev2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_LDADD) $(LIBS)
-
-print_maxfd$(EXEEXT): $(print_maxfd_OBJECTS) $(print_maxfd_DEPENDENCIES) $(EXTRA_print_maxfd_DEPENDENCIES)
- @rm -f print_maxfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(print_maxfd_OBJECTS) $(print_maxfd_LDADD) $(LIBS)
-
-printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES)
- @rm -f printstr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
-
-prlimit64$(EXEEXT): $(prlimit64_OBJECTS) $(prlimit64_DEPENDENCIES) $(EXTRA_prlimit64_DEPENDENCIES)
- @rm -f prlimit64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
-
-process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES)
- @rm -f process_vm_readv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
-
-process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES)
- @rm -f process_vm_writev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
-
-pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES)
- @rm -f pselect6$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
-
-ptrace$(EXEEXT): $(ptrace_OBJECTS) $(ptrace_DEPENDENCIES) $(EXTRA_ptrace_DEPENDENCIES)
- @rm -f ptrace$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ptrace_OBJECTS) $(ptrace_LDADD) $(LIBS)
-
-pwritev$(EXEEXT): $(pwritev_OBJECTS) $(pwritev_DEPENDENCIES) $(EXTRA_pwritev_DEPENDENCIES)
- @rm -f pwritev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pwritev_OBJECTS) $(pwritev_LDADD) $(LIBS)
-
-qual_fault$(EXEEXT): $(qual_fault_OBJECTS) $(qual_fault_DEPENDENCIES) $(EXTRA_qual_fault_DEPENDENCIES)
- @rm -f qual_fault$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_fault_OBJECTS) $(qual_fault_LDADD) $(LIBS)
-
-qual_inject-error-signal$(EXEEXT): $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_DEPENDENCIES) $(EXTRA_qual_inject_error_signal_DEPENDENCIES)
- @rm -f qual_inject-error-signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_LDADD) $(LIBS)
-
-qual_inject-retval$(EXEEXT): $(qual_inject_retval_OBJECTS) $(qual_inject_retval_DEPENDENCIES) $(EXTRA_qual_inject_retval_DEPENDENCIES)
- @rm -f qual_inject-retval$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_retval_OBJECTS) $(qual_inject_retval_LDADD) $(LIBS)
-
-qual_inject-signal$(EXEEXT): $(qual_inject_signal_OBJECTS) $(qual_inject_signal_DEPENDENCIES) $(EXTRA_qual_inject_signal_DEPENDENCIES)
- @rm -f qual_inject-signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_signal_OBJECTS) $(qual_inject_signal_LDADD) $(LIBS)
-
-qual_signal$(EXEEXT): $(qual_signal_OBJECTS) $(qual_signal_DEPENDENCIES) $(EXTRA_qual_signal_DEPENDENCIES)
- @rm -f qual_signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_signal_OBJECTS) $(qual_signal_LDADD) $(LIBS)
-
-quotactl$(EXEEXT): $(quotactl_OBJECTS) $(quotactl_DEPENDENCIES) $(EXTRA_quotactl_DEPENDENCIES)
- @rm -f quotactl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_OBJECTS) $(quotactl_LDADD) $(LIBS)
-
-quotactl-v$(EXEEXT): $(quotactl_v_OBJECTS) $(quotactl_v_DEPENDENCIES) $(EXTRA_quotactl_v_DEPENDENCIES)
- @rm -f quotactl-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_v_OBJECTS) $(quotactl_v_LDADD) $(LIBS)
-
-quotactl-xfs$(EXEEXT): $(quotactl_xfs_OBJECTS) $(quotactl_xfs_DEPENDENCIES) $(EXTRA_quotactl_xfs_DEPENDENCIES)
- @rm -f quotactl-xfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_xfs_OBJECTS) $(quotactl_xfs_LDADD) $(LIBS)
-
-quotactl-xfs-v$(EXEEXT): $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_DEPENDENCIES) $(EXTRA_quotactl_xfs_v_DEPENDENCIES)
- @rm -f quotactl-xfs-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_LDADD) $(LIBS)
-
-read-write$(EXEEXT): $(read_write_OBJECTS) $(read_write_DEPENDENCIES) $(EXTRA_read_write_DEPENDENCIES)
- @rm -f read-write$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(read_write_OBJECTS) $(read_write_LDADD) $(LIBS)
-
-readahead$(EXEEXT): $(readahead_OBJECTS) $(readahead_DEPENDENCIES) $(EXTRA_readahead_DEPENDENCIES)
- @rm -f readahead$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readahead_OBJECTS) $(readahead_LDADD) $(LIBS)
-
-readdir$(EXEEXT): $(readdir_OBJECTS) $(readdir_DEPENDENCIES) $(EXTRA_readdir_DEPENDENCIES)
- @rm -f readdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readdir_OBJECTS) $(readdir_LDADD) $(LIBS)
-
-readlink$(EXEEXT): $(readlink_OBJECTS) $(readlink_DEPENDENCIES) $(EXTRA_readlink_DEPENDENCIES)
- @rm -f readlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readlink_OBJECTS) $(readlink_LDADD) $(LIBS)
-
-readlinkat$(EXEEXT): $(readlinkat_OBJECTS) $(readlinkat_DEPENDENCIES) $(EXTRA_readlinkat_DEPENDENCIES)
- @rm -f readlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readlinkat_OBJECTS) $(readlinkat_LDADD) $(LIBS)
-
-readv$(EXEEXT): $(readv_OBJECTS) $(readv_DEPENDENCIES) $(EXTRA_readv_DEPENDENCIES)
- @rm -f readv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readv_OBJECTS) $(readv_LDADD) $(LIBS)
-
-reboot$(EXEEXT): $(reboot_OBJECTS) $(reboot_DEPENDENCIES) $(EXTRA_reboot_DEPENDENCIES)
- @rm -f reboot$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(reboot_OBJECTS) $(reboot_LDADD) $(LIBS)
-
-recvfrom$(EXEEXT): $(recvfrom_OBJECTS) $(recvfrom_DEPENDENCIES) $(EXTRA_recvfrom_DEPENDENCIES)
- @rm -f recvfrom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvfrom_OBJECTS) $(recvfrom_LDADD) $(LIBS)
-
-recvmmsg-timeout$(EXEEXT): $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_DEPENDENCIES) $(EXTRA_recvmmsg_timeout_DEPENDENCIES)
- @rm -f recvmmsg-timeout$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_LDADD) $(LIBS)
-
-recvmsg$(EXEEXT): $(recvmsg_OBJECTS) $(recvmsg_DEPENDENCIES) $(EXTRA_recvmsg_DEPENDENCIES)
- @rm -f recvmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvmsg_OBJECTS) $(recvmsg_LDADD) $(LIBS)
-
-redirect-fds$(EXEEXT): $(redirect_fds_OBJECTS) $(redirect_fds_DEPENDENCIES) $(EXTRA_redirect_fds_DEPENDENCIES)
- @rm -f redirect-fds$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(redirect_fds_OBJECTS) $(redirect_fds_LDADD) $(LIBS)
-
-remap_file_pages$(EXEEXT): $(remap_file_pages_OBJECTS) $(remap_file_pages_DEPENDENCIES) $(EXTRA_remap_file_pages_DEPENDENCIES)
- @rm -f remap_file_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(remap_file_pages_OBJECTS) $(remap_file_pages_LDADD) $(LIBS)
-
-rename$(EXEEXT): $(rename_OBJECTS) $(rename_DEPENDENCIES) $(EXTRA_rename_DEPENDENCIES)
- @rm -f rename$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rename_OBJECTS) $(rename_LDADD) $(LIBS)
-
-renameat$(EXEEXT): $(renameat_OBJECTS) $(renameat_DEPENDENCIES) $(EXTRA_renameat_DEPENDENCIES)
- @rm -f renameat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(renameat_OBJECTS) $(renameat_LDADD) $(LIBS)
-
-renameat2$(EXEEXT): $(renameat2_OBJECTS) $(renameat2_DEPENDENCIES) $(EXTRA_renameat2_DEPENDENCIES)
- @rm -f renameat2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(renameat2_OBJECTS) $(renameat2_LDADD) $(LIBS)
-
-request_key$(EXEEXT): $(request_key_OBJECTS) $(request_key_DEPENDENCIES) $(EXTRA_request_key_DEPENDENCIES)
- @rm -f request_key$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(request_key_OBJECTS) $(request_key_LDADD) $(LIBS)
-
-restart_syscall$(EXEEXT): $(restart_syscall_OBJECTS) $(restart_syscall_DEPENDENCIES) $(EXTRA_restart_syscall_DEPENDENCIES)
- @rm -f restart_syscall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(restart_syscall_OBJECTS) $(restart_syscall_LDADD) $(LIBS)
-
-rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIES)
- @rm -f rmdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
-
-rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES)
- @rm -f rt_sigpending$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
-
-rt_sigprocmask$(EXEEXT): $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_DEPENDENCIES) $(EXTRA_rt_sigprocmask_DEPENDENCIES)
- @rm -f rt_sigprocmask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_LDADD) $(LIBS)
-
-rt_sigqueueinfo$(EXEEXT): $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo_DEPENDENCIES)
- @rm -f rt_sigqueueinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
-
-rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES)
- @rm -f rt_sigreturn$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS)
-
-rt_sigsuspend$(EXEEXT): $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_DEPENDENCIES) $(EXTRA_rt_sigsuspend_DEPENDENCIES)
- @rm -f rt_sigsuspend$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_LDADD) $(LIBS)
-
-rt_sigtimedwait$(EXEEXT): $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_DEPENDENCIES) $(EXTRA_rt_sigtimedwait_DEPENDENCIES)
- @rm -f rt_sigtimedwait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_LDADD) $(LIBS)
-
-rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo_DEPENDENCIES)
- @rm -f rt_tgsigqueueinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
-
-sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES)
- @rm -f sched_get_priority_mxx$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
-
-sched_rr_get_interval$(EXEEXT): $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_DEPENDENCIES) $(EXTRA_sched_rr_get_interval_DEPENDENCIES)
- @rm -f sched_rr_get_interval$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_LDADD) $(LIBS)
-
-sched_xetaffinity$(EXEEXT): $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_DEPENDENCIES) $(EXTRA_sched_xetaffinity_DEPENDENCIES)
- @rm -f sched_xetaffinity$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
-
-sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES)
- @rm -f sched_xetattr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
-
-sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES)
- @rm -f sched_xetparam$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
-
-sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES)
- @rm -f sched_xetscheduler$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
-
-sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES)
- @rm -f sched_yield$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
-
-scm_rights$(EXEEXT): $(scm_rights_OBJECTS) $(scm_rights_DEPENDENCIES) $(EXTRA_scm_rights_DEPENDENCIES)
- @rm -f scm_rights$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(scm_rights_OBJECTS) $(scm_rights_LDADD) $(LIBS)
-
-seccomp-filter$(EXEEXT): $(seccomp_filter_OBJECTS) $(seccomp_filter_DEPENDENCIES) $(EXTRA_seccomp_filter_DEPENDENCIES)
- @rm -f seccomp-filter$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_filter_OBJECTS) $(seccomp_filter_LDADD) $(LIBS)
-
-seccomp-filter-v$(EXEEXT): $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_DEPENDENCIES) $(EXTRA_seccomp_filter_v_DEPENDENCIES)
- @rm -f seccomp-filter-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_LDADD) $(LIBS)
-
-seccomp-strict$(EXEEXT): $(seccomp_strict_OBJECTS) $(seccomp_strict_DEPENDENCIES) $(EXTRA_seccomp_strict_DEPENDENCIES)
- @rm -f seccomp-strict$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_strict_OBJECTS) $(seccomp_strict_LDADD) $(LIBS)
-
-select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES)
- @rm -f select$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
-
-semop$(EXEEXT): $(semop_OBJECTS) $(semop_DEPENDENCIES) $(EXTRA_semop_DEPENDENCIES)
- @rm -f semop$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(semop_OBJECTS) $(semop_LDADD) $(LIBS)
-
-sendfile$(EXEEXT): $(sendfile_OBJECTS) $(sendfile_DEPENDENCIES) $(EXTRA_sendfile_DEPENDENCIES)
- @rm -f sendfile$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sendfile_OBJECTS) $(sendfile_LDADD) $(LIBS)
-
-sendfile64$(EXEEXT): $(sendfile64_OBJECTS) $(sendfile64_DEPENDENCIES) $(EXTRA_sendfile64_DEPENDENCIES)
- @rm -f sendfile64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sendfile64_OBJECTS) $(sendfile64_LDADD) $(LIBS)
-
-set_mempolicy$(EXEEXT): $(set_mempolicy_OBJECTS) $(set_mempolicy_DEPENDENCIES) $(EXTRA_set_mempolicy_DEPENDENCIES)
- @rm -f set_mempolicy$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(set_mempolicy_OBJECTS) $(set_mempolicy_LDADD) $(LIBS)
-
-set_ptracer_any$(EXEEXT): $(set_ptracer_any_OBJECTS) $(set_ptracer_any_DEPENDENCIES) $(EXTRA_set_ptracer_any_DEPENDENCIES)
- @rm -f set_ptracer_any$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(set_ptracer_any_OBJECTS) $(set_ptracer_any_LDADD) $(LIBS)
-
-setdomainname$(EXEEXT): $(setdomainname_OBJECTS) $(setdomainname_DEPENDENCIES) $(EXTRA_setdomainname_DEPENDENCIES)
- @rm -f setdomainname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setdomainname_OBJECTS) $(setdomainname_LDADD) $(LIBS)
-
-setfsgid$(EXEEXT): $(setfsgid_OBJECTS) $(setfsgid_DEPENDENCIES) $(EXTRA_setfsgid_DEPENDENCIES)
- @rm -f setfsgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsgid_OBJECTS) $(setfsgid_LDADD) $(LIBS)
-
-setfsgid32$(EXEEXT): $(setfsgid32_OBJECTS) $(setfsgid32_DEPENDENCIES) $(EXTRA_setfsgid32_DEPENDENCIES)
- @rm -f setfsgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsgid32_OBJECTS) $(setfsgid32_LDADD) $(LIBS)
-
-setfsuid$(EXEEXT): $(setfsuid_OBJECTS) $(setfsuid_DEPENDENCIES) $(EXTRA_setfsuid_DEPENDENCIES)
- @rm -f setfsuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsuid_OBJECTS) $(setfsuid_LDADD) $(LIBS)
-
-setfsuid32$(EXEEXT): $(setfsuid32_OBJECTS) $(setfsuid32_DEPENDENCIES) $(EXTRA_setfsuid32_DEPENDENCIES)
- @rm -f setfsuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsuid32_OBJECTS) $(setfsuid32_LDADD) $(LIBS)
-
-setgid$(EXEEXT): $(setgid_OBJECTS) $(setgid_DEPENDENCIES) $(EXTRA_setgid_DEPENDENCIES)
- @rm -f setgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgid_OBJECTS) $(setgid_LDADD) $(LIBS)
-
-setgid32$(EXEEXT): $(setgid32_OBJECTS) $(setgid32_DEPENDENCIES) $(EXTRA_setgid32_DEPENDENCIES)
- @rm -f setgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgid32_OBJECTS) $(setgid32_LDADD) $(LIBS)
-
-setgroups$(EXEEXT): $(setgroups_OBJECTS) $(setgroups_DEPENDENCIES) $(EXTRA_setgroups_DEPENDENCIES)
- @rm -f setgroups$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgroups_OBJECTS) $(setgroups_LDADD) $(LIBS)
-
-setgroups32$(EXEEXT): $(setgroups32_OBJECTS) $(setgroups32_DEPENDENCIES) $(EXTRA_setgroups32_DEPENDENCIES)
- @rm -f setgroups32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgroups32_OBJECTS) $(setgroups32_LDADD) $(LIBS)
-
-sethostname$(EXEEXT): $(sethostname_OBJECTS) $(sethostname_DEPENDENCIES) $(EXTRA_sethostname_DEPENDENCIES)
- @rm -f sethostname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sethostname_OBJECTS) $(sethostname_LDADD) $(LIBS)
-
-setns$(EXEEXT): $(setns_OBJECTS) $(setns_DEPENDENCIES) $(EXTRA_setns_DEPENDENCIES)
- @rm -f setns$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setns_OBJECTS) $(setns_LDADD) $(LIBS)
-
-setregid$(EXEEXT): $(setregid_OBJECTS) $(setregid_DEPENDENCIES) $(EXTRA_setregid_DEPENDENCIES)
- @rm -f setregid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setregid_OBJECTS) $(setregid_LDADD) $(LIBS)
-
-setregid32$(EXEEXT): $(setregid32_OBJECTS) $(setregid32_DEPENDENCIES) $(EXTRA_setregid32_DEPENDENCIES)
- @rm -f setregid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setregid32_OBJECTS) $(setregid32_LDADD) $(LIBS)
-
-setresgid$(EXEEXT): $(setresgid_OBJECTS) $(setresgid_DEPENDENCIES) $(EXTRA_setresgid_DEPENDENCIES)
- @rm -f setresgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresgid_OBJECTS) $(setresgid_LDADD) $(LIBS)
-
-setresgid32$(EXEEXT): $(setresgid32_OBJECTS) $(setresgid32_DEPENDENCIES) $(EXTRA_setresgid32_DEPENDENCIES)
- @rm -f setresgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresgid32_OBJECTS) $(setresgid32_LDADD) $(LIBS)
-
-setresuid$(EXEEXT): $(setresuid_OBJECTS) $(setresuid_DEPENDENCIES) $(EXTRA_setresuid_DEPENDENCIES)
- @rm -f setresuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresuid_OBJECTS) $(setresuid_LDADD) $(LIBS)
-
-setresuid32$(EXEEXT): $(setresuid32_OBJECTS) $(setresuid32_DEPENDENCIES) $(EXTRA_setresuid32_DEPENDENCIES)
- @rm -f setresuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresuid32_OBJECTS) $(setresuid32_LDADD) $(LIBS)
-
-setreuid$(EXEEXT): $(setreuid_OBJECTS) $(setreuid_DEPENDENCIES) $(EXTRA_setreuid_DEPENDENCIES)
- @rm -f setreuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setreuid_OBJECTS) $(setreuid_LDADD) $(LIBS)
-
-setreuid32$(EXEEXT): $(setreuid32_OBJECTS) $(setreuid32_DEPENDENCIES) $(EXTRA_setreuid32_DEPENDENCIES)
- @rm -f setreuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setreuid32_OBJECTS) $(setreuid32_LDADD) $(LIBS)
-
-setrlimit$(EXEEXT): $(setrlimit_OBJECTS) $(setrlimit_DEPENDENCIES) $(EXTRA_setrlimit_DEPENDENCIES)
- @rm -f setrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setrlimit_OBJECTS) $(setrlimit_LDADD) $(LIBS)
-
-setuid$(EXEEXT): $(setuid_OBJECTS) $(setuid_DEPENDENCIES) $(EXTRA_setuid_DEPENDENCIES)
- @rm -f setuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setuid_OBJECTS) $(setuid_LDADD) $(LIBS)
-
-setuid32$(EXEEXT): $(setuid32_OBJECTS) $(setuid32_DEPENDENCIES) $(EXTRA_setuid32_DEPENDENCIES)
- @rm -f setuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setuid32_OBJECTS) $(setuid32_LDADD) $(LIBS)
-
-shmxt$(EXEEXT): $(shmxt_OBJECTS) $(shmxt_DEPENDENCIES) $(EXTRA_shmxt_DEPENDENCIES)
- @rm -f shmxt$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(shmxt_OBJECTS) $(shmxt_LDADD) $(LIBS)
-
-shutdown$(EXEEXT): $(shutdown_OBJECTS) $(shutdown_DEPENDENCIES) $(EXTRA_shutdown_DEPENDENCIES)
- @rm -f shutdown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(shutdown_OBJECTS) $(shutdown_LDADD) $(LIBS)
-
-sigaction$(EXEEXT): $(sigaction_OBJECTS) $(sigaction_DEPENDENCIES) $(EXTRA_sigaction_DEPENDENCIES)
- @rm -f sigaction$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigaction_OBJECTS) $(sigaction_LDADD) $(LIBS)
-
-sigaltstack$(EXEEXT): $(sigaltstack_OBJECTS) $(sigaltstack_DEPENDENCIES) $(EXTRA_sigaltstack_DEPENDENCIES)
- @rm -f sigaltstack$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigaltstack_OBJECTS) $(sigaltstack_LDADD) $(LIBS)
-
-siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEPENDENCIES)
- @rm -f siginfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
-
-signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES)
- @rm -f signal_receive$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
-
-signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES)
- @rm -f signalfd4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
-
-sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES)
- @rm -f sigreturn$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
-
-sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES)
- @rm -f sigsuspend$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
-
-sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES)
- @rm -f sleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
-
-socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES)
- @rm -f socketcall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
-
-splice$(EXEEXT): $(splice_OBJECTS) $(splice_DEPENDENCIES) $(EXTRA_splice_DEPENDENCIES)
- @rm -f splice$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(splice_OBJECTS) $(splice_LDADD) $(LIBS)
-
-stack-fcall$(EXEEXT): $(stack_fcall_OBJECTS) $(stack_fcall_DEPENDENCIES) $(EXTRA_stack_fcall_DEPENDENCIES)
- @rm -f stack-fcall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stack_fcall_OBJECTS) $(stack_fcall_LDADD) $(LIBS)
-
-stat$(EXEEXT): $(stat_OBJECTS) $(stat_DEPENDENCIES) $(EXTRA_stat_DEPENDENCIES)
- @rm -f stat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stat_OBJECTS) $(stat_LDADD) $(LIBS)
-
-stat64$(EXEEXT): $(stat64_OBJECTS) $(stat64_DEPENDENCIES) $(EXTRA_stat64_DEPENDENCIES)
- @rm -f stat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stat64_OBJECTS) $(stat64_LDADD) $(LIBS)
-
-statfs$(EXEEXT): $(statfs_OBJECTS) $(statfs_DEPENDENCIES) $(EXTRA_statfs_DEPENDENCIES)
- @rm -f statfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statfs_OBJECTS) $(statfs_LDADD) $(LIBS)
-
-statfs64$(EXEEXT): $(statfs64_OBJECTS) $(statfs64_DEPENDENCIES) $(EXTRA_statfs64_DEPENDENCIES)
- @rm -f statfs64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
-
-statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES)
- @rm -f statx$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
-
-swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES)
- @rm -f swap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
-
-sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES)
- @rm -f sxetmask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
-
-symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES)
- @rm -f symlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
-
-symlinkat$(EXEEXT): $(symlinkat_OBJECTS) $(symlinkat_DEPENDENCIES) $(EXTRA_symlinkat_DEPENDENCIES)
- @rm -f symlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(symlinkat_OBJECTS) $(symlinkat_LDADD) $(LIBS)
-
-sync$(EXEEXT): $(sync_OBJECTS) $(sync_DEPENDENCIES) $(EXTRA_sync_DEPENDENCIES)
- @rm -f sync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_OBJECTS) $(sync_LDADD) $(LIBS)
-
-sync_file_range$(EXEEXT): $(sync_file_range_OBJECTS) $(sync_file_range_DEPENDENCIES) $(EXTRA_sync_file_range_DEPENDENCIES)
- @rm -f sync_file_range$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_file_range_OBJECTS) $(sync_file_range_LDADD) $(LIBS)
-
-sync_file_range2$(EXEEXT): $(sync_file_range2_OBJECTS) $(sync_file_range2_DEPENDENCIES) $(EXTRA_sync_file_range2_DEPENDENCIES)
- @rm -f sync_file_range2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_file_range2_OBJECTS) $(sync_file_range2_LDADD) $(LIBS)
-
-sysinfo$(EXEEXT): $(sysinfo_OBJECTS) $(sysinfo_DEPENDENCIES) $(EXTRA_sysinfo_DEPENDENCIES)
- @rm -f sysinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sysinfo_OBJECTS) $(sysinfo_LDADD) $(LIBS)
-
-syslog$(EXEEXT): $(syslog_OBJECTS) $(syslog_DEPENDENCIES) $(EXTRA_syslog_DEPENDENCIES)
- @rm -f syslog$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(syslog_OBJECTS) $(syslog_LDADD) $(LIBS)
-
-tee$(EXEEXT): $(tee_OBJECTS) $(tee_DEPENDENCIES) $(EXTRA_tee_DEPENDENCIES)
- @rm -f tee$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
-
-threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES)
- @rm -f threads-execve$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-
-time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES)
- @rm -f time$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
-
-timer_create$(EXEEXT): $(timer_create_OBJECTS) $(timer_create_DEPENDENCIES) $(EXTRA_timer_create_DEPENDENCIES)
- @rm -f timer_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timer_create_OBJECTS) $(timer_create_LDADD) $(LIBS)
-
-timer_xettime$(EXEEXT): $(timer_xettime_OBJECTS) $(timer_xettime_DEPENDENCIES) $(EXTRA_timer_xettime_DEPENDENCIES)
- @rm -f timer_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timer_xettime_OBJECTS) $(timer_xettime_LDADD) $(LIBS)
-
-timerfd_xettime$(EXEEXT): $(timerfd_xettime_OBJECTS) $(timerfd_xettime_DEPENDENCIES) $(EXTRA_timerfd_xettime_DEPENDENCIES)
- @rm -f timerfd_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timerfd_xettime_OBJECTS) $(timerfd_xettime_LDADD) $(LIBS)
-
-times$(EXEEXT): $(times_OBJECTS) $(times_DEPENDENCIES) $(EXTRA_times_DEPENDENCIES)
- @rm -f times$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(times_OBJECTS) $(times_LDADD) $(LIBS)
-
-times-fail$(EXEEXT): $(times_fail_OBJECTS) $(times_fail_DEPENDENCIES) $(EXTRA_times_fail_DEPENDENCIES)
- @rm -f times-fail$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
-
-truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES)
- @rm -f truncate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
-
-truncate64$(EXEEXT): $(truncate64_OBJECTS) $(truncate64_DEPENDENCIES) $(EXTRA_truncate64_DEPENDENCIES)
- @rm -f truncate64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(truncate64_OBJECTS) $(truncate64_LDADD) $(LIBS)
-
-ugetrlimit$(EXEEXT): $(ugetrlimit_OBJECTS) $(ugetrlimit_DEPENDENCIES) $(EXTRA_ugetrlimit_DEPENDENCIES)
- @rm -f ugetrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ugetrlimit_OBJECTS) $(ugetrlimit_LDADD) $(LIBS)
-
-uio$(EXEEXT): $(uio_OBJECTS) $(uio_DEPENDENCIES) $(EXTRA_uio_DEPENDENCIES)
- @rm -f uio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(uio_OBJECTS) $(uio_LDADD) $(LIBS)
-
-umask$(EXEEXT): $(umask_OBJECTS) $(umask_DEPENDENCIES) $(EXTRA_umask_DEPENDENCIES)
- @rm -f umask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umask_OBJECTS) $(umask_LDADD) $(LIBS)
-
-umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES) $(EXTRA_umount_DEPENDENCIES)
- @rm -f umount$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
-
-umount2$(EXEEXT): $(umount2_OBJECTS) $(umount2_DEPENDENCIES) $(EXTRA_umount2_DEPENDENCIES)
- @rm -f umount2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umount2_OBJECTS) $(umount2_LDADD) $(LIBS)
-
-umoven-illptr$(EXEEXT): $(umoven_illptr_OBJECTS) $(umoven_illptr_DEPENDENCIES) $(EXTRA_umoven_illptr_DEPENDENCIES)
- @rm -f umoven-illptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umoven_illptr_OBJECTS) $(umoven_illptr_LDADD) $(LIBS)
-
-umovestr$(EXEEXT): $(umovestr_OBJECTS) $(umovestr_DEPENDENCIES) $(EXTRA_umovestr_DEPENDENCIES)
- @rm -f umovestr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr_OBJECTS) $(umovestr_LDADD) $(LIBS)
-
-umovestr-illptr$(EXEEXT): $(umovestr_illptr_OBJECTS) $(umovestr_illptr_DEPENDENCIES) $(EXTRA_umovestr_illptr_DEPENDENCIES)
- @rm -f umovestr-illptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr_illptr_OBJECTS) $(umovestr_illptr_LDADD) $(LIBS)
-
-umovestr2$(EXEEXT): $(umovestr2_OBJECTS) $(umovestr2_DEPENDENCIES) $(EXTRA_umovestr2_DEPENDENCIES)
- @rm -f umovestr2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr2_OBJECTS) $(umovestr2_LDADD) $(LIBS)
-
-umovestr3$(EXEEXT): $(umovestr3_OBJECTS) $(umovestr3_DEPENDENCIES) $(EXTRA_umovestr3_DEPENDENCIES)
- @rm -f umovestr3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr3_OBJECTS) $(umovestr3_LDADD) $(LIBS)
-
-uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIES)
- @rm -f uname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
-
-unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES)
- @rm -f unix-pair-send-recv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
-
-unix-pair-sendto-recvfrom$(EXEEXT): $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_DEPENDENCIES) $(EXTRA_unix_pair_sendto_recvfrom_DEPENDENCIES)
- @rm -f unix-pair-sendto-recvfrom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_LDADD) $(LIBS)
-
-unlink$(EXEEXT): $(unlink_OBJECTS) $(unlink_DEPENDENCIES) $(EXTRA_unlink_DEPENDENCIES)
- @rm -f unlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unlink_OBJECTS) $(unlink_LDADD) $(LIBS)
-
-unlinkat$(EXEEXT): $(unlinkat_OBJECTS) $(unlinkat_DEPENDENCIES) $(EXTRA_unlinkat_DEPENDENCIES)
- @rm -f unlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unlinkat_OBJECTS) $(unlinkat_LDADD) $(LIBS)
-
-unshare$(EXEEXT): $(unshare_OBJECTS) $(unshare_DEPENDENCIES) $(EXTRA_unshare_DEPENDENCIES)
- @rm -f unshare$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unshare_OBJECTS) $(unshare_LDADD) $(LIBS)
-
-userfaultfd$(EXEEXT): $(userfaultfd_OBJECTS) $(userfaultfd_DEPENDENCIES) $(EXTRA_userfaultfd_DEPENDENCIES)
- @rm -f userfaultfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(userfaultfd_OBJECTS) $(userfaultfd_LDADD) $(LIBS)
-
-ustat$(EXEEXT): $(ustat_OBJECTS) $(ustat_DEPENDENCIES) $(EXTRA_ustat_DEPENDENCIES)
- @rm -f ustat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ustat_OBJECTS) $(ustat_LDADD) $(LIBS)
-
-utime$(EXEEXT): $(utime_OBJECTS) $(utime_DEPENDENCIES) $(EXTRA_utime_DEPENDENCIES)
- @rm -f utime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utime_OBJECTS) $(utime_LDADD) $(LIBS)
-
-utimensat$(EXEEXT): $(utimensat_OBJECTS) $(utimensat_DEPENDENCIES) $(EXTRA_utimensat_DEPENDENCIES)
- @rm -f utimensat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utimensat_OBJECTS) $(utimensat_LDADD) $(LIBS)
-
-utimes$(EXEEXT): $(utimes_OBJECTS) $(utimes_DEPENDENCIES) $(EXTRA_utimes_DEPENDENCIES)
- @rm -f utimes$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utimes_OBJECTS) $(utimes_LDADD) $(LIBS)
-
-vfork-f$(EXEEXT): $(vfork_f_OBJECTS) $(vfork_f_DEPENDENCIES) $(EXTRA_vfork_f_DEPENDENCIES)
- @rm -f vfork-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vfork_f_OBJECTS) $(vfork_f_LDADD) $(LIBS)
-
-vhangup$(EXEEXT): $(vhangup_OBJECTS) $(vhangup_DEPENDENCIES) $(EXTRA_vhangup_DEPENDENCIES)
- @rm -f vhangup$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vhangup_OBJECTS) $(vhangup_LDADD) $(LIBS)
-
-vmsplice$(EXEEXT): $(vmsplice_OBJECTS) $(vmsplice_DEPENDENCIES) $(EXTRA_vmsplice_DEPENDENCIES)
- @rm -f vmsplice$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vmsplice_OBJECTS) $(vmsplice_LDADD) $(LIBS)
-
-wait4$(EXEEXT): $(wait4_OBJECTS) $(wait4_DEPENDENCIES) $(EXTRA_wait4_DEPENDENCIES)
- @rm -f wait4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(wait4_OBJECTS) $(wait4_LDADD) $(LIBS)
-
-wait4-v$(EXEEXT): $(wait4_v_OBJECTS) $(wait4_v_DEPENDENCIES) $(EXTRA_wait4_v_DEPENDENCIES)
- @rm -f wait4-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(wait4_v_OBJECTS) $(wait4_v_LDADD) $(LIBS)
-
-waitid$(EXEEXT): $(waitid_OBJECTS) $(waitid_DEPENDENCIES) $(EXTRA_waitid_DEPENDENCIES)
- @rm -f waitid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitid_OBJECTS) $(waitid_LDADD) $(LIBS)
-
-waitid-v$(EXEEXT): $(waitid_v_OBJECTS) $(waitid_v_DEPENDENCIES) $(EXTRA_waitid_v_DEPENDENCIES)
- @rm -f waitid-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitid_v_OBJECTS) $(waitid_v_LDADD) $(LIBS)
-
-waitpid$(EXEEXT): $(waitpid_OBJECTS) $(waitpid_DEPENDENCIES) $(EXTRA_waitpid_DEPENDENCIES)
- @rm -f waitpid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitpid_OBJECTS) $(waitpid_LDADD) $(LIBS)
-
-xattr$(EXEEXT): $(xattr_OBJECTS) $(xattr_DEPENDENCIES) $(EXTRA_xattr_DEPENDENCIES)
- @rm -f xattr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xattr_OBJECTS) $(xattr_LDADD) $(LIBS)
-
-xattr-strings$(EXEEXT): $(xattr_strings_OBJECTS) $(xattr_strings_DEPENDENCIES) $(EXTRA_xattr_strings_DEPENDENCIES)
- @rm -f xattr-strings$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xattr_strings_OBJECTS) $(xattr_strings_LDADD) $(LIBS)
-
-xet_robust_list$(EXEEXT): $(xet_robust_list_OBJECTS) $(xet_robust_list_DEPENDENCIES) $(EXTRA_xet_robust_list_DEPENDENCIES)
- @rm -f xet_robust_list$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
-
-xetitimer$(EXEEXT): $(xetitimer_OBJECTS) $(xetitimer_DEPENDENCIES) $(EXTRA_xetitimer_DEPENDENCIES)
- @rm -f xetitimer$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetitimer_OBJECTS) $(xetitimer_LDADD) $(LIBS)
-
-xetpgid$(EXEEXT): $(xetpgid_OBJECTS) $(xetpgid_DEPENDENCIES) $(EXTRA_xetpgid_DEPENDENCIES)
- @rm -f xetpgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
-
-xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES)
- @rm -f xetpriority$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
-
-xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES)
- @rm -f xettimeofday$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/_newselect.Po
-include ./$(DEPDIR)/accept.Po
-include ./$(DEPDIR)/accept4.Po
-include ./$(DEPDIR)/access.Po
-include ./$(DEPDIR)/acct.Po
-include ./$(DEPDIR)/add_key.Po
-include ./$(DEPDIR)/adjtimex.Po
-include ./$(DEPDIR)/aio.Po
-include ./$(DEPDIR)/alarm.Po
-include ./$(DEPDIR)/answer.Po
-include ./$(DEPDIR)/attach-f-p-cmd.Po
-include ./$(DEPDIR)/attach-f-p.Po
-include ./$(DEPDIR)/attach-p-cmd-cmd.Po
-include ./$(DEPDIR)/attach-p-cmd-p.Po
-include ./$(DEPDIR)/bpf.Po
-include ./$(DEPDIR)/brk.Po
-include ./$(DEPDIR)/btrfs.Po
-include ./$(DEPDIR)/caps-abbrev.Po
-include ./$(DEPDIR)/caps.Po
-include ./$(DEPDIR)/chmod.Po
-include ./$(DEPDIR)/chown.Po
-include ./$(DEPDIR)/chown32.Po
-include ./$(DEPDIR)/chroot.Po
-include ./$(DEPDIR)/clock_adjtime.Po
-include ./$(DEPDIR)/clock_nanosleep.Po
-include ./$(DEPDIR)/clock_xettime.Po
-include ./$(DEPDIR)/copy_file_range.Po
-include ./$(DEPDIR)/count-f.Po
-include ./$(DEPDIR)/creat.Po
-include ./$(DEPDIR)/delete_module.Po
-include ./$(DEPDIR)/dup.Po
-include ./$(DEPDIR)/dup2.Po
-include ./$(DEPDIR)/dup3.Po
-include ./$(DEPDIR)/epoll_create.Po
-include ./$(DEPDIR)/epoll_create1.Po
-include ./$(DEPDIR)/epoll_ctl.Po
-include ./$(DEPDIR)/epoll_pwait.Po
-include ./$(DEPDIR)/epoll_wait.Po
-include ./$(DEPDIR)/erestartsys.Po
-include ./$(DEPDIR)/eventfd.Po
-include ./$(DEPDIR)/execve-v.Po
-include ./$(DEPDIR)/execve.Po
-include ./$(DEPDIR)/execveat-v.Po
-include ./$(DEPDIR)/execveat.Po
-include ./$(DEPDIR)/faccessat.Po
-include ./$(DEPDIR)/fadvise64.Po
-include ./$(DEPDIR)/fadvise64_64.Po
-include ./$(DEPDIR)/fallocate.Po
-include ./$(DEPDIR)/fanotify_init.Po
-include ./$(DEPDIR)/fanotify_mark.Po
-include ./$(DEPDIR)/fchdir.Po
-include ./$(DEPDIR)/fchmod.Po
-include ./$(DEPDIR)/fchmodat.Po
-include ./$(DEPDIR)/fchown.Po
-include ./$(DEPDIR)/fchown32.Po
-include ./$(DEPDIR)/fchownat.Po
-include ./$(DEPDIR)/fcntl.Po
-include ./$(DEPDIR)/fcntl64.Po
-include ./$(DEPDIR)/fdatasync.Po
-include ./$(DEPDIR)/file_handle.Po
-include ./$(DEPDIR)/file_ioctl.Po
-include ./$(DEPDIR)/filter-unavailable.Po
-include ./$(DEPDIR)/finit_module.Po
-include ./$(DEPDIR)/flock.Po
-include ./$(DEPDIR)/fork-f.Po
-include ./$(DEPDIR)/fstat.Po
-include ./$(DEPDIR)/fstat64-fstat64.Po
-include ./$(DEPDIR)/fstatat64-fstatat64.Po
-include ./$(DEPDIR)/fstatfs.Po
-include ./$(DEPDIR)/fstatfs64.Po
-include ./$(DEPDIR)/fsync.Po
-include ./$(DEPDIR)/ftruncate.Po
-include ./$(DEPDIR)/ftruncate64-ftruncate64.Po
-include ./$(DEPDIR)/futex.Po
-include ./$(DEPDIR)/futimesat.Po
-include ./$(DEPDIR)/get_mempolicy.Po
-include ./$(DEPDIR)/getcpu.Po
-include ./$(DEPDIR)/getcwd.Po
-include ./$(DEPDIR)/getdents.Po
-include ./$(DEPDIR)/getdents64.Po
-include ./$(DEPDIR)/getegid.Po
-include ./$(DEPDIR)/getegid32.Po
-include ./$(DEPDIR)/geteuid.Po
-include ./$(DEPDIR)/geteuid32.Po
-include ./$(DEPDIR)/getgid.Po
-include ./$(DEPDIR)/getgid32.Po
-include ./$(DEPDIR)/getgroups.Po
-include ./$(DEPDIR)/getgroups32.Po
-include ./$(DEPDIR)/getpeername.Po
-include ./$(DEPDIR)/getpgrp.Po
-include ./$(DEPDIR)/getpid.Po
-include ./$(DEPDIR)/getppid.Po
-include ./$(DEPDIR)/getrandom.Po
-include ./$(DEPDIR)/getresgid.Po
-include ./$(DEPDIR)/getresgid32.Po
-include ./$(DEPDIR)/getresuid.Po
-include ./$(DEPDIR)/getresuid32.Po
-include ./$(DEPDIR)/getrlimit.Po
-include ./$(DEPDIR)/getrusage.Po
-include ./$(DEPDIR)/getsid.Po
-include ./$(DEPDIR)/getsockname.Po
-include ./$(DEPDIR)/gettid.Po
-include ./$(DEPDIR)/getuid.Po
-include ./$(DEPDIR)/getuid32.Po
-include ./$(DEPDIR)/getxxid.Po
-include ./$(DEPDIR)/inet-cmsg.Po
-include ./$(DEPDIR)/init_module.Po
-include ./$(DEPDIR)/inotify.Po
-include ./$(DEPDIR)/inotify_init1.Po
-include ./$(DEPDIR)/int_0x80.Po
-include ./$(DEPDIR)/ioctl.Po
-include ./$(DEPDIR)/ioctl_block.Po
-include ./$(DEPDIR)/ioctl_dm-v.Po
-include ./$(DEPDIR)/ioctl_dm.Po
-include ./$(DEPDIR)/ioctl_evdev-v.Po
-include ./$(DEPDIR)/ioctl_evdev.Po
-include ./$(DEPDIR)/ioctl_loop-nv.Po
-include ./$(DEPDIR)/ioctl_loop-v.Po
-include ./$(DEPDIR)/ioctl_loop.Po
-include ./$(DEPDIR)/ioctl_mtd.Po
-include ./$(DEPDIR)/ioctl_nsfs.Po
-include ./$(DEPDIR)/ioctl_rtc-v.Po
-include ./$(DEPDIR)/ioctl_rtc.Po
-include ./$(DEPDIR)/ioctl_scsi.Po
-include ./$(DEPDIR)/ioctl_sg_io_v3.Po
-include ./$(DEPDIR)/ioctl_sg_io_v4.Po
-include ./$(DEPDIR)/ioctl_sock_gifconf.Po
-include ./$(DEPDIR)/ioctl_uffdio.Po
-include ./$(DEPDIR)/ioctl_v4l2.Po
-include ./$(DEPDIR)/ioperm.Po
-include ./$(DEPDIR)/iopl.Po
-include ./$(DEPDIR)/ioprio.Po
-include ./$(DEPDIR)/ip_mreq.Po
-include ./$(DEPDIR)/ipc.Po
-include ./$(DEPDIR)/ipc_msg.Po
-include ./$(DEPDIR)/ipc_msgbuf.Po
-include ./$(DEPDIR)/ipc_sem.Po
-include ./$(DEPDIR)/ipc_shm.Po
-include ./$(DEPDIR)/kcmp.Po
-include ./$(DEPDIR)/kexec_file_load.Po
-include ./$(DEPDIR)/kexec_load.Po
-include ./$(DEPDIR)/keyctl.Po
-include ./$(DEPDIR)/kill.Po
-include ./$(DEPDIR)/ksysent.Po
-include ./$(DEPDIR)/lchown.Po
-include ./$(DEPDIR)/lchown32.Po
-include ./$(DEPDIR)/libtests_a-errno2name.Po
-include ./$(DEPDIR)/libtests_a-error_msg.Po
-include ./$(DEPDIR)/libtests_a-fill_memory.Po
-include ./$(DEPDIR)/libtests_a-get_page_size.Po
-include ./$(DEPDIR)/libtests_a-get_sigset_size.Po
-include ./$(DEPDIR)/libtests_a-hexdump_strdup.Po
-include ./$(DEPDIR)/libtests_a-hexquote_strndup.Po
-include ./$(DEPDIR)/libtests_a-inode_of_sockfd.Po
-include ./$(DEPDIR)/libtests_a-libmmsg.Po
-include ./$(DEPDIR)/libtests_a-libsocketcall.Po
-include ./$(DEPDIR)/libtests_a-overflowuid.Po
-include ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
-include ./$(DEPDIR)/libtests_a-print_quoted_string.Po
-include ./$(DEPDIR)/libtests_a-print_time.Po
-include ./$(DEPDIR)/libtests_a-printflags.Po
-include ./$(DEPDIR)/libtests_a-printxval.Po
-include ./$(DEPDIR)/libtests_a-signal2name.Po
-include ./$(DEPDIR)/libtests_a-skip_unavailable.Po
-include ./$(DEPDIR)/libtests_a-sprintrc.Po
-include ./$(DEPDIR)/libtests_a-tail_alloc.Po
-include ./$(DEPDIR)/libtests_a-tprintf.Po
-include ./$(DEPDIR)/link.Po
-include ./$(DEPDIR)/linkat.Po
-include ./$(DEPDIR)/llseek.Po
-include ./$(DEPDIR)/lookup_dcookie.Po
-include ./$(DEPDIR)/lseek.Po
-include ./$(DEPDIR)/lstat.Po
-include ./$(DEPDIR)/lstat64-lstat64.Po
-include ./$(DEPDIR)/madvise.Po
-include ./$(DEPDIR)/mbind.Po
-include ./$(DEPDIR)/membarrier.Po
-include ./$(DEPDIR)/memfd_create.Po
-include ./$(DEPDIR)/migrate_pages.Po
-include ./$(DEPDIR)/mincore.Po
-include ./$(DEPDIR)/mkdir.Po
-include ./$(DEPDIR)/mkdirat.Po
-include ./$(DEPDIR)/mknod.Po
-include ./$(DEPDIR)/mknodat.Po
-include ./$(DEPDIR)/mlock.Po
-include ./$(DEPDIR)/mlock2.Po
-include ./$(DEPDIR)/mlockall.Po
-include ./$(DEPDIR)/mmap.Po
-include ./$(DEPDIR)/mmap64-mmap64.Po
-include ./$(DEPDIR)/mmsg-silent.Po
-include ./$(DEPDIR)/mmsg.Po
-include ./$(DEPDIR)/mmsg_name-v.Po
-include ./$(DEPDIR)/mmsg_name.Po
-include ./$(DEPDIR)/mount.Po
-include ./$(DEPDIR)/move_pages.Po
-include ./$(DEPDIR)/mq.Po
-include ./$(DEPDIR)/mq_sendrecv-read.Po
-include ./$(DEPDIR)/mq_sendrecv-write.Po
-include ./$(DEPDIR)/mq_sendrecv.Po
-include ./$(DEPDIR)/msg_control-v.Po
-include ./$(DEPDIR)/msg_control.Po
-include ./$(DEPDIR)/msg_name.Po
-include ./$(DEPDIR)/munlockall.Po
-include ./$(DEPDIR)/nanosleep.Po
-include ./$(DEPDIR)/net-accept-connect.Po
-include ./$(DEPDIR)/net-icmp_filter.Po
-include ./$(DEPDIR)/net-sockaddr.Po
-include ./$(DEPDIR)/net-y-unix.Po
-include ./$(DEPDIR)/net-yy-inet.Po
-include ./$(DEPDIR)/net-yy-netlink.Po
-include ./$(DEPDIR)/net-yy-unix.Po
-include ./$(DEPDIR)/netlink_inet_diag.Po
-include ./$(DEPDIR)/netlink_netlink_diag.Po
-include ./$(DEPDIR)/netlink_protocol.Po
-include ./$(DEPDIR)/netlink_unix_diag.Po
-include ./$(DEPDIR)/newfstatat-newfstatat.Po
-include ./$(DEPDIR)/nsyscalls.Po
-include ./$(DEPDIR)/old_mmap.Po
-include ./$(DEPDIR)/oldfstat.Po
-include ./$(DEPDIR)/oldlstat.Po
-include ./$(DEPDIR)/oldselect.Po
-include ./$(DEPDIR)/oldstat.Po
-include ./$(DEPDIR)/open.Po
-include ./$(DEPDIR)/openat.Po
-include ./$(DEPDIR)/osf_utimes.Po
-include ./$(DEPDIR)/pause.Po
-include ./$(DEPDIR)/pc.Po
-include ./$(DEPDIR)/perf_event_open.Po
-include ./$(DEPDIR)/perf_event_open_nonverbose.Po
-include ./$(DEPDIR)/perf_event_open_unabbrev.Po
-include ./$(DEPDIR)/personality.Po
-include ./$(DEPDIR)/pipe.Po
-include ./$(DEPDIR)/pipe2.Po
-include ./$(DEPDIR)/pkey_alloc.Po
-include ./$(DEPDIR)/pkey_free.Po
-include ./$(DEPDIR)/pkey_mprotect.Po
-include ./$(DEPDIR)/poll.Po
-include ./$(DEPDIR)/ppoll-v.Po
-include ./$(DEPDIR)/ppoll.Po
-include ./$(DEPDIR)/prctl-arg2-intptr.Po
-include ./$(DEPDIR)/prctl-dumpable.Po
-include ./$(DEPDIR)/prctl-name.Po
-include ./$(DEPDIR)/prctl-no-args.Po
-include ./$(DEPDIR)/prctl-pdeathsig.Po
-include ./$(DEPDIR)/prctl-seccomp-filter-v.Po
-include ./$(DEPDIR)/prctl-seccomp-strict.Po
-include ./$(DEPDIR)/prctl-securebits.Po
-include ./$(DEPDIR)/prctl-tid_address.Po
-include ./$(DEPDIR)/prctl-tsc.Po
-include ./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-include ./$(DEPDIR)/preadv-preadv.Po
-include ./$(DEPDIR)/preadv2-pwritev2.Po
-include ./$(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-include ./$(DEPDIR)/print_maxfd.Po
-include ./$(DEPDIR)/printstr.Po
-include ./$(DEPDIR)/prlimit64.Po
-include ./$(DEPDIR)/process_vm_readv.Po
-include ./$(DEPDIR)/process_vm_writev.Po
-include ./$(DEPDIR)/pselect6.Po
-include ./$(DEPDIR)/ptrace.Po
-include ./$(DEPDIR)/pwritev-pwritev.Po
-include ./$(DEPDIR)/qual_fault.Po
-include ./$(DEPDIR)/qual_inject-error-signal.Po
-include ./$(DEPDIR)/qual_inject-retval.Po
-include ./$(DEPDIR)/qual_inject-signal.Po
-include ./$(DEPDIR)/qual_signal.Po
-include ./$(DEPDIR)/quotactl-v.Po
-include ./$(DEPDIR)/quotactl-xfs-v.Po
-include ./$(DEPDIR)/quotactl-xfs.Po
-include ./$(DEPDIR)/quotactl.Po
-include ./$(DEPDIR)/read-write.Po
-include ./$(DEPDIR)/readahead.Po
-include ./$(DEPDIR)/readdir.Po
-include ./$(DEPDIR)/readlink.Po
-include ./$(DEPDIR)/readlinkat.Po
-include ./$(DEPDIR)/readv.Po
-include ./$(DEPDIR)/reboot.Po
-include ./$(DEPDIR)/recvfrom.Po
-include ./$(DEPDIR)/recvmmsg-timeout.Po
-include ./$(DEPDIR)/recvmsg.Po
-include ./$(DEPDIR)/redirect-fds.Po
-include ./$(DEPDIR)/remap_file_pages.Po
-include ./$(DEPDIR)/rename.Po
-include ./$(DEPDIR)/renameat.Po
-include ./$(DEPDIR)/renameat2.Po
-include ./$(DEPDIR)/request_key.Po
-include ./$(DEPDIR)/restart_syscall.Po
-include ./$(DEPDIR)/rmdir.Po
-include ./$(DEPDIR)/rt_sigpending.Po
-include ./$(DEPDIR)/rt_sigprocmask.Po
-include ./$(DEPDIR)/rt_sigqueueinfo.Po
-include ./$(DEPDIR)/rt_sigreturn.Po
-include ./$(DEPDIR)/rt_sigsuspend.Po
-include ./$(DEPDIR)/rt_sigtimedwait.Po
-include ./$(DEPDIR)/rt_tgsigqueueinfo.Po
-include ./$(DEPDIR)/sched_get_priority_mxx.Po
-include ./$(DEPDIR)/sched_rr_get_interval.Po
-include ./$(DEPDIR)/sched_xetaffinity.Po
-include ./$(DEPDIR)/sched_xetattr.Po
-include ./$(DEPDIR)/sched_xetparam.Po
-include ./$(DEPDIR)/sched_xetscheduler.Po
-include ./$(DEPDIR)/sched_yield.Po
-include ./$(DEPDIR)/scm_rights.Po
-include ./$(DEPDIR)/seccomp-filter-v.Po
-include ./$(DEPDIR)/seccomp-filter.Po
-include ./$(DEPDIR)/seccomp-strict.Po
-include ./$(DEPDIR)/select.Po
-include ./$(DEPDIR)/semop.Po
-include ./$(DEPDIR)/sendfile.Po
-include ./$(DEPDIR)/sendfile64.Po
-include ./$(DEPDIR)/set_mempolicy.Po
-include ./$(DEPDIR)/set_ptracer_any.Po
-include ./$(DEPDIR)/setdomainname.Po
-include ./$(DEPDIR)/setfsgid.Po
-include ./$(DEPDIR)/setfsgid32.Po
-include ./$(DEPDIR)/setfsuid.Po
-include ./$(DEPDIR)/setfsuid32.Po
-include ./$(DEPDIR)/setgid.Po
-include ./$(DEPDIR)/setgid32.Po
-include ./$(DEPDIR)/setgroups.Po
-include ./$(DEPDIR)/setgroups32.Po
-include ./$(DEPDIR)/sethostname.Po
-include ./$(DEPDIR)/setns.Po
-include ./$(DEPDIR)/setregid.Po
-include ./$(DEPDIR)/setregid32.Po
-include ./$(DEPDIR)/setresgid.Po
-include ./$(DEPDIR)/setresgid32.Po
-include ./$(DEPDIR)/setresuid.Po
-include ./$(DEPDIR)/setresuid32.Po
-include ./$(DEPDIR)/setreuid.Po
-include ./$(DEPDIR)/setreuid32.Po
-include ./$(DEPDIR)/setrlimit.Po
-include ./$(DEPDIR)/setuid.Po
-include ./$(DEPDIR)/setuid32.Po
-include ./$(DEPDIR)/shmxt.Po
-include ./$(DEPDIR)/shutdown.Po
-include ./$(DEPDIR)/sigaction.Po
-include ./$(DEPDIR)/sigaltstack.Po
-include ./$(DEPDIR)/siginfo.Po
-include ./$(DEPDIR)/signal_receive.Po
-include ./$(DEPDIR)/signalfd4.Po
-include ./$(DEPDIR)/sigreturn.Po
-include ./$(DEPDIR)/sigsuspend.Po
-include ./$(DEPDIR)/sleep.Po
-include ./$(DEPDIR)/socketcall.Po
-include ./$(DEPDIR)/splice.Po
-include ./$(DEPDIR)/stack-fcall-0.Po
-include ./$(DEPDIR)/stack-fcall-1.Po
-include ./$(DEPDIR)/stack-fcall-2.Po
-include ./$(DEPDIR)/stack-fcall-3.Po
-include ./$(DEPDIR)/stack-fcall.Po
-include ./$(DEPDIR)/stat.Po
-include ./$(DEPDIR)/stat64-stat64.Po
-include ./$(DEPDIR)/statfs-statfs.Po
-include ./$(DEPDIR)/statfs64.Po
-include ./$(DEPDIR)/statx.Po
-include ./$(DEPDIR)/swap.Po
-include ./$(DEPDIR)/sxetmask.Po
-include ./$(DEPDIR)/symlink.Po
-include ./$(DEPDIR)/symlinkat.Po
-include ./$(DEPDIR)/sync.Po
-include ./$(DEPDIR)/sync_file_range.Po
-include ./$(DEPDIR)/sync_file_range2.Po
-include ./$(DEPDIR)/sysinfo.Po
-include ./$(DEPDIR)/syslog.Po
-include ./$(DEPDIR)/tee.Po
-include ./$(DEPDIR)/threads-execve.Po
-include ./$(DEPDIR)/time.Po
-include ./$(DEPDIR)/timer_create.Po
-include ./$(DEPDIR)/timer_xettime.Po
-include ./$(DEPDIR)/timerfd_xettime.Po
-include ./$(DEPDIR)/times-fail.Po
-include ./$(DEPDIR)/times.Po
-include ./$(DEPDIR)/truncate.Po
-include ./$(DEPDIR)/truncate64-truncate64.Po
-include ./$(DEPDIR)/ugetrlimit.Po
-include ./$(DEPDIR)/uio-uio.Po
-include ./$(DEPDIR)/umask.Po
-include ./$(DEPDIR)/umount.Po
-include ./$(DEPDIR)/umount2.Po
-include ./$(DEPDIR)/umoven-illptr.Po
-include ./$(DEPDIR)/umovestr-illptr.Po
-include ./$(DEPDIR)/umovestr.Po
-include ./$(DEPDIR)/umovestr2.Po
-include ./$(DEPDIR)/umovestr3.Po
-include ./$(DEPDIR)/uname.Po
-include ./$(DEPDIR)/unix-pair-send-recv.Po
-include ./$(DEPDIR)/unix-pair-sendto-recvfrom.Po
-include ./$(DEPDIR)/unlink.Po
-include ./$(DEPDIR)/unlinkat.Po
-include ./$(DEPDIR)/unshare.Po
-include ./$(DEPDIR)/userfaultfd.Po
-include ./$(DEPDIR)/ustat.Po
-include ./$(DEPDIR)/utime.Po
-include ./$(DEPDIR)/utimensat.Po
-include ./$(DEPDIR)/utimes.Po
-include ./$(DEPDIR)/vfork-f.Po
-include ./$(DEPDIR)/vhangup.Po
-include ./$(DEPDIR)/vmsplice.Po
-include ./$(DEPDIR)/wait4-v.Po
-include ./$(DEPDIR)/wait4.Po
-include ./$(DEPDIR)/waitid-v.Po
-include ./$(DEPDIR)/waitid.Po
-include ./$(DEPDIR)/waitpid.Po
-include ./$(DEPDIR)/xattr-strings.Po
-include ./$(DEPDIR)/xattr.Po
-include ./$(DEPDIR)/xet_robust_list.Po
-include ./$(DEPDIR)/xetitimer.Po
-include ./$(DEPDIR)/xetpgid.Po
-include ./$(DEPDIR)/xetpriority.Po
-include ./$(DEPDIR)/xettimeofday.Po
-
-.c.o:
- $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# $(AM_V_CC)source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
-
-.c.obj:
- $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# $(AM_V_CC)source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-libtests_a-errno2name.o: errno2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-# $(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
-
-libtests_a-errno2name.obj: errno2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-# $(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
-
-libtests_a-error_msg.o: error_msg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.o -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
-# $(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
-
-libtests_a-error_msg.obj: error_msg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.obj -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
-# $(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
-
-libtests_a-fill_memory.o: fill_memory.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.o -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
-# $(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
-
-libtests_a-fill_memory.obj: fill_memory.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.obj -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
-# $(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
-
-libtests_a-get_page_size.o: get_page_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
-# $(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
-
-libtests_a-get_page_size.obj: get_page_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
-# $(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
-
-libtests_a-get_sigset_size.o: get_sigset_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
-# $(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_size.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
-
-libtests_a-get_sigset_size.obj: get_sigset_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
-# $(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_size.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
-
-libtests_a-hexdump_strdup.o: hexdump_strdup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
-# $(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
-
-libtests_a-hexdump_strdup.obj: hexdump_strdup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
-# $(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
-
-libtests_a-hexquote_strndup.o: hexquote_strndup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
-# $(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
-
-libtests_a-hexquote_strndup.obj: hexquote_strndup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
-# $(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
-
-libtests_a-inode_of_sockfd.o: inode_of_sockfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.o -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
-# $(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
-
-libtests_a-inode_of_sockfd.obj: inode_of_sockfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
-# $(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
-
-libtests_a-libmmsg.o: libmmsg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.o -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
-# $(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
-
-libtests_a-libmmsg.obj: libmmsg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.obj -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
-# $(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
-
-libtests_a-libsocketcall.o: libsocketcall.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.o -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
-# $(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
-
-libtests_a-libsocketcall.obj: libsocketcall.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.obj -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
-# $(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
-
-libtests_a-overflowuid.o: overflowuid.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.o -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
-# $(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
-
-libtests_a-overflowuid.obj: overflowuid.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.obj -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
-# $(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
-
-libtests_a-pipe_maxfd.o: pipe_maxfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-# $(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
-
-libtests_a-pipe_maxfd.obj: pipe_maxfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-# $(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
-
-libtests_a-print_quoted_string.o: print_quoted_string.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.o -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
-# $(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
-
-libtests_a-print_quoted_string.obj: print_quoted_string.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
-# $(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
-
-libtests_a-print_time.o: print_time.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
-# $(AM_V_CC)source='print_time.c' object='libtests_a-print_time.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
-
-libtests_a-print_time.obj: print_time.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
-# $(AM_V_CC)source='print_time.c' object='libtests_a-print_time.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
-
-libtests_a-printflags.o: printflags.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.o -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
-# $(AM_V_CC)source='printflags.c' object='libtests_a-printflags.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
-
-libtests_a-printflags.obj: printflags.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.obj -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
-# $(AM_V_CC)source='printflags.c' object='libtests_a-printflags.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
-
-libtests_a-printxval.o: printxval.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.o -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
-# $(AM_V_CC)source='printxval.c' object='libtests_a-printxval.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
-
-libtests_a-printxval.obj: printxval.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.obj -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
-# $(AM_V_CC)source='printxval.c' object='libtests_a-printxval.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
-
-libtests_a-signal2name.o: signal2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-# $(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
-
-libtests_a-signal2name.obj: signal2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-# $(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
-
-libtests_a-skip_unavailable.o: skip_unavailable.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
-# $(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
-
-libtests_a-skip_unavailable.obj: skip_unavailable.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
-# $(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
-
-libtests_a-sprintrc.o: sprintrc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.o -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
-# $(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
-
-libtests_a-sprintrc.obj: sprintrc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.obj -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
-# $(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
-
-libtests_a-tail_alloc.o: tail_alloc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-# $(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
-
-libtests_a-tail_alloc.obj: tail_alloc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.obj -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-# $(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
-
-libtests_a-tprintf.o: tprintf.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.o -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
-# $(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
-
-libtests_a-tprintf.obj: tprintf.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.obj -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
-# $(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
-
-fstat64-fstat64.o: fstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-# $(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
-
-fstat64-fstat64.obj: fstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.obj -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-# $(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
-
-fstatat64-fstatat64.o: fstatat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.o -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
-# $(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
-
-fstatat64-fstatat64.obj: fstatat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.obj -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
-# $(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
-
-ftruncate64-ftruncate64.o: ftruncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.o -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
-# $(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
-
-ftruncate64-ftruncate64.obj: ftruncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.obj -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
-# $(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
-
-lstat64-lstat64.o: lstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.o -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
-# $(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
-
-lstat64-lstat64.obj: lstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.obj -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
-# $(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
-
-mmap64-mmap64.o: mmap64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.o -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
-# $(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
-
-mmap64-mmap64.obj: mmap64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.obj -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
-# $(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
-
-newfstatat-newfstatat.o: newfstatat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.o -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
-# $(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
-
-newfstatat-newfstatat.obj: newfstatat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.obj -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
-# $(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
-
-pread64_pwrite64-pread64-pwrite64.o: pread64-pwrite64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.o -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-# $(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
-
-pread64_pwrite64-pread64-pwrite64.obj: pread64-pwrite64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.obj -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-# $(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
-
-preadv-preadv.o: preadv.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.o -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
-# $(AM_V_CC)source='preadv.c' object='preadv-preadv.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
-
-preadv-preadv.obj: preadv.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.obj -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
-# $(AM_V_CC)source='preadv.c' object='preadv-preadv.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
-
-preadv_pwritev-preadv-pwritev.o: preadv-pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.o -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-# $(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
-
-preadv_pwritev-preadv-pwritev.obj: preadv-pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.obj -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-# $(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
-
-pwritev-pwritev.o: pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.o -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
-# $(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
-
-pwritev-pwritev.obj: pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.obj -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
-# $(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
-
-stat64-stat64.o: stat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.o -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
-# $(AM_V_CC)source='stat64.c' object='stat64-stat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
-
-stat64-stat64.obj: stat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.obj -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
-# $(AM_V_CC)source='stat64.c' object='stat64-stat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
-
-statfs-statfs.o: statfs.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.o -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
-# $(AM_V_CC)source='statfs.c' object='statfs-statfs.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
-
-statfs-statfs.obj: statfs.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.obj -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
-# $(AM_V_CC)source='statfs.c' object='statfs-statfs.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
-
-truncate64-truncate64.o: truncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-# $(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
-
-truncate64-truncate64.obj: truncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.obj -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-# $(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
-
-uio-uio.o: uio.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.o -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
-# $(AM_V_CC)source='uio.c' object='uio-uio.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
-
-uio-uio.obj: uio.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.obj -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
-# $(AM_V_CC)source='uio.c' object='uio-uio.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
-check-valgrind-local:
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
- rm -f $< $@
- $(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
- @:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
- @$(am__set_TESTS_bases); \
- am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
- redo_bases=`for i in $$bases; do \
- am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
- done`; \
- if test -n "$$redo_bases"; then \
- redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
- redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
- if $(am__make_dryrun); then :; else \
- rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
- fi; \
- fi; \
- if test -n "$$am__remaking_logs"; then \
- echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
- "recursion detected" >&2; \
- else \
- am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
- fi; \
- if $(am__make_dryrun); then :; else \
- st=0; \
- errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
- for i in $$redo_bases; do \
- test -f $$i.trs && test -r $$i.trs \
- || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
- test -f $$i.log && test -r $$i.log \
- || { echo "$$errmsg $$i.log" >&2; st=1; }; \
- done; \
- test $$st -eq 0 || exit 1; \
- fi
- @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
- ws='[ ]'; \
- results=`for b in $$bases; do echo $$b.trs; done`; \
- test -n "$$results" || results=/dev/null; \
- all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
- pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
- fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
- skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
- xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
- xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
- error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
- if test `expr $$fail + $$xpass + $$error` -eq 0; then \
- success=true; \
- else \
- success=false; \
- fi; \
- br='==================='; br=$$br$$br$$br$$br; \
- result_count () \
- { \
- if test x"$$1" = x"--maybe-color"; then \
- maybe_colorize=yes; \
- elif test x"$$1" = x"--no-color"; then \
- maybe_colorize=no; \
- else \
- echo "$@: invalid 'result_count' usage" >&2; exit 4; \
- fi; \
- shift; \
- desc=$$1 count=$$2; \
- if test $$maybe_colorize = yes && test $$count -gt 0; then \
- color_start=$$3 color_end=$$std; \
- else \
- color_start= color_end=; \
- fi; \
- echo "$${color_start}# $$desc $$count$${color_end}"; \
- }; \
- create_testsuite_report () \
- { \
- result_count $$1 "TOTAL:" $$all "$$brg"; \
- result_count $$1 "PASS: " $$pass "$$grn"; \
- result_count $$1 "SKIP: " $$skip "$$blu"; \
- result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
- result_count $$1 "FAIL: " $$fail "$$red"; \
- result_count $$1 "XPASS:" $$xpass "$$red"; \
- result_count $$1 "ERROR:" $$error "$$mgn"; \
- }; \
- { \
- echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
- $(am__rst_title); \
- create_testsuite_report --no-color; \
- echo; \
- echo ".. contents:: :depth: 2"; \
- echo; \
- for b in $$bases; do echo $$b; done \
- | $(am__create_global_log); \
- } >$(TEST_SUITE_LOG).tmp || exit 1; \
- mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
- if $$success; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
- fi; \
- echo "$${col}$$br$${std}"; \
- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
- echo "$${col}$$br$${std}"; \
- create_testsuite_report --maybe-color; \
- echo "$$col$$br$$std"; \
- if $$success; then :; else \
- echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
- if test -n "$(PACKAGE_BUGREPORT)"; then \
- echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
- fi; \
- echo "$$col$$br$$std"; \
- fi; \
- $$success || exit 1
-
-check-TESTS:
- @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
- @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- trs_list=`for i in $$bases; do echo $$i.trs; done`; \
- log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
- exit $$?;
-recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- bases=`for i in $$bases; do echo $$i; done \
- | $(am__list_recheck_tests)` || exit 1; \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- log_list=`echo $$log_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
- am__force_recheck=am--force-recheck \
- TEST_LOGS="$$log_list"; \
- exit $$?
-.test.log:
- @p='$<'; \
- $(am__set_b); \
- $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-#.test$(EXEEXT).log:
-# @p='$<'; \
-# $(am__set_b); \
-# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-# --log-file $$b.log --trs-file $$b.trs \
-# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-# "$$tst" $(AM_TESTS_FD_REDIRECT)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
- -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
- -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
- -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-check-valgrind: check-valgrind-am
-
-check-valgrind-am: check-valgrind-local
-
-clean: clean-am
-
-clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
- clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
- check-valgrind-am check-valgrind-local clean \
- clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
- clean-local cscopelist-am ctags ctags-am distclean \
- distclean-compile distclean-generic distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \
- uninstall uninstall-am
-
-
-$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-
-# Valgrind check
-#
-# Optional:
-# - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions
-# files to load. (Default: empty)
-# - VALGRIND_FLAGS: General flags to pass to all Valgrind tools.
-# (Default: --num-callers=30)
-# - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of:
-# memcheck, helgrind, drd, sgcheck). (Default: various)
-
-# Optional variables
-VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES))
-VALGRIND_FLAGS ?= --num-callers=30
-VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no
-VALGRIND_helgrind_FLAGS ?= --history-level=approx
-VALGRIND_drd_FLAGS ?=
-VALGRIND_sgcheck_FLAGS ?=
-
-# Internal use
-valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools)))
-
-valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS)
-valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS)
-valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS)
-valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS)
-
-valgrind_quiet = $(valgrind_quiet_$(V))
-valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY))
-valgrind_quiet_0 = --quiet
-valgrind_v_use = $(valgrind_v_use_$(V))
-valgrind_v_use_ = $(valgrind_v_use_$(AM_DEFAULT_VERBOSITY))
-valgrind_v_use_0 = @echo " USE " $(patsubst check-valgrind-%,%,$@):;
-
-# Support running with and without libtool.
-ifneq ($(LIBTOOL),)
-valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute
-else
-valgrind_lt =
-endif
-
-# Use recursive makes in order to ignore errors during check
-check-valgrind:
-ifeq ($(VALGRIND_ENABLED),yes)
- -$(AM_V_at)$(foreach tool,$(valgrind_enabled_tools), \
- $(MAKE) $(AM_MAKEFLAGS) -k check-valgrind-$(tool); \
- )
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-
-# Valgrind running
-VALGRIND_TESTS_ENVIRONMENT = \
- $(TESTS_ENVIRONMENT) \
- env VALGRIND=$(VALGRIND) \
- G_SLICE=always-malloc,debug-blocks \
- G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly
-
-VALGRIND_LOG_COMPILER = \
- $(valgrind_lt) \
- $(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS)
-
-define valgrind_tool_rule =
-check-valgrind-$(1): $$(BUILT_SOURCES)
-ifeq ($$(VALGRIND_ENABLED)-$$(ENABLE_VALGRIND_$(1)),yes-yes)
- $$(valgrind_v_use)$$(MAKE) $$(AM_MAKEFLAGS) check-am \
- TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$$(valgrind_$(1)_flags)" \
- TEST_SUITE_LOG=test-suite-$(1).log
-else ifeq ($$(VALGRIND_ENABLED),yes)
- @echo "Need to reconfigure with --enable-valgrind-$(1)"
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-endef
-
-$(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool))))
-
-AM_DISTCHECK_CONFIGURE_FLAGS ?=
-AM_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind
-
-MOSTLYCLEANFILES ?=
-MOSTLYCLEANFILES += $(valgrind_log_files)
-
-.PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools))
-
-
-ksysent.h: $(srcdir)/ksysent.sed
- echo '#include <asm/unistd.h>' | \
- $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
- LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
- mv -f $@.t2 $@
- rm -f $@.t1
-
-ksysent.$(OBJEXT): ksysent.h
-$(objects): scno.h
-
-clean-local: clean-local-check
-.PHONY: clean-local-check
-clean-local-check:
- -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
-
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
- $(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
-
-scno.h: $(top_srcdir)/scno.head syscallent.i
- echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
- cat $< >> $@-t
- LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t
- mv $@-t $@
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tests-m32/Makefile.am b/tests-m32/Makefile.am
new file mode 100644
index 00000000..c255fd64
--- /dev/null
+++ b/tests-m32/Makefile.am
@@ -0,0 +1,390 @@
+# Automake input for strace tests.
+#
+# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OS = linux
+ARCH = @arch_m32@
+MPERS_NAME = m32
+ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) -m32
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = $(ARCH_MFLAGS) \
+ -I$(builddir) \
+ -I$(top_builddir)/$(OS)/$(ARCH) \
+ -I$(top_srcdir)/$(OS)/$(ARCH) \
+ -I$(top_builddir)/$(OS) \
+ -I$(top_srcdir)/$(OS) \
+ -I$(top_builddir) \
+ -I$(top_srcdir)
+AM_LDFLAGS = $(ARCH_MFLAGS)
+
+libtests_a_SOURCES = \
+ create_nl_socket.c \
+ errno2name.c \
+ error_msg.c \
+ fill_memory.c \
+ get_page_size.c \
+ get_sigset_size.c \
+ hexdump_strdup.c \
+ hexquote_strndup.c \
+ inode_of_sockfd.c \
+ libmmsg.c \
+ libsocketcall.c \
+ overflowuid.c \
+ pipe_maxfd.c \
+ print_quoted_string.c \
+ print_time.c \
+ printflags.c \
+ printxval.c \
+ signal2name.c \
+ skip_unavailable.c \
+ sprintrc.c \
+ tail_alloc.c \
+ test_nlattr.h \
+ tests.h \
+ tprintf.c \
+ # end of libtests_a_SOURCES
+libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+check_LIBRARIES = libtests.a
+LDADD = libtests.a
+
+include pure_executables.am
+
+check_PROGRAMS = $(PURE_EXECUTABLES) \
+ answer \
+ attach-f-p \
+ attach-f-p-cmd \
+ attach-p-cmd-cmd \
+ attach-p-cmd-p \
+ block_reset_raise_run \
+ caps-abbrev \
+ count-f \
+ execve-v \
+ execveat-v \
+ filter-unavailable \
+ fork-f \
+ getpid \
+ getppid \
+ gettid \
+ int_0x80 \
+ ioctl_dm-v \
+ ioctl_evdev-v \
+ ioctl_loop-nv \
+ ioctl_loop-v \
+ ioctl_nsfs \
+ ioctl_rtc-v \
+ ksysent \
+ mmsg-silent \
+ mmsg_name-v \
+ msg_control-v \
+ net-accept-connect \
+ netlink_inet_diag \
+ netlink_netlink_diag \
+ netlink_unix_diag \
+ nsyscalls \
+ pc \
+ perf_event_open_nonverbose \
+ perf_event_open_unabbrev \
+ ppoll-v \
+ prctl-seccomp-filter-v \
+ prctl-seccomp-strict \
+ print_maxfd \
+ qual_fault \
+ qual_inject-error-signal \
+ qual_inject-retval \
+ qual_inject-signal \
+ qual_signal \
+ quotactl-v \
+ quotactl-xfs-v \
+ redirect-fds \
+ restart_syscall \
+ run_expect_termsig \
+ scm_rights \
+ seccomp-filter-v \
+ seccomp-strict \
+ set_ptracer_any \
+ signal_receive \
+ sleep \
+ stack-fcall \
+ threads-execve \
+ unblock_reset_raise \
+ unix-pair-send-recv \
+ unix-pair-sendto-recvfrom \
+ vfork-f \
+ wait4-v \
+ waitid-v \
+ zeroargc \
+ # end of check_PROGRAMS
+
+attach_f_p_LDADD = -lrt -lpthread $(LDADD)
+clock_xettime_LDADD = -lrt $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+filter_unavailable_LDADD = -lpthread $(LDADD)
+fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = -lrt $(LDADD)
+mq_sendrecv_LDADD = -lrt $(LDADD)
+mq_sendrecv_read_LDADD = -lrt $(LDADD)
+mq_sendrecv_write_LDADD = -lrt $(LDADD)
+newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pc_LDADD = $(dl_LIBS) $(LDADD)
+pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+threads_execve_LDADD = -lrt -lpthread $(LDADD)
+times_LDADD = -lrt $(LDADD)
+truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+
+stack_fcall_SOURCES = stack-fcall.c \
+ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
+
+include gen_tests.am
+
+if USE_LIBUNWIND
+LIBUNWIND_TESTS = strace-k.test
+else
+LIBUNWIND_TESTS =
+endif
+
+DECODER_TESTS = \
+ brk.test \
+ btrfs-v.test \
+ btrfs-vw.test \
+ btrfs-w.test \
+ caps-abbrev.test \
+ caps.test \
+ eventfd.test \
+ execve-v.test \
+ execve.test \
+ fadvise64.test \
+ futex.test \
+ getuid.test \
+ ioctl.test \
+ ioctl_dm-v.test \
+ ioctl_dm.test \
+ ioctl_loop-nv.test \
+ ioctl_nsfs.test \
+ ioctl_sock_gifconf.test \
+ ipc_msgbuf.test \
+ llseek.test \
+ lseek.test \
+ mmap.test \
+ net-y-unix.test \
+ net-yy-inet.test \
+ net-yy-netlink.test \
+ net-yy-unix.test \
+ net.test \
+ netlink_sock_diag.test \
+ nsyscalls.test \
+ oldselect.test \
+ personality.test \
+ pipe.test \
+ poll.test \
+ prctl-arg2-intptr.test \
+ prctl-dumpable.test \
+ prctl-name.test \
+ prctl-no-args.test \
+ prctl-pdeathsig.test \
+ prctl-seccomp-filter-v.test \
+ prctl-seccomp-strict.test \
+ prctl-securebits.test \
+ prctl-tid_address.test \
+ prctl-tsc.test \
+ qual_fault-exit_group.test \
+ readv.test \
+ rt_sigaction.test \
+ scm_rights-fd.test \
+ seccomp-strict.test \
+ sigaltstack.test \
+ sun_path.test \
+ uio.test \
+ umount.test \
+ umount2.test \
+ umovestr.test \
+ umovestr2.test \
+ uname.test \
+ unix-pair-send-recv.test \
+ unix-pair-sendto-recvfrom.test \
+ # end of DECODER_TESTS
+
+MISC_TESTS = \
+ attach-f-p.test \
+ attach-p-cmd.test \
+ bexecve.test \
+ count-f.test \
+ count.test \
+ detach-running.test \
+ detach-sleeping.test \
+ detach-stopped.test \
+ filter-unavailable.test \
+ get_regs.test \
+ interactive_block.test \
+ ksysent.test \
+ opipe.test \
+ options-syntax.test \
+ pc.test \
+ qual_fault-syntax.test \
+ qual_fault.test \
+ qual_inject-error-signal.test \
+ qual_inject-retval.test \
+ qual_inject-signal.test \
+ qual_inject-syntax.test \
+ qual_signal.test \
+ qual_syscall.test \
+ redirect-fds.test \
+ redirect.test \
+ restart_syscall.test \
+ strace-C.test \
+ strace-E.test \
+ strace-S.test \
+ strace-T.test \
+ strace-V.test \
+ strace-ff.test \
+ strace-r.test \
+ strace-t.test \
+ strace-tt.test \
+ strace-ttt.test \
+ termsig.test \
+ threads-execve.test \
+ # end of MISC_TESTS
+
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS)
+
+XFAIL_TESTS_ =
+XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
+
+TEST_LOG_COMPILER = env
+AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+
+@VALGRIND_CHECK_RULES@
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
+
+EXTRA_DIST = \
+ caps-abbrev.awk \
+ caps.awk \
+ clock.in \
+ count-f.expected \
+ eventfd.expected \
+ fadvise.h \
+ filter-unavailable.expected \
+ fstatat.c \
+ fstatx.c \
+ gen_pure_executables.sh \
+ gen_tests.in \
+ gen_tests.sh \
+ getresugid.c \
+ init.sh \
+ init_delete_module.h \
+ ioctl-v.sh \
+ ipc.sh \
+ ipc_msgbuf.expected \
+ ksysent.sed \
+ lstatx.c \
+ match.awk \
+ net.expected \
+ oldselect.expected \
+ pipe.expected \
+ process_vm_readv_writev.c \
+ pure_executables.list \
+ qual_fault-exit_group.expected \
+ qual_inject-error-signal.expected \
+ qual_inject-signal.expected \
+ quotactl.h \
+ regex.in \
+ rt_sigaction.awk \
+ run.sh \
+ sched.in \
+ scno_tampering.sh \
+ setfsugid.c \
+ setresugid.c \
+ setreugid.c \
+ setugid.c \
+ sigaltstack.expected \
+ sockname.c \
+ strace-C.expected \
+ strace-E.expected \
+ strace-T.expected \
+ strace-ff.expected \
+ strace-k.test \
+ strace-r.expected \
+ strace.supp \
+ struct_flock.c \
+ sun_path.expected \
+ trace_fstat.in \
+ trace_fstatfs.in \
+ trace_lstat.in \
+ trace_question.in \
+ trace_stat.in \
+ trace_stat_like.in \
+ trace_statfs.in \
+ trace_statfs_like.in \
+ uio.expected \
+ umode_t.c \
+ umovestr.expected \
+ unix-pair-send-recv.expected \
+ unix-pair-sendto-recvfrom.expected \
+ xchownx.c \
+ xgetrlimit.c \
+ xselect.c \
+ xstatfs.c \
+ xstatfs64.c \
+ xstatfsx.c \
+ xstatx.c \
+ xutimes.c \
+ $(TESTS)
+
+ksysent.h: $(srcdir)/ksysent.sed
+ echo '#include <asm/unistd.h>' | \
+ $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
+ LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
+ mv -f $@.t2 $@
+ rm -f $@.t1
+
+ksysent.$(OBJEXT): ksysent.h
+
+objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
+$(objects): scno.h
+
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+ -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
+CLEANFILES = ksysent.h
+
+include ../scno.am
diff --git a/tests-m32/Makefile.in b/tests-m32/Makefile.in
index 3d7d2a50..01819345 100644
--- a/tests-m32/Makefile.in
+++ b/tests-m32/Makefile.in
@@ -138,14 +138,14 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
$(top_srcdir)/test-driver
check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
- attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
- execve-v$(EXEEXT) execveat-v$(EXEEXT) \
- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
- getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
- ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
- ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
- ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+ attach-p-cmd-p$(EXEEXT) block_reset_raise_run$(EXEEXT) \
+ caps-abbrev$(EXEEXT) count-f$(EXEEXT) execve-v$(EXEEXT) \
+ execveat-v$(EXEEXT) filter-unavailable$(EXEEXT) \
+ fork-f$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
+ gettid$(EXEEXT) int_0x80$(EXEEXT) ioctl_dm-v$(EXEEXT) \
+ ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \
+ ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) \
+ ksysent$(EXEEXT) mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
@@ -157,12 +157,13 @@ check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
- scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
- seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
- signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
- threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+ run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
+ seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+ set_ptracer_any$(EXEEXT) signal_receive$(EXEEXT) \
+ sleep$(EXEEXT) stack-fcall$(EXEEXT) threads-execve$(EXEEXT) \
+ unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
- wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+ wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT)
TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
subdir = tests-m32
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -187,8 +188,8 @@ am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
libtests_a_AR = $(AR) $(ARFLAGS)
libtests_a_LIBADD =
-am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
- libtests_a-error_msg.$(OBJEXT) \
+am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \
+ libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \
libtests_a-fill_memory.$(OBJEXT) \
libtests_a-get_page_size.$(OBJEXT) \
libtests_a-get_sigset_size.$(OBJEXT) \
@@ -264,18 +265,23 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
net-icmp_filter$(EXEEXT) net-sockaddr$(EXEEXT) \
net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
- netlink_protocol$(EXEEXT) newfstatat$(EXEEXT) \
- old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
- oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
- openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
- perf_event_open$(EXEEXT) personality$(EXEEXT) pipe$(EXEEXT) \
- pipe2$(EXEEXT) pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) \
- pkey_mprotect$(EXEEXT) poll$(EXEEXT) ppoll$(EXEEXT) \
- prctl-arg2-intptr$(EXEEXT) prctl-dumpable$(EXEEXT) \
- prctl-name$(EXEEXT) prctl-no-args$(EXEEXT) \
- prctl-pdeathsig$(EXEEXT) prctl-securebits$(EXEEXT) \
- prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
- pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+ netlink_audit$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_netfilter$(EXEEXT) netlink_protocol$(EXEEXT) \
+ netlink_route$(EXEEXT) netlink_selinux$(EXEEXT) \
+ netlink_sock_diag$(EXEEXT) netlink_xfrm$(EXEEXT) \
+ newfstatat$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) nlattr_netlink_diag_msg$(EXEEXT) \
+ nlattr_unix_diag_msg$(EXEEXT) old_mmap$(EXEEXT) \
+ oldfstat$(EXEEXT) oldlstat$(EXEEXT) oldselect$(EXEEXT) \
+ oldstat$(EXEEXT) open$(EXEEXT) openat$(EXEEXT) \
+ osf_utimes$(EXEEXT) pause$(EXEEXT) perf_event_open$(EXEEXT) \
+ personality$(EXEEXT) pipe$(EXEEXT) pipe2$(EXEEXT) \
+ pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) pkey_mprotect$(EXEEXT) \
+ poll$(EXEEXT) ppoll$(EXEEXT) prctl-arg2-intptr$(EXEEXT) \
+ prctl-dumpable$(EXEEXT) prctl-name$(EXEEXT) \
+ prctl-no-args$(EXEEXT) prctl-pdeathsig$(EXEEXT) \
+ prctl-securebits$(EXEEXT) prctl-tid_address$(EXEEXT) \
+ prctl-tsc$(EXEEXT) pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
@@ -285,42 +291,43 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
- rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
- rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(EXEEXT) \
- rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
- rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
- sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
- sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
- sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
- seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
- sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
- setdomainname$(EXEEXT) setfsgid$(EXEEXT) setfsgid32$(EXEEXT) \
- setfsuid$(EXEEXT) setfsuid32$(EXEEXT) setgid$(EXEEXT) \
- setgid32$(EXEEXT) setgroups$(EXEEXT) setgroups32$(EXEEXT) \
- sethostname$(EXEEXT) setns$(EXEEXT) setregid$(EXEEXT) \
- setregid32$(EXEEXT) setresgid$(EXEEXT) setresgid32$(EXEEXT) \
- setresuid$(EXEEXT) setresuid32$(EXEEXT) setreuid$(EXEEXT) \
- setreuid32$(EXEEXT) setrlimit$(EXEEXT) setuid$(EXEEXT) \
- setuid32$(EXEEXT) shmxt$(EXEEXT) shutdown$(EXEEXT) \
- sigaction$(EXEEXT) sigaltstack$(EXEEXT) siginfo$(EXEEXT) \
- signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
- socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
- stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
- statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
- utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
- vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
- waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+ rmdir$(EXEEXT) rt_sigaction$(EXEEXT) rt_sigpending$(EXEEXT) \
+ rt_sigprocmask$(EXEEXT) rt_sigqueueinfo$(EXEEXT) \
+ rt_sigreturn$(EXEEXT) rt_sigsuspend$(EXEEXT) \
+ rt_sigtimedwait$(EXEEXT) rt_tgsigqueueinfo$(EXEEXT) \
+ sched_get_priority_mxx$(EXEEXT) sched_rr_get_interval$(EXEEXT) \
+ sched_xetaffinity$(EXEEXT) sched_xetattr$(EXEEXT) \
+ sched_xetparam$(EXEEXT) sched_xetscheduler$(EXEEXT) \
+ sched_yield$(EXEEXT) seccomp-filter$(EXEEXT) select$(EXEEXT) \
+ semop$(EXEEXT) sendfile$(EXEEXT) sendfile64$(EXEEXT) \
+ set_mempolicy$(EXEEXT) setdomainname$(EXEEXT) \
+ setfsgid$(EXEEXT) setfsgid32$(EXEEXT) setfsuid$(EXEEXT) \
+ setfsuid32$(EXEEXT) setgid$(EXEEXT) setgid32$(EXEEXT) \
+ setgroups$(EXEEXT) setgroups32$(EXEEXT) sethostname$(EXEEXT) \
+ setns$(EXEEXT) setregid$(EXEEXT) setregid32$(EXEEXT) \
+ setresgid$(EXEEXT) setresgid32$(EXEEXT) setresuid$(EXEEXT) \
+ setresuid32$(EXEEXT) setreuid$(EXEEXT) setreuid32$(EXEEXT) \
+ setrlimit$(EXEEXT) setuid$(EXEEXT) setuid32$(EXEEXT) \
+ shmxt$(EXEEXT) shutdown$(EXEEXT) sigaction$(EXEEXT) \
+ sigaltstack$(EXEEXT) siginfo$(EXEEXT) signal$(EXEEXT) \
+ signalfd4$(EXEEXT) sigpending$(EXEEXT) sigprocmask$(EXEEXT) \
+ sigreturn$(EXEEXT) sigsuspend$(EXEEXT) socketcall$(EXEEXT) \
+ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \
+ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \
+ sxetmask$(EXEEXT) symlink$(EXEEXT) symlinkat$(EXEEXT) \
+ sync$(EXEEXT) sync_file_range$(EXEEXT) \
+ sync_file_range2$(EXEEXT) sysinfo$(EXEEXT) syslog$(EXEEXT) \
+ tee$(EXEEXT) time$(EXEEXT) timer_create$(EXEEXT) \
+ timer_xettime$(EXEEXT) timerfd_xettime$(EXEEXT) times$(EXEEXT) \
+ times-fail$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
+ ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
+ umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \
+ umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \
+ umovestr3$(EXEEXT) uname$(EXEEXT) unlink$(EXEEXT) \
+ unlinkat$(EXEEXT) unshare$(EXEEXT) userfaultfd$(EXEEXT) \
+ ustat$(EXEEXT) utime$(EXEEXT) utimensat$(EXEEXT) \
+ utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \
+ wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
xettimeofday$(EXEEXT)
@@ -379,6 +386,10 @@ attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
attach_p_cmd_p_LDADD = $(LDADD)
attach_p_cmd_p_DEPENDENCIES = libtests.a
+block_reset_raise_run_SOURCES = block_reset_raise_run.c
+block_reset_raise_run_OBJECTS = block_reset_raise_run.$(OBJEXT)
+block_reset_raise_run_LDADD = $(LDADD)
+block_reset_raise_run_DEPENDENCIES = libtests.a
bpf_SOURCES = bpf.c
bpf_OBJECTS = bpf.$(OBJEXT)
bpf_LDADD = $(LDADD)
@@ -1076,10 +1087,22 @@ net_yy_unix_SOURCES = net-yy-unix.c
net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
net_yy_unix_LDADD = $(LDADD)
net_yy_unix_DEPENDENCIES = libtests.a
+netlink_audit_SOURCES = netlink_audit.c
+netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
+netlink_audit_LDADD = $(LDADD)
+netlink_audit_DEPENDENCIES = libtests.a
+netlink_generic_SOURCES = netlink_generic.c
+netlink_generic_OBJECTS = netlink_generic.$(OBJEXT)
+netlink_generic_LDADD = $(LDADD)
+netlink_generic_DEPENDENCIES = libtests.a
netlink_inet_diag_SOURCES = netlink_inet_diag.c
netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
netlink_inet_diag_LDADD = $(LDADD)
netlink_inet_diag_DEPENDENCIES = libtests.a
+netlink_netfilter_SOURCES = netlink_netfilter.c
+netlink_netfilter_OBJECTS = netlink_netfilter.$(OBJEXT)
+netlink_netfilter_LDADD = $(LDADD)
+netlink_netfilter_DEPENDENCIES = libtests.a
netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
netlink_netlink_diag_LDADD = $(LDADD)
@@ -1088,14 +1111,46 @@ netlink_protocol_SOURCES = netlink_protocol.c
netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
netlink_protocol_LDADD = $(LDADD)
netlink_protocol_DEPENDENCIES = libtests.a
+netlink_route_SOURCES = netlink_route.c
+netlink_route_OBJECTS = netlink_route.$(OBJEXT)
+netlink_route_LDADD = $(LDADD)
+netlink_route_DEPENDENCIES = libtests.a
+netlink_selinux_SOURCES = netlink_selinux.c
+netlink_selinux_OBJECTS = netlink_selinux.$(OBJEXT)
+netlink_selinux_LDADD = $(LDADD)
+netlink_selinux_DEPENDENCIES = libtests.a
+netlink_sock_diag_SOURCES = netlink_sock_diag.c
+netlink_sock_diag_OBJECTS = netlink_sock_diag.$(OBJEXT)
+netlink_sock_diag_LDADD = $(LDADD)
+netlink_sock_diag_DEPENDENCIES = libtests.a
netlink_unix_diag_SOURCES = netlink_unix_diag.c
netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
netlink_unix_diag_LDADD = $(LDADD)
netlink_unix_diag_DEPENDENCIES = libtests.a
+netlink_xfrm_SOURCES = netlink_xfrm.c
+netlink_xfrm_OBJECTS = netlink_xfrm.$(OBJEXT)
+netlink_xfrm_LDADD = $(LDADD)
+netlink_xfrm_DEPENDENCIES = libtests.a
newfstatat_SOURCES = newfstatat.c
newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
newfstatat_LDADD = $(LDADD)
newfstatat_DEPENDENCIES = libtests.a
+nlattr_SOURCES = nlattr.c
+nlattr_OBJECTS = nlattr.$(OBJEXT)
+nlattr_LDADD = $(LDADD)
+nlattr_DEPENDENCIES = libtests.a
+nlattr_inet_diag_msg_SOURCES = nlattr_inet_diag_msg.c
+nlattr_inet_diag_msg_OBJECTS = nlattr_inet_diag_msg.$(OBJEXT)
+nlattr_inet_diag_msg_LDADD = $(LDADD)
+nlattr_inet_diag_msg_DEPENDENCIES = libtests.a
+nlattr_netlink_diag_msg_SOURCES = nlattr_netlink_diag_msg.c
+nlattr_netlink_diag_msg_OBJECTS = nlattr_netlink_diag_msg.$(OBJEXT)
+nlattr_netlink_diag_msg_LDADD = $(LDADD)
+nlattr_netlink_diag_msg_DEPENDENCIES = libtests.a
+nlattr_unix_diag_msg_SOURCES = nlattr_unix_diag_msg.c
+nlattr_unix_diag_msg_OBJECTS = nlattr_unix_diag_msg.$(OBJEXT)
+nlattr_unix_diag_msg_LDADD = $(LDADD)
+nlattr_unix_diag_msg_DEPENDENCIES = libtests.a
nsyscalls_SOURCES = nsyscalls.c
nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
nsyscalls_LDADD = $(LDADD)
@@ -1386,6 +1441,10 @@ rmdir_SOURCES = rmdir.c
rmdir_OBJECTS = rmdir.$(OBJEXT)
rmdir_LDADD = $(LDADD)
rmdir_DEPENDENCIES = libtests.a
+rt_sigaction_SOURCES = rt_sigaction.c
+rt_sigaction_OBJECTS = rt_sigaction.$(OBJEXT)
+rt_sigaction_LDADD = $(LDADD)
+rt_sigaction_DEPENDENCIES = libtests.a
rt_sigpending_SOURCES = rt_sigpending.c
rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
rt_sigpending_LDADD = $(LDADD)
@@ -1414,6 +1473,10 @@ rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
rt_tgsigqueueinfo_LDADD = $(LDADD)
rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
+run_expect_termsig_SOURCES = run_expect_termsig.c
+run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT)
+run_expect_termsig_LDADD = $(LDADD)
+run_expect_termsig_DEPENDENCIES = libtests.a
sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
sched_get_priority_mxx_LDADD = $(LDADD)
@@ -1590,6 +1653,10 @@ siginfo_SOURCES = siginfo.c
siginfo_OBJECTS = siginfo.$(OBJEXT)
siginfo_LDADD = $(LDADD)
siginfo_DEPENDENCIES = libtests.a
+signal_SOURCES = signal.c
+signal_OBJECTS = signal.$(OBJEXT)
+signal_LDADD = $(LDADD)
+signal_DEPENDENCIES = libtests.a
signal_receive_SOURCES = signal_receive.c
signal_receive_OBJECTS = signal_receive.$(OBJEXT)
signal_receive_LDADD = $(LDADD)
@@ -1598,6 +1665,14 @@ signalfd4_SOURCES = signalfd4.c
signalfd4_OBJECTS = signalfd4.$(OBJEXT)
signalfd4_LDADD = $(LDADD)
signalfd4_DEPENDENCIES = libtests.a
+sigpending_SOURCES = sigpending.c
+sigpending_OBJECTS = sigpending.$(OBJEXT)
+sigpending_LDADD = $(LDADD)
+sigpending_DEPENDENCIES = libtests.a
+sigprocmask_SOURCES = sigprocmask.c
+sigprocmask_OBJECTS = sigprocmask.$(OBJEXT)
+sigprocmask_LDADD = $(LDADD)
+sigprocmask_DEPENDENCIES = libtests.a
sigreturn_SOURCES = sigreturn.c
sigreturn_OBJECTS = sigreturn.$(OBJEXT)
sigreturn_LDADD = $(LDADD)
@@ -1762,6 +1837,10 @@ uname_SOURCES = uname.c
uname_OBJECTS = uname.$(OBJEXT)
uname_LDADD = $(LDADD)
uname_DEPENDENCIES = libtests.a
+unblock_reset_raise_SOURCES = unblock_reset_raise.c
+unblock_reset_raise_OBJECTS = unblock_reset_raise.$(OBJEXT)
+unblock_reset_raise_LDADD = $(LDADD)
+unblock_reset_raise_DEPENDENCIES = libtests.a
unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
unix_pair_send_recv_LDADD = $(LDADD)
@@ -1863,6 +1942,10 @@ xettimeofday_SOURCES = xettimeofday.c
xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
xettimeofday_LDADD = $(LDADD)
xettimeofday_DEPENDENCIES = libtests.a
+zeroargc_SOURCES = zeroargc.c
+zeroargc_OBJECTS = zeroargc.$(OBJEXT)
+zeroargc_LDADD = $(LDADD)
+zeroargc_DEPENDENCIES = libtests.a
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -1898,47 +1981,51 @@ am__v_CCLD_1 =
SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
+ attach-p-cmd-p.c block_reset_raise_run.c bpf.c brk.c btrfs.c \
+ caps.c caps-abbrev.c chmod.c chown.c chown32.c chroot.c \
+ clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ copy_file_range.c count-f.c creat.c delete_module.c dup.c \
+ dup2.c dup3.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
+ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
+ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
+ fchdir.c fchmod.c fchmodat.c fchown.c fchown32.c fchownat.c \
+ fcntl.c fcntl64.c fdatasync.c file_handle.c file_ioctl.c \
+ filter-unavailable.c finit_module.c flock.c fork-f.c fstat.c \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
+ getcpu.c getcwd.c getdents.c getdents64.c getegid.c \
+ getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
+ getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
+ getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
+ getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
+ gettid.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+ init_module.c inotify.c inotify_init1.c int_0x80.c ioctl.c \
+ ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \
+ ioctl_evdev-v.c ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c \
+ ioctl_mtd.c ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c \
+ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \
+ ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \
+ iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msgbuf.c \
+ ipc_sem.c ipc_shm.c kcmp.c kexec_file_load.c kexec_load.c \
+ keyctl.c kill.c ksysent.c lchown.c lchown32.c link.c linkat.c \
+ llseek.c lookup_dcookie.c lseek.c lstat.c lstat64.c madvise.c \
+ mbind.c membarrier.c memfd_create.c migrate_pages.c mincore.c \
+ mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \
+ mlockall.c mmap.c mmap64.c mmsg.c mmsg-silent.c mmsg_name.c \
+ mmsg_name-v.c mount.c move_pages.c mq.c mq_sendrecv.c \
+ mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
+ msg_control-v.c msg_name.c munlockall.c nanosleep.c \
+ net-accept-connect.c net-icmp_filter.c net-sockaddr.c \
+ net-y-unix.c net-yy-inet.c net-yy-netlink.c net-yy-unix.c \
+ netlink_audit.c netlink_generic.c netlink_inet_diag.c \
+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \
+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c nlattr.c \
+ nlattr_inet_diag_msg.c nlattr_netlink_diag_msg.c \
+ nlattr_unix_diag_msg.c nsyscalls.c old_mmap.c oldfstat.c \
+ oldlstat.c oldselect.c oldstat.c open.c openat.c osf_utimes.c \
+ pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \
perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
@@ -1954,21 +2041,22 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
redirect-fds.c remap_file_pages.c rename.c renameat.c \
renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
+ rt_sigaction.c rt_sigpending.c rt_sigprocmask.c \
+ rt_sigqueueinfo.c rt_sigreturn.c rt_sigsuspend.c \
+ rt_sigtimedwait.c rt_tgsigqueueinfo.c run_expect_termsig.c \
+ sched_get_priority_mxx.c sched_rr_get_interval.c \
+ sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+ sched_xetscheduler.c sched_yield.c scm_rights.c \
+ seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+ semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+ setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+ setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+ setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+ setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+ shutdown.c sigaction.c sigaltstack.c siginfo.c signal.c \
+ signal_receive.c signalfd4.c sigpending.c sigprocmask.c \
+ sigreturn.c sigsuspend.c sleep.c socketcall.c splice.c \
$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
@@ -1976,56 +2064,60 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
+ unblock_reset_raise.c unix-pair-send-recv.c \
+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
+ userfaultfd.c ustat.c utime.c utimensat.c utimes.c vfork-f.c \
+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
+ xetitimer.c xetpgid.c xetpriority.c xettimeofday.c zeroargc.c
DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
+ attach-p-cmd-p.c block_reset_raise_run.c bpf.c brk.c btrfs.c \
+ caps.c caps-abbrev.c chmod.c chown.c chown32.c chroot.c \
+ clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ copy_file_range.c count-f.c creat.c delete_module.c dup.c \
+ dup2.c dup3.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
+ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
+ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
+ fchdir.c fchmod.c fchmodat.c fchown.c fchown32.c fchownat.c \
+ fcntl.c fcntl64.c fdatasync.c file_handle.c file_ioctl.c \
+ filter-unavailable.c finit_module.c flock.c fork-f.c fstat.c \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
+ getcpu.c getcwd.c getdents.c getdents64.c getegid.c \
+ getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
+ getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
+ getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
+ getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
+ gettid.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+ init_module.c inotify.c inotify_init1.c int_0x80.c ioctl.c \
+ ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \
+ ioctl_evdev-v.c ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c \
+ ioctl_mtd.c ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c \
+ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \
+ ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \
+ iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msgbuf.c \
+ ipc_sem.c ipc_shm.c kcmp.c kexec_file_load.c kexec_load.c \
+ keyctl.c kill.c ksysent.c lchown.c lchown32.c link.c linkat.c \
+ llseek.c lookup_dcookie.c lseek.c lstat.c lstat64.c madvise.c \
+ mbind.c membarrier.c memfd_create.c migrate_pages.c mincore.c \
+ mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \
+ mlockall.c mmap.c mmap64.c mmsg.c mmsg-silent.c mmsg_name.c \
+ mmsg_name-v.c mount.c move_pages.c mq.c mq_sendrecv.c \
+ mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
+ msg_control-v.c msg_name.c munlockall.c nanosleep.c \
+ net-accept-connect.c net-icmp_filter.c net-sockaddr.c \
+ net-y-unix.c net-yy-inet.c net-yy-netlink.c net-yy-unix.c \
+ netlink_audit.c netlink_generic.c netlink_inet_diag.c \
+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \
+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c nlattr.c \
+ nlattr_inet_diag_msg.c nlattr_netlink_diag_msg.c \
+ nlattr_unix_diag_msg.c nsyscalls.c old_mmap.c oldfstat.c \
+ oldlstat.c oldselect.c oldstat.c open.c openat.c osf_utimes.c \
+ pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \
perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
@@ -2041,21 +2133,22 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
redirect-fds.c remap_file_pages.c rename.c renameat.c \
renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
+ rt_sigaction.c rt_sigpending.c rt_sigprocmask.c \
+ rt_sigqueueinfo.c rt_sigreturn.c rt_sigsuspend.c \
+ rt_sigtimedwait.c rt_tgsigqueueinfo.c run_expect_termsig.c \
+ sched_get_priority_mxx.c sched_rr_get_interval.c \
+ sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+ sched_xetscheduler.c sched_yield.c scm_rights.c \
+ seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+ semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+ setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+ setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+ setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+ setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+ shutdown.c sigaction.c sigaltstack.c siginfo.c signal.c \
+ signal_receive.c signalfd4.c sigpending.c sigprocmask.c \
+ sigreturn.c sigsuspend.c sleep.c socketcall.c splice.c \
$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
@@ -2063,12 +2156,12 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
+ unblock_reset_raise.c unix-pair-send-recv.c \
+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
+ userfaultfd.c ustat.c utime.c utimensat.c utimes.c vfork-f.c \
+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
+ xetitimer.c xetpgid.c xetpriority.c xettimeofday.c zeroargc.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -2450,6 +2543,7 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
+ create_nl_socket.c \
errno2name.c \
error_msg.c \
fill_memory.c \
@@ -2470,6 +2564,7 @@ libtests_a_SOURCES = \
skip_unavailable.c \
sprintrc.c \
tail_alloc.c \
+ test_nlattr.h \
tests.h \
tprintf.c \
# end of libtests_a_SOURCES
@@ -2646,8 +2741,19 @@ PURE_EXECUTABLES = \
net-yy-inet \
net-yy-netlink \
net-yy-unix \
+ netlink_audit \
+ netlink_generic \
+ netlink_netfilter \
netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
newfstatat \
+ nlattr \
+ nlattr_inet_diag_msg \
+ nlattr_netlink_diag_msg \
+ nlattr_unix_diag_msg \
old_mmap \
oldfstat \
oldlstat \
@@ -2703,6 +2809,7 @@ PURE_EXECUTABLES = \
renameat2 \
request_key \
rmdir \
+ rt_sigaction \
rt_sigpending \
rt_sigprocmask \
rt_sigqueueinfo \
@@ -2750,7 +2857,10 @@ PURE_EXECUTABLES = \
sigaction \
sigaltstack \
siginfo \
+ signal \
signalfd4 \
+ sigpending \
+ sigprocmask \
sigreturn \
sigsuspend \
socketcall \
@@ -2895,11 +3005,17 @@ GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
mq_sendrecv-write.gen.test msg_control.gen.test \
msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
nanosleep.gen.test net-icmp_filter.gen.test \
- net-sockaddr.gen.test netlink_protocol.gen.test \
- newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
- oldlstat.gen.test oldstat.gen.test open.gen.test \
- openat.gen.test osf_utimes.gen.test pause.gen.test \
- perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+ net-sockaddr.gen.test netlink_audit.gen.test \
+ netlink_generic.gen.test netlink_netfilter.gen.test \
+ netlink_protocol.gen.test netlink_route.gen.test \
+ netlink_selinux.gen.test netlink_xfrm.gen.test \
+ newfstatat.gen.test nlattr.gen.test \
+ nlattr_inet_diag_msg.gen.test nlattr_netlink_diag_msg.gen.test \
+ nlattr_unix_diag_msg.gen.test old_mmap.gen.test \
+ oldfstat.gen.test oldlstat.gen.test oldstat.gen.test \
+ open.gen.test openat.gen.test osf_utimes.gen.test \
+ pause.gen.test perf_event_open.gen.test \
+ perf_event_open_nonverbose.gen.test \
perf_event_open_unabbrev.gen.test pipe2.gen.test \
pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
@@ -2932,22 +3048,23 @@ GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
setuid32.gen.test shmxt.gen.test shutdown.gen.test \
- siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
- sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
- statfs64.gen.test statx.gen.test swap.gen.test \
- sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
- sync.gen.test sync_file_range.gen.test \
- sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
- tee.gen.test time.gen.test timer_create.gen.test \
- timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
- times-fail.gen.test trace_fstat.gen.test \
- trace_fstatfs.gen.test trace_lstat.gen.test \
- trace_question.gen.test trace_stat.gen.test \
- trace_stat_like.gen.test trace_statfs.gen.test \
- trace_statfs_like.gen.test truncate.gen.test \
- truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
- umoven-illptr.gen.test umovestr-illptr.gen.test \
+ sigaction.gen.test siginfo.gen.test signal.gen.test \
+ signal_receive.gen.test signalfd4.gen.test sigpending.gen.test \
+ sigprocmask.gen.test sigreturn.gen.test sigsuspend.gen.test \
+ socketcall.gen.test splice.gen.test stat.gen.test \
+ stat64.gen.test statfs.gen.test statfs64.gen.test \
+ statx.gen.test swap.gen.test sxetmask.gen.test \
+ symlink.gen.test symlinkat.gen.test sync.gen.test \
+ sync_file_range.gen.test sync_file_range2.gen.test \
+ sysinfo.gen.test syslog.gen.test tee.gen.test time.gen.test \
+ timer_create.gen.test timer_xettime.gen.test \
+ timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
+ trace_fstat.gen.test trace_fstatfs.gen.test \
+ trace_lstat.gen.test trace_question.gen.test \
+ trace_stat.gen.test trace_stat_like.gen.test \
+ trace_statfs.gen.test trace_statfs_like.gen.test \
+ truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \
+ umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \
umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
unshare.gen.test userfaultfd.gen.test ustat.gen.test \
utime.gen.test utimensat.gen.test utimes.gen.test \
@@ -2987,6 +3104,7 @@ DECODER_TESTS = \
net-yy-netlink.test \
net-yy-unix.test \
net.test \
+ netlink_sock_diag.test \
nsyscalls.test \
oldselect.test \
personality.test \
@@ -3004,9 +3122,9 @@ DECODER_TESTS = \
prctl-tsc.test \
qual_fault-exit_group.test \
readv.test \
+ rt_sigaction.test \
scm_rights-fd.test \
seccomp-strict.test \
- sigaction.test \
sigaltstack.test \
sun_path.test \
uio.test \
@@ -3030,6 +3148,7 @@ MISC_TESTS = \
detach-stopped.test \
filter-unavailable.test \
get_regs.test \
+ interactive_block.test \
ksysent.test \
opipe.test \
options-syntax.test \
@@ -3055,6 +3174,7 @@ MISC_TESTS = \
strace-t.test \
strace-tt.test \
strace-ttt.test \
+ termsig.test \
threads-execve.test \
# end of MISC_TESTS
@@ -3100,6 +3220,7 @@ EXTRA_DIST = \
qual_inject-signal.expected \
quotactl.h \
regex.in \
+ rt_sigaction.awk \
run.sh \
sched.in \
scno_tampering.sh \
@@ -3107,7 +3228,6 @@ EXTRA_DIST = \
setresugid.c \
setreugid.c \
setugid.c \
- sigaction.awk \
sigaltstack.expected \
sockname.c \
strace-C.expected \
@@ -3253,6 +3373,10 @@ attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES
@rm -f attach-p-cmd-p$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
+block_reset_raise_run$(EXEEXT): $(block_reset_raise_run_OBJECTS) $(block_reset_raise_run_DEPENDENCIES) $(EXTRA_block_reset_raise_run_DEPENDENCIES)
+ @rm -f block_reset_raise_run$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(block_reset_raise_run_OBJECTS) $(block_reset_raise_run_LDADD) $(LIBS)
+
bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES)
@rm -f bpf$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
@@ -3957,10 +4081,22 @@ net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA
@rm -f net-yy-unix$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
+netlink_audit$(EXEEXT): $(netlink_audit_OBJECTS) $(netlink_audit_DEPENDENCIES) $(EXTRA_netlink_audit_DEPENDENCIES)
+ @rm -f netlink_audit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS)
+
+netlink_generic$(EXEEXT): $(netlink_generic_OBJECTS) $(netlink_generic_DEPENDENCIES) $(EXTRA_netlink_generic_DEPENDENCIES)
+ @rm -f netlink_generic$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_generic_OBJECTS) $(netlink_generic_LDADD) $(LIBS)
+
netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES)
@rm -f netlink_inet_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
+netlink_netfilter$(EXEEXT): $(netlink_netfilter_OBJECTS) $(netlink_netfilter_DEPENDENCIES) $(EXTRA_netlink_netfilter_DEPENDENCIES)
+ @rm -f netlink_netfilter$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_netfilter_OBJECTS) $(netlink_netfilter_LDADD) $(LIBS)
+
netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES)
@rm -f netlink_netlink_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
@@ -3969,14 +4105,46 @@ netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPEND
@rm -f netlink_protocol$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
+netlink_route$(EXEEXT): $(netlink_route_OBJECTS) $(netlink_route_DEPENDENCIES) $(EXTRA_netlink_route_DEPENDENCIES)
+ @rm -f netlink_route$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_route_OBJECTS) $(netlink_route_LDADD) $(LIBS)
+
+netlink_selinux$(EXEEXT): $(netlink_selinux_OBJECTS) $(netlink_selinux_DEPENDENCIES) $(EXTRA_netlink_selinux_DEPENDENCIES)
+ @rm -f netlink_selinux$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_selinux_OBJECTS) $(netlink_selinux_LDADD) $(LIBS)
+
+netlink_sock_diag$(EXEEXT): $(netlink_sock_diag_OBJECTS) $(netlink_sock_diag_DEPENDENCIES) $(EXTRA_netlink_sock_diag_DEPENDENCIES)
+ @rm -f netlink_sock_diag$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_sock_diag_OBJECTS) $(netlink_sock_diag_LDADD) $(LIBS)
+
netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES)
@rm -f netlink_unix_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
+netlink_xfrm$(EXEEXT): $(netlink_xfrm_OBJECTS) $(netlink_xfrm_DEPENDENCIES) $(EXTRA_netlink_xfrm_DEPENDENCIES)
+ @rm -f netlink_xfrm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_xfrm_OBJECTS) $(netlink_xfrm_LDADD) $(LIBS)
+
newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES)
@rm -f newfstatat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
+nlattr$(EXEEXT): $(nlattr_OBJECTS) $(nlattr_DEPENDENCIES) $(EXTRA_nlattr_DEPENDENCIES)
+ @rm -f nlattr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_OBJECTS) $(nlattr_LDADD) $(LIBS)
+
+nlattr_inet_diag_msg$(EXEEXT): $(nlattr_inet_diag_msg_OBJECTS) $(nlattr_inet_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_msg_OBJECTS) $(nlattr_inet_diag_msg_LDADD) $(LIBS)
+
+nlattr_netlink_diag_msg$(EXEEXT): $(nlattr_netlink_diag_msg_OBJECTS) $(nlattr_netlink_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_netlink_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_netlink_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_netlink_diag_msg_OBJECTS) $(nlattr_netlink_diag_msg_LDADD) $(LIBS)
+
+nlattr_unix_diag_msg$(EXEEXT): $(nlattr_unix_diag_msg_OBJECTS) $(nlattr_unix_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_unix_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_unix_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_unix_diag_msg_OBJECTS) $(nlattr_unix_diag_msg_LDADD) $(LIBS)
+
nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES)
@rm -f nsyscalls$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
@@ -4265,6 +4433,10 @@ rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIE
@rm -f rmdir$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
+rt_sigaction$(EXEEXT): $(rt_sigaction_OBJECTS) $(rt_sigaction_DEPENDENCIES) $(EXTRA_rt_sigaction_DEPENDENCIES)
+ @rm -f rt_sigaction$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(rt_sigaction_OBJECTS) $(rt_sigaction_LDADD) $(LIBS)
+
rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES)
@rm -f rt_sigpending$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
@@ -4293,6 +4465,10 @@ rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEP
@rm -f rt_tgsigqueueinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
+run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES)
+ @rm -f run_expect_termsig$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS)
+
sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES)
@rm -f sched_get_priority_mxx$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
@@ -4469,6 +4645,10 @@ siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEP
@rm -f siginfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
+signal$(EXEEXT): $(signal_OBJECTS) $(signal_DEPENDENCIES) $(EXTRA_signal_DEPENDENCIES)
+ @rm -f signal$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(signal_OBJECTS) $(signal_LDADD) $(LIBS)
+
signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES)
@rm -f signal_receive$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
@@ -4477,6 +4657,14 @@ signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signa
@rm -f signalfd4$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
+sigpending$(EXEEXT): $(sigpending_OBJECTS) $(sigpending_DEPENDENCIES) $(EXTRA_sigpending_DEPENDENCIES)
+ @rm -f sigpending$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sigpending_OBJECTS) $(sigpending_LDADD) $(LIBS)
+
+sigprocmask$(EXEEXT): $(sigprocmask_OBJECTS) $(sigprocmask_DEPENDENCIES) $(EXTRA_sigprocmask_DEPENDENCIES)
+ @rm -f sigprocmask$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sigprocmask_OBJECTS) $(sigprocmask_LDADD) $(LIBS)
+
sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES)
@rm -f sigreturn$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
@@ -4641,6 +4829,10 @@ uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIE
@rm -f uname$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
+unblock_reset_raise$(EXEEXT): $(unblock_reset_raise_OBJECTS) $(unblock_reset_raise_DEPENDENCIES) $(EXTRA_unblock_reset_raise_DEPENDENCIES)
+ @rm -f unblock_reset_raise$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(unblock_reset_raise_OBJECTS) $(unblock_reset_raise_LDADD) $(LIBS)
+
unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES)
@rm -f unix-pair-send-recv$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
@@ -4741,6 +4933,10 @@ xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EX
@rm -f xettimeofday$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
+zeroargc$(EXEEXT): $(zeroargc_OBJECTS) $(zeroargc_DEPENDENCIES) $(EXTRA_zeroargc_DEPENDENCIES)
+ @rm -f zeroargc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(zeroargc_OBJECTS) $(zeroargc_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -4761,6 +4957,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-cmd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-p.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block_reset_raise_run.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brk.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Po@am__quote@
@@ -4893,6 +5090,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@
@@ -4958,11 +5156,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_inet_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_netfilter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_netlink_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_protocol.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_route.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_selinux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_sock_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_unix_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_xfrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfstatat-newfstatat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_inet_diag_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_netlink_diag_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_unix_diag_msg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldfstat.Po@am__quote@
@@ -5035,6 +5244,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/request_key.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/restart_syscall.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@
@@ -5042,6 +5252,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@
@@ -5086,8 +5297,11 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigreturn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigsuspend.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
@@ -5133,6 +5347,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr3.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unblock_reset_raise.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-send-recv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-sendto-recvfrom.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@
@@ -5158,6 +5373,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -5173,6 +5389,20 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+libtests_a-create_nl_socket.o: create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-create_nl_socket.o -MD -MP -MF $(DEPDIR)/libtests_a-create_nl_socket.Tpo -c -o libtests_a-create_nl_socket.o `test -f 'create_nl_socket.c' || echo '$(srcdir)/'`create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_nl_socket.o `test -f 'create_nl_socket.c' || echo '$(srcdir)/'`create_nl_socket.c
+
+libtests_a-create_nl_socket.obj: create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-create_nl_socket.obj -MD -MP -MF $(DEPDIR)/libtests_a-create_nl_socket.Tpo -c -o libtests_a-create_nl_socket.obj `if test -f 'create_nl_socket.c'; then $(CYGPATH_W) 'create_nl_socket.c'; else $(CYGPATH_W) '$(srcdir)/create_nl_socket.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_nl_socket.obj `if test -f 'create_nl_socket.c'; then $(CYGPATH_W) 'create_nl_socket.c'; else $(CYGPATH_W) '$(srcdir)/create_nl_socket.c'; fi`
+
libtests_a-errno2name.o: errno2name.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
@@ -6511,12 +6741,42 @@ $(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tes
$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/netlink_audit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_generic.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_netfilter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/netlink_route.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_selinux.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_xfrm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/nlattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netlink_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_unix_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
@@ -6799,15 +7059,27 @@ $(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/sigaction.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
@@ -7014,8 +7286,8 @@ clean-local: clean-local-check
clean-local-check:
-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
- $(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
+syscallent.i: $(top_builddir)/config.h $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
+ $(CPP) -P $(SCNO_CPPFLAGS) -include $^ -o $@
scno.h: $(top_srcdir)/scno.head syscallent.i
echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
diff --git a/tests-m32/add_key.c b/tests-m32/add_key.c
index d2696f9b..1de0cc3b 100644
--- a/tests-m32/add_key.c
+++ b/tests-m32/add_key.c
@@ -70,8 +70,7 @@ main(void)
{
static const char unterminated1[] = { '\1', '\2', '\3', '\4', '\5' };
static const char unterminated2[] = { '\6', '\7', '\10', '\11', '\12' };
- static const char unterminated3[] =
- { '\16', '\17', '\20', '\21', '\22' };
+ static const char unterminated3[] = { '\16', '\17', '\20', '\21', '\22' };
char *bogus_type = tail_memdup(unterminated1, sizeof(unterminated1));
char *bogus_desc = tail_memdup(unterminated2, sizeof(unterminated2));
diff --git a/tests-m32/aio.c b/tests-m32/aio.c
index 677a02b5..77b6c05d 100644
--- a/tests-m32/aio.c
+++ b/tests-m32/aio.c
@@ -240,9 +240,9 @@ main(void)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{data=%#" PRI__x64 ", pread, reqprio=11, fildes=0, "
- "buf=%p, nbytes=%u, offset=%" PRI__d64 "}, "
+ "buf=%p, nbytes=%u, offset=%" PRI__d64 "}, "
"{data=%#" PRI__x64 ", pread, reqprio=22, fildes=0, "
- "buf=%p, nbytes=%u, offset=%" PRI__d64 "}"
+ "buf=%p, nbytes=%u, offset=%" PRI__d64 "}"
"]) = %s\n",
*ctx, nr,
cb[0].aio_data, data0, sizeof_data0, cb[0].aio_offset,
@@ -317,18 +317,18 @@ main(void)
printf("io_submit(%#lx, %ld, ["
"{data=%#" PRI__x64 ", key=%u, %hu /* SUB_??? */, fildes=%d}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d, str=NULL"
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64
# ifdef IOCB_FLAG_RESFD
- ", resfd=%d, flags=%#x"
+ ", resfd=%d, flags=%#x"
# endif
- "}, "
+ "}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d, buf=%#" PRI__x64
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d"
- ", str=\"\\0\\1\\2\\3%.28s\"..."
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
+ ", str=\"\\0\\1\\2\\3%.28s\"..."
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
"{key=%u, pwritev, reqprio=%hd, fildes=%d, buf=%#" PRI__x64
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}"
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}"
", {NULL}, {%#lx}, %p]) = %s\n",
*ctx, 1057L,
cbv2[0].aio_data, cbv2[0].aio_key,
@@ -351,11 +351,11 @@ main(void)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{data=%#" PRI__x64 ", preadv, reqprio=%hd, fildes=0, "
- "iovec=[{iov_base=%p, iov_len=%u}"
- ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}, "
+ "iovec=[{iov_base=%p, iov_len=%u}"
+ ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}, "
"{data=%#" PRI__x64 ", preadv, reqprio=%hd, fildes=0, "
- "iovec=[{iov_base=%p, iov_len=%u}"
- ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}"
+ "iovec=[{iov_base=%p, iov_len=%u}"
+ ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}"
"]) = %s\n",
*ctx, nr,
cbv[0].aio_data, cbv[0].aio_reqprio,
diff --git a/tests-m32/block_reset_raise_run.c b/tests-m32/block_reset_raise_run.c
new file mode 100644
index 00000000..e2c5c99b
--- /dev/null
+++ b/tests-m32/block_reset_raise_run.c
@@ -0,0 +1,55 @@
+/*
+ * Execute a command with blocked, reset, and raised signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac < 3)
+ error_msg_and_fail("usage: block_reset_raise_run signo path...");
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ const int signo = atoi(av[1]);
+ if (sigaddset(&mask, signo))
+ perror_msg_and_fail("sigaddset: %s", av[1]);
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask");
+ if (signal(signo, SIG_DFL) == SIG_ERR)
+ perror_msg_and_fail("signal: %s", av[1]);
+ if (raise(signo))
+ perror_msg_and_fail("raise: %s", av[1]);
+
+ execvp(av[2], av + 2);
+ perror_msg_and_fail("execvp: %s", av[2]);
+}
diff --git a/tests-m32/btrfs.c b/tests-m32/btrfs.c
index 7e5ccfff..710d7630 100644
--- a/tests-m32/btrfs.c
+++ b/tests-m32/btrfs.c
@@ -61,8 +61,8 @@ typedef __u64 u64;
static const char *btrfs_test_root;
static int btrfs_test_dir_fd;
-static bool verbose = false;
-static bool write_ok = false;
+static bool verbose;
+static bool write_ok;
const unsigned char uuid_reference[BTRFS_UUID_SIZE] = {
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
@@ -75,10 +75,10 @@ const char uuid_reference_string[] = "01234567-89ab-cdef-fedc-ba9876543210";
struct btrfs_ioctl_quota_rescan_args {
uint64_t flags, progress, reserved[6];
};
-# define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \
- struct btrfs_ioctl_quota_rescan_args)
-# define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
- struct btrfs_ioctl_quota_rescan_args)
+# define BTRFS_IOC_QUOTA_RESCAN \
+ _IOW(BTRFS_IOCTL_MAGIC, 44, struct btrfs_ioctl_quota_rescan_args)
+# define BTRFS_IOC_QUOTA_RESCAN_STATUS \
+ _IOR(BTRFS_IOCTL_MAGIC, 45, struct btrfs_ioctl_quota_rescan_args)
#endif
#ifndef BTRFS_IOC_QUOTA_RESCAN_WAIT
@@ -86,30 +86,30 @@ struct btrfs_ioctl_quota_rescan_args {
#endif
#ifndef BTRFS_IOC_GET_FEATURES
-# define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags)
-# define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[2])
-# define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[3])
+# define BTRFS_IOC_GET_FEATURES \
+ _IOR(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags)
+# define BTRFS_IOC_SET_FEATURES \
+ _IOW(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags[2])
+# define BTRFS_IOC_GET_SUPPORTED_FEATURES \
+ _IOR(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags[3])
#endif
#ifndef HAVE_STRUCT_BTRFS_IOCTL_FEATURE_FLAGS_COMPAT_FLAGS
struct btrfs_ioctl_feature_flags {
- uint64_t compat_flags;
- uint64_t compat_ro_flags;
- uint64_t incompat_flags;
+ uint64_t compat_flags;
+ uint64_t compat_ro_flags;
+ uint64_t incompat_flags;
};
#endif
#ifndef HAVE_STRUCT_BTRFS_IOCTL_DEFRAG_RANGE_ARGS_START
struct btrfs_ioctl_defrag_range_args {
- uint64_t start;
- uint64_t len;
- uint64_t flags;
- uint32_t extent_thresh;
- uint32_t compress_type;
- uint32_t unused[4];
+ uint64_t start;
+ uint64_t len;
+ uint64_t flags;
+ uint32_t extent_thresh;
+ uint32_t compress_type;
+ uint32_t unused[4];
};
#endif
@@ -140,14 +140,14 @@ struct file_dedupe_range {
#endif
#ifndef BTRFS_IOC_TREE_SEARCH_V2
-# define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \
- struct btrfs_ioctl_search_args_v2)
+# define BTRFS_IOC_TREE_SEARCH_V2 \
+ _IOWR(BTRFS_IOCTL_MAGIC, 17, struct btrfs_ioctl_search_args_v2)
struct btrfs_ioctl_search_args_v2 {
struct btrfs_ioctl_search_key key; /* in/out - search parameters */
uint64_t buf_size; /* in - size of buffer
* out - on EOVERFLOW: needed size
* to store item */
- uint64_t buf[0]; /* out - found items */
+ uint64_t buf[0]; /* out - found items */
};
#endif
diff --git a/tests-m32/create_nl_socket.c b/tests-m32/create_nl_socket.c
new file mode 100644
index 00000000..c2708d8f
--- /dev/null
+++ b/tests-m32/create_nl_socket.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <sys/socket.h>
+#include "netlink.h"
+
+int
+create_nl_socket_ext(const int proto, const char *const name)
+{
+ const int fd = socket(AF_NETLINK, SOCK_RAW, proto);
+ if (fd < 0)
+ perror_msg_and_skip("socket AF_NETLINK %s", name);
+
+ const struct sockaddr_nl addr = { .nl_family = AF_NETLINK };
+ socklen_t len = sizeof(addr);
+
+ if (bind(fd, (const struct sockaddr *) &addr, len))
+ perror_msg_and_skip("bind AF_NETLINK %s", name);
+
+ /* one more operation on this socket to win the race */
+ int listening;
+ len = sizeof(listening);
+ if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &listening, &len))
+ perror_msg_and_fail("getsockopt");
+
+ return fd;
+}
diff --git a/tests-m32/dup3.c b/tests-m32/dup3.c
index 252e8469..7a65b614 100644
--- a/tests-m32/dup3.c
+++ b/tests-m32/dup3.c
@@ -23,6 +23,6 @@ main(void)
#else
-SKIP_MAIN_UNDEFINED("__NR_dup3 && && O_CLOEXEC")
+SKIP_MAIN_UNDEFINED("__NR_dup3 && O_CLOEXEC")
#endif
diff --git a/tests-m32/errno2name.c b/tests-m32/errno2name.c
index 4a176993..d481e2e8 100644
--- a/tests-m32/errno2name.c
+++ b/tests-m32/errno2name.c
@@ -476,6 +476,7 @@ errno2name(void)
#ifdef EXFULL
CASE(EXFULL);
#endif
- default: perror_msg_and_fail("unknown errno %d", errno);
+ default:
+ perror_msg_and_fail("unknown errno %d", errno);
}
}
diff --git a/tests-m32/execve.c b/tests-m32/execve.c
index c558dd3b..da3bc520 100644
--- a/tests-m32/execve.c
+++ b/tests-m32/execve.c
@@ -127,9 +127,14 @@ main(void)
#endif
);
- char str_a[] = "012345678901234567890123456789012";
- char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
-#define DEFAULT_STRLEN ((unsigned int) sizeof(str_a) - 2)
+ char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
+ str_a[DEFAULT_STRLEN + 1] = '\0';
+
+ char *const str_b = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_b, DEFAULT_STRLEN + 1, '_', 32);
+ str_b[DEFAULT_STRLEN + 1] = '\0';
+
char **const a = tail_alloc(sizeof(*a) * (DEFAULT_STRLEN + 2));
char **const b = tail_alloc(sizeof(*b) * (DEFAULT_STRLEN + 2));
unsigned int i;
diff --git a/tests-m32/execveat.c b/tests-m32/execveat.c
index 8ffc4d58..566a59f9 100644
--- a/tests-m32/execveat.c
+++ b/tests-m32/execveat.c
@@ -133,9 +133,14 @@ main(void)
#endif
errno2name());
- char str_a[] = "012345678901234567890123456789012";
- char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
-#define DEFAULT_STRLEN ((unsigned int) sizeof(str_a) - 2)
+ char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
+ str_a[DEFAULT_STRLEN + 1] = '\0';
+
+ char *const str_b = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_b, DEFAULT_STRLEN + 1, '_', 32);
+ str_b[DEFAULT_STRLEN + 1] = '\0';
+
char **const a = tail_alloc(sizeof(*a) * (DEFAULT_STRLEN + 2));
char **const b = tail_alloc(sizeof(*b) * (DEFAULT_STRLEN + 2));
unsigned int i;
diff --git a/tests-m32/futex.c b/tests-m32/futex.c
index 9a9ab664..b75ab339 100644
--- a/tests-m32/futex.c
+++ b/tests-m32/futex.c
@@ -254,7 +254,7 @@ main(int argc, char *argv[])
zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
CHECK_FUTEX_ENOSYS(uaddr,
- FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT ,
+ FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT,
VAL, tmout, uaddr2, 0, (rc == -1) && (errno == EAGAIN));
printf("futex(%p, FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
@@ -612,7 +612,7 @@ main(int argc, char *argv[])
CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_PRIVATE_FLAG | FUTEX_UNLOCK_PI, VAL,
tmout, uaddr2 + 1, VAL3, (rc == -1) && (errno == EFAULT));
- printf("futex(%p, FUTEX_UNLOCK_PI_PRIVATE) = %s\n", uaddr +1,
+ printf("futex(%p, FUTEX_UNLOCK_PI_PRIVATE) = %s\n", uaddr + 1,
sprintrc(rc));
CHECK_INVALID_CLOCKRT(FUTEX_UNLOCK_PI, 0);
diff --git a/tests-m32/gen_tests.am b/tests-m32/gen_tests.am
new file mode 100644
index 00000000..f1b34dd5
--- /dev/null
+++ b/tests-m32/gen_tests.am
@@ -0,0 +1,1007 @@
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test access.gen.test acct.gen.test add_key.gen.test adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test clock_adjtime.gen.test clock_nanosleep.gen.test clock_xettime.gen.test copy_file_range.gen.test creat.gen.test delete_module.gen.test dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test erestartsys.gen.test execveat.gen.test execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test fanotify_init.gen.test fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test fchmodat.gen.test fchown.gen.test fchown32.gen.test fchownat.gen.test fcntl.gen.test fcntl64.gen.test fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test finit_module.gen.test flock.gen.test fork-f.gen.test fstat.gen.test fstat64.gen.test fstatat64.gen.test fstatfs.gen.test fstatfs64.gen.test fsync.gen.test ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test getdents.gen.test getdents64.gen.test getegid.gen.test getegid32.gen.test geteuid.gen.test geteuid32.gen.test getgid.gen.test getgid32.gen.test getgroups.gen.test getgroups32.gen.test getpeername.gen.test getpgrp.gen.test getpid.gen.test getppid.gen.test getrandom.gen.test getresgid.gen.test getresgid32.gen.test getresuid.gen.test getresuid32.gen.test getrlimit.gen.test getrusage.gen.test getsid.gen.test getsockname.gen.test gettid.gen.test getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test init_module.gen.test inotify.gen.test inotify_init1.gen.test int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_loop.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test ioctl_rtc-v.gen.test ioctl_scsi.gen.test ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test kill.gen.test lchown.gen.test lchown32.gen.test link.gen.test linkat.gen.test lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test madvise.gen.test mbind.gen.test membarrier.gen.test memfd_create.gen.test migrate_pages.gen.test mincore.gen.test mkdir.gen.test mkdirat.gen.test mknod.gen.test mknodat.gen.test mlock.gen.test mlock2.gen.test mlockall.gen.test mmap64.gen.test mmsg.gen.test mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test mount.gen.test move_pages.gen.test mq.gen.test mq_sendrecv.gen.test mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test msg_control.gen.test msg_control-v.gen.test msg_name.gen.test munlockall.gen.test nanosleep.gen.test net-icmp_filter.gen.test net-sockaddr.gen.test netlink_audit.gen.test netlink_generic.gen.test netlink_netfilter.gen.test netlink_protocol.gen.test netlink_route.gen.test netlink_selinux.gen.test netlink_xfrm.gen.test newfstatat.gen.test nlattr.gen.test nlattr_inet_diag_msg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test oldfstat.gen.test oldlstat.gen.test oldstat.gen.test open.gen.test openat.gen.test osf_utimes.gen.test pause.gen.test perf_event_open.gen.test perf_event_open_nonverbose.gen.test perf_event_open_unabbrev.gen.test pipe2.gen.test pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test process_vm_readv.gen.test process_vm_writev.gen.test pselect6.gen.test ptrace.gen.test pwritev.gen.test quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test readdir.gen.test readlink.gen.test readlinkat.gen.test reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test recvmsg.gen.test regex.gen.test remap_file_pages.gen.test rename.gen.test renameat.gen.test renameat2.gen.test request_key.gen.test rmdir.gen.test rt_sigpending.gen.test rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test rt_sigreturn.gen.test rt_sigsuspend.gen.test rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test sched.gen.test sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test sched_xetaffinity.gen.test sched_xetattr.gen.test sched_xetparam.gen.test sched_xetscheduler.gen.test sched_yield.gen.test seccomp-filter.gen.test seccomp-filter-v.gen.test select.gen.test semop.gen.test sendfile.gen.test sendfile64.gen.test set_mempolicy.gen.test setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test setfsuid.gen.test setfsuid32.gen.test setgid.gen.test setgid32.gen.test setgroups.gen.test setgroups32.gen.test sethostname.gen.test setns.gen.test setregid.gen.test setregid32.gen.test setresgid.gen.test setresgid32.gen.test setresuid.gen.test setresuid32.gen.test setreuid.gen.test setreuid32.gen.test setrlimit.gen.test setuid.gen.test setuid32.gen.test shmxt.gen.test shutdown.gen.test sigaction.gen.test siginfo.gen.test signal.gen.test signal_receive.gen.test signalfd4.gen.test sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test statfs64.gen.test statx.gen.test swap.gen.test sxetmask.gen.test symlink.gen.test symlinkat.gen.test sync.gen.test sync_file_range.gen.test sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test tee.gen.test time.gen.test timer_create.gen.test timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test times-fail.gen.test trace_fstat.gen.test trace_fstatfs.gen.test trace_lstat.gen.test trace_question.gen.test trace_stat.gen.test trace_stat_like.gen.test trace_statfs.gen.test trace_statfs_like.gen.test truncate.gen.test truncate64.gen.test ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test umovestr3.gen.test unlink.gen.test unlinkat.gen.test unshare.gen.test userfaultfd.gen.test ustat.gen.test utime.gen.test utimensat.gen.test utimes.gen.test vfork-f.gen.test vhangup.gen.test vmsplice.gen.test wait4.gen.test wait4-v.gen.test waitid.gen.test waitid-v.gen.test waitpid.gen.test xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test xettimeofday.gen.test
+
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_audit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_generic.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_netfilter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_route.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_selinux.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_xfrm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netlink_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_unix_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigaction.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
diff --git a/tests-m32/gen_tests.in b/tests-m32/gen_tests.in
index be0a3a23..57fd5fd9 100644
--- a/tests-m32/gen_tests.in
+++ b/tests-m32/gen_tests.in
@@ -184,8 +184,18 @@ munlockall -a13
nanosleep -a20
net-icmp_filter -e trace=getsockopt,setsockopt
net-sockaddr -a24 -e trace=connect
-netlink_protocol -e trace=%network
+netlink_audit +netlink_sock_diag.test
+netlink_generic +netlink_sock_diag.test
+netlink_netfilter +netlink_sock_diag.test
+netlink_protocol -e trace=sendto
+netlink_route +netlink_sock_diag.test
+netlink_selinux +netlink_sock_diag.test
+netlink_xfrm +netlink_sock_diag.test
newfstatat -a32 -v -P stat.sample -P /dev/full
+nlattr +netlink_sock_diag.test
+nlattr_inet_diag_msg +netlink_sock_diag.test
+nlattr_netlink_diag_msg +netlink_sock_diag.test
+nlattr_unix_diag_msg +netlink_sock_diag.test
old_mmap -a11 -e trace=mmap
oldfstat -a18 -v -P stat.sample
oldlstat -a32 -v -P stat.sample -P /dev/full
@@ -280,9 +290,13 @@ setuid -a10
setuid32 -a12
shmxt -a11 -e trace='/(osf_)?shmat,shmdt'
shutdown -a24
+sigaction -a31
siginfo -e trace=none
+signal -a25 -e signal=none -e trace='/^signal$'
signal_receive -a16 -e trace=kill
signalfd4
+sigpending -a15
+sigprocmask -a34
sigreturn -esignal='!USR1'
sigsuspend -a19 -esignal=none
socketcall -a20
diff --git a/tests-m32/getcpu.c b/tests-m32/getcpu.c
index 3cb49cb2..2b157535 100644
--- a/tests-m32/getcpu.c
+++ b/tests-m32/getcpu.c
@@ -41,16 +41,16 @@ int
main(void)
{
unsigned *bogus_cpu =
- (unsigned *) tail_alloc(sizeof(* bogus_cpu)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_cpu)) + 1;
unsigned *bogus_node =
- (unsigned *) tail_alloc(sizeof(* bogus_node)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_node)) + 1;
unsigned *bogus_tcache =
- (unsigned *) tail_alloc(sizeof(* bogus_tcache)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_tcache)) + 1;
long res;
TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, cpu);
TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, node);
- long * tcache = tail_alloc(128);
+ long *tcache = tail_alloc(128);
res = syscall(__NR_getcpu, NULL, NULL, NULL);
printf("getcpu(NULL, NULL, NULL) = %s\n", sprintrc(res));
diff --git a/tests-m32/init.sh b/tests-m32/init.sh
index 28447654..2d4d0b41 100644
--- a/tests-m32/init.sh
+++ b/tests-m32/init.sh
@@ -169,7 +169,7 @@ match_diff()
check_prog diff
- diff -- "$expected" "$output" ||
+ diff -u -- "$expected" "$output" ||
fail_ "$error"
}
@@ -366,7 +366,7 @@ else
STRACE=../strace
fi
-: "${TIMEOUT_DURATION:=120}"
+: "${TIMEOUT_DURATION:=300}"
: "${SLEEP_A_BIT:=sleep 1}"
[ -z "${VERBOSE-}" ] ||
diff --git a/tests-m32/interactive_block.test b/tests-m32/interactive_block.test
new file mode 100755
index 00000000..f8f8173f
--- /dev/null
+++ b/tests-m32/interactive_block.test
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Check that in interactive mode those signals that were blocked
+# at strace startup will remain blocked.
+
+. "${srcdir=.}/init.sh"
+
+strace0="$STRACE"
+for signo in 1 2 3 13 14 15; do
+ blocksig="../block_reset_raise_run $signo"
+ run_prog $blocksig ../umovestr
+ STRACE="$blocksig $strace0"
+ run_strace -I2 -echdir ../umovestr
+ match_diff "$LOG" "$srcdir/umovestr.expected"
+done
diff --git a/tests-m32/ioctl.c b/tests-m32/ioctl.c
index 5dc0864f..3c666b0d 100644
--- a/tests-m32/ioctl.c
+++ b/tests-m32/ioctl.c
@@ -54,7 +54,7 @@
&& defined EV_KEY
int
-main(void )
+main(void)
{
uint64_t data = 0;
diff --git a/tests-m32/ioctl_block.c b/tests-m32/ioctl_block.c
index 8e883d4b..e44c4c41 100644
--- a/tests-m32/ioctl_block.c
+++ b/tests-m32/ioctl_block.c
@@ -58,9 +58,11 @@ static struct xlat block_argless[] = {
#endif
};
-#define TEST_NULL_ARG(cmd) \
- ioctl(-1, cmd, 0); \
- printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd)
+#define TEST_NULL_ARG(cmd) \
+ do { \
+ ioctl(-1, cmd, 0); \
+ printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
+ } while (0)
int
main(void)
diff --git a/tests-m32/ioctl_evdev.c b/tests-m32/ioctl_evdev.c
index 6cbc09fe..9d16cecf 100644
--- a/tests-m32/ioctl_evdev.c
+++ b/tests-m32/ioctl_evdev.c
@@ -67,9 +67,11 @@ print_ffe_common(const struct ff_effect *const ffe, const char *const type_str)
# endif /* VERBOSE */
}
-# define TEST_NULL_ARG(cmd) \
- ioctl(-1, cmd, 0); \
- printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd)
+# define TEST_NULL_ARG(cmd) \
+ do { \
+ ioctl(-1, cmd, 0); \
+ printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
+ } while (0)
int
main(void)
diff --git a/tests-m32/ioctl_mtd.c b/tests-m32/ioctl_mtd.c
index 71d0c0d1..6a7d94a7 100644
--- a/tests-m32/ioctl_mtd.c
+++ b/tests-m32/ioctl_mtd.c
@@ -58,15 +58,17 @@ static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
(unsigned int) _IOC_NR(cmd), #cmd); \
else \
printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
- } while (0)
-
-#define TEST_erase_info_user(cmd, eiu) \
- ioctl(-1, cmd, eiu); \
- printf("ioctl(-1, MIXER_%s(%u) or %s, {start=%#x, length=%#x})" \
- " = -1 EBADF (%m)\n", \
- (_IOC_DIR(cmd) == _IOC_READ) ? "READ" : "WRITE", \
- (unsigned int) _IOC_NR(cmd), #cmd, \
- eiu->start, eiu->length)
+ } while (0)
+
+#define TEST_erase_info_user(cmd, eiu) \
+ do { \
+ ioctl(-1, cmd, eiu); \
+ printf("ioctl(-1, MIXER_%s(%u) or %s, {start=%#x, length=%#x})" \
+ " = -1 EBADF (%m)\n", \
+ (_IOC_DIR(cmd) == _IOC_READ) ? "READ" : "WRITE", \
+ (unsigned int) _IOC_NR(cmd), #cmd, \
+ eiu->start, eiu->length); \
+ } while (0)
int
main(void)
diff --git a/tests-m32/ioctl_sg_io_v3.c b/tests-m32/ioctl_sg_io_v3.c
index 3808b209..3385bca9 100644
--- a/tests-m32/ioctl_sg_io_v3.c
+++ b/tests-m32/ioctl_sg_io_v3.c
@@ -198,12 +198,12 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->status,
sg_io->masked_status,
@@ -248,12 +248,12 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->status,
sg_io->masked_status,
@@ -300,10 +300,10 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
- * (unsigned char *) (sg_io->dxferp + 3),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 3),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
@@ -348,11 +348,11 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
@@ -394,9 +394,9 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
diff --git a/tests-m32/ioctl_sg_io_v4.c b/tests-m32/ioctl_sg_io_v4.c
index 9c1e9fa0..d2f7b72c 100644
--- a/tests-m32/ioctl_sg_io_v4.c
+++ b/tests-m32/ioctl_sg_io_v4.c
@@ -189,9 +189,9 @@ main(void)
", dout_resid=%d"
", generated_tag=%#" PRI__x64 "}) = -1 EBADF (%m)\n",
sg_io->request_len,
- * (unsigned char *) ((unsigned long) sg_io->request + 0),
- * (unsigned char *) ((unsigned long) sg_io->request + 1),
- * (unsigned char *) ((unsigned long) sg_io->request + 2),
+ *(unsigned char *) ((unsigned long) sg_io->request + 0),
+ *(unsigned char *) ((unsigned long) sg_io->request + 1),
+ *(unsigned char *) ((unsigned long) sg_io->request + 2),
sg_io->request_tag,
sg_io->request_attr,
sg_io->request_priority,
@@ -201,22 +201,22 @@ main(void)
sg_io->dout_xfer_len,
sg_io->din_iovec_count,
sg_io->din_xfer_len,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->timeout,
sg_io->usr_ptr,
sg_io->response_len,
- * (unsigned char *) ((unsigned long) sg_io->response + 0),
- * (unsigned char *) ((unsigned long) sg_io->response + 1),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 0),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 1),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 2),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 3),
+ *(unsigned char *) ((unsigned long) sg_io->response + 0),
+ *(unsigned char *) ((unsigned long) sg_io->response + 1),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 0),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 1),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 2),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 3),
sg_io->driver_status,
sg_io->transport_status,
sg_io->device_status,
diff --git a/tests-m32/ioctl_sock_gifconf.c b/tests-m32/ioctl_sock_gifconf.c
index f81faef4..efa55a3a 100644
--- a/tests-m32/ioctl_sock_gifconf.c
+++ b/tests-m32/ioctl_sock_gifconf.c
@@ -105,7 +105,7 @@ print_ifconf(struct ifconf *ifc, int in_len, char *in_buf, long rc)
static void
gifconf_ioctl(int fd, struct ifconf *ifc, bool ifc_valid)
{
- const char * errstr;
+ const char *errstr;
int in_len;
char *in_buf;
long rc;
diff --git a/tests-m32/ioctl_uffdio.c b/tests-m32/ioctl_uffdio.c
index c98e4a0f..817e3c72 100644
--- a/tests-m32/ioctl_uffdio.c
+++ b/tests-m32/ioctl_uffdio.c
@@ -71,7 +71,7 @@ main(void)
api_struct->features = 0;
rc = ioctl(fd, UFFDIO_API, api_struct);
printf("ioctl(%d, UFFDIO_API, {api=0xaa, features=0, "
- "features.out=%#" PRIx64 ", " "ioctls=1<<_UFFDIO_REGISTER|"
+ "features.out=%#" PRIx64 ", ioctls=1<<_UFFDIO_REGISTER|"
"1<<_UFFDIO_UNREGISTER|1<<_UFFDIO_API",
fd, (uint64_t)api_struct->features);
api_struct->ioctls &= ~(1ull<<_UFFDIO_REGISTER|
diff --git a/tests-m32/ioctl_v4l2.c b/tests-m32/ioctl_v4l2.c
index 921e7a88..cc5dee6a 100644
--- a/tests-m32/ioctl_v4l2.c
+++ b/tests-m32/ioctl_v4l2.c
@@ -85,7 +85,7 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.pix_mp.pixelformat = magic;
f->fmt.pix_mp.field = V4L2_FIELD_NONE;
f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
- struct v4l2_plane_pix_format* cur_pix =
+ struct v4l2_plane_pix_format *cur_pix =
f->fmt.pix_mp.plane_fmt;
for (i = 0;
i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
@@ -119,8 +119,8 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.win.clips[1].c.width = 0x9e3a6fb3;
f->fmt.win.clips[1].c.height = 0x05617b76;
- f->fmt.win.bitmap = (void*) -2UL;
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+ f->fmt.win.bitmap = (void *) -2UL;
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
f->fmt.win.global_alpha = 0xce;
#endif
break;
@@ -158,7 +158,7 @@ init_v4l2_format(struct v4l2_format *const f,
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
f->fmt.sdr.pixelformat = magic;
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
f->fmt.sdr.buffersize = 0x25afabfb;
#endif
break;
@@ -168,8 +168,8 @@ init_v4l2_format(struct v4l2_format *const f,
static void
dprint_ioctl_v4l2(struct v4l2_format *const f,
- const char* request, const unsigned int buf_type,
- const char* buf_type_string)
+ const char *request, const unsigned int buf_type,
+ const char *buf_type_string)
{
switch (buf_type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
@@ -225,7 +225,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
"[{left=%d, top=%d, width=%u, height=%u}, "
"{left=%d, top=%d, width=%u, height=%u}]"
", clipcount=%u, bitmap=%p"
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
", global_alpha=%#x"
#endif
"}}) = -1 EBADF (%m)\n",
@@ -243,7 +243,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
f->fmt.win.clips[1].c.width,
f->fmt.win.clips[1].c.height,
f->fmt.win.clipcount, f->fmt.win.bitmap
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
, f->fmt.win.global_alpha
#endif
);
@@ -304,14 +304,14 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
printf("ioctl(-1, %s, {type=%s"
", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
" '\\x%x', '\\x%x')"
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
", buffersize=%u"
#endif
"}}) = -1 EBADF (%m)\n",
request,
buf_type_string,
cc0(magic), cc1(magic), cc2(magic), cc3(magic)
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
, f->fmt.sdr.buffersize
#endif
);
@@ -319,12 +319,11 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
#endif
}
}
-#define print_ioctl_v4l2(v4l2_format, request, buf_type) do { \
- dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type); \
-} while (0)
+#define print_ioctl_v4l2(v4l2_format, request, buf_type) \
+ dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type)
int
-main(void )
+main(void)
{
const unsigned int size = get_page_size();
void *const page = tail_alloc(size);
@@ -689,7 +688,7 @@ main(void )
TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_tuner, p_tuner);
p_tuner->index = 0x4fb6df39;
- strcpy((char*)p_tuner->name, "cum tacent clamant");
+ strcpy((char *) p_tuner->name, "cum tacent clamant");
p_tuner->type = V4L2_TUNER_RADIO;
p_tuner->capability = V4L2_TUNER_CAP_LOW;
p_tuner->rangelow = 0xa673bc29;
diff --git a/tests-m32/ip_mreq.c b/tests-m32/ip_mreq.c
index 4bcda09f..4bfe00f3 100644
--- a/tests-m32/ip_mreq.c
+++ b/tests-m32/ip_mreq.c
@@ -101,7 +101,7 @@ main(void)
short_any[i].optval, 1);
printf("setsockopt(0, %s, %s, \"\\%hho\", 1) = %s\n",
short_any[i].str_level, short_any[i].str_optname,
- * (unsigned char *) short_any[i].optval,
+ *(unsigned char *) short_any[i].optval,
sprintrc(rc));
rc = setsockopt(0, short_any[i].level, short_any[i].optname,
@@ -139,7 +139,7 @@ main(void)
rc = setsockopt(0, SOL_IPV6, long_ipv6[i].optname,
m6, sizeof(*m6));
printf("setsockopt(0, SOL_IPV6, %s"
- ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
+ ", {inet_pton(AF_INET6, \"%s\", &ipv6mr_multiaddr)"
", ipv6mr_interface=if_nametoindex(\"lo\")}"
", %u) = %s\n",
long_ipv6[i].str_optname, multi6addr,
diff --git a/tests-m32/ipc_msgbuf.c b/tests-m32/ipc_msgbuf.c
index 1c34494d..9d149fa5 100644
--- a/tests-m32/ipc_msgbuf.c
+++ b/tests-m32/ipc_msgbuf.c
@@ -45,7 +45,7 @@ cleanup(void)
}
int
-main (void)
+main(void)
{
const long mtype = 0xdefaced;
struct {
diff --git a/tests-m32/ipc_sem.c b/tests-m32/ipc_sem.c
index 0b730c11..c8832726 100644
--- a/tests-m32/ipc_sem.c
+++ b/tests-m32/ipc_sem.c
@@ -37,10 +37,10 @@
#include "xlat/resource_flags.h"
union semun {
- int val; /* Value for SETVAL */
- struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
- unsigned short *array; /* Array for GETALL, SETALL */
- struct seminfo *__buf; /* Buffer for IPC_INFO
+ int val; /* Value for SETVAL */
+ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
+ unsigned short *array; /* Array for GETALL, SETALL */
+ struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};
diff --git a/tests-m32/kexec_file_load.c b/tests-m32/kexec_file_load.c
index c939e4f2..7a9b64b3 100644
--- a/tests-m32/kexec_file_load.c
+++ b/tests-m32/kexec_file_load.c
@@ -45,7 +45,7 @@ struct strval {
const char *str;
};
-#define CMDLINE_STR "deadcodebaddatadefaced";
+#define CMDLINE_STR "deadcodebaddatadefaced"
int
main(void)
diff --git a/tests-m32/keyctl.c b/tests-m32/keyctl.c
index 2e26076b..492c62a3 100644
--- a/tests-m32/keyctl.c
+++ b/tests-m32/keyctl.c
@@ -74,7 +74,7 @@ static const size_t limit = 10;
* significantly breaking interface.
*/
bool nul_terminated_buf = true;
-bool buf_in_arg = false;
+bool buf_in_arg;
/*
* When this is called with positive size, the buffer provided is an "out"
diff --git a/tests-m32/ksysent.c b/tests-m32/ksysent.c
index f5986643..860e21e4 100644
--- a/tests-m32/ksysent.c
+++ b/tests-m32/ksysent.c
@@ -53,7 +53,7 @@
#define SI 0
#define SE 0
#define CST 0
-#define SEN(arg) 0,0
+#define SEN(arg) 0, 0
static const struct_sysent syscallent[] = {
#include "syscallent.h"
diff --git a/tests-m32/mincore.c b/tests-m32/mincore.c
index ea2b49e3..0ede687d 100644
--- a/tests-m32/mincore.c
+++ b/tests-m32/mincore.c
@@ -29,8 +29,6 @@
#include <stdio.h>
#include <sys/mman.h>
-#define DEFAULT_STRLEN 32
-
static void
print_mincore(const unsigned int pages, void *const addr,
const size_t size, unsigned char *const vec)
diff --git a/tests-m32/mmsg.c b/tests-m32/mmsg.c
index 88805d16..a5cf0e79 100644
--- a/tests-m32/mmsg.c
+++ b/tests-m32/mmsg.c
@@ -113,14 +113,16 @@ main(void)
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c),
w1_c, LENGTH_OF(w1_c),
- ARRAY_SIZE(w0_iov_),
+ (unsigned int) ARRAY_SIZE(w0_iov_),
LENGTH_OF(w0_c) + LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w1_iov_),
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w1_iov_),
LENGTH_OF(w2_c),
n_w_mmh, r,
- ARRAY_SIZE(w0_iov_), LENGTH_OF(w0_c), w0_d, w0_c,
+ (unsigned int) ARRAY_SIZE(w0_iov_),
+ LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c,
- ARRAY_SIZE(w1_iov_), LENGTH_OF(w2_c), w2_d, w2_c);
+ (unsigned int) ARRAY_SIZE(w1_iov_),
+ LENGTH_OF(w2_c), w2_d, w2_c);
const unsigned int w_len =
LENGTH_OF(w0_c) + LENGTH_OF(w1_c) + LENGTH_OF(w2_c);
@@ -184,11 +186,14 @@ main(void)
" = %u buffers in vector 1\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c),
- r1_c, r_len, r_len, ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ LENGTH_OF(r0_c), r1_c, r_len, r_len,
+ (unsigned int) ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
n_r_mmh, r,
- ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c), r0_d, r0_c,
- ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c), r1_d, r1_c);
+ (unsigned int) ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c),
+ r0_d, r0_c,
+ (unsigned int) ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
+ r1_d, r1_c);
tprintf("+++ exited with 0 +++\n");
return 0;
diff --git a/tests-m32/mmsg_name.c b/tests-m32/mmsg_name.c
index a7a55c55..ad5a482d 100644
--- a/tests-m32/mmsg_name.c
+++ b/tests-m32/mmsg_name.c
@@ -40,8 +40,6 @@
#include "msghdr.h"
-#define DEFAULT_STRLEN 32
-
#define IOV_MAX1 (IOV_MAX + 1)
#ifndef TEST_NAME
@@ -77,7 +75,7 @@ print_msghdr(const struct msghdr *const msg, const int user_msg_namelen)
}
printf("%d, msg_iov=[{iov_base=\"%c\", iov_len=1}]"
", msg_iovlen=1, msg_controllen=0, msg_flags=0}",
- (int) msg->msg_namelen, * (char *) msg->msg_iov[0].iov_base);
+ (int) msg->msg_namelen, *(char *) msg->msg_iov[0].iov_base);
}
static void
diff --git a/tests-m32/mq.c b/tests-m32/mq.c
index ee2d059d..cf1b7308 100644
--- a/tests-m32/mq.c
+++ b/tests-m32/mq.c
@@ -39,7 +39,7 @@
# include <sys/stat.h>
int
-main (void)
+main(void)
{
struct mq_attr attr;
(void) close(0);
diff --git a/tests-m32/mq_sendrecv.c b/tests-m32/mq_sendrecv.c
index e3ad0d50..f6f6bd29 100644
--- a/tests-m32/mq_sendrecv.c
+++ b/tests-m32/mq_sendrecv.c
@@ -228,7 +228,7 @@ main(void)
static const struct timespec future_tmout_data = {
.tv_sec = (time_t) 0x7ea1fade7e57faceLL,
.tv_nsec = 999999999,
- };;
+ };
struct_sigevent bogus_sev_data = {
.sigev_notify = 0xdefaced,
.sigev_signo = 0xfacefeed,
@@ -437,7 +437,7 @@ main(void)
bogus_attrs[1] = 2;
bogus_attrs[2] = MSG_SIZE;
fd = rc = syscall(__NR_mq_open, mq_name,
- O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
+ O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
errstr = sprintrc(rc);
if (rc < 0)
perror_msg_and_skip("mq_open");
diff --git a/tests-m32/msg_control.c b/tests-m32/msg_control.c
index 1e64f1ab..b63f2d04 100644
--- a/tests-m32/msg_control.c
+++ b/tests-m32/msg_control.c
@@ -40,6 +40,9 @@
#include <netinet/in.h>
#include <arpa/inet.h>
+#include "xlat.h"
+#include "xlat/scmvals.h"
+
#ifndef SOL_IP
# define SOL_IP 0
#endif
@@ -60,8 +63,6 @@ get_cmsghdr(void *const page, const size_t len)
return page - CMSG_ALIGN(len);
}
-#define DEFAULT_STRLEN 32
-
static void
print_fds(const struct cmsghdr *const cmsg, const size_t cmsg_len)
{
@@ -230,6 +231,152 @@ test_scm_rights3(struct msghdr *const mh, void *const page, const size_t nfds)
}
static void
+test_scm_timestamp(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(sizeof(struct timeval));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timeval));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMP;
+ struct timeval *tv = (struct timeval *) CMSG_DATA(cmsg);
+ tv->tv_sec = 123456789;
+ tv->tv_usec = 987654;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMP"
+ ", cmsg_data={tv_sec=%lld, tv_usec=%llu}}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (long long) tv->tv_sec, zero_extend_signed_to_ull(tv->tv_usec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(sizeof(struct timeval) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timeval) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMP;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMP, cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
+test_scm_timestampns(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(sizeof(struct timespec));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timespec));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPNS;
+ struct timespec *ts = (struct timespec *) CMSG_DATA(cmsg);
+ ts->tv_sec = 123456789;
+ ts->tv_nsec = 987654321;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPNS"
+ ", cmsg_data={tv_sec=%lld, tv_nsec=%llu}}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(sizeof(struct timespec) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timespec) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPNS;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPNS"
+ ", cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
+test_scm_timestamping(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(3 * sizeof(struct timespec));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(3 * sizeof(struct timespec));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPING;
+ struct timespec *ts = (struct timespec *) CMSG_DATA(cmsg);
+ ts[0].tv_sec = 123456789;
+ ts[0].tv_nsec = 987654321;
+ ts[1].tv_sec = 123456790;
+ ts[1].tv_nsec = 987654320;
+ ts[2].tv_sec = 123456791;
+ ts[2].tv_nsec = 987654319;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPING"
+ ", cmsg_data=[{tv_sec=%lld, tv_nsec=%llu}"
+ ", {tv_sec=%lld, tv_nsec=%llu}, {tv_sec=%lld, tv_nsec=%llu}]}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len, (long long) ts[0].tv_sec,
+ zero_extend_signed_to_ull(ts[0].tv_nsec),
+ (long long) ts[1].tv_sec,
+ zero_extend_signed_to_ull(ts[1].tv_nsec),
+ (long long) ts[2].tv_sec,
+ zero_extend_signed_to_ull(ts[2].tv_nsec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(3 * sizeof(struct timespec) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(3 * sizeof(struct timespec) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPING;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPING"
+ ", cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
print_security(const struct cmsghdr *const cmsg, const size_t cmsg_len)
{
int n = cmsg_len > CMSG_LEN(0) ? cmsg_len - CMSG_LEN(0) : 0;
@@ -378,12 +525,16 @@ test_sol_socket(struct msghdr *const mh, void *const page)
test_scm_rights3(mh, page, DEFAULT_STRLEN);
test_scm_rights3(mh, page, DEFAULT_STRLEN + 1);
+ test_scm_timestamp(mh, page);
+ test_scm_timestampns(mh, page);
+ test_scm_timestamping(mh, page);
+
test_unknown_type(mh, page, ARG_STR(SOL_SOCKET), "SCM_???");
}
static void
test_ip_pktinfo(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(sizeof(struct in_pktinfo));
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
@@ -448,7 +599,7 @@ test_ip_uint(struct msghdr *const mh, void *const page,
static void
test_ip_uint8_t(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(1);
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
@@ -530,7 +681,7 @@ struct sock_ee {
static void
test_ip_recverr(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(sizeof(struct sock_ee));
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
diff --git a/tests-m32/net-accept-connect.c b/tests-m32/net-accept-connect.c
index 04c05a60..0050eeb4 100644
--- a/tests-m32/net-accept-connect.c
+++ b/tests-m32/net-accept-connect.c
@@ -69,7 +69,7 @@ main(int ac, const char **av)
if (listen(0, 5))
perror_msg_and_skip("listen");
- memset(&addr, 0, sizeof addr);
+ memset(&addr, 0, sizeof(addr));
assert(getsockname(0, (struct sockaddr *) &addr, &len) == 0);
if (len > sizeof(addr))
len = sizeof(addr);
diff --git a/tests-m32/net-sockaddr.c b/tests-m32/net-sockaddr.c
index 9dc9ecf5..1d9bac39 100644
--- a/tests-m32/net-sockaddr.c
+++ b/tests-m32/net-sockaddr.c
@@ -37,11 +37,11 @@
#include <sys/un.h>
#include <arpa/inet.h>
#include <netinet/in.h>
+#include "netlink.h"
#include <linux/if_arp.h>
#include <linux/if_ether.h>
#include <linux/if_packet.h>
#include <linux/ipx.h>
-#include <linux/netlink.h>
#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
# include <bluetooth/bluetooth.h>
# include <bluetooth/hci.h>
diff --git a/tests-m32/net-y-unix.c b/tests-m32/net-y-unix.c
index df56ad64..fbdf5900 100644
--- a/tests-m32/net-y-unix.c
+++ b/tests-m32/net-y-unix.c
@@ -182,7 +182,7 @@ main(void)
perror_msg_and_fail("accept");
accept_inode = inode_of_sockfd(accept_fd);
const char * const sun_path1 =
- ((struct sockaddr_un *) accept_sa) -> sun_path + 1;
+ ((struct sockaddr_un *) accept_sa)->sun_path + 1;
printf("accept(%d<socket:[%lu]>, {sa_family=AF_UNIX"
", sun_path=@\"%s\"}, [%d->%d]) = %d<socket:[%lu]>\n",
listen_fd, listen_inode, sun_path1,
diff --git a/tests-m32/net-yy-inet.c b/tests-m32/net-yy-inet.c
index af1262ee..c043920d 100644
--- a/tests-m32/net-yy-inet.c
+++ b/tests-m32/net-yy-inet.c
@@ -74,7 +74,7 @@ main(void)
if (getsockname(listen_fd, listen_sa, len))
perror_msg_and_fail("getsockname");
const unsigned int listen_port =
- ntohs(((struct sockaddr_in *) listen_sa) -> sin_port);
+ ntohs(((struct sockaddr_in *) listen_sa)->sin_port);
printf("getsockname(%d<TCP:[127.0.0.1:%u]>, {sa_family=AF_INET"
", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}"
", [%u]) = 0\n",
@@ -109,7 +109,7 @@ main(void)
if (accept_fd < 0)
perror_msg_and_fail("accept");
const unsigned int connect_port =
- ntohs(((struct sockaddr_in *) accept_sa) -> sin_port);
+ ntohs(((struct sockaddr_in *) accept_sa)->sin_port);
printf("accept(%d<TCP:[127.0.0.1:%u]>, {sa_family=AF_INET"
", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}"
", [%u]) = %d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>\n",
diff --git a/tests-m32/net-yy-netlink.c b/tests-m32/net-yy-netlink.c
index 6539edab..8ccf5bc0 100644
--- a/tests-m32/net-yy-netlink.c
+++ b/tests-m32/net-yy-netlink.c
@@ -36,14 +36,10 @@
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/netlink_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
int
main(void)
{
diff --git a/tests-m32/net-yy-unix.c b/tests-m32/net-yy-unix.c
index f27cdc07..21822db9 100644
--- a/tests-m32/net-yy-unix.c
+++ b/tests-m32/net-yy-unix.c
@@ -185,7 +185,7 @@ main(void)
perror_msg_and_fail("accept");
accept_inode = inode_of_sockfd(accept_fd);
const char * const sun_path1 =
- ((struct sockaddr_un *) accept_sa) -> sun_path + 1;
+ ((struct sockaddr_un *) accept_sa)->sun_path + 1;
printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
", sun_path=@\"%s\"}, [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
listen_fd, listen_inode, TEST_SOCKET, sun_path1,
diff --git a/tests-m32/netlink_audit.c b/tests-m32/netlink_audit.c
new file mode 100644
index 00000000..00ddc4f3
--- /dev/null
+++ b/tests-m32/netlink_audit.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <linux/audit.h>
+#include "netlink.h"
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = AUDIT_GET,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=AUDIT_GET"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_AUDIT);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-m32/netlink_audit.gen.test b/tests-m32/netlink_audit.gen.test
new file mode 100755
index 00000000..65110672
--- /dev/null
+++ b/tests-m32/netlink_audit.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_audit +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/netlink_generic.c b/tests-m32/netlink_generic.c
new file mode 100644
index 00000000..4f80c8b5
--- /dev/null
+++ b/tests-m32/netlink_generic.c
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* This test case is based on netlink_selinux.c */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_GENETLINK_H
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+# include <sys/socket.h>
+# include "netlink.h"
+# include <linux/genetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ /*
+ * Though GENL_ID_CTRL number is statically fixed in this test case,
+ * strace does not have a builtin knowledge that the corresponding
+ * string is "nlctrl".
+ */
+ long rc;
+ struct {
+ const struct nlmsghdr nlh;
+ struct genlmsghdr gnlh;
+ } req = {
+ .nlh = {
+ .nlmsg_len = sizeof(req),
+ .nlmsg_type = GENL_ID_CTRL,
+ .nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST
+ },
+ .gnlh = {
+ .cmd = CTRL_CMD_GETFAMILY
+ }
+ };
+
+ rc = sendto(fd, &req, sizeof(req), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=nlctrl"
+ ", flags=NLM_F_REQUEST|0x300, seq=0, pid=0}"
+ ", \"\\3\\0\\0\\0\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, req.nlh.nlmsg_len,
+ (unsigned int) sizeof(req), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_GENERIC);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_GENETLINK_H")
+
+#endif
diff --git a/tests-m32/netlink_generic.gen.test b/tests-m32/netlink_generic.gen.test
new file mode 100755
index 00000000..e51f15ce
--- /dev/null
+++ b/tests-m32/netlink_generic.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_generic +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/netlink_inet_diag.c b/tests-m32/netlink_inet_diag.c
index 2332e203..5f68cb3c 100644
--- a/tests-m32/netlink_inet_diag.c
+++ b/tests-m32/netlink_inet_diag.c
@@ -32,7 +32,7 @@
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/inet_diag.h>
diff --git a/tests-m32/netlink_netfilter.c b/tests-m32/netlink_netfilter.c
new file mode 100644
index 00000000..2907c261
--- /dev/null
+++ b/tests-m32/netlink_netfilter.c
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_NETFILTER_NFNETLINK_H
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+# include <sys/socket.h>
+# include "netlink.h"
+# include <linux/netfilter/nfnetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+# ifdef NFNL_MSG_BATCH_BEGIN
+ nlh.nlmsg_type = NFNL_MSG_BATCH_BEGIN;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_MSG_BATCH_BEGIN"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8) | NFNL_MSG_BATCH_BEGIN;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|%#x"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NFNL_MSG_BATCH_BEGIN,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+# endif
+
+ nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8);
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|0"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_NETFILTER);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_NETFILTER_NFNETLINK_H")
+
+#endif
diff --git a/tests-m32/netlink_netfilter.gen.test b/tests-m32/netlink_netfilter.gen.test
new file mode 100755
index 00000000..fffb72b4
--- /dev/null
+++ b/tests-m32/netlink_netfilter.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_netfilter +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/netlink_netlink_diag.c b/tests-m32/netlink_netlink_diag.c
index fc32822b..d7e83f5c 100644
--- a/tests-m32/netlink_netlink_diag.c
+++ b/tests-m32/netlink_netlink_diag.c
@@ -33,14 +33,10 @@
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/netlink_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
static void
send_query(const int fd)
{
diff --git a/tests-m32/netlink_protocol.c b/tests-m32/netlink_protocol.c
index 35f954fd..f09dd9a9 100644
--- a/tests-m32/netlink_protocol.c
+++ b/tests-m32/netlink_protocol.c
@@ -38,14 +38,10 @@
# include <unistd.h>
# include <sys/xattr.h>
# include <netinet/in.h>
-# include <linux/netlink.h>
+# include "netlink.h"
# include <linux/sock_diag.h>
# include <linux/netlink_diag.h>
-# if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-# endif
-
static void
send_query(const int fd)
{
@@ -100,8 +96,8 @@ send_query(const int fd)
/* a single message without data */
req->nlh.nlmsg_len = sizeof(req->nlh);
rc = sendto(fd, &req->nlh, sizeof(req->nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(req->nlh), sprintrc(rc));
@@ -116,8 +112,8 @@ send_query(const int fd)
/* nlmsg_len < sizeof(struct nlmsghdr) */
req->nlh.nlmsg_len = 8;
rc = sendto(fd, req, sizeof(*req), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(*req), sprintrc(rc));
@@ -165,15 +161,14 @@ send_query(const int fd)
reqs->req2.nlh.nlmsg_len = 4;
rc = sendto(fd, reqs, sizeof(*reqs), MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, [{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}, \"abcd\"}, {{len=%u, type=NLMSG_NOOP"
- ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}}], %u"
+ ", seq=0, pid=0}, \"abcd\"}, {len=%u, type=NLMSG_NOOP"
+ ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}], %u"
", MSG_DONTWAIT, NULL, 0) = %s\n",
fd, reqs->req1.nlh.nlmsg_len, NLM_F_DUMP,
reqs->req2.nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(*reqs), sprintrc(rc));
/* abbreviated output */
-# define DEFAULT_STRLEN 32
# define ABBREV_LEN (DEFAULT_STRLEN + 1)
const unsigned int msg_len = sizeof(struct nlmsghdr) * ABBREV_LEN;
struct nlmsghdr *const msgs = tail_alloc(msg_len);
@@ -192,8 +187,8 @@ send_query(const int fd)
for (i = 0; i < DEFAULT_STRLEN; ++i) {
if (i)
printf(", ");
- printf("{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=0}}",
+ printf("{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=0}",
msgs[i].nlmsg_len, NLM_F_DUMP, msgs[i].nlmsg_seq);
}
printf(", ...], %u, MSG_DONTWAIT, NULL, 0) = %s\n", msg_len, errstr);
@@ -281,8 +276,8 @@ test_nlmsgerr(const int fd)
rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
", seq=0, pid=0}, {error=-EACCES"
- ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=%u}}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
err->msg.nlmsg_seq, err->msg.nlmsg_pid,
nlh->nlmsg_len, sprintrc(rc));
@@ -314,24 +309,58 @@ test_nlmsgerr(const int fd)
nlh->nlmsg_len, sprintrc(rc));
}
-int main(void)
+static void
+test_nlmsg_done(const int fd)
{
- struct sockaddr_nl addr;
- socklen_t len = sizeof(addr);
- int fd;
+ struct nlmsghdr *nlh;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+ const int num = 0xfacefeed;
- memset(&addr, 0, sizeof(addr));
- addr.nl_family = AF_NETLINK;
+ /* NLMSG_DONE message without enough room for an integer payload */
+ nlh = nlh0;
+ *nlh = (struct nlmsghdr) {
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(num),
+ .nlmsg_type = NLMSG_DONE,
+ .nlmsg_flags = NLM_F_MULTI
+ };
- if ((fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG)) == -1)
- perror_msg_and_skip("socket AF_NETLINK");
+ rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, %p}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+ nlh->nlmsg_len, sprintrc(rc));
- printf("socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG) = %d\n",
- fd);
- if (bind(fd, (struct sockaddr *) &addr, len))
- perror_msg_and_skip("bind");
- printf("bind(%d, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}"
- ", %u) = 0\n", fd, len);
+ /* NLMSG_DONE message with enough room for an oddly short payload */
+ nlh->nlmsg_len = NLMSG_HDRLEN + 2;
+ nlh = nlh0 - 2;
+ /* Beware of unaligned access to nlh members. */
+ memmove(nlh, nlh0, sizeof(*nlh));
+ memcpy(NLMSG_DATA(nlh), "42", 2);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + 2, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, \"42\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + 2, NLMSG_HDRLEN + 2, sprintrc(rc));
+
+ /* NLMSG_DONE message with enough room for an integer payload */
+ nlh = nlh0 - sizeof(num);
+ *nlh = (struct nlmsghdr) {
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(num),
+ .nlmsg_type = NLMSG_DONE,
+ .nlmsg_flags = NLM_F_MULTI
+ };
+ memcpy(NLMSG_DATA(nlh), &num, sizeof(num));
+
+ rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, %d}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh->nlmsg_len, num, nlh->nlmsg_len, sprintrc(rc));
+}
+
+int main(void)
+{
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
char *path;
if (asprintf(&path, "/proc/self/fd/%u", fd) < 0)
@@ -343,9 +372,9 @@ int main(void)
send_query(fd);
test_nlmsgerr(fd);
+ test_nlmsg_done(fd);
- printf("+++ exited with 0 +++\n");
-
+ puts("+++ exited with 0 +++");
return 0;
}
diff --git a/tests-m32/netlink_protocol.gen.test b/tests-m32/netlink_protocol.gen.test
index 9a132faf..18d06677 100755
--- a/tests-m32/netlink_protocol.gen.test
+++ b/tests-m32/netlink_protocol.gen.test
@@ -1,4 +1,4 @@
#!/bin/sh -efu
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=%network); do not edit.
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=sendto); do not edit.
. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=%network
+run_strace_match_diff -e trace=sendto
diff --git a/tests-m32/netlink_route.c b/tests-m32/netlink_route.c
new file mode 100644
index 00000000..54a54b7e
--- /dev/null
+++ b/tests-m32/netlink_route.c
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = RTM_GETLINK,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ };
+
+ nlh.nlmsg_type = RTM_GETLINK;
+ nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_DELACTION;
+ nlh.nlmsg_flags = NLM_F_ROOT;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_DELACTION"
+ ", flags=NLM_F_ROOT, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_NEWLINK;
+ nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_NEWLINK"
+ ", flags=NLM_F_ECHO|NLM_F_REPLACE, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_DELLINK;
+ nlh.nlmsg_flags = NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_DELLINK"
+ ", flags=%#x /* NLM_F_??? */, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NLM_F_REPLACE,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_ROUTE);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-m32/netlink_route.gen.test b/tests-m32/netlink_route.gen.test
new file mode 100755
index 00000000..298dbf1a
--- /dev/null
+++ b/tests-m32/netlink_route.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_route +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/netlink_selinux.c b/tests-m32/netlink_selinux.c
new file mode 100644
index 00000000..6494fda9
--- /dev/null
+++ b/tests-m32/netlink_selinux.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/selinux_netlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SELNL_MSG_SETENFORCE,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SELNL_MSG_SETENFORCE"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_SELINUX);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-m32/netlink_selinux.gen.test b/tests-m32/netlink_selinux.gen.test
new file mode 100755
index 00000000..a8871d6d
--- /dev/null
+++ b/tests-m32/netlink_selinux.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_selinux +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/netlink_sock_diag.c b/tests-m32/netlink_sock_diag.c
new file mode 100644
index 00000000..b8d01904
--- /dev/null
+++ b/tests-m32/netlink_sock_diag.c
@@ -0,0 +1,1606 @@
+/*
+ * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <netinet/tcp.h>
+#include "netlink.h"
+#include <linux/if_ether.h>
+#include <linux/inet_diag.h>
+#include <linux/netlink_diag.h>
+#include <linux/packet_diag.h>
+#ifdef AF_SMC
+# include <linux/smc_diag.h>
+#endif
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+#define SMC_ACTIVE 1
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_odd_family_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* unspecified family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=AF_UNSPEC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unknown family only */
+ *family = 0xff;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=0xff /* AF_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* short read of family */
+ memmove(nlh0, nlh, NLMSG_HDRLEN);
+ nlh = nlh0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, %p}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_DATA(nlh),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unspecified family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=AF_UNSPEC, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unknown family and string */
+ *family = 0xfd;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=0xfd /* AF_??? */, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+}
+
+static void
+test_odd_family_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* unspecified family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=AF_UNSPEC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unknown family only */
+ *family = 0xff;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=0xff /* AF_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* short read of family */
+ memmove(nlh0, nlh, NLMSG_HDRLEN);
+ nlh = nlh0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, %p}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_DATA(nlh),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unspecified family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=AF_UNSPEC, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unknown family and string */
+ *family = 0xfb;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=0xfb /* AF_??? */, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+}
+
+static void
+test_unix_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct unix_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_UNIX}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_UNIX, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unix_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct unix_diag_req) {
+ .sdiag_family = AF_UNIX,
+ .sdiag_protocol = 253,
+ .udiag_states = 1 << TCP_ESTABLISHED | 1 << TCP_LISTEN,
+ .udiag_ino = 0xfacefeed,
+ .udiag_show = UDIAG_SHOW_NAME,
+ .udiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_UNIX, sdiag_protocol=%u"
+ ", udiag_states=1<<TCP_ESTABLISHED|1<<TCP_LISTEN, udiag_ino=%u"
+ ", udiag_show=UDIAG_SHOW_NAME, udiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 253, 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of unix_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {sdiag_family=AF_UNIX, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_unix_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct unix_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_UNIX}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unix_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct unix_diag_msg) {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1,
+ .udiag_ino = 0xfacefeed,
+ .udiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, udiag_type=SOCK_STREAM"
+ ", udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=%u, udiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of unix_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_netlink_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct netlink_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_NETLINK}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* netlink_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct netlink_diag_req) {
+ .sdiag_family = AF_NETLINK,
+ .sdiag_protocol = NDIAG_PROTO_ALL,
+ .ndiag_ino = 0xfacefeed,
+ .ndiag_show = NDIAG_SHOW_MEMINFO,
+ .ndiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, sdiag_protocol=NDIAG_PROTO_ALL"
+ ", ndiag_ino=%u, ndiag_show=NDIAG_SHOW_MEMINFO"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ req->sdiag_protocol = NETLINK_ROUTE;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, sdiag_protocol=NETLINK_ROUTE"
+ ", ndiag_ino=%u, ndiag_show=NDIAG_SHOW_MEMINFO"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of netlink_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_netlink_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct netlink_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_NETLINK}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {ndiag_family=AF_NETLINK, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* netlink_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct netlink_diag_msg) {
+ .ndiag_family = AF_NETLINK,
+ .ndiag_type = SOCK_RAW,
+ .ndiag_protocol = NETLINK_ROUTE,
+ .ndiag_state = NETLINK_CONNECTED,
+ .ndiag_portid = 0xbadc0ded,
+ .ndiag_dst_portid = 0xdeadbeef,
+ .ndiag_dst_group = 0xfacefeed,
+ .ndiag_ino = 0xdaeefacd,
+ .ndiag_cookie = { 0xbadc0ded, 0xdeadbeef }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {ndiag_family=AF_NETLINK"
+ ", ndiag_type=SOCK_RAW, ndiag_protocol=NETLINK_ROUTE"
+ ", ndiag_state=NETLINK_CONNECTED, ndiag_portid=%u"
+ ", ndiag_dst_portid=%u, ndiag_dst_group=%u, ndiag_ino=%u"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xbadc0ded, 0xdeadbeef, 0xfacefeed,
+ 0xdaeefacd, 0xbadc0ded, 0xdeadbeef,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of netlink_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {ndiag_family=AF_NETLINK, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_packet_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct packet_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_PACKET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* packet_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct packet_diag_req) {
+ .sdiag_family = AF_PACKET,
+ .sdiag_protocol = ETH_P_LOOP,
+ .pdiag_ino = 0xfacefeed,
+ .pdiag_show = PACKET_SHOW_INFO,
+ .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, sdiag_protocol=ETH_P_LOOP"
+ ", pdiag_ino=%u, pdiag_show=PACKET_SHOW_INFO"
+ ", pdiag_cookie=[%u, %u]}}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of packet_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_packet_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct packet_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_PACKET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* packet_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct packet_diag_msg) {
+ .pdiag_family = AF_PACKET,
+ .pdiag_type = SOCK_STREAM,
+ .pdiag_num = 0xbadc,
+ .pdiag_ino = 0xfacefeed,
+ .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM"
+ ", pdiag_num=%u, pdiag_ino=%u, pdiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xbadc, 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of packet_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_sockid(const int fd)
+{
+ const char address[] = "12.34.56.78";
+ const char address6[] = "12:34:56:78:90:ab:cd:ef";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req_v2 *req;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ nlh = nlh0 - sizeof(*req);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req_v2) {
+ .sdiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_CONG - 1),
+ .sdiag_protocol = IPPROTO_TCP,
+ .idiag_states = 1 << TCP_CLOSE,
+ .id = {
+ .idiag_sport = 0xfacd,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ req->sdiag_family = AF_INET6;
+ if (!inet_pton(AF_INET6, address6, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET6, address6, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET6, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET6, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET6, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address6, address6,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_req(const int fd)
+{
+ const char address[] = "12.34.56.78";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req) {
+ .idiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_TOS - 1),
+ .idiag_src_len = 0xde,
+ .idiag_dst_len = 0xba,
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ .idiag_states = 1 << TCP_LAST_ACK,
+ .idiag_dbs = 0xfacefeed,
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, idiag_src_len=%u"
+ ", idiag_dst_len=%u, idiag_ext=1<<(INET_DIAG_TOS-1)"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", idiag_states=1<<TCP_LAST_ACK, idiag_dbs=%u}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xde, 0xba, ntohs(0xdead), ntohs(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded, 0xfacefeed,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of inet_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_req_v2(const int fd)
+{
+ const char address[] = "87.65.43.21";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req_v2 *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_req_v2 */
+ nlh = nlh0 - sizeof(*req);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req_v2) {
+ .sdiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_CONG - 1),
+ .sdiag_protocol = IPPROTO_TCP,
+ .idiag_states = 1 << TCP_CLOSE,
+ .id = {
+ .idiag_sport = 0xfacd,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of inet_diag_req_v2 */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_msg(const int fd)
+{
+ const char address[] = "11.22.33.44";
+ struct nlmsghdr *nlh;
+ struct inet_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct inet_diag_msg) {
+ .idiag_family = AF_INET,
+ .idiag_state = TCP_LISTEN,
+ .idiag_timer = 0xfa,
+ .idiag_retrans = 0xde,
+ .id = {
+ .idiag_sport = 0xfacf,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ .idiag_expires = 0xfacefeed,
+ .idiag_rqueue = 0xdeadbeef,
+ .idiag_wqueue = 0xadcdfafc,
+ .idiag_uid = 0xdecefaeb,
+ .idiag_inode = 0xbadc0ded,
+ };
+
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, idiag_state=TCP_LISTEN"
+ ", idiag_timer=%u, idiag_retrans=%u"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", idiag_expires=%u, idiag_rqueue=%u, idiag_wqueue=%u"
+ ", idiag_uid=%u, idiag_inode=%u}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xfa, 0xde, ntohs(0xfacf), ntohs(0xdead),
+ address, address, 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ 0xfacefeed, 0xdeadbeef, 0xadcdfafc, 0xdecefaeb, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of inet_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+#ifdef AF_SMC
+static void
+test_smc_diag_req(const int fd)
+{
+ const char address[] = "43.21.56.78";
+ struct nlmsghdr *nlh;
+ struct smc_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_SMC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* smc_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct smc_diag_req) {
+ .diag_family = AF_SMC,
+ .diag_ext = 1 << (SMC_DIAG_CONNINFO - 1),
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded },
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {diag_family=AF_SMC"
+ ", diag_ext=1<<(SMC_DIAG_CONNINFO-1)"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ htons(0xdead), htons(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of smc_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_smc_diag_msg(const int fd)
+{
+ const char address[] = "34.87.12.90";
+ struct nlmsghdr *nlh;
+ struct smc_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_SMC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* smc_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct smc_diag_msg) {
+ .diag_family = AF_SMC,
+ .diag_state = SMC_ACTIVE,
+ .diag_fallback = 0xde,
+ .diag_shutdown = 0xba,
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded },
+ },
+ .diag_uid = 0xadcdfafc,
+ .diag_inode = 0xbadc0ded,
+ };
+
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {diag_family=AF_SMC"
+ ", diag_state=SMC_ACTIVE, diag_fallback=%u, diag_shutdown=%u"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", diag_uid=%u, diag_inode=%u}}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xde, 0xba, htons(0xdead), htons(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded, 0xadcdfafc, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of smc_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+#endif
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+ test_odd_family_req(fd);
+ test_odd_family_msg(fd);
+ test_unix_diag_req(fd);
+ test_unix_diag_msg(fd);
+ test_netlink_diag_req(fd);
+ test_netlink_diag_msg(fd);
+ test_packet_diag_req(fd);
+ test_packet_diag_msg(fd);
+ test_inet_diag_sockid(fd);
+ test_inet_diag_req(fd);
+ test_inet_diag_req_v2(fd);
+ test_inet_diag_msg(fd);
+#ifdef AF_SMC
+ test_smc_diag_req(fd);
+ test_smc_diag_msg(fd);
+#endif
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-m32/netlink_sock_diag.test b/tests-m32/netlink_sock_diag.test
new file mode 100755
index 00000000..0cf380e2
--- /dev/null
+++ b/tests-m32/netlink_sock_diag.test
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Check decoding of NETLINK_SOCK_DIAG protocol
+#
+# Copyright (c) 2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+. "${srcdir=.}/init.sh"
+
+run_prog ../netlink_netlink_diag
+run_strace_match_diff -e trace=sendto
diff --git a/tests-m32/netlink_unix_diag.c b/tests-m32/netlink_unix_diag.c
index 269adc6f..119cc9e7 100644
--- a/tests-m32/netlink_unix_diag.c
+++ b/tests-m32/netlink_unix_diag.c
@@ -36,14 +36,10 @@
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/unix_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
static void
send_query(const int fd)
{
diff --git a/tests-m32/netlink_xfrm.c b/tests-m32/netlink_xfrm.c
new file mode 100644
index 00000000..27f62d1e
--- /dev/null
+++ b/tests-m32/netlink_xfrm.c
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/xfrm.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = XFRM_MSG_NEWSA,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ };
+
+ nlh.nlmsg_type = XFRM_MSG_GETSA;
+ nlh.nlmsg_flags = NLM_F_DUMP;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_GETSA"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = XFRM_MSG_NEWSA;
+ nlh.nlmsg_flags = NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REPLACE, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = XFRM_MSG_DELSA;
+ nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_DELSA"
+ ", flags=NLM_F_ECHO|%#x, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NLM_F_REPLACE,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_XFRM);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-m32/netlink_xfrm.gen.test b/tests-m32/netlink_xfrm.gen.test
new file mode 100755
index 00000000..17f7444b
--- /dev/null
+++ b/tests-m32/netlink_xfrm.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_xfrm +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/nlattr.c b/tests-m32/nlattr.c
new file mode 100644
index 00000000..7361eced
--- /dev/null
+++ b/tests-m32/nlattr.c
@@ -0,0 +1,326 @@
+/*
+ * Check decoding of netlink attribute.
+ *
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <netinet/tcp.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+static void
+test_nlattr(const int fd)
+{
+ static const struct msg {
+ struct nlmsghdr nlh;
+ struct unix_diag_msg udm;
+ } c_msg = {
+ .nlh = {
+ .nlmsg_len = sizeof(struct msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ },
+ .udm = {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1
+ }
+ };
+ struct msg *msg;
+ struct nlattr *nla;
+ unsigned int msg_len;
+ long rc;
+
+ /* fetch fail: len < sizeof(struct nlattr) */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ memcpy(nla, "12", 2);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, \"12\"}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, msg_len, sprintrc(rc));
+
+ /* fetch fail: short read */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len - 1);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, %p}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, (void *) msg + NLMSG_SPACE(sizeof(msg->udm)),
+ msg_len, sprintrc(rc));
+
+ /* print one struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = sizeof(*nla),
+ .nla_type = UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr with nla_len out of msg_len bounds */
+ nla->nla_len += 8;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and some data */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN + 4;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN + 4,
+ .nla_type = UNIX_DIAG_SHUTDOWN + 1
+ };
+ memcpy(RTA_DATA(nla), "1234", 4);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {{nla_len=%u"
+ ", nla_type=%#x /* UNIX_DIAG_??? */}, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, UNIX_DIAG_SHUTDOWN + 1,
+ msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and fetch fail second struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN + 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ memcpy(nla + 1, "12", 2);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, \"12\"]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and short read of second struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN * 2;
+ msg = tail_memdup(&c_msg, msg_len - 1);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, %p]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, nla + 1, msg_len, sprintrc(rc));
+
+ /* print two struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN * 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ *(nla + 1) = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_PEER
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_PEER}]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, nla->nla_len,
+ msg_len, sprintrc(rc));
+
+ /* print first nlattr only when its nla_len is less than NLA_HDRLEN */
+ nla->nla_len = NLA_HDRLEN - 1;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* abbreviated output */
+#define ABBREV_LEN (DEFAULT_STRLEN + 1)
+ msg_len = NLA_HDRLEN * ABBREV_LEN + NLMSG_SPACE(sizeof(msg->udm));
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ unsigned int i;
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ for (i = 0; i < ABBREV_LEN; ++i)
+ nla[i] = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_SHUTDOWN + 1 + i
+ };
+
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, udiag_type=SOCK_STREAM"
+ ", udiag_state=TCP_FIN_WAIT1, udiag_ino=0"
+ ", udiag_cookie=[0, 0]}, [",
+ fd, msg_len);
+ for (i = 0; i < DEFAULT_STRLEN; ++i) {
+ if (i)
+ printf(", ");
+ printf("{nla_len=%u, nla_type=%#x /* UNIX_DIAG_??? */}",
+ nla->nla_len, UNIX_DIAG_SHUTDOWN + 1 + i);
+ }
+ printf(", ...]}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ msg_len, sprintrc(rc));
+}
+
+static void
+test_nla_type(const int fd)
+{
+ static const struct msg {
+ struct nlmsghdr nlh;
+ struct unix_diag_msg udm;
+ } c_msg = {
+ .nlh = {
+ .nlmsg_len = sizeof(struct msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ },
+ .udm = {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1
+ }
+ };
+ struct msg *msg;
+ struct nlattr *nla;
+ unsigned int msg_len;
+ long rc;
+
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = sizeof(*nla),
+ .nla_type = NLA_F_NESTED | UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NET_BYTEORDER | UNIX_DIAG_NAME;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NET_BYTEORDER|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NESTED | NLA_F_NET_BYTEORDER | UNIX_DIAG_NAME;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|NLA_F_NET_BYTEORDER|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NESTED | (UNIX_DIAG_SHUTDOWN + 1);
+ rc = sendto(fd, msg, msg->nlh.nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|%#x /* UNIX_DIAG_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg->nlh.nlmsg_len, nla->nla_len, UNIX_DIAG_SHUTDOWN + 1,
+ msg->nlh.nlmsg_len, sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+
+ test_nlattr(fd);
+ test_nla_type(fd);
+
+ puts("+++ exited with 0 +++");
+
+ return 0;
+}
diff --git a/tests-m32/nlattr.gen.test b/tests-m32/nlattr.gen.test
new file mode 100755
index 00000000..105801b9
--- /dev/null
+++ b/tests-m32/nlattr.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/nlattr_inet_diag_msg.c b/tests-m32/nlattr_inet_diag_msg.c
new file mode 100644
index 00000000..d9d564c3
--- /dev/null
+++ b/tests-m32/nlattr_inet_diag_msg.c
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+#include <netinet/tcp.h>
+#include "test_nlattr.h"
+#include <linux/inet_diag.h>
+#include <linux/sock_diag.h>
+
+static const char address[] = "10.11.12.13";
+
+#ifdef HAVE_IF_INDEXTONAME
+# define IFINDEX_LO (if_nametoindex("lo"))
+#else
+# define IFINDEX_LO 1
+#endif
+
+static void
+init_inet_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct inet_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct inet_diag_msg, msg,
+ .idiag_family = AF_INET,
+ .idiag_state = TCP_LISTEN,
+ .id.idiag_if = IFINDEX_LO
+ );
+
+ if (!inet_pton(AF_INET, address, msg->id.idiag_src) ||
+ !inet_pton(AF_INET, address, msg->id.idiag_dst))
+ perror_msg_and_skip("inet_pton");
+}
+
+static void
+print_inet_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {idiag_family=AF_INET"
+ ", idiag_state=TCP_LISTEN, idiag_timer=0, idiag_retrans=0"
+ ", id={idiag_sport=htons(0), idiag_dport=htons(0)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=if_nametoindex(\"lo\"), idiag_cookie=[0, 0]}"
+ ", idiag_expires=0, idiag_rqueue=0, idiag_wqueue=0"
+ ", idiag_uid=0, idiag_inode=0}",
+ msg_len, address, address);
+}
+
+static void
+print_uint(const unsigned int *p)
+{
+ printf("%u", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct inet_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const struct inet_diag_meminfo minfo = {
+ .idiag_rmem = 0xfadcacdb,
+ .idiag_wmem = 0xbdabcada,
+ .idiag_fmem = 0xbadbfafb,
+ .idiag_tmem = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_MEMINFO, pattern, minfo,
+ PRINT_FIELD_U("{", minfo, idiag_rmem);
+ PRINT_FIELD_U(", ", minfo, idiag_wmem);
+ PRINT_FIELD_U(", ", minfo, idiag_fmem);
+ PRINT_FIELD_U(", ", minfo, idiag_tmem);
+ printf("}"));
+
+ static const struct tcpvegas_info vegas = {
+ .tcpv_enabled = 0xfadcacdb,
+ .tcpv_rttcnt = 0xbdabcada,
+ .tcpv_rtt = 0xbadbfafb,
+ .tcpv_minrtt = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_VEGASINFO, pattern, vegas,
+ PRINT_FIELD_U("{", vegas, tcpv_enabled);
+ PRINT_FIELD_U(", ", vegas, tcpv_rttcnt);
+ PRINT_FIELD_U(", ", vegas, tcpv_rtt);
+ PRINT_FIELD_U(", ", vegas, tcpv_minrtt);
+ printf("}"));
+
+
+ static const struct tcp_dctcp_info dctcp = {
+ .dctcp_enabled = 0xfdac,
+ .dctcp_ce_state = 0xfadc,
+ .dctcp_alpha = 0xbdabcada,
+ .dctcp_ab_ecn = 0xbadbfafb,
+ .dctcp_ab_tot = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_DCTCPINFO, pattern, dctcp,
+ PRINT_FIELD_U("{", dctcp, dctcp_enabled);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ce_state);
+ PRINT_FIELD_U(", ", dctcp, dctcp_alpha);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_ecn);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_tot);
+ printf("}"));
+
+ static const struct tcp_bbr_info bbr = {
+ .bbr_bw_lo = 0xfdacdadf,
+ .bbr_bw_hi = 0xfadcacdb,
+ .bbr_min_rtt = 0xbdabcada,
+ .bbr_pacing_gain = 0xbadbfafb,
+ .bbr_cwnd_gain = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_BBRINFO, pattern, bbr,
+ PRINT_FIELD_X("{", bbr, bbr_bw_lo);
+ PRINT_FIELD_X(", ", bbr, bbr_bw_hi);
+ PRINT_FIELD_U(", ", bbr, bbr_min_rtt);
+ PRINT_FIELD_U(", ", bbr, bbr_pacing_gain);
+ PRINT_FIELD_U(", ", bbr, bbr_cwnd_gain);
+ printf("}"));
+
+ static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_SKMEMINFO, pattern, mem, print_uint);
+
+ static const uint32_t mark = 0xabdfadca;
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_MARK, pattern, mark,
+ printf("%u", mark));
+
+ static const uint8_t shutdown = 0xcd;
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SHUTDOWN,
+ sizeof(shutdown), &shutdown, sizeof(shutdown),
+ printf("%u", shutdown));
+
+ char *const str = tail_alloc(DEFAULT_STRLEN);
+ fill_memory_ex(str, DEFAULT_STRLEN, '0', 10);
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_CONG,
+ DEFAULT_STRLEN, str, DEFAULT_STRLEN,
+ printf("\"%.*s\"...", DEFAULT_STRLEN, str));
+ str[DEFAULT_STRLEN - 1] = '\0';
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_CONG,
+ DEFAULT_STRLEN, str, DEFAULT_STRLEN,
+ printf("\"%s\"", str));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-m32/nlattr_inet_diag_msg.gen.test b/tests-m32/nlattr_inet_diag_msg.gen.test
new file mode 100755
index 00000000..953a7675
--- /dev/null
+++ b/tests-m32/nlattr_inet_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_inet_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/nlattr_netlink_diag_msg.c b/tests-m32/nlattr_netlink_diag_msg.c
new file mode 100644
index 00000000..76a2d19e
--- /dev/null
+++ b/tests-m32/nlattr_netlink_diag_msg.c
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include "test_nlattr.h"
+#include <linux/netlink_diag.h>
+#include <linux/sock_diag.h>
+
+static void
+init_netlink_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct netlink_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct netlink_diag_msg, msg,
+ .ndiag_family = AF_NETLINK,
+ .ndiag_type = SOCK_RAW,
+ .ndiag_protocol = NETLINK_ROUTE,
+ .ndiag_state = NETLINK_CONNECTED
+ );
+}
+
+static void
+print_netlink_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {ndiag_family=AF_NETLINK"
+ ", ndiag_type=SOCK_RAW, ndiag_protocol=NETLINK_ROUTE"
+ ", ndiag_state=NETLINK_CONNECTED, ndiag_portid=0"
+ ", ndiag_dst_portid=0, ndiag_dst_group=0, ndiag_ino=0"
+ ", ndiag_cookie=[0, 0]}",
+ msg_len);
+}
+
+static void
+print_xlong(const unsigned long *p)
+{
+ printf("%#lx", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct netlink_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const unsigned long groups[] = {
+ (unsigned long) 0xdeadbeefbadc0dedULL,
+ (unsigned long) 0xdeadbeefbadc0dedULL
+ };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_GROUPS, pattern, groups, print_xlong);
+
+ static const struct netlink_diag_ring ndr = {
+ .ndr_block_size = 0xfabfabdc,
+ .ndr_block_nr = 0xabcdabda,
+ .ndr_frame_size = 0xcbadbafa,
+ .ndr_frame_nr = 0xdbcafadb
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_RX_RING, pattern, ndr,
+ PRINT_FIELD_U("{", ndr, ndr_block_size);
+ PRINT_FIELD_U(", ", ndr, ndr_block_nr);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_size);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_nr);
+ printf("}"));
+
+ static const uint32_t flags =
+ NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO;
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_FLAGS, pattern, flags,
+ printf("NDIAG_FLAG_CB_RUNNING|NDIAG_FLAG_PKTINFO"));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-m32/nlattr_netlink_diag_msg.gen.test b/tests-m32/nlattr_netlink_diag_msg.gen.test
new file mode 100755
index 00000000..aa6aabf4
--- /dev/null
+++ b/tests-m32/nlattr_netlink_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_netlink_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/nlattr_unix_diag_msg.c b/tests-m32/nlattr_unix_diag_msg.c
new file mode 100644
index 00000000..22954042
--- /dev/null
+++ b/tests-m32/nlattr_unix_diag_msg.c
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <sys/sysmacros.h>
+#include <netinet/tcp.h>
+#include "test_nlattr.h"
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+static void
+init_unix_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct unix_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct unix_diag_msg, msg,
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_ESTABLISHED
+ );
+}
+
+static void
+print_unix_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_ESTABLISHED"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}",
+ msg_len);
+}
+
+static void
+print_uint(const unsigned int *p)
+{
+ printf("%u", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct unix_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const struct unix_diag_vfs uv = {
+ .udiag_vfs_dev = 0xabcddafa,
+ .udiag_vfs_ino = 0xbafabcda
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_VFS, pattern, uv,
+ printf("{udiag_vfs_dev=makedev(%u, %u)",
+ major(uv.udiag_vfs_dev),
+ minor(uv.udiag_vfs_dev));
+ PRINT_FIELD_U(", ", uv, udiag_vfs_ino);
+ printf("}"));
+
+ static const struct unix_diag_rqlen rql = {
+ .udiag_rqueue = 0xfabdcdad,
+ .udiag_wqueue = 0xbacdadcf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_RQLEN, pattern, rql,
+ PRINT_FIELD_U("{", rql, udiag_rqueue);
+ PRINT_FIELD_U(", ", rql, udiag_wqueue);
+ printf("}"));
+
+ static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_ICONS, pattern, inode, print_uint);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-m32/nlattr_unix_diag_msg.gen.test b/tests-m32/nlattr_unix_diag_msg.gen.test
new file mode 100755
index 00000000..d913afc1
--- /dev/null
+++ b/tests-m32/nlattr_unix_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_unix_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-m32/nsyscalls.c b/tests-m32/nsyscalls.c
index 7fda5ba1..d6b989c4 100644
--- a/tests-m32/nsyscalls.c
+++ b/tests-m32/nsyscalls.c
@@ -54,7 +54,7 @@
#define SI 0
#define SE 0
#define CST 0
-#define SEN(arg) 0,0
+#define SEN(arg) 0, 0
static const struct_sysent syscallent[] = {
#include "syscallent.h"
diff --git a/tests-m32/options-syntax.test b/tests-m32/options-syntax.test
index 4c778b31..7cfc579b 100755
--- a/tests-m32/options-syntax.test
+++ b/tests-m32/options-syntax.test
@@ -127,8 +127,20 @@ check_h 'piping the output and -ff are mutually exclusive' -o '!' -ff true
check_h "invalid -a argument: '-42'" -a -42
check_h "invalid -O argument: '-42'" -O -42
check_h "invalid -s argument: '-42'" -s -42
+check_h "invalid -s argument: '1073741824'" -s 1073741824
check_h "invalid -I argument: '5'" -I 5
+cat > "$EXP" << '__EOF__'
+strace: must have PROG [ARGS] or -p PID
+Try 'strace -h' for more information.
+__EOF__
+../zeroargc "$strace_exp" /bin/true 2> "$LOG" &&
+ dump_log_and_fail_with \
+ 'zeroargc strace failed to handle the error properly'
+match_diff "$LOG" "$EXP" ||
+ dump_log_and_fail_with \
+ 'zeroargc strace failed to print expected diagnostics'
+
if [ -n "${UID-}" ]; then
if [ "${UID-}" = 0 ]; then
umsg="Cannot find user ':nosuchuser:'"
diff --git a/tests-m32/perf_event_open.c b/tests-m32/perf_event_open.c
index 3f544a6d..74ff9527 100644
--- a/tests-m32/perf_event_open.c
+++ b/tests-m32/perf_event_open.c
@@ -73,36 +73,36 @@ struct u64_val_str {
const char *str;
};
-/* In order to avoid endianess-specific hackery */
+/* In order to avoid endianness-specific hackery. */
struct pea_flags {
- uint64_t disabled :1,
- inherit :1,
- pinned :1,
- exclusive :1,
- exclude_user :1,
- exclude_kernel :1,
- exclude_hv :1,
- exclude_idle :1,
- mmap :1,
- comm :1,
- freq :1,
- inherit_stat :1,
- enable_on_exec :1,
- task :1,
- watermark :1,
- precise_ip :2,
- mmap_data :1,
- sample_id_all :1,
- exclude_host :1,
- exclude_guest :1,
- exclude_callchain_kernel :1,
- exclude_callchain_user :1,
- mmap2 :1,
- comm_exec :1,
- use_clockid :1,
- context_switch :1,
- write_backward :1,
- __reserved_1 :36;
+ uint64_t disabled :1,
+ inherit :1,
+ pinned :1,
+ exclusive :1,
+ exclude_user :1,
+ exclude_kernel :1,
+ exclude_hv :1,
+ exclude_idle :1,
+ mmap :1,
+ comm :1,
+ freq :1,
+ inherit_stat :1,
+ enable_on_exec :1,
+ task :1,
+ watermark :1,
+ precise_ip :2,
+ mmap_data :1,
+ sample_id_all :1,
+ exclude_host :1,
+ exclude_guest :1,
+ exclude_callchain_kernel :1,
+ exclude_callchain_user :1,
+ mmap2 :1,
+ comm_exec :1,
+ use_clockid :1,
+ context_switch :1,
+ write_backward :1,
+ __reserved_1 :36;
};
static const char *
@@ -458,7 +458,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
/* End of version 4 of the structure */
if (size <= 104) {
- cutoff =104;
+ cutoff = 104;
goto end;
}
@@ -471,7 +471,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
printf(", aux_watermark=%" PRIu32, (uint32_t) val);
if (size <= 108) {
- cutoff =108;
+ cutoff = 108;
goto end;
}
@@ -484,7 +484,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
printf(", sample_max_stack=%" PRIu16, (uint16_t) val);
if (size <= 110) {
- cutoff =110;
+ cutoff = 110;
goto end;
}
@@ -718,7 +718,7 @@ main(void)
for (i = 0; i < ARRAY_SIZE(args); i++) {
rc = syscall(__NR_perf_event_open, args[i].attr, args[i].pid,
- args[i].cpu, args[i].group_fd, args[i].flags);
+ args[i].cpu, args[i].group_fd, args[i].flags);
printf("perf_event_open(%s, %d, %d, %d, %s) = %s\n",
printaddr(args[i].attr), args[i].pid, args[i].cpu,
args[i].group_fd, args[i].flags_str, sprintrc(rc));
@@ -793,19 +793,19 @@ main(void)
attr->size = 0;
rc = syscall(__NR_perf_event_open, attr, args[args_idx].pid,
- args[args_idx].cpu, args[args_idx].group_fd,
- args[args_idx].flags);
+ args[args_idx].cpu, args[args_idx].group_fd,
+ args[args_idx].flags);
printf("perf_event_open(");
print_event_attr(attr, i ? ((i == 1) ? 0 : size) : size + 8,
- attr_types[type_idx].str,
- attr_configs[type_idx][config_idx].str,
- sample_types[sample_type_idx].str,
- read_formats[read_format_idx].str,
- ip_desc_str,
- bp_types[bp_type_idx].str,
- branch_sample_types[branch_sample_type_idx].str,
- clockids[clockid_idx].str, size);
+ attr_types[type_idx].str,
+ attr_configs[type_idx][config_idx].str,
+ sample_types[sample_type_idx].str,
+ read_formats[read_format_idx].str,
+ ip_desc_str,
+ bp_types[bp_type_idx].str,
+ branch_sample_types[branch_sample_type_idx].str,
+ clockids[clockid_idx].str, size);
printf(", %d, %d, %d, %s) = %s\n", args[args_idx].pid,
args[args_idx].cpu, args[args_idx].group_fd,
args[args_idx].flags_str, sprintrc(rc));
diff --git a/tests-m32/poll.c b/tests-m32/poll.c
index c47c97e5..af66e536 100644
--- a/tests-m32/poll.c
+++ b/tests-m32/poll.c
@@ -39,13 +39,15 @@
# include <stdlib.h>
# include <unistd.h>
-#define PRINT_EVENT(flag, member) \
- if (member & flag) { \
- if (member != pfd->member) \
- tprintf("|"); \
- tprintf(#flag); \
- member &= ~flag; \
- }
+#define PRINT_EVENT(flag, member) \
+ do { \
+ if (member & flag) { \
+ if (member != pfd->member) \
+ tprintf("|"); \
+ tprintf(#flag); \
+ member &= ~flag; \
+ } \
+ } while (0)
static void
print_pollfd_entering(const struct pollfd *const pfd)
@@ -56,24 +58,24 @@ print_pollfd_entering(const struct pollfd *const pfd)
short events = pfd->events;
if (pfd->events) {
- PRINT_EVENT(POLLIN, events)
- PRINT_EVENT(POLLPRI, events)
- PRINT_EVENT(POLLOUT, events)
+ PRINT_EVENT(POLLIN, events);
+ PRINT_EVENT(POLLPRI, events);
+ PRINT_EVENT(POLLOUT, events);
#ifdef POLLRDNORM
- PRINT_EVENT(POLLRDNORM, events)
+ PRINT_EVENT(POLLRDNORM, events);
#endif
#ifdef POLLWRNORM
- PRINT_EVENT(POLLWRNORM, events)
+ PRINT_EVENT(POLLWRNORM, events);
#endif
#ifdef POLLRDBAND
- PRINT_EVENT(POLLRDBAND, events)
+ PRINT_EVENT(POLLRDBAND, events);
#endif
#ifdef POLLWRBAND
- PRINT_EVENT(POLLWRBAND, events)
+ PRINT_EVENT(POLLWRBAND, events);
#endif
- PRINT_EVENT(POLLERR, events)
- PRINT_EVENT(POLLHUP, events)
- PRINT_EVENT(POLLNVAL, events)
+ PRINT_EVENT(POLLERR, events);
+ PRINT_EVENT(POLLHUP, events);
+ PRINT_EVENT(POLLNVAL, events);
} else
tprintf("0");
}
@@ -123,24 +125,24 @@ print_pollfd_exiting(const struct pollfd *const pfd,
tprintf("{fd=%d, revents=", pfd->fd);
short revents = pfd->revents;
- PRINT_EVENT(POLLIN, revents)
- PRINT_EVENT(POLLPRI, revents)
- PRINT_EVENT(POLLOUT, revents)
+ PRINT_EVENT(POLLIN, revents);
+ PRINT_EVENT(POLLPRI, revents);
+ PRINT_EVENT(POLLOUT, revents);
#ifdef POLLRDNORM
- PRINT_EVENT(POLLRDNORM, revents)
+ PRINT_EVENT(POLLRDNORM, revents);
#endif
#ifdef POLLWRNORM
- PRINT_EVENT(POLLWRNORM, revents)
+ PRINT_EVENT(POLLWRNORM, revents);
#endif
#ifdef POLLRDBAND
- PRINT_EVENT(POLLRDBAND, revents)
+ PRINT_EVENT(POLLRDBAND, revents);
#endif
#ifdef POLLWRBAND
- PRINT_EVENT(POLLWRBAND, revents)
+ PRINT_EVENT(POLLWRBAND, revents);
#endif
- PRINT_EVENT(POLLERR, revents)
- PRINT_EVENT(POLLHUP, revents)
- PRINT_EVENT(POLLNVAL, revents)
+ PRINT_EVENT(POLLERR, revents);
+ PRINT_EVENT(POLLHUP, revents);
+ PRINT_EVENT(POLLNVAL, revents);
tprintf("}");
}
@@ -192,7 +194,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -205,7 +208,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -217,7 +221,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -232,7 +237,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds1, ARRAY_SIZE(pfds1),
ARRAY_SIZE(pfds1), abbrev);
- tprintf(", %u, %d) = %d (Timeout)\n", ARRAY_SIZE(pfds1), timeout, rc);
+ tprintf(", %u, %d) = %d (Timeout)\n",
+ (unsigned int) ARRAY_SIZE(pfds1), timeout, rc);
const void *const efault = tail_fds0 + ARRAY_SIZE(pfds0);
rc = syscall(__NR_poll, efault, 1, 0);
diff --git a/tests-m32/ppoll.c b/tests-m32/ppoll.c
index 85a7e0c0..62241839 100644
--- a/tests-m32/ppoll.c
+++ b/tests-m32/ppoll.c
@@ -138,9 +138,10 @@ main(void)
#if VERBOSE
pipe_fd[2], pipe_fd[3],
#endif
- (unsigned) ARRAY_SIZE(fds1), USR2_CHLD_str,
- (unsigned) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
- pipe_fd[3], (unsigned ) ts->tv_sec, (unsigned) ts->tv_nsec);
+ (unsigned int) ARRAY_SIZE(fds1), USR2_CHLD_str,
+ (unsigned int) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
+ pipe_fd[3], (unsigned int) ts->tv_sec,
+ (unsigned int) ts->tv_nsec);
ts->tv_sec = 0;
ts->tv_nsec = 999;
diff --git a/tests-m32/preadv-pwritev.c b/tests-m32/preadv-pwritev.c
index b2d2a824..ddbd47f6 100644
--- a/tests-m32/preadv-pwritev.c
+++ b/tests-m32/preadv-pwritev.c
@@ -121,7 +121,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -142,7 +142,8 @@ main(void)
tprintf("preadv(0, [{iov_base=\"%s\", iov_len=%u}], %u, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -166,7 +167,7 @@ main(void)
", {iov_base=\"\", iov_len=%u}], %u, %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_),
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
r_len, w_len - r_len,
w_len - r_len, r1_d, r1_c);
close(0);
diff --git a/tests-m32/preadv.c b/tests-m32/preadv.c
index a55909b6..d5ad84f6 100644
--- a/tests-m32/preadv.c
+++ b/tests-m32/preadv.c
@@ -125,7 +125,7 @@ main(void)
perror_msg_and_fail("preadv: expected %u, returned %ld",
r_len, rc);
printf("preadv(%d, [{iov_base=\"%s\", iov_len=%u}], %u, 0) = %u\n",
- fd, r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len);
+ fd, r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_), r_len);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(LENGTH_OF(w));
@@ -147,8 +147,9 @@ main(void)
(int) LENGTH_OF(w) - r_len, rc);
printf("preadv(%d, [{iov_base=\"%s\", iov_len=%u}"
", {iov_base=\"\", iov_len=%u}], %u, %u) = %u\n",
- fd, r1_c, r_len, LENGTH_OF(w), ARRAY_SIZE(r1_iov_),
- r_len, LENGTH_OF(w) - r_len);
+ fd, r1_c, r_len, LENGTH_OF(w),
+ (unsigned int) ARRAY_SIZE(r1_iov_),
+ r_len, LENGTH_OF(w) - r_len);
puts("+++ exited with 0 +++");
return 0;
diff --git a/tests-m32/preadv2-pwritev2.c b/tests-m32/preadv2-pwritev2.c
index e31e0463..89f37dd6 100644
--- a/tests-m32/preadv2-pwritev2.c
+++ b/tests-m32/preadv2-pwritev2.c
@@ -127,7 +127,7 @@ dumpio(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -148,7 +148,8 @@ dumpio(void)
tprintf("preadv2(0, [{iov_base=\"%s\", iov_len=%u}], %u, 0, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -172,7 +173,7 @@ dumpio(void)
", {iov_base=\"\", iov_len=%u}], %u, %u, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_),
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
r_len, w_len - r_len,
w_len - r_len, r1_d, r1_c);
close(0);
diff --git a/tests-m32/print_quoted_string.c b/tests-m32/print_quoted_string.c
index 3ad86024..732fe3de 100644
--- a/tests-m32/print_quoted_string.c
+++ b/tests-m32/print_quoted_string.c
@@ -18,7 +18,7 @@ print_quoted_string(const char *instr)
void
print_quoted_memory(const char *instr, const size_t len)
{
- const unsigned char *str = (const unsigned char*) instr;
+ const unsigned char *str = (const unsigned char *) instr;
size_t i;
for (i = 0; i < len; ++i) {
diff --git a/tests-m32/print_time.c b/tests-m32/print_time.c
index 42923296..e2592428 100644
--- a/tests-m32/print_time.c
+++ b/tests-m32/print_time.c
@@ -58,8 +58,6 @@ print_time_t_ex(const time_t t, const unsigned long long part_sec,
if (comment)
fputs(" */", stdout);
-
- return;
}
void
diff --git a/tests-m32/printstr.c b/tests-m32/printstr.c
index 330234f1..8e226813 100644
--- a/tests-m32/printstr.c
+++ b/tests-m32/printstr.c
@@ -34,13 +34,11 @@
#include <unistd.h>
#include <sys/uio.h>
-#define DEFAULT_STRLEN 32
-
int
main(void)
{
char *const buf = tail_alloc(DEFAULT_STRLEN + 1);
- const struct iovec io = {
+ struct iovec io = {
.iov_base = buf,
.iov_len = -1
};
@@ -64,6 +62,11 @@ main(void)
tprintf("writev(-1, [{iov_base=\"\\0%*s\"..., iov_len=%lu}], 1)"
" = %s\n", DEFAULT_STRLEN - 1, buf + 1, -1UL, sprintrc(rc));
+ ++io.iov_base;
+ rc = writev(-1, &io, 1);
+ tprintf("writev(-1, [{iov_base=%p, iov_len=%lu}], 1) = %s\n",
+ io.iov_base, -1UL, sprintrc(rc));
+
tprintf("+++ exited with 0 +++\n");
return 0;
}
diff --git a/tests-m32/process_vm_readv_writev.c b/tests-m32/process_vm_readv_writev.c
index 2a089395..c0f9c312 100644
--- a/tests-m32/process_vm_readv_writev.c
+++ b/tests-m32/process_vm_readv_writev.c
@@ -51,7 +51,7 @@ enum { MAX_SEGM_COUNT = 2, MAX_STR_LEN = 5 };
struct print_iov_arg {
uint32_t count;
uint32_t valid :1,
- string :1,
+ string :1,
addr_term:1,
check_rc :1;
uint32_t str_segms;
@@ -247,14 +247,15 @@ main(void)
2, {SEGM1_BASE, SEGM2_BASE}, {SIZE_1, SIZE_2} };
struct print_iov_arg rmt_arg = { ARRAY_SIZE(rmt_iovec), 1 };
- struct print_iov_arg bogus_arg_cut =
- { ARRAY_SIZE(bogus_iovec) - 2, 1, 0, 1 };
- struct print_iov_arg lcl_arg_cut =
- { ARRAY_SIZE(lcl_iovec) - 2, 1, 1, 1, 0, 2,
- {SEGM1_BASE + SIZE_11 + SIZE_12, SEGM2_BASE},
- {SIZE_13, SIZE_2} };
- struct print_iov_arg rmt_arg_cut =
- { ARRAY_SIZE(rmt_iovec) - 2, 1 };
+ struct print_iov_arg bogus_arg_cut = {
+ ARRAY_SIZE(bogus_iovec) - 2, 1, 0, 1
+ };
+ struct print_iov_arg lcl_arg_cut = {
+ ARRAY_SIZE(lcl_iovec) - 2, 1, 1, 1, 0, 2,
+ { SEGM1_BASE + SIZE_11 + SIZE_12, SEGM2_BASE },
+ {SIZE_13, SIZE_2}
+ };
+ struct print_iov_arg rmt_arg_cut = { ARRAY_SIZE(rmt_iovec) - 2, 1 };
fill_memory_ex(data1_out, SIZE_1, SEGM1_BASE, SIZE_1);
diff --git a/tests-m32/pselect6.c b/tests-m32/pselect6.c
index f5939f3b..07298081 100644
--- a/tests-m32/pselect6.c
+++ b/tests-m32/pselect6.c
@@ -109,7 +109,7 @@ int main(int ac, char **av)
* but with a pointer to a large chunk of valid memory.
*/
FD_ZERO(set[0]);
- FD_SET(fds[1],set[0]);
+ FD_SET(fds[1], set[0]);
assert(pselect(-1, NULL, set[0], NULL, NULL, &mask) == -1);
printf("pselect6(-1, NULL, %p, NULL, NULL, {[HUP CHLD], %u}) "
"= -1 EINVAL (%m)\n", set[0], NSIG_BYTES);
@@ -118,7 +118,7 @@ int main(int ac, char **av)
* Another variant, with nfds exceeding FD_SETSIZE limit.
*/
FD_ZERO(set[0]);
- FD_SET(fds[0],set[0]);
+ FD_SET(fds[0], set[0]);
FD_ZERO(set[1]);
tm.ts.tv_sec = 0;
tm.ts.tv_nsec = 123;
diff --git a/tests-m32/ptrace.c b/tests-m32/ptrace.c
index 9e0ffdc6..d776dcdd 100644
--- a/tests-m32/ptrace.c
+++ b/tests-m32/ptrace.c
@@ -114,7 +114,7 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request)
if (errno == EINTR)
continue;
saved = errno;
- kill (pid, SIGKILL);
+ kill(pid, SIGKILL);
errno = saved;
perror_msg_and_fail("wait");
}
@@ -159,7 +159,7 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request)
if (do_ptrace(PTRACE_CONT, pid, 0, 0)) {
saved = errno;
- kill (pid, SIGKILL);
+ kill(pid, SIGKILL);
errno = saved;
perror_msg_and_fail("ptrace");
}
diff --git a/tests-m32/pure_executables.am b/tests-m32/pure_executables.am
new file mode 100644
index 00000000..8563488a
--- /dev/null
+++ b/tests-m32/pure_executables.am
@@ -0,0 +1,347 @@
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+ _newselect \
+ accept \
+ accept4 \
+ access \
+ acct \
+ add_key \
+ adjtimex \
+ aio \
+ alarm \
+ bpf \
+ brk \
+ btrfs \
+ caps \
+ chmod \
+ chown \
+ chown32 \
+ chroot \
+ clock_adjtime \
+ clock_nanosleep \
+ clock_xettime \
+ copy_file_range \
+ creat \
+ delete_module \
+ dup \
+ dup2 \
+ dup3 \
+ epoll_create \
+ epoll_create1 \
+ epoll_ctl \
+ epoll_pwait \
+ epoll_wait \
+ erestartsys \
+ eventfd \
+ execve \
+ execveat \
+ faccessat \
+ fadvise64 \
+ fadvise64_64 \
+ fallocate \
+ fanotify_init \
+ fanotify_mark \
+ fchdir \
+ fchmod \
+ fchmodat \
+ fchown \
+ fchown32 \
+ fchownat \
+ fcntl \
+ fcntl64 \
+ fdatasync \
+ file_handle \
+ file_ioctl \
+ finit_module \
+ flock \
+ fstat \
+ fstat64 \
+ fstatat64 \
+ fstatfs \
+ fstatfs64 \
+ fsync \
+ ftruncate \
+ ftruncate64 \
+ futex \
+ futimesat \
+ get_mempolicy \
+ getcpu \
+ getcwd \
+ getdents \
+ getdents64 \
+ getegid \
+ getegid32 \
+ geteuid \
+ geteuid32 \
+ getgid \
+ getgid32 \
+ getgroups \
+ getgroups32 \
+ getpeername \
+ getpgrp \
+ getpid \
+ getppid \
+ getrandom \
+ getresgid \
+ getresgid32 \
+ getresuid \
+ getresuid32 \
+ getrlimit \
+ getrusage \
+ getsid \
+ getsockname \
+ getuid \
+ getuid32 \
+ getxxid \
+ inet-cmsg \
+ init_module \
+ inotify \
+ inotify_init1 \
+ ioctl \
+ ioctl_block \
+ ioctl_dm \
+ ioctl_evdev \
+ ioctl_loop \
+ ioctl_mtd \
+ ioctl_rtc \
+ ioctl_scsi \
+ ioctl_sg_io_v3 \
+ ioctl_sg_io_v4 \
+ ioctl_sock_gifconf \
+ ioctl_uffdio \
+ ioctl_v4l2 \
+ ioperm \
+ iopl \
+ ioprio \
+ ip_mreq \
+ ipc \
+ ipc_msg \
+ ipc_msgbuf \
+ ipc_sem \
+ ipc_shm \
+ kcmp \
+ kexec_file_load \
+ kexec_load \
+ keyctl \
+ kill \
+ lchown \
+ lchown32 \
+ link \
+ linkat \
+ llseek \
+ lookup_dcookie \
+ lseek \
+ lstat \
+ lstat64 \
+ madvise \
+ mbind \
+ membarrier \
+ memfd_create \
+ migrate_pages \
+ mincore \
+ mkdir \
+ mkdirat \
+ mknod \
+ mknodat \
+ mlock \
+ mlock2 \
+ mlockall \
+ mmap \
+ mmap64 \
+ mmsg \
+ mmsg_name \
+ mount \
+ move_pages \
+ mq \
+ mq_sendrecv \
+ mq_sendrecv-read \
+ mq_sendrecv-write \
+ msg_control \
+ msg_name \
+ munlockall \
+ nanosleep \
+ net-icmp_filter \
+ net-sockaddr \
+ net-y-unix \
+ net-yy-inet \
+ net-yy-netlink \
+ net-yy-unix \
+ netlink_audit \
+ netlink_generic \
+ netlink_netfilter \
+ netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
+ newfstatat \
+ nlattr \
+ nlattr_inet_diag_msg \
+ nlattr_netlink_diag_msg \
+ nlattr_unix_diag_msg \
+ old_mmap \
+ oldfstat \
+ oldlstat \
+ oldselect \
+ oldstat \
+ open \
+ openat \
+ osf_utimes \
+ pause \
+ perf_event_open \
+ personality \
+ pipe \
+ pipe2 \
+ pkey_alloc \
+ pkey_free \
+ pkey_mprotect \
+ poll \
+ ppoll \
+ prctl-arg2-intptr \
+ prctl-dumpable \
+ prctl-name \
+ prctl-no-args \
+ prctl-pdeathsig \
+ prctl-securebits \
+ prctl-tid_address \
+ prctl-tsc \
+ pread64-pwrite64 \
+ preadv \
+ preadv-pwritev \
+ preadv2-pwritev2 \
+ printstr \
+ prlimit64 \
+ process_vm_readv \
+ process_vm_writev \
+ pselect6 \
+ ptrace \
+ pwritev \
+ quotactl \
+ quotactl-xfs \
+ read-write \
+ readahead \
+ readdir \
+ readlink \
+ readlinkat \
+ readv \
+ reboot \
+ recvfrom \
+ recvmmsg-timeout \
+ recvmsg \
+ remap_file_pages \
+ rename \
+ renameat \
+ renameat2 \
+ request_key \
+ rmdir \
+ rt_sigaction \
+ rt_sigpending \
+ rt_sigprocmask \
+ rt_sigqueueinfo \
+ rt_sigreturn \
+ rt_sigsuspend \
+ rt_sigtimedwait \
+ rt_tgsigqueueinfo \
+ sched_get_priority_mxx \
+ sched_rr_get_interval \
+ sched_xetaffinity \
+ sched_xetattr \
+ sched_xetparam \
+ sched_xetscheduler \
+ sched_yield \
+ seccomp-filter \
+ select \
+ semop \
+ sendfile \
+ sendfile64 \
+ set_mempolicy \
+ setdomainname \
+ setfsgid \
+ setfsgid32 \
+ setfsuid \
+ setfsuid32 \
+ setgid \
+ setgid32 \
+ setgroups \
+ setgroups32 \
+ sethostname \
+ setns \
+ setregid \
+ setregid32 \
+ setresgid \
+ setresgid32 \
+ setresuid \
+ setresuid32 \
+ setreuid \
+ setreuid32 \
+ setrlimit \
+ setuid \
+ setuid32 \
+ shmxt \
+ shutdown \
+ sigaction \
+ sigaltstack \
+ siginfo \
+ signal \
+ signalfd4 \
+ sigpending \
+ sigprocmask \
+ sigreturn \
+ sigsuspend \
+ socketcall \
+ splice \
+ stat \
+ stat64 \
+ statfs \
+ statfs64 \
+ statx \
+ swap \
+ sxetmask \
+ symlink \
+ symlinkat \
+ sync \
+ sync_file_range \
+ sync_file_range2 \
+ sysinfo \
+ syslog \
+ tee \
+ time \
+ timer_create \
+ timer_xettime \
+ timerfd_xettime \
+ times \
+ times-fail \
+ truncate \
+ truncate64 \
+ ugetrlimit \
+ uio \
+ umask \
+ umount \
+ umount2 \
+ umoven-illptr \
+ umovestr \
+ umovestr-illptr \
+ umovestr2 \
+ umovestr3 \
+ uname \
+ unlink \
+ unlinkat \
+ unshare \
+ userfaultfd \
+ ustat \
+ utime \
+ utimensat \
+ utimes \
+ vhangup \
+ vmsplice \
+ wait4 \
+ waitid \
+ waitpid \
+ xattr \
+ xattr-strings \
+ xet_robust_list \
+ xetitimer \
+ xetpgid \
+ xetpriority \
+ xettimeofday \
+ #
diff --git a/tests-m32/pure_executables.list b/tests-m32/pure_executables.list
index cc65614a..033208e6 100755
--- a/tests-m32/pure_executables.list
+++ b/tests-m32/pure_executables.list
@@ -165,8 +165,19 @@ net-y-unix
net-yy-inet
net-yy-netlink
net-yy-unix
+netlink_audit
+netlink_generic
+netlink_netfilter
netlink_protocol
+netlink_route
+netlink_selinux
+netlink_sock_diag
+netlink_xfrm
newfstatat
+nlattr
+nlattr_inet_diag_msg
+nlattr_netlink_diag_msg
+nlattr_unix_diag_msg
old_mmap
oldfstat
oldlstat
@@ -222,6 +233,7 @@ renameat
renameat2
request_key
rmdir
+rt_sigaction
rt_sigpending
rt_sigprocmask
rt_sigqueueinfo
@@ -269,7 +281,10 @@ shutdown
sigaction
sigaltstack
siginfo
+signal
signalfd4
+sigpending
+sigprocmask
sigreturn
sigsuspend
socketcall
diff --git a/tests-m32/qual_fault.c b/tests-m32/qual_fault.c
index ab692cb8..05401dec 100644
--- a/tests-m32/qual_fault.c
+++ b/tests-m32/qual_fault.c
@@ -32,15 +32,19 @@
#include <assert.h>
#include <errno.h>
+#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/param.h>
#include <sys/stat.h>
#include <sys/uio.h>
+#include <sys/wait.h>
-static const int expfd = 4;
-static const int gotfd = 5;
+static int exp_fd;
+static int got_fd;
+static int out_fd;
#define DEFAULT_ERRNO ENOSYS
@@ -58,13 +62,13 @@ invoke(int fail)
int rc;
if (!fail) {
- rc = write(expfd, io.iov_base, io.iov_len);
+ rc = write(exp_fd, io.iov_base, io.iov_len);
if (rc != (int) io.iov_len)
perror_msg_and_fail("write");
}
errno = 0;
- rc = writev(gotfd, &io, 1);
+ rc = writev(got_fd, &io, 1);
if (fail) {
if (!(rc == -1 && errno == err))
@@ -74,11 +78,11 @@ invoke(int fail)
if (is_raw)
tprintf("writev(%#x, %p, 0x1) = -1 (errno %d)"
- " (INJECTED)\n", gotfd, &io, err);
+ " (INJECTED)\n", got_fd, &io, err);
else
tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
" = -1 %s (%m) (INJECTED)\n",
- gotfd, buf, (int) io.iov_len, errstr);
+ got_fd, buf, (int) io.iov_len, errstr);
} else {
if (rc != (int) io.iov_len)
perror_msg_and_fail("expected %d"
@@ -86,23 +90,35 @@ invoke(int fail)
(int) io.iov_len, rc, errno);
if (is_raw)
- tprintf("writev(%#x, %p, 0x1) = %#x\n", gotfd, &io, rc);
+ tprintf("writev(%#x, %p, 0x1) = %#x\n",
+ got_fd, &io, rc);
else
tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
" = %d\n",
- gotfd, buf, (int) io.iov_len, (int) io.iov_len);
+ got_fd, buf, (int) io.iov_len,
+ (int) io.iov_len);
}
}
-int
-main(int argc, char *argv[])
+static int
+open_file(const char *prefix, int proc)
{
- struct stat st;
+ static const int open_flags = O_WRONLY | O_TRUNC | O_CREAT;
+ static char path[PATH_MAX + 1];
+
+ snprintf(path, sizeof(path), "%s.%d", prefix, proc);
- assert(fstat(expfd, &st) == 0);
- assert(fstat(gotfd, &st) == 0);
+ int fd = open(path, open_flags, 0600);
+ if (fd < 0)
+ perror_msg_and_fail("open: %s", path);
+
+ return fd;
+}
- assert(argc == 6);
+int
+main(int argc, char *argv[])
+{
+ assert(argc == 11);
is_raw = !strcmp("raw", argv[1]);
@@ -125,25 +141,71 @@ main(int argc, char *argv[])
first = atoi(argv[3]);
step = atoi(argv[4]);
iter = atoi(argv[5]);
+ int num_procs = atoi(argv[6]);
+ char *exp_prefix = argv[7];
+ char *got_prefix = argv[8];
+ char *out_prefix = argv[9];
+ char *pid_prefix = argv[10];
assert(first > 0);
assert(step >= 0);
+ assert(num_procs > 0);
+
+ int proc;
+ for (proc = 0; proc < num_procs; ++proc) {
+ int ret = fork();
+
+ if (ret < 0)
+ perror_msg_and_fail("fork");
- tprintf("%s", "");
+ if (ret > 0) {
+ int pidfd = open_file(pid_prefix, proc);
- int i;
- for (i = 1; i <= iter; ++i) {
- int fail = 0;
- if (first > 0) {
- --first;
- if (first == 0) {
- fail = 1;
- first = step;
+ char pidstr[sizeof(ret) * 3];
+ int len = snprintf(pidstr, sizeof(pidstr), "%d", ret);
+ assert(len > 0 && len < (int) sizeof(pidstr));
+ assert(write(pidfd, pidstr, len) == len);
+
+ close(pidfd);
+
+ continue;
+ }
+
+ tprintf("%s", "");
+
+ exp_fd = open_file(exp_prefix, proc);
+ got_fd = open_file(got_prefix, proc);
+ out_fd = open_file(out_prefix, proc);
+
+ /* This magic forces tprintf to write where we want it. */
+ dup2(out_fd, 3);
+
+ int i;
+ for (i = 1; i <= iter; ++i) {
+ int fail = 0;
+ if (first > 0) {
+ --first;
+ if (first == 0) {
+ fail = 1;
+ first = step;
+ }
}
+ invoke(fail);
}
- invoke(fail);
+
+ tprintf("%s\n", "+++ exited with 0 +++");
+ return 0;
+ }
+
+ for (proc = 0; proc < num_procs; ++proc) {
+ int status;
+ int ret = wait(&status);
+ if (ret <= 0)
+ perror_msg_and_fail("wait %d", proc);
+ if (status)
+ error_msg_and_fail("wait: pid=%d status=%d",
+ ret, status);
}
- tprintf("%s\n", "+++ exited with 0 +++");
return 0;
}
diff --git a/tests-m32/qual_fault.test b/tests-m32/qual_fault.test
index f8e57d2b..12b0a850 100755
--- a/tests-m32/qual_fault.test
+++ b/tests-m32/qual_fault.test
@@ -35,16 +35,17 @@
# F+
# F+S
-N=16
+N=100
check_fault_injection()
{
- local trace fault err first step extra
+ local trace fault err first step procs extra
trace=$1; shift
fault=$1; shift
err=$1; shift
first=$1; shift
step=$1; shift
+ procs=$1; shift
extra="$*"
local when=
@@ -74,30 +75,39 @@ check_fault_injection()
outexp="$NAME.out.exp"
outgot="$NAME.out.got"
+ outout="$NAME.out.out"
+ outpid="$NAME.pid"
- run_strace -a11 -e trace=$trace \
+ run_strace -a11 -ff -e trace=$trace \
"$@" -e fault=$fault$when$error $extra \
../$NAME $raw "$err" "$first" "$step" $N \
- > "$EXP" 4> "$outexp" 5> "$outgot"
+ "$procs" "$outexp" "$outgot" "$outout" "$outpid"
- match_diff "$EXP" "$LOG"
- match_diff "$outexp" "$outgot"
+ for i in $(seq 0 $((procs - 1)) )
+ do
+ pid=$(cat "$outpid.$i")
+
+ match_diff "$outout.$i" "$LOG.$pid"
+ match_diff "$outexp.$i" "$outgot.$i"
+ done
}
for err in '' ENOSYS 22 einval; do
for fault in writev desc,51; do
check_fault_injection \
- writev $fault "$err" '' '' -efault=chdir
+ writev $fault "$err" '' '' 1 -efault=chdir
check_fault_injection \
- writev $fault "$err" '' '' -efault=chdir -efault=none
+ writev $fault "$err" '' '' 1 -efault=chdir -efault=none
for F in 1 2 3 5 7 11; do
check_fault_injection \
- writev $fault "$err" $F ''
+ writev $fault "$err" $F '' 1
check_fault_injection \
- writev $fault "$err" $F +
+ writev $fault "$err" $F + 1
for S in 1 2 3 5 7 11; do
check_fault_injection \
- writev $fault "$err" $F $S
+ writev $fault "$err" $F $S 1
+ check_fault_injection \
+ writev $fault "$err" $F $S 4
done
done
done
diff --git a/tests-m32/quotactl-xfs.c b/tests-m32/quotactl-xfs.c
index b2a884b6..fab451e2 100644
--- a/tests-m32/quotactl-xfs.c
+++ b/tests-m32/quotactl-xfs.c
@@ -71,7 +71,7 @@ struct fs_quota_statv {
struct fs_qfilestatv qs_pquota; /* project quota information */
int32_t qs_btimelimit; /* limit for blks timer */
int32_t qs_itimelimit; /* limit for inodes timer */
- int32_t qs_rtbtimelimit; /* limit for rt blks timer */
+ int32_t qs_rtbtimelimit; /* limit for rt blks timer */
uint16_t qs_bwarnlimit; /* limit for num warnings */
uint16_t qs_iwarnlimit; /* limit for num warnings */
uint64_t qs_pad2[8]; /* for future proofing */
@@ -97,29 +97,29 @@ print_xdisk_quota(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", dq, d_version);
+ PRINT_FIELD_D("{", *dq, d_version);
printf(", d_flags=");
printflags(xfs_dqblk_flags, (uint8_t) dq->d_flags, "XFS_???_QUOTA");
- PRINT_FIELD_X(", ", dq, d_fieldmask);
- PRINT_FIELD_U(", ", dq, d_id);
- PRINT_FIELD_U(", ", dq, d_blk_hardlimit);
- PRINT_FIELD_U(", ", dq, d_blk_softlimit);
- PRINT_FIELD_U(", ", dq, d_ino_hardlimit);
- PRINT_FIELD_U(", ", dq, d_ino_softlimit);
- PRINT_FIELD_U(", ", dq, d_bcount);
- PRINT_FIELD_U(", ", dq, d_icount);
+ PRINT_FIELD_X(", ", *dq, d_fieldmask);
+ PRINT_FIELD_U(", ", *dq, d_id);
+ PRINT_FIELD_U(", ", *dq, d_blk_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_blk_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_ino_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_ino_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_bcount);
+ PRINT_FIELD_U(", ", *dq, d_icount);
# if VERBOSE
- PRINT_FIELD_D(", ", dq, d_itimer);
- PRINT_FIELD_D(", ", dq, d_btimer);
- PRINT_FIELD_U(", ", dq, d_iwarns);
- PRINT_FIELD_U(", ", dq, d_bwarns);
- PRINT_FIELD_U(", ", dq, d_rtb_hardlimit);
- PRINT_FIELD_U(", ", dq, d_rtb_softlimit);
- PRINT_FIELD_U(", ", dq, d_rtbcount);
- PRINT_FIELD_D(", ", dq, d_rtbtimer);
- PRINT_FIELD_U(", ", dq, d_rtbwarns);
+ PRINT_FIELD_D(", ", *dq, d_itimer);
+ PRINT_FIELD_D(", ", *dq, d_btimer);
+ PRINT_FIELD_U(", ", *dq, d_iwarns);
+ PRINT_FIELD_U(", ", *dq, d_bwarns);
+ PRINT_FIELD_U(", ", *dq, d_rtb_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_rtb_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_rtbcount);
+ PRINT_FIELD_D(", ", *dq, d_rtbtimer);
+ PRINT_FIELD_U(", ", *dq, d_rtbwarns);
# else
printf(", ...");
# endif /* !VERBOSE */
@@ -137,23 +137,23 @@ print_xquota_stat(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", qs, qs_version);
+ PRINT_FIELD_D("{", *qs, qs_version);
# if VERBOSE
printf(", qs_flags=");
printflags(xfs_quota_flags, qs->qs_flags, "XFS_QUOTA_???");
- PRINT_FIELD_U(", qs_uquota={", &qs->qs_uquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_gquota={", &qs->qs_gquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nextents);
- PRINT_FIELD_U("}, ", qs, qs_incoredqs);
- PRINT_FIELD_D(", ", qs, qs_btimelimit);
- PRINT_FIELD_D(", ", qs, qs_itimelimit);
- PRINT_FIELD_D(", ", qs, qs_rtbtimelimit);
- PRINT_FIELD_U(", ", qs, qs_bwarnlimit);
- PRINT_FIELD_U(", ", qs, qs_iwarnlimit);
+ PRINT_FIELD_U(", qs_uquota={", qs->qs_uquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_gquota={", qs->qs_gquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nextents);
+ PRINT_FIELD_U("}, ", *qs, qs_incoredqs);
+ PRINT_FIELD_D(", ", *qs, qs_btimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_itimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_rtbtimelimit);
+ PRINT_FIELD_U(", ", *qs, qs_bwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_iwarnlimit);
# else
printf(", ...");
# endif /* !VERBOSE */
@@ -171,26 +171,26 @@ print_xquota_statv(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", qs, qs_version);
+ PRINT_FIELD_D("{", *qs, qs_version);
# if VERBOSE
printf(", qs_flags=");
printflags(xfs_quota_flags, qs->qs_flags, "XFS_QUOTA_???");
- PRINT_FIELD_U(", ", qs, qs_incoredqs);
- PRINT_FIELD_U(", qs_uquota={", &qs->qs_uquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_gquota={", &qs->qs_gquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_pquota={", &qs->qs_pquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_pquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_pquota, qfs_nextents);
- PRINT_FIELD_D("}, ", qs, qs_btimelimit);
- PRINT_FIELD_D(", ", qs, qs_itimelimit);
- PRINT_FIELD_D(", ", qs, qs_rtbtimelimit);
- PRINT_FIELD_U(", ", qs, qs_bwarnlimit);
- PRINT_FIELD_U(", ", qs, qs_iwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_incoredqs);
+ PRINT_FIELD_U(", qs_uquota={", qs->qs_uquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_gquota={", qs->qs_gquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_pquota={", qs->qs_pquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_pquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_pquota, qfs_nextents);
+ PRINT_FIELD_D("}, ", *qs, qs_btimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_itimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_rtbtimelimit);
+ PRINT_FIELD_U(", ", *qs, qs_bwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_iwarnlimit);
# else
printf(", ...");
# endif /* !VERBOSE */
diff --git a/tests-m32/quotactl.c b/tests-m32/quotactl.c
index 88c3fdac..f1648d94 100644
--- a/tests-m32/quotactl.c
+++ b/tests-m32/quotactl.c
@@ -88,16 +88,16 @@ print_dqblk(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", db, dqb_bhardlimit);
- PRINT_FIELD_U(", ", db, dqb_bsoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curspace);
- PRINT_FIELD_U(", ", db, dqb_ihardlimit);
- PRINT_FIELD_U(", ", db, dqb_isoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curinodes);
+ PRINT_FIELD_U("{", *db, dqb_bhardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_bsoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curspace);
+ PRINT_FIELD_U(", ", *db, dqb_ihardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_isoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curinodes);
# if VERBOSE
- PRINT_FIELD_U(", ", db, dqb_btime);
- PRINT_FIELD_U(", ", db, dqb_itime);
+ PRINT_FIELD_U(", ", *db, dqb_btime);
+ PRINT_FIELD_U(", ", *db, dqb_itime);
printf(", dqb_valid=");
printflags(if_dqblk_valid, db->dqb_valid, "QIF_???");
@@ -118,23 +118,23 @@ print_nextdqblk(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", db, dqb_bhardlimit);
- PRINT_FIELD_U(", ", db, dqb_bsoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curspace);
- PRINT_FIELD_U(", ", db, dqb_ihardlimit);
- PRINT_FIELD_U(", ", db, dqb_isoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curinodes);
+ PRINT_FIELD_U("{", *db, dqb_bhardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_bsoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curspace);
+ PRINT_FIELD_U(", ", *db, dqb_ihardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_isoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curinodes);
# if VERBOSE
- PRINT_FIELD_U(", ", db, dqb_btime);
- PRINT_FIELD_U(", ", db, dqb_itime);
+ PRINT_FIELD_U(", ", *db, dqb_btime);
+ PRINT_FIELD_U(", ", *db, dqb_itime);
printf(", dqb_valid=");
printflags(if_dqblk_valid, db->dqb_valid, "QIF_???");
- PRINT_FIELD_U(", ", db, dqb_id);
+ PRINT_FIELD_U(", ", *db, dqb_id);
# else
- PRINT_FIELD_U(", ", db, dqb_id);
+ PRINT_FIELD_U(", ", *db, dqb_id);
printf(", ...");
# endif /* !VERBOSE */
printf("}");
@@ -151,8 +151,8 @@ print_dqinfo(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", di, dqi_bgrace);
- PRINT_FIELD_U(", ", di, dqi_igrace);
+ PRINT_FIELD_U("{", *di, dqi_bgrace);
+ PRINT_FIELD_U(", ", *di, dqi_igrace);
printf(", dqi_flags=");
printflags(if_dqinfo_flags, di->dqi_flags, "DQF_???");
diff --git a/tests-m32/quotactl.h b/tests-m32/quotactl.h
index 31eaec58..d3cf53bf 100644
--- a/tests-m32/quotactl.h
+++ b/tests-m32/quotactl.h
@@ -34,6 +34,7 @@
# include <inttypes.h>
# include <stdarg.h>
# include <stdio.h>
+# include "print_fields.h"
# ifdef HAVE_LINUX_QUOTA_H
/* Broken in CentOS 5: has extern spinlock_t dq_data_lock; declaration */
@@ -57,18 +58,6 @@
# define PRJQUOTA 2
# endif
-# define PRINT_FIELD_D(prefix, where, field) \
- printf("%s%s=%lld", (prefix), #field, \
- sign_extend_unsigned_to_ll((where)->field))
-
-# define PRINT_FIELD_U(prefix, where, field) \
- printf("%s%s=%llu", (prefix), #field, \
- zero_extend_signed_to_ull((where)->field))
-
-# define PRINT_FIELD_X(prefix, where, field) \
- printf("%s%s=%#llx", (prefix), #field, \
- zero_extend_signed_to_ull((where)->field))
-
typedef void (*print_cb)(long rc, void *addr, void *arg);
enum check_quotactl_flag_bits {
diff --git a/tests-m32/readahead.c b/tests-m32/readahead.c
index c243ae40..a3e5cb8d 100644
--- a/tests-m32/readahead.c
+++ b/tests-m32/readahead.c
@@ -37,7 +37,7 @@
* see https://sourceware.org/bugzilla/show_bug.cgi?id=5208
*/
# if !(defined __GLIBC_MINOR__ && \
- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
+ (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
# undef HAVE_READAHEAD
# endif /* glibc < 2.8 */
/*
@@ -45,7 +45,7 @@
* see https://sourceware.org/bugzilla/show_bug.cgi?id=21026
*/
# if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \
- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
+ (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
# undef HAVE_READAHEAD
# endif /* LINUX_MIPSN64 && glibc < 2.25 */
# endif /* __GLIBC__ */
diff --git a/tests-m32/readv.c b/tests-m32/readv.c
index 0e5aab65..93f07605 100644
--- a/tests-m32/readv.c
+++ b/tests-m32/readv.c
@@ -108,7 +108,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
fds[1], w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -126,8 +126,8 @@ main(void)
tprintf("readv(%d, [{iov_base=\"%s\", iov_len=%u}], %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- fds[0],
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ fds[0], r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -148,8 +148,8 @@ main(void)
", {iov_base=\"\", iov_len=%u}], %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- fds[0], r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
- w_len - r_len, r1_d, r1_c);
+ fds[0], r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
+ w_len - r_len, w_len - r_len, r1_d, r1_c);
close(fds[0]);
tprintf("+++ exited with 0 +++\n");
diff --git a/tests-m32/reboot.c b/tests-m32/reboot.c
index 9b09e647..ce651dc7 100644
--- a/tests-m32/reboot.c
+++ b/tests-m32/reboot.c
@@ -14,14 +14,14 @@ int
main(void)
{
static const char buf[] = "reboot";
- long rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, \
- INVALID_MAGIC, LINUX_REBOOT_CMD_RESTART2, buf);
+ long rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1,
+ INVALID_MAGIC, LINUX_REBOOT_CMD_RESTART2, buf);
printf("reboot(LINUX_REBOOT_MAGIC1, %#x /* LINUX_REBOOT_MAGIC_??? */,"
" LINUX_REBOOT_CMD_RESTART2, \"%s\") = %ld %s (%m)\n",
INVALID_MAGIC, buf, rc, errno2name());
- rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, \
- LINUX_REBOOT_MAGIC2, INVALID_CMD);
+ rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1,
+ LINUX_REBOOT_MAGIC2, INVALID_CMD);
printf("reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,"
" %#x /* LINUX_REBOOT_CMD_??? */) = %ld %s (%m)\n",
INVALID_CMD, rc, errno2name());
diff --git a/tests-m32/recvmsg.c b/tests-m32/recvmsg.c
index fa41a9d4..2d55d554 100644
--- a/tests-m32/recvmsg.c
+++ b/tests-m32/recvmsg.c
@@ -100,7 +100,7 @@ main(void)
w0_c, LENGTH_OF(w0_c),
w1_c, LENGTH_OF(w1_c),
w2_c, LENGTH_OF(w2_c),
- ARRAY_SIZE(w_iov_), w_len,
+ (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c,
LENGTH_OF(w2_c), w2_d, w2_c);
@@ -127,7 +127,8 @@ main(void)
", msg_controllen=0, msg_flags=0}, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -151,8 +152,8 @@ main(void)
", msg_iovlen=%u, msg_controllen=0, msg_flags=0}, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
- w_len - r_len, r1_d, r1_c);
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
+ w_len - r_len, w_len - r_len, r1_d, r1_c);
close(0);
tprintf("+++ exited with 0 +++\n");
diff --git a/tests-m32/request_key.c b/tests-m32/request_key.c
index fea977b2..03c7a429 100644
--- a/tests-m32/request_key.c
+++ b/tests-m32/request_key.c
@@ -69,8 +69,7 @@ main(void)
{
static const char unterminated1[] = { '\1', '\2', '\3', '\4', '\5' };
static const char unterminated2[] = { '\6', '\7', '\10', '\11', '\12' };
- static const char unterminated3[] =
- { '\16', '\17', '\20', '\21', '\22' };
+ static const char unterminated3[] = { '\16', '\17', '\20', '\21', '\22' };
char *bogus_type = tail_memdup(unterminated1, sizeof(unterminated1));
char *bogus_desc = tail_memdup(unterminated2, sizeof(unterminated2));
diff --git a/tests-m32/sigaction.awk b/tests-m32/rt_sigaction.awk
index 9c3a9ed3..9c3a9ed3 100644
--- a/tests-m32/sigaction.awk
+++ b/tests-m32/rt_sigaction.awk
diff --git a/tests-m32/rt_sigaction.c b/tests-m32/rt_sigaction.c
new file mode 100644
index 00000000..1c034ff3
--- /dev/null
+++ b/tests-m32/rt_sigaction.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <assert.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <signal.h>
+
+static void handle_signal(int no)
+{
+ _exit(128 + no);
+}
+
+int
+main(void)
+{
+ struct sigaction sa, sa0;
+
+ sa.sa_handler = SIG_IGN;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, SIGHUP);
+ sigaddset(&sa.sa_mask, SIGINT);
+ sa.sa_flags = SA_RESTART;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sa.sa_handler = handle_signal;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, SIGQUIT);
+ sigaddset(&sa.sa_mask, SIGTERM);
+ sa.sa_flags = SA_SIGINFO;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sa.sa_handler = SIG_DFL;
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sigfillset(&sa.sa_mask);
+ sigdelset(&sa.sa_mask, SIGHUP);
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ return 0;
+}
diff --git a/tests-m32/sigaction.test b/tests-m32/rt_sigaction.test
index fcde3baf..fcde3baf 100755
--- a/tests-m32/sigaction.test
+++ b/tests-m32/rt_sigaction.test
diff --git a/tests-m32/rt_sigqueueinfo.c b/tests-m32/rt_sigqueueinfo.c
index f803d91c..9681281b 100644
--- a/tests-m32/rt_sigqueueinfo.c
+++ b/tests-m32/rt_sigqueueinfo.c
@@ -33,7 +33,7 @@
#include <unistd.h>
int
-main (void)
+main(void)
{
struct sigaction sa = {
.sa_handler = SIG_IGN
diff --git a/tests-m32/rt_tgsigqueueinfo.c b/tests-m32/rt_tgsigqueueinfo.c
index 3b2da2ae..3cff35a6 100644
--- a/tests-m32/rt_tgsigqueueinfo.c
+++ b/tests-m32/rt_tgsigqueueinfo.c
@@ -50,7 +50,7 @@ k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
}
int
-main (void)
+main(void)
{
const struct sigaction sa = {
.sa_handler = SIG_IGN
@@ -65,7 +65,8 @@ main (void)
info->si_code = SI_QUEUE;
info->si_pid = getpid();
info->si_uid = getuid();
- info->si_value.sival_ptr = (void *) (unsigned long) 0xdeadbeeffacefeedULL;
+ info->si_value.sival_ptr =
+ (void *) (unsigned long) 0xdeadbeeffacefeedULL;
if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info))
(errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)(
diff --git a/tests-m32/run_expect_termsig.c b/tests-m32/run_expect_termsig.c
new file mode 100644
index 00000000..de81ccb5
--- /dev/null
+++ b/tests-m32/run_expect_termsig.c
@@ -0,0 +1,58 @@
+/*
+ * Execute a command, expect its termination with a specified signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/wait.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac < 3)
+ error_msg_and_fail("usage: run_expect_termsig signo path...");
+
+ signal(SIGCHLD, SIG_DFL);
+
+ pid_t pid = fork();
+ if (pid < 0)
+ perror_msg_and_fail("fork");
+
+ if (!pid) {
+ execvp(av[2], av + 2);
+ perror_msg_and_fail("execvp: %s", av[2]);
+ }
+
+ int status;
+ if (waitpid(pid, &status, 0) != pid)
+ perror_msg_and_fail("waitpid");
+
+ return !(WIFSIGNALED(status) && WTERMSIG(status) == atoi(av[1]));
+}
diff --git a/tests-m32/sched_get_priority_mxx.c b/tests-m32/sched_get_priority_mxx.c
index fc14b27c..5224ff13 100644
--- a/tests-m32/sched_get_priority_mxx.c
+++ b/tests-m32/sched_get_priority_mxx.c
@@ -24,6 +24,6 @@ main(void)
#else
SKIP_MAIN_UNDEFINED("__NR_sched_get_priority_min"
- " && defined __NR_sched_get_priority_max");
+ " && defined __NR_sched_get_priority_max");
#endif
diff --git a/tests-m32/seccomp-filter-v.c b/tests-m32/seccomp-filter-v.c
index fe88ac7b..f65be7d8 100644
--- a/tests-m32/seccomp-filter-v.c
+++ b/tests-m32/seccomp-filter-v.c
@@ -146,7 +146,7 @@ main(void)
for (i = 0; i < BPF_MAXINSNS; ++i) {
if (i)
tprintf(", ");
- switch(BPF_CLASS(i)) {
+ switch (BPF_CLASS(i)) {
case BPF_LD:
tprintf("BPF_STMT(BPF_LD|BPF_W|BPF_IMM, %#x)", i << 16);
break;
diff --git a/tests-m32/semop.c b/tests-m32/semop.c
index 3d1f3846..2366d385 100644
--- a/tests-m32/semop.c
+++ b/tests-m32/semop.c
@@ -9,8 +9,7 @@
#include "xlat.h"
#include "xlat/semop_flags.h"
-union semun
-{
+union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
diff --git a/tests-m32/sendfile.c b/tests-m32/sendfile.c
index 9253c102..b86565b8 100644
--- a/tests-m32/sendfile.c
+++ b/tests-m32/sendfile.c
@@ -36,15 +36,13 @@
# include <fcntl.h>
# include <stdio.h>
# include <stdint.h>
+# include <stdlib.h>
# include <unistd.h>
# include <sys/socket.h>
-# include <sys/stat.h>
int
-main(int ac, const char **av)
+main(void)
{
- assert(ac == 1);
-
(void) close(0);
if (open("/dev/zero", O_RDONLY) != 0)
perror_msg_and_skip("open: %s", "/dev/zero");
@@ -53,58 +51,62 @@ main(int ac, const char **av)
if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
perror_msg_and_skip("socketpair");
- int reg_in = open(av[0], O_RDONLY);
- if (reg_in < 0)
- perror_msg_and_fail("open: %s", av[0]);
-
- struct stat stb;
- assert(fstat(reg_in, &stb) == 0);
- const size_t blen = stb.st_size / 3;
- const size_t alen = stb.st_size - blen;
- assert(S_ISREG(stb.st_mode) && blen > 0);
-
- const size_t page_len = get_page_size();
- assert(syscall(__NR_sendfile, 0, 1, NULL, page_len) == -1);
+ const unsigned int page_size = get_page_size();
+ assert(syscall(__NR_sendfile, 0, 1, NULL, page_size) == -1);
if (EBADF != errno)
perror_msg_and_skip("sendfile");
- printf("sendfile(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
- (unsigned long) page_len);
+ printf("sendfile(0, 1, NULL, %u) = -1 EBADF (%m)\n", page_size);
+
+ unsigned int file_size = 0;
+ socklen_t optlen = sizeof(file_size);
+ if (getsockopt(sv[1], SOL_SOCKET, SO_SNDBUF, &file_size, &optlen))
+ perror_msg_and_fail("getsockopt");
+ if (file_size < 1024)
+ error_msg_and_skip("SO_SNDBUF too small: %u", file_size);
+
+ file_size /= 4;
+ if (file_size / 16 > page_size)
+ file_size = page_size * 16;
+ const unsigned int blen = file_size / 3;
+ const unsigned int alen = file_size - blen;
+
+ static const char fname[] = "sendfile-tmpfile";
+ int reg_in = open(fname, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (reg_in < 0)
+ perror_msg_and_fail("open: %s", fname);
+ if (unlink(fname))
+ perror_msg_and_fail("unlink: %s", fname);
+ if (ftruncate(reg_in, file_size))
+ perror_msg_and_fail("ftruncate: %s", fname);
TAIL_ALLOC_OBJECT_VAR_PTR(uint32_t, p_off);
void *p = p_off + 1;
*p_off = 0;
- assert(syscall(__NR_sendfile, 0, 1, p, page_len) == -1);
- printf("sendfile(0, 1, %#lx, %lu) = -1 EFAULT (%m)\n",
- (unsigned long) p, (unsigned long) page_len);
+ assert(syscall(__NR_sendfile, 0, 1, p, page_size) == -1);
+ printf("sendfile(0, 1, %p, %u) = -1 EFAULT (%m)\n", p, page_size);
assert(syscall(__NR_sendfile, sv[1], reg_in, NULL, alen)
== (long) alen);
- printf("sendfile(%d, %d, NULL, %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen);
+ printf("sendfile(%d, %d, NULL, %u) = %u\n",
+ sv[1], reg_in, alen, alen);
p = p_off;
if (syscall(__NR_sendfile, sv[1], reg_in, p_off, alen) != (long) alen) {
- printf("sendfile(%d, %d, %#lx, %lu) = -1 EFAULT (%m)\n",
- sv[1], reg_in, (unsigned long) p_off,
- (unsigned long) alen);
+ printf("sendfile(%d, %d, %#lx, %u) = -1 EFAULT (%m)\n",
+ sv[1], reg_in, (unsigned long) p_off, alen);
--p_off;
*p_off = 0;
assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, alen)
== (long) alen);
}
- printf("sendfile(%d, %d, [0] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen, (unsigned long) alen);
+ printf("sendfile(%d, %d, [0] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, alen, alen);
- assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, stb.st_size + 1)
+ assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, file_size + 1)
== (long) blen);
- printf("sendfile(%d, %d, [%lu] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) stb.st_size,
- (unsigned long) stb.st_size + 1,
- (unsigned long) blen);
+ printf("sendfile(%d, %d, [%u] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, file_size, file_size + 1, blen);
if (p_off != p) {
uint64_t *p_off64 = (uint64_t *) p_off;
diff --git a/tests-m32/sendfile64.c b/tests-m32/sendfile64.c
index de02400b..4c4da6d0 100644
--- a/tests-m32/sendfile64.c
+++ b/tests-m32/sendfile64.c
@@ -36,15 +36,13 @@
# include <fcntl.h>
# include <stdio.h>
# include <stdint.h>
+# include <stdlib.h>
# include <unistd.h>
# include <sys/socket.h>
-# include <sys/stat.h>
int
-main(int ac, const char **av)
+main(void)
{
- assert(ac == 1);
-
(void) close(0);
if (open("/dev/zero", O_RDONLY) != 0)
perror_msg_and_skip("open: %s", "/dev/zero");
@@ -53,50 +51,55 @@ main(int ac, const char **av)
if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
perror_msg_and_skip("socketpair");
- int reg_in = open(av[0], O_RDONLY);
- if (reg_in < 0)
- perror_msg_and_fail("open: %s", av[0]);
-
- struct stat stb;
- assert(fstat(reg_in, &stb) == 0);
- const size_t blen = stb.st_size / 3;
- const size_t alen = stb.st_size - blen;
- assert(S_ISREG(stb.st_mode) && blen > 0);
-
- const size_t page_len = get_page_size();
- assert(syscall(__NR_sendfile64, 0, 1, NULL, page_len) == -1);
+ const unsigned int page_size = get_page_size();
+ assert(syscall(__NR_sendfile64, 0, 1, NULL, page_size) == -1);
if (EBADF != errno)
perror_msg_and_skip("sendfile64");
- printf("sendfile64(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
- (unsigned long) page_len);
+ printf("sendfile64(0, 1, NULL, %u) = -1 EBADF (%m)\n", page_size);
+
+ unsigned int file_size = 0;
+ socklen_t optlen = sizeof(file_size);
+ if (getsockopt(sv[1], SOL_SOCKET, SO_SNDBUF, &file_size, &optlen))
+ perror_msg_and_fail("getsockopt");
+ if (file_size < 1024)
+ error_msg_and_skip("SO_SNDBUF too small: %u", file_size);
+
+ file_size /= 4;
+ if (file_size / 16 > page_size)
+ file_size = page_size * 16;
+ const unsigned int blen = file_size / 3;
+ const unsigned int alen = file_size - blen;
+
+ static const char fname[] = "sendfile64-tmpfile";
+ int reg_in = open(fname, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (reg_in < 0)
+ perror_msg_and_fail("open: %s", fname);
+ if (unlink(fname))
+ perror_msg_and_fail("unlink: %s", fname);
+ if (ftruncate(reg_in, file_size))
+ perror_msg_and_fail("ftruncate: %s", fname);
TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, p_off);
void *p = p_off + 1;
*p_off = 0;
- assert(syscall(__NR_sendfile64, 0, 1, p, page_len) == -1);
- printf("sendfile64(0, 1, %#lx, %lu) = -1 EFAULT (%m)\n",
- (unsigned long) p, (unsigned long) page_len);
+ assert(syscall(__NR_sendfile64, 0, 1, p, page_size) == -1);
+ printf("sendfile64(0, 1, %p, %u) = -1 EFAULT (%m)\n", p, page_size);
assert(syscall(__NR_sendfile64, sv[1], reg_in, NULL, alen)
== (long) alen);
- printf("sendfile64(%d, %d, NULL, %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen);
+ printf("sendfile64(%d, %d, NULL, %u) = %u\n",
+ sv[1], reg_in, alen, alen);
assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, alen)
== (long) alen);
- printf("sendfile64(%d, %d, [0] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen, (unsigned long) alen);
+ printf("sendfile64(%d, %d, [0] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, alen, alen);
- assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, stb.st_size + 1)
+ assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, file_size + 1)
== (long) blen);
- printf("sendfile64(%d, %d, [%lu] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) stb.st_size,
- (unsigned long) stb.st_size + 1,
- (unsigned long) blen);
+ printf("sendfile64(%d, %d, [%u] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, file_size, file_size + 1, blen);
*p_off = 0xcafef00dfacefeedULL;
assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, 1) == -1);
diff --git a/tests-m32/sigaction.c b/tests-m32/sigaction.c
index 1c034ff3..7b469445 100644
--- a/tests-m32/sigaction.c
+++ b/tests-m32/sigaction.c
@@ -1,5 +1,7 @@
/*
- * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of sigaction syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -25,43 +27,173 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <assert.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigaction
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+struct set_sa {
+#if defined MIPS
+ unsigned int flags;
+ unsigned long handler;
+ unsigned long mask[1];
+#elif defined ALPHA
+ unsigned long handler;
+ unsigned long mask[1];
+ unsigned int flags;
+#else
+ unsigned long handler;
+ unsigned long mask[1];
+ unsigned long flags;
+ unsigned long restorer;
+#endif
+}
+#ifdef ALPHA
+ ATTRIBUTE_PACKED
+#endif
+;
+
+typedef struct set_sa struct_set_sa;
+
+#ifdef MIPS
+
+struct get_sa {
+ unsigned int flags;
+ unsigned long handler;
+ unsigned long mask[4];
+};
+
+typedef struct get_sa struct_get_sa;
-static void handle_signal(int no)
+#else
+
+typedef struct set_sa struct_get_sa;
+
+#endif
+
+static long
+k_sigaction(const kernel_ulong_t signum, const kernel_ulong_t new_act,
+ const kernel_ulong_t old_act)
{
- _exit(128 + no);
+ return syscall(__NR_sigaction, signum, new_act, old_act);
}
+#if defined SPARC || defined SPARC64
+static const kernel_ulong_t signo =
+ (kernel_ulong_t) 0xbadc0ded00000000ULL | (unsigned int) -SIGUSR1;
+# define SIG_STR "-SIGUSR1"
+#else
+static const kernel_ulong_t signo =
+ (kernel_ulong_t) 0xbadc0ded00000000ULL | SIGUSR1;
+# define SIG_STR "SIGUSR1"
+#endif
+
int
main(void)
{
- struct sigaction sa, sa0;
-
- sa.sa_handler = SIG_IGN;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask, SIGHUP);
- sigaddset(&sa.sa_mask, SIGINT);
- sa.sa_flags = SA_RESTART;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sa.sa_handler = handle_signal;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask, SIGQUIT);
- sigaddset(&sa.sa_mask, SIGTERM);
- sa.sa_flags = SA_SIGINFO;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sa.sa_handler = SIG_DFL;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sigfillset(&sa.sa_mask);
- sigdelset(&sa.sa_mask, SIGHUP);
- assert(!sigaction(SIGUSR2, &sa, &sa0));
+ static const kernel_ulong_t addr =
+ (kernel_ulong_t) 0xfacefeed0defacedULL;
+ union {
+ sigset_t libc[1];
+ unsigned long old[1];
+ } mask;
+
+ TAIL_ALLOC_OBJECT_CONST_PTR(struct_set_sa, new_act);
+ TAIL_ALLOC_OBJECT_CONST_PTR(struct_get_sa, old_act);
+
+ if (k_sigaction(signo, 0, 0))
+ perror_msg_and_skip("sigaction");
+ puts("sigaction(" SIG_STR ", NULL, NULL) = 0");
+
+ k_sigaction(signo, 0, 0);
+ puts("sigaction(" SIG_STR ", NULL, NULL) = 0");
+
+ k_sigaction(signo, (uintptr_t) (new_act + 1), 0);
+ printf("sigaction(" SIG_STR ", %p, NULL) = -1 EFAULT (%m)\n",
+ new_act + 1);
+
+ k_sigaction(signo, (uintptr_t) new_act + 2, 0);
+ printf("sigaction(" SIG_STR ", %#lx, NULL) = -1 EFAULT (%m)\n",
+ (unsigned long) new_act + 2);
+ k_sigaction(signo, 0, (uintptr_t) (old_act + 1));
+ printf("sigaction(" SIG_STR ", NULL, %p) = -1 EFAULT (%m)\n",
+ old_act + 1);
+
+ k_sigaction(signo, 0, (uintptr_t) old_act + 2);
+ printf("sigaction(" SIG_STR ", NULL, %#lx) = -1 EFAULT (%m)\n",
+ (unsigned long) old_act + 2);
+
+ k_sigaction(addr, 0, 0);
+ printf("sigaction(%d, NULL, NULL) = -1 EINVAL (%m)\n", (int) addr);
+
+ memset(new_act, 0, sizeof(*new_act));
+
+ k_sigaction(signo, (uintptr_t) new_act, 0);
+ puts("sigaction(" SIG_STR ", {sa_handler=SIG_DFL, sa_mask=[]"
+ ", sa_flags=0}, NULL) = 0");
+
+ sigemptyset(mask.libc);
+ sigaddset(mask.libc, SIGHUP);
+ sigaddset(mask.libc, SIGINT);
+
+ new_act->handler = (uintptr_t) SIG_IGN;
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+ new_act->flags = SA_SIGINFO;
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ puts("sigaction(" SIG_STR ", {sa_handler=SIG_IGN, sa_mask=[HUP INT]"
+ ", sa_flags=SA_SIGINFO}, {sa_handler=SIG_DFL, sa_mask=[]"
+ ", sa_flags=0}) = 0");
+
+ sigemptyset(mask.libc);
+ sigaddset(mask.libc, SIGQUIT);
+ sigaddset(mask.libc, SIGTERM);
+
+ new_act->handler = (unsigned long) addr;
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+ new_act->flags = SA_ONSTACK | SA_RESTART;
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ printf("sigaction(" SIG_STR ", {sa_handler=%#lx, sa_mask=[QUIT TERM]"
+ ", sa_flags=SA_ONSTACK|SA_RESTART}, {sa_handler=SIG_IGN"
+ ", sa_mask=[HUP INT], sa_flags=SA_SIGINFO}) = 0\n",
+ new_act->handler);
+
+ memset(mask.old, -1, sizeof(mask.old));
+ sigdelset(mask.libc, SIGHUP);
+
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+#ifdef SA_RESTORER
+ new_act->flags = SA_RESTORER;
+ new_act->restorer = (unsigned long) 0xdeadfacecafef00dULL;
+# define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx"
+# define SA_RESTORER_ARGS , new_act->restorer
+#else
+ new_act->flags = SA_NODEFER;
+# define SA_RESTORER_FMT ", sa_flags=SA_NODEFER"
+# define SA_RESTORER_ARGS
+#endif
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ printf("sigaction(" SIG_STR ", {sa_handler=%#lx, sa_mask=~[HUP]"
+ SA_RESTORER_FMT "}, {sa_handler=%#lx, sa_mask=[QUIT TERM]"
+ ", sa_flags=SA_ONSTACK|SA_RESTART}) = 0\n",
+ new_act->handler SA_RESTORER_ARGS,
+ new_act->handler);
+
+ puts("+++ exited with 0 +++");
return 0;
}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigaction")
+
+#endif
diff --git a/tests-m32/sigaction.gen.test b/tests-m32/sigaction.gen.test
new file mode 100755
index 00000000..dee340e8
--- /dev/null
+++ b/tests-m32/sigaction.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigaction -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests-m32/signal.c b/tests-m32/signal.c
new file mode 100644
index 00000000..edbc3d2d
--- /dev/null
+++ b/tests-m32/signal.c
@@ -0,0 +1,132 @@
+/*
+ * Check decoding of signal syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_signal
+
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+static long
+k_signal(const kernel_ulong_t signum, const kernel_ulong_t handler)
+{
+ return syscall(__NR_signal, signum, handler);
+}
+
+int
+main(void)
+{
+ static const uintptr_t sig_ign = (uintptr_t) SIG_IGN;
+ static const uintptr_t sig_dfl = (uintptr_t) SIG_DFL;
+ static const kernel_ulong_t sigusr1 =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIGUSR1;
+ static const struct sigaction act = { .sa_handler = SIG_DFL };
+ long rc;
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGUSR1);
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_BLOCK");
+
+ if (sigaction(SIGUSR1, &act, NULL))
+ perror_msg_and_fail("sigaction");
+
+ rc = k_signal(sigusr1, sig_ign);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_IGN) = %s\n", sprintrc(rc));
+ } else if (rc != (long) sig_dfl) {
+ error_msg_and_fail("signal(SIGUSR1, SIG_IGN) = %#lx\n", rc);
+ } else {
+ printf("signal(SIGUSR1, SIG_IGN) = %#lx (SIG_DFL)\n", rc);
+
+ /*
+ * Raise and unblock SIGUSR1.
+ * If signal syscall failed to set SIGUSR1 handler to SIG_IGN,
+ * the process will be terminated by SIGUSR1.
+ */
+ raise(SIGUSR1);
+ if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_UNBLOCK");
+
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_BLOCK");
+ }
+
+ rc = k_signal(SIGUSR1, sig_dfl);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_DFL) = %s\n", sprintrc(rc));
+ } else if (rc != (long) sig_ign) {
+ error_msg_and_fail("signal(SIGUSR1, SIG_DFL) = %#lx\n", rc);
+ } else {
+ printf("signal(SIGUSR1, SIG_DFL) = %#lx (SIG_IGN)\n", rc);
+ }
+
+ const kernel_ulong_t addr = (kernel_ulong_t) 0xfacefeeddeadbeefULL;
+ rc = k_signal(SIGUSR1, addr);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, %#llx) = %s\n",
+ (unsigned long long) addr, sprintrc(rc));
+ } else if (rc != (long) sig_dfl) {
+ error_msg_and_fail("signal(SIGUSR1, %#llx) = %#lx\n",
+ (unsigned long long) addr, rc);
+ } else {
+ printf("signal(SIGUSR1, %#llx) = %#lx (SIG_DFL)\n",
+ (unsigned long long) addr, rc);
+ }
+
+ rc = k_signal(SIGUSR1, sig_ign);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_IGN) = %s\n", sprintrc(rc));
+ } else {
+ printf("signal(SIGUSR1, SIG_IGN) = %#lx\n", rc);
+ }
+
+ rc = k_signal(addr, sig_ign);
+ printf("signal(%d, SIG_IGN) = %s\n", (int) addr, sprintrc(rc));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_signal")
+
+#endif
diff --git a/tests-m32/signal.gen.test b/tests-m32/signal.gen.test
new file mode 100755
index 00000000..81359ca5
--- /dev/null
+++ b/tests-m32/signal.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signal -a25 -e signal=none -e trace='/^signal$'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e signal=none -e trace='/^signal$'
diff --git a/tests-m32/signal2name.c b/tests-m32/signal2name.c
index e301f4ee..73e93b20 100644
--- a/tests-m32/signal2name.c
+++ b/tests-m32/signal2name.c
@@ -50,6 +50,7 @@ signal2name(int sig)
CASE(SIGPWR);
CASE(SIGSTKFLT);
#endif
- default: perror_msg_and_fail("unknown signal number %d", sig);
+ default:
+ perror_msg_and_fail("unknown signal number %d", sig);
}
}
diff --git a/tests-m32/signal_receive.c b/tests-m32/signal_receive.c
index 1c4293e5..01c52e8c 100644
--- a/tests-m32/signal_receive.c
+++ b/tests-m32/signal_receive.c
@@ -25,7 +25,7 @@ main(void)
sigemptyset(&mask);
for (sig = 1; sig <= 31; sig++) {
- if( sig != SIGKILL && sig != SIGSTOP) {
+ if (sig != SIGKILL && sig != SIGSTOP) {
sigaction(sig, &act, NULL);
sigaddset(&mask, sig);
}
@@ -33,7 +33,7 @@ main(void)
sigprocmask(SIG_UNBLOCK, &mask, NULL);
for (sig = 1; sig <= 31; sig++) {
- if(sig != SIGKILL && sig != SIGSTOP) {
+ if (sig != SIGKILL && sig != SIGSTOP) {
if (kill(pid, sig) != 0)
perror_msg_and_fail("kill: %d", sig);
sig_print(signal2name(sig), pid, uid);
diff --git a/tests-m32/sigpending.c b/tests-m32/sigpending.c
new file mode 100644
index 00000000..0ce4b219
--- /dev/null
+++ b/tests-m32/sigpending.c
@@ -0,0 +1,106 @@
+/*
+ * Check decoding of sigpending syscall.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigpending
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+k_sigpending(const kernel_ulong_t set)
+{
+ const long rc = syscall(__NR_sigpending, set);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
+int
+main(void)
+{
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, k_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
+
+ sigemptyset(libc_set);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+
+ if (k_sigpending((uintptr_t) libc_set))
+ perror_msg_and_skip("sigpending");
+ else
+ puts("sigpending([]) = 0");
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([]) = 0");
+
+ k_sigpending((uintptr_t) (k_set + 1));
+ printf("sigpending(%p) = -1 EFAULT (%m)\n", k_set + 1);
+
+ uintptr_t efault = sizeof(*k_set) / 2 + (uintptr_t) k_set;
+ k_sigpending(efault);
+ printf("sigpending(%#jx) = -1 EFAULT (%m)\n", (uintmax_t) efault);
+
+ sigaddset(libc_set, SIGHUP);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+ raise(SIGHUP);
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([HUP]) = 0");
+
+ sigaddset(libc_set, SIGINT);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+ raise(SIGINT);
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([HUP INT]) = 0");
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ k_sigpending(f8ill_ptr_to_kulong(k_set));
+ printf("sigpending(%#jx) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(k_set), errstr);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigpending")
+
+#endif
diff --git a/tests-m32/sigpending.gen.test b/tests-m32/sigpending.gen.test
new file mode 100755
index 00000000..0f4259a3
--- /dev/null
+++ b/tests-m32/sigpending.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigpending -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-m32/sigprocmask.c b/tests-m32/sigprocmask.c
new file mode 100644
index 00000000..92a34d7d
--- /dev/null
+++ b/tests-m32/sigprocmask.c
@@ -0,0 +1,151 @@
+/*
+ * Check decoding of sigprocmask syscall.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigprocmask
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+k_sigprocmask(const kernel_ulong_t how, const kernel_ulong_t new_set,
+ const kernel_ulong_t old_set)
+{
+ const long rc = syscall(__NR_sigprocmask, how, new_set, old_set);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
+int
+main(void)
+{
+ static const kernel_ulong_t sig_block =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_BLOCK;
+ static const kernel_ulong_t sig_unblock =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_UNBLOCK;
+ static const kernel_ulong_t sig_setmask =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_SETMASK;
+
+ if (k_sigprocmask(sig_setmask, 0, 0))
+ perror_msg_and_skip("sigprocmask");
+ puts("sigprocmask(SIG_SETMASK, NULL, NULL) = 0");
+
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, new_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, old_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
+
+ memset(new_set, 0, sizeof(*new_set));
+ k_sigprocmask(sig_setmask, (uintptr_t) new_set, 0);
+ printf("sigprocmask(SIG_SETMASK, [], NULL) = %s\n", errstr);
+
+ k_sigprocmask(sig_unblock,
+ (uintptr_t) (new_set - 1), (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[], []) = 0");
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ k_sigprocmask(sig_unblock, f8ill_ptr_to_kulong(new_set), 0);
+ printf("sigprocmask(SIG_UNBLOCK, %#jx, NULL) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(new_set), errstr);
+
+ k_sigprocmask(sig_unblock, 0, f8ill_ptr_to_kulong(old_set));
+ printf("sigprocmask(SIG_UNBLOCK, NULL, %#jx) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(old_set), errstr);
+ }
+
+ sigemptyset(libc_set);
+ sigaddset(libc_set, SIGHUP);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_block, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_BLOCK, [HUP], []) = 0");
+
+ memset(libc_set, -1, sizeof(*libc_set));
+ sigdelset(libc_set, SIGHUP);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_unblock, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[HUP], [HUP]) = 0");
+
+ sigdelset(libc_set, SIGKILL);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_unblock, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[HUP KILL], [HUP]) = 0");
+
+ sigemptyset(libc_set);
+ sigaddset(libc_set, SIGHUP);
+ sigaddset(libc_set, SIGINT);
+ sigaddset(libc_set, SIGQUIT);
+ sigaddset(libc_set, SIGALRM);
+ sigaddset(libc_set, SIGTERM);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_block, (uintptr_t) new_set, (uintptr_t) old_set);
+ printf("sigprocmask(SIG_BLOCK, %s, [HUP]) = 0\n",
+ "[HUP INT QUIT ALRM TERM]");
+
+ k_sigprocmask(sig_setmask, 0, (uintptr_t) old_set);
+ printf("sigprocmask(SIG_SETMASK, NULL, %s) = 0\n",
+ "[HUP INT QUIT ALRM TERM]");
+
+ k_sigprocmask(sig_setmask, (uintptr_t) (new_set + 1), 0);
+ printf("sigprocmask(SIG_SETMASK, %p, NULL) = %s\n",
+ new_set + 1, errstr);
+
+ k_sigprocmask(sig_setmask,
+ (uintptr_t) new_set, (uintptr_t) (old_set + 1));
+ printf("sigprocmask(SIG_SETMASK, %s, %p) = %s\n",
+ "[HUP INT QUIT ALRM TERM]", old_set + 1, errstr);
+
+ uintptr_t efault = sizeof(*new_set) / 2 + (uintptr_t) new_set;
+
+ k_sigprocmask(sig_setmask, efault, 0);
+ printf("sigprocmask(SIG_SETMASK, %#jx, NULL) = %s\n",
+ (uintmax_t) efault, errstr);
+
+ k_sigprocmask(sig_setmask, 0, efault);
+ printf("sigprocmask(SIG_SETMASK, NULL, %#jx) = %s\n",
+ (uintmax_t) efault, errstr);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigprocmask")
+
+#endif
diff --git a/tests-m32/sigprocmask.gen.test b/tests-m32/sigprocmask.gen.test
new file mode 100755
index 00000000..44a508ce
--- /dev/null
+++ b/tests-m32/sigprocmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigprocmask -a34); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34
diff --git a/tests-m32/sockname.c b/tests-m32/sockname.c
index 9bab8eda..58726712 100644
--- a/tests-m32/sockname.c
+++ b/tests-m32/sockname.c
@@ -42,9 +42,7 @@
# error TEST_SYSCALL_NAME must be defined
#endif
-#define TEST_SYSCALL_STR__(a) #a
-#define TEST_SYSCALL_STR_(a) TEST_SYSCALL_STR__(a)
-#define TEST_SYSCALL_STR TEST_SYSCALL_STR_(TEST_SYSCALL_NAME)
+#define TEST_SYSCALL_STR STRINGIFY_VAL(TEST_SYSCALL_NAME)
#define TEST_SOCKET TEST_SYSCALL_STR ".socket"
#ifdef TEST_SYSCALL_PREPARE
diff --git a/tests-m32/stack-fcall.c b/tests-m32/stack-fcall.c
index 134d54f6..fc9ee5f9 100644
--- a/tests-m32/stack-fcall.c
+++ b/tests-m32/stack-fcall.c
@@ -1,6 +1,6 @@
int f0(int i);
-int main(int argc, char** argv)
+int main(int argc, char **argv)
{
f0(argc);
return 0;
diff --git a/tests-m32/statx.c b/tests-m32/statx.c
index f36fb0e1..816b7eb1 100644
--- a/tests-m32/statx.c
+++ b/tests-m32/statx.c
@@ -49,7 +49,7 @@ static const char *TEST_SYSCALL_STATX_MASK_STR = "STATX_ALL";
# define TEST_SYSCALL_INVOKE(sample, pst) \
syscall(__NR_statx, AT_FDCWD, sample, TEST_SYSCALL_STATX_FLAGS, \
- TEST_SYSCALL_STATX_MASK, pst)
+ TEST_SYSCALL_STATX_MASK, pst)
# define PRINT_SYSCALL_HEADER(sample) \
do { \
int saved_errno = errno; \
diff --git a/tests-m32/strace-V.test b/tests-m32/strace-V.test
index d5c3ac08..8db13956 100755
--- a/tests-m32/strace-V.test
+++ b/tests-m32/strace-V.test
@@ -23,7 +23,7 @@ config_year=$(getval COPYRIGHT_YEAR)
cat > "$EXP" << __EOF__
$(getval PACKAGE_NAME) -- version $(getval PACKAGE_VERSION)
-Copyright (C) 1991-${config_year} The strace developers <$(getval PACKAGE_URL)>.
+Copyright (c) 1991-${config_year} The strace developers <$(getval PACKAGE_URL)>.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
__EOF__
diff --git a/tests-m32/termsig.test b/tests-m32/termsig.test
new file mode 100755
index 00000000..fd8852ce
--- /dev/null
+++ b/tests-m32/termsig.test
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Check termination signal forwarding.
+
+. "${srcdir=.}/init.sh"
+
+run_expect_termsig="../run_expect_termsig 15"
+unblock_reset_raise="../unblock_reset_raise 15"
+
+run_prog $run_expect_termsig $unblock_reset_raise
+STRACE="$run_expect_termsig $STRACE"
+
+for i in 1 2 3 4; do
+ run_strace -I$i -enone -esignal=none $unblock_reset_raise
+done
diff --git a/tests-m32/test_nlattr.h b/tests-m32/test_nlattr.h
new file mode 100644
index 00000000..8cbb2115
--- /dev/null
+++ b/tests-m32/test_nlattr.h
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include "print_fields.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+
+static void
+init_nlattr(struct nlattr *const nla,
+ const uint16_t nla_len,
+ const uint16_t nla_type,
+ const void *const src,
+ const size_t n)
+{
+ SET_STRUCT(struct nlattr, nla,
+ .nla_len = nla_len,
+ .nla_type = nla_type,
+ );
+
+ memcpy(RTA_DATA(nla), src, n);
+}
+
+static void
+print_nlattr(const unsigned int nla_len, const char *const nla_type)
+{
+ printf(", {{nla_len=%u, nla_type=%s}, ", nla_len, nla_type);
+}
+
+#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, nla_type_str_, \
+ nla_data_len_, src_, slen_, ...) \
+ do { \
+ struct nlmsghdr *const nlh = \
+ (nlh0_) - (NLA_HDRLEN + (slen_)); \
+ struct nlattr *const nla = NLMSG_ATTR(nlh, (hdrlen_)); \
+ const unsigned int nla_len = \
+ NLA_HDRLEN + (nla_data_len_); \
+ const unsigned int msg_len = \
+ NLMSG_SPACE(hdrlen_) + nla_len; \
+ \
+ (init_msg_)(nlh, msg_len); \
+ init_nlattr(nla, nla_len, (nla_type_), \
+ (src_), (slen_)); \
+ \
+ const char *const errstr = \
+ sprintrc(sendto((fd_), nlh, msg_len, \
+ MSG_DONTWAIT, NULL, 0)); \
+ \
+ printf("sendto(%d, {", (fd_)); \
+ (print_msg_)(msg_len); \
+ print_nlattr(nla_len, (nla_type_str_)); \
+ \
+ { __VA_ARGS__; } \
+ \
+ printf("}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", \
+ msg_len, errstr); \
+ } while (0)
+
+#define TEST_NLATTR(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, \
+ nla_data_len_, src_, slen_, ...) \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ (nla_data_len_), (src_), (slen_), __VA_ARGS__)
+
+#define TEST_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, pattern_, obj_, ...) \
+ do { \
+ const int plen = sizeof(obj_) - 1 > DEFAULT_STRLEN \
+ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \
+ /* len < sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_) - 1, \
+ (pattern_), sizeof(obj_) - 1, \
+ printf("\"%.*s\"", plen, (pattern_))); \
+ /* short read of sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ (pattern_), sizeof(obj_) - 1, \
+ printf("%p", \
+ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))))); \
+ /* sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_), \
+ __VA_ARGS__); \
+ } while (0)
+
+#define TEST_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, pattern_, obj_, print_elem_) \
+ do { \
+ const int plen = \
+ sizeof((obj_)[0]) - 1 > DEFAULT_STRLEN \
+ ? DEFAULT_STRLEN : (int) sizeof((obj_)[0]) - 1; \
+ /* len < sizeof((obj_)[0]) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof((obj_)[0]) - 1, \
+ (pattern_), sizeof((obj_)[0]) - 1, \
+ printf("\"%.*s\"", plen, (pattern_))); \
+ /* sizeof((obj_)[0]) < len < sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_) - 1, \
+ &(obj_), sizeof(obj_) - 1, \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf("]")); \
+ /* short read of sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_) - 1, \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf(", %p]", \
+ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))) \
+ + sizeof((obj_)[0]))); \
+ /* sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_), \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf("]")); \
+ } while (0)
diff --git a/tests-m32/tests.h b/tests-m32/tests.h
index dcc10576..094f3650 100644
--- a/tests-m32/tests.h
+++ b/tests-m32/tests.h
@@ -36,12 +36,26 @@
# include <sys/types.h>
# include "kernel_types.h"
# include "gcc_compat.h"
+# include "macros.h"
+
+/*
+ * The printf-like function to use in header files
+ * shared between strace and its tests.
+ */
+#ifndef STRACE_PRINTF
+# define STRACE_PRINTF printf
+#endif
/* Tests of "strace -v" are expected to define VERBOSE to 1. */
#ifndef VERBOSE
# define VERBOSE 0
#endif
+#ifndef DEFAULT_STRLEN
+/* Default maximum # of bytes printed in printstr et al. */
+# define DEFAULT_STRLEN 32
+#endif
+
/* Cached sysconf(_SC_PAGESIZE). */
size_t get_page_size(void);
@@ -66,7 +80,7 @@ void skip_if_unavailable(const char *);
/*
* Allocate memory that ends on the page boundary.
- * Pages allocated by this call are preceeded by an unmapped page
+ * Pages allocated by this call are preceded by an unmapped page
* and followed also by an unmapped page.
*/
void *tail_alloc(const size_t)
@@ -167,6 +181,10 @@ struct timespec;
int recv_mmsg(int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *);
int send_mmsg(int, struct mmsghdr *, unsigned int, unsigned int);
+/* Create a netlink socket. */
+int create_nl_socket_ext(int proto, const char *name);
+#define create_nl_socket(proto) create_nl_socket_ext((proto), #proto)
+
/* Create a pipe with maximized descriptor numbers. */
void pipe_maxfd(int pipefd[2]);
@@ -186,7 +204,6 @@ f8ill_ptr_to_kulong(const void *const ptr)
? F8ILL_KULONG_MASK | uptr : (kernel_ulong_t) uptr;
}
-# define ARRAY_SIZE(arg) ((unsigned int) (sizeof(arg) / sizeof((arg)[0])))
# define LENGTH_OF(arg) ((unsigned int) sizeof(arg) - 1)
/* Zero-extend a signed integer type to unsigned long long. */
@@ -239,4 +256,16 @@ f8ill_ptr_to_kulong(const void *const ptr)
# define ARG_STR(_arg) (_arg), #_arg
# define ARG_ULL_STR(_arg) _arg##ULL, #_arg
+/*
+ * Assign an object of type DEST_TYPE at address DEST_ADDR
+ * using memcpy to avoid potential unaligned access.
+ */
+#define SET_STRUCT(DEST_TYPE, DEST_ADDR, ...) \
+ do { \
+ DEST_TYPE dest_type_tmp_var = { __VA_ARGS__ }; \
+ memcpy(DEST_ADDR, &dest_type_tmp_var, sizeof(dest_type_tmp_var)); \
+ } while (0)
+
+#define NLMSG_ATTR(nlh, hdrlen) ((void *)(nlh) + NLMSG_SPACE(hdrlen))
+
#endif /* !STRACE_TESTS_H */
diff --git a/tests-m32/times-fail.c b/tests-m32/times-fail.c
index cb69bd43..bc8b4595 100644
--- a/tests-m32/times-fail.c
+++ b/tests-m32/times-fail.c
@@ -5,7 +5,7 @@
#include <asm/unistd.h>
int
-main (void)
+main(void)
{
assert(syscall(__NR_times, 0x42) == -1);
printf("times(0x42) = -1 EFAULT (%m)\n");
diff --git a/tests-m32/times.c b/tests-m32/times.c
index 2c7b95e5..c4cce0e8 100644
--- a/tests-m32/times.c
+++ b/tests-m32/times.c
@@ -49,7 +49,7 @@ enum {
};
int
-main (void)
+main(void)
{
struct timespec ts;
volatile int dummy = 0;
diff --git a/tests-m32/uio.c b/tests-m32/uio.c
index 6291f972..21f005d9 100644
--- a/tests-m32/uio.c
+++ b/tests-m32/uio.c
@@ -39,16 +39,16 @@ main(void)
{
const off_t offset = 0xdefaceddeadbeefLL;
char buf[4];
- struct iovec iov = { buf, sizeof buf };
+ struct iovec iov = { buf, sizeof(buf) };
(void) close(0);
assert(open("/dev/zero", O_RDONLY) == 0);
- assert(pread(0, buf, sizeof buf, offset) == 4);
+ assert(pread(0, buf, sizeof(buf), offset) == 4);
assert(preadv(0, &iov, 1, offset) == 4);
assert(!close(0));
assert(open("/dev/null", O_WRONLY) == 0);
- assert(pwrite(0, buf, sizeof buf, offset) == 4);
+ assert(pwrite(0, buf, sizeof(buf), offset) == 4);
assert(pwritev(0, &iov, 1, offset) == 4);
assert(!close(0));
diff --git a/tests-m32/unblock_reset_raise.c b/tests-m32/unblock_reset_raise.c
new file mode 100644
index 00000000..4182f129
--- /dev/null
+++ b/tests-m32/unblock_reset_raise.c
@@ -0,0 +1,54 @@
+/*
+ * Unblock, reset, and raise a signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac != 2)
+ error_msg_and_fail("usage: unblock_raise signo");
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ const int signo = atoi(av[1]);
+ if (sigaddset(&mask, signo))
+ perror_msg_and_fail("sigaddset: %s", av[1]);
+ if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask");
+ if (signal(signo, SIG_DFL) == SIG_ERR)
+ perror_msg_and_fail("signal: %s", av[1]);
+ if (raise(signo))
+ perror_msg_and_fail("raise: %s", av[1]);
+
+ return 0;
+}
diff --git a/tests-m32/unix-pair-sendto-recvfrom.c b/tests-m32/unix-pair-sendto-recvfrom.c
index cea382c9..a0c710ac 100644
--- a/tests-m32/unix-pair-sendto-recvfrom.c
+++ b/tests-m32/unix-pair-sendto-recvfrom.c
@@ -71,7 +71,7 @@ main(int ac, char **av)
assert(recvfrom(0, av[1], len, MSG_WAITALL, NULL, NULL) == len);
assert(close(0) == 0);
- int status;
+ int status;
assert(waitpid(pid, &status, 0) == pid);
assert(status == 0);
} else {
diff --git a/tests-m32/vmsplice.c b/tests-m32/vmsplice.c
index f29962e3..4242d9e6 100644
--- a/tests-m32/vmsplice.c
+++ b/tests-m32/vmsplice.c
@@ -86,7 +86,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(iov_),
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(iov_),
"SPLICE_F_NONBLOCK", len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
diff --git a/tests-m32/waitid.c b/tests-m32/waitid.c
index b56feea4..26f5b869 100644
--- a/tests-m32/waitid.c
+++ b/tests-m32/waitid.c
@@ -111,7 +111,8 @@ si_code_2_name(const int code)
#ifdef CLD_CONTINUED
CASE(CLD_CONTINUED);
#endif
- default: perror_msg_and_fail("unknown si_code %d", code);
+ default:
+ perror_msg_and_fail("unknown si_code %d", code);
}
}
diff --git a/tests-m32/xattr.c b/tests-m32/xattr.c
index a772eced..03b4270a 100644
--- a/tests-m32/xattr.c
+++ b/tests-m32/xattr.c
@@ -36,8 +36,6 @@
# define XATTR_SIZE_MAX 65536
# endif
-#define DEFAULT_STRLEN 32
-
int
main(void)
{
diff --git a/tests-m32/xchownx.c b/tests-m32/xchownx.c
index fe582835..e415feff 100644
--- a/tests-m32/xchownx.c
+++ b/tests-m32/xchownx.c
@@ -45,10 +45,17 @@
# define CHECK_OVERFLOWGID(arg)
#endif
-#define UNLINK_SAMPLE \
- if (unlink(sample)) perror_msg_and_fail("unlink")
-#define CLOSE_SAMPLE \
- if (close(fd)) perror_msg_and_fail("close")
+#define UNLINK_SAMPLE \
+ do { \
+ if (unlink(sample)) \
+ perror_msg_and_fail("unlink"); \
+ } while (0)
+
+#define CLOSE_SAMPLE \
+ do { \
+ if (close(fd)) \
+ perror_msg_and_fail("close"); \
+ } while (0)
#ifdef ACCESS_BY_DESCRIPTOR
# define SYSCALL_ARG1 fd
diff --git a/tests-m32/xselect.c b/tests-m32/xselect.c
index e1638c8c..6c8cd81e 100644
--- a/tests-m32/xselect.c
+++ b/tests-m32/xselect.c
@@ -136,7 +136,7 @@ int main(void)
* but with a pointer to a large chunk of valid memory.
*/
FD_ZERO(set);
- FD_SET(fds[1],set);
+ FD_SET(fds[1], set);
assert(syscall(TEST_SYSCALL_NR, -1, NULL, set, NULL, NULL) == -1);
printf("%s(-1, NULL, %p, NULL, NULL) = -1 EINVAL (%m)\n",
TEST_SYSCALL_STR, set);
@@ -145,7 +145,7 @@ int main(void)
* Another variant, with nfds exceeding FD_SETSIZE limit.
*/
FD_ZERO(set);
- FD_SET(fds[0],set);
+ FD_SET(fds[0], set);
tv->tv_sec = 0;
tv->tv_usec = 123;
assert(syscall(TEST_SYSCALL_NR, FD_SETSIZE + 1, set, set + 1, NULL, tv) == 0);
diff --git a/tests-m32/xstatfsx.c b/tests-m32/xstatfsx.c
index cb524ff3..33254dd9 100644
--- a/tests-m32/xstatfsx.c
+++ b/tests-m32/xstatfsx.c
@@ -38,12 +38,17 @@
#include "xlat/statfs_flags.h"
#define PRINT_NUM(arg) \
- if (sizeof(b->arg) == sizeof(int)) \
- printf(", %s=%u", #arg, (unsigned int) b->arg); \
- else if (sizeof(b->arg) == sizeof(long)) \
- printf(", %s=%lu", #arg, (unsigned long) b->arg); \
- else \
- printf(", %s=%llu", #arg, (unsigned long long) b->arg)
+ do { \
+ if (sizeof(b->arg) == sizeof(int)) \
+ printf(", %s=%u", #arg, \
+ (unsigned int) b->arg); \
+ else if (sizeof(b->arg) == sizeof(long)) \
+ printf(", %s=%lu", #arg, \
+ (unsigned long) b->arg); \
+ else \
+ printf(", %s=%llu", #arg, \
+ (unsigned long long) b->arg); \
+ } while (0)
static void
print_statfs_type(const char *const prefix, const unsigned int magic)
diff --git a/tests-m32/xstatx.c b/tests-m32/xstatx.c
index 8758ef81..7fb93265 100644
--- a/tests-m32/xstatx.c
+++ b/tests-m32/xstatx.c
@@ -48,6 +48,7 @@
# include <unistd.h>
# include <sys/sysmacros.h>
+# include "print_fields.h"
# include "statx.h"
# ifndef STRUCT_STAT
@@ -178,14 +179,16 @@ print_stat(const STRUCT_STAT *st)
# define HAVE_NSEC 0
# endif
-#define PRINT_ST_TIME(field) \
- printf(", st_" #field "=%lld", \
- sign_extend_unsigned_to_ll(st->st_ ## field)); \
- print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field), \
- TIME_NSEC(st->st_ ## field ## _nsec), 1); \
- if (HAVE_NSEC) \
- printf(", st_" #field "_nsec=%llu", \
- TIME_NSEC(st->st_ ## field ## _nsec))
+#define PRINT_ST_TIME(field) \
+ do { \
+ printf(", st_" #field "=%lld", \
+ sign_extend_unsigned_to_ll(st->st_ ## field)); \
+ print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field), \
+ TIME_NSEC(st->st_ ## field ## _nsec), 1); \
+ if (HAVE_NSEC) \
+ printf(", st_" #field "_nsec=%llu", \
+ TIME_NSEC(st->st_ ## field ## _nsec)); \
+ } while (0)
PRINT_ST_TIME(atime);
PRINT_ST_TIME(mtime);
@@ -198,31 +201,34 @@ print_stat(const STRUCT_STAT *st)
static void
print_stat(const STRUCT_STAT *st)
{
-# define PRINT_FIELD_U(field) \
- printf(", %s=%llu", #field, (unsigned long long) st->field)
-
-# define PRINT_FIELD_U32_UID(field) \
- if (st->field == (uint32_t) -1) \
- printf(", %s=-1", #field); \
- else \
- printf(", %s=%llu", #field, (unsigned long long) st->field)
-
-# define PRINT_FIELD_TIME(field) \
- printf(", %s={tv_sec=%lld, tv_nsec=%u}", \
- #field, (long long) st->field.tv_sec, \
- (unsigned) st->field.tv_nsec); \
- print_time_t_nsec(st->field.tv_sec, \
- zero_extend_signed_to_ull(st->field.tv_nsec), 1);
+# define PRINT_FIELD_U32_UID(field) \
+ do { \
+ if (st->field == (uint32_t) -1) \
+ printf(", %s=-1", #field); \
+ else \
+ printf(", %s=%llu", #field, \
+ (unsigned long long) st->field); \
+ } while (0)
+
+# define PRINT_FIELD_TIME(field) \
+ do { \
+ printf(", %s={tv_sec=%lld, tv_nsec=%u}", \
+ #field, (long long) st->field.tv_sec, \
+ (unsigned) st->field.tv_nsec); \
+ print_time_t_nsec(st->field.tv_sec, \
+ zero_extend_signed_to_ull(st->field.tv_nsec), \
+ 1); \
+ } while (0)
printf("{stx_mask=");
printflags(statx_masks, st->stx_mask, "STATX_???");
- PRINT_FIELD_U(stx_blksize);
+ PRINT_FIELD_U(", ", *st, stx_blksize);
printf(", stx_attributes=");
printflags(statx_attrs, st->stx_attributes, "STATX_ATTR_???");
- PRINT_FIELD_U(stx_nlink);
+ PRINT_FIELD_U(", ", *st, stx_nlink);
PRINT_FIELD_U32_UID(stx_uid);
PRINT_FIELD_U32_UID(stx_gid);
@@ -231,9 +237,9 @@ print_stat(const STRUCT_STAT *st)
printf("|");
print_perms(st->stx_mode);
- PRINT_FIELD_U(stx_ino);
- PRINT_FIELD_U(stx_size);
- PRINT_FIELD_U(stx_blocks);
+ PRINT_FIELD_U(", ", *st, stx_ino);
+ PRINT_FIELD_U(", ", *st, stx_size);
+ PRINT_FIELD_U(", ", *st, stx_blocks);
printf(", stx_attributes_mask=");
printflags(statx_attrs, st->stx_attributes_mask, "STATX_ATTR_???");
@@ -242,10 +248,10 @@ print_stat(const STRUCT_STAT *st)
PRINT_FIELD_TIME(stx_btime);
PRINT_FIELD_TIME(stx_ctime);
PRINT_FIELD_TIME(stx_mtime);
- PRINT_FIELD_U(stx_rdev_major);
- PRINT_FIELD_U(stx_rdev_minor);
- PRINT_FIELD_U(stx_dev_major);
- PRINT_FIELD_U(stx_dev_minor);
+ PRINT_FIELD_U(", ", *st, stx_rdev_major);
+ PRINT_FIELD_U(", ", *st, stx_rdev_minor);
+ PRINT_FIELD_U(", ", *st, stx_dev_major);
+ PRINT_FIELD_U(", ", *st, stx_dev_minor);
printf("}");
}
@@ -388,24 +394,30 @@ main(void)
# if IS_STATX
-# define INVOKE() \
- rc = TEST_SYSCALL_INVOKE(sample, st); \
- PRINT_SYSCALL_HEADER(sample); \
- if (rc) \
- printf("%p", st); \
- else \
- print_stat(st); \
- PRINT_SYSCALL_FOOTER(rc)
-
-# define SET_FLAGS_INVOKE(flags, flags_str) \
- TEST_SYSCALL_STATX_FLAGS = flags; \
- TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
- INVOKE()
-
-# define SET_MASK_INVOKE(mask, mask_str) \
- TEST_SYSCALL_STATX_MASK = mask; \
- TEST_SYSCALL_STATX_MASK_STR = mask_str; \
- INVOKE()
+# define INVOKE() \
+ do { \
+ rc = TEST_SYSCALL_INVOKE(sample, st); \
+ PRINT_SYSCALL_HEADER(sample); \
+ if (rc) \
+ printf("%p", st); \
+ else \
+ print_stat(st); \
+ PRINT_SYSCALL_FOOTER(rc); \
+ } while (0)
+
+# define SET_FLAGS_INVOKE(flags, flags_str) \
+ do { \
+ TEST_SYSCALL_STATX_FLAGS = flags; \
+ TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
+ INVOKE(); \
+ } while (0)
+
+# define SET_MASK_INVOKE(mask, mask_str) \
+ do { \
+ TEST_SYSCALL_STATX_MASK = mask; \
+ TEST_SYSCALL_STATX_MASK_STR = mask_str; \
+ INVOKE(); \
+ } while (0)
unsigned old_flags = TEST_SYSCALL_STATX_FLAGS;
const char *old_flags_str = TEST_SYSCALL_STATX_FLAGS_STR;
diff --git a/tests-m32/zeroargc.c b/tests-m32/zeroargc.c
new file mode 100644
index 00000000..05d47dc3
--- /dev/null
+++ b/tests-m32/zeroargc.c
@@ -0,0 +1,43 @@
+/*
+ * Execute an executable with zero argc and specified anvironment.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(const int ac, char **const av)
+{
+ if (ac < 2)
+ error_msg_and_fail("missing operand");
+ const char *const path = av[1];
+ av[1] = 0;
+ execve(path, av + 1, av + 2);
+ perror_msg_and_fail("execve: %s", path);
+}
diff --git a/tests-mx32/Makefile b/tests-mx32/Makefile
deleted file mode 100644
index 783858dc..00000000
--- a/tests-mx32/Makefile
+++ /dev/null
@@ -1,7114 +0,0 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
-# tests-mx32/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-# Automake input for strace tests.
-#
-# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2011-2017 The strace developers.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# scno.h make rules for strace.
-#
-# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/strace
-pkgincludedir = $(includedir)/strace
-pkglibdir = $(libdir)/strace
-pkglibexecdir = $(libexecdir)/strace
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = x86_64-pc-linux-gnu
-host_triplet = x86_64-pc-linux-gnu
-DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
- $(srcdir)/../scno.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/depcomp \
- $(top_srcdir)/test-driver
-check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
- attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
- attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
- execve-v$(EXEEXT) execveat-v$(EXEEXT) \
- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
- getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
- ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
- ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
- ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
- msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
- netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
- netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
- perf_event_open_nonverbose$(EXEEXT) \
- perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
- prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
- print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
- qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
- qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
- quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
- redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
- scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
- seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
- signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
- threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
- unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
- wait4-v$(EXEEXT) waitid-v$(EXEEXT)
-TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
-subdir = tests-mx32
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
- $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
- $(top_srcdir)/m4/ax_valgrind_check.m4 \
- $(top_srcdir)/m4/mpers.m4 \
- $(top_srcdir)/m4/st_save_restore_var.m4 \
- $(top_srcdir)/m4/st_warn_cflags.m4 \
- $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AR = ar
-ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
-am__v_AR_0 = @echo " AR " $@;
-am__v_AR_1 =
-libtests_a_AR = $(AR) $(ARFLAGS)
-libtests_a_LIBADD =
-am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
- libtests_a-error_msg.$(OBJEXT) \
- libtests_a-fill_memory.$(OBJEXT) \
- libtests_a-get_page_size.$(OBJEXT) \
- libtests_a-get_sigset_size.$(OBJEXT) \
- libtests_a-hexdump_strdup.$(OBJEXT) \
- libtests_a-hexquote_strndup.$(OBJEXT) \
- libtests_a-inode_of_sockfd.$(OBJEXT) \
- libtests_a-libmmsg.$(OBJEXT) \
- libtests_a-libsocketcall.$(OBJEXT) \
- libtests_a-overflowuid.$(OBJEXT) \
- libtests_a-pipe_maxfd.$(OBJEXT) \
- libtests_a-print_quoted_string.$(OBJEXT) \
- libtests_a-print_time.$(OBJEXT) \
- libtests_a-printflags.$(OBJEXT) libtests_a-printxval.$(OBJEXT) \
- libtests_a-signal2name.$(OBJEXT) \
- libtests_a-skip_unavailable.$(OBJEXT) \
- libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
- libtests_a-tprintf.$(OBJEXT)
-libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
-am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
- access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
- adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
- brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
- chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
- clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
- clock_xettime$(EXEEXT) copy_file_range$(EXEEXT) creat$(EXEEXT) \
- delete_module$(EXEEXT) dup$(EXEEXT) dup2$(EXEEXT) \
- dup3$(EXEEXT) epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
- epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
- erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
- fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
- fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) fchdir$(EXEEXT) \
- fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
- fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
- fcntl64$(EXEEXT) fdatasync$(EXEEXT) file_handle$(EXEEXT) \
- file_ioctl$(EXEEXT) finit_module$(EXEEXT) flock$(EXEEXT) \
- fstat$(EXEEXT) fstat64$(EXEEXT) fstatat64$(EXEEXT) \
- fstatfs$(EXEEXT) fstatfs64$(EXEEXT) fsync$(EXEEXT) \
- ftruncate$(EXEEXT) ftruncate64$(EXEEXT) futex$(EXEEXT) \
- futimesat$(EXEEXT) get_mempolicy$(EXEEXT) getcpu$(EXEEXT) \
- getcwd$(EXEEXT) getdents$(EXEEXT) getdents64$(EXEEXT) \
- getegid$(EXEEXT) getegid32$(EXEEXT) geteuid$(EXEEXT) \
- geteuid32$(EXEEXT) getgid$(EXEEXT) getgid32$(EXEEXT) \
- getgroups$(EXEEXT) getgroups32$(EXEEXT) getpeername$(EXEEXT) \
- getpgrp$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
- getrandom$(EXEEXT) getresgid$(EXEEXT) getresgid32$(EXEEXT) \
- getresuid$(EXEEXT) getresuid32$(EXEEXT) getrlimit$(EXEEXT) \
- getrusage$(EXEEXT) getsid$(EXEEXT) getsockname$(EXEEXT) \
- getuid$(EXEEXT) getuid32$(EXEEXT) getxxid$(EXEEXT) \
- inet-cmsg$(EXEEXT) init_module$(EXEEXT) inotify$(EXEEXT) \
- inotify_init1$(EXEEXT) ioctl$(EXEEXT) ioctl_block$(EXEEXT) \
- ioctl_dm$(EXEEXT) ioctl_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
- ioctl_mtd$(EXEEXT) ioctl_rtc$(EXEEXT) ioctl_scsi$(EXEEXT) \
- ioctl_sg_io_v3$(EXEEXT) ioctl_sg_io_v4$(EXEEXT) \
- ioctl_sock_gifconf$(EXEEXT) ioctl_uffdio$(EXEEXT) \
- ioctl_v4l2$(EXEEXT) ioperm$(EXEEXT) iopl$(EXEEXT) \
- ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) ipc_msg$(EXEEXT) \
- ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) ipc_shm$(EXEEXT) \
- kcmp$(EXEEXT) kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) \
- keyctl$(EXEEXT) kill$(EXEEXT) lchown$(EXEEXT) \
- lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
- llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
- lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(EXEEXT) \
- mbind$(EXEEXT) membarrier$(EXEEXT) memfd_create$(EXEEXT) \
- migrate_pages$(EXEEXT) mincore$(EXEEXT) mkdir$(EXEEXT) \
- mkdirat$(EXEEXT) mknod$(EXEEXT) mknodat$(EXEEXT) \
- mlock$(EXEEXT) mlock2$(EXEEXT) mlockall$(EXEEXT) mmap$(EXEEXT) \
- mmap64$(EXEEXT) mmsg$(EXEEXT) mmsg_name$(EXEEXT) \
- mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
- mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
- mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
- msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(EXEEXT) \
- net-icmp_filter$(EXEEXT) net-sockaddr$(EXEEXT) \
- net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
- net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
- netlink_protocol$(EXEEXT) newfstatat$(EXEEXT) \
- old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
- oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
- openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
- perf_event_open$(EXEEXT) personality$(EXEEXT) pipe$(EXEEXT) \
- pipe2$(EXEEXT) pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) \
- pkey_mprotect$(EXEEXT) poll$(EXEEXT) ppoll$(EXEEXT) \
- prctl-arg2-intptr$(EXEEXT) prctl-dumpable$(EXEEXT) \
- prctl-name$(EXEEXT) prctl-no-args$(EXEEXT) \
- prctl-pdeathsig$(EXEEXT) prctl-securebits$(EXEEXT) \
- prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
- pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
- preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
- printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
- process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
- pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
- read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
- readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
- reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
- recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
- renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
- rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
- rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(EXEEXT) \
- rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
- rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
- sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
- sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
- sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
- seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
- sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
- setdomainname$(EXEEXT) setfsgid$(EXEEXT) setfsgid32$(EXEEXT) \
- setfsuid$(EXEEXT) setfsuid32$(EXEEXT) setgid$(EXEEXT) \
- setgid32$(EXEEXT) setgroups$(EXEEXT) setgroups32$(EXEEXT) \
- sethostname$(EXEEXT) setns$(EXEEXT) setregid$(EXEEXT) \
- setregid32$(EXEEXT) setresgid$(EXEEXT) setresgid32$(EXEEXT) \
- setresuid$(EXEEXT) setresuid32$(EXEEXT) setreuid$(EXEEXT) \
- setreuid32$(EXEEXT) setrlimit$(EXEEXT) setuid$(EXEEXT) \
- setuid32$(EXEEXT) shmxt$(EXEEXT) shutdown$(EXEEXT) \
- sigaction$(EXEEXT) sigaltstack$(EXEEXT) siginfo$(EXEEXT) \
- signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
- socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
- stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
- statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
- utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
- vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
- waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
- xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
- xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
- xettimeofday$(EXEEXT)
-_newselect_SOURCES = _newselect.c
-_newselect_OBJECTS = _newselect.$(OBJEXT)
-_newselect_LDADD = $(LDADD)
-_newselect_DEPENDENCIES = libtests.a
-accept_SOURCES = accept.c
-accept_OBJECTS = accept.$(OBJEXT)
-accept_LDADD = $(LDADD)
-accept_DEPENDENCIES = libtests.a
-accept4_SOURCES = accept4.c
-accept4_OBJECTS = accept4.$(OBJEXT)
-accept4_LDADD = $(LDADD)
-accept4_DEPENDENCIES = libtests.a
-access_SOURCES = access.c
-access_OBJECTS = access.$(OBJEXT)
-access_LDADD = $(LDADD)
-access_DEPENDENCIES = libtests.a
-acct_SOURCES = acct.c
-acct_OBJECTS = acct.$(OBJEXT)
-acct_LDADD = $(LDADD)
-acct_DEPENDENCIES = libtests.a
-add_key_SOURCES = add_key.c
-add_key_OBJECTS = add_key.$(OBJEXT)
-add_key_LDADD = $(LDADD)
-add_key_DEPENDENCIES = libtests.a
-adjtimex_SOURCES = adjtimex.c
-adjtimex_OBJECTS = adjtimex.$(OBJEXT)
-adjtimex_LDADD = $(LDADD)
-adjtimex_DEPENDENCIES = libtests.a
-aio_SOURCES = aio.c
-aio_OBJECTS = aio.$(OBJEXT)
-aio_LDADD = $(LDADD)
-aio_DEPENDENCIES = libtests.a
-alarm_SOURCES = alarm.c
-alarm_OBJECTS = alarm.$(OBJEXT)
-alarm_LDADD = $(LDADD)
-alarm_DEPENDENCIES = libtests.a
-answer_SOURCES = answer.c
-answer_OBJECTS = answer.$(OBJEXT)
-answer_LDADD = $(LDADD)
-answer_DEPENDENCIES = libtests.a
-attach_f_p_SOURCES = attach-f-p.c
-attach_f_p_OBJECTS = attach-f-p.$(OBJEXT)
-attach_f_p_DEPENDENCIES = $(LDADD)
-attach_f_p_cmd_SOURCES = attach-f-p-cmd.c
-attach_f_p_cmd_OBJECTS = attach-f-p-cmd.$(OBJEXT)
-attach_f_p_cmd_LDADD = $(LDADD)
-attach_f_p_cmd_DEPENDENCIES = libtests.a
-attach_p_cmd_cmd_SOURCES = attach-p-cmd-cmd.c
-attach_p_cmd_cmd_OBJECTS = attach-p-cmd-cmd.$(OBJEXT)
-attach_p_cmd_cmd_LDADD = $(LDADD)
-attach_p_cmd_cmd_DEPENDENCIES = libtests.a
-attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
-attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
-attach_p_cmd_p_LDADD = $(LDADD)
-attach_p_cmd_p_DEPENDENCIES = libtests.a
-bpf_SOURCES = bpf.c
-bpf_OBJECTS = bpf.$(OBJEXT)
-bpf_LDADD = $(LDADD)
-bpf_DEPENDENCIES = libtests.a
-brk_SOURCES = brk.c
-brk_OBJECTS = brk.$(OBJEXT)
-brk_LDADD = $(LDADD)
-brk_DEPENDENCIES = libtests.a
-btrfs_SOURCES = btrfs.c
-btrfs_OBJECTS = btrfs.$(OBJEXT)
-btrfs_LDADD = $(LDADD)
-btrfs_DEPENDENCIES = libtests.a
-caps_SOURCES = caps.c
-caps_OBJECTS = caps.$(OBJEXT)
-caps_LDADD = $(LDADD)
-caps_DEPENDENCIES = libtests.a
-caps_abbrev_SOURCES = caps-abbrev.c
-caps_abbrev_OBJECTS = caps-abbrev.$(OBJEXT)
-caps_abbrev_LDADD = $(LDADD)
-caps_abbrev_DEPENDENCIES = libtests.a
-chmod_SOURCES = chmod.c
-chmod_OBJECTS = chmod.$(OBJEXT)
-chmod_LDADD = $(LDADD)
-chmod_DEPENDENCIES = libtests.a
-chown_SOURCES = chown.c
-chown_OBJECTS = chown.$(OBJEXT)
-chown_LDADD = $(LDADD)
-chown_DEPENDENCIES = libtests.a
-chown32_SOURCES = chown32.c
-chown32_OBJECTS = chown32.$(OBJEXT)
-chown32_LDADD = $(LDADD)
-chown32_DEPENDENCIES = libtests.a
-chroot_SOURCES = chroot.c
-chroot_OBJECTS = chroot.$(OBJEXT)
-chroot_LDADD = $(LDADD)
-chroot_DEPENDENCIES = libtests.a
-clock_adjtime_SOURCES = clock_adjtime.c
-clock_adjtime_OBJECTS = clock_adjtime.$(OBJEXT)
-clock_adjtime_LDADD = $(LDADD)
-clock_adjtime_DEPENDENCIES = libtests.a
-clock_nanosleep_SOURCES = clock_nanosleep.c
-clock_nanosleep_OBJECTS = clock_nanosleep.$(OBJEXT)
-clock_nanosleep_LDADD = $(LDADD)
-clock_nanosleep_DEPENDENCIES = libtests.a
-clock_xettime_SOURCES = clock_xettime.c
-clock_xettime_OBJECTS = clock_xettime.$(OBJEXT)
-clock_xettime_DEPENDENCIES = $(LDADD)
-copy_file_range_SOURCES = copy_file_range.c
-copy_file_range_OBJECTS = copy_file_range.$(OBJEXT)
-copy_file_range_LDADD = $(LDADD)
-copy_file_range_DEPENDENCIES = libtests.a
-count_f_SOURCES = count-f.c
-count_f_OBJECTS = count-f.$(OBJEXT)
-count_f_DEPENDENCIES = $(LDADD)
-creat_SOURCES = creat.c
-creat_OBJECTS = creat.$(OBJEXT)
-creat_LDADD = $(LDADD)
-creat_DEPENDENCIES = libtests.a
-delete_module_SOURCES = delete_module.c
-delete_module_OBJECTS = delete_module.$(OBJEXT)
-delete_module_LDADD = $(LDADD)
-delete_module_DEPENDENCIES = libtests.a
-dup_SOURCES = dup.c
-dup_OBJECTS = dup.$(OBJEXT)
-dup_LDADD = $(LDADD)
-dup_DEPENDENCIES = libtests.a
-dup2_SOURCES = dup2.c
-dup2_OBJECTS = dup2.$(OBJEXT)
-dup2_LDADD = $(LDADD)
-dup2_DEPENDENCIES = libtests.a
-dup3_SOURCES = dup3.c
-dup3_OBJECTS = dup3.$(OBJEXT)
-dup3_LDADD = $(LDADD)
-dup3_DEPENDENCIES = libtests.a
-epoll_create_SOURCES = epoll_create.c
-epoll_create_OBJECTS = epoll_create.$(OBJEXT)
-epoll_create_LDADD = $(LDADD)
-epoll_create_DEPENDENCIES = libtests.a
-epoll_create1_SOURCES = epoll_create1.c
-epoll_create1_OBJECTS = epoll_create1.$(OBJEXT)
-epoll_create1_LDADD = $(LDADD)
-epoll_create1_DEPENDENCIES = libtests.a
-epoll_ctl_SOURCES = epoll_ctl.c
-epoll_ctl_OBJECTS = epoll_ctl.$(OBJEXT)
-epoll_ctl_LDADD = $(LDADD)
-epoll_ctl_DEPENDENCIES = libtests.a
-epoll_pwait_SOURCES = epoll_pwait.c
-epoll_pwait_OBJECTS = epoll_pwait.$(OBJEXT)
-epoll_pwait_LDADD = $(LDADD)
-epoll_pwait_DEPENDENCIES = libtests.a
-epoll_wait_SOURCES = epoll_wait.c
-epoll_wait_OBJECTS = epoll_wait.$(OBJEXT)
-epoll_wait_LDADD = $(LDADD)
-epoll_wait_DEPENDENCIES = libtests.a
-erestartsys_SOURCES = erestartsys.c
-erestartsys_OBJECTS = erestartsys.$(OBJEXT)
-erestartsys_LDADD = $(LDADD)
-erestartsys_DEPENDENCIES = libtests.a
-eventfd_SOURCES = eventfd.c
-eventfd_OBJECTS = eventfd.$(OBJEXT)
-eventfd_LDADD = $(LDADD)
-eventfd_DEPENDENCIES = libtests.a
-execve_SOURCES = execve.c
-execve_OBJECTS = execve.$(OBJEXT)
-execve_LDADD = $(LDADD)
-execve_DEPENDENCIES = libtests.a
-execve_v_SOURCES = execve-v.c
-execve_v_OBJECTS = execve-v.$(OBJEXT)
-execve_v_LDADD = $(LDADD)
-execve_v_DEPENDENCIES = libtests.a
-execveat_SOURCES = execveat.c
-execveat_OBJECTS = execveat.$(OBJEXT)
-execveat_LDADD = $(LDADD)
-execveat_DEPENDENCIES = libtests.a
-execveat_v_SOURCES = execveat-v.c
-execveat_v_OBJECTS = execveat-v.$(OBJEXT)
-execveat_v_LDADD = $(LDADD)
-execveat_v_DEPENDENCIES = libtests.a
-faccessat_SOURCES = faccessat.c
-faccessat_OBJECTS = faccessat.$(OBJEXT)
-faccessat_LDADD = $(LDADD)
-faccessat_DEPENDENCIES = libtests.a
-fadvise64_SOURCES = fadvise64.c
-fadvise64_OBJECTS = fadvise64.$(OBJEXT)
-fadvise64_LDADD = $(LDADD)
-fadvise64_DEPENDENCIES = libtests.a
-fadvise64_64_SOURCES = fadvise64_64.c
-fadvise64_64_OBJECTS = fadvise64_64.$(OBJEXT)
-fadvise64_64_LDADD = $(LDADD)
-fadvise64_64_DEPENDENCIES = libtests.a
-fallocate_SOURCES = fallocate.c
-fallocate_OBJECTS = fallocate.$(OBJEXT)
-fallocate_LDADD = $(LDADD)
-fallocate_DEPENDENCIES = libtests.a
-fanotify_init_SOURCES = fanotify_init.c
-fanotify_init_OBJECTS = fanotify_init.$(OBJEXT)
-fanotify_init_LDADD = $(LDADD)
-fanotify_init_DEPENDENCIES = libtests.a
-fanotify_mark_SOURCES = fanotify_mark.c
-fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
-fanotify_mark_LDADD = $(LDADD)
-fanotify_mark_DEPENDENCIES = libtests.a
-fchdir_SOURCES = fchdir.c
-fchdir_OBJECTS = fchdir.$(OBJEXT)
-fchdir_LDADD = $(LDADD)
-fchdir_DEPENDENCIES = libtests.a
-fchmod_SOURCES = fchmod.c
-fchmod_OBJECTS = fchmod.$(OBJEXT)
-fchmod_LDADD = $(LDADD)
-fchmod_DEPENDENCIES = libtests.a
-fchmodat_SOURCES = fchmodat.c
-fchmodat_OBJECTS = fchmodat.$(OBJEXT)
-fchmodat_LDADD = $(LDADD)
-fchmodat_DEPENDENCIES = libtests.a
-fchown_SOURCES = fchown.c
-fchown_OBJECTS = fchown.$(OBJEXT)
-fchown_LDADD = $(LDADD)
-fchown_DEPENDENCIES = libtests.a
-fchown32_SOURCES = fchown32.c
-fchown32_OBJECTS = fchown32.$(OBJEXT)
-fchown32_LDADD = $(LDADD)
-fchown32_DEPENDENCIES = libtests.a
-fchownat_SOURCES = fchownat.c
-fchownat_OBJECTS = fchownat.$(OBJEXT)
-fchownat_LDADD = $(LDADD)
-fchownat_DEPENDENCIES = libtests.a
-fcntl_SOURCES = fcntl.c
-fcntl_OBJECTS = fcntl.$(OBJEXT)
-fcntl_LDADD = $(LDADD)
-fcntl_DEPENDENCIES = libtests.a
-fcntl64_SOURCES = fcntl64.c
-fcntl64_OBJECTS = fcntl64.$(OBJEXT)
-fcntl64_LDADD = $(LDADD)
-fcntl64_DEPENDENCIES = libtests.a
-fdatasync_SOURCES = fdatasync.c
-fdatasync_OBJECTS = fdatasync.$(OBJEXT)
-fdatasync_LDADD = $(LDADD)
-fdatasync_DEPENDENCIES = libtests.a
-file_handle_SOURCES = file_handle.c
-file_handle_OBJECTS = file_handle.$(OBJEXT)
-file_handle_LDADD = $(LDADD)
-file_handle_DEPENDENCIES = libtests.a
-file_ioctl_SOURCES = file_ioctl.c
-file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
-file_ioctl_LDADD = $(LDADD)
-file_ioctl_DEPENDENCIES = libtests.a
-filter_unavailable_SOURCES = filter-unavailable.c
-filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
-filter_unavailable_DEPENDENCIES = $(LDADD)
-finit_module_SOURCES = finit_module.c
-finit_module_OBJECTS = finit_module.$(OBJEXT)
-finit_module_LDADD = $(LDADD)
-finit_module_DEPENDENCIES = libtests.a
-flock_SOURCES = flock.c
-flock_OBJECTS = flock.$(OBJEXT)
-flock_LDADD = $(LDADD)
-flock_DEPENDENCIES = libtests.a
-fork_f_SOURCES = fork-f.c
-fork_f_OBJECTS = fork-f.$(OBJEXT)
-fork_f_LDADD = $(LDADD)
-fork_f_DEPENDENCIES = libtests.a
-fstat_SOURCES = fstat.c
-fstat_OBJECTS = fstat.$(OBJEXT)
-fstat_LDADD = $(LDADD)
-fstat_DEPENDENCIES = libtests.a
-fstat64_SOURCES = fstat64.c
-fstat64_OBJECTS = fstat64-fstat64.$(OBJEXT)
-fstat64_LDADD = $(LDADD)
-fstat64_DEPENDENCIES = libtests.a
-fstatat64_SOURCES = fstatat64.c
-fstatat64_OBJECTS = fstatat64-fstatat64.$(OBJEXT)
-fstatat64_LDADD = $(LDADD)
-fstatat64_DEPENDENCIES = libtests.a
-fstatfs_SOURCES = fstatfs.c
-fstatfs_OBJECTS = fstatfs.$(OBJEXT)
-fstatfs_LDADD = $(LDADD)
-fstatfs_DEPENDENCIES = libtests.a
-fstatfs64_SOURCES = fstatfs64.c
-fstatfs64_OBJECTS = fstatfs64.$(OBJEXT)
-fstatfs64_LDADD = $(LDADD)
-fstatfs64_DEPENDENCIES = libtests.a
-fsync_SOURCES = fsync.c
-fsync_OBJECTS = fsync.$(OBJEXT)
-fsync_LDADD = $(LDADD)
-fsync_DEPENDENCIES = libtests.a
-ftruncate_SOURCES = ftruncate.c
-ftruncate_OBJECTS = ftruncate.$(OBJEXT)
-ftruncate_LDADD = $(LDADD)
-ftruncate_DEPENDENCIES = libtests.a
-ftruncate64_SOURCES = ftruncate64.c
-ftruncate64_OBJECTS = ftruncate64-ftruncate64.$(OBJEXT)
-ftruncate64_LDADD = $(LDADD)
-ftruncate64_DEPENDENCIES = libtests.a
-futex_SOURCES = futex.c
-futex_OBJECTS = futex.$(OBJEXT)
-futex_LDADD = $(LDADD)
-futex_DEPENDENCIES = libtests.a
-futimesat_SOURCES = futimesat.c
-futimesat_OBJECTS = futimesat.$(OBJEXT)
-futimesat_LDADD = $(LDADD)
-futimesat_DEPENDENCIES = libtests.a
-get_mempolicy_SOURCES = get_mempolicy.c
-get_mempolicy_OBJECTS = get_mempolicy.$(OBJEXT)
-get_mempolicy_LDADD = $(LDADD)
-get_mempolicy_DEPENDENCIES = libtests.a
-getcpu_SOURCES = getcpu.c
-getcpu_OBJECTS = getcpu.$(OBJEXT)
-getcpu_LDADD = $(LDADD)
-getcpu_DEPENDENCIES = libtests.a
-getcwd_SOURCES = getcwd.c
-getcwd_OBJECTS = getcwd.$(OBJEXT)
-getcwd_LDADD = $(LDADD)
-getcwd_DEPENDENCIES = libtests.a
-getdents_SOURCES = getdents.c
-getdents_OBJECTS = getdents.$(OBJEXT)
-getdents_LDADD = $(LDADD)
-getdents_DEPENDENCIES = libtests.a
-getdents64_SOURCES = getdents64.c
-getdents64_OBJECTS = getdents64.$(OBJEXT)
-getdents64_LDADD = $(LDADD)
-getdents64_DEPENDENCIES = libtests.a
-getegid_SOURCES = getegid.c
-getegid_OBJECTS = getegid.$(OBJEXT)
-getegid_LDADD = $(LDADD)
-getegid_DEPENDENCIES = libtests.a
-getegid32_SOURCES = getegid32.c
-getegid32_OBJECTS = getegid32.$(OBJEXT)
-getegid32_LDADD = $(LDADD)
-getegid32_DEPENDENCIES = libtests.a
-geteuid_SOURCES = geteuid.c
-geteuid_OBJECTS = geteuid.$(OBJEXT)
-geteuid_LDADD = $(LDADD)
-geteuid_DEPENDENCIES = libtests.a
-geteuid32_SOURCES = geteuid32.c
-geteuid32_OBJECTS = geteuid32.$(OBJEXT)
-geteuid32_LDADD = $(LDADD)
-geteuid32_DEPENDENCIES = libtests.a
-getgid_SOURCES = getgid.c
-getgid_OBJECTS = getgid.$(OBJEXT)
-getgid_LDADD = $(LDADD)
-getgid_DEPENDENCIES = libtests.a
-getgid32_SOURCES = getgid32.c
-getgid32_OBJECTS = getgid32.$(OBJEXT)
-getgid32_LDADD = $(LDADD)
-getgid32_DEPENDENCIES = libtests.a
-getgroups_SOURCES = getgroups.c
-getgroups_OBJECTS = getgroups.$(OBJEXT)
-getgroups_LDADD = $(LDADD)
-getgroups_DEPENDENCIES = libtests.a
-getgroups32_SOURCES = getgroups32.c
-getgroups32_OBJECTS = getgroups32.$(OBJEXT)
-getgroups32_LDADD = $(LDADD)
-getgroups32_DEPENDENCIES = libtests.a
-getpeername_SOURCES = getpeername.c
-getpeername_OBJECTS = getpeername.$(OBJEXT)
-getpeername_LDADD = $(LDADD)
-getpeername_DEPENDENCIES = libtests.a
-getpgrp_SOURCES = getpgrp.c
-getpgrp_OBJECTS = getpgrp.$(OBJEXT)
-getpgrp_LDADD = $(LDADD)
-getpgrp_DEPENDENCIES = libtests.a
-getpid_SOURCES = getpid.c
-getpid_OBJECTS = getpid.$(OBJEXT)
-getpid_LDADD = $(LDADD)
-getpid_DEPENDENCIES = libtests.a
-getppid_SOURCES = getppid.c
-getppid_OBJECTS = getppid.$(OBJEXT)
-getppid_LDADD = $(LDADD)
-getppid_DEPENDENCIES = libtests.a
-getrandom_SOURCES = getrandom.c
-getrandom_OBJECTS = getrandom.$(OBJEXT)
-getrandom_LDADD = $(LDADD)
-getrandom_DEPENDENCIES = libtests.a
-getresgid_SOURCES = getresgid.c
-getresgid_OBJECTS = getresgid.$(OBJEXT)
-getresgid_LDADD = $(LDADD)
-getresgid_DEPENDENCIES = libtests.a
-getresgid32_SOURCES = getresgid32.c
-getresgid32_OBJECTS = getresgid32.$(OBJEXT)
-getresgid32_LDADD = $(LDADD)
-getresgid32_DEPENDENCIES = libtests.a
-getresuid_SOURCES = getresuid.c
-getresuid_OBJECTS = getresuid.$(OBJEXT)
-getresuid_LDADD = $(LDADD)
-getresuid_DEPENDENCIES = libtests.a
-getresuid32_SOURCES = getresuid32.c
-getresuid32_OBJECTS = getresuid32.$(OBJEXT)
-getresuid32_LDADD = $(LDADD)
-getresuid32_DEPENDENCIES = libtests.a
-getrlimit_SOURCES = getrlimit.c
-getrlimit_OBJECTS = getrlimit.$(OBJEXT)
-getrlimit_LDADD = $(LDADD)
-getrlimit_DEPENDENCIES = libtests.a
-getrusage_SOURCES = getrusage.c
-getrusage_OBJECTS = getrusage.$(OBJEXT)
-getrusage_LDADD = $(LDADD)
-getrusage_DEPENDENCIES = libtests.a
-getsid_SOURCES = getsid.c
-getsid_OBJECTS = getsid.$(OBJEXT)
-getsid_LDADD = $(LDADD)
-getsid_DEPENDENCIES = libtests.a
-getsockname_SOURCES = getsockname.c
-getsockname_OBJECTS = getsockname.$(OBJEXT)
-getsockname_LDADD = $(LDADD)
-getsockname_DEPENDENCIES = libtests.a
-gettid_SOURCES = gettid.c
-gettid_OBJECTS = gettid.$(OBJEXT)
-gettid_LDADD = $(LDADD)
-gettid_DEPENDENCIES = libtests.a
-getuid_SOURCES = getuid.c
-getuid_OBJECTS = getuid.$(OBJEXT)
-getuid_LDADD = $(LDADD)
-getuid_DEPENDENCIES = libtests.a
-getuid32_SOURCES = getuid32.c
-getuid32_OBJECTS = getuid32.$(OBJEXT)
-getuid32_LDADD = $(LDADD)
-getuid32_DEPENDENCIES = libtests.a
-getxxid_SOURCES = getxxid.c
-getxxid_OBJECTS = getxxid.$(OBJEXT)
-getxxid_LDADD = $(LDADD)
-getxxid_DEPENDENCIES = libtests.a
-inet_cmsg_SOURCES = inet-cmsg.c
-inet_cmsg_OBJECTS = inet-cmsg.$(OBJEXT)
-inet_cmsg_LDADD = $(LDADD)
-inet_cmsg_DEPENDENCIES = libtests.a
-init_module_SOURCES = init_module.c
-init_module_OBJECTS = init_module.$(OBJEXT)
-init_module_LDADD = $(LDADD)
-init_module_DEPENDENCIES = libtests.a
-inotify_SOURCES = inotify.c
-inotify_OBJECTS = inotify.$(OBJEXT)
-inotify_LDADD = $(LDADD)
-inotify_DEPENDENCIES = libtests.a
-inotify_init1_SOURCES = inotify_init1.c
-inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
-inotify_init1_LDADD = $(LDADD)
-inotify_init1_DEPENDENCIES = libtests.a
-int_0x80_SOURCES = int_0x80.c
-int_0x80_OBJECTS = int_0x80.$(OBJEXT)
-int_0x80_LDADD = $(LDADD)
-int_0x80_DEPENDENCIES = libtests.a
-ioctl_SOURCES = ioctl.c
-ioctl_OBJECTS = ioctl.$(OBJEXT)
-ioctl_LDADD = $(LDADD)
-ioctl_DEPENDENCIES = libtests.a
-ioctl_block_SOURCES = ioctl_block.c
-ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
-ioctl_block_LDADD = $(LDADD)
-ioctl_block_DEPENDENCIES = libtests.a
-ioctl_dm_SOURCES = ioctl_dm.c
-ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
-ioctl_dm_LDADD = $(LDADD)
-ioctl_dm_DEPENDENCIES = libtests.a
-ioctl_dm_v_SOURCES = ioctl_dm-v.c
-ioctl_dm_v_OBJECTS = ioctl_dm-v.$(OBJEXT)
-ioctl_dm_v_LDADD = $(LDADD)
-ioctl_dm_v_DEPENDENCIES = libtests.a
-ioctl_evdev_SOURCES = ioctl_evdev.c
-ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT)
-ioctl_evdev_LDADD = $(LDADD)
-ioctl_evdev_DEPENDENCIES = libtests.a
-ioctl_evdev_v_SOURCES = ioctl_evdev-v.c
-ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT)
-ioctl_evdev_v_LDADD = $(LDADD)
-ioctl_evdev_v_DEPENDENCIES = libtests.a
-ioctl_loop_SOURCES = ioctl_loop.c
-ioctl_loop_OBJECTS = ioctl_loop.$(OBJEXT)
-ioctl_loop_LDADD = $(LDADD)
-ioctl_loop_DEPENDENCIES = libtests.a
-ioctl_loop_nv_SOURCES = ioctl_loop-nv.c
-ioctl_loop_nv_OBJECTS = ioctl_loop-nv.$(OBJEXT)
-ioctl_loop_nv_LDADD = $(LDADD)
-ioctl_loop_nv_DEPENDENCIES = libtests.a
-ioctl_loop_v_SOURCES = ioctl_loop-v.c
-ioctl_loop_v_OBJECTS = ioctl_loop-v.$(OBJEXT)
-ioctl_loop_v_LDADD = $(LDADD)
-ioctl_loop_v_DEPENDENCIES = libtests.a
-ioctl_mtd_SOURCES = ioctl_mtd.c
-ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
-ioctl_mtd_LDADD = $(LDADD)
-ioctl_mtd_DEPENDENCIES = libtests.a
-ioctl_nsfs_SOURCES = ioctl_nsfs.c
-ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
-ioctl_nsfs_LDADD = $(LDADD)
-ioctl_nsfs_DEPENDENCIES = libtests.a
-ioctl_rtc_SOURCES = ioctl_rtc.c
-ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
-ioctl_rtc_LDADD = $(LDADD)
-ioctl_rtc_DEPENDENCIES = libtests.a
-ioctl_rtc_v_SOURCES = ioctl_rtc-v.c
-ioctl_rtc_v_OBJECTS = ioctl_rtc-v.$(OBJEXT)
-ioctl_rtc_v_LDADD = $(LDADD)
-ioctl_rtc_v_DEPENDENCIES = libtests.a
-ioctl_scsi_SOURCES = ioctl_scsi.c
-ioctl_scsi_OBJECTS = ioctl_scsi.$(OBJEXT)
-ioctl_scsi_LDADD = $(LDADD)
-ioctl_scsi_DEPENDENCIES = libtests.a
-ioctl_sg_io_v3_SOURCES = ioctl_sg_io_v3.c
-ioctl_sg_io_v3_OBJECTS = ioctl_sg_io_v3.$(OBJEXT)
-ioctl_sg_io_v3_LDADD = $(LDADD)
-ioctl_sg_io_v3_DEPENDENCIES = libtests.a
-ioctl_sg_io_v4_SOURCES = ioctl_sg_io_v4.c
-ioctl_sg_io_v4_OBJECTS = ioctl_sg_io_v4.$(OBJEXT)
-ioctl_sg_io_v4_LDADD = $(LDADD)
-ioctl_sg_io_v4_DEPENDENCIES = libtests.a
-ioctl_sock_gifconf_SOURCES = ioctl_sock_gifconf.c
-ioctl_sock_gifconf_OBJECTS = ioctl_sock_gifconf.$(OBJEXT)
-ioctl_sock_gifconf_LDADD = $(LDADD)
-ioctl_sock_gifconf_DEPENDENCIES = libtests.a
-ioctl_uffdio_SOURCES = ioctl_uffdio.c
-ioctl_uffdio_OBJECTS = ioctl_uffdio.$(OBJEXT)
-ioctl_uffdio_LDADD = $(LDADD)
-ioctl_uffdio_DEPENDENCIES = libtests.a
-ioctl_v4l2_SOURCES = ioctl_v4l2.c
-ioctl_v4l2_OBJECTS = ioctl_v4l2.$(OBJEXT)
-ioctl_v4l2_LDADD = $(LDADD)
-ioctl_v4l2_DEPENDENCIES = libtests.a
-ioperm_SOURCES = ioperm.c
-ioperm_OBJECTS = ioperm.$(OBJEXT)
-ioperm_LDADD = $(LDADD)
-ioperm_DEPENDENCIES = libtests.a
-iopl_SOURCES = iopl.c
-iopl_OBJECTS = iopl.$(OBJEXT)
-iopl_LDADD = $(LDADD)
-iopl_DEPENDENCIES = libtests.a
-ioprio_SOURCES = ioprio.c
-ioprio_OBJECTS = ioprio.$(OBJEXT)
-ioprio_LDADD = $(LDADD)
-ioprio_DEPENDENCIES = libtests.a
-ip_mreq_SOURCES = ip_mreq.c
-ip_mreq_OBJECTS = ip_mreq.$(OBJEXT)
-ip_mreq_LDADD = $(LDADD)
-ip_mreq_DEPENDENCIES = libtests.a
-ipc_SOURCES = ipc.c
-ipc_OBJECTS = ipc.$(OBJEXT)
-ipc_LDADD = $(LDADD)
-ipc_DEPENDENCIES = libtests.a
-ipc_msg_SOURCES = ipc_msg.c
-ipc_msg_OBJECTS = ipc_msg.$(OBJEXT)
-ipc_msg_LDADD = $(LDADD)
-ipc_msg_DEPENDENCIES = libtests.a
-ipc_msgbuf_SOURCES = ipc_msgbuf.c
-ipc_msgbuf_OBJECTS = ipc_msgbuf.$(OBJEXT)
-ipc_msgbuf_LDADD = $(LDADD)
-ipc_msgbuf_DEPENDENCIES = libtests.a
-ipc_sem_SOURCES = ipc_sem.c
-ipc_sem_OBJECTS = ipc_sem.$(OBJEXT)
-ipc_sem_LDADD = $(LDADD)
-ipc_sem_DEPENDENCIES = libtests.a
-ipc_shm_SOURCES = ipc_shm.c
-ipc_shm_OBJECTS = ipc_shm.$(OBJEXT)
-ipc_shm_LDADD = $(LDADD)
-ipc_shm_DEPENDENCIES = libtests.a
-kcmp_SOURCES = kcmp.c
-kcmp_OBJECTS = kcmp.$(OBJEXT)
-kcmp_LDADD = $(LDADD)
-kcmp_DEPENDENCIES = libtests.a
-kexec_file_load_SOURCES = kexec_file_load.c
-kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
-kexec_file_load_LDADD = $(LDADD)
-kexec_file_load_DEPENDENCIES = libtests.a
-kexec_load_SOURCES = kexec_load.c
-kexec_load_OBJECTS = kexec_load.$(OBJEXT)
-kexec_load_LDADD = $(LDADD)
-kexec_load_DEPENDENCIES = libtests.a
-keyctl_SOURCES = keyctl.c
-keyctl_OBJECTS = keyctl.$(OBJEXT)
-keyctl_LDADD = $(LDADD)
-keyctl_DEPENDENCIES = libtests.a
-kill_SOURCES = kill.c
-kill_OBJECTS = kill.$(OBJEXT)
-kill_LDADD = $(LDADD)
-kill_DEPENDENCIES = libtests.a
-ksysent_SOURCES = ksysent.c
-ksysent_OBJECTS = ksysent.$(OBJEXT)
-ksysent_LDADD = $(LDADD)
-ksysent_DEPENDENCIES = libtests.a
-lchown_SOURCES = lchown.c
-lchown_OBJECTS = lchown.$(OBJEXT)
-lchown_LDADD = $(LDADD)
-lchown_DEPENDENCIES = libtests.a
-lchown32_SOURCES = lchown32.c
-lchown32_OBJECTS = lchown32.$(OBJEXT)
-lchown32_LDADD = $(LDADD)
-lchown32_DEPENDENCIES = libtests.a
-link_SOURCES = link.c
-link_OBJECTS = link.$(OBJEXT)
-link_LDADD = $(LDADD)
-link_DEPENDENCIES = libtests.a
-linkat_SOURCES = linkat.c
-linkat_OBJECTS = linkat.$(OBJEXT)
-linkat_LDADD = $(LDADD)
-linkat_DEPENDENCIES = libtests.a
-llseek_SOURCES = llseek.c
-llseek_OBJECTS = llseek.$(OBJEXT)
-llseek_LDADD = $(LDADD)
-llseek_DEPENDENCIES = libtests.a
-lookup_dcookie_SOURCES = lookup_dcookie.c
-lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
-lookup_dcookie_LDADD = $(LDADD)
-lookup_dcookie_DEPENDENCIES = libtests.a
-lseek_SOURCES = lseek.c
-lseek_OBJECTS = lseek.$(OBJEXT)
-lseek_LDADD = $(LDADD)
-lseek_DEPENDENCIES = libtests.a
-lstat_SOURCES = lstat.c
-lstat_OBJECTS = lstat.$(OBJEXT)
-lstat_LDADD = $(LDADD)
-lstat_DEPENDENCIES = libtests.a
-lstat64_SOURCES = lstat64.c
-lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
-lstat64_LDADD = $(LDADD)
-lstat64_DEPENDENCIES = libtests.a
-madvise_SOURCES = madvise.c
-madvise_OBJECTS = madvise.$(OBJEXT)
-madvise_LDADD = $(LDADD)
-madvise_DEPENDENCIES = libtests.a
-mbind_SOURCES = mbind.c
-mbind_OBJECTS = mbind.$(OBJEXT)
-mbind_LDADD = $(LDADD)
-mbind_DEPENDENCIES = libtests.a
-membarrier_SOURCES = membarrier.c
-membarrier_OBJECTS = membarrier.$(OBJEXT)
-membarrier_LDADD = $(LDADD)
-membarrier_DEPENDENCIES = libtests.a
-memfd_create_SOURCES = memfd_create.c
-memfd_create_OBJECTS = memfd_create.$(OBJEXT)
-memfd_create_LDADD = $(LDADD)
-memfd_create_DEPENDENCIES = libtests.a
-migrate_pages_SOURCES = migrate_pages.c
-migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
-migrate_pages_LDADD = $(LDADD)
-migrate_pages_DEPENDENCIES = libtests.a
-mincore_SOURCES = mincore.c
-mincore_OBJECTS = mincore.$(OBJEXT)
-mincore_LDADD = $(LDADD)
-mincore_DEPENDENCIES = libtests.a
-mkdir_SOURCES = mkdir.c
-mkdir_OBJECTS = mkdir.$(OBJEXT)
-mkdir_LDADD = $(LDADD)
-mkdir_DEPENDENCIES = libtests.a
-mkdirat_SOURCES = mkdirat.c
-mkdirat_OBJECTS = mkdirat.$(OBJEXT)
-mkdirat_LDADD = $(LDADD)
-mkdirat_DEPENDENCIES = libtests.a
-mknod_SOURCES = mknod.c
-mknod_OBJECTS = mknod.$(OBJEXT)
-mknod_LDADD = $(LDADD)
-mknod_DEPENDENCIES = libtests.a
-mknodat_SOURCES = mknodat.c
-mknodat_OBJECTS = mknodat.$(OBJEXT)
-mknodat_LDADD = $(LDADD)
-mknodat_DEPENDENCIES = libtests.a
-mlock_SOURCES = mlock.c
-mlock_OBJECTS = mlock.$(OBJEXT)
-mlock_LDADD = $(LDADD)
-mlock_DEPENDENCIES = libtests.a
-mlock2_SOURCES = mlock2.c
-mlock2_OBJECTS = mlock2.$(OBJEXT)
-mlock2_LDADD = $(LDADD)
-mlock2_DEPENDENCIES = libtests.a
-mlockall_SOURCES = mlockall.c
-mlockall_OBJECTS = mlockall.$(OBJEXT)
-mlockall_LDADD = $(LDADD)
-mlockall_DEPENDENCIES = libtests.a
-mmap_SOURCES = mmap.c
-mmap_OBJECTS = mmap.$(OBJEXT)
-mmap_LDADD = $(LDADD)
-mmap_DEPENDENCIES = libtests.a
-mmap64_SOURCES = mmap64.c
-mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT)
-mmap64_LDADD = $(LDADD)
-mmap64_DEPENDENCIES = libtests.a
-mmsg_SOURCES = mmsg.c
-mmsg_OBJECTS = mmsg.$(OBJEXT)
-mmsg_LDADD = $(LDADD)
-mmsg_DEPENDENCIES = libtests.a
-mmsg_silent_SOURCES = mmsg-silent.c
-mmsg_silent_OBJECTS = mmsg-silent.$(OBJEXT)
-mmsg_silent_LDADD = $(LDADD)
-mmsg_silent_DEPENDENCIES = libtests.a
-mmsg_name_SOURCES = mmsg_name.c
-mmsg_name_OBJECTS = mmsg_name.$(OBJEXT)
-mmsg_name_LDADD = $(LDADD)
-mmsg_name_DEPENDENCIES = libtests.a
-mmsg_name_v_SOURCES = mmsg_name-v.c
-mmsg_name_v_OBJECTS = mmsg_name-v.$(OBJEXT)
-mmsg_name_v_LDADD = $(LDADD)
-mmsg_name_v_DEPENDENCIES = libtests.a
-mount_SOURCES = mount.c
-mount_OBJECTS = mount.$(OBJEXT)
-mount_LDADD = $(LDADD)
-mount_DEPENDENCIES = libtests.a
-move_pages_SOURCES = move_pages.c
-move_pages_OBJECTS = move_pages.$(OBJEXT)
-move_pages_LDADD = $(LDADD)
-move_pages_DEPENDENCIES = libtests.a
-mq_SOURCES = mq.c
-mq_OBJECTS = mq.$(OBJEXT)
-mq_DEPENDENCIES = $(LDADD)
-mq_sendrecv_SOURCES = mq_sendrecv.c
-mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
-mq_sendrecv_DEPENDENCIES = $(LDADD)
-mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
-mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
-mq_sendrecv_read_DEPENDENCIES = $(LDADD)
-mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
-mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
-mq_sendrecv_write_DEPENDENCIES = $(LDADD)
-msg_control_SOURCES = msg_control.c
-msg_control_OBJECTS = msg_control.$(OBJEXT)
-msg_control_LDADD = $(LDADD)
-msg_control_DEPENDENCIES = libtests.a
-msg_control_v_SOURCES = msg_control-v.c
-msg_control_v_OBJECTS = msg_control-v.$(OBJEXT)
-msg_control_v_LDADD = $(LDADD)
-msg_control_v_DEPENDENCIES = libtests.a
-msg_name_SOURCES = msg_name.c
-msg_name_OBJECTS = msg_name.$(OBJEXT)
-msg_name_LDADD = $(LDADD)
-msg_name_DEPENDENCIES = libtests.a
-munlockall_SOURCES = munlockall.c
-munlockall_OBJECTS = munlockall.$(OBJEXT)
-munlockall_LDADD = $(LDADD)
-munlockall_DEPENDENCIES = libtests.a
-nanosleep_SOURCES = nanosleep.c
-nanosleep_OBJECTS = nanosleep.$(OBJEXT)
-nanosleep_LDADD = $(LDADD)
-nanosleep_DEPENDENCIES = libtests.a
-net_accept_connect_SOURCES = net-accept-connect.c
-net_accept_connect_OBJECTS = net-accept-connect.$(OBJEXT)
-net_accept_connect_LDADD = $(LDADD)
-net_accept_connect_DEPENDENCIES = libtests.a
-net_icmp_filter_SOURCES = net-icmp_filter.c
-net_icmp_filter_OBJECTS = net-icmp_filter.$(OBJEXT)
-net_icmp_filter_LDADD = $(LDADD)
-net_icmp_filter_DEPENDENCIES = libtests.a
-net_sockaddr_SOURCES = net-sockaddr.c
-net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
-net_sockaddr_LDADD = $(LDADD)
-net_sockaddr_DEPENDENCIES = libtests.a
-net_y_unix_SOURCES = net-y-unix.c
-net_y_unix_OBJECTS = net-y-unix.$(OBJEXT)
-net_y_unix_LDADD = $(LDADD)
-net_y_unix_DEPENDENCIES = libtests.a
-net_yy_inet_SOURCES = net-yy-inet.c
-net_yy_inet_OBJECTS = net-yy-inet.$(OBJEXT)
-net_yy_inet_LDADD = $(LDADD)
-net_yy_inet_DEPENDENCIES = libtests.a
-net_yy_netlink_SOURCES = net-yy-netlink.c
-net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
-net_yy_netlink_LDADD = $(LDADD)
-net_yy_netlink_DEPENDENCIES = libtests.a
-net_yy_unix_SOURCES = net-yy-unix.c
-net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
-net_yy_unix_LDADD = $(LDADD)
-net_yy_unix_DEPENDENCIES = libtests.a
-netlink_inet_diag_SOURCES = netlink_inet_diag.c
-netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
-netlink_inet_diag_LDADD = $(LDADD)
-netlink_inet_diag_DEPENDENCIES = libtests.a
-netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
-netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
-netlink_netlink_diag_LDADD = $(LDADD)
-netlink_netlink_diag_DEPENDENCIES = libtests.a
-netlink_protocol_SOURCES = netlink_protocol.c
-netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
-netlink_protocol_LDADD = $(LDADD)
-netlink_protocol_DEPENDENCIES = libtests.a
-netlink_unix_diag_SOURCES = netlink_unix_diag.c
-netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
-netlink_unix_diag_LDADD = $(LDADD)
-netlink_unix_diag_DEPENDENCIES = libtests.a
-newfstatat_SOURCES = newfstatat.c
-newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
-newfstatat_LDADD = $(LDADD)
-newfstatat_DEPENDENCIES = libtests.a
-nsyscalls_SOURCES = nsyscalls.c
-nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
-nsyscalls_LDADD = $(LDADD)
-nsyscalls_DEPENDENCIES = libtests.a
-old_mmap_SOURCES = old_mmap.c
-old_mmap_OBJECTS = old_mmap.$(OBJEXT)
-old_mmap_LDADD = $(LDADD)
-old_mmap_DEPENDENCIES = libtests.a
-oldfstat_SOURCES = oldfstat.c
-oldfstat_OBJECTS = oldfstat.$(OBJEXT)
-oldfstat_LDADD = $(LDADD)
-oldfstat_DEPENDENCIES = libtests.a
-oldlstat_SOURCES = oldlstat.c
-oldlstat_OBJECTS = oldlstat.$(OBJEXT)
-oldlstat_LDADD = $(LDADD)
-oldlstat_DEPENDENCIES = libtests.a
-oldselect_SOURCES = oldselect.c
-oldselect_OBJECTS = oldselect.$(OBJEXT)
-oldselect_LDADD = $(LDADD)
-oldselect_DEPENDENCIES = libtests.a
-oldstat_SOURCES = oldstat.c
-oldstat_OBJECTS = oldstat.$(OBJEXT)
-oldstat_LDADD = $(LDADD)
-oldstat_DEPENDENCIES = libtests.a
-open_SOURCES = open.c
-open_OBJECTS = open.$(OBJEXT)
-open_LDADD = $(LDADD)
-open_DEPENDENCIES = libtests.a
-openat_SOURCES = openat.c
-openat_OBJECTS = openat.$(OBJEXT)
-openat_LDADD = $(LDADD)
-openat_DEPENDENCIES = libtests.a
-osf_utimes_SOURCES = osf_utimes.c
-osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
-osf_utimes_LDADD = $(LDADD)
-osf_utimes_DEPENDENCIES = libtests.a
-pause_SOURCES = pause.c
-pause_OBJECTS = pause.$(OBJEXT)
-pause_LDADD = $(LDADD)
-pause_DEPENDENCIES = libtests.a
-pc_SOURCES = pc.c
-pc_OBJECTS = pc.$(OBJEXT)
-am__DEPENDENCIES_1 =
-pc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-perf_event_open_SOURCES = perf_event_open.c
-perf_event_open_OBJECTS = perf_event_open.$(OBJEXT)
-perf_event_open_LDADD = $(LDADD)
-perf_event_open_DEPENDENCIES = libtests.a
-perf_event_open_nonverbose_SOURCES = perf_event_open_nonverbose.c
-perf_event_open_nonverbose_OBJECTS = \
- perf_event_open_nonverbose.$(OBJEXT)
-perf_event_open_nonverbose_LDADD = $(LDADD)
-perf_event_open_nonverbose_DEPENDENCIES = libtests.a
-perf_event_open_unabbrev_SOURCES = perf_event_open_unabbrev.c
-perf_event_open_unabbrev_OBJECTS = perf_event_open_unabbrev.$(OBJEXT)
-perf_event_open_unabbrev_LDADD = $(LDADD)
-perf_event_open_unabbrev_DEPENDENCIES = libtests.a
-personality_SOURCES = personality.c
-personality_OBJECTS = personality.$(OBJEXT)
-personality_LDADD = $(LDADD)
-personality_DEPENDENCIES = libtests.a
-pipe_SOURCES = pipe.c
-pipe_OBJECTS = pipe.$(OBJEXT)
-pipe_LDADD = $(LDADD)
-pipe_DEPENDENCIES = libtests.a
-pipe2_SOURCES = pipe2.c
-pipe2_OBJECTS = pipe2.$(OBJEXT)
-pipe2_LDADD = $(LDADD)
-pipe2_DEPENDENCIES = libtests.a
-pkey_alloc_SOURCES = pkey_alloc.c
-pkey_alloc_OBJECTS = pkey_alloc.$(OBJEXT)
-pkey_alloc_LDADD = $(LDADD)
-pkey_alloc_DEPENDENCIES = libtests.a
-pkey_free_SOURCES = pkey_free.c
-pkey_free_OBJECTS = pkey_free.$(OBJEXT)
-pkey_free_LDADD = $(LDADD)
-pkey_free_DEPENDENCIES = libtests.a
-pkey_mprotect_SOURCES = pkey_mprotect.c
-pkey_mprotect_OBJECTS = pkey_mprotect.$(OBJEXT)
-pkey_mprotect_LDADD = $(LDADD)
-pkey_mprotect_DEPENDENCIES = libtests.a
-poll_SOURCES = poll.c
-poll_OBJECTS = poll.$(OBJEXT)
-poll_LDADD = $(LDADD)
-poll_DEPENDENCIES = libtests.a
-ppoll_SOURCES = ppoll.c
-ppoll_OBJECTS = ppoll.$(OBJEXT)
-ppoll_LDADD = $(LDADD)
-ppoll_DEPENDENCIES = libtests.a
-ppoll_v_SOURCES = ppoll-v.c
-ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
-ppoll_v_LDADD = $(LDADD)
-ppoll_v_DEPENDENCIES = libtests.a
-prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
-prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
-prctl_arg2_intptr_LDADD = $(LDADD)
-prctl_arg2_intptr_DEPENDENCIES = libtests.a
-prctl_dumpable_SOURCES = prctl-dumpable.c
-prctl_dumpable_OBJECTS = prctl-dumpable.$(OBJEXT)
-prctl_dumpable_LDADD = $(LDADD)
-prctl_dumpable_DEPENDENCIES = libtests.a
-prctl_name_SOURCES = prctl-name.c
-prctl_name_OBJECTS = prctl-name.$(OBJEXT)
-prctl_name_LDADD = $(LDADD)
-prctl_name_DEPENDENCIES = libtests.a
-prctl_no_args_SOURCES = prctl-no-args.c
-prctl_no_args_OBJECTS = prctl-no-args.$(OBJEXT)
-prctl_no_args_LDADD = $(LDADD)
-prctl_no_args_DEPENDENCIES = libtests.a
-prctl_pdeathsig_SOURCES = prctl-pdeathsig.c
-prctl_pdeathsig_OBJECTS = prctl-pdeathsig.$(OBJEXT)
-prctl_pdeathsig_LDADD = $(LDADD)
-prctl_pdeathsig_DEPENDENCIES = libtests.a
-prctl_seccomp_filter_v_SOURCES = prctl-seccomp-filter-v.c
-prctl_seccomp_filter_v_OBJECTS = prctl-seccomp-filter-v.$(OBJEXT)
-prctl_seccomp_filter_v_LDADD = $(LDADD)
-prctl_seccomp_filter_v_DEPENDENCIES = libtests.a
-prctl_seccomp_strict_SOURCES = prctl-seccomp-strict.c
-prctl_seccomp_strict_OBJECTS = prctl-seccomp-strict.$(OBJEXT)
-prctl_seccomp_strict_LDADD = $(LDADD)
-prctl_seccomp_strict_DEPENDENCIES = libtests.a
-prctl_securebits_SOURCES = prctl-securebits.c
-prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT)
-prctl_securebits_LDADD = $(LDADD)
-prctl_securebits_DEPENDENCIES = libtests.a
-prctl_tid_address_SOURCES = prctl-tid_address.c
-prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT)
-prctl_tid_address_LDADD = $(LDADD)
-prctl_tid_address_DEPENDENCIES = libtests.a
-prctl_tsc_SOURCES = prctl-tsc.c
-prctl_tsc_OBJECTS = prctl-tsc.$(OBJEXT)
-prctl_tsc_LDADD = $(LDADD)
-prctl_tsc_DEPENDENCIES = libtests.a
-pread64_pwrite64_SOURCES = pread64-pwrite64.c
-pread64_pwrite64_OBJECTS = \
- pread64_pwrite64-pread64-pwrite64.$(OBJEXT)
-pread64_pwrite64_LDADD = $(LDADD)
-pread64_pwrite64_DEPENDENCIES = libtests.a
-preadv_SOURCES = preadv.c
-preadv_OBJECTS = preadv-preadv.$(OBJEXT)
-preadv_LDADD = $(LDADD)
-preadv_DEPENDENCIES = libtests.a
-preadv_pwritev_SOURCES = preadv-pwritev.c
-preadv_pwritev_OBJECTS = preadv_pwritev-preadv-pwritev.$(OBJEXT)
-preadv_pwritev_LDADD = $(LDADD)
-preadv_pwritev_DEPENDENCIES = libtests.a
-preadv2_pwritev2_SOURCES = preadv2-pwritev2.c
-preadv2_pwritev2_OBJECTS = preadv2-pwritev2.$(OBJEXT)
-preadv2_pwritev2_LDADD = $(LDADD)
-preadv2_pwritev2_DEPENDENCIES = libtests.a
-print_maxfd_SOURCES = print_maxfd.c
-print_maxfd_OBJECTS = print_maxfd.$(OBJEXT)
-print_maxfd_LDADD = $(LDADD)
-print_maxfd_DEPENDENCIES = libtests.a
-printstr_SOURCES = printstr.c
-printstr_OBJECTS = printstr.$(OBJEXT)
-printstr_LDADD = $(LDADD)
-printstr_DEPENDENCIES = libtests.a
-prlimit64_SOURCES = prlimit64.c
-prlimit64_OBJECTS = prlimit64.$(OBJEXT)
-prlimit64_LDADD = $(LDADD)
-prlimit64_DEPENDENCIES = libtests.a
-process_vm_readv_SOURCES = process_vm_readv.c
-process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
-process_vm_readv_LDADD = $(LDADD)
-process_vm_readv_DEPENDENCIES = libtests.a
-process_vm_writev_SOURCES = process_vm_writev.c
-process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
-process_vm_writev_LDADD = $(LDADD)
-process_vm_writev_DEPENDENCIES = libtests.a
-pselect6_SOURCES = pselect6.c
-pselect6_OBJECTS = pselect6.$(OBJEXT)
-pselect6_LDADD = $(LDADD)
-pselect6_DEPENDENCIES = libtests.a
-ptrace_SOURCES = ptrace.c
-ptrace_OBJECTS = ptrace.$(OBJEXT)
-ptrace_LDADD = $(LDADD)
-ptrace_DEPENDENCIES = libtests.a
-pwritev_SOURCES = pwritev.c
-pwritev_OBJECTS = pwritev-pwritev.$(OBJEXT)
-pwritev_LDADD = $(LDADD)
-pwritev_DEPENDENCIES = libtests.a
-qual_fault_SOURCES = qual_fault.c
-qual_fault_OBJECTS = qual_fault.$(OBJEXT)
-qual_fault_LDADD = $(LDADD)
-qual_fault_DEPENDENCIES = libtests.a
-qual_inject_error_signal_SOURCES = qual_inject-error-signal.c
-qual_inject_error_signal_OBJECTS = qual_inject-error-signal.$(OBJEXT)
-qual_inject_error_signal_LDADD = $(LDADD)
-qual_inject_error_signal_DEPENDENCIES = libtests.a
-qual_inject_retval_SOURCES = qual_inject-retval.c
-qual_inject_retval_OBJECTS = qual_inject-retval.$(OBJEXT)
-qual_inject_retval_LDADD = $(LDADD)
-qual_inject_retval_DEPENDENCIES = libtests.a
-qual_inject_signal_SOURCES = qual_inject-signal.c
-qual_inject_signal_OBJECTS = qual_inject-signal.$(OBJEXT)
-qual_inject_signal_LDADD = $(LDADD)
-qual_inject_signal_DEPENDENCIES = libtests.a
-qual_signal_SOURCES = qual_signal.c
-qual_signal_OBJECTS = qual_signal.$(OBJEXT)
-qual_signal_LDADD = $(LDADD)
-qual_signal_DEPENDENCIES = libtests.a
-quotactl_SOURCES = quotactl.c
-quotactl_OBJECTS = quotactl.$(OBJEXT)
-quotactl_LDADD = $(LDADD)
-quotactl_DEPENDENCIES = libtests.a
-quotactl_v_SOURCES = quotactl-v.c
-quotactl_v_OBJECTS = quotactl-v.$(OBJEXT)
-quotactl_v_LDADD = $(LDADD)
-quotactl_v_DEPENDENCIES = libtests.a
-quotactl_xfs_SOURCES = quotactl-xfs.c
-quotactl_xfs_OBJECTS = quotactl-xfs.$(OBJEXT)
-quotactl_xfs_LDADD = $(LDADD)
-quotactl_xfs_DEPENDENCIES = libtests.a
-quotactl_xfs_v_SOURCES = quotactl-xfs-v.c
-quotactl_xfs_v_OBJECTS = quotactl-xfs-v.$(OBJEXT)
-quotactl_xfs_v_LDADD = $(LDADD)
-quotactl_xfs_v_DEPENDENCIES = libtests.a
-read_write_SOURCES = read-write.c
-read_write_OBJECTS = read-write.$(OBJEXT)
-read_write_LDADD = $(LDADD)
-read_write_DEPENDENCIES = libtests.a
-readahead_SOURCES = readahead.c
-readahead_OBJECTS = readahead.$(OBJEXT)
-readahead_LDADD = $(LDADD)
-readahead_DEPENDENCIES = libtests.a
-readdir_SOURCES = readdir.c
-readdir_OBJECTS = readdir.$(OBJEXT)
-readdir_LDADD = $(LDADD)
-readdir_DEPENDENCIES = libtests.a
-readlink_SOURCES = readlink.c
-readlink_OBJECTS = readlink.$(OBJEXT)
-readlink_LDADD = $(LDADD)
-readlink_DEPENDENCIES = libtests.a
-readlinkat_SOURCES = readlinkat.c
-readlinkat_OBJECTS = readlinkat.$(OBJEXT)
-readlinkat_LDADD = $(LDADD)
-readlinkat_DEPENDENCIES = libtests.a
-readv_SOURCES = readv.c
-readv_OBJECTS = readv.$(OBJEXT)
-readv_LDADD = $(LDADD)
-readv_DEPENDENCIES = libtests.a
-reboot_SOURCES = reboot.c
-reboot_OBJECTS = reboot.$(OBJEXT)
-reboot_LDADD = $(LDADD)
-reboot_DEPENDENCIES = libtests.a
-recvfrom_SOURCES = recvfrom.c
-recvfrom_OBJECTS = recvfrom.$(OBJEXT)
-recvfrom_LDADD = $(LDADD)
-recvfrom_DEPENDENCIES = libtests.a
-recvmmsg_timeout_SOURCES = recvmmsg-timeout.c
-recvmmsg_timeout_OBJECTS = recvmmsg-timeout.$(OBJEXT)
-recvmmsg_timeout_LDADD = $(LDADD)
-recvmmsg_timeout_DEPENDENCIES = libtests.a
-recvmsg_SOURCES = recvmsg.c
-recvmsg_OBJECTS = recvmsg.$(OBJEXT)
-recvmsg_LDADD = $(LDADD)
-recvmsg_DEPENDENCIES = libtests.a
-redirect_fds_SOURCES = redirect-fds.c
-redirect_fds_OBJECTS = redirect-fds.$(OBJEXT)
-redirect_fds_LDADD = $(LDADD)
-redirect_fds_DEPENDENCIES = libtests.a
-remap_file_pages_SOURCES = remap_file_pages.c
-remap_file_pages_OBJECTS = remap_file_pages.$(OBJEXT)
-remap_file_pages_LDADD = $(LDADD)
-remap_file_pages_DEPENDENCIES = libtests.a
-rename_SOURCES = rename.c
-rename_OBJECTS = rename.$(OBJEXT)
-rename_LDADD = $(LDADD)
-rename_DEPENDENCIES = libtests.a
-renameat_SOURCES = renameat.c
-renameat_OBJECTS = renameat.$(OBJEXT)
-renameat_LDADD = $(LDADD)
-renameat_DEPENDENCIES = libtests.a
-renameat2_SOURCES = renameat2.c
-renameat2_OBJECTS = renameat2.$(OBJEXT)
-renameat2_LDADD = $(LDADD)
-renameat2_DEPENDENCIES = libtests.a
-request_key_SOURCES = request_key.c
-request_key_OBJECTS = request_key.$(OBJEXT)
-request_key_LDADD = $(LDADD)
-request_key_DEPENDENCIES = libtests.a
-restart_syscall_SOURCES = restart_syscall.c
-restart_syscall_OBJECTS = restart_syscall.$(OBJEXT)
-restart_syscall_LDADD = $(LDADD)
-restart_syscall_DEPENDENCIES = libtests.a
-rmdir_SOURCES = rmdir.c
-rmdir_OBJECTS = rmdir.$(OBJEXT)
-rmdir_LDADD = $(LDADD)
-rmdir_DEPENDENCIES = libtests.a
-rt_sigpending_SOURCES = rt_sigpending.c
-rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
-rt_sigpending_LDADD = $(LDADD)
-rt_sigpending_DEPENDENCIES = libtests.a
-rt_sigprocmask_SOURCES = rt_sigprocmask.c
-rt_sigprocmask_OBJECTS = rt_sigprocmask.$(OBJEXT)
-rt_sigprocmask_LDADD = $(LDADD)
-rt_sigprocmask_DEPENDENCIES = libtests.a
-rt_sigqueueinfo_SOURCES = rt_sigqueueinfo.c
-rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
-rt_sigqueueinfo_LDADD = $(LDADD)
-rt_sigqueueinfo_DEPENDENCIES = libtests.a
-rt_sigreturn_SOURCES = rt_sigreturn.c
-rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
-rt_sigreturn_LDADD = $(LDADD)
-rt_sigreturn_DEPENDENCIES = libtests.a
-rt_sigsuspend_SOURCES = rt_sigsuspend.c
-rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
-rt_sigsuspend_LDADD = $(LDADD)
-rt_sigsuspend_DEPENDENCIES = libtests.a
-rt_sigtimedwait_SOURCES = rt_sigtimedwait.c
-rt_sigtimedwait_OBJECTS = rt_sigtimedwait.$(OBJEXT)
-rt_sigtimedwait_LDADD = $(LDADD)
-rt_sigtimedwait_DEPENDENCIES = libtests.a
-rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
-rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
-rt_tgsigqueueinfo_LDADD = $(LDADD)
-rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
-sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
-sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
-sched_get_priority_mxx_LDADD = $(LDADD)
-sched_get_priority_mxx_DEPENDENCIES = libtests.a
-sched_rr_get_interval_SOURCES = sched_rr_get_interval.c
-sched_rr_get_interval_OBJECTS = sched_rr_get_interval.$(OBJEXT)
-sched_rr_get_interval_LDADD = $(LDADD)
-sched_rr_get_interval_DEPENDENCIES = libtests.a
-sched_xetaffinity_SOURCES = sched_xetaffinity.c
-sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
-sched_xetaffinity_LDADD = $(LDADD)
-sched_xetaffinity_DEPENDENCIES = libtests.a
-sched_xetattr_SOURCES = sched_xetattr.c
-sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
-sched_xetattr_LDADD = $(LDADD)
-sched_xetattr_DEPENDENCIES = libtests.a
-sched_xetparam_SOURCES = sched_xetparam.c
-sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
-sched_xetparam_LDADD = $(LDADD)
-sched_xetparam_DEPENDENCIES = libtests.a
-sched_xetscheduler_SOURCES = sched_xetscheduler.c
-sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
-sched_xetscheduler_LDADD = $(LDADD)
-sched_xetscheduler_DEPENDENCIES = libtests.a
-sched_yield_SOURCES = sched_yield.c
-sched_yield_OBJECTS = sched_yield.$(OBJEXT)
-sched_yield_LDADD = $(LDADD)
-sched_yield_DEPENDENCIES = libtests.a
-scm_rights_SOURCES = scm_rights.c
-scm_rights_OBJECTS = scm_rights.$(OBJEXT)
-scm_rights_LDADD = $(LDADD)
-scm_rights_DEPENDENCIES = libtests.a
-seccomp_filter_SOURCES = seccomp-filter.c
-seccomp_filter_OBJECTS = seccomp-filter.$(OBJEXT)
-seccomp_filter_LDADD = $(LDADD)
-seccomp_filter_DEPENDENCIES = libtests.a
-seccomp_filter_v_SOURCES = seccomp-filter-v.c
-seccomp_filter_v_OBJECTS = seccomp-filter-v.$(OBJEXT)
-seccomp_filter_v_LDADD = $(LDADD)
-seccomp_filter_v_DEPENDENCIES = libtests.a
-seccomp_strict_SOURCES = seccomp-strict.c
-seccomp_strict_OBJECTS = seccomp-strict.$(OBJEXT)
-seccomp_strict_LDADD = $(LDADD)
-seccomp_strict_DEPENDENCIES = libtests.a
-select_SOURCES = select.c
-select_OBJECTS = select.$(OBJEXT)
-select_LDADD = $(LDADD)
-select_DEPENDENCIES = libtests.a
-semop_SOURCES = semop.c
-semop_OBJECTS = semop.$(OBJEXT)
-semop_LDADD = $(LDADD)
-semop_DEPENDENCIES = libtests.a
-sendfile_SOURCES = sendfile.c
-sendfile_OBJECTS = sendfile.$(OBJEXT)
-sendfile_LDADD = $(LDADD)
-sendfile_DEPENDENCIES = libtests.a
-sendfile64_SOURCES = sendfile64.c
-sendfile64_OBJECTS = sendfile64.$(OBJEXT)
-sendfile64_LDADD = $(LDADD)
-sendfile64_DEPENDENCIES = libtests.a
-set_mempolicy_SOURCES = set_mempolicy.c
-set_mempolicy_OBJECTS = set_mempolicy.$(OBJEXT)
-set_mempolicy_LDADD = $(LDADD)
-set_mempolicy_DEPENDENCIES = libtests.a
-set_ptracer_any_SOURCES = set_ptracer_any.c
-set_ptracer_any_OBJECTS = set_ptracer_any.$(OBJEXT)
-set_ptracer_any_LDADD = $(LDADD)
-set_ptracer_any_DEPENDENCIES = libtests.a
-setdomainname_SOURCES = setdomainname.c
-setdomainname_OBJECTS = setdomainname.$(OBJEXT)
-setdomainname_LDADD = $(LDADD)
-setdomainname_DEPENDENCIES = libtests.a
-setfsgid_SOURCES = setfsgid.c
-setfsgid_OBJECTS = setfsgid.$(OBJEXT)
-setfsgid_LDADD = $(LDADD)
-setfsgid_DEPENDENCIES = libtests.a
-setfsgid32_SOURCES = setfsgid32.c
-setfsgid32_OBJECTS = setfsgid32.$(OBJEXT)
-setfsgid32_LDADD = $(LDADD)
-setfsgid32_DEPENDENCIES = libtests.a
-setfsuid_SOURCES = setfsuid.c
-setfsuid_OBJECTS = setfsuid.$(OBJEXT)
-setfsuid_LDADD = $(LDADD)
-setfsuid_DEPENDENCIES = libtests.a
-setfsuid32_SOURCES = setfsuid32.c
-setfsuid32_OBJECTS = setfsuid32.$(OBJEXT)
-setfsuid32_LDADD = $(LDADD)
-setfsuid32_DEPENDENCIES = libtests.a
-setgid_SOURCES = setgid.c
-setgid_OBJECTS = setgid.$(OBJEXT)
-setgid_LDADD = $(LDADD)
-setgid_DEPENDENCIES = libtests.a
-setgid32_SOURCES = setgid32.c
-setgid32_OBJECTS = setgid32.$(OBJEXT)
-setgid32_LDADD = $(LDADD)
-setgid32_DEPENDENCIES = libtests.a
-setgroups_SOURCES = setgroups.c
-setgroups_OBJECTS = setgroups.$(OBJEXT)
-setgroups_LDADD = $(LDADD)
-setgroups_DEPENDENCIES = libtests.a
-setgroups32_SOURCES = setgroups32.c
-setgroups32_OBJECTS = setgroups32.$(OBJEXT)
-setgroups32_LDADD = $(LDADD)
-setgroups32_DEPENDENCIES = libtests.a
-sethostname_SOURCES = sethostname.c
-sethostname_OBJECTS = sethostname.$(OBJEXT)
-sethostname_LDADD = $(LDADD)
-sethostname_DEPENDENCIES = libtests.a
-setns_SOURCES = setns.c
-setns_OBJECTS = setns.$(OBJEXT)
-setns_LDADD = $(LDADD)
-setns_DEPENDENCIES = libtests.a
-setregid_SOURCES = setregid.c
-setregid_OBJECTS = setregid.$(OBJEXT)
-setregid_LDADD = $(LDADD)
-setregid_DEPENDENCIES = libtests.a
-setregid32_SOURCES = setregid32.c
-setregid32_OBJECTS = setregid32.$(OBJEXT)
-setregid32_LDADD = $(LDADD)
-setregid32_DEPENDENCIES = libtests.a
-setresgid_SOURCES = setresgid.c
-setresgid_OBJECTS = setresgid.$(OBJEXT)
-setresgid_LDADD = $(LDADD)
-setresgid_DEPENDENCIES = libtests.a
-setresgid32_SOURCES = setresgid32.c
-setresgid32_OBJECTS = setresgid32.$(OBJEXT)
-setresgid32_LDADD = $(LDADD)
-setresgid32_DEPENDENCIES = libtests.a
-setresuid_SOURCES = setresuid.c
-setresuid_OBJECTS = setresuid.$(OBJEXT)
-setresuid_LDADD = $(LDADD)
-setresuid_DEPENDENCIES = libtests.a
-setresuid32_SOURCES = setresuid32.c
-setresuid32_OBJECTS = setresuid32.$(OBJEXT)
-setresuid32_LDADD = $(LDADD)
-setresuid32_DEPENDENCIES = libtests.a
-setreuid_SOURCES = setreuid.c
-setreuid_OBJECTS = setreuid.$(OBJEXT)
-setreuid_LDADD = $(LDADD)
-setreuid_DEPENDENCIES = libtests.a
-setreuid32_SOURCES = setreuid32.c
-setreuid32_OBJECTS = setreuid32.$(OBJEXT)
-setreuid32_LDADD = $(LDADD)
-setreuid32_DEPENDENCIES = libtests.a
-setrlimit_SOURCES = setrlimit.c
-setrlimit_OBJECTS = setrlimit.$(OBJEXT)
-setrlimit_LDADD = $(LDADD)
-setrlimit_DEPENDENCIES = libtests.a
-setuid_SOURCES = setuid.c
-setuid_OBJECTS = setuid.$(OBJEXT)
-setuid_LDADD = $(LDADD)
-setuid_DEPENDENCIES = libtests.a
-setuid32_SOURCES = setuid32.c
-setuid32_OBJECTS = setuid32.$(OBJEXT)
-setuid32_LDADD = $(LDADD)
-setuid32_DEPENDENCIES = libtests.a
-shmxt_SOURCES = shmxt.c
-shmxt_OBJECTS = shmxt.$(OBJEXT)
-shmxt_LDADD = $(LDADD)
-shmxt_DEPENDENCIES = libtests.a
-shutdown_SOURCES = shutdown.c
-shutdown_OBJECTS = shutdown.$(OBJEXT)
-shutdown_LDADD = $(LDADD)
-shutdown_DEPENDENCIES = libtests.a
-sigaction_SOURCES = sigaction.c
-sigaction_OBJECTS = sigaction.$(OBJEXT)
-sigaction_LDADD = $(LDADD)
-sigaction_DEPENDENCIES = libtests.a
-sigaltstack_SOURCES = sigaltstack.c
-sigaltstack_OBJECTS = sigaltstack.$(OBJEXT)
-sigaltstack_LDADD = $(LDADD)
-sigaltstack_DEPENDENCIES = libtests.a
-siginfo_SOURCES = siginfo.c
-siginfo_OBJECTS = siginfo.$(OBJEXT)
-siginfo_LDADD = $(LDADD)
-siginfo_DEPENDENCIES = libtests.a
-signal_receive_SOURCES = signal_receive.c
-signal_receive_OBJECTS = signal_receive.$(OBJEXT)
-signal_receive_LDADD = $(LDADD)
-signal_receive_DEPENDENCIES = libtests.a
-signalfd4_SOURCES = signalfd4.c
-signalfd4_OBJECTS = signalfd4.$(OBJEXT)
-signalfd4_LDADD = $(LDADD)
-signalfd4_DEPENDENCIES = libtests.a
-sigreturn_SOURCES = sigreturn.c
-sigreturn_OBJECTS = sigreturn.$(OBJEXT)
-sigreturn_LDADD = $(LDADD)
-sigreturn_DEPENDENCIES = libtests.a
-sigsuspend_SOURCES = sigsuspend.c
-sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
-sigsuspend_LDADD = $(LDADD)
-sigsuspend_DEPENDENCIES = libtests.a
-sleep_SOURCES = sleep.c
-sleep_OBJECTS = sleep.$(OBJEXT)
-sleep_LDADD = $(LDADD)
-sleep_DEPENDENCIES = libtests.a
-socketcall_SOURCES = socketcall.c
-socketcall_OBJECTS = socketcall.$(OBJEXT)
-socketcall_LDADD = $(LDADD)
-socketcall_DEPENDENCIES = libtests.a
-splice_SOURCES = splice.c
-splice_OBJECTS = splice.$(OBJEXT)
-splice_LDADD = $(LDADD)
-splice_DEPENDENCIES = libtests.a
-am_stack_fcall_OBJECTS = stack-fcall.$(OBJEXT) stack-fcall-0.$(OBJEXT) \
- stack-fcall-1.$(OBJEXT) stack-fcall-2.$(OBJEXT) \
- stack-fcall-3.$(OBJEXT)
-stack_fcall_OBJECTS = $(am_stack_fcall_OBJECTS)
-stack_fcall_LDADD = $(LDADD)
-stack_fcall_DEPENDENCIES = libtests.a
-stat_SOURCES = stat.c
-stat_OBJECTS = stat.$(OBJEXT)
-stat_LDADD = $(LDADD)
-stat_DEPENDENCIES = libtests.a
-stat64_SOURCES = stat64.c
-stat64_OBJECTS = stat64-stat64.$(OBJEXT)
-stat64_LDADD = $(LDADD)
-stat64_DEPENDENCIES = libtests.a
-statfs_SOURCES = statfs.c
-statfs_OBJECTS = statfs-statfs.$(OBJEXT)
-statfs_LDADD = $(LDADD)
-statfs_DEPENDENCIES = libtests.a
-statfs64_SOURCES = statfs64.c
-statfs64_OBJECTS = statfs64.$(OBJEXT)
-statfs64_LDADD = $(LDADD)
-statfs64_DEPENDENCIES = libtests.a
-statx_SOURCES = statx.c
-statx_OBJECTS = statx.$(OBJEXT)
-statx_LDADD = $(LDADD)
-statx_DEPENDENCIES = libtests.a
-swap_SOURCES = swap.c
-swap_OBJECTS = swap.$(OBJEXT)
-swap_LDADD = $(LDADD)
-swap_DEPENDENCIES = libtests.a
-sxetmask_SOURCES = sxetmask.c
-sxetmask_OBJECTS = sxetmask.$(OBJEXT)
-sxetmask_LDADD = $(LDADD)
-sxetmask_DEPENDENCIES = libtests.a
-symlink_SOURCES = symlink.c
-symlink_OBJECTS = symlink.$(OBJEXT)
-symlink_LDADD = $(LDADD)
-symlink_DEPENDENCIES = libtests.a
-symlinkat_SOURCES = symlinkat.c
-symlinkat_OBJECTS = symlinkat.$(OBJEXT)
-symlinkat_LDADD = $(LDADD)
-symlinkat_DEPENDENCIES = libtests.a
-sync_SOURCES = sync.c
-sync_OBJECTS = sync.$(OBJEXT)
-sync_LDADD = $(LDADD)
-sync_DEPENDENCIES = libtests.a
-sync_file_range_SOURCES = sync_file_range.c
-sync_file_range_OBJECTS = sync_file_range.$(OBJEXT)
-sync_file_range_LDADD = $(LDADD)
-sync_file_range_DEPENDENCIES = libtests.a
-sync_file_range2_SOURCES = sync_file_range2.c
-sync_file_range2_OBJECTS = sync_file_range2.$(OBJEXT)
-sync_file_range2_LDADD = $(LDADD)
-sync_file_range2_DEPENDENCIES = libtests.a
-sysinfo_SOURCES = sysinfo.c
-sysinfo_OBJECTS = sysinfo.$(OBJEXT)
-sysinfo_LDADD = $(LDADD)
-sysinfo_DEPENDENCIES = libtests.a
-syslog_SOURCES = syslog.c
-syslog_OBJECTS = syslog.$(OBJEXT)
-syslog_LDADD = $(LDADD)
-syslog_DEPENDENCIES = libtests.a
-tee_SOURCES = tee.c
-tee_OBJECTS = tee.$(OBJEXT)
-tee_LDADD = $(LDADD)
-tee_DEPENDENCIES = libtests.a
-threads_execve_SOURCES = threads-execve.c
-threads_execve_OBJECTS = threads-execve.$(OBJEXT)
-threads_execve_DEPENDENCIES = $(LDADD)
-time_SOURCES = time.c
-time_OBJECTS = time.$(OBJEXT)
-time_LDADD = $(LDADD)
-time_DEPENDENCIES = libtests.a
-timer_create_SOURCES = timer_create.c
-timer_create_OBJECTS = timer_create.$(OBJEXT)
-timer_create_LDADD = $(LDADD)
-timer_create_DEPENDENCIES = libtests.a
-timer_xettime_SOURCES = timer_xettime.c
-timer_xettime_OBJECTS = timer_xettime.$(OBJEXT)
-timer_xettime_LDADD = $(LDADD)
-timer_xettime_DEPENDENCIES = libtests.a
-timerfd_xettime_SOURCES = timerfd_xettime.c
-timerfd_xettime_OBJECTS = timerfd_xettime.$(OBJEXT)
-timerfd_xettime_LDADD = $(LDADD)
-timerfd_xettime_DEPENDENCIES = libtests.a
-times_SOURCES = times.c
-times_OBJECTS = times.$(OBJEXT)
-times_DEPENDENCIES = $(LDADD)
-times_fail_SOURCES = times-fail.c
-times_fail_OBJECTS = times-fail.$(OBJEXT)
-times_fail_LDADD = $(LDADD)
-times_fail_DEPENDENCIES = libtests.a
-truncate_SOURCES = truncate.c
-truncate_OBJECTS = truncate.$(OBJEXT)
-truncate_LDADD = $(LDADD)
-truncate_DEPENDENCIES = libtests.a
-truncate64_SOURCES = truncate64.c
-truncate64_OBJECTS = truncate64-truncate64.$(OBJEXT)
-truncate64_LDADD = $(LDADD)
-truncate64_DEPENDENCIES = libtests.a
-ugetrlimit_SOURCES = ugetrlimit.c
-ugetrlimit_OBJECTS = ugetrlimit.$(OBJEXT)
-ugetrlimit_LDADD = $(LDADD)
-ugetrlimit_DEPENDENCIES = libtests.a
-uio_SOURCES = uio.c
-uio_OBJECTS = uio-uio.$(OBJEXT)
-uio_LDADD = $(LDADD)
-uio_DEPENDENCIES = libtests.a
-umask_SOURCES = umask.c
-umask_OBJECTS = umask.$(OBJEXT)
-umask_LDADD = $(LDADD)
-umask_DEPENDENCIES = libtests.a
-umount_SOURCES = umount.c
-umount_OBJECTS = umount.$(OBJEXT)
-umount_LDADD = $(LDADD)
-umount_DEPENDENCIES = libtests.a
-umount2_SOURCES = umount2.c
-umount2_OBJECTS = umount2.$(OBJEXT)
-umount2_LDADD = $(LDADD)
-umount2_DEPENDENCIES = libtests.a
-umoven_illptr_SOURCES = umoven-illptr.c
-umoven_illptr_OBJECTS = umoven-illptr.$(OBJEXT)
-umoven_illptr_LDADD = $(LDADD)
-umoven_illptr_DEPENDENCIES = libtests.a
-umovestr_SOURCES = umovestr.c
-umovestr_OBJECTS = umovestr.$(OBJEXT)
-umovestr_LDADD = $(LDADD)
-umovestr_DEPENDENCIES = libtests.a
-umovestr_illptr_SOURCES = umovestr-illptr.c
-umovestr_illptr_OBJECTS = umovestr-illptr.$(OBJEXT)
-umovestr_illptr_LDADD = $(LDADD)
-umovestr_illptr_DEPENDENCIES = libtests.a
-umovestr2_SOURCES = umovestr2.c
-umovestr2_OBJECTS = umovestr2.$(OBJEXT)
-umovestr2_LDADD = $(LDADD)
-umovestr2_DEPENDENCIES = libtests.a
-umovestr3_SOURCES = umovestr3.c
-umovestr3_OBJECTS = umovestr3.$(OBJEXT)
-umovestr3_LDADD = $(LDADD)
-umovestr3_DEPENDENCIES = libtests.a
-uname_SOURCES = uname.c
-uname_OBJECTS = uname.$(OBJEXT)
-uname_LDADD = $(LDADD)
-uname_DEPENDENCIES = libtests.a
-unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
-unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
-unix_pair_send_recv_LDADD = $(LDADD)
-unix_pair_send_recv_DEPENDENCIES = libtests.a
-unix_pair_sendto_recvfrom_SOURCES = unix-pair-sendto-recvfrom.c
-unix_pair_sendto_recvfrom_OBJECTS = \
- unix-pair-sendto-recvfrom.$(OBJEXT)
-unix_pair_sendto_recvfrom_LDADD = $(LDADD)
-unix_pair_sendto_recvfrom_DEPENDENCIES = libtests.a
-unlink_SOURCES = unlink.c
-unlink_OBJECTS = unlink.$(OBJEXT)
-unlink_LDADD = $(LDADD)
-unlink_DEPENDENCIES = libtests.a
-unlinkat_SOURCES = unlinkat.c
-unlinkat_OBJECTS = unlinkat.$(OBJEXT)
-unlinkat_LDADD = $(LDADD)
-unlinkat_DEPENDENCIES = libtests.a
-unshare_SOURCES = unshare.c
-unshare_OBJECTS = unshare.$(OBJEXT)
-unshare_LDADD = $(LDADD)
-unshare_DEPENDENCIES = libtests.a
-userfaultfd_SOURCES = userfaultfd.c
-userfaultfd_OBJECTS = userfaultfd.$(OBJEXT)
-userfaultfd_LDADD = $(LDADD)
-userfaultfd_DEPENDENCIES = libtests.a
-ustat_SOURCES = ustat.c
-ustat_OBJECTS = ustat.$(OBJEXT)
-ustat_LDADD = $(LDADD)
-ustat_DEPENDENCIES = libtests.a
-utime_SOURCES = utime.c
-utime_OBJECTS = utime.$(OBJEXT)
-utime_LDADD = $(LDADD)
-utime_DEPENDENCIES = libtests.a
-utimensat_SOURCES = utimensat.c
-utimensat_OBJECTS = utimensat.$(OBJEXT)
-utimensat_LDADD = $(LDADD)
-utimensat_DEPENDENCIES = libtests.a
-utimes_SOURCES = utimes.c
-utimes_OBJECTS = utimes.$(OBJEXT)
-utimes_LDADD = $(LDADD)
-utimes_DEPENDENCIES = libtests.a
-vfork_f_SOURCES = vfork-f.c
-vfork_f_OBJECTS = vfork-f.$(OBJEXT)
-vfork_f_LDADD = $(LDADD)
-vfork_f_DEPENDENCIES = libtests.a
-vhangup_SOURCES = vhangup.c
-vhangup_OBJECTS = vhangup.$(OBJEXT)
-vhangup_LDADD = $(LDADD)
-vhangup_DEPENDENCIES = libtests.a
-vmsplice_SOURCES = vmsplice.c
-vmsplice_OBJECTS = vmsplice.$(OBJEXT)
-vmsplice_LDADD = $(LDADD)
-vmsplice_DEPENDENCIES = libtests.a
-wait4_SOURCES = wait4.c
-wait4_OBJECTS = wait4.$(OBJEXT)
-wait4_LDADD = $(LDADD)
-wait4_DEPENDENCIES = libtests.a
-wait4_v_SOURCES = wait4-v.c
-wait4_v_OBJECTS = wait4-v.$(OBJEXT)
-wait4_v_LDADD = $(LDADD)
-wait4_v_DEPENDENCIES = libtests.a
-waitid_SOURCES = waitid.c
-waitid_OBJECTS = waitid.$(OBJEXT)
-waitid_LDADD = $(LDADD)
-waitid_DEPENDENCIES = libtests.a
-waitid_v_SOURCES = waitid-v.c
-waitid_v_OBJECTS = waitid-v.$(OBJEXT)
-waitid_v_LDADD = $(LDADD)
-waitid_v_DEPENDENCIES = libtests.a
-waitpid_SOURCES = waitpid.c
-waitpid_OBJECTS = waitpid.$(OBJEXT)
-waitpid_LDADD = $(LDADD)
-waitpid_DEPENDENCIES = libtests.a
-xattr_SOURCES = xattr.c
-xattr_OBJECTS = xattr.$(OBJEXT)
-xattr_LDADD = $(LDADD)
-xattr_DEPENDENCIES = libtests.a
-xattr_strings_SOURCES = xattr-strings.c
-xattr_strings_OBJECTS = xattr-strings.$(OBJEXT)
-xattr_strings_LDADD = $(LDADD)
-xattr_strings_DEPENDENCIES = libtests.a
-xet_robust_list_SOURCES = xet_robust_list.c
-xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
-xet_robust_list_LDADD = $(LDADD)
-xet_robust_list_DEPENDENCIES = libtests.a
-xetitimer_SOURCES = xetitimer.c
-xetitimer_OBJECTS = xetitimer.$(OBJEXT)
-xetitimer_LDADD = $(LDADD)
-xetitimer_DEPENDENCIES = libtests.a
-xetpgid_SOURCES = xetpgid.c
-xetpgid_OBJECTS = xetpgid.$(OBJEXT)
-xetpgid_LDADD = $(LDADD)
-xetpgid_DEPENDENCIES = libtests.a
-xetpriority_SOURCES = xetpriority.c
-xetpriority_OBJECTS = xetpriority.$(OBJEXT)
-xetpriority_LDADD = $(LDADD)
-xetpriority_DEPENDENCIES = libtests.a
-xettimeofday_SOURCES = xettimeofday.c
-xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
-xettimeofday_LDADD = $(LDADD)
-xettimeofday_DEPENDENCIES = libtests.a
-AM_V_P = $(am__v_P_$(V))
-am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-am__v_lt_1 =
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
- access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
- attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
- perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
- ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
- prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
- preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
- process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
- pwritev.c qual_fault.c qual_inject-error-signal.c \
- qual_inject-retval.c qual_inject-signal.c qual_signal.c \
- quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
- read-write.c readahead.c readdir.c readlink.c readlinkat.c \
- readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
- redirect-fds.c remap_file_pages.c rename.c renameat.c \
- renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
- $(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
- statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
- threads-execve.c time.c timer_create.c timer_xettime.c \
- timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
- ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
- umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
-DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
- access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
- attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
- perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
- ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
- prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
- preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
- process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
- pwritev.c qual_fault.c qual_inject-error-signal.c \
- qual_inject-retval.c qual_inject-signal.c qual_signal.c \
- quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
- read-write.c readahead.c readdir.c readlink.c readlinkat.c \
- readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
- redirect-fds.c remap_file_pages.c rename.c renameat.c \
- renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
- $(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
- statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
- threads-execve.c time.c timer_create.c timer_xettime.c \
- timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
- ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
- umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__extra_recursive_targets = check-valgrind-recursive
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors_dummy = \
- mgn= red= grn= lgn= blu= brg= std=; \
- am__color_tests=no
-am__tty_colors = { \
- $(am__tty_colors_dummy); \
- if test "X$(AM_COLOR_TESTS)" = Xno; then \
- am__color_tests=no; \
- elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
- am__color_tests=yes; \
- elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
- am__color_tests=yes; \
- fi; \
- if test $$am__color_tests = yes; then \
- red=''; \
- grn=''; \
- lgn=''; \
- blu=''; \
- mgn=''; \
- brg=''; \
- std=''; \
- fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__recheck_rx = ^[ ]*:recheck:[ ]*
-am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
-am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
- recheck = 1; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- { \
- if ((getline line2 < ($$0 ".log")) < 0) \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
- { \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
- { \
- break; \
- } \
- }; \
- if (recheck) \
- print $$0; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
- print "fatal: making $@: " msg | "cat >&2"; \
- exit 1; \
-} \
-function rst_section(header) \
-{ \
- print header; \
- len = length(header); \
- for (i = 1; i <= len; i = i + 1) \
- printf "="; \
- printf "\n\n"; \
-} \
-{ \
- copy_in_global_log = 1; \
- global_test_result = "RUN"; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".trs"); \
- if (line ~ /$(am__global_test_result_rx)/) \
- { \
- sub("$(am__global_test_result_rx)", "", line); \
- sub("[ ]*$$", "", line); \
- global_test_result = line; \
- } \
- else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
- copy_in_global_log = 0; \
- }; \
- if (copy_in_global_log) \
- { \
- rst_section(global_test_result ": " $$0); \
- while ((rc = (getline line < ($$0 ".log"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".log"); \
- print line; \
- }; \
- printf "\n"; \
- }; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
- --color-tests "$$am__color_tests" \
- --enable-hard-errors "$$am__enable_hard_errors" \
- --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test. Creates the
-# directory for the log if needed. Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup); \
-$(am__vpath_adj_setup) $(am__vpath_adj) \
-$(am__tty_colors); \
-srcdir=$(srcdir); export srcdir; \
-case "$@" in \
- */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
- *) am__odir=.;; \
-esac; \
-test "x$$am__odir" = x"." || test -d "$$am__odir" \
- || $(MKDIR_P) "$$am__odir" || exit $$?; \
-if test -f "./$$f"; then dir=./; \
-elif test -f "$$f"; then dir=; \
-else dir="$(srcdir)/"; fi; \
-tst=$$dir$$f; log='$@'; \
-if test -n '$(DISABLE_HARD_ERRORS)'; then \
- am__enable_hard_errors=no; \
-else \
- am__enable_hard_errors=yes; \
-fi; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- am__expect_failure=yes;; \
- *) \
- am__expect_failure=no;; \
-esac; \
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed). The result is saved in the shell variable
-# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
- bases='$(TEST_LOGS)'; \
- bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
- bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check recheck
-#am__EXEEXT_2 = strace-k.test
-TEST_SUITE_LOG = test-suite.log
-TEST_EXTENSIONS = .test
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:.log=.log)
-TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
-TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
- $(TEST_LOG_FLAGS)
-am__set_b = \
- case '$@' in \
- */*) \
- case '$*' in \
- */*) b='$*';; \
- *) b=`echo '$@' | sed 's/\.log$$//'`; \
- esac;; \
- *) \
- b='$*';; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /tmp/strace-4.17/missing aclocal-1.14
-AMTAR = $${TAR-tar}
-AM_DEFAULT_VERBOSITY = 1
-AUTOCONF = ${SHELL} /tmp/strace-4.17/missing autoconf
-AUTOHEADER = ${SHELL} /tmp/strace-4.17/missing autoheader
-AUTOMAKE = ${SHELL} /tmp/strace-4.17/missing automake-1.14
-AWK = gawk
-BUILD_EXEEXT =
-BUILD_OBJEXT =
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CC_FOR_BUILD = gcc
-CFLAGS = -g -O2
-CFLAGS_FOR_BUILD = -g -O2
-CODE_COVERAGE_CFLAGS =
-CODE_COVERAGE_CPPFLAGS =
-CODE_COVERAGE_CXXFLAGS =
-CODE_COVERAGE_ENABLED = no
-CODE_COVERAGE_LDFLAGS =
-COPYRIGHT_YEAR = 2017
-CPP = gcc -E
-CPPFLAGS =
-CPPFLAGS_FOR_BUILD =
-CPP_FOR_BUILD = gcc -E
-CYGPATH_W = echo
-DEB_CHANGELOGTIME = Thu, 25 May 2017 15:09:49 -0700
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = /bin/grep -E
-ENABLE_VALGRIND_drd = no
-ENABLE_VALGRIND_helgrind = no
-ENABLE_VALGRIND_memcheck = yes
-ENABLE_VALGRIND_sgcheck =
-EXEEXT =
-GCOV =
-GENHTML =
-GREP = /bin/grep
-INSTALL = /usr/bin/install -c
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
-LCOV =
-LDFLAGS =
-LDFLAGS_FOR_BUILD =
-LIBOBJS =
-LIBS =
-LTLIBOBJS =
-MAINT = #
-MAKEINFO = ${SHELL} /tmp/strace-4.17/missing makeinfo
-MIPS_ABI =
-MKDIR_P = /bin/mkdir -p
-OBJEXT = o
-PACKAGE = strace
-PACKAGE_BUGREPORT = strace-devel@lists.sourceforge.net
-PACKAGE_NAME = strace
-PACKAGE_STRING = strace 4.17
-PACKAGE_TARNAME = strace
-PACKAGE_URL = https://strace.io
-PACKAGE_VERSION = 4.17
-PATH_SEPARATOR = :
-PERL = /usr/bin/perl
-RANLIB = ranlib
-RPM_CHANGELOGTIME = Thu May 25 2017
-SED = /bin/sed
-SET_MAKE =
-SHELL = /bin/sh
-STRIP =
-VALGRIND = valgrind
-VALGRIND_ENABLED = yes
-VERSION = 4.17
-WARN_CFLAGS = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
-WARN_CFLAGS_FOR_BUILD = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
-abs_builddir = /tmp/strace-4.17/tests-mx32
-abs_srcdir = /tmp/strace-4.17/tests-mx32
-abs_top_builddir = /tmp/strace-4.17
-abs_top_srcdir = /tmp/strace-4.17
-ac_ct_CC = gcc
-ac_ct_CC_FOR_BUILD = gcc
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = $${TAR-tar} chof - "$$tardir"
-am__untar = $${TAR-tar} xf -
-arch = x86_64
-arch_m32 = i386
-arch_mx32 = x32
-bindir = ${exec_prefix}/bin
-build = x86_64-pc-linux-gnu
-build_alias =
-build_cpu = x86_64
-build_os = linux-gnu
-build_vendor = pc
-builddir = .
-datadir = ${datarootdir}
-datarootdir = ${prefix}/share
-dl_LIBS = -ldl
-docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
-dvidir = ${docdir}
-exec_prefix = ${prefix}
-host = x86_64-pc-linux-gnu
-host_alias =
-host_cpu = x86_64
-host_os = linux-gnu
-host_vendor = pc
-htmldir = ${docdir}
-includedir = ${prefix}/include
-infodir = ${datarootdir}/info
-install_sh = ${SHELL} /tmp/strace-4.17/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-libunwind_CPPFLAGS =
-libunwind_LDFLAGS =
-libunwind_LIBS =
-localedir = ${datarootdir}/locale
-localstatedir = ${prefix}/var
-mandir = ${datarootdir}/man
-mkdir_p = $(MKDIR_P)
-oldincludedir = /usr/include
-pdfdir = ${docdir}
-prefix = /usr/local
-program_transform_name = s,x,x,
-psdir = ${docdir}
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-srcdir = .
-sysconfdir = ${prefix}/etc
-target_alias =
-top_build_prefix = ../
-top_builddir = ..
-top_srcdir = ..
-valgrind_enabled_tools = memcheck
-valgrind_tools = memcheck helgrind drd sgcheck
-OS = linux
-ARCH = x32
-MPERS_NAME = mx32
-ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) -mx32
-AM_CFLAGS = $(WARN_CFLAGS)
-AM_CPPFLAGS = $(ARCH_MFLAGS) \
- -I$(builddir) \
- -I$(top_builddir)/$(OS)/$(ARCH) \
- -I$(top_srcdir)/$(OS)/$(ARCH) \
- -I$(top_builddir)/$(OS) \
- -I$(top_srcdir)/$(OS) \
- -I$(top_builddir) \
- -I$(top_srcdir)
-
-AM_LDFLAGS = $(ARCH_MFLAGS)
-libtests_a_SOURCES = \
- errno2name.c \
- error_msg.c \
- fill_memory.c \
- get_page_size.c \
- get_sigset_size.c \
- hexdump_strdup.c \
- hexquote_strndup.c \
- inode_of_sockfd.c \
- libmmsg.c \
- libsocketcall.c \
- overflowuid.c \
- pipe_maxfd.c \
- print_quoted_string.c \
- print_time.c \
- printflags.c \
- printxval.c \
- signal2name.c \
- skip_unavailable.c \
- sprintrc.c \
- tail_alloc.c \
- tests.h \
- tprintf.c \
- # end of libtests_a_SOURCES
-
-libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-check_LIBRARIES = libtests.a
-LDADD = libtests.a
-
-# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
-PURE_EXECUTABLES = \
- _newselect \
- accept \
- accept4 \
- access \
- acct \
- add_key \
- adjtimex \
- aio \
- alarm \
- bpf \
- brk \
- btrfs \
- caps \
- chmod \
- chown \
- chown32 \
- chroot \
- clock_adjtime \
- clock_nanosleep \
- clock_xettime \
- copy_file_range \
- creat \
- delete_module \
- dup \
- dup2 \
- dup3 \
- epoll_create \
- epoll_create1 \
- epoll_ctl \
- epoll_pwait \
- epoll_wait \
- erestartsys \
- eventfd \
- execve \
- execveat \
- faccessat \
- fadvise64 \
- fadvise64_64 \
- fallocate \
- fanotify_init \
- fanotify_mark \
- fchdir \
- fchmod \
- fchmodat \
- fchown \
- fchown32 \
- fchownat \
- fcntl \
- fcntl64 \
- fdatasync \
- file_handle \
- file_ioctl \
- finit_module \
- flock \
- fstat \
- fstat64 \
- fstatat64 \
- fstatfs \
- fstatfs64 \
- fsync \
- ftruncate \
- ftruncate64 \
- futex \
- futimesat \
- get_mempolicy \
- getcpu \
- getcwd \
- getdents \
- getdents64 \
- getegid \
- getegid32 \
- geteuid \
- geteuid32 \
- getgid \
- getgid32 \
- getgroups \
- getgroups32 \
- getpeername \
- getpgrp \
- getpid \
- getppid \
- getrandom \
- getresgid \
- getresgid32 \
- getresuid \
- getresuid32 \
- getrlimit \
- getrusage \
- getsid \
- getsockname \
- getuid \
- getuid32 \
- getxxid \
- inet-cmsg \
- init_module \
- inotify \
- inotify_init1 \
- ioctl \
- ioctl_block \
- ioctl_dm \
- ioctl_evdev \
- ioctl_loop \
- ioctl_mtd \
- ioctl_rtc \
- ioctl_scsi \
- ioctl_sg_io_v3 \
- ioctl_sg_io_v4 \
- ioctl_sock_gifconf \
- ioctl_uffdio \
- ioctl_v4l2 \
- ioperm \
- iopl \
- ioprio \
- ip_mreq \
- ipc \
- ipc_msg \
- ipc_msgbuf \
- ipc_sem \
- ipc_shm \
- kcmp \
- kexec_file_load \
- kexec_load \
- keyctl \
- kill \
- lchown \
- lchown32 \
- link \
- linkat \
- llseek \
- lookup_dcookie \
- lseek \
- lstat \
- lstat64 \
- madvise \
- mbind \
- membarrier \
- memfd_create \
- migrate_pages \
- mincore \
- mkdir \
- mkdirat \
- mknod \
- mknodat \
- mlock \
- mlock2 \
- mlockall \
- mmap \
- mmap64 \
- mmsg \
- mmsg_name \
- mount \
- move_pages \
- mq \
- mq_sendrecv \
- mq_sendrecv-read \
- mq_sendrecv-write \
- msg_control \
- msg_name \
- munlockall \
- nanosleep \
- net-icmp_filter \
- net-sockaddr \
- net-y-unix \
- net-yy-inet \
- net-yy-netlink \
- net-yy-unix \
- netlink_protocol \
- newfstatat \
- old_mmap \
- oldfstat \
- oldlstat \
- oldselect \
- oldstat \
- open \
- openat \
- osf_utimes \
- pause \
- perf_event_open \
- personality \
- pipe \
- pipe2 \
- pkey_alloc \
- pkey_free \
- pkey_mprotect \
- poll \
- ppoll \
- prctl-arg2-intptr \
- prctl-dumpable \
- prctl-name \
- prctl-no-args \
- prctl-pdeathsig \
- prctl-securebits \
- prctl-tid_address \
- prctl-tsc \
- pread64-pwrite64 \
- preadv \
- preadv-pwritev \
- preadv2-pwritev2 \
- printstr \
- prlimit64 \
- process_vm_readv \
- process_vm_writev \
- pselect6 \
- ptrace \
- pwritev \
- quotactl \
- quotactl-xfs \
- read-write \
- readahead \
- readdir \
- readlink \
- readlinkat \
- readv \
- reboot \
- recvfrom \
- recvmmsg-timeout \
- recvmsg \
- remap_file_pages \
- rename \
- renameat \
- renameat2 \
- request_key \
- rmdir \
- rt_sigpending \
- rt_sigprocmask \
- rt_sigqueueinfo \
- rt_sigreturn \
- rt_sigsuspend \
- rt_sigtimedwait \
- rt_tgsigqueueinfo \
- sched_get_priority_mxx \
- sched_rr_get_interval \
- sched_xetaffinity \
- sched_xetattr \
- sched_xetparam \
- sched_xetscheduler \
- sched_yield \
- seccomp-filter \
- select \
- semop \
- sendfile \
- sendfile64 \
- set_mempolicy \
- setdomainname \
- setfsgid \
- setfsgid32 \
- setfsuid \
- setfsuid32 \
- setgid \
- setgid32 \
- setgroups \
- setgroups32 \
- sethostname \
- setns \
- setregid \
- setregid32 \
- setresgid \
- setresgid32 \
- setresuid \
- setresuid32 \
- setreuid \
- setreuid32 \
- setrlimit \
- setuid \
- setuid32 \
- shmxt \
- shutdown \
- sigaction \
- sigaltstack \
- siginfo \
- signalfd4 \
- sigreturn \
- sigsuspend \
- socketcall \
- splice \
- stat \
- stat64 \
- statfs \
- statfs64 \
- statx \
- swap \
- sxetmask \
- symlink \
- symlinkat \
- sync \
- sync_file_range \
- sync_file_range2 \
- sysinfo \
- syslog \
- tee \
- time \
- timer_create \
- timer_xettime \
- timerfd_xettime \
- times \
- times-fail \
- truncate \
- truncate64 \
- ugetrlimit \
- uio \
- umask \
- umount \
- umount2 \
- umoven-illptr \
- umovestr \
- umovestr-illptr \
- umovestr2 \
- umovestr3 \
- uname \
- unlink \
- unlinkat \
- unshare \
- userfaultfd \
- ustat \
- utime \
- utimensat \
- utimes \
- vhangup \
- vmsplice \
- wait4 \
- waitid \
- waitpid \
- xattr \
- xattr-strings \
- xet_robust_list \
- xetitimer \
- xetpgid \
- xetpriority \
- xettimeofday \
- #
-
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
-count_f_LDADD = -lpthread $(LDADD)
-filter_unavailable_LDADD = -lpthread $(LDADD)
-fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-mq_LDADD = -lrt $(LDADD)
-mq_sendrecv_LDADD = -lrt $(LDADD)
-mq_sendrecv_read_LDADD = -lrt $(LDADD)
-mq_sendrecv_write_LDADD = -lrt $(LDADD)
-newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-pc_LDADD = $(dl_LIBS) $(LDADD)
-pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-threads_execve_LDADD = -lrt -lpthread $(LDADD)
-times_LDADD = -lrt $(LDADD)
-truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-stack_fcall_SOURCES = stack-fcall.c \
- stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
-
-
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
-GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
- access.gen.test acct.gen.test add_key.gen.test \
- adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
- chroot.gen.test clock.gen.test clock_adjtime.gen.test \
- clock_nanosleep.gen.test clock_xettime.gen.test \
- copy_file_range.gen.test creat.gen.test delete_module.gen.test \
- dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
- epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
- epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
- execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
- fallocate.gen.test fanotify_init.gen.test \
- fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
- fchmodat.gen.test fchown.gen.test fchown32.gen.test \
- fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
- fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
- finit_module.gen.test flock.gen.test fork-f.gen.test \
- fstat.gen.test fstat64.gen.test fstatat64.gen.test \
- fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
- ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
- get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
- getdents.gen.test getdents64.gen.test getegid.gen.test \
- getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
- getgid.gen.test getgid32.gen.test getgroups.gen.test \
- getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
- getpid.gen.test getppid.gen.test getrandom.gen.test \
- getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
- getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
- getsid.gen.test getsockname.gen.test gettid.gen.test \
- getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
- init_module.gen.test inotify.gen.test inotify_init1.gen.test \
- int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
- ioctl_evdev-v.gen.test ioctl_loop.gen.test \
- ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
- ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
- ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
- ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
- iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
- ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
- kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
- keyctl.gen.test kill.gen.test lchown.gen.test \
- lchown32.gen.test link.gen.test linkat.gen.test \
- lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
- madvise.gen.test mbind.gen.test membarrier.gen.test \
- memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
- mkdir.gen.test mkdirat.gen.test mknod.gen.test \
- mknodat.gen.test mlock.gen.test mlock2.gen.test \
- mlockall.gen.test mmap64.gen.test mmsg.gen.test \
- mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
- mount.gen.test move_pages.gen.test mq.gen.test \
- mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
- mq_sendrecv-write.gen.test msg_control.gen.test \
- msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
- nanosleep.gen.test net-icmp_filter.gen.test \
- net-sockaddr.gen.test netlink_protocol.gen.test \
- newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
- oldlstat.gen.test oldstat.gen.test open.gen.test \
- openat.gen.test osf_utimes.gen.test pause.gen.test \
- perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
- perf_event_open_unabbrev.gen.test pipe2.gen.test \
- pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
- ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
- preadv.gen.test preadv-pwritev.gen.test \
- preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
- process_vm_readv.gen.test process_vm_writev.gen.test \
- pselect6.gen.test ptrace.gen.test pwritev.gen.test \
- quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
- quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
- readdir.gen.test readlink.gen.test readlinkat.gen.test \
- reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
- recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
- rename.gen.test renameat.gen.test renameat2.gen.test \
- request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
- rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
- rt_sigreturn.gen.test rt_sigsuspend.gen.test \
- rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
- sched.gen.test sched_get_priority_mxx.gen.test \
- sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
- sched_xetattr.gen.test sched_xetparam.gen.test \
- sched_xetscheduler.gen.test sched_yield.gen.test \
- seccomp-filter.gen.test seccomp-filter-v.gen.test \
- select.gen.test semop.gen.test sendfile.gen.test \
- sendfile64.gen.test set_mempolicy.gen.test \
- setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
- setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
- setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
- sethostname.gen.test setns.gen.test setregid.gen.test \
- setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
- setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
- setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
- setuid32.gen.test shmxt.gen.test shutdown.gen.test \
- siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
- sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
- statfs64.gen.test statx.gen.test swap.gen.test \
- sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
- sync.gen.test sync_file_range.gen.test \
- sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
- tee.gen.test time.gen.test timer_create.gen.test \
- timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
- times-fail.gen.test trace_fstat.gen.test \
- trace_fstatfs.gen.test trace_lstat.gen.test \
- trace_question.gen.test trace_stat.gen.test \
- trace_stat_like.gen.test trace_statfs.gen.test \
- trace_statfs_like.gen.test truncate.gen.test \
- truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
- umoven-illptr.gen.test umovestr-illptr.gen.test \
- umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
- unshare.gen.test userfaultfd.gen.test ustat.gen.test \
- utime.gen.test utimensat.gen.test utimes.gen.test \
- vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
- wait4.gen.test wait4-v.gen.test waitid.gen.test \
- waitid-v.gen.test waitpid.gen.test xattr.gen.test \
- xattr-strings.gen.test xet_robust_list.gen.test \
- xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
- xettimeofday.gen.test
-LIBUNWIND_TESTS =
-#LIBUNWIND_TESTS = strace-k.test
-DECODER_TESTS = \
- brk.test \
- btrfs-v.test \
- btrfs-vw.test \
- btrfs-w.test \
- caps-abbrev.test \
- caps.test \
- eventfd.test \
- execve-v.test \
- execve.test \
- fadvise64.test \
- futex.test \
- getuid.test \
- ioctl.test \
- ioctl_dm-v.test \
- ioctl_dm.test \
- ioctl_loop-nv.test \
- ioctl_nsfs.test \
- ioctl_sock_gifconf.test \
- ipc_msgbuf.test \
- llseek.test \
- lseek.test \
- mmap.test \
- net-y-unix.test \
- net-yy-inet.test \
- net-yy-netlink.test \
- net-yy-unix.test \
- net.test \
- nsyscalls.test \
- oldselect.test \
- personality.test \
- pipe.test \
- poll.test \
- prctl-arg2-intptr.test \
- prctl-dumpable.test \
- prctl-name.test \
- prctl-no-args.test \
- prctl-pdeathsig.test \
- prctl-seccomp-filter-v.test \
- prctl-seccomp-strict.test \
- prctl-securebits.test \
- prctl-tid_address.test \
- prctl-tsc.test \
- qual_fault-exit_group.test \
- readv.test \
- scm_rights-fd.test \
- seccomp-strict.test \
- sigaction.test \
- sigaltstack.test \
- sun_path.test \
- uio.test \
- umount.test \
- umount2.test \
- umovestr.test \
- umovestr2.test \
- uname.test \
- unix-pair-send-recv.test \
- unix-pair-sendto-recvfrom.test \
- # end of DECODER_TESTS
-
-MISC_TESTS = \
- attach-f-p.test \
- attach-p-cmd.test \
- bexecve.test \
- count-f.test \
- count.test \
- detach-running.test \
- detach-sleeping.test \
- detach-stopped.test \
- filter-unavailable.test \
- get_regs.test \
- ksysent.test \
- opipe.test \
- options-syntax.test \
- pc.test \
- qual_fault-syntax.test \
- qual_fault.test \
- qual_inject-error-signal.test \
- qual_inject-retval.test \
- qual_inject-signal.test \
- qual_inject-syntax.test \
- qual_signal.test \
- qual_syscall.test \
- redirect-fds.test \
- redirect.test \
- restart_syscall.test \
- strace-C.test \
- strace-E.test \
- strace-S.test \
- strace-T.test \
- strace-V.test \
- strace-ff.test \
- strace-r.test \
- strace-t.test \
- strace-tt.test \
- strace-ttt.test \
- threads-execve.test \
- # end of MISC_TESTS
-
-XFAIL_TESTS_ =
-XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
-XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
-XFAIL_TESTS_x86_64 = int_0x80.gen.test
-XFAIL_TESTS_x32 = int_0x80.gen.test
-XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
-TEST_LOG_COMPILER = env
-AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
-VALGRIND_FLAGS = --quiet
-VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
-EXTRA_DIST = \
- caps-abbrev.awk \
- caps.awk \
- clock.in \
- count-f.expected \
- eventfd.expected \
- fadvise.h \
- filter-unavailable.expected \
- fstatat.c \
- fstatx.c \
- gen_pure_executables.sh \
- gen_tests.in \
- gen_tests.sh \
- getresugid.c \
- init.sh \
- init_delete_module.h \
- ioctl-v.sh \
- ipc.sh \
- ipc_msgbuf.expected \
- ksysent.sed \
- lstatx.c \
- match.awk \
- net.expected \
- oldselect.expected \
- pipe.expected \
- process_vm_readv_writev.c \
- pure_executables.list \
- qual_fault-exit_group.expected \
- qual_inject-error-signal.expected \
- qual_inject-signal.expected \
- quotactl.h \
- regex.in \
- run.sh \
- sched.in \
- scno_tampering.sh \
- setfsugid.c \
- setresugid.c \
- setreugid.c \
- setugid.c \
- sigaction.awk \
- sigaltstack.expected \
- sockname.c \
- strace-C.expected \
- strace-E.expected \
- strace-T.expected \
- strace-ff.expected \
- strace-k.test \
- strace-r.expected \
- strace.supp \
- struct_flock.c \
- sun_path.expected \
- trace_fstat.in \
- trace_fstatfs.in \
- trace_lstat.in \
- trace_question.in \
- trace_stat.in \
- trace_stat_like.in \
- trace_statfs.in \
- trace_statfs_like.in \
- uio.expected \
- umode_t.c \
- umovestr.expected \
- unix-pair-send-recv.expected \
- unix-pair-sendto-recvfrom.expected \
- xchownx.c \
- xgetrlimit.c \
- xselect.c \
- xstatfs.c \
- xstatfs64.c \
- xstatfsx.c \
- xstatx.c \
- xutimes.c \
- $(TESTS)
-
-objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h syscallent.i scno.h
-SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
-
-digits = [[:digit:]][[:digit:]]*
-al_nums = [[:alnum:]_][[:alnum:]_]*
-SCNO_SED = /TRACE_INDIRECT_SUBCALL/d; s/^\[[[:space:]]*\($(digits)\)\][[:space:]]*=[[:space:]]*{[^,]*,[^,]*,[^,]*,[[:space:]]*"\($(al_nums)\)"[[:space:]]*},.*/\#ifndef __NR_\2\n\# define __NR_\2 (SYSCALL_BIT | \1)\n\#endif/p
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests-mx32/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign tests-mx32/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkLIBRARIES:
- -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-
-libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES)
- $(AM_V_at)-rm -f libtests.a
- $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
- $(AM_V_at)$(RANLIB) libtests.a
-
-clean-checkPROGRAMS:
- -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
-
-_newselect$(EXEEXT): $(_newselect_OBJECTS) $(_newselect_DEPENDENCIES) $(EXTRA__newselect_DEPENDENCIES)
- @rm -f _newselect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(_newselect_OBJECTS) $(_newselect_LDADD) $(LIBS)
-
-accept$(EXEEXT): $(accept_OBJECTS) $(accept_DEPENDENCIES) $(EXTRA_accept_DEPENDENCIES)
- @rm -f accept$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(accept_OBJECTS) $(accept_LDADD) $(LIBS)
-
-accept4$(EXEEXT): $(accept4_OBJECTS) $(accept4_DEPENDENCIES) $(EXTRA_accept4_DEPENDENCIES)
- @rm -f accept4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(accept4_OBJECTS) $(accept4_LDADD) $(LIBS)
-
-access$(EXEEXT): $(access_OBJECTS) $(access_DEPENDENCIES) $(EXTRA_access_DEPENDENCIES)
- @rm -f access$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
-
-acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES)
- @rm -f acct$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
-
-add_key$(EXEEXT): $(add_key_OBJECTS) $(add_key_DEPENDENCIES) $(EXTRA_add_key_DEPENDENCIES)
- @rm -f add_key$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(add_key_OBJECTS) $(add_key_LDADD) $(LIBS)
-
-adjtimex$(EXEEXT): $(adjtimex_OBJECTS) $(adjtimex_DEPENDENCIES) $(EXTRA_adjtimex_DEPENDENCIES)
- @rm -f adjtimex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(adjtimex_OBJECTS) $(adjtimex_LDADD) $(LIBS)
-
-aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES)
- @rm -f aio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS)
-
-alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES)
- @rm -f alarm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS)
-
-answer$(EXEEXT): $(answer_OBJECTS) $(answer_DEPENDENCIES) $(EXTRA_answer_DEPENDENCIES)
- @rm -f answer$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(answer_OBJECTS) $(answer_LDADD) $(LIBS)
-
-attach-f-p$(EXEEXT): $(attach_f_p_OBJECTS) $(attach_f_p_DEPENDENCIES) $(EXTRA_attach_f_p_DEPENDENCIES)
- @rm -f attach-f-p$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_f_p_OBJECTS) $(attach_f_p_LDADD) $(LIBS)
-
-attach-f-p-cmd$(EXEEXT): $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_DEPENDENCIES) $(EXTRA_attach_f_p_cmd_DEPENDENCIES)
- @rm -f attach-f-p-cmd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_LDADD) $(LIBS)
-
-attach-p-cmd-cmd$(EXEEXT): $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_DEPENDENCIES) $(EXTRA_attach_p_cmd_cmd_DEPENDENCIES)
- @rm -f attach-p-cmd-cmd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_LDADD) $(LIBS)
-
-attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES) $(EXTRA_attach_p_cmd_p_DEPENDENCIES)
- @rm -f attach-p-cmd-p$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
-
-bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES)
- @rm -f bpf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
-
-brk$(EXEEXT): $(brk_OBJECTS) $(brk_DEPENDENCIES) $(EXTRA_brk_DEPENDENCIES)
- @rm -f brk$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(brk_OBJECTS) $(brk_LDADD) $(LIBS)
-
-btrfs$(EXEEXT): $(btrfs_OBJECTS) $(btrfs_DEPENDENCIES) $(EXTRA_btrfs_DEPENDENCIES)
- @rm -f btrfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(btrfs_OBJECTS) $(btrfs_LDADD) $(LIBS)
-
-caps$(EXEEXT): $(caps_OBJECTS) $(caps_DEPENDENCIES) $(EXTRA_caps_DEPENDENCIES)
- @rm -f caps$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(caps_OBJECTS) $(caps_LDADD) $(LIBS)
-
-caps-abbrev$(EXEEXT): $(caps_abbrev_OBJECTS) $(caps_abbrev_DEPENDENCIES) $(EXTRA_caps_abbrev_DEPENDENCIES)
- @rm -f caps-abbrev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(caps_abbrev_OBJECTS) $(caps_abbrev_LDADD) $(LIBS)
-
-chmod$(EXEEXT): $(chmod_OBJECTS) $(chmod_DEPENDENCIES) $(EXTRA_chmod_DEPENDENCIES)
- @rm -f chmod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
-
-chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES)
- @rm -f chown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
-
-chown32$(EXEEXT): $(chown32_OBJECTS) $(chown32_DEPENDENCIES) $(EXTRA_chown32_DEPENDENCIES)
- @rm -f chown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chown32_OBJECTS) $(chown32_LDADD) $(LIBS)
-
-chroot$(EXEEXT): $(chroot_OBJECTS) $(chroot_DEPENDENCIES) $(EXTRA_chroot_DEPENDENCIES)
- @rm -f chroot$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chroot_OBJECTS) $(chroot_LDADD) $(LIBS)
-
-clock_adjtime$(EXEEXT): $(clock_adjtime_OBJECTS) $(clock_adjtime_DEPENDENCIES) $(EXTRA_clock_adjtime_DEPENDENCIES)
- @rm -f clock_adjtime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_adjtime_OBJECTS) $(clock_adjtime_LDADD) $(LIBS)
-
-clock_nanosleep$(EXEEXT): $(clock_nanosleep_OBJECTS) $(clock_nanosleep_DEPENDENCIES) $(EXTRA_clock_nanosleep_DEPENDENCIES)
- @rm -f clock_nanosleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_nanosleep_OBJECTS) $(clock_nanosleep_LDADD) $(LIBS)
-
-clock_xettime$(EXEEXT): $(clock_xettime_OBJECTS) $(clock_xettime_DEPENDENCIES) $(EXTRA_clock_xettime_DEPENDENCIES)
- @rm -f clock_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_xettime_OBJECTS) $(clock_xettime_LDADD) $(LIBS)
-
-copy_file_range$(EXEEXT): $(copy_file_range_OBJECTS) $(copy_file_range_DEPENDENCIES) $(EXTRA_copy_file_range_DEPENDENCIES)
- @rm -f copy_file_range$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(copy_file_range_OBJECTS) $(copy_file_range_LDADD) $(LIBS)
-
-count-f$(EXEEXT): $(count_f_OBJECTS) $(count_f_DEPENDENCIES) $(EXTRA_count_f_DEPENDENCIES)
- @rm -f count-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(count_f_OBJECTS) $(count_f_LDADD) $(LIBS)
-
-creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIES)
- @rm -f creat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
-
-delete_module$(EXEEXT): $(delete_module_OBJECTS) $(delete_module_DEPENDENCIES) $(EXTRA_delete_module_DEPENDENCIES)
- @rm -f delete_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(delete_module_OBJECTS) $(delete_module_LDADD) $(LIBS)
-
-dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES)
- @rm -f dup$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
-
-dup2$(EXEEXT): $(dup2_OBJECTS) $(dup2_DEPENDENCIES) $(EXTRA_dup2_DEPENDENCIES)
- @rm -f dup2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup2_OBJECTS) $(dup2_LDADD) $(LIBS)
-
-dup3$(EXEEXT): $(dup3_OBJECTS) $(dup3_DEPENDENCIES) $(EXTRA_dup3_DEPENDENCIES)
- @rm -f dup3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup3_OBJECTS) $(dup3_LDADD) $(LIBS)
-
-epoll_create$(EXEEXT): $(epoll_create_OBJECTS) $(epoll_create_DEPENDENCIES) $(EXTRA_epoll_create_DEPENDENCIES)
- @rm -f epoll_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_create_OBJECTS) $(epoll_create_LDADD) $(LIBS)
-
-epoll_create1$(EXEEXT): $(epoll_create1_OBJECTS) $(epoll_create1_DEPENDENCIES) $(EXTRA_epoll_create1_DEPENDENCIES)
- @rm -f epoll_create1$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_create1_OBJECTS) $(epoll_create1_LDADD) $(LIBS)
-
-epoll_ctl$(EXEEXT): $(epoll_ctl_OBJECTS) $(epoll_ctl_DEPENDENCIES) $(EXTRA_epoll_ctl_DEPENDENCIES)
- @rm -f epoll_ctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_ctl_OBJECTS) $(epoll_ctl_LDADD) $(LIBS)
-
-epoll_pwait$(EXEEXT): $(epoll_pwait_OBJECTS) $(epoll_pwait_DEPENDENCIES) $(EXTRA_epoll_pwait_DEPENDENCIES)
- @rm -f epoll_pwait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_pwait_OBJECTS) $(epoll_pwait_LDADD) $(LIBS)
-
-epoll_wait$(EXEEXT): $(epoll_wait_OBJECTS) $(epoll_wait_DEPENDENCIES) $(EXTRA_epoll_wait_DEPENDENCIES)
- @rm -f epoll_wait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_wait_OBJECTS) $(epoll_wait_LDADD) $(LIBS)
-
-erestartsys$(EXEEXT): $(erestartsys_OBJECTS) $(erestartsys_DEPENDENCIES) $(EXTRA_erestartsys_DEPENDENCIES)
- @rm -f erestartsys$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(erestartsys_OBJECTS) $(erestartsys_LDADD) $(LIBS)
-
-eventfd$(EXEEXT): $(eventfd_OBJECTS) $(eventfd_DEPENDENCIES) $(EXTRA_eventfd_DEPENDENCIES)
- @rm -f eventfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(eventfd_OBJECTS) $(eventfd_LDADD) $(LIBS)
-
-execve$(EXEEXT): $(execve_OBJECTS) $(execve_DEPENDENCIES) $(EXTRA_execve_DEPENDENCIES)
- @rm -f execve$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
-
-execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES)
- @rm -f execve-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
-
-execveat$(EXEEXT): $(execveat_OBJECTS) $(execveat_DEPENDENCIES) $(EXTRA_execveat_DEPENDENCIES)
- @rm -f execveat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
-
-execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES)
- @rm -f execveat-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
-
-faccessat$(EXEEXT): $(faccessat_OBJECTS) $(faccessat_DEPENDENCIES) $(EXTRA_faccessat_DEPENDENCIES)
- @rm -f faccessat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
-
-fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES)
- @rm -f fadvise64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
-
-fadvise64_64$(EXEEXT): $(fadvise64_64_OBJECTS) $(fadvise64_64_DEPENDENCIES) $(EXTRA_fadvise64_64_DEPENDENCIES)
- @rm -f fadvise64_64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fadvise64_64_OBJECTS) $(fadvise64_64_LDADD) $(LIBS)
-
-fallocate$(EXEEXT): $(fallocate_OBJECTS) $(fallocate_DEPENDENCIES) $(EXTRA_fallocate_DEPENDENCIES)
- @rm -f fallocate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fallocate_OBJECTS) $(fallocate_LDADD) $(LIBS)
-
-fanotify_init$(EXEEXT): $(fanotify_init_OBJECTS) $(fanotify_init_DEPENDENCIES) $(EXTRA_fanotify_init_DEPENDENCIES)
- @rm -f fanotify_init$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fanotify_init_OBJECTS) $(fanotify_init_LDADD) $(LIBS)
-
-fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $(EXTRA_fanotify_mark_DEPENDENCIES)
- @rm -f fanotify_mark$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
-
-fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES)
- @rm -f fchdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS)
-
-fchmod$(EXEEXT): $(fchmod_OBJECTS) $(fchmod_DEPENDENCIES) $(EXTRA_fchmod_DEPENDENCIES)
- @rm -f fchmod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
-
-fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES)
- @rm -f fchmodat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
-
-fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES)
- @rm -f fchown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
-
-fchown32$(EXEEXT): $(fchown32_OBJECTS) $(fchown32_DEPENDENCIES) $(EXTRA_fchown32_DEPENDENCIES)
- @rm -f fchown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchown32_OBJECTS) $(fchown32_LDADD) $(LIBS)
-
-fchownat$(EXEEXT): $(fchownat_OBJECTS) $(fchownat_DEPENDENCIES) $(EXTRA_fchownat_DEPENDENCIES)
- @rm -f fchownat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
-
-fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES)
- @rm -f fcntl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
-
-fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES)
- @rm -f fcntl64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
-
-fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES)
- @rm -f fdatasync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
-
-file_handle$(EXEEXT): $(file_handle_OBJECTS) $(file_handle_DEPENDENCIES) $(EXTRA_file_handle_DEPENDENCIES)
- @rm -f file_handle$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
-
-file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES)
- @rm -f file_ioctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
-
-filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES)
- @rm -f filter-unavailable$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
-
-finit_module$(EXEEXT): $(finit_module_OBJECTS) $(finit_module_DEPENDENCIES) $(EXTRA_finit_module_DEPENDENCIES)
- @rm -f finit_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(finit_module_OBJECTS) $(finit_module_LDADD) $(LIBS)
-
-flock$(EXEEXT): $(flock_OBJECTS) $(flock_DEPENDENCIES) $(EXTRA_flock_DEPENDENCIES)
- @rm -f flock$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
-
-fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES)
- @rm -f fork-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
-
-fstat$(EXEEXT): $(fstat_OBJECTS) $(fstat_DEPENDENCIES) $(EXTRA_fstat_DEPENDENCIES)
- @rm -f fstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstat_OBJECTS) $(fstat_LDADD) $(LIBS)
-
-fstat64$(EXEEXT): $(fstat64_OBJECTS) $(fstat64_DEPENDENCIES) $(EXTRA_fstat64_DEPENDENCIES)
- @rm -f fstat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstat64_OBJECTS) $(fstat64_LDADD) $(LIBS)
-
-fstatat64$(EXEEXT): $(fstatat64_OBJECTS) $(fstatat64_DEPENDENCIES) $(EXTRA_fstatat64_DEPENDENCIES)
- @rm -f fstatat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatat64_OBJECTS) $(fstatat64_LDADD) $(LIBS)
-
-fstatfs$(EXEEXT): $(fstatfs_OBJECTS) $(fstatfs_DEPENDENCIES) $(EXTRA_fstatfs_DEPENDENCIES)
- @rm -f fstatfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatfs_OBJECTS) $(fstatfs_LDADD) $(LIBS)
-
-fstatfs64$(EXEEXT): $(fstatfs64_OBJECTS) $(fstatfs64_DEPENDENCIES) $(EXTRA_fstatfs64_DEPENDENCIES)
- @rm -f fstatfs64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatfs64_OBJECTS) $(fstatfs64_LDADD) $(LIBS)
-
-fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIES)
- @rm -f fsync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
-
-ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES)
- @rm -f ftruncate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
-
-ftruncate64$(EXEEXT): $(ftruncate64_OBJECTS) $(ftruncate64_DEPENDENCIES) $(EXTRA_ftruncate64_DEPENDENCIES)
- @rm -f ftruncate64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ftruncate64_OBJECTS) $(ftruncate64_LDADD) $(LIBS)
-
-futex$(EXEEXT): $(futex_OBJECTS) $(futex_DEPENDENCIES) $(EXTRA_futex_DEPENDENCIES)
- @rm -f futex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(futex_OBJECTS) $(futex_LDADD) $(LIBS)
-
-futimesat$(EXEEXT): $(futimesat_OBJECTS) $(futimesat_DEPENDENCIES) $(EXTRA_futimesat_DEPENDENCIES)
- @rm -f futimesat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(futimesat_OBJECTS) $(futimesat_LDADD) $(LIBS)
-
-get_mempolicy$(EXEEXT): $(get_mempolicy_OBJECTS) $(get_mempolicy_DEPENDENCIES) $(EXTRA_get_mempolicy_DEPENDENCIES)
- @rm -f get_mempolicy$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(get_mempolicy_OBJECTS) $(get_mempolicy_LDADD) $(LIBS)
-
-getcpu$(EXEEXT): $(getcpu_OBJECTS) $(getcpu_DEPENDENCIES) $(EXTRA_getcpu_DEPENDENCIES)
- @rm -f getcpu$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getcpu_OBJECTS) $(getcpu_LDADD) $(LIBS)
-
-getcwd$(EXEEXT): $(getcwd_OBJECTS) $(getcwd_DEPENDENCIES) $(EXTRA_getcwd_DEPENDENCIES)
- @rm -f getcwd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getcwd_OBJECTS) $(getcwd_LDADD) $(LIBS)
-
-getdents$(EXEEXT): $(getdents_OBJECTS) $(getdents_DEPENDENCIES) $(EXTRA_getdents_DEPENDENCIES)
- @rm -f getdents$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getdents_OBJECTS) $(getdents_LDADD) $(LIBS)
-
-getdents64$(EXEEXT): $(getdents64_OBJECTS) $(getdents64_DEPENDENCIES) $(EXTRA_getdents64_DEPENDENCIES)
- @rm -f getdents64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getdents64_OBJECTS) $(getdents64_LDADD) $(LIBS)
-
-getegid$(EXEEXT): $(getegid_OBJECTS) $(getegid_DEPENDENCIES) $(EXTRA_getegid_DEPENDENCIES)
- @rm -f getegid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getegid_OBJECTS) $(getegid_LDADD) $(LIBS)
-
-getegid32$(EXEEXT): $(getegid32_OBJECTS) $(getegid32_DEPENDENCIES) $(EXTRA_getegid32_DEPENDENCIES)
- @rm -f getegid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getegid32_OBJECTS) $(getegid32_LDADD) $(LIBS)
-
-geteuid$(EXEEXT): $(geteuid_OBJECTS) $(geteuid_DEPENDENCIES) $(EXTRA_geteuid_DEPENDENCIES)
- @rm -f geteuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(geteuid_OBJECTS) $(geteuid_LDADD) $(LIBS)
-
-geteuid32$(EXEEXT): $(geteuid32_OBJECTS) $(geteuid32_DEPENDENCIES) $(EXTRA_geteuid32_DEPENDENCIES)
- @rm -f geteuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(geteuid32_OBJECTS) $(geteuid32_LDADD) $(LIBS)
-
-getgid$(EXEEXT): $(getgid_OBJECTS) $(getgid_DEPENDENCIES) $(EXTRA_getgid_DEPENDENCIES)
- @rm -f getgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgid_OBJECTS) $(getgid_LDADD) $(LIBS)
-
-getgid32$(EXEEXT): $(getgid32_OBJECTS) $(getgid32_DEPENDENCIES) $(EXTRA_getgid32_DEPENDENCIES)
- @rm -f getgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgid32_OBJECTS) $(getgid32_LDADD) $(LIBS)
-
-getgroups$(EXEEXT): $(getgroups_OBJECTS) $(getgroups_DEPENDENCIES) $(EXTRA_getgroups_DEPENDENCIES)
- @rm -f getgroups$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgroups_OBJECTS) $(getgroups_LDADD) $(LIBS)
-
-getgroups32$(EXEEXT): $(getgroups32_OBJECTS) $(getgroups32_DEPENDENCIES) $(EXTRA_getgroups32_DEPENDENCIES)
- @rm -f getgroups32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgroups32_OBJECTS) $(getgroups32_LDADD) $(LIBS)
-
-getpeername$(EXEEXT): $(getpeername_OBJECTS) $(getpeername_DEPENDENCIES) $(EXTRA_getpeername_DEPENDENCIES)
- @rm -f getpeername$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpeername_OBJECTS) $(getpeername_LDADD) $(LIBS)
-
-getpgrp$(EXEEXT): $(getpgrp_OBJECTS) $(getpgrp_DEPENDENCIES) $(EXTRA_getpgrp_DEPENDENCIES)
- @rm -f getpgrp$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
-
-getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES)
- @rm -f getpid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
-
-getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES)
- @rm -f getppid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
-
-getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES)
- @rm -f getrandom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
-
-getresgid$(EXEEXT): $(getresgid_OBJECTS) $(getresgid_DEPENDENCIES) $(EXTRA_getresgid_DEPENDENCIES)
- @rm -f getresgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresgid_OBJECTS) $(getresgid_LDADD) $(LIBS)
-
-getresgid32$(EXEEXT): $(getresgid32_OBJECTS) $(getresgid32_DEPENDENCIES) $(EXTRA_getresgid32_DEPENDENCIES)
- @rm -f getresgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresgid32_OBJECTS) $(getresgid32_LDADD) $(LIBS)
-
-getresuid$(EXEEXT): $(getresuid_OBJECTS) $(getresuid_DEPENDENCIES) $(EXTRA_getresuid_DEPENDENCIES)
- @rm -f getresuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresuid_OBJECTS) $(getresuid_LDADD) $(LIBS)
-
-getresuid32$(EXEEXT): $(getresuid32_OBJECTS) $(getresuid32_DEPENDENCIES) $(EXTRA_getresuid32_DEPENDENCIES)
- @rm -f getresuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresuid32_OBJECTS) $(getresuid32_LDADD) $(LIBS)
-
-getrlimit$(EXEEXT): $(getrlimit_OBJECTS) $(getrlimit_DEPENDENCIES) $(EXTRA_getrlimit_DEPENDENCIES)
- @rm -f getrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrlimit_OBJECTS) $(getrlimit_LDADD) $(LIBS)
-
-getrusage$(EXEEXT): $(getrusage_OBJECTS) $(getrusage_DEPENDENCIES) $(EXTRA_getrusage_DEPENDENCIES)
- @rm -f getrusage$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrusage_OBJECTS) $(getrusage_LDADD) $(LIBS)
-
-getsid$(EXEEXT): $(getsid_OBJECTS) $(getsid_DEPENDENCIES) $(EXTRA_getsid_DEPENDENCIES)
- @rm -f getsid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
-
-getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES)
- @rm -f getsockname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
-
-gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES)
- @rm -f gettid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
-
-getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES)
- @rm -f getuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
-
-getuid32$(EXEEXT): $(getuid32_OBJECTS) $(getuid32_DEPENDENCIES) $(EXTRA_getuid32_DEPENDENCIES)
- @rm -f getuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getuid32_OBJECTS) $(getuid32_LDADD) $(LIBS)
-
-getxxid$(EXEEXT): $(getxxid_OBJECTS) $(getxxid_DEPENDENCIES) $(EXTRA_getxxid_DEPENDENCIES)
- @rm -f getxxid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getxxid_OBJECTS) $(getxxid_LDADD) $(LIBS)
-
-inet-cmsg$(EXEEXT): $(inet_cmsg_OBJECTS) $(inet_cmsg_DEPENDENCIES) $(EXTRA_inet_cmsg_DEPENDENCIES)
- @rm -f inet-cmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inet_cmsg_OBJECTS) $(inet_cmsg_LDADD) $(LIBS)
-
-init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA_init_module_DEPENDENCIES)
- @rm -f init_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
-
-inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES)
- @rm -f inotify$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
-
-inotify_init1$(EXEEXT): $(inotify_init1_OBJECTS) $(inotify_init1_DEPENDENCIES) $(EXTRA_inotify_init1_DEPENDENCIES)
- @rm -f inotify_init1$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
-
-int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES)
- @rm -f int_0x80$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
-
-ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES)
- @rm -f ioctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
-
-ioctl_block$(EXEEXT): $(ioctl_block_OBJECTS) $(ioctl_block_DEPENDENCIES) $(EXTRA_ioctl_block_DEPENDENCIES)
- @rm -f ioctl_block$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
-
-ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES)
- @rm -f ioctl_dm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
-
-ioctl_dm-v$(EXEEXT): $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_DEPENDENCIES) $(EXTRA_ioctl_dm_v_DEPENDENCIES)
- @rm -f ioctl_dm-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_LDADD) $(LIBS)
-
-ioctl_evdev$(EXEEXT): $(ioctl_evdev_OBJECTS) $(ioctl_evdev_DEPENDENCIES) $(EXTRA_ioctl_evdev_DEPENDENCIES)
- @rm -f ioctl_evdev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS)
-
-ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES)
- @rm -f ioctl_evdev-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS)
-
-ioctl_loop$(EXEEXT): $(ioctl_loop_OBJECTS) $(ioctl_loop_DEPENDENCIES) $(EXTRA_ioctl_loop_DEPENDENCIES)
- @rm -f ioctl_loop$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_OBJECTS) $(ioctl_loop_LDADD) $(LIBS)
-
-ioctl_loop-nv$(EXEEXT): $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_DEPENDENCIES) $(EXTRA_ioctl_loop_nv_DEPENDENCIES)
- @rm -f ioctl_loop-nv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_LDADD) $(LIBS)
-
-ioctl_loop-v$(EXEEXT): $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_DEPENDENCIES) $(EXTRA_ioctl_loop_v_DEPENDENCIES)
- @rm -f ioctl_loop-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_LDADD) $(LIBS)
-
-ioctl_mtd$(EXEEXT): $(ioctl_mtd_OBJECTS) $(ioctl_mtd_DEPENDENCIES) $(EXTRA_ioctl_mtd_DEPENDENCIES)
- @rm -f ioctl_mtd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
-
-ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES)
- @rm -f ioctl_nsfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS)
-
-ioctl_rtc$(EXEEXT): $(ioctl_rtc_OBJECTS) $(ioctl_rtc_DEPENDENCIES) $(EXTRA_ioctl_rtc_DEPENDENCIES)
- @rm -f ioctl_rtc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_rtc_OBJECTS) $(ioctl_rtc_LDADD) $(LIBS)
-
-ioctl_rtc-v$(EXEEXT): $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_DEPENDENCIES) $(EXTRA_ioctl_rtc_v_DEPENDENCIES)
- @rm -f ioctl_rtc-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_LDADD) $(LIBS)
-
-ioctl_scsi$(EXEEXT): $(ioctl_scsi_OBJECTS) $(ioctl_scsi_DEPENDENCIES) $(EXTRA_ioctl_scsi_DEPENDENCIES)
- @rm -f ioctl_scsi$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_scsi_OBJECTS) $(ioctl_scsi_LDADD) $(LIBS)
-
-ioctl_sg_io_v3$(EXEEXT): $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v3_DEPENDENCIES)
- @rm -f ioctl_sg_io_v3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_LDADD) $(LIBS)
-
-ioctl_sg_io_v4$(EXEEXT): $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v4_DEPENDENCIES)
- @rm -f ioctl_sg_io_v4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_LDADD) $(LIBS)
-
-ioctl_sock_gifconf$(EXEEXT): $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_DEPENDENCIES) $(EXTRA_ioctl_sock_gifconf_DEPENDENCIES)
- @rm -f ioctl_sock_gifconf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_LDADD) $(LIBS)
-
-ioctl_uffdio$(EXEEXT): $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_DEPENDENCIES) $(EXTRA_ioctl_uffdio_DEPENDENCIES)
- @rm -f ioctl_uffdio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_LDADD) $(LIBS)
-
-ioctl_v4l2$(EXEEXT): $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_DEPENDENCIES) $(EXTRA_ioctl_v4l2_DEPENDENCIES)
- @rm -f ioctl_v4l2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_LDADD) $(LIBS)
-
-ioperm$(EXEEXT): $(ioperm_OBJECTS) $(ioperm_DEPENDENCIES) $(EXTRA_ioperm_DEPENDENCIES)
- @rm -f ioperm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioperm_OBJECTS) $(ioperm_LDADD) $(LIBS)
-
-iopl$(EXEEXT): $(iopl_OBJECTS) $(iopl_DEPENDENCIES) $(EXTRA_iopl_DEPENDENCIES)
- @rm -f iopl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(iopl_OBJECTS) $(iopl_LDADD) $(LIBS)
-
-ioprio$(EXEEXT): $(ioprio_OBJECTS) $(ioprio_DEPENDENCIES) $(EXTRA_ioprio_DEPENDENCIES)
- @rm -f ioprio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
-
-ip_mreq$(EXEEXT): $(ip_mreq_OBJECTS) $(ip_mreq_DEPENDENCIES) $(EXTRA_ip_mreq_DEPENDENCIES)
- @rm -f ip_mreq$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ip_mreq_OBJECTS) $(ip_mreq_LDADD) $(LIBS)
-
-ipc$(EXEEXT): $(ipc_OBJECTS) $(ipc_DEPENDENCIES) $(EXTRA_ipc_DEPENDENCIES)
- @rm -f ipc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_OBJECTS) $(ipc_LDADD) $(LIBS)
-
-ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEPENDENCIES)
- @rm -f ipc_msg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS)
-
-ipc_msgbuf$(EXEEXT): $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_DEPENDENCIES) $(EXTRA_ipc_msgbuf_DEPENDENCIES)
- @rm -f ipc_msgbuf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_LDADD) $(LIBS)
-
-ipc_sem$(EXEEXT): $(ipc_sem_OBJECTS) $(ipc_sem_DEPENDENCIES) $(EXTRA_ipc_sem_DEPENDENCIES)
- @rm -f ipc_sem$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_sem_OBJECTS) $(ipc_sem_LDADD) $(LIBS)
-
-ipc_shm$(EXEEXT): $(ipc_shm_OBJECTS) $(ipc_shm_DEPENDENCIES) $(EXTRA_ipc_shm_DEPENDENCIES)
- @rm -f ipc_shm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_shm_OBJECTS) $(ipc_shm_LDADD) $(LIBS)
-
-kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES)
- @rm -f kcmp$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
-
-kexec_file_load$(EXEEXT): $(kexec_file_load_OBJECTS) $(kexec_file_load_DEPENDENCIES) $(EXTRA_kexec_file_load_DEPENDENCIES)
- @rm -f kexec_file_load$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kexec_file_load_OBJECTS) $(kexec_file_load_LDADD) $(LIBS)
-
-kexec_load$(EXEEXT): $(kexec_load_OBJECTS) $(kexec_load_DEPENDENCIES) $(EXTRA_kexec_load_DEPENDENCIES)
- @rm -f kexec_load$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kexec_load_OBJECTS) $(kexec_load_LDADD) $(LIBS)
-
-keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDENCIES)
- @rm -f keyctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS)
-
-kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES)
- @rm -f kill$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
-
-ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES)
- @rm -f ksysent$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS)
-
-lchown$(EXEEXT): $(lchown_OBJECTS) $(lchown_DEPENDENCIES) $(EXTRA_lchown_DEPENDENCIES)
- @rm -f lchown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lchown_OBJECTS) $(lchown_LDADD) $(LIBS)
-
-lchown32$(EXEEXT): $(lchown32_OBJECTS) $(lchown32_DEPENDENCIES) $(EXTRA_lchown32_DEPENDENCIES)
- @rm -f lchown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lchown32_OBJECTS) $(lchown32_LDADD) $(LIBS)
-
-link$(EXEEXT): $(link_OBJECTS) $(link_DEPENDENCIES) $(EXTRA_link_DEPENDENCIES)
- @rm -f link$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(link_OBJECTS) $(link_LDADD) $(LIBS)
-
-linkat$(EXEEXT): $(linkat_OBJECTS) $(linkat_DEPENDENCIES) $(EXTRA_linkat_DEPENDENCIES)
- @rm -f linkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
-
-llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES)
- @rm -f llseek$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
-
-lookup_dcookie$(EXEEXT): $(lookup_dcookie_OBJECTS) $(lookup_dcookie_DEPENDENCIES) $(EXTRA_lookup_dcookie_DEPENDENCIES)
- @rm -f lookup_dcookie$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS)
-
-lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES)
- @rm -f lseek$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS)
-
-lstat$(EXEEXT): $(lstat_OBJECTS) $(lstat_DEPENDENCIES) $(EXTRA_lstat_DEPENDENCIES)
- @rm -f lstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lstat_OBJECTS) $(lstat_LDADD) $(LIBS)
-
-lstat64$(EXEEXT): $(lstat64_OBJECTS) $(lstat64_DEPENDENCIES) $(EXTRA_lstat64_DEPENDENCIES)
- @rm -f lstat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
-
-madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES)
- @rm -f madvise$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
-
-mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES)
- @rm -f mbind$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
-
-membarrier$(EXEEXT): $(membarrier_OBJECTS) $(membarrier_DEPENDENCIES) $(EXTRA_membarrier_DEPENDENCIES)
- @rm -f membarrier$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(membarrier_OBJECTS) $(membarrier_LDADD) $(LIBS)
-
-memfd_create$(EXEEXT): $(memfd_create_OBJECTS) $(memfd_create_DEPENDENCIES) $(EXTRA_memfd_create_DEPENDENCIES)
- @rm -f memfd_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(memfd_create_OBJECTS) $(memfd_create_LDADD) $(LIBS)
-
-migrate_pages$(EXEEXT): $(migrate_pages_OBJECTS) $(migrate_pages_DEPENDENCIES) $(EXTRA_migrate_pages_DEPENDENCIES)
- @rm -f migrate_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
-
-mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES)
- @rm -f mincore$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
-
-mkdir$(EXEEXT): $(mkdir_OBJECTS) $(mkdir_DEPENDENCIES) $(EXTRA_mkdir_DEPENDENCIES)
- @rm -f mkdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mkdir_OBJECTS) $(mkdir_LDADD) $(LIBS)
-
-mkdirat$(EXEEXT): $(mkdirat_OBJECTS) $(mkdirat_DEPENDENCIES) $(EXTRA_mkdirat_DEPENDENCIES)
- @rm -f mkdirat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mkdirat_OBJECTS) $(mkdirat_LDADD) $(LIBS)
-
-mknod$(EXEEXT): $(mknod_OBJECTS) $(mknod_DEPENDENCIES) $(EXTRA_mknod_DEPENDENCIES)
- @rm -f mknod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mknod_OBJECTS) $(mknod_LDADD) $(LIBS)
-
-mknodat$(EXEEXT): $(mknodat_OBJECTS) $(mknodat_DEPENDENCIES) $(EXTRA_mknodat_DEPENDENCIES)
- @rm -f mknodat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mknodat_OBJECTS) $(mknodat_LDADD) $(LIBS)
-
-mlock$(EXEEXT): $(mlock_OBJECTS) $(mlock_DEPENDENCIES) $(EXTRA_mlock_DEPENDENCIES)
- @rm -f mlock$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlock_OBJECTS) $(mlock_LDADD) $(LIBS)
-
-mlock2$(EXEEXT): $(mlock2_OBJECTS) $(mlock2_DEPENDENCIES) $(EXTRA_mlock2_DEPENDENCIES)
- @rm -f mlock2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlock2_OBJECTS) $(mlock2_LDADD) $(LIBS)
-
-mlockall$(EXEEXT): $(mlockall_OBJECTS) $(mlockall_DEPENDENCIES) $(EXTRA_mlockall_DEPENDENCIES)
- @rm -f mlockall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlockall_OBJECTS) $(mlockall_LDADD) $(LIBS)
-
-mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES)
- @rm -f mmap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS)
-
-mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES)
- @rm -f mmap64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS)
-
-mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES)
- @rm -f mmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS)
-
-mmsg-silent$(EXEEXT): $(mmsg_silent_OBJECTS) $(mmsg_silent_DEPENDENCIES) $(EXTRA_mmsg_silent_DEPENDENCIES)
- @rm -f mmsg-silent$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_silent_OBJECTS) $(mmsg_silent_LDADD) $(LIBS)
-
-mmsg_name$(EXEEXT): $(mmsg_name_OBJECTS) $(mmsg_name_DEPENDENCIES) $(EXTRA_mmsg_name_DEPENDENCIES)
- @rm -f mmsg_name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_name_OBJECTS) $(mmsg_name_LDADD) $(LIBS)
-
-mmsg_name-v$(EXEEXT): $(mmsg_name_v_OBJECTS) $(mmsg_name_v_DEPENDENCIES) $(EXTRA_mmsg_name_v_DEPENDENCIES)
- @rm -f mmsg_name-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_name_v_OBJECTS) $(mmsg_name_v_LDADD) $(LIBS)
-
-mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIES)
- @rm -f mount$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
-
-move_pages$(EXEEXT): $(move_pages_OBJECTS) $(move_pages_DEPENDENCIES) $(EXTRA_move_pages_DEPENDENCIES)
- @rm -f move_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
-
-mq$(EXEEXT): $(mq_OBJECTS) $(mq_DEPENDENCIES) $(EXTRA_mq_DEPENDENCIES)
- @rm -f mq$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_OBJECTS) $(mq_LDADD) $(LIBS)
-
-mq_sendrecv$(EXEEXT): $(mq_sendrecv_OBJECTS) $(mq_sendrecv_DEPENDENCIES) $(EXTRA_mq_sendrecv_DEPENDENCIES)
- @rm -f mq_sendrecv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_OBJECTS) $(mq_sendrecv_LDADD) $(LIBS)
-
-mq_sendrecv-read$(EXEEXT): $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_DEPENDENCIES) $(EXTRA_mq_sendrecv_read_DEPENDENCIES)
- @rm -f mq_sendrecv-read$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_LDADD) $(LIBS)
-
-mq_sendrecv-write$(EXEEXT): $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_DEPENDENCIES) $(EXTRA_mq_sendrecv_write_DEPENDENCIES)
- @rm -f mq_sendrecv-write$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_LDADD) $(LIBS)
-
-msg_control$(EXEEXT): $(msg_control_OBJECTS) $(msg_control_DEPENDENCIES) $(EXTRA_msg_control_DEPENDENCIES)
- @rm -f msg_control$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_control_OBJECTS) $(msg_control_LDADD) $(LIBS)
-
-msg_control-v$(EXEEXT): $(msg_control_v_OBJECTS) $(msg_control_v_DEPENDENCIES) $(EXTRA_msg_control_v_DEPENDENCIES)
- @rm -f msg_control-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_control_v_OBJECTS) $(msg_control_v_LDADD) $(LIBS)
-
-msg_name$(EXEEXT): $(msg_name_OBJECTS) $(msg_name_DEPENDENCIES) $(EXTRA_msg_name_DEPENDENCIES)
- @rm -f msg_name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_name_OBJECTS) $(msg_name_LDADD) $(LIBS)
-
-munlockall$(EXEEXT): $(munlockall_OBJECTS) $(munlockall_DEPENDENCIES) $(EXTRA_munlockall_DEPENDENCIES)
- @rm -f munlockall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(munlockall_OBJECTS) $(munlockall_LDADD) $(LIBS)
-
-nanosleep$(EXEEXT): $(nanosleep_OBJECTS) $(nanosleep_DEPENDENCIES) $(EXTRA_nanosleep_DEPENDENCIES)
- @rm -f nanosleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(nanosleep_OBJECTS) $(nanosleep_LDADD) $(LIBS)
-
-net-accept-connect$(EXEEXT): $(net_accept_connect_OBJECTS) $(net_accept_connect_DEPENDENCIES) $(EXTRA_net_accept_connect_DEPENDENCIES)
- @rm -f net-accept-connect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_accept_connect_OBJECTS) $(net_accept_connect_LDADD) $(LIBS)
-
-net-icmp_filter$(EXEEXT): $(net_icmp_filter_OBJECTS) $(net_icmp_filter_DEPENDENCIES) $(EXTRA_net_icmp_filter_DEPENDENCIES)
- @rm -f net-icmp_filter$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_icmp_filter_OBJECTS) $(net_icmp_filter_LDADD) $(LIBS)
-
-net-sockaddr$(EXEEXT): $(net_sockaddr_OBJECTS) $(net_sockaddr_DEPENDENCIES) $(EXTRA_net_sockaddr_DEPENDENCIES)
- @rm -f net-sockaddr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
-
-net-y-unix$(EXEEXT): $(net_y_unix_OBJECTS) $(net_y_unix_DEPENDENCIES) $(EXTRA_net_y_unix_DEPENDENCIES)
- @rm -f net-y-unix$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_y_unix_OBJECTS) $(net_y_unix_LDADD) $(LIBS)
-
-net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA_net_yy_inet_DEPENDENCIES)
- @rm -f net-yy-inet$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
-
-net-yy-netlink$(EXEEXT): $(net_yy_netlink_OBJECTS) $(net_yy_netlink_DEPENDENCIES) $(EXTRA_net_yy_netlink_DEPENDENCIES)
- @rm -f net-yy-netlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_netlink_OBJECTS) $(net_yy_netlink_LDADD) $(LIBS)
-
-net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA_net_yy_unix_DEPENDENCIES)
- @rm -f net-yy-unix$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
-
-netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES)
- @rm -f netlink_inet_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
-
-netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES)
- @rm -f netlink_netlink_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
-
-netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPENDENCIES) $(EXTRA_netlink_protocol_DEPENDENCIES)
- @rm -f netlink_protocol$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
-
-netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES)
- @rm -f netlink_unix_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
-
-newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES)
- @rm -f newfstatat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
-
-nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES)
- @rm -f nsyscalls$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
-
-old_mmap$(EXEEXT): $(old_mmap_OBJECTS) $(old_mmap_DEPENDENCIES) $(EXTRA_old_mmap_DEPENDENCIES)
- @rm -f old_mmap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(old_mmap_OBJECTS) $(old_mmap_LDADD) $(LIBS)
-
-oldfstat$(EXEEXT): $(oldfstat_OBJECTS) $(oldfstat_DEPENDENCIES) $(EXTRA_oldfstat_DEPENDENCIES)
- @rm -f oldfstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldfstat_OBJECTS) $(oldfstat_LDADD) $(LIBS)
-
-oldlstat$(EXEEXT): $(oldlstat_OBJECTS) $(oldlstat_DEPENDENCIES) $(EXTRA_oldlstat_DEPENDENCIES)
- @rm -f oldlstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldlstat_OBJECTS) $(oldlstat_LDADD) $(LIBS)
-
-oldselect$(EXEEXT): $(oldselect_OBJECTS) $(oldselect_DEPENDENCIES) $(EXTRA_oldselect_DEPENDENCIES)
- @rm -f oldselect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldselect_OBJECTS) $(oldselect_LDADD) $(LIBS)
-
-oldstat$(EXEEXT): $(oldstat_OBJECTS) $(oldstat_DEPENDENCIES) $(EXTRA_oldstat_DEPENDENCIES)
- @rm -f oldstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldstat_OBJECTS) $(oldstat_LDADD) $(LIBS)
-
-open$(EXEEXT): $(open_OBJECTS) $(open_DEPENDENCIES) $(EXTRA_open_DEPENDENCIES)
- @rm -f open$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
-
-openat$(EXEEXT): $(openat_OBJECTS) $(openat_DEPENDENCIES) $(EXTRA_openat_DEPENDENCIES)
- @rm -f openat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
-
-osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES)
- @rm -f osf_utimes$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
-
-pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES)
- @rm -f pause$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
-
-pc$(EXEEXT): $(pc_OBJECTS) $(pc_DEPENDENCIES) $(EXTRA_pc_DEPENDENCIES)
- @rm -f pc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pc_OBJECTS) $(pc_LDADD) $(LIBS)
-
-perf_event_open$(EXEEXT): $(perf_event_open_OBJECTS) $(perf_event_open_DEPENDENCIES) $(EXTRA_perf_event_open_DEPENDENCIES)
- @rm -f perf_event_open$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_OBJECTS) $(perf_event_open_LDADD) $(LIBS)
-
-perf_event_open_nonverbose$(EXEEXT): $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_DEPENDENCIES) $(EXTRA_perf_event_open_nonverbose_DEPENDENCIES)
- @rm -f perf_event_open_nonverbose$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_LDADD) $(LIBS)
-
-perf_event_open_unabbrev$(EXEEXT): $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_DEPENDENCIES) $(EXTRA_perf_event_open_unabbrev_DEPENDENCIES)
- @rm -f perf_event_open_unabbrev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_LDADD) $(LIBS)
-
-personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA_personality_DEPENDENCIES)
- @rm -f personality$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS)
-
-pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES)
- @rm -f pipe$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
-
-pipe2$(EXEEXT): $(pipe2_OBJECTS) $(pipe2_DEPENDENCIES) $(EXTRA_pipe2_DEPENDENCIES)
- @rm -f pipe2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pipe2_OBJECTS) $(pipe2_LDADD) $(LIBS)
-
-pkey_alloc$(EXEEXT): $(pkey_alloc_OBJECTS) $(pkey_alloc_DEPENDENCIES) $(EXTRA_pkey_alloc_DEPENDENCIES)
- @rm -f pkey_alloc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_alloc_OBJECTS) $(pkey_alloc_LDADD) $(LIBS)
-
-pkey_free$(EXEEXT): $(pkey_free_OBJECTS) $(pkey_free_DEPENDENCIES) $(EXTRA_pkey_free_DEPENDENCIES)
- @rm -f pkey_free$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_free_OBJECTS) $(pkey_free_LDADD) $(LIBS)
-
-pkey_mprotect$(EXEEXT): $(pkey_mprotect_OBJECTS) $(pkey_mprotect_DEPENDENCIES) $(EXTRA_pkey_mprotect_DEPENDENCIES)
- @rm -f pkey_mprotect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_mprotect_OBJECTS) $(pkey_mprotect_LDADD) $(LIBS)
-
-poll$(EXEEXT): $(poll_OBJECTS) $(poll_DEPENDENCIES) $(EXTRA_poll_DEPENDENCIES)
- @rm -f poll$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(poll_OBJECTS) $(poll_LDADD) $(LIBS)
-
-ppoll$(EXEEXT): $(ppoll_OBJECTS) $(ppoll_DEPENDENCIES) $(EXTRA_ppoll_DEPENDENCIES)
- @rm -f ppoll$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
-
-ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES)
- @rm -f ppoll-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_LDADD) $(LIBS)
-
-prctl-arg2-intptr$(EXEEXT): $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_DEPENDENCIES) $(EXTRA_prctl_arg2_intptr_DEPENDENCIES)
- @rm -f prctl-arg2-intptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_LDADD) $(LIBS)
-
-prctl-dumpable$(EXEEXT): $(prctl_dumpable_OBJECTS) $(prctl_dumpable_DEPENDENCIES) $(EXTRA_prctl_dumpable_DEPENDENCIES)
- @rm -f prctl-dumpable$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_dumpable_OBJECTS) $(prctl_dumpable_LDADD) $(LIBS)
-
-prctl-name$(EXEEXT): $(prctl_name_OBJECTS) $(prctl_name_DEPENDENCIES) $(EXTRA_prctl_name_DEPENDENCIES)
- @rm -f prctl-name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_name_OBJECTS) $(prctl_name_LDADD) $(LIBS)
-
-prctl-no-args$(EXEEXT): $(prctl_no_args_OBJECTS) $(prctl_no_args_DEPENDENCIES) $(EXTRA_prctl_no_args_DEPENDENCIES)
- @rm -f prctl-no-args$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_no_args_OBJECTS) $(prctl_no_args_LDADD) $(LIBS)
-
-prctl-pdeathsig$(EXEEXT): $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_DEPENDENCIES) $(EXTRA_prctl_pdeathsig_DEPENDENCIES)
- @rm -f prctl-pdeathsig$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_LDADD) $(LIBS)
-
-prctl-seccomp-filter-v$(EXEEXT): $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_DEPENDENCIES) $(EXTRA_prctl_seccomp_filter_v_DEPENDENCIES)
- @rm -f prctl-seccomp-filter-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_LDADD) $(LIBS)
-
-prctl-seccomp-strict$(EXEEXT): $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_DEPENDENCIES) $(EXTRA_prctl_seccomp_strict_DEPENDENCIES)
- @rm -f prctl-seccomp-strict$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_LDADD) $(LIBS)
-
-prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPENDENCIES) $(EXTRA_prctl_securebits_DEPENDENCIES)
- @rm -f prctl-securebits$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS)
-
-prctl-tid_address$(EXEEXT): $(prctl_tid_address_OBJECTS) $(prctl_tid_address_DEPENDENCIES) $(EXTRA_prctl_tid_address_DEPENDENCIES)
- @rm -f prctl-tid_address$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_tid_address_OBJECTS) $(prctl_tid_address_LDADD) $(LIBS)
-
-prctl-tsc$(EXEEXT): $(prctl_tsc_OBJECTS) $(prctl_tsc_DEPENDENCIES) $(EXTRA_prctl_tsc_DEPENDENCIES)
- @rm -f prctl-tsc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_tsc_OBJECTS) $(prctl_tsc_LDADD) $(LIBS)
-
-pread64-pwrite64$(EXEEXT): $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_DEPENDENCIES) $(EXTRA_pread64_pwrite64_DEPENDENCIES)
- @rm -f pread64-pwrite64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_LDADD) $(LIBS)
-
-preadv$(EXEEXT): $(preadv_OBJECTS) $(preadv_DEPENDENCIES) $(EXTRA_preadv_DEPENDENCIES)
- @rm -f preadv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv_OBJECTS) $(preadv_LDADD) $(LIBS)
-
-preadv-pwritev$(EXEEXT): $(preadv_pwritev_OBJECTS) $(preadv_pwritev_DEPENDENCIES) $(EXTRA_preadv_pwritev_DEPENDENCIES)
- @rm -f preadv-pwritev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv_pwritev_OBJECTS) $(preadv_pwritev_LDADD) $(LIBS)
-
-preadv2-pwritev2$(EXEEXT): $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_DEPENDENCIES) $(EXTRA_preadv2_pwritev2_DEPENDENCIES)
- @rm -f preadv2-pwritev2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_LDADD) $(LIBS)
-
-print_maxfd$(EXEEXT): $(print_maxfd_OBJECTS) $(print_maxfd_DEPENDENCIES) $(EXTRA_print_maxfd_DEPENDENCIES)
- @rm -f print_maxfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(print_maxfd_OBJECTS) $(print_maxfd_LDADD) $(LIBS)
-
-printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES)
- @rm -f printstr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
-
-prlimit64$(EXEEXT): $(prlimit64_OBJECTS) $(prlimit64_DEPENDENCIES) $(EXTRA_prlimit64_DEPENDENCIES)
- @rm -f prlimit64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
-
-process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES)
- @rm -f process_vm_readv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
-
-process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES)
- @rm -f process_vm_writev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
-
-pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES)
- @rm -f pselect6$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
-
-ptrace$(EXEEXT): $(ptrace_OBJECTS) $(ptrace_DEPENDENCIES) $(EXTRA_ptrace_DEPENDENCIES)
- @rm -f ptrace$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ptrace_OBJECTS) $(ptrace_LDADD) $(LIBS)
-
-pwritev$(EXEEXT): $(pwritev_OBJECTS) $(pwritev_DEPENDENCIES) $(EXTRA_pwritev_DEPENDENCIES)
- @rm -f pwritev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pwritev_OBJECTS) $(pwritev_LDADD) $(LIBS)
-
-qual_fault$(EXEEXT): $(qual_fault_OBJECTS) $(qual_fault_DEPENDENCIES) $(EXTRA_qual_fault_DEPENDENCIES)
- @rm -f qual_fault$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_fault_OBJECTS) $(qual_fault_LDADD) $(LIBS)
-
-qual_inject-error-signal$(EXEEXT): $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_DEPENDENCIES) $(EXTRA_qual_inject_error_signal_DEPENDENCIES)
- @rm -f qual_inject-error-signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_LDADD) $(LIBS)
-
-qual_inject-retval$(EXEEXT): $(qual_inject_retval_OBJECTS) $(qual_inject_retval_DEPENDENCIES) $(EXTRA_qual_inject_retval_DEPENDENCIES)
- @rm -f qual_inject-retval$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_retval_OBJECTS) $(qual_inject_retval_LDADD) $(LIBS)
-
-qual_inject-signal$(EXEEXT): $(qual_inject_signal_OBJECTS) $(qual_inject_signal_DEPENDENCIES) $(EXTRA_qual_inject_signal_DEPENDENCIES)
- @rm -f qual_inject-signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_signal_OBJECTS) $(qual_inject_signal_LDADD) $(LIBS)
-
-qual_signal$(EXEEXT): $(qual_signal_OBJECTS) $(qual_signal_DEPENDENCIES) $(EXTRA_qual_signal_DEPENDENCIES)
- @rm -f qual_signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_signal_OBJECTS) $(qual_signal_LDADD) $(LIBS)
-
-quotactl$(EXEEXT): $(quotactl_OBJECTS) $(quotactl_DEPENDENCIES) $(EXTRA_quotactl_DEPENDENCIES)
- @rm -f quotactl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_OBJECTS) $(quotactl_LDADD) $(LIBS)
-
-quotactl-v$(EXEEXT): $(quotactl_v_OBJECTS) $(quotactl_v_DEPENDENCIES) $(EXTRA_quotactl_v_DEPENDENCIES)
- @rm -f quotactl-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_v_OBJECTS) $(quotactl_v_LDADD) $(LIBS)
-
-quotactl-xfs$(EXEEXT): $(quotactl_xfs_OBJECTS) $(quotactl_xfs_DEPENDENCIES) $(EXTRA_quotactl_xfs_DEPENDENCIES)
- @rm -f quotactl-xfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_xfs_OBJECTS) $(quotactl_xfs_LDADD) $(LIBS)
-
-quotactl-xfs-v$(EXEEXT): $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_DEPENDENCIES) $(EXTRA_quotactl_xfs_v_DEPENDENCIES)
- @rm -f quotactl-xfs-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_LDADD) $(LIBS)
-
-read-write$(EXEEXT): $(read_write_OBJECTS) $(read_write_DEPENDENCIES) $(EXTRA_read_write_DEPENDENCIES)
- @rm -f read-write$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(read_write_OBJECTS) $(read_write_LDADD) $(LIBS)
-
-readahead$(EXEEXT): $(readahead_OBJECTS) $(readahead_DEPENDENCIES) $(EXTRA_readahead_DEPENDENCIES)
- @rm -f readahead$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readahead_OBJECTS) $(readahead_LDADD) $(LIBS)
-
-readdir$(EXEEXT): $(readdir_OBJECTS) $(readdir_DEPENDENCIES) $(EXTRA_readdir_DEPENDENCIES)
- @rm -f readdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readdir_OBJECTS) $(readdir_LDADD) $(LIBS)
-
-readlink$(EXEEXT): $(readlink_OBJECTS) $(readlink_DEPENDENCIES) $(EXTRA_readlink_DEPENDENCIES)
- @rm -f readlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readlink_OBJECTS) $(readlink_LDADD) $(LIBS)
-
-readlinkat$(EXEEXT): $(readlinkat_OBJECTS) $(readlinkat_DEPENDENCIES) $(EXTRA_readlinkat_DEPENDENCIES)
- @rm -f readlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readlinkat_OBJECTS) $(readlinkat_LDADD) $(LIBS)
-
-readv$(EXEEXT): $(readv_OBJECTS) $(readv_DEPENDENCIES) $(EXTRA_readv_DEPENDENCIES)
- @rm -f readv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readv_OBJECTS) $(readv_LDADD) $(LIBS)
-
-reboot$(EXEEXT): $(reboot_OBJECTS) $(reboot_DEPENDENCIES) $(EXTRA_reboot_DEPENDENCIES)
- @rm -f reboot$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(reboot_OBJECTS) $(reboot_LDADD) $(LIBS)
-
-recvfrom$(EXEEXT): $(recvfrom_OBJECTS) $(recvfrom_DEPENDENCIES) $(EXTRA_recvfrom_DEPENDENCIES)
- @rm -f recvfrom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvfrom_OBJECTS) $(recvfrom_LDADD) $(LIBS)
-
-recvmmsg-timeout$(EXEEXT): $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_DEPENDENCIES) $(EXTRA_recvmmsg_timeout_DEPENDENCIES)
- @rm -f recvmmsg-timeout$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_LDADD) $(LIBS)
-
-recvmsg$(EXEEXT): $(recvmsg_OBJECTS) $(recvmsg_DEPENDENCIES) $(EXTRA_recvmsg_DEPENDENCIES)
- @rm -f recvmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvmsg_OBJECTS) $(recvmsg_LDADD) $(LIBS)
-
-redirect-fds$(EXEEXT): $(redirect_fds_OBJECTS) $(redirect_fds_DEPENDENCIES) $(EXTRA_redirect_fds_DEPENDENCIES)
- @rm -f redirect-fds$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(redirect_fds_OBJECTS) $(redirect_fds_LDADD) $(LIBS)
-
-remap_file_pages$(EXEEXT): $(remap_file_pages_OBJECTS) $(remap_file_pages_DEPENDENCIES) $(EXTRA_remap_file_pages_DEPENDENCIES)
- @rm -f remap_file_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(remap_file_pages_OBJECTS) $(remap_file_pages_LDADD) $(LIBS)
-
-rename$(EXEEXT): $(rename_OBJECTS) $(rename_DEPENDENCIES) $(EXTRA_rename_DEPENDENCIES)
- @rm -f rename$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rename_OBJECTS) $(rename_LDADD) $(LIBS)
-
-renameat$(EXEEXT): $(renameat_OBJECTS) $(renameat_DEPENDENCIES) $(EXTRA_renameat_DEPENDENCIES)
- @rm -f renameat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(renameat_OBJECTS) $(renameat_LDADD) $(LIBS)
-
-renameat2$(EXEEXT): $(renameat2_OBJECTS) $(renameat2_DEPENDENCIES) $(EXTRA_renameat2_DEPENDENCIES)
- @rm -f renameat2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(renameat2_OBJECTS) $(renameat2_LDADD) $(LIBS)
-
-request_key$(EXEEXT): $(request_key_OBJECTS) $(request_key_DEPENDENCIES) $(EXTRA_request_key_DEPENDENCIES)
- @rm -f request_key$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(request_key_OBJECTS) $(request_key_LDADD) $(LIBS)
-
-restart_syscall$(EXEEXT): $(restart_syscall_OBJECTS) $(restart_syscall_DEPENDENCIES) $(EXTRA_restart_syscall_DEPENDENCIES)
- @rm -f restart_syscall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(restart_syscall_OBJECTS) $(restart_syscall_LDADD) $(LIBS)
-
-rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIES)
- @rm -f rmdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
-
-rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES)
- @rm -f rt_sigpending$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
-
-rt_sigprocmask$(EXEEXT): $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_DEPENDENCIES) $(EXTRA_rt_sigprocmask_DEPENDENCIES)
- @rm -f rt_sigprocmask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_LDADD) $(LIBS)
-
-rt_sigqueueinfo$(EXEEXT): $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo_DEPENDENCIES)
- @rm -f rt_sigqueueinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
-
-rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES)
- @rm -f rt_sigreturn$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS)
-
-rt_sigsuspend$(EXEEXT): $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_DEPENDENCIES) $(EXTRA_rt_sigsuspend_DEPENDENCIES)
- @rm -f rt_sigsuspend$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_LDADD) $(LIBS)
-
-rt_sigtimedwait$(EXEEXT): $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_DEPENDENCIES) $(EXTRA_rt_sigtimedwait_DEPENDENCIES)
- @rm -f rt_sigtimedwait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_LDADD) $(LIBS)
-
-rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo_DEPENDENCIES)
- @rm -f rt_tgsigqueueinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
-
-sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES)
- @rm -f sched_get_priority_mxx$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
-
-sched_rr_get_interval$(EXEEXT): $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_DEPENDENCIES) $(EXTRA_sched_rr_get_interval_DEPENDENCIES)
- @rm -f sched_rr_get_interval$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_LDADD) $(LIBS)
-
-sched_xetaffinity$(EXEEXT): $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_DEPENDENCIES) $(EXTRA_sched_xetaffinity_DEPENDENCIES)
- @rm -f sched_xetaffinity$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
-
-sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES)
- @rm -f sched_xetattr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
-
-sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES)
- @rm -f sched_xetparam$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
-
-sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES)
- @rm -f sched_xetscheduler$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
-
-sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES)
- @rm -f sched_yield$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
-
-scm_rights$(EXEEXT): $(scm_rights_OBJECTS) $(scm_rights_DEPENDENCIES) $(EXTRA_scm_rights_DEPENDENCIES)
- @rm -f scm_rights$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(scm_rights_OBJECTS) $(scm_rights_LDADD) $(LIBS)
-
-seccomp-filter$(EXEEXT): $(seccomp_filter_OBJECTS) $(seccomp_filter_DEPENDENCIES) $(EXTRA_seccomp_filter_DEPENDENCIES)
- @rm -f seccomp-filter$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_filter_OBJECTS) $(seccomp_filter_LDADD) $(LIBS)
-
-seccomp-filter-v$(EXEEXT): $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_DEPENDENCIES) $(EXTRA_seccomp_filter_v_DEPENDENCIES)
- @rm -f seccomp-filter-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_LDADD) $(LIBS)
-
-seccomp-strict$(EXEEXT): $(seccomp_strict_OBJECTS) $(seccomp_strict_DEPENDENCIES) $(EXTRA_seccomp_strict_DEPENDENCIES)
- @rm -f seccomp-strict$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_strict_OBJECTS) $(seccomp_strict_LDADD) $(LIBS)
-
-select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES)
- @rm -f select$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
-
-semop$(EXEEXT): $(semop_OBJECTS) $(semop_DEPENDENCIES) $(EXTRA_semop_DEPENDENCIES)
- @rm -f semop$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(semop_OBJECTS) $(semop_LDADD) $(LIBS)
-
-sendfile$(EXEEXT): $(sendfile_OBJECTS) $(sendfile_DEPENDENCIES) $(EXTRA_sendfile_DEPENDENCIES)
- @rm -f sendfile$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sendfile_OBJECTS) $(sendfile_LDADD) $(LIBS)
-
-sendfile64$(EXEEXT): $(sendfile64_OBJECTS) $(sendfile64_DEPENDENCIES) $(EXTRA_sendfile64_DEPENDENCIES)
- @rm -f sendfile64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sendfile64_OBJECTS) $(sendfile64_LDADD) $(LIBS)
-
-set_mempolicy$(EXEEXT): $(set_mempolicy_OBJECTS) $(set_mempolicy_DEPENDENCIES) $(EXTRA_set_mempolicy_DEPENDENCIES)
- @rm -f set_mempolicy$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(set_mempolicy_OBJECTS) $(set_mempolicy_LDADD) $(LIBS)
-
-set_ptracer_any$(EXEEXT): $(set_ptracer_any_OBJECTS) $(set_ptracer_any_DEPENDENCIES) $(EXTRA_set_ptracer_any_DEPENDENCIES)
- @rm -f set_ptracer_any$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(set_ptracer_any_OBJECTS) $(set_ptracer_any_LDADD) $(LIBS)
-
-setdomainname$(EXEEXT): $(setdomainname_OBJECTS) $(setdomainname_DEPENDENCIES) $(EXTRA_setdomainname_DEPENDENCIES)
- @rm -f setdomainname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setdomainname_OBJECTS) $(setdomainname_LDADD) $(LIBS)
-
-setfsgid$(EXEEXT): $(setfsgid_OBJECTS) $(setfsgid_DEPENDENCIES) $(EXTRA_setfsgid_DEPENDENCIES)
- @rm -f setfsgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsgid_OBJECTS) $(setfsgid_LDADD) $(LIBS)
-
-setfsgid32$(EXEEXT): $(setfsgid32_OBJECTS) $(setfsgid32_DEPENDENCIES) $(EXTRA_setfsgid32_DEPENDENCIES)
- @rm -f setfsgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsgid32_OBJECTS) $(setfsgid32_LDADD) $(LIBS)
-
-setfsuid$(EXEEXT): $(setfsuid_OBJECTS) $(setfsuid_DEPENDENCIES) $(EXTRA_setfsuid_DEPENDENCIES)
- @rm -f setfsuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsuid_OBJECTS) $(setfsuid_LDADD) $(LIBS)
-
-setfsuid32$(EXEEXT): $(setfsuid32_OBJECTS) $(setfsuid32_DEPENDENCIES) $(EXTRA_setfsuid32_DEPENDENCIES)
- @rm -f setfsuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsuid32_OBJECTS) $(setfsuid32_LDADD) $(LIBS)
-
-setgid$(EXEEXT): $(setgid_OBJECTS) $(setgid_DEPENDENCIES) $(EXTRA_setgid_DEPENDENCIES)
- @rm -f setgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgid_OBJECTS) $(setgid_LDADD) $(LIBS)
-
-setgid32$(EXEEXT): $(setgid32_OBJECTS) $(setgid32_DEPENDENCIES) $(EXTRA_setgid32_DEPENDENCIES)
- @rm -f setgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgid32_OBJECTS) $(setgid32_LDADD) $(LIBS)
-
-setgroups$(EXEEXT): $(setgroups_OBJECTS) $(setgroups_DEPENDENCIES) $(EXTRA_setgroups_DEPENDENCIES)
- @rm -f setgroups$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgroups_OBJECTS) $(setgroups_LDADD) $(LIBS)
-
-setgroups32$(EXEEXT): $(setgroups32_OBJECTS) $(setgroups32_DEPENDENCIES) $(EXTRA_setgroups32_DEPENDENCIES)
- @rm -f setgroups32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgroups32_OBJECTS) $(setgroups32_LDADD) $(LIBS)
-
-sethostname$(EXEEXT): $(sethostname_OBJECTS) $(sethostname_DEPENDENCIES) $(EXTRA_sethostname_DEPENDENCIES)
- @rm -f sethostname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sethostname_OBJECTS) $(sethostname_LDADD) $(LIBS)
-
-setns$(EXEEXT): $(setns_OBJECTS) $(setns_DEPENDENCIES) $(EXTRA_setns_DEPENDENCIES)
- @rm -f setns$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setns_OBJECTS) $(setns_LDADD) $(LIBS)
-
-setregid$(EXEEXT): $(setregid_OBJECTS) $(setregid_DEPENDENCIES) $(EXTRA_setregid_DEPENDENCIES)
- @rm -f setregid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setregid_OBJECTS) $(setregid_LDADD) $(LIBS)
-
-setregid32$(EXEEXT): $(setregid32_OBJECTS) $(setregid32_DEPENDENCIES) $(EXTRA_setregid32_DEPENDENCIES)
- @rm -f setregid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setregid32_OBJECTS) $(setregid32_LDADD) $(LIBS)
-
-setresgid$(EXEEXT): $(setresgid_OBJECTS) $(setresgid_DEPENDENCIES) $(EXTRA_setresgid_DEPENDENCIES)
- @rm -f setresgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresgid_OBJECTS) $(setresgid_LDADD) $(LIBS)
-
-setresgid32$(EXEEXT): $(setresgid32_OBJECTS) $(setresgid32_DEPENDENCIES) $(EXTRA_setresgid32_DEPENDENCIES)
- @rm -f setresgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresgid32_OBJECTS) $(setresgid32_LDADD) $(LIBS)
-
-setresuid$(EXEEXT): $(setresuid_OBJECTS) $(setresuid_DEPENDENCIES) $(EXTRA_setresuid_DEPENDENCIES)
- @rm -f setresuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresuid_OBJECTS) $(setresuid_LDADD) $(LIBS)
-
-setresuid32$(EXEEXT): $(setresuid32_OBJECTS) $(setresuid32_DEPENDENCIES) $(EXTRA_setresuid32_DEPENDENCIES)
- @rm -f setresuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresuid32_OBJECTS) $(setresuid32_LDADD) $(LIBS)
-
-setreuid$(EXEEXT): $(setreuid_OBJECTS) $(setreuid_DEPENDENCIES) $(EXTRA_setreuid_DEPENDENCIES)
- @rm -f setreuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setreuid_OBJECTS) $(setreuid_LDADD) $(LIBS)
-
-setreuid32$(EXEEXT): $(setreuid32_OBJECTS) $(setreuid32_DEPENDENCIES) $(EXTRA_setreuid32_DEPENDENCIES)
- @rm -f setreuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setreuid32_OBJECTS) $(setreuid32_LDADD) $(LIBS)
-
-setrlimit$(EXEEXT): $(setrlimit_OBJECTS) $(setrlimit_DEPENDENCIES) $(EXTRA_setrlimit_DEPENDENCIES)
- @rm -f setrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setrlimit_OBJECTS) $(setrlimit_LDADD) $(LIBS)
-
-setuid$(EXEEXT): $(setuid_OBJECTS) $(setuid_DEPENDENCIES) $(EXTRA_setuid_DEPENDENCIES)
- @rm -f setuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setuid_OBJECTS) $(setuid_LDADD) $(LIBS)
-
-setuid32$(EXEEXT): $(setuid32_OBJECTS) $(setuid32_DEPENDENCIES) $(EXTRA_setuid32_DEPENDENCIES)
- @rm -f setuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setuid32_OBJECTS) $(setuid32_LDADD) $(LIBS)
-
-shmxt$(EXEEXT): $(shmxt_OBJECTS) $(shmxt_DEPENDENCIES) $(EXTRA_shmxt_DEPENDENCIES)
- @rm -f shmxt$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(shmxt_OBJECTS) $(shmxt_LDADD) $(LIBS)
-
-shutdown$(EXEEXT): $(shutdown_OBJECTS) $(shutdown_DEPENDENCIES) $(EXTRA_shutdown_DEPENDENCIES)
- @rm -f shutdown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(shutdown_OBJECTS) $(shutdown_LDADD) $(LIBS)
-
-sigaction$(EXEEXT): $(sigaction_OBJECTS) $(sigaction_DEPENDENCIES) $(EXTRA_sigaction_DEPENDENCIES)
- @rm -f sigaction$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigaction_OBJECTS) $(sigaction_LDADD) $(LIBS)
-
-sigaltstack$(EXEEXT): $(sigaltstack_OBJECTS) $(sigaltstack_DEPENDENCIES) $(EXTRA_sigaltstack_DEPENDENCIES)
- @rm -f sigaltstack$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigaltstack_OBJECTS) $(sigaltstack_LDADD) $(LIBS)
-
-siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEPENDENCIES)
- @rm -f siginfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
-
-signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES)
- @rm -f signal_receive$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
-
-signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES)
- @rm -f signalfd4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
-
-sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES)
- @rm -f sigreturn$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
-
-sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES)
- @rm -f sigsuspend$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
-
-sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES)
- @rm -f sleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
-
-socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES)
- @rm -f socketcall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
-
-splice$(EXEEXT): $(splice_OBJECTS) $(splice_DEPENDENCIES) $(EXTRA_splice_DEPENDENCIES)
- @rm -f splice$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(splice_OBJECTS) $(splice_LDADD) $(LIBS)
-
-stack-fcall$(EXEEXT): $(stack_fcall_OBJECTS) $(stack_fcall_DEPENDENCIES) $(EXTRA_stack_fcall_DEPENDENCIES)
- @rm -f stack-fcall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stack_fcall_OBJECTS) $(stack_fcall_LDADD) $(LIBS)
-
-stat$(EXEEXT): $(stat_OBJECTS) $(stat_DEPENDENCIES) $(EXTRA_stat_DEPENDENCIES)
- @rm -f stat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stat_OBJECTS) $(stat_LDADD) $(LIBS)
-
-stat64$(EXEEXT): $(stat64_OBJECTS) $(stat64_DEPENDENCIES) $(EXTRA_stat64_DEPENDENCIES)
- @rm -f stat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stat64_OBJECTS) $(stat64_LDADD) $(LIBS)
-
-statfs$(EXEEXT): $(statfs_OBJECTS) $(statfs_DEPENDENCIES) $(EXTRA_statfs_DEPENDENCIES)
- @rm -f statfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statfs_OBJECTS) $(statfs_LDADD) $(LIBS)
-
-statfs64$(EXEEXT): $(statfs64_OBJECTS) $(statfs64_DEPENDENCIES) $(EXTRA_statfs64_DEPENDENCIES)
- @rm -f statfs64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
-
-statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES)
- @rm -f statx$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
-
-swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES)
- @rm -f swap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
-
-sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES)
- @rm -f sxetmask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
-
-symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES)
- @rm -f symlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
-
-symlinkat$(EXEEXT): $(symlinkat_OBJECTS) $(symlinkat_DEPENDENCIES) $(EXTRA_symlinkat_DEPENDENCIES)
- @rm -f symlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(symlinkat_OBJECTS) $(symlinkat_LDADD) $(LIBS)
-
-sync$(EXEEXT): $(sync_OBJECTS) $(sync_DEPENDENCIES) $(EXTRA_sync_DEPENDENCIES)
- @rm -f sync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_OBJECTS) $(sync_LDADD) $(LIBS)
-
-sync_file_range$(EXEEXT): $(sync_file_range_OBJECTS) $(sync_file_range_DEPENDENCIES) $(EXTRA_sync_file_range_DEPENDENCIES)
- @rm -f sync_file_range$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_file_range_OBJECTS) $(sync_file_range_LDADD) $(LIBS)
-
-sync_file_range2$(EXEEXT): $(sync_file_range2_OBJECTS) $(sync_file_range2_DEPENDENCIES) $(EXTRA_sync_file_range2_DEPENDENCIES)
- @rm -f sync_file_range2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_file_range2_OBJECTS) $(sync_file_range2_LDADD) $(LIBS)
-
-sysinfo$(EXEEXT): $(sysinfo_OBJECTS) $(sysinfo_DEPENDENCIES) $(EXTRA_sysinfo_DEPENDENCIES)
- @rm -f sysinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sysinfo_OBJECTS) $(sysinfo_LDADD) $(LIBS)
-
-syslog$(EXEEXT): $(syslog_OBJECTS) $(syslog_DEPENDENCIES) $(EXTRA_syslog_DEPENDENCIES)
- @rm -f syslog$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(syslog_OBJECTS) $(syslog_LDADD) $(LIBS)
-
-tee$(EXEEXT): $(tee_OBJECTS) $(tee_DEPENDENCIES) $(EXTRA_tee_DEPENDENCIES)
- @rm -f tee$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
-
-threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES)
- @rm -f threads-execve$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-
-time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES)
- @rm -f time$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
-
-timer_create$(EXEEXT): $(timer_create_OBJECTS) $(timer_create_DEPENDENCIES) $(EXTRA_timer_create_DEPENDENCIES)
- @rm -f timer_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timer_create_OBJECTS) $(timer_create_LDADD) $(LIBS)
-
-timer_xettime$(EXEEXT): $(timer_xettime_OBJECTS) $(timer_xettime_DEPENDENCIES) $(EXTRA_timer_xettime_DEPENDENCIES)
- @rm -f timer_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timer_xettime_OBJECTS) $(timer_xettime_LDADD) $(LIBS)
-
-timerfd_xettime$(EXEEXT): $(timerfd_xettime_OBJECTS) $(timerfd_xettime_DEPENDENCIES) $(EXTRA_timerfd_xettime_DEPENDENCIES)
- @rm -f timerfd_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timerfd_xettime_OBJECTS) $(timerfd_xettime_LDADD) $(LIBS)
-
-times$(EXEEXT): $(times_OBJECTS) $(times_DEPENDENCIES) $(EXTRA_times_DEPENDENCIES)
- @rm -f times$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(times_OBJECTS) $(times_LDADD) $(LIBS)
-
-times-fail$(EXEEXT): $(times_fail_OBJECTS) $(times_fail_DEPENDENCIES) $(EXTRA_times_fail_DEPENDENCIES)
- @rm -f times-fail$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
-
-truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES)
- @rm -f truncate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
-
-truncate64$(EXEEXT): $(truncate64_OBJECTS) $(truncate64_DEPENDENCIES) $(EXTRA_truncate64_DEPENDENCIES)
- @rm -f truncate64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(truncate64_OBJECTS) $(truncate64_LDADD) $(LIBS)
-
-ugetrlimit$(EXEEXT): $(ugetrlimit_OBJECTS) $(ugetrlimit_DEPENDENCIES) $(EXTRA_ugetrlimit_DEPENDENCIES)
- @rm -f ugetrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ugetrlimit_OBJECTS) $(ugetrlimit_LDADD) $(LIBS)
-
-uio$(EXEEXT): $(uio_OBJECTS) $(uio_DEPENDENCIES) $(EXTRA_uio_DEPENDENCIES)
- @rm -f uio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(uio_OBJECTS) $(uio_LDADD) $(LIBS)
-
-umask$(EXEEXT): $(umask_OBJECTS) $(umask_DEPENDENCIES) $(EXTRA_umask_DEPENDENCIES)
- @rm -f umask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umask_OBJECTS) $(umask_LDADD) $(LIBS)
-
-umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES) $(EXTRA_umount_DEPENDENCIES)
- @rm -f umount$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
-
-umount2$(EXEEXT): $(umount2_OBJECTS) $(umount2_DEPENDENCIES) $(EXTRA_umount2_DEPENDENCIES)
- @rm -f umount2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umount2_OBJECTS) $(umount2_LDADD) $(LIBS)
-
-umoven-illptr$(EXEEXT): $(umoven_illptr_OBJECTS) $(umoven_illptr_DEPENDENCIES) $(EXTRA_umoven_illptr_DEPENDENCIES)
- @rm -f umoven-illptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umoven_illptr_OBJECTS) $(umoven_illptr_LDADD) $(LIBS)
-
-umovestr$(EXEEXT): $(umovestr_OBJECTS) $(umovestr_DEPENDENCIES) $(EXTRA_umovestr_DEPENDENCIES)
- @rm -f umovestr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr_OBJECTS) $(umovestr_LDADD) $(LIBS)
-
-umovestr-illptr$(EXEEXT): $(umovestr_illptr_OBJECTS) $(umovestr_illptr_DEPENDENCIES) $(EXTRA_umovestr_illptr_DEPENDENCIES)
- @rm -f umovestr-illptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr_illptr_OBJECTS) $(umovestr_illptr_LDADD) $(LIBS)
-
-umovestr2$(EXEEXT): $(umovestr2_OBJECTS) $(umovestr2_DEPENDENCIES) $(EXTRA_umovestr2_DEPENDENCIES)
- @rm -f umovestr2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr2_OBJECTS) $(umovestr2_LDADD) $(LIBS)
-
-umovestr3$(EXEEXT): $(umovestr3_OBJECTS) $(umovestr3_DEPENDENCIES) $(EXTRA_umovestr3_DEPENDENCIES)
- @rm -f umovestr3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr3_OBJECTS) $(umovestr3_LDADD) $(LIBS)
-
-uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIES)
- @rm -f uname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
-
-unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES)
- @rm -f unix-pair-send-recv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
-
-unix-pair-sendto-recvfrom$(EXEEXT): $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_DEPENDENCIES) $(EXTRA_unix_pair_sendto_recvfrom_DEPENDENCIES)
- @rm -f unix-pair-sendto-recvfrom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_LDADD) $(LIBS)
-
-unlink$(EXEEXT): $(unlink_OBJECTS) $(unlink_DEPENDENCIES) $(EXTRA_unlink_DEPENDENCIES)
- @rm -f unlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unlink_OBJECTS) $(unlink_LDADD) $(LIBS)
-
-unlinkat$(EXEEXT): $(unlinkat_OBJECTS) $(unlinkat_DEPENDENCIES) $(EXTRA_unlinkat_DEPENDENCIES)
- @rm -f unlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unlinkat_OBJECTS) $(unlinkat_LDADD) $(LIBS)
-
-unshare$(EXEEXT): $(unshare_OBJECTS) $(unshare_DEPENDENCIES) $(EXTRA_unshare_DEPENDENCIES)
- @rm -f unshare$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unshare_OBJECTS) $(unshare_LDADD) $(LIBS)
-
-userfaultfd$(EXEEXT): $(userfaultfd_OBJECTS) $(userfaultfd_DEPENDENCIES) $(EXTRA_userfaultfd_DEPENDENCIES)
- @rm -f userfaultfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(userfaultfd_OBJECTS) $(userfaultfd_LDADD) $(LIBS)
-
-ustat$(EXEEXT): $(ustat_OBJECTS) $(ustat_DEPENDENCIES) $(EXTRA_ustat_DEPENDENCIES)
- @rm -f ustat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ustat_OBJECTS) $(ustat_LDADD) $(LIBS)
-
-utime$(EXEEXT): $(utime_OBJECTS) $(utime_DEPENDENCIES) $(EXTRA_utime_DEPENDENCIES)
- @rm -f utime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utime_OBJECTS) $(utime_LDADD) $(LIBS)
-
-utimensat$(EXEEXT): $(utimensat_OBJECTS) $(utimensat_DEPENDENCIES) $(EXTRA_utimensat_DEPENDENCIES)
- @rm -f utimensat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utimensat_OBJECTS) $(utimensat_LDADD) $(LIBS)
-
-utimes$(EXEEXT): $(utimes_OBJECTS) $(utimes_DEPENDENCIES) $(EXTRA_utimes_DEPENDENCIES)
- @rm -f utimes$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utimes_OBJECTS) $(utimes_LDADD) $(LIBS)
-
-vfork-f$(EXEEXT): $(vfork_f_OBJECTS) $(vfork_f_DEPENDENCIES) $(EXTRA_vfork_f_DEPENDENCIES)
- @rm -f vfork-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vfork_f_OBJECTS) $(vfork_f_LDADD) $(LIBS)
-
-vhangup$(EXEEXT): $(vhangup_OBJECTS) $(vhangup_DEPENDENCIES) $(EXTRA_vhangup_DEPENDENCIES)
- @rm -f vhangup$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vhangup_OBJECTS) $(vhangup_LDADD) $(LIBS)
-
-vmsplice$(EXEEXT): $(vmsplice_OBJECTS) $(vmsplice_DEPENDENCIES) $(EXTRA_vmsplice_DEPENDENCIES)
- @rm -f vmsplice$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vmsplice_OBJECTS) $(vmsplice_LDADD) $(LIBS)
-
-wait4$(EXEEXT): $(wait4_OBJECTS) $(wait4_DEPENDENCIES) $(EXTRA_wait4_DEPENDENCIES)
- @rm -f wait4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(wait4_OBJECTS) $(wait4_LDADD) $(LIBS)
-
-wait4-v$(EXEEXT): $(wait4_v_OBJECTS) $(wait4_v_DEPENDENCIES) $(EXTRA_wait4_v_DEPENDENCIES)
- @rm -f wait4-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(wait4_v_OBJECTS) $(wait4_v_LDADD) $(LIBS)
-
-waitid$(EXEEXT): $(waitid_OBJECTS) $(waitid_DEPENDENCIES) $(EXTRA_waitid_DEPENDENCIES)
- @rm -f waitid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitid_OBJECTS) $(waitid_LDADD) $(LIBS)
-
-waitid-v$(EXEEXT): $(waitid_v_OBJECTS) $(waitid_v_DEPENDENCIES) $(EXTRA_waitid_v_DEPENDENCIES)
- @rm -f waitid-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitid_v_OBJECTS) $(waitid_v_LDADD) $(LIBS)
-
-waitpid$(EXEEXT): $(waitpid_OBJECTS) $(waitpid_DEPENDENCIES) $(EXTRA_waitpid_DEPENDENCIES)
- @rm -f waitpid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitpid_OBJECTS) $(waitpid_LDADD) $(LIBS)
-
-xattr$(EXEEXT): $(xattr_OBJECTS) $(xattr_DEPENDENCIES) $(EXTRA_xattr_DEPENDENCIES)
- @rm -f xattr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xattr_OBJECTS) $(xattr_LDADD) $(LIBS)
-
-xattr-strings$(EXEEXT): $(xattr_strings_OBJECTS) $(xattr_strings_DEPENDENCIES) $(EXTRA_xattr_strings_DEPENDENCIES)
- @rm -f xattr-strings$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xattr_strings_OBJECTS) $(xattr_strings_LDADD) $(LIBS)
-
-xet_robust_list$(EXEEXT): $(xet_robust_list_OBJECTS) $(xet_robust_list_DEPENDENCIES) $(EXTRA_xet_robust_list_DEPENDENCIES)
- @rm -f xet_robust_list$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
-
-xetitimer$(EXEEXT): $(xetitimer_OBJECTS) $(xetitimer_DEPENDENCIES) $(EXTRA_xetitimer_DEPENDENCIES)
- @rm -f xetitimer$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetitimer_OBJECTS) $(xetitimer_LDADD) $(LIBS)
-
-xetpgid$(EXEEXT): $(xetpgid_OBJECTS) $(xetpgid_DEPENDENCIES) $(EXTRA_xetpgid_DEPENDENCIES)
- @rm -f xetpgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
-
-xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES)
- @rm -f xetpriority$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
-
-xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES)
- @rm -f xettimeofday$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/_newselect.Po
-include ./$(DEPDIR)/accept.Po
-include ./$(DEPDIR)/accept4.Po
-include ./$(DEPDIR)/access.Po
-include ./$(DEPDIR)/acct.Po
-include ./$(DEPDIR)/add_key.Po
-include ./$(DEPDIR)/adjtimex.Po
-include ./$(DEPDIR)/aio.Po
-include ./$(DEPDIR)/alarm.Po
-include ./$(DEPDIR)/answer.Po
-include ./$(DEPDIR)/attach-f-p-cmd.Po
-include ./$(DEPDIR)/attach-f-p.Po
-include ./$(DEPDIR)/attach-p-cmd-cmd.Po
-include ./$(DEPDIR)/attach-p-cmd-p.Po
-include ./$(DEPDIR)/bpf.Po
-include ./$(DEPDIR)/brk.Po
-include ./$(DEPDIR)/btrfs.Po
-include ./$(DEPDIR)/caps-abbrev.Po
-include ./$(DEPDIR)/caps.Po
-include ./$(DEPDIR)/chmod.Po
-include ./$(DEPDIR)/chown.Po
-include ./$(DEPDIR)/chown32.Po
-include ./$(DEPDIR)/chroot.Po
-include ./$(DEPDIR)/clock_adjtime.Po
-include ./$(DEPDIR)/clock_nanosleep.Po
-include ./$(DEPDIR)/clock_xettime.Po
-include ./$(DEPDIR)/copy_file_range.Po
-include ./$(DEPDIR)/count-f.Po
-include ./$(DEPDIR)/creat.Po
-include ./$(DEPDIR)/delete_module.Po
-include ./$(DEPDIR)/dup.Po
-include ./$(DEPDIR)/dup2.Po
-include ./$(DEPDIR)/dup3.Po
-include ./$(DEPDIR)/epoll_create.Po
-include ./$(DEPDIR)/epoll_create1.Po
-include ./$(DEPDIR)/epoll_ctl.Po
-include ./$(DEPDIR)/epoll_pwait.Po
-include ./$(DEPDIR)/epoll_wait.Po
-include ./$(DEPDIR)/erestartsys.Po
-include ./$(DEPDIR)/eventfd.Po
-include ./$(DEPDIR)/execve-v.Po
-include ./$(DEPDIR)/execve.Po
-include ./$(DEPDIR)/execveat-v.Po
-include ./$(DEPDIR)/execveat.Po
-include ./$(DEPDIR)/faccessat.Po
-include ./$(DEPDIR)/fadvise64.Po
-include ./$(DEPDIR)/fadvise64_64.Po
-include ./$(DEPDIR)/fallocate.Po
-include ./$(DEPDIR)/fanotify_init.Po
-include ./$(DEPDIR)/fanotify_mark.Po
-include ./$(DEPDIR)/fchdir.Po
-include ./$(DEPDIR)/fchmod.Po
-include ./$(DEPDIR)/fchmodat.Po
-include ./$(DEPDIR)/fchown.Po
-include ./$(DEPDIR)/fchown32.Po
-include ./$(DEPDIR)/fchownat.Po
-include ./$(DEPDIR)/fcntl.Po
-include ./$(DEPDIR)/fcntl64.Po
-include ./$(DEPDIR)/fdatasync.Po
-include ./$(DEPDIR)/file_handle.Po
-include ./$(DEPDIR)/file_ioctl.Po
-include ./$(DEPDIR)/filter-unavailable.Po
-include ./$(DEPDIR)/finit_module.Po
-include ./$(DEPDIR)/flock.Po
-include ./$(DEPDIR)/fork-f.Po
-include ./$(DEPDIR)/fstat.Po
-include ./$(DEPDIR)/fstat64-fstat64.Po
-include ./$(DEPDIR)/fstatat64-fstatat64.Po
-include ./$(DEPDIR)/fstatfs.Po
-include ./$(DEPDIR)/fstatfs64.Po
-include ./$(DEPDIR)/fsync.Po
-include ./$(DEPDIR)/ftruncate.Po
-include ./$(DEPDIR)/ftruncate64-ftruncate64.Po
-include ./$(DEPDIR)/futex.Po
-include ./$(DEPDIR)/futimesat.Po
-include ./$(DEPDIR)/get_mempolicy.Po
-include ./$(DEPDIR)/getcpu.Po
-include ./$(DEPDIR)/getcwd.Po
-include ./$(DEPDIR)/getdents.Po
-include ./$(DEPDIR)/getdents64.Po
-include ./$(DEPDIR)/getegid.Po
-include ./$(DEPDIR)/getegid32.Po
-include ./$(DEPDIR)/geteuid.Po
-include ./$(DEPDIR)/geteuid32.Po
-include ./$(DEPDIR)/getgid.Po
-include ./$(DEPDIR)/getgid32.Po
-include ./$(DEPDIR)/getgroups.Po
-include ./$(DEPDIR)/getgroups32.Po
-include ./$(DEPDIR)/getpeername.Po
-include ./$(DEPDIR)/getpgrp.Po
-include ./$(DEPDIR)/getpid.Po
-include ./$(DEPDIR)/getppid.Po
-include ./$(DEPDIR)/getrandom.Po
-include ./$(DEPDIR)/getresgid.Po
-include ./$(DEPDIR)/getresgid32.Po
-include ./$(DEPDIR)/getresuid.Po
-include ./$(DEPDIR)/getresuid32.Po
-include ./$(DEPDIR)/getrlimit.Po
-include ./$(DEPDIR)/getrusage.Po
-include ./$(DEPDIR)/getsid.Po
-include ./$(DEPDIR)/getsockname.Po
-include ./$(DEPDIR)/gettid.Po
-include ./$(DEPDIR)/getuid.Po
-include ./$(DEPDIR)/getuid32.Po
-include ./$(DEPDIR)/getxxid.Po
-include ./$(DEPDIR)/inet-cmsg.Po
-include ./$(DEPDIR)/init_module.Po
-include ./$(DEPDIR)/inotify.Po
-include ./$(DEPDIR)/inotify_init1.Po
-include ./$(DEPDIR)/int_0x80.Po
-include ./$(DEPDIR)/ioctl.Po
-include ./$(DEPDIR)/ioctl_block.Po
-include ./$(DEPDIR)/ioctl_dm-v.Po
-include ./$(DEPDIR)/ioctl_dm.Po
-include ./$(DEPDIR)/ioctl_evdev-v.Po
-include ./$(DEPDIR)/ioctl_evdev.Po
-include ./$(DEPDIR)/ioctl_loop-nv.Po
-include ./$(DEPDIR)/ioctl_loop-v.Po
-include ./$(DEPDIR)/ioctl_loop.Po
-include ./$(DEPDIR)/ioctl_mtd.Po
-include ./$(DEPDIR)/ioctl_nsfs.Po
-include ./$(DEPDIR)/ioctl_rtc-v.Po
-include ./$(DEPDIR)/ioctl_rtc.Po
-include ./$(DEPDIR)/ioctl_scsi.Po
-include ./$(DEPDIR)/ioctl_sg_io_v3.Po
-include ./$(DEPDIR)/ioctl_sg_io_v4.Po
-include ./$(DEPDIR)/ioctl_sock_gifconf.Po
-include ./$(DEPDIR)/ioctl_uffdio.Po
-include ./$(DEPDIR)/ioctl_v4l2.Po
-include ./$(DEPDIR)/ioperm.Po
-include ./$(DEPDIR)/iopl.Po
-include ./$(DEPDIR)/ioprio.Po
-include ./$(DEPDIR)/ip_mreq.Po
-include ./$(DEPDIR)/ipc.Po
-include ./$(DEPDIR)/ipc_msg.Po
-include ./$(DEPDIR)/ipc_msgbuf.Po
-include ./$(DEPDIR)/ipc_sem.Po
-include ./$(DEPDIR)/ipc_shm.Po
-include ./$(DEPDIR)/kcmp.Po
-include ./$(DEPDIR)/kexec_file_load.Po
-include ./$(DEPDIR)/kexec_load.Po
-include ./$(DEPDIR)/keyctl.Po
-include ./$(DEPDIR)/kill.Po
-include ./$(DEPDIR)/ksysent.Po
-include ./$(DEPDIR)/lchown.Po
-include ./$(DEPDIR)/lchown32.Po
-include ./$(DEPDIR)/libtests_a-errno2name.Po
-include ./$(DEPDIR)/libtests_a-error_msg.Po
-include ./$(DEPDIR)/libtests_a-fill_memory.Po
-include ./$(DEPDIR)/libtests_a-get_page_size.Po
-include ./$(DEPDIR)/libtests_a-get_sigset_size.Po
-include ./$(DEPDIR)/libtests_a-hexdump_strdup.Po
-include ./$(DEPDIR)/libtests_a-hexquote_strndup.Po
-include ./$(DEPDIR)/libtests_a-inode_of_sockfd.Po
-include ./$(DEPDIR)/libtests_a-libmmsg.Po
-include ./$(DEPDIR)/libtests_a-libsocketcall.Po
-include ./$(DEPDIR)/libtests_a-overflowuid.Po
-include ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
-include ./$(DEPDIR)/libtests_a-print_quoted_string.Po
-include ./$(DEPDIR)/libtests_a-print_time.Po
-include ./$(DEPDIR)/libtests_a-printflags.Po
-include ./$(DEPDIR)/libtests_a-printxval.Po
-include ./$(DEPDIR)/libtests_a-signal2name.Po
-include ./$(DEPDIR)/libtests_a-skip_unavailable.Po
-include ./$(DEPDIR)/libtests_a-sprintrc.Po
-include ./$(DEPDIR)/libtests_a-tail_alloc.Po
-include ./$(DEPDIR)/libtests_a-tprintf.Po
-include ./$(DEPDIR)/link.Po
-include ./$(DEPDIR)/linkat.Po
-include ./$(DEPDIR)/llseek.Po
-include ./$(DEPDIR)/lookup_dcookie.Po
-include ./$(DEPDIR)/lseek.Po
-include ./$(DEPDIR)/lstat.Po
-include ./$(DEPDIR)/lstat64-lstat64.Po
-include ./$(DEPDIR)/madvise.Po
-include ./$(DEPDIR)/mbind.Po
-include ./$(DEPDIR)/membarrier.Po
-include ./$(DEPDIR)/memfd_create.Po
-include ./$(DEPDIR)/migrate_pages.Po
-include ./$(DEPDIR)/mincore.Po
-include ./$(DEPDIR)/mkdir.Po
-include ./$(DEPDIR)/mkdirat.Po
-include ./$(DEPDIR)/mknod.Po
-include ./$(DEPDIR)/mknodat.Po
-include ./$(DEPDIR)/mlock.Po
-include ./$(DEPDIR)/mlock2.Po
-include ./$(DEPDIR)/mlockall.Po
-include ./$(DEPDIR)/mmap.Po
-include ./$(DEPDIR)/mmap64-mmap64.Po
-include ./$(DEPDIR)/mmsg-silent.Po
-include ./$(DEPDIR)/mmsg.Po
-include ./$(DEPDIR)/mmsg_name-v.Po
-include ./$(DEPDIR)/mmsg_name.Po
-include ./$(DEPDIR)/mount.Po
-include ./$(DEPDIR)/move_pages.Po
-include ./$(DEPDIR)/mq.Po
-include ./$(DEPDIR)/mq_sendrecv-read.Po
-include ./$(DEPDIR)/mq_sendrecv-write.Po
-include ./$(DEPDIR)/mq_sendrecv.Po
-include ./$(DEPDIR)/msg_control-v.Po
-include ./$(DEPDIR)/msg_control.Po
-include ./$(DEPDIR)/msg_name.Po
-include ./$(DEPDIR)/munlockall.Po
-include ./$(DEPDIR)/nanosleep.Po
-include ./$(DEPDIR)/net-accept-connect.Po
-include ./$(DEPDIR)/net-icmp_filter.Po
-include ./$(DEPDIR)/net-sockaddr.Po
-include ./$(DEPDIR)/net-y-unix.Po
-include ./$(DEPDIR)/net-yy-inet.Po
-include ./$(DEPDIR)/net-yy-netlink.Po
-include ./$(DEPDIR)/net-yy-unix.Po
-include ./$(DEPDIR)/netlink_inet_diag.Po
-include ./$(DEPDIR)/netlink_netlink_diag.Po
-include ./$(DEPDIR)/netlink_protocol.Po
-include ./$(DEPDIR)/netlink_unix_diag.Po
-include ./$(DEPDIR)/newfstatat-newfstatat.Po
-include ./$(DEPDIR)/nsyscalls.Po
-include ./$(DEPDIR)/old_mmap.Po
-include ./$(DEPDIR)/oldfstat.Po
-include ./$(DEPDIR)/oldlstat.Po
-include ./$(DEPDIR)/oldselect.Po
-include ./$(DEPDIR)/oldstat.Po
-include ./$(DEPDIR)/open.Po
-include ./$(DEPDIR)/openat.Po
-include ./$(DEPDIR)/osf_utimes.Po
-include ./$(DEPDIR)/pause.Po
-include ./$(DEPDIR)/pc.Po
-include ./$(DEPDIR)/perf_event_open.Po
-include ./$(DEPDIR)/perf_event_open_nonverbose.Po
-include ./$(DEPDIR)/perf_event_open_unabbrev.Po
-include ./$(DEPDIR)/personality.Po
-include ./$(DEPDIR)/pipe.Po
-include ./$(DEPDIR)/pipe2.Po
-include ./$(DEPDIR)/pkey_alloc.Po
-include ./$(DEPDIR)/pkey_free.Po
-include ./$(DEPDIR)/pkey_mprotect.Po
-include ./$(DEPDIR)/poll.Po
-include ./$(DEPDIR)/ppoll-v.Po
-include ./$(DEPDIR)/ppoll.Po
-include ./$(DEPDIR)/prctl-arg2-intptr.Po
-include ./$(DEPDIR)/prctl-dumpable.Po
-include ./$(DEPDIR)/prctl-name.Po
-include ./$(DEPDIR)/prctl-no-args.Po
-include ./$(DEPDIR)/prctl-pdeathsig.Po
-include ./$(DEPDIR)/prctl-seccomp-filter-v.Po
-include ./$(DEPDIR)/prctl-seccomp-strict.Po
-include ./$(DEPDIR)/prctl-securebits.Po
-include ./$(DEPDIR)/prctl-tid_address.Po
-include ./$(DEPDIR)/prctl-tsc.Po
-include ./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-include ./$(DEPDIR)/preadv-preadv.Po
-include ./$(DEPDIR)/preadv2-pwritev2.Po
-include ./$(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-include ./$(DEPDIR)/print_maxfd.Po
-include ./$(DEPDIR)/printstr.Po
-include ./$(DEPDIR)/prlimit64.Po
-include ./$(DEPDIR)/process_vm_readv.Po
-include ./$(DEPDIR)/process_vm_writev.Po
-include ./$(DEPDIR)/pselect6.Po
-include ./$(DEPDIR)/ptrace.Po
-include ./$(DEPDIR)/pwritev-pwritev.Po
-include ./$(DEPDIR)/qual_fault.Po
-include ./$(DEPDIR)/qual_inject-error-signal.Po
-include ./$(DEPDIR)/qual_inject-retval.Po
-include ./$(DEPDIR)/qual_inject-signal.Po
-include ./$(DEPDIR)/qual_signal.Po
-include ./$(DEPDIR)/quotactl-v.Po
-include ./$(DEPDIR)/quotactl-xfs-v.Po
-include ./$(DEPDIR)/quotactl-xfs.Po
-include ./$(DEPDIR)/quotactl.Po
-include ./$(DEPDIR)/read-write.Po
-include ./$(DEPDIR)/readahead.Po
-include ./$(DEPDIR)/readdir.Po
-include ./$(DEPDIR)/readlink.Po
-include ./$(DEPDIR)/readlinkat.Po
-include ./$(DEPDIR)/readv.Po
-include ./$(DEPDIR)/reboot.Po
-include ./$(DEPDIR)/recvfrom.Po
-include ./$(DEPDIR)/recvmmsg-timeout.Po
-include ./$(DEPDIR)/recvmsg.Po
-include ./$(DEPDIR)/redirect-fds.Po
-include ./$(DEPDIR)/remap_file_pages.Po
-include ./$(DEPDIR)/rename.Po
-include ./$(DEPDIR)/renameat.Po
-include ./$(DEPDIR)/renameat2.Po
-include ./$(DEPDIR)/request_key.Po
-include ./$(DEPDIR)/restart_syscall.Po
-include ./$(DEPDIR)/rmdir.Po
-include ./$(DEPDIR)/rt_sigpending.Po
-include ./$(DEPDIR)/rt_sigprocmask.Po
-include ./$(DEPDIR)/rt_sigqueueinfo.Po
-include ./$(DEPDIR)/rt_sigreturn.Po
-include ./$(DEPDIR)/rt_sigsuspend.Po
-include ./$(DEPDIR)/rt_sigtimedwait.Po
-include ./$(DEPDIR)/rt_tgsigqueueinfo.Po
-include ./$(DEPDIR)/sched_get_priority_mxx.Po
-include ./$(DEPDIR)/sched_rr_get_interval.Po
-include ./$(DEPDIR)/sched_xetaffinity.Po
-include ./$(DEPDIR)/sched_xetattr.Po
-include ./$(DEPDIR)/sched_xetparam.Po
-include ./$(DEPDIR)/sched_xetscheduler.Po
-include ./$(DEPDIR)/sched_yield.Po
-include ./$(DEPDIR)/scm_rights.Po
-include ./$(DEPDIR)/seccomp-filter-v.Po
-include ./$(DEPDIR)/seccomp-filter.Po
-include ./$(DEPDIR)/seccomp-strict.Po
-include ./$(DEPDIR)/select.Po
-include ./$(DEPDIR)/semop.Po
-include ./$(DEPDIR)/sendfile.Po
-include ./$(DEPDIR)/sendfile64.Po
-include ./$(DEPDIR)/set_mempolicy.Po
-include ./$(DEPDIR)/set_ptracer_any.Po
-include ./$(DEPDIR)/setdomainname.Po
-include ./$(DEPDIR)/setfsgid.Po
-include ./$(DEPDIR)/setfsgid32.Po
-include ./$(DEPDIR)/setfsuid.Po
-include ./$(DEPDIR)/setfsuid32.Po
-include ./$(DEPDIR)/setgid.Po
-include ./$(DEPDIR)/setgid32.Po
-include ./$(DEPDIR)/setgroups.Po
-include ./$(DEPDIR)/setgroups32.Po
-include ./$(DEPDIR)/sethostname.Po
-include ./$(DEPDIR)/setns.Po
-include ./$(DEPDIR)/setregid.Po
-include ./$(DEPDIR)/setregid32.Po
-include ./$(DEPDIR)/setresgid.Po
-include ./$(DEPDIR)/setresgid32.Po
-include ./$(DEPDIR)/setresuid.Po
-include ./$(DEPDIR)/setresuid32.Po
-include ./$(DEPDIR)/setreuid.Po
-include ./$(DEPDIR)/setreuid32.Po
-include ./$(DEPDIR)/setrlimit.Po
-include ./$(DEPDIR)/setuid.Po
-include ./$(DEPDIR)/setuid32.Po
-include ./$(DEPDIR)/shmxt.Po
-include ./$(DEPDIR)/shutdown.Po
-include ./$(DEPDIR)/sigaction.Po
-include ./$(DEPDIR)/sigaltstack.Po
-include ./$(DEPDIR)/siginfo.Po
-include ./$(DEPDIR)/signal_receive.Po
-include ./$(DEPDIR)/signalfd4.Po
-include ./$(DEPDIR)/sigreturn.Po
-include ./$(DEPDIR)/sigsuspend.Po
-include ./$(DEPDIR)/sleep.Po
-include ./$(DEPDIR)/socketcall.Po
-include ./$(DEPDIR)/splice.Po
-include ./$(DEPDIR)/stack-fcall-0.Po
-include ./$(DEPDIR)/stack-fcall-1.Po
-include ./$(DEPDIR)/stack-fcall-2.Po
-include ./$(DEPDIR)/stack-fcall-3.Po
-include ./$(DEPDIR)/stack-fcall.Po
-include ./$(DEPDIR)/stat.Po
-include ./$(DEPDIR)/stat64-stat64.Po
-include ./$(DEPDIR)/statfs-statfs.Po
-include ./$(DEPDIR)/statfs64.Po
-include ./$(DEPDIR)/statx.Po
-include ./$(DEPDIR)/swap.Po
-include ./$(DEPDIR)/sxetmask.Po
-include ./$(DEPDIR)/symlink.Po
-include ./$(DEPDIR)/symlinkat.Po
-include ./$(DEPDIR)/sync.Po
-include ./$(DEPDIR)/sync_file_range.Po
-include ./$(DEPDIR)/sync_file_range2.Po
-include ./$(DEPDIR)/sysinfo.Po
-include ./$(DEPDIR)/syslog.Po
-include ./$(DEPDIR)/tee.Po
-include ./$(DEPDIR)/threads-execve.Po
-include ./$(DEPDIR)/time.Po
-include ./$(DEPDIR)/timer_create.Po
-include ./$(DEPDIR)/timer_xettime.Po
-include ./$(DEPDIR)/timerfd_xettime.Po
-include ./$(DEPDIR)/times-fail.Po
-include ./$(DEPDIR)/times.Po
-include ./$(DEPDIR)/truncate.Po
-include ./$(DEPDIR)/truncate64-truncate64.Po
-include ./$(DEPDIR)/ugetrlimit.Po
-include ./$(DEPDIR)/uio-uio.Po
-include ./$(DEPDIR)/umask.Po
-include ./$(DEPDIR)/umount.Po
-include ./$(DEPDIR)/umount2.Po
-include ./$(DEPDIR)/umoven-illptr.Po
-include ./$(DEPDIR)/umovestr-illptr.Po
-include ./$(DEPDIR)/umovestr.Po
-include ./$(DEPDIR)/umovestr2.Po
-include ./$(DEPDIR)/umovestr3.Po
-include ./$(DEPDIR)/uname.Po
-include ./$(DEPDIR)/unix-pair-send-recv.Po
-include ./$(DEPDIR)/unix-pair-sendto-recvfrom.Po
-include ./$(DEPDIR)/unlink.Po
-include ./$(DEPDIR)/unlinkat.Po
-include ./$(DEPDIR)/unshare.Po
-include ./$(DEPDIR)/userfaultfd.Po
-include ./$(DEPDIR)/ustat.Po
-include ./$(DEPDIR)/utime.Po
-include ./$(DEPDIR)/utimensat.Po
-include ./$(DEPDIR)/utimes.Po
-include ./$(DEPDIR)/vfork-f.Po
-include ./$(DEPDIR)/vhangup.Po
-include ./$(DEPDIR)/vmsplice.Po
-include ./$(DEPDIR)/wait4-v.Po
-include ./$(DEPDIR)/wait4.Po
-include ./$(DEPDIR)/waitid-v.Po
-include ./$(DEPDIR)/waitid.Po
-include ./$(DEPDIR)/waitpid.Po
-include ./$(DEPDIR)/xattr-strings.Po
-include ./$(DEPDIR)/xattr.Po
-include ./$(DEPDIR)/xet_robust_list.Po
-include ./$(DEPDIR)/xetitimer.Po
-include ./$(DEPDIR)/xetpgid.Po
-include ./$(DEPDIR)/xetpriority.Po
-include ./$(DEPDIR)/xettimeofday.Po
-
-.c.o:
- $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# $(AM_V_CC)source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
-
-.c.obj:
- $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# $(AM_V_CC)source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-libtests_a-errno2name.o: errno2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-# $(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
-
-libtests_a-errno2name.obj: errno2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-# $(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
-
-libtests_a-error_msg.o: error_msg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.o -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
-# $(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
-
-libtests_a-error_msg.obj: error_msg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.obj -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
-# $(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
-
-libtests_a-fill_memory.o: fill_memory.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.o -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
-# $(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
-
-libtests_a-fill_memory.obj: fill_memory.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.obj -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
-# $(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
-
-libtests_a-get_page_size.o: get_page_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
-# $(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
-
-libtests_a-get_page_size.obj: get_page_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
-# $(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
-
-libtests_a-get_sigset_size.o: get_sigset_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
-# $(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_size.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
-
-libtests_a-get_sigset_size.obj: get_sigset_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
-# $(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_size.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
-
-libtests_a-hexdump_strdup.o: hexdump_strdup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
-# $(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
-
-libtests_a-hexdump_strdup.obj: hexdump_strdup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
-# $(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
-
-libtests_a-hexquote_strndup.o: hexquote_strndup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
-# $(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
-
-libtests_a-hexquote_strndup.obj: hexquote_strndup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
-# $(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
-
-libtests_a-inode_of_sockfd.o: inode_of_sockfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.o -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
-# $(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
-
-libtests_a-inode_of_sockfd.obj: inode_of_sockfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
-# $(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
-
-libtests_a-libmmsg.o: libmmsg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.o -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
-# $(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
-
-libtests_a-libmmsg.obj: libmmsg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.obj -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
-# $(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
-
-libtests_a-libsocketcall.o: libsocketcall.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.o -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
-# $(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
-
-libtests_a-libsocketcall.obj: libsocketcall.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.obj -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
-# $(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
-
-libtests_a-overflowuid.o: overflowuid.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.o -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
-# $(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
-
-libtests_a-overflowuid.obj: overflowuid.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.obj -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
-# $(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
-
-libtests_a-pipe_maxfd.o: pipe_maxfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-# $(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
-
-libtests_a-pipe_maxfd.obj: pipe_maxfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-# $(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
-
-libtests_a-print_quoted_string.o: print_quoted_string.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.o -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
-# $(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
-
-libtests_a-print_quoted_string.obj: print_quoted_string.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
-# $(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
-
-libtests_a-print_time.o: print_time.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
-# $(AM_V_CC)source='print_time.c' object='libtests_a-print_time.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
-
-libtests_a-print_time.obj: print_time.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
-# $(AM_V_CC)source='print_time.c' object='libtests_a-print_time.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
-
-libtests_a-printflags.o: printflags.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.o -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
-# $(AM_V_CC)source='printflags.c' object='libtests_a-printflags.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
-
-libtests_a-printflags.obj: printflags.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.obj -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
-# $(AM_V_CC)source='printflags.c' object='libtests_a-printflags.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
-
-libtests_a-printxval.o: printxval.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.o -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
-# $(AM_V_CC)source='printxval.c' object='libtests_a-printxval.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
-
-libtests_a-printxval.obj: printxval.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.obj -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
-# $(AM_V_CC)source='printxval.c' object='libtests_a-printxval.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
-
-libtests_a-signal2name.o: signal2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-# $(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
-
-libtests_a-signal2name.obj: signal2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-# $(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
-
-libtests_a-skip_unavailable.o: skip_unavailable.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
-# $(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
-
-libtests_a-skip_unavailable.obj: skip_unavailable.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
-# $(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
-
-libtests_a-sprintrc.o: sprintrc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.o -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
-# $(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
-
-libtests_a-sprintrc.obj: sprintrc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.obj -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
-# $(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
-
-libtests_a-tail_alloc.o: tail_alloc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-# $(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
-
-libtests_a-tail_alloc.obj: tail_alloc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.obj -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-# $(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
-
-libtests_a-tprintf.o: tprintf.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.o -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
-# $(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
-
-libtests_a-tprintf.obj: tprintf.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.obj -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
-# $(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
-
-fstat64-fstat64.o: fstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-# $(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
-
-fstat64-fstat64.obj: fstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.obj -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-# $(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
-
-fstatat64-fstatat64.o: fstatat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.o -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
-# $(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
-
-fstatat64-fstatat64.obj: fstatat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.obj -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
-# $(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
-
-ftruncate64-ftruncate64.o: ftruncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.o -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
-# $(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
-
-ftruncate64-ftruncate64.obj: ftruncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.obj -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
-# $(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
-
-lstat64-lstat64.o: lstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.o -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
-# $(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
-
-lstat64-lstat64.obj: lstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.obj -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
-# $(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
-
-mmap64-mmap64.o: mmap64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.o -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
-# $(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
-
-mmap64-mmap64.obj: mmap64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.obj -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
-# $(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
-
-newfstatat-newfstatat.o: newfstatat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.o -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
-# $(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
-
-newfstatat-newfstatat.obj: newfstatat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.obj -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
-# $(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
-
-pread64_pwrite64-pread64-pwrite64.o: pread64-pwrite64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.o -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-# $(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
-
-pread64_pwrite64-pread64-pwrite64.obj: pread64-pwrite64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.obj -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-# $(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
-
-preadv-preadv.o: preadv.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.o -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
-# $(AM_V_CC)source='preadv.c' object='preadv-preadv.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
-
-preadv-preadv.obj: preadv.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.obj -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
-# $(AM_V_CC)source='preadv.c' object='preadv-preadv.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
-
-preadv_pwritev-preadv-pwritev.o: preadv-pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.o -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-# $(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
-
-preadv_pwritev-preadv-pwritev.obj: preadv-pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.obj -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-# $(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
-
-pwritev-pwritev.o: pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.o -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
-# $(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
-
-pwritev-pwritev.obj: pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.obj -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
-# $(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
-
-stat64-stat64.o: stat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.o -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
-# $(AM_V_CC)source='stat64.c' object='stat64-stat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
-
-stat64-stat64.obj: stat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.obj -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
-# $(AM_V_CC)source='stat64.c' object='stat64-stat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
-
-statfs-statfs.o: statfs.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.o -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
-# $(AM_V_CC)source='statfs.c' object='statfs-statfs.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
-
-statfs-statfs.obj: statfs.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.obj -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
-# $(AM_V_CC)source='statfs.c' object='statfs-statfs.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
-
-truncate64-truncate64.o: truncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-# $(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
-
-truncate64-truncate64.obj: truncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.obj -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-# $(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
-
-uio-uio.o: uio.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.o -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
-# $(AM_V_CC)source='uio.c' object='uio-uio.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
-
-uio-uio.obj: uio.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.obj -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
-# $(AM_V_CC)source='uio.c' object='uio-uio.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
-check-valgrind-local:
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
- rm -f $< $@
- $(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
- @:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
- @$(am__set_TESTS_bases); \
- am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
- redo_bases=`for i in $$bases; do \
- am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
- done`; \
- if test -n "$$redo_bases"; then \
- redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
- redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
- if $(am__make_dryrun); then :; else \
- rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
- fi; \
- fi; \
- if test -n "$$am__remaking_logs"; then \
- echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
- "recursion detected" >&2; \
- else \
- am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
- fi; \
- if $(am__make_dryrun); then :; else \
- st=0; \
- errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
- for i in $$redo_bases; do \
- test -f $$i.trs && test -r $$i.trs \
- || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
- test -f $$i.log && test -r $$i.log \
- || { echo "$$errmsg $$i.log" >&2; st=1; }; \
- done; \
- test $$st -eq 0 || exit 1; \
- fi
- @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
- ws='[ ]'; \
- results=`for b in $$bases; do echo $$b.trs; done`; \
- test -n "$$results" || results=/dev/null; \
- all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
- pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
- fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
- skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
- xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
- xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
- error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
- if test `expr $$fail + $$xpass + $$error` -eq 0; then \
- success=true; \
- else \
- success=false; \
- fi; \
- br='==================='; br=$$br$$br$$br$$br; \
- result_count () \
- { \
- if test x"$$1" = x"--maybe-color"; then \
- maybe_colorize=yes; \
- elif test x"$$1" = x"--no-color"; then \
- maybe_colorize=no; \
- else \
- echo "$@: invalid 'result_count' usage" >&2; exit 4; \
- fi; \
- shift; \
- desc=$$1 count=$$2; \
- if test $$maybe_colorize = yes && test $$count -gt 0; then \
- color_start=$$3 color_end=$$std; \
- else \
- color_start= color_end=; \
- fi; \
- echo "$${color_start}# $$desc $$count$${color_end}"; \
- }; \
- create_testsuite_report () \
- { \
- result_count $$1 "TOTAL:" $$all "$$brg"; \
- result_count $$1 "PASS: " $$pass "$$grn"; \
- result_count $$1 "SKIP: " $$skip "$$blu"; \
- result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
- result_count $$1 "FAIL: " $$fail "$$red"; \
- result_count $$1 "XPASS:" $$xpass "$$red"; \
- result_count $$1 "ERROR:" $$error "$$mgn"; \
- }; \
- { \
- echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
- $(am__rst_title); \
- create_testsuite_report --no-color; \
- echo; \
- echo ".. contents:: :depth: 2"; \
- echo; \
- for b in $$bases; do echo $$b; done \
- | $(am__create_global_log); \
- } >$(TEST_SUITE_LOG).tmp || exit 1; \
- mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
- if $$success; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
- fi; \
- echo "$${col}$$br$${std}"; \
- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
- echo "$${col}$$br$${std}"; \
- create_testsuite_report --maybe-color; \
- echo "$$col$$br$$std"; \
- if $$success; then :; else \
- echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
- if test -n "$(PACKAGE_BUGREPORT)"; then \
- echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
- fi; \
- echo "$$col$$br$$std"; \
- fi; \
- $$success || exit 1
-
-check-TESTS:
- @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
- @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- trs_list=`for i in $$bases; do echo $$i.trs; done`; \
- log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
- exit $$?;
-recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- bases=`for i in $$bases; do echo $$i; done \
- | $(am__list_recheck_tests)` || exit 1; \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- log_list=`echo $$log_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
- am__force_recheck=am--force-recheck \
- TEST_LOGS="$$log_list"; \
- exit $$?
-.test.log:
- @p='$<'; \
- $(am__set_b); \
- $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-#.test$(EXEEXT).log:
-# @p='$<'; \
-# $(am__set_b); \
-# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-# --log-file $$b.log --trs-file $$b.trs \
-# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-# "$$tst" $(AM_TESTS_FD_REDIRECT)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
- -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
- -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
- -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-check-valgrind: check-valgrind-am
-
-check-valgrind-am: check-valgrind-local
-
-clean: clean-am
-
-clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
- clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
- check-valgrind-am check-valgrind-local clean \
- clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
- clean-local cscopelist-am ctags ctags-am distclean \
- distclean-compile distclean-generic distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \
- uninstall uninstall-am
-
-
-$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-
-# Valgrind check
-#
-# Optional:
-# - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions
-# files to load. (Default: empty)
-# - VALGRIND_FLAGS: General flags to pass to all Valgrind tools.
-# (Default: --num-callers=30)
-# - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of:
-# memcheck, helgrind, drd, sgcheck). (Default: various)
-
-# Optional variables
-VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES))
-VALGRIND_FLAGS ?= --num-callers=30
-VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no
-VALGRIND_helgrind_FLAGS ?= --history-level=approx
-VALGRIND_drd_FLAGS ?=
-VALGRIND_sgcheck_FLAGS ?=
-
-# Internal use
-valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools)))
-
-valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS)
-valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS)
-valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS)
-valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS)
-
-valgrind_quiet = $(valgrind_quiet_$(V))
-valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY))
-valgrind_quiet_0 = --quiet
-valgrind_v_use = $(valgrind_v_use_$(V))
-valgrind_v_use_ = $(valgrind_v_use_$(AM_DEFAULT_VERBOSITY))
-valgrind_v_use_0 = @echo " USE " $(patsubst check-valgrind-%,%,$@):;
-
-# Support running with and without libtool.
-ifneq ($(LIBTOOL),)
-valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute
-else
-valgrind_lt =
-endif
-
-# Use recursive makes in order to ignore errors during check
-check-valgrind:
-ifeq ($(VALGRIND_ENABLED),yes)
- -$(AM_V_at)$(foreach tool,$(valgrind_enabled_tools), \
- $(MAKE) $(AM_MAKEFLAGS) -k check-valgrind-$(tool); \
- )
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-
-# Valgrind running
-VALGRIND_TESTS_ENVIRONMENT = \
- $(TESTS_ENVIRONMENT) \
- env VALGRIND=$(VALGRIND) \
- G_SLICE=always-malloc,debug-blocks \
- G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly
-
-VALGRIND_LOG_COMPILER = \
- $(valgrind_lt) \
- $(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS)
-
-define valgrind_tool_rule =
-check-valgrind-$(1): $$(BUILT_SOURCES)
-ifeq ($$(VALGRIND_ENABLED)-$$(ENABLE_VALGRIND_$(1)),yes-yes)
- $$(valgrind_v_use)$$(MAKE) $$(AM_MAKEFLAGS) check-am \
- TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$$(valgrind_$(1)_flags)" \
- TEST_SUITE_LOG=test-suite-$(1).log
-else ifeq ($$(VALGRIND_ENABLED),yes)
- @echo "Need to reconfigure with --enable-valgrind-$(1)"
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-endef
-
-$(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool))))
-
-AM_DISTCHECK_CONFIGURE_FLAGS ?=
-AM_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind
-
-MOSTLYCLEANFILES ?=
-MOSTLYCLEANFILES += $(valgrind_log_files)
-
-.PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools))
-
-
-ksysent.h: $(srcdir)/ksysent.sed
- echo '#include <asm/unistd.h>' | \
- $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
- LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
- mv -f $@.t2 $@
- rm -f $@.t1
-
-ksysent.$(OBJEXT): ksysent.h
-$(objects): scno.h
-
-clean-local: clean-local-check
-.PHONY: clean-local-check
-clean-local-check:
- -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
-
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
- $(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
-
-scno.h: $(top_srcdir)/scno.head syscallent.i
- echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
- cat $< >> $@-t
- LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t
- mv $@-t $@
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tests-mx32/Makefile.am b/tests-mx32/Makefile.am
new file mode 100644
index 00000000..c6793af9
--- /dev/null
+++ b/tests-mx32/Makefile.am
@@ -0,0 +1,390 @@
+# Automake input for strace tests.
+#
+# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OS = linux
+ARCH = @arch_mx32@
+MPERS_NAME = mx32
+ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) -mx32
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = $(ARCH_MFLAGS) \
+ -I$(builddir) \
+ -I$(top_builddir)/$(OS)/$(ARCH) \
+ -I$(top_srcdir)/$(OS)/$(ARCH) \
+ -I$(top_builddir)/$(OS) \
+ -I$(top_srcdir)/$(OS) \
+ -I$(top_builddir) \
+ -I$(top_srcdir)
+AM_LDFLAGS = $(ARCH_MFLAGS)
+
+libtests_a_SOURCES = \
+ create_nl_socket.c \
+ errno2name.c \
+ error_msg.c \
+ fill_memory.c \
+ get_page_size.c \
+ get_sigset_size.c \
+ hexdump_strdup.c \
+ hexquote_strndup.c \
+ inode_of_sockfd.c \
+ libmmsg.c \
+ libsocketcall.c \
+ overflowuid.c \
+ pipe_maxfd.c \
+ print_quoted_string.c \
+ print_time.c \
+ printflags.c \
+ printxval.c \
+ signal2name.c \
+ skip_unavailable.c \
+ sprintrc.c \
+ tail_alloc.c \
+ test_nlattr.h \
+ tests.h \
+ tprintf.c \
+ # end of libtests_a_SOURCES
+libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+check_LIBRARIES = libtests.a
+LDADD = libtests.a
+
+include pure_executables.am
+
+check_PROGRAMS = $(PURE_EXECUTABLES) \
+ answer \
+ attach-f-p \
+ attach-f-p-cmd \
+ attach-p-cmd-cmd \
+ attach-p-cmd-p \
+ block_reset_raise_run \
+ caps-abbrev \
+ count-f \
+ execve-v \
+ execveat-v \
+ filter-unavailable \
+ fork-f \
+ getpid \
+ getppid \
+ gettid \
+ int_0x80 \
+ ioctl_dm-v \
+ ioctl_evdev-v \
+ ioctl_loop-nv \
+ ioctl_loop-v \
+ ioctl_nsfs \
+ ioctl_rtc-v \
+ ksysent \
+ mmsg-silent \
+ mmsg_name-v \
+ msg_control-v \
+ net-accept-connect \
+ netlink_inet_diag \
+ netlink_netlink_diag \
+ netlink_unix_diag \
+ nsyscalls \
+ pc \
+ perf_event_open_nonverbose \
+ perf_event_open_unabbrev \
+ ppoll-v \
+ prctl-seccomp-filter-v \
+ prctl-seccomp-strict \
+ print_maxfd \
+ qual_fault \
+ qual_inject-error-signal \
+ qual_inject-retval \
+ qual_inject-signal \
+ qual_signal \
+ quotactl-v \
+ quotactl-xfs-v \
+ redirect-fds \
+ restart_syscall \
+ run_expect_termsig \
+ scm_rights \
+ seccomp-filter-v \
+ seccomp-strict \
+ set_ptracer_any \
+ signal_receive \
+ sleep \
+ stack-fcall \
+ threads-execve \
+ unblock_reset_raise \
+ unix-pair-send-recv \
+ unix-pair-sendto-recvfrom \
+ vfork-f \
+ wait4-v \
+ waitid-v \
+ zeroargc \
+ # end of check_PROGRAMS
+
+attach_f_p_LDADD = -lrt -lpthread $(LDADD)
+clock_xettime_LDADD = -lrt $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+filter_unavailable_LDADD = -lpthread $(LDADD)
+fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = -lrt $(LDADD)
+mq_sendrecv_LDADD = -lrt $(LDADD)
+mq_sendrecv_read_LDADD = -lrt $(LDADD)
+mq_sendrecv_write_LDADD = -lrt $(LDADD)
+newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pc_LDADD = $(dl_LIBS) $(LDADD)
+pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+threads_execve_LDADD = -lrt -lpthread $(LDADD)
+times_LDADD = -lrt $(LDADD)
+truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+
+stack_fcall_SOURCES = stack-fcall.c \
+ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
+
+include gen_tests.am
+
+if USE_LIBUNWIND
+LIBUNWIND_TESTS = strace-k.test
+else
+LIBUNWIND_TESTS =
+endif
+
+DECODER_TESTS = \
+ brk.test \
+ btrfs-v.test \
+ btrfs-vw.test \
+ btrfs-w.test \
+ caps-abbrev.test \
+ caps.test \
+ eventfd.test \
+ execve-v.test \
+ execve.test \
+ fadvise64.test \
+ futex.test \
+ getuid.test \
+ ioctl.test \
+ ioctl_dm-v.test \
+ ioctl_dm.test \
+ ioctl_loop-nv.test \
+ ioctl_nsfs.test \
+ ioctl_sock_gifconf.test \
+ ipc_msgbuf.test \
+ llseek.test \
+ lseek.test \
+ mmap.test \
+ net-y-unix.test \
+ net-yy-inet.test \
+ net-yy-netlink.test \
+ net-yy-unix.test \
+ net.test \
+ netlink_sock_diag.test \
+ nsyscalls.test \
+ oldselect.test \
+ personality.test \
+ pipe.test \
+ poll.test \
+ prctl-arg2-intptr.test \
+ prctl-dumpable.test \
+ prctl-name.test \
+ prctl-no-args.test \
+ prctl-pdeathsig.test \
+ prctl-seccomp-filter-v.test \
+ prctl-seccomp-strict.test \
+ prctl-securebits.test \
+ prctl-tid_address.test \
+ prctl-tsc.test \
+ qual_fault-exit_group.test \
+ readv.test \
+ rt_sigaction.test \
+ scm_rights-fd.test \
+ seccomp-strict.test \
+ sigaltstack.test \
+ sun_path.test \
+ uio.test \
+ umount.test \
+ umount2.test \
+ umovestr.test \
+ umovestr2.test \
+ uname.test \
+ unix-pair-send-recv.test \
+ unix-pair-sendto-recvfrom.test \
+ # end of DECODER_TESTS
+
+MISC_TESTS = \
+ attach-f-p.test \
+ attach-p-cmd.test \
+ bexecve.test \
+ count-f.test \
+ count.test \
+ detach-running.test \
+ detach-sleeping.test \
+ detach-stopped.test \
+ filter-unavailable.test \
+ get_regs.test \
+ interactive_block.test \
+ ksysent.test \
+ opipe.test \
+ options-syntax.test \
+ pc.test \
+ qual_fault-syntax.test \
+ qual_fault.test \
+ qual_inject-error-signal.test \
+ qual_inject-retval.test \
+ qual_inject-signal.test \
+ qual_inject-syntax.test \
+ qual_signal.test \
+ qual_syscall.test \
+ redirect-fds.test \
+ redirect.test \
+ restart_syscall.test \
+ strace-C.test \
+ strace-E.test \
+ strace-S.test \
+ strace-T.test \
+ strace-V.test \
+ strace-ff.test \
+ strace-r.test \
+ strace-t.test \
+ strace-tt.test \
+ strace-ttt.test \
+ termsig.test \
+ threads-execve.test \
+ # end of MISC_TESTS
+
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS)
+
+XFAIL_TESTS_ =
+XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
+
+TEST_LOG_COMPILER = env
+AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+
+@VALGRIND_CHECK_RULES@
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
+
+EXTRA_DIST = \
+ caps-abbrev.awk \
+ caps.awk \
+ clock.in \
+ count-f.expected \
+ eventfd.expected \
+ fadvise.h \
+ filter-unavailable.expected \
+ fstatat.c \
+ fstatx.c \
+ gen_pure_executables.sh \
+ gen_tests.in \
+ gen_tests.sh \
+ getresugid.c \
+ init.sh \
+ init_delete_module.h \
+ ioctl-v.sh \
+ ipc.sh \
+ ipc_msgbuf.expected \
+ ksysent.sed \
+ lstatx.c \
+ match.awk \
+ net.expected \
+ oldselect.expected \
+ pipe.expected \
+ process_vm_readv_writev.c \
+ pure_executables.list \
+ qual_fault-exit_group.expected \
+ qual_inject-error-signal.expected \
+ qual_inject-signal.expected \
+ quotactl.h \
+ regex.in \
+ rt_sigaction.awk \
+ run.sh \
+ sched.in \
+ scno_tampering.sh \
+ setfsugid.c \
+ setresugid.c \
+ setreugid.c \
+ setugid.c \
+ sigaltstack.expected \
+ sockname.c \
+ strace-C.expected \
+ strace-E.expected \
+ strace-T.expected \
+ strace-ff.expected \
+ strace-k.test \
+ strace-r.expected \
+ strace.supp \
+ struct_flock.c \
+ sun_path.expected \
+ trace_fstat.in \
+ trace_fstatfs.in \
+ trace_lstat.in \
+ trace_question.in \
+ trace_stat.in \
+ trace_stat_like.in \
+ trace_statfs.in \
+ trace_statfs_like.in \
+ uio.expected \
+ umode_t.c \
+ umovestr.expected \
+ unix-pair-send-recv.expected \
+ unix-pair-sendto-recvfrom.expected \
+ xchownx.c \
+ xgetrlimit.c \
+ xselect.c \
+ xstatfs.c \
+ xstatfs64.c \
+ xstatfsx.c \
+ xstatx.c \
+ xutimes.c \
+ $(TESTS)
+
+ksysent.h: $(srcdir)/ksysent.sed
+ echo '#include <asm/unistd.h>' | \
+ $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
+ LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
+ mv -f $@.t2 $@
+ rm -f $@.t1
+
+ksysent.$(OBJEXT): ksysent.h
+
+objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
+$(objects): scno.h
+
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+ -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
+CLEANFILES = ksysent.h
+
+include ../scno.am
diff --git a/tests-mx32/Makefile.in b/tests-mx32/Makefile.in
index 40fbfd80..bf06345d 100644
--- a/tests-mx32/Makefile.in
+++ b/tests-mx32/Makefile.in
@@ -138,14 +138,14 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
$(top_srcdir)/test-driver
check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
- attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
- execve-v$(EXEEXT) execveat-v$(EXEEXT) \
- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
- getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
- ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
- ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
- ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+ attach-p-cmd-p$(EXEEXT) block_reset_raise_run$(EXEEXT) \
+ caps-abbrev$(EXEEXT) count-f$(EXEEXT) execve-v$(EXEEXT) \
+ execveat-v$(EXEEXT) filter-unavailable$(EXEEXT) \
+ fork-f$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
+ gettid$(EXEEXT) int_0x80$(EXEEXT) ioctl_dm-v$(EXEEXT) \
+ ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \
+ ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) \
+ ksysent$(EXEEXT) mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
@@ -157,12 +157,13 @@ check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
- scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
- seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
- signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
- threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+ run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
+ seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+ set_ptracer_any$(EXEEXT) signal_receive$(EXEEXT) \
+ sleep$(EXEEXT) stack-fcall$(EXEEXT) threads-execve$(EXEEXT) \
+ unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
- wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+ wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT)
TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
subdir = tests-mx32
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -187,8 +188,8 @@ am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
libtests_a_AR = $(AR) $(ARFLAGS)
libtests_a_LIBADD =
-am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
- libtests_a-error_msg.$(OBJEXT) \
+am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \
+ libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \
libtests_a-fill_memory.$(OBJEXT) \
libtests_a-get_page_size.$(OBJEXT) \
libtests_a-get_sigset_size.$(OBJEXT) \
@@ -264,18 +265,23 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
net-icmp_filter$(EXEEXT) net-sockaddr$(EXEEXT) \
net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
- netlink_protocol$(EXEEXT) newfstatat$(EXEEXT) \
- old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
- oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
- openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
- perf_event_open$(EXEEXT) personality$(EXEEXT) pipe$(EXEEXT) \
- pipe2$(EXEEXT) pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) \
- pkey_mprotect$(EXEEXT) poll$(EXEEXT) ppoll$(EXEEXT) \
- prctl-arg2-intptr$(EXEEXT) prctl-dumpable$(EXEEXT) \
- prctl-name$(EXEEXT) prctl-no-args$(EXEEXT) \
- prctl-pdeathsig$(EXEEXT) prctl-securebits$(EXEEXT) \
- prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
- pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+ netlink_audit$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_netfilter$(EXEEXT) netlink_protocol$(EXEEXT) \
+ netlink_route$(EXEEXT) netlink_selinux$(EXEEXT) \
+ netlink_sock_diag$(EXEEXT) netlink_xfrm$(EXEEXT) \
+ newfstatat$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) nlattr_netlink_diag_msg$(EXEEXT) \
+ nlattr_unix_diag_msg$(EXEEXT) old_mmap$(EXEEXT) \
+ oldfstat$(EXEEXT) oldlstat$(EXEEXT) oldselect$(EXEEXT) \
+ oldstat$(EXEEXT) open$(EXEEXT) openat$(EXEEXT) \
+ osf_utimes$(EXEEXT) pause$(EXEEXT) perf_event_open$(EXEEXT) \
+ personality$(EXEEXT) pipe$(EXEEXT) pipe2$(EXEEXT) \
+ pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) pkey_mprotect$(EXEEXT) \
+ poll$(EXEEXT) ppoll$(EXEEXT) prctl-arg2-intptr$(EXEEXT) \
+ prctl-dumpable$(EXEEXT) prctl-name$(EXEEXT) \
+ prctl-no-args$(EXEEXT) prctl-pdeathsig$(EXEEXT) \
+ prctl-securebits$(EXEEXT) prctl-tid_address$(EXEEXT) \
+ prctl-tsc$(EXEEXT) pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
@@ -285,42 +291,43 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
- rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
- rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(EXEEXT) \
- rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
- rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
- sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
- sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
- sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
- seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
- sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
- setdomainname$(EXEEXT) setfsgid$(EXEEXT) setfsgid32$(EXEEXT) \
- setfsuid$(EXEEXT) setfsuid32$(EXEEXT) setgid$(EXEEXT) \
- setgid32$(EXEEXT) setgroups$(EXEEXT) setgroups32$(EXEEXT) \
- sethostname$(EXEEXT) setns$(EXEEXT) setregid$(EXEEXT) \
- setregid32$(EXEEXT) setresgid$(EXEEXT) setresgid32$(EXEEXT) \
- setresuid$(EXEEXT) setresuid32$(EXEEXT) setreuid$(EXEEXT) \
- setreuid32$(EXEEXT) setrlimit$(EXEEXT) setuid$(EXEEXT) \
- setuid32$(EXEEXT) shmxt$(EXEEXT) shutdown$(EXEEXT) \
- sigaction$(EXEEXT) sigaltstack$(EXEEXT) siginfo$(EXEEXT) \
- signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
- socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
- stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
- statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
- utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
- vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
- waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+ rmdir$(EXEEXT) rt_sigaction$(EXEEXT) rt_sigpending$(EXEEXT) \
+ rt_sigprocmask$(EXEEXT) rt_sigqueueinfo$(EXEEXT) \
+ rt_sigreturn$(EXEEXT) rt_sigsuspend$(EXEEXT) \
+ rt_sigtimedwait$(EXEEXT) rt_tgsigqueueinfo$(EXEEXT) \
+ sched_get_priority_mxx$(EXEEXT) sched_rr_get_interval$(EXEEXT) \
+ sched_xetaffinity$(EXEEXT) sched_xetattr$(EXEEXT) \
+ sched_xetparam$(EXEEXT) sched_xetscheduler$(EXEEXT) \
+ sched_yield$(EXEEXT) seccomp-filter$(EXEEXT) select$(EXEEXT) \
+ semop$(EXEEXT) sendfile$(EXEEXT) sendfile64$(EXEEXT) \
+ set_mempolicy$(EXEEXT) setdomainname$(EXEEXT) \
+ setfsgid$(EXEEXT) setfsgid32$(EXEEXT) setfsuid$(EXEEXT) \
+ setfsuid32$(EXEEXT) setgid$(EXEEXT) setgid32$(EXEEXT) \
+ setgroups$(EXEEXT) setgroups32$(EXEEXT) sethostname$(EXEEXT) \
+ setns$(EXEEXT) setregid$(EXEEXT) setregid32$(EXEEXT) \
+ setresgid$(EXEEXT) setresgid32$(EXEEXT) setresuid$(EXEEXT) \
+ setresuid32$(EXEEXT) setreuid$(EXEEXT) setreuid32$(EXEEXT) \
+ setrlimit$(EXEEXT) setuid$(EXEEXT) setuid32$(EXEEXT) \
+ shmxt$(EXEEXT) shutdown$(EXEEXT) sigaction$(EXEEXT) \
+ sigaltstack$(EXEEXT) siginfo$(EXEEXT) signal$(EXEEXT) \
+ signalfd4$(EXEEXT) sigpending$(EXEEXT) sigprocmask$(EXEEXT) \
+ sigreturn$(EXEEXT) sigsuspend$(EXEEXT) socketcall$(EXEEXT) \
+ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \
+ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \
+ sxetmask$(EXEEXT) symlink$(EXEEXT) symlinkat$(EXEEXT) \
+ sync$(EXEEXT) sync_file_range$(EXEEXT) \
+ sync_file_range2$(EXEEXT) sysinfo$(EXEEXT) syslog$(EXEEXT) \
+ tee$(EXEEXT) time$(EXEEXT) timer_create$(EXEEXT) \
+ timer_xettime$(EXEEXT) timerfd_xettime$(EXEEXT) times$(EXEEXT) \
+ times-fail$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
+ ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
+ umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \
+ umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \
+ umovestr3$(EXEEXT) uname$(EXEEXT) unlink$(EXEEXT) \
+ unlinkat$(EXEEXT) unshare$(EXEEXT) userfaultfd$(EXEEXT) \
+ ustat$(EXEEXT) utime$(EXEEXT) utimensat$(EXEEXT) \
+ utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \
+ wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
xettimeofday$(EXEEXT)
@@ -379,6 +386,10 @@ attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
attach_p_cmd_p_LDADD = $(LDADD)
attach_p_cmd_p_DEPENDENCIES = libtests.a
+block_reset_raise_run_SOURCES = block_reset_raise_run.c
+block_reset_raise_run_OBJECTS = block_reset_raise_run.$(OBJEXT)
+block_reset_raise_run_LDADD = $(LDADD)
+block_reset_raise_run_DEPENDENCIES = libtests.a
bpf_SOURCES = bpf.c
bpf_OBJECTS = bpf.$(OBJEXT)
bpf_LDADD = $(LDADD)
@@ -1076,10 +1087,22 @@ net_yy_unix_SOURCES = net-yy-unix.c
net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
net_yy_unix_LDADD = $(LDADD)
net_yy_unix_DEPENDENCIES = libtests.a
+netlink_audit_SOURCES = netlink_audit.c
+netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
+netlink_audit_LDADD = $(LDADD)
+netlink_audit_DEPENDENCIES = libtests.a
+netlink_generic_SOURCES = netlink_generic.c
+netlink_generic_OBJECTS = netlink_generic.$(OBJEXT)
+netlink_generic_LDADD = $(LDADD)
+netlink_generic_DEPENDENCIES = libtests.a
netlink_inet_diag_SOURCES = netlink_inet_diag.c
netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
netlink_inet_diag_LDADD = $(LDADD)
netlink_inet_diag_DEPENDENCIES = libtests.a
+netlink_netfilter_SOURCES = netlink_netfilter.c
+netlink_netfilter_OBJECTS = netlink_netfilter.$(OBJEXT)
+netlink_netfilter_LDADD = $(LDADD)
+netlink_netfilter_DEPENDENCIES = libtests.a
netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
netlink_netlink_diag_LDADD = $(LDADD)
@@ -1088,14 +1111,46 @@ netlink_protocol_SOURCES = netlink_protocol.c
netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
netlink_protocol_LDADD = $(LDADD)
netlink_protocol_DEPENDENCIES = libtests.a
+netlink_route_SOURCES = netlink_route.c
+netlink_route_OBJECTS = netlink_route.$(OBJEXT)
+netlink_route_LDADD = $(LDADD)
+netlink_route_DEPENDENCIES = libtests.a
+netlink_selinux_SOURCES = netlink_selinux.c
+netlink_selinux_OBJECTS = netlink_selinux.$(OBJEXT)
+netlink_selinux_LDADD = $(LDADD)
+netlink_selinux_DEPENDENCIES = libtests.a
+netlink_sock_diag_SOURCES = netlink_sock_diag.c
+netlink_sock_diag_OBJECTS = netlink_sock_diag.$(OBJEXT)
+netlink_sock_diag_LDADD = $(LDADD)
+netlink_sock_diag_DEPENDENCIES = libtests.a
netlink_unix_diag_SOURCES = netlink_unix_diag.c
netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
netlink_unix_diag_LDADD = $(LDADD)
netlink_unix_diag_DEPENDENCIES = libtests.a
+netlink_xfrm_SOURCES = netlink_xfrm.c
+netlink_xfrm_OBJECTS = netlink_xfrm.$(OBJEXT)
+netlink_xfrm_LDADD = $(LDADD)
+netlink_xfrm_DEPENDENCIES = libtests.a
newfstatat_SOURCES = newfstatat.c
newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
newfstatat_LDADD = $(LDADD)
newfstatat_DEPENDENCIES = libtests.a
+nlattr_SOURCES = nlattr.c
+nlattr_OBJECTS = nlattr.$(OBJEXT)
+nlattr_LDADD = $(LDADD)
+nlattr_DEPENDENCIES = libtests.a
+nlattr_inet_diag_msg_SOURCES = nlattr_inet_diag_msg.c
+nlattr_inet_diag_msg_OBJECTS = nlattr_inet_diag_msg.$(OBJEXT)
+nlattr_inet_diag_msg_LDADD = $(LDADD)
+nlattr_inet_diag_msg_DEPENDENCIES = libtests.a
+nlattr_netlink_diag_msg_SOURCES = nlattr_netlink_diag_msg.c
+nlattr_netlink_diag_msg_OBJECTS = nlattr_netlink_diag_msg.$(OBJEXT)
+nlattr_netlink_diag_msg_LDADD = $(LDADD)
+nlattr_netlink_diag_msg_DEPENDENCIES = libtests.a
+nlattr_unix_diag_msg_SOURCES = nlattr_unix_diag_msg.c
+nlattr_unix_diag_msg_OBJECTS = nlattr_unix_diag_msg.$(OBJEXT)
+nlattr_unix_diag_msg_LDADD = $(LDADD)
+nlattr_unix_diag_msg_DEPENDENCIES = libtests.a
nsyscalls_SOURCES = nsyscalls.c
nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
nsyscalls_LDADD = $(LDADD)
@@ -1386,6 +1441,10 @@ rmdir_SOURCES = rmdir.c
rmdir_OBJECTS = rmdir.$(OBJEXT)
rmdir_LDADD = $(LDADD)
rmdir_DEPENDENCIES = libtests.a
+rt_sigaction_SOURCES = rt_sigaction.c
+rt_sigaction_OBJECTS = rt_sigaction.$(OBJEXT)
+rt_sigaction_LDADD = $(LDADD)
+rt_sigaction_DEPENDENCIES = libtests.a
rt_sigpending_SOURCES = rt_sigpending.c
rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
rt_sigpending_LDADD = $(LDADD)
@@ -1414,6 +1473,10 @@ rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
rt_tgsigqueueinfo_LDADD = $(LDADD)
rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
+run_expect_termsig_SOURCES = run_expect_termsig.c
+run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT)
+run_expect_termsig_LDADD = $(LDADD)
+run_expect_termsig_DEPENDENCIES = libtests.a
sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
sched_get_priority_mxx_LDADD = $(LDADD)
@@ -1590,6 +1653,10 @@ siginfo_SOURCES = siginfo.c
siginfo_OBJECTS = siginfo.$(OBJEXT)
siginfo_LDADD = $(LDADD)
siginfo_DEPENDENCIES = libtests.a
+signal_SOURCES = signal.c
+signal_OBJECTS = signal.$(OBJEXT)
+signal_LDADD = $(LDADD)
+signal_DEPENDENCIES = libtests.a
signal_receive_SOURCES = signal_receive.c
signal_receive_OBJECTS = signal_receive.$(OBJEXT)
signal_receive_LDADD = $(LDADD)
@@ -1598,6 +1665,14 @@ signalfd4_SOURCES = signalfd4.c
signalfd4_OBJECTS = signalfd4.$(OBJEXT)
signalfd4_LDADD = $(LDADD)
signalfd4_DEPENDENCIES = libtests.a
+sigpending_SOURCES = sigpending.c
+sigpending_OBJECTS = sigpending.$(OBJEXT)
+sigpending_LDADD = $(LDADD)
+sigpending_DEPENDENCIES = libtests.a
+sigprocmask_SOURCES = sigprocmask.c
+sigprocmask_OBJECTS = sigprocmask.$(OBJEXT)
+sigprocmask_LDADD = $(LDADD)
+sigprocmask_DEPENDENCIES = libtests.a
sigreturn_SOURCES = sigreturn.c
sigreturn_OBJECTS = sigreturn.$(OBJEXT)
sigreturn_LDADD = $(LDADD)
@@ -1762,6 +1837,10 @@ uname_SOURCES = uname.c
uname_OBJECTS = uname.$(OBJEXT)
uname_LDADD = $(LDADD)
uname_DEPENDENCIES = libtests.a
+unblock_reset_raise_SOURCES = unblock_reset_raise.c
+unblock_reset_raise_OBJECTS = unblock_reset_raise.$(OBJEXT)
+unblock_reset_raise_LDADD = $(LDADD)
+unblock_reset_raise_DEPENDENCIES = libtests.a
unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
unix_pair_send_recv_LDADD = $(LDADD)
@@ -1863,6 +1942,10 @@ xettimeofday_SOURCES = xettimeofday.c
xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
xettimeofday_LDADD = $(LDADD)
xettimeofday_DEPENDENCIES = libtests.a
+zeroargc_SOURCES = zeroargc.c
+zeroargc_OBJECTS = zeroargc.$(OBJEXT)
+zeroargc_LDADD = $(LDADD)
+zeroargc_DEPENDENCIES = libtests.a
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -1898,47 +1981,51 @@ am__v_CCLD_1 =
SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
+ attach-p-cmd-p.c block_reset_raise_run.c bpf.c brk.c btrfs.c \
+ caps.c caps-abbrev.c chmod.c chown.c chown32.c chroot.c \
+ clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ copy_file_range.c count-f.c creat.c delete_module.c dup.c \
+ dup2.c dup3.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
+ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
+ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
+ fchdir.c fchmod.c fchmodat.c fchown.c fchown32.c fchownat.c \
+ fcntl.c fcntl64.c fdatasync.c file_handle.c file_ioctl.c \
+ filter-unavailable.c finit_module.c flock.c fork-f.c fstat.c \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
+ getcpu.c getcwd.c getdents.c getdents64.c getegid.c \
+ getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
+ getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
+ getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
+ getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
+ gettid.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+ init_module.c inotify.c inotify_init1.c int_0x80.c ioctl.c \
+ ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \
+ ioctl_evdev-v.c ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c \
+ ioctl_mtd.c ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c \
+ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \
+ ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \
+ iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msgbuf.c \
+ ipc_sem.c ipc_shm.c kcmp.c kexec_file_load.c kexec_load.c \
+ keyctl.c kill.c ksysent.c lchown.c lchown32.c link.c linkat.c \
+ llseek.c lookup_dcookie.c lseek.c lstat.c lstat64.c madvise.c \
+ mbind.c membarrier.c memfd_create.c migrate_pages.c mincore.c \
+ mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \
+ mlockall.c mmap.c mmap64.c mmsg.c mmsg-silent.c mmsg_name.c \
+ mmsg_name-v.c mount.c move_pages.c mq.c mq_sendrecv.c \
+ mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
+ msg_control-v.c msg_name.c munlockall.c nanosleep.c \
+ net-accept-connect.c net-icmp_filter.c net-sockaddr.c \
+ net-y-unix.c net-yy-inet.c net-yy-netlink.c net-yy-unix.c \
+ netlink_audit.c netlink_generic.c netlink_inet_diag.c \
+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \
+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c nlattr.c \
+ nlattr_inet_diag_msg.c nlattr_netlink_diag_msg.c \
+ nlattr_unix_diag_msg.c nsyscalls.c old_mmap.c oldfstat.c \
+ oldlstat.c oldselect.c oldstat.c open.c openat.c osf_utimes.c \
+ pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \
perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
@@ -1954,21 +2041,22 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
redirect-fds.c remap_file_pages.c rename.c renameat.c \
renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
+ rt_sigaction.c rt_sigpending.c rt_sigprocmask.c \
+ rt_sigqueueinfo.c rt_sigreturn.c rt_sigsuspend.c \
+ rt_sigtimedwait.c rt_tgsigqueueinfo.c run_expect_termsig.c \
+ sched_get_priority_mxx.c sched_rr_get_interval.c \
+ sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+ sched_xetscheduler.c sched_yield.c scm_rights.c \
+ seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+ semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+ setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+ setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+ setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+ setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+ shutdown.c sigaction.c sigaltstack.c siginfo.c signal.c \
+ signal_receive.c signalfd4.c sigpending.c sigprocmask.c \
+ sigreturn.c sigsuspend.c sleep.c socketcall.c splice.c \
$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
@@ -1976,56 +2064,60 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
+ unblock_reset_raise.c unix-pair-send-recv.c \
+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
+ userfaultfd.c ustat.c utime.c utimensat.c utimes.c vfork-f.c \
+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
+ xetitimer.c xetpgid.c xetpriority.c xettimeofday.c zeroargc.c
DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
+ attach-p-cmd-p.c block_reset_raise_run.c bpf.c brk.c btrfs.c \
+ caps.c caps-abbrev.c chmod.c chown.c chown32.c chroot.c \
+ clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ copy_file_range.c count-f.c creat.c delete_module.c dup.c \
+ dup2.c dup3.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
+ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
+ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
+ fchdir.c fchmod.c fchmodat.c fchown.c fchown32.c fchownat.c \
+ fcntl.c fcntl64.c fdatasync.c file_handle.c file_ioctl.c \
+ filter-unavailable.c finit_module.c flock.c fork-f.c fstat.c \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
+ getcpu.c getcwd.c getdents.c getdents64.c getegid.c \
+ getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
+ getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
+ getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
+ getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
+ gettid.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+ init_module.c inotify.c inotify_init1.c int_0x80.c ioctl.c \
+ ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \
+ ioctl_evdev-v.c ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c \
+ ioctl_mtd.c ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c \
+ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \
+ ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \
+ iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msgbuf.c \
+ ipc_sem.c ipc_shm.c kcmp.c kexec_file_load.c kexec_load.c \
+ keyctl.c kill.c ksysent.c lchown.c lchown32.c link.c linkat.c \
+ llseek.c lookup_dcookie.c lseek.c lstat.c lstat64.c madvise.c \
+ mbind.c membarrier.c memfd_create.c migrate_pages.c mincore.c \
+ mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \
+ mlockall.c mmap.c mmap64.c mmsg.c mmsg-silent.c mmsg_name.c \
+ mmsg_name-v.c mount.c move_pages.c mq.c mq_sendrecv.c \
+ mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
+ msg_control-v.c msg_name.c munlockall.c nanosleep.c \
+ net-accept-connect.c net-icmp_filter.c net-sockaddr.c \
+ net-y-unix.c net-yy-inet.c net-yy-netlink.c net-yy-unix.c \
+ netlink_audit.c netlink_generic.c netlink_inet_diag.c \
+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \
+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c nlattr.c \
+ nlattr_inet_diag_msg.c nlattr_netlink_diag_msg.c \
+ nlattr_unix_diag_msg.c nsyscalls.c old_mmap.c oldfstat.c \
+ oldlstat.c oldselect.c oldstat.c open.c openat.c osf_utimes.c \
+ pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \
perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
@@ -2041,21 +2133,22 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
redirect-fds.c remap_file_pages.c rename.c renameat.c \
renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
+ rt_sigaction.c rt_sigpending.c rt_sigprocmask.c \
+ rt_sigqueueinfo.c rt_sigreturn.c rt_sigsuspend.c \
+ rt_sigtimedwait.c rt_tgsigqueueinfo.c run_expect_termsig.c \
+ sched_get_priority_mxx.c sched_rr_get_interval.c \
+ sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+ sched_xetscheduler.c sched_yield.c scm_rights.c \
+ seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+ semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+ setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+ setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+ setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+ setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+ shutdown.c sigaction.c sigaltstack.c siginfo.c signal.c \
+ signal_receive.c signalfd4.c sigpending.c sigprocmask.c \
+ sigreturn.c sigsuspend.c sleep.c socketcall.c splice.c \
$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
@@ -2063,12 +2156,12 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
+ unblock_reset_raise.c unix-pair-send-recv.c \
+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
+ userfaultfd.c ustat.c utime.c utimensat.c utimes.c vfork-f.c \
+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
+ xetitimer.c xetpgid.c xetpriority.c xettimeofday.c zeroargc.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -2450,6 +2543,7 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
+ create_nl_socket.c \
errno2name.c \
error_msg.c \
fill_memory.c \
@@ -2470,6 +2564,7 @@ libtests_a_SOURCES = \
skip_unavailable.c \
sprintrc.c \
tail_alloc.c \
+ test_nlattr.h \
tests.h \
tprintf.c \
# end of libtests_a_SOURCES
@@ -2646,8 +2741,19 @@ PURE_EXECUTABLES = \
net-yy-inet \
net-yy-netlink \
net-yy-unix \
+ netlink_audit \
+ netlink_generic \
+ netlink_netfilter \
netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
newfstatat \
+ nlattr \
+ nlattr_inet_diag_msg \
+ nlattr_netlink_diag_msg \
+ nlattr_unix_diag_msg \
old_mmap \
oldfstat \
oldlstat \
@@ -2703,6 +2809,7 @@ PURE_EXECUTABLES = \
renameat2 \
request_key \
rmdir \
+ rt_sigaction \
rt_sigpending \
rt_sigprocmask \
rt_sigqueueinfo \
@@ -2750,7 +2857,10 @@ PURE_EXECUTABLES = \
sigaction \
sigaltstack \
siginfo \
+ signal \
signalfd4 \
+ sigpending \
+ sigprocmask \
sigreturn \
sigsuspend \
socketcall \
@@ -2895,11 +3005,17 @@ GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
mq_sendrecv-write.gen.test msg_control.gen.test \
msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
nanosleep.gen.test net-icmp_filter.gen.test \
- net-sockaddr.gen.test netlink_protocol.gen.test \
- newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
- oldlstat.gen.test oldstat.gen.test open.gen.test \
- openat.gen.test osf_utimes.gen.test pause.gen.test \
- perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+ net-sockaddr.gen.test netlink_audit.gen.test \
+ netlink_generic.gen.test netlink_netfilter.gen.test \
+ netlink_protocol.gen.test netlink_route.gen.test \
+ netlink_selinux.gen.test netlink_xfrm.gen.test \
+ newfstatat.gen.test nlattr.gen.test \
+ nlattr_inet_diag_msg.gen.test nlattr_netlink_diag_msg.gen.test \
+ nlattr_unix_diag_msg.gen.test old_mmap.gen.test \
+ oldfstat.gen.test oldlstat.gen.test oldstat.gen.test \
+ open.gen.test openat.gen.test osf_utimes.gen.test \
+ pause.gen.test perf_event_open.gen.test \
+ perf_event_open_nonverbose.gen.test \
perf_event_open_unabbrev.gen.test pipe2.gen.test \
pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
@@ -2932,22 +3048,23 @@ GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
setuid32.gen.test shmxt.gen.test shutdown.gen.test \
- siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
- sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
- statfs64.gen.test statx.gen.test swap.gen.test \
- sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
- sync.gen.test sync_file_range.gen.test \
- sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
- tee.gen.test time.gen.test timer_create.gen.test \
- timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
- times-fail.gen.test trace_fstat.gen.test \
- trace_fstatfs.gen.test trace_lstat.gen.test \
- trace_question.gen.test trace_stat.gen.test \
- trace_stat_like.gen.test trace_statfs.gen.test \
- trace_statfs_like.gen.test truncate.gen.test \
- truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
- umoven-illptr.gen.test umovestr-illptr.gen.test \
+ sigaction.gen.test siginfo.gen.test signal.gen.test \
+ signal_receive.gen.test signalfd4.gen.test sigpending.gen.test \
+ sigprocmask.gen.test sigreturn.gen.test sigsuspend.gen.test \
+ socketcall.gen.test splice.gen.test stat.gen.test \
+ stat64.gen.test statfs.gen.test statfs64.gen.test \
+ statx.gen.test swap.gen.test sxetmask.gen.test \
+ symlink.gen.test symlinkat.gen.test sync.gen.test \
+ sync_file_range.gen.test sync_file_range2.gen.test \
+ sysinfo.gen.test syslog.gen.test tee.gen.test time.gen.test \
+ timer_create.gen.test timer_xettime.gen.test \
+ timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
+ trace_fstat.gen.test trace_fstatfs.gen.test \
+ trace_lstat.gen.test trace_question.gen.test \
+ trace_stat.gen.test trace_stat_like.gen.test \
+ trace_statfs.gen.test trace_statfs_like.gen.test \
+ truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \
+ umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \
umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
unshare.gen.test userfaultfd.gen.test ustat.gen.test \
utime.gen.test utimensat.gen.test utimes.gen.test \
@@ -2987,6 +3104,7 @@ DECODER_TESTS = \
net-yy-netlink.test \
net-yy-unix.test \
net.test \
+ netlink_sock_diag.test \
nsyscalls.test \
oldselect.test \
personality.test \
@@ -3004,9 +3122,9 @@ DECODER_TESTS = \
prctl-tsc.test \
qual_fault-exit_group.test \
readv.test \
+ rt_sigaction.test \
scm_rights-fd.test \
seccomp-strict.test \
- sigaction.test \
sigaltstack.test \
sun_path.test \
uio.test \
@@ -3030,6 +3148,7 @@ MISC_TESTS = \
detach-stopped.test \
filter-unavailable.test \
get_regs.test \
+ interactive_block.test \
ksysent.test \
opipe.test \
options-syntax.test \
@@ -3055,6 +3174,7 @@ MISC_TESTS = \
strace-t.test \
strace-tt.test \
strace-ttt.test \
+ termsig.test \
threads-execve.test \
# end of MISC_TESTS
@@ -3100,6 +3220,7 @@ EXTRA_DIST = \
qual_inject-signal.expected \
quotactl.h \
regex.in \
+ rt_sigaction.awk \
run.sh \
sched.in \
scno_tampering.sh \
@@ -3107,7 +3228,6 @@ EXTRA_DIST = \
setresugid.c \
setreugid.c \
setugid.c \
- sigaction.awk \
sigaltstack.expected \
sockname.c \
strace-C.expected \
@@ -3253,6 +3373,10 @@ attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES
@rm -f attach-p-cmd-p$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
+block_reset_raise_run$(EXEEXT): $(block_reset_raise_run_OBJECTS) $(block_reset_raise_run_DEPENDENCIES) $(EXTRA_block_reset_raise_run_DEPENDENCIES)
+ @rm -f block_reset_raise_run$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(block_reset_raise_run_OBJECTS) $(block_reset_raise_run_LDADD) $(LIBS)
+
bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES)
@rm -f bpf$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
@@ -3957,10 +4081,22 @@ net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA
@rm -f net-yy-unix$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
+netlink_audit$(EXEEXT): $(netlink_audit_OBJECTS) $(netlink_audit_DEPENDENCIES) $(EXTRA_netlink_audit_DEPENDENCIES)
+ @rm -f netlink_audit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS)
+
+netlink_generic$(EXEEXT): $(netlink_generic_OBJECTS) $(netlink_generic_DEPENDENCIES) $(EXTRA_netlink_generic_DEPENDENCIES)
+ @rm -f netlink_generic$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_generic_OBJECTS) $(netlink_generic_LDADD) $(LIBS)
+
netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES)
@rm -f netlink_inet_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
+netlink_netfilter$(EXEEXT): $(netlink_netfilter_OBJECTS) $(netlink_netfilter_DEPENDENCIES) $(EXTRA_netlink_netfilter_DEPENDENCIES)
+ @rm -f netlink_netfilter$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_netfilter_OBJECTS) $(netlink_netfilter_LDADD) $(LIBS)
+
netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES)
@rm -f netlink_netlink_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
@@ -3969,14 +4105,46 @@ netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPEND
@rm -f netlink_protocol$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
+netlink_route$(EXEEXT): $(netlink_route_OBJECTS) $(netlink_route_DEPENDENCIES) $(EXTRA_netlink_route_DEPENDENCIES)
+ @rm -f netlink_route$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_route_OBJECTS) $(netlink_route_LDADD) $(LIBS)
+
+netlink_selinux$(EXEEXT): $(netlink_selinux_OBJECTS) $(netlink_selinux_DEPENDENCIES) $(EXTRA_netlink_selinux_DEPENDENCIES)
+ @rm -f netlink_selinux$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_selinux_OBJECTS) $(netlink_selinux_LDADD) $(LIBS)
+
+netlink_sock_diag$(EXEEXT): $(netlink_sock_diag_OBJECTS) $(netlink_sock_diag_DEPENDENCIES) $(EXTRA_netlink_sock_diag_DEPENDENCIES)
+ @rm -f netlink_sock_diag$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_sock_diag_OBJECTS) $(netlink_sock_diag_LDADD) $(LIBS)
+
netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES)
@rm -f netlink_unix_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
+netlink_xfrm$(EXEEXT): $(netlink_xfrm_OBJECTS) $(netlink_xfrm_DEPENDENCIES) $(EXTRA_netlink_xfrm_DEPENDENCIES)
+ @rm -f netlink_xfrm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_xfrm_OBJECTS) $(netlink_xfrm_LDADD) $(LIBS)
+
newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES)
@rm -f newfstatat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
+nlattr$(EXEEXT): $(nlattr_OBJECTS) $(nlattr_DEPENDENCIES) $(EXTRA_nlattr_DEPENDENCIES)
+ @rm -f nlattr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_OBJECTS) $(nlattr_LDADD) $(LIBS)
+
+nlattr_inet_diag_msg$(EXEEXT): $(nlattr_inet_diag_msg_OBJECTS) $(nlattr_inet_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_msg_OBJECTS) $(nlattr_inet_diag_msg_LDADD) $(LIBS)
+
+nlattr_netlink_diag_msg$(EXEEXT): $(nlattr_netlink_diag_msg_OBJECTS) $(nlattr_netlink_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_netlink_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_netlink_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_netlink_diag_msg_OBJECTS) $(nlattr_netlink_diag_msg_LDADD) $(LIBS)
+
+nlattr_unix_diag_msg$(EXEEXT): $(nlattr_unix_diag_msg_OBJECTS) $(nlattr_unix_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_unix_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_unix_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_unix_diag_msg_OBJECTS) $(nlattr_unix_diag_msg_LDADD) $(LIBS)
+
nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES)
@rm -f nsyscalls$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
@@ -4265,6 +4433,10 @@ rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIE
@rm -f rmdir$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
+rt_sigaction$(EXEEXT): $(rt_sigaction_OBJECTS) $(rt_sigaction_DEPENDENCIES) $(EXTRA_rt_sigaction_DEPENDENCIES)
+ @rm -f rt_sigaction$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(rt_sigaction_OBJECTS) $(rt_sigaction_LDADD) $(LIBS)
+
rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES)
@rm -f rt_sigpending$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
@@ -4293,6 +4465,10 @@ rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEP
@rm -f rt_tgsigqueueinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
+run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES)
+ @rm -f run_expect_termsig$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS)
+
sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES)
@rm -f sched_get_priority_mxx$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
@@ -4469,6 +4645,10 @@ siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEP
@rm -f siginfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
+signal$(EXEEXT): $(signal_OBJECTS) $(signal_DEPENDENCIES) $(EXTRA_signal_DEPENDENCIES)
+ @rm -f signal$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(signal_OBJECTS) $(signal_LDADD) $(LIBS)
+
signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES)
@rm -f signal_receive$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
@@ -4477,6 +4657,14 @@ signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signa
@rm -f signalfd4$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
+sigpending$(EXEEXT): $(sigpending_OBJECTS) $(sigpending_DEPENDENCIES) $(EXTRA_sigpending_DEPENDENCIES)
+ @rm -f sigpending$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sigpending_OBJECTS) $(sigpending_LDADD) $(LIBS)
+
+sigprocmask$(EXEEXT): $(sigprocmask_OBJECTS) $(sigprocmask_DEPENDENCIES) $(EXTRA_sigprocmask_DEPENDENCIES)
+ @rm -f sigprocmask$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sigprocmask_OBJECTS) $(sigprocmask_LDADD) $(LIBS)
+
sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES)
@rm -f sigreturn$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
@@ -4641,6 +4829,10 @@ uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIE
@rm -f uname$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
+unblock_reset_raise$(EXEEXT): $(unblock_reset_raise_OBJECTS) $(unblock_reset_raise_DEPENDENCIES) $(EXTRA_unblock_reset_raise_DEPENDENCIES)
+ @rm -f unblock_reset_raise$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(unblock_reset_raise_OBJECTS) $(unblock_reset_raise_LDADD) $(LIBS)
+
unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES)
@rm -f unix-pair-send-recv$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
@@ -4741,6 +4933,10 @@ xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EX
@rm -f xettimeofday$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
+zeroargc$(EXEEXT): $(zeroargc_OBJECTS) $(zeroargc_DEPENDENCIES) $(EXTRA_zeroargc_DEPENDENCIES)
+ @rm -f zeroargc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(zeroargc_OBJECTS) $(zeroargc_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -4761,6 +4957,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-cmd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-p.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block_reset_raise_run.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brk.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Po@am__quote@
@@ -4893,6 +5090,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@
@@ -4958,11 +5156,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_inet_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_netfilter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_netlink_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_protocol.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_route.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_selinux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_sock_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_unix_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_xfrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfstatat-newfstatat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_inet_diag_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_netlink_diag_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_unix_diag_msg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldfstat.Po@am__quote@
@@ -5035,6 +5244,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/request_key.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/restart_syscall.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@
@@ -5042,6 +5252,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@
@@ -5086,8 +5297,11 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigreturn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigsuspend.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
@@ -5133,6 +5347,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr3.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unblock_reset_raise.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-send-recv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-sendto-recvfrom.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@
@@ -5158,6 +5373,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -5173,6 +5389,20 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+libtests_a-create_nl_socket.o: create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-create_nl_socket.o -MD -MP -MF $(DEPDIR)/libtests_a-create_nl_socket.Tpo -c -o libtests_a-create_nl_socket.o `test -f 'create_nl_socket.c' || echo '$(srcdir)/'`create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_nl_socket.o `test -f 'create_nl_socket.c' || echo '$(srcdir)/'`create_nl_socket.c
+
+libtests_a-create_nl_socket.obj: create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-create_nl_socket.obj -MD -MP -MF $(DEPDIR)/libtests_a-create_nl_socket.Tpo -c -o libtests_a-create_nl_socket.obj `if test -f 'create_nl_socket.c'; then $(CYGPATH_W) 'create_nl_socket.c'; else $(CYGPATH_W) '$(srcdir)/create_nl_socket.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_nl_socket.obj `if test -f 'create_nl_socket.c'; then $(CYGPATH_W) 'create_nl_socket.c'; else $(CYGPATH_W) '$(srcdir)/create_nl_socket.c'; fi`
+
libtests_a-errno2name.o: errno2name.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
@@ -6511,12 +6741,42 @@ $(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tes
$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/netlink_audit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_generic.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_netfilter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/netlink_route.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_selinux.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_xfrm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/nlattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netlink_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_unix_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
@@ -6799,15 +7059,27 @@ $(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/sigaction.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
@@ -7014,8 +7286,8 @@ clean-local: clean-local-check
clean-local-check:
-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
- $(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
+syscallent.i: $(top_builddir)/config.h $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
+ $(CPP) -P $(SCNO_CPPFLAGS) -include $^ -o $@
scno.h: $(top_srcdir)/scno.head syscallent.i
echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
diff --git a/tests-mx32/add_key.c b/tests-mx32/add_key.c
index d2696f9b..1de0cc3b 100644
--- a/tests-mx32/add_key.c
+++ b/tests-mx32/add_key.c
@@ -70,8 +70,7 @@ main(void)
{
static const char unterminated1[] = { '\1', '\2', '\3', '\4', '\5' };
static const char unterminated2[] = { '\6', '\7', '\10', '\11', '\12' };
- static const char unterminated3[] =
- { '\16', '\17', '\20', '\21', '\22' };
+ static const char unterminated3[] = { '\16', '\17', '\20', '\21', '\22' };
char *bogus_type = tail_memdup(unterminated1, sizeof(unterminated1));
char *bogus_desc = tail_memdup(unterminated2, sizeof(unterminated2));
diff --git a/tests-mx32/aio.c b/tests-mx32/aio.c
index 677a02b5..77b6c05d 100644
--- a/tests-mx32/aio.c
+++ b/tests-mx32/aio.c
@@ -240,9 +240,9 @@ main(void)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{data=%#" PRI__x64 ", pread, reqprio=11, fildes=0, "
- "buf=%p, nbytes=%u, offset=%" PRI__d64 "}, "
+ "buf=%p, nbytes=%u, offset=%" PRI__d64 "}, "
"{data=%#" PRI__x64 ", pread, reqprio=22, fildes=0, "
- "buf=%p, nbytes=%u, offset=%" PRI__d64 "}"
+ "buf=%p, nbytes=%u, offset=%" PRI__d64 "}"
"]) = %s\n",
*ctx, nr,
cb[0].aio_data, data0, sizeof_data0, cb[0].aio_offset,
@@ -317,18 +317,18 @@ main(void)
printf("io_submit(%#lx, %ld, ["
"{data=%#" PRI__x64 ", key=%u, %hu /* SUB_??? */, fildes=%d}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d, str=NULL"
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64
# ifdef IOCB_FLAG_RESFD
- ", resfd=%d, flags=%#x"
+ ", resfd=%d, flags=%#x"
# endif
- "}, "
+ "}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d, buf=%#" PRI__x64
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d"
- ", str=\"\\0\\1\\2\\3%.28s\"..."
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
+ ", str=\"\\0\\1\\2\\3%.28s\"..."
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
"{key=%u, pwritev, reqprio=%hd, fildes=%d, buf=%#" PRI__x64
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}"
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}"
", {NULL}, {%#lx}, %p]) = %s\n",
*ctx, 1057L,
cbv2[0].aio_data, cbv2[0].aio_key,
@@ -351,11 +351,11 @@ main(void)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{data=%#" PRI__x64 ", preadv, reqprio=%hd, fildes=0, "
- "iovec=[{iov_base=%p, iov_len=%u}"
- ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}, "
+ "iovec=[{iov_base=%p, iov_len=%u}"
+ ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}, "
"{data=%#" PRI__x64 ", preadv, reqprio=%hd, fildes=0, "
- "iovec=[{iov_base=%p, iov_len=%u}"
- ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}"
+ "iovec=[{iov_base=%p, iov_len=%u}"
+ ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}"
"]) = %s\n",
*ctx, nr,
cbv[0].aio_data, cbv[0].aio_reqprio,
diff --git a/tests-mx32/block_reset_raise_run.c b/tests-mx32/block_reset_raise_run.c
new file mode 100644
index 00000000..e2c5c99b
--- /dev/null
+++ b/tests-mx32/block_reset_raise_run.c
@@ -0,0 +1,55 @@
+/*
+ * Execute a command with blocked, reset, and raised signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac < 3)
+ error_msg_and_fail("usage: block_reset_raise_run signo path...");
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ const int signo = atoi(av[1]);
+ if (sigaddset(&mask, signo))
+ perror_msg_and_fail("sigaddset: %s", av[1]);
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask");
+ if (signal(signo, SIG_DFL) == SIG_ERR)
+ perror_msg_and_fail("signal: %s", av[1]);
+ if (raise(signo))
+ perror_msg_and_fail("raise: %s", av[1]);
+
+ execvp(av[2], av + 2);
+ perror_msg_and_fail("execvp: %s", av[2]);
+}
diff --git a/tests-mx32/btrfs.c b/tests-mx32/btrfs.c
index 7e5ccfff..710d7630 100644
--- a/tests-mx32/btrfs.c
+++ b/tests-mx32/btrfs.c
@@ -61,8 +61,8 @@ typedef __u64 u64;
static const char *btrfs_test_root;
static int btrfs_test_dir_fd;
-static bool verbose = false;
-static bool write_ok = false;
+static bool verbose;
+static bool write_ok;
const unsigned char uuid_reference[BTRFS_UUID_SIZE] = {
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
@@ -75,10 +75,10 @@ const char uuid_reference_string[] = "01234567-89ab-cdef-fedc-ba9876543210";
struct btrfs_ioctl_quota_rescan_args {
uint64_t flags, progress, reserved[6];
};
-# define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \
- struct btrfs_ioctl_quota_rescan_args)
-# define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
- struct btrfs_ioctl_quota_rescan_args)
+# define BTRFS_IOC_QUOTA_RESCAN \
+ _IOW(BTRFS_IOCTL_MAGIC, 44, struct btrfs_ioctl_quota_rescan_args)
+# define BTRFS_IOC_QUOTA_RESCAN_STATUS \
+ _IOR(BTRFS_IOCTL_MAGIC, 45, struct btrfs_ioctl_quota_rescan_args)
#endif
#ifndef BTRFS_IOC_QUOTA_RESCAN_WAIT
@@ -86,30 +86,30 @@ struct btrfs_ioctl_quota_rescan_args {
#endif
#ifndef BTRFS_IOC_GET_FEATURES
-# define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags)
-# define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[2])
-# define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[3])
+# define BTRFS_IOC_GET_FEATURES \
+ _IOR(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags)
+# define BTRFS_IOC_SET_FEATURES \
+ _IOW(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags[2])
+# define BTRFS_IOC_GET_SUPPORTED_FEATURES \
+ _IOR(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags[3])
#endif
#ifndef HAVE_STRUCT_BTRFS_IOCTL_FEATURE_FLAGS_COMPAT_FLAGS
struct btrfs_ioctl_feature_flags {
- uint64_t compat_flags;
- uint64_t compat_ro_flags;
- uint64_t incompat_flags;
+ uint64_t compat_flags;
+ uint64_t compat_ro_flags;
+ uint64_t incompat_flags;
};
#endif
#ifndef HAVE_STRUCT_BTRFS_IOCTL_DEFRAG_RANGE_ARGS_START
struct btrfs_ioctl_defrag_range_args {
- uint64_t start;
- uint64_t len;
- uint64_t flags;
- uint32_t extent_thresh;
- uint32_t compress_type;
- uint32_t unused[4];
+ uint64_t start;
+ uint64_t len;
+ uint64_t flags;
+ uint32_t extent_thresh;
+ uint32_t compress_type;
+ uint32_t unused[4];
};
#endif
@@ -140,14 +140,14 @@ struct file_dedupe_range {
#endif
#ifndef BTRFS_IOC_TREE_SEARCH_V2
-# define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \
- struct btrfs_ioctl_search_args_v2)
+# define BTRFS_IOC_TREE_SEARCH_V2 \
+ _IOWR(BTRFS_IOCTL_MAGIC, 17, struct btrfs_ioctl_search_args_v2)
struct btrfs_ioctl_search_args_v2 {
struct btrfs_ioctl_search_key key; /* in/out - search parameters */
uint64_t buf_size; /* in - size of buffer
* out - on EOVERFLOW: needed size
* to store item */
- uint64_t buf[0]; /* out - found items */
+ uint64_t buf[0]; /* out - found items */
};
#endif
diff --git a/tests-mx32/create_nl_socket.c b/tests-mx32/create_nl_socket.c
new file mode 100644
index 00000000..c2708d8f
--- /dev/null
+++ b/tests-mx32/create_nl_socket.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <sys/socket.h>
+#include "netlink.h"
+
+int
+create_nl_socket_ext(const int proto, const char *const name)
+{
+ const int fd = socket(AF_NETLINK, SOCK_RAW, proto);
+ if (fd < 0)
+ perror_msg_and_skip("socket AF_NETLINK %s", name);
+
+ const struct sockaddr_nl addr = { .nl_family = AF_NETLINK };
+ socklen_t len = sizeof(addr);
+
+ if (bind(fd, (const struct sockaddr *) &addr, len))
+ perror_msg_and_skip("bind AF_NETLINK %s", name);
+
+ /* one more operation on this socket to win the race */
+ int listening;
+ len = sizeof(listening);
+ if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &listening, &len))
+ perror_msg_and_fail("getsockopt");
+
+ return fd;
+}
diff --git a/tests-mx32/dup3.c b/tests-mx32/dup3.c
index 252e8469..7a65b614 100644
--- a/tests-mx32/dup3.c
+++ b/tests-mx32/dup3.c
@@ -23,6 +23,6 @@ main(void)
#else
-SKIP_MAIN_UNDEFINED("__NR_dup3 && && O_CLOEXEC")
+SKIP_MAIN_UNDEFINED("__NR_dup3 && O_CLOEXEC")
#endif
diff --git a/tests-mx32/errno2name.c b/tests-mx32/errno2name.c
index 4a176993..d481e2e8 100644
--- a/tests-mx32/errno2name.c
+++ b/tests-mx32/errno2name.c
@@ -476,6 +476,7 @@ errno2name(void)
#ifdef EXFULL
CASE(EXFULL);
#endif
- default: perror_msg_and_fail("unknown errno %d", errno);
+ default:
+ perror_msg_and_fail("unknown errno %d", errno);
}
}
diff --git a/tests-mx32/execve.c b/tests-mx32/execve.c
index c558dd3b..da3bc520 100644
--- a/tests-mx32/execve.c
+++ b/tests-mx32/execve.c
@@ -127,9 +127,14 @@ main(void)
#endif
);
- char str_a[] = "012345678901234567890123456789012";
- char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
-#define DEFAULT_STRLEN ((unsigned int) sizeof(str_a) - 2)
+ char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
+ str_a[DEFAULT_STRLEN + 1] = '\0';
+
+ char *const str_b = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_b, DEFAULT_STRLEN + 1, '_', 32);
+ str_b[DEFAULT_STRLEN + 1] = '\0';
+
char **const a = tail_alloc(sizeof(*a) * (DEFAULT_STRLEN + 2));
char **const b = tail_alloc(sizeof(*b) * (DEFAULT_STRLEN + 2));
unsigned int i;
diff --git a/tests-mx32/execveat.c b/tests-mx32/execveat.c
index 8ffc4d58..566a59f9 100644
--- a/tests-mx32/execveat.c
+++ b/tests-mx32/execveat.c
@@ -133,9 +133,14 @@ main(void)
#endif
errno2name());
- char str_a[] = "012345678901234567890123456789012";
- char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
-#define DEFAULT_STRLEN ((unsigned int) sizeof(str_a) - 2)
+ char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
+ str_a[DEFAULT_STRLEN + 1] = '\0';
+
+ char *const str_b = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_b, DEFAULT_STRLEN + 1, '_', 32);
+ str_b[DEFAULT_STRLEN + 1] = '\0';
+
char **const a = tail_alloc(sizeof(*a) * (DEFAULT_STRLEN + 2));
char **const b = tail_alloc(sizeof(*b) * (DEFAULT_STRLEN + 2));
unsigned int i;
diff --git a/tests-mx32/futex.c b/tests-mx32/futex.c
index 9a9ab664..b75ab339 100644
--- a/tests-mx32/futex.c
+++ b/tests-mx32/futex.c
@@ -254,7 +254,7 @@ main(int argc, char *argv[])
zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
CHECK_FUTEX_ENOSYS(uaddr,
- FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT ,
+ FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT,
VAL, tmout, uaddr2, 0, (rc == -1) && (errno == EAGAIN));
printf("futex(%p, FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
@@ -612,7 +612,7 @@ main(int argc, char *argv[])
CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_PRIVATE_FLAG | FUTEX_UNLOCK_PI, VAL,
tmout, uaddr2 + 1, VAL3, (rc == -1) && (errno == EFAULT));
- printf("futex(%p, FUTEX_UNLOCK_PI_PRIVATE) = %s\n", uaddr +1,
+ printf("futex(%p, FUTEX_UNLOCK_PI_PRIVATE) = %s\n", uaddr + 1,
sprintrc(rc));
CHECK_INVALID_CLOCKRT(FUTEX_UNLOCK_PI, 0);
diff --git a/tests-mx32/gen_tests.am b/tests-mx32/gen_tests.am
new file mode 100644
index 00000000..f1b34dd5
--- /dev/null
+++ b/tests-mx32/gen_tests.am
@@ -0,0 +1,1007 @@
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test access.gen.test acct.gen.test add_key.gen.test adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test clock_adjtime.gen.test clock_nanosleep.gen.test clock_xettime.gen.test copy_file_range.gen.test creat.gen.test delete_module.gen.test dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test erestartsys.gen.test execveat.gen.test execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test fanotify_init.gen.test fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test fchmodat.gen.test fchown.gen.test fchown32.gen.test fchownat.gen.test fcntl.gen.test fcntl64.gen.test fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test finit_module.gen.test flock.gen.test fork-f.gen.test fstat.gen.test fstat64.gen.test fstatat64.gen.test fstatfs.gen.test fstatfs64.gen.test fsync.gen.test ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test getdents.gen.test getdents64.gen.test getegid.gen.test getegid32.gen.test geteuid.gen.test geteuid32.gen.test getgid.gen.test getgid32.gen.test getgroups.gen.test getgroups32.gen.test getpeername.gen.test getpgrp.gen.test getpid.gen.test getppid.gen.test getrandom.gen.test getresgid.gen.test getresgid32.gen.test getresuid.gen.test getresuid32.gen.test getrlimit.gen.test getrusage.gen.test getsid.gen.test getsockname.gen.test gettid.gen.test getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test init_module.gen.test inotify.gen.test inotify_init1.gen.test int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_loop.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test ioctl_rtc-v.gen.test ioctl_scsi.gen.test ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test kill.gen.test lchown.gen.test lchown32.gen.test link.gen.test linkat.gen.test lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test madvise.gen.test mbind.gen.test membarrier.gen.test memfd_create.gen.test migrate_pages.gen.test mincore.gen.test mkdir.gen.test mkdirat.gen.test mknod.gen.test mknodat.gen.test mlock.gen.test mlock2.gen.test mlockall.gen.test mmap64.gen.test mmsg.gen.test mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test mount.gen.test move_pages.gen.test mq.gen.test mq_sendrecv.gen.test mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test msg_control.gen.test msg_control-v.gen.test msg_name.gen.test munlockall.gen.test nanosleep.gen.test net-icmp_filter.gen.test net-sockaddr.gen.test netlink_audit.gen.test netlink_generic.gen.test netlink_netfilter.gen.test netlink_protocol.gen.test netlink_route.gen.test netlink_selinux.gen.test netlink_xfrm.gen.test newfstatat.gen.test nlattr.gen.test nlattr_inet_diag_msg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test oldfstat.gen.test oldlstat.gen.test oldstat.gen.test open.gen.test openat.gen.test osf_utimes.gen.test pause.gen.test perf_event_open.gen.test perf_event_open_nonverbose.gen.test perf_event_open_unabbrev.gen.test pipe2.gen.test pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test process_vm_readv.gen.test process_vm_writev.gen.test pselect6.gen.test ptrace.gen.test pwritev.gen.test quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test readdir.gen.test readlink.gen.test readlinkat.gen.test reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test recvmsg.gen.test regex.gen.test remap_file_pages.gen.test rename.gen.test renameat.gen.test renameat2.gen.test request_key.gen.test rmdir.gen.test rt_sigpending.gen.test rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test rt_sigreturn.gen.test rt_sigsuspend.gen.test rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test sched.gen.test sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test sched_xetaffinity.gen.test sched_xetattr.gen.test sched_xetparam.gen.test sched_xetscheduler.gen.test sched_yield.gen.test seccomp-filter.gen.test seccomp-filter-v.gen.test select.gen.test semop.gen.test sendfile.gen.test sendfile64.gen.test set_mempolicy.gen.test setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test setfsuid.gen.test setfsuid32.gen.test setgid.gen.test setgid32.gen.test setgroups.gen.test setgroups32.gen.test sethostname.gen.test setns.gen.test setregid.gen.test setregid32.gen.test setresgid.gen.test setresgid32.gen.test setresuid.gen.test setresuid32.gen.test setreuid.gen.test setreuid32.gen.test setrlimit.gen.test setuid.gen.test setuid32.gen.test shmxt.gen.test shutdown.gen.test sigaction.gen.test siginfo.gen.test signal.gen.test signal_receive.gen.test signalfd4.gen.test sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test statfs64.gen.test statx.gen.test swap.gen.test sxetmask.gen.test symlink.gen.test symlinkat.gen.test sync.gen.test sync_file_range.gen.test sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test tee.gen.test time.gen.test timer_create.gen.test timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test times-fail.gen.test trace_fstat.gen.test trace_fstatfs.gen.test trace_lstat.gen.test trace_question.gen.test trace_stat.gen.test trace_stat_like.gen.test trace_statfs.gen.test trace_statfs_like.gen.test truncate.gen.test truncate64.gen.test ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test umovestr3.gen.test unlink.gen.test unlinkat.gen.test unshare.gen.test userfaultfd.gen.test ustat.gen.test utime.gen.test utimensat.gen.test utimes.gen.test vfork-f.gen.test vhangup.gen.test vmsplice.gen.test wait4.gen.test wait4-v.gen.test waitid.gen.test waitid-v.gen.test waitpid.gen.test xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test xettimeofday.gen.test
+
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_audit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_generic.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_netfilter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_route.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_selinux.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_xfrm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netlink_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_unix_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigaction.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
diff --git a/tests-mx32/gen_tests.in b/tests-mx32/gen_tests.in
index be0a3a23..57fd5fd9 100644
--- a/tests-mx32/gen_tests.in
+++ b/tests-mx32/gen_tests.in
@@ -184,8 +184,18 @@ munlockall -a13
nanosleep -a20
net-icmp_filter -e trace=getsockopt,setsockopt
net-sockaddr -a24 -e trace=connect
-netlink_protocol -e trace=%network
+netlink_audit +netlink_sock_diag.test
+netlink_generic +netlink_sock_diag.test
+netlink_netfilter +netlink_sock_diag.test
+netlink_protocol -e trace=sendto
+netlink_route +netlink_sock_diag.test
+netlink_selinux +netlink_sock_diag.test
+netlink_xfrm +netlink_sock_diag.test
newfstatat -a32 -v -P stat.sample -P /dev/full
+nlattr +netlink_sock_diag.test
+nlattr_inet_diag_msg +netlink_sock_diag.test
+nlattr_netlink_diag_msg +netlink_sock_diag.test
+nlattr_unix_diag_msg +netlink_sock_diag.test
old_mmap -a11 -e trace=mmap
oldfstat -a18 -v -P stat.sample
oldlstat -a32 -v -P stat.sample -P /dev/full
@@ -280,9 +290,13 @@ setuid -a10
setuid32 -a12
shmxt -a11 -e trace='/(osf_)?shmat,shmdt'
shutdown -a24
+sigaction -a31
siginfo -e trace=none
+signal -a25 -e signal=none -e trace='/^signal$'
signal_receive -a16 -e trace=kill
signalfd4
+sigpending -a15
+sigprocmask -a34
sigreturn -esignal='!USR1'
sigsuspend -a19 -esignal=none
socketcall -a20
diff --git a/tests-mx32/getcpu.c b/tests-mx32/getcpu.c
index 3cb49cb2..2b157535 100644
--- a/tests-mx32/getcpu.c
+++ b/tests-mx32/getcpu.c
@@ -41,16 +41,16 @@ int
main(void)
{
unsigned *bogus_cpu =
- (unsigned *) tail_alloc(sizeof(* bogus_cpu)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_cpu)) + 1;
unsigned *bogus_node =
- (unsigned *) tail_alloc(sizeof(* bogus_node)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_node)) + 1;
unsigned *bogus_tcache =
- (unsigned *) tail_alloc(sizeof(* bogus_tcache)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_tcache)) + 1;
long res;
TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, cpu);
TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, node);
- long * tcache = tail_alloc(128);
+ long *tcache = tail_alloc(128);
res = syscall(__NR_getcpu, NULL, NULL, NULL);
printf("getcpu(NULL, NULL, NULL) = %s\n", sprintrc(res));
diff --git a/tests-mx32/init.sh b/tests-mx32/init.sh
index 28447654..2d4d0b41 100644
--- a/tests-mx32/init.sh
+++ b/tests-mx32/init.sh
@@ -169,7 +169,7 @@ match_diff()
check_prog diff
- diff -- "$expected" "$output" ||
+ diff -u -- "$expected" "$output" ||
fail_ "$error"
}
@@ -366,7 +366,7 @@ else
STRACE=../strace
fi
-: "${TIMEOUT_DURATION:=120}"
+: "${TIMEOUT_DURATION:=300}"
: "${SLEEP_A_BIT:=sleep 1}"
[ -z "${VERBOSE-}" ] ||
diff --git a/tests-mx32/interactive_block.test b/tests-mx32/interactive_block.test
new file mode 100755
index 00000000..f8f8173f
--- /dev/null
+++ b/tests-mx32/interactive_block.test
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Check that in interactive mode those signals that were blocked
+# at strace startup will remain blocked.
+
+. "${srcdir=.}/init.sh"
+
+strace0="$STRACE"
+for signo in 1 2 3 13 14 15; do
+ blocksig="../block_reset_raise_run $signo"
+ run_prog $blocksig ../umovestr
+ STRACE="$blocksig $strace0"
+ run_strace -I2 -echdir ../umovestr
+ match_diff "$LOG" "$srcdir/umovestr.expected"
+done
diff --git a/tests-mx32/ioctl.c b/tests-mx32/ioctl.c
index 5dc0864f..3c666b0d 100644
--- a/tests-mx32/ioctl.c
+++ b/tests-mx32/ioctl.c
@@ -54,7 +54,7 @@
&& defined EV_KEY
int
-main(void )
+main(void)
{
uint64_t data = 0;
diff --git a/tests-mx32/ioctl_block.c b/tests-mx32/ioctl_block.c
index 8e883d4b..e44c4c41 100644
--- a/tests-mx32/ioctl_block.c
+++ b/tests-mx32/ioctl_block.c
@@ -58,9 +58,11 @@ static struct xlat block_argless[] = {
#endif
};
-#define TEST_NULL_ARG(cmd) \
- ioctl(-1, cmd, 0); \
- printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd)
+#define TEST_NULL_ARG(cmd) \
+ do { \
+ ioctl(-1, cmd, 0); \
+ printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
+ } while (0)
int
main(void)
diff --git a/tests-mx32/ioctl_evdev.c b/tests-mx32/ioctl_evdev.c
index 6cbc09fe..9d16cecf 100644
--- a/tests-mx32/ioctl_evdev.c
+++ b/tests-mx32/ioctl_evdev.c
@@ -67,9 +67,11 @@ print_ffe_common(const struct ff_effect *const ffe, const char *const type_str)
# endif /* VERBOSE */
}
-# define TEST_NULL_ARG(cmd) \
- ioctl(-1, cmd, 0); \
- printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd)
+# define TEST_NULL_ARG(cmd) \
+ do { \
+ ioctl(-1, cmd, 0); \
+ printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
+ } while (0)
int
main(void)
diff --git a/tests-mx32/ioctl_mtd.c b/tests-mx32/ioctl_mtd.c
index 71d0c0d1..6a7d94a7 100644
--- a/tests-mx32/ioctl_mtd.c
+++ b/tests-mx32/ioctl_mtd.c
@@ -58,15 +58,17 @@ static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
(unsigned int) _IOC_NR(cmd), #cmd); \
else \
printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
- } while (0)
-
-#define TEST_erase_info_user(cmd, eiu) \
- ioctl(-1, cmd, eiu); \
- printf("ioctl(-1, MIXER_%s(%u) or %s, {start=%#x, length=%#x})" \
- " = -1 EBADF (%m)\n", \
- (_IOC_DIR(cmd) == _IOC_READ) ? "READ" : "WRITE", \
- (unsigned int) _IOC_NR(cmd), #cmd, \
- eiu->start, eiu->length)
+ } while (0)
+
+#define TEST_erase_info_user(cmd, eiu) \
+ do { \
+ ioctl(-1, cmd, eiu); \
+ printf("ioctl(-1, MIXER_%s(%u) or %s, {start=%#x, length=%#x})" \
+ " = -1 EBADF (%m)\n", \
+ (_IOC_DIR(cmd) == _IOC_READ) ? "READ" : "WRITE", \
+ (unsigned int) _IOC_NR(cmd), #cmd, \
+ eiu->start, eiu->length); \
+ } while (0)
int
main(void)
diff --git a/tests-mx32/ioctl_sg_io_v3.c b/tests-mx32/ioctl_sg_io_v3.c
index 3808b209..3385bca9 100644
--- a/tests-mx32/ioctl_sg_io_v3.c
+++ b/tests-mx32/ioctl_sg_io_v3.c
@@ -198,12 +198,12 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->status,
sg_io->masked_status,
@@ -248,12 +248,12 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->status,
sg_io->masked_status,
@@ -300,10 +300,10 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
- * (unsigned char *) (sg_io->dxferp + 3),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 3),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
@@ -348,11 +348,11 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
@@ -394,9 +394,9 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
diff --git a/tests-mx32/ioctl_sg_io_v4.c b/tests-mx32/ioctl_sg_io_v4.c
index 9c1e9fa0..d2f7b72c 100644
--- a/tests-mx32/ioctl_sg_io_v4.c
+++ b/tests-mx32/ioctl_sg_io_v4.c
@@ -189,9 +189,9 @@ main(void)
", dout_resid=%d"
", generated_tag=%#" PRI__x64 "}) = -1 EBADF (%m)\n",
sg_io->request_len,
- * (unsigned char *) ((unsigned long) sg_io->request + 0),
- * (unsigned char *) ((unsigned long) sg_io->request + 1),
- * (unsigned char *) ((unsigned long) sg_io->request + 2),
+ *(unsigned char *) ((unsigned long) sg_io->request + 0),
+ *(unsigned char *) ((unsigned long) sg_io->request + 1),
+ *(unsigned char *) ((unsigned long) sg_io->request + 2),
sg_io->request_tag,
sg_io->request_attr,
sg_io->request_priority,
@@ -201,22 +201,22 @@ main(void)
sg_io->dout_xfer_len,
sg_io->din_iovec_count,
sg_io->din_xfer_len,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->timeout,
sg_io->usr_ptr,
sg_io->response_len,
- * (unsigned char *) ((unsigned long) sg_io->response + 0),
- * (unsigned char *) ((unsigned long) sg_io->response + 1),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 0),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 1),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 2),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 3),
+ *(unsigned char *) ((unsigned long) sg_io->response + 0),
+ *(unsigned char *) ((unsigned long) sg_io->response + 1),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 0),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 1),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 2),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 3),
sg_io->driver_status,
sg_io->transport_status,
sg_io->device_status,
diff --git a/tests-mx32/ioctl_sock_gifconf.c b/tests-mx32/ioctl_sock_gifconf.c
index f81faef4..efa55a3a 100644
--- a/tests-mx32/ioctl_sock_gifconf.c
+++ b/tests-mx32/ioctl_sock_gifconf.c
@@ -105,7 +105,7 @@ print_ifconf(struct ifconf *ifc, int in_len, char *in_buf, long rc)
static void
gifconf_ioctl(int fd, struct ifconf *ifc, bool ifc_valid)
{
- const char * errstr;
+ const char *errstr;
int in_len;
char *in_buf;
long rc;
diff --git a/tests-mx32/ioctl_uffdio.c b/tests-mx32/ioctl_uffdio.c
index c98e4a0f..817e3c72 100644
--- a/tests-mx32/ioctl_uffdio.c
+++ b/tests-mx32/ioctl_uffdio.c
@@ -71,7 +71,7 @@ main(void)
api_struct->features = 0;
rc = ioctl(fd, UFFDIO_API, api_struct);
printf("ioctl(%d, UFFDIO_API, {api=0xaa, features=0, "
- "features.out=%#" PRIx64 ", " "ioctls=1<<_UFFDIO_REGISTER|"
+ "features.out=%#" PRIx64 ", ioctls=1<<_UFFDIO_REGISTER|"
"1<<_UFFDIO_UNREGISTER|1<<_UFFDIO_API",
fd, (uint64_t)api_struct->features);
api_struct->ioctls &= ~(1ull<<_UFFDIO_REGISTER|
diff --git a/tests-mx32/ioctl_v4l2.c b/tests-mx32/ioctl_v4l2.c
index 921e7a88..cc5dee6a 100644
--- a/tests-mx32/ioctl_v4l2.c
+++ b/tests-mx32/ioctl_v4l2.c
@@ -85,7 +85,7 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.pix_mp.pixelformat = magic;
f->fmt.pix_mp.field = V4L2_FIELD_NONE;
f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
- struct v4l2_plane_pix_format* cur_pix =
+ struct v4l2_plane_pix_format *cur_pix =
f->fmt.pix_mp.plane_fmt;
for (i = 0;
i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
@@ -119,8 +119,8 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.win.clips[1].c.width = 0x9e3a6fb3;
f->fmt.win.clips[1].c.height = 0x05617b76;
- f->fmt.win.bitmap = (void*) -2UL;
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+ f->fmt.win.bitmap = (void *) -2UL;
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
f->fmt.win.global_alpha = 0xce;
#endif
break;
@@ -158,7 +158,7 @@ init_v4l2_format(struct v4l2_format *const f,
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
f->fmt.sdr.pixelformat = magic;
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
f->fmt.sdr.buffersize = 0x25afabfb;
#endif
break;
@@ -168,8 +168,8 @@ init_v4l2_format(struct v4l2_format *const f,
static void
dprint_ioctl_v4l2(struct v4l2_format *const f,
- const char* request, const unsigned int buf_type,
- const char* buf_type_string)
+ const char *request, const unsigned int buf_type,
+ const char *buf_type_string)
{
switch (buf_type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
@@ -225,7 +225,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
"[{left=%d, top=%d, width=%u, height=%u}, "
"{left=%d, top=%d, width=%u, height=%u}]"
", clipcount=%u, bitmap=%p"
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
", global_alpha=%#x"
#endif
"}}) = -1 EBADF (%m)\n",
@@ -243,7 +243,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
f->fmt.win.clips[1].c.width,
f->fmt.win.clips[1].c.height,
f->fmt.win.clipcount, f->fmt.win.bitmap
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
, f->fmt.win.global_alpha
#endif
);
@@ -304,14 +304,14 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
printf("ioctl(-1, %s, {type=%s"
", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
" '\\x%x', '\\x%x')"
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
", buffersize=%u"
#endif
"}}) = -1 EBADF (%m)\n",
request,
buf_type_string,
cc0(magic), cc1(magic), cc2(magic), cc3(magic)
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
, f->fmt.sdr.buffersize
#endif
);
@@ -319,12 +319,11 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
#endif
}
}
-#define print_ioctl_v4l2(v4l2_format, request, buf_type) do { \
- dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type); \
-} while (0)
+#define print_ioctl_v4l2(v4l2_format, request, buf_type) \
+ dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type)
int
-main(void )
+main(void)
{
const unsigned int size = get_page_size();
void *const page = tail_alloc(size);
@@ -689,7 +688,7 @@ main(void )
TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_tuner, p_tuner);
p_tuner->index = 0x4fb6df39;
- strcpy((char*)p_tuner->name, "cum tacent clamant");
+ strcpy((char *) p_tuner->name, "cum tacent clamant");
p_tuner->type = V4L2_TUNER_RADIO;
p_tuner->capability = V4L2_TUNER_CAP_LOW;
p_tuner->rangelow = 0xa673bc29;
diff --git a/tests-mx32/ip_mreq.c b/tests-mx32/ip_mreq.c
index 4bcda09f..4bfe00f3 100644
--- a/tests-mx32/ip_mreq.c
+++ b/tests-mx32/ip_mreq.c
@@ -101,7 +101,7 @@ main(void)
short_any[i].optval, 1);
printf("setsockopt(0, %s, %s, \"\\%hho\", 1) = %s\n",
short_any[i].str_level, short_any[i].str_optname,
- * (unsigned char *) short_any[i].optval,
+ *(unsigned char *) short_any[i].optval,
sprintrc(rc));
rc = setsockopt(0, short_any[i].level, short_any[i].optname,
@@ -139,7 +139,7 @@ main(void)
rc = setsockopt(0, SOL_IPV6, long_ipv6[i].optname,
m6, sizeof(*m6));
printf("setsockopt(0, SOL_IPV6, %s"
- ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
+ ", {inet_pton(AF_INET6, \"%s\", &ipv6mr_multiaddr)"
", ipv6mr_interface=if_nametoindex(\"lo\")}"
", %u) = %s\n",
long_ipv6[i].str_optname, multi6addr,
diff --git a/tests-mx32/ipc_msgbuf.c b/tests-mx32/ipc_msgbuf.c
index 1c34494d..9d149fa5 100644
--- a/tests-mx32/ipc_msgbuf.c
+++ b/tests-mx32/ipc_msgbuf.c
@@ -45,7 +45,7 @@ cleanup(void)
}
int
-main (void)
+main(void)
{
const long mtype = 0xdefaced;
struct {
diff --git a/tests-mx32/ipc_sem.c b/tests-mx32/ipc_sem.c
index 0b730c11..c8832726 100644
--- a/tests-mx32/ipc_sem.c
+++ b/tests-mx32/ipc_sem.c
@@ -37,10 +37,10 @@
#include "xlat/resource_flags.h"
union semun {
- int val; /* Value for SETVAL */
- struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
- unsigned short *array; /* Array for GETALL, SETALL */
- struct seminfo *__buf; /* Buffer for IPC_INFO
+ int val; /* Value for SETVAL */
+ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
+ unsigned short *array; /* Array for GETALL, SETALL */
+ struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};
diff --git a/tests-mx32/kexec_file_load.c b/tests-mx32/kexec_file_load.c
index c939e4f2..7a9b64b3 100644
--- a/tests-mx32/kexec_file_load.c
+++ b/tests-mx32/kexec_file_load.c
@@ -45,7 +45,7 @@ struct strval {
const char *str;
};
-#define CMDLINE_STR "deadcodebaddatadefaced";
+#define CMDLINE_STR "deadcodebaddatadefaced"
int
main(void)
diff --git a/tests-mx32/keyctl.c b/tests-mx32/keyctl.c
index 2e26076b..492c62a3 100644
--- a/tests-mx32/keyctl.c
+++ b/tests-mx32/keyctl.c
@@ -74,7 +74,7 @@ static const size_t limit = 10;
* significantly breaking interface.
*/
bool nul_terminated_buf = true;
-bool buf_in_arg = false;
+bool buf_in_arg;
/*
* When this is called with positive size, the buffer provided is an "out"
diff --git a/tests-mx32/ksysent.c b/tests-mx32/ksysent.c
index f5986643..860e21e4 100644
--- a/tests-mx32/ksysent.c
+++ b/tests-mx32/ksysent.c
@@ -53,7 +53,7 @@
#define SI 0
#define SE 0
#define CST 0
-#define SEN(arg) 0,0
+#define SEN(arg) 0, 0
static const struct_sysent syscallent[] = {
#include "syscallent.h"
diff --git a/tests-mx32/mincore.c b/tests-mx32/mincore.c
index ea2b49e3..0ede687d 100644
--- a/tests-mx32/mincore.c
+++ b/tests-mx32/mincore.c
@@ -29,8 +29,6 @@
#include <stdio.h>
#include <sys/mman.h>
-#define DEFAULT_STRLEN 32
-
static void
print_mincore(const unsigned int pages, void *const addr,
const size_t size, unsigned char *const vec)
diff --git a/tests-mx32/mmsg.c b/tests-mx32/mmsg.c
index 88805d16..a5cf0e79 100644
--- a/tests-mx32/mmsg.c
+++ b/tests-mx32/mmsg.c
@@ -113,14 +113,16 @@ main(void)
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c),
w1_c, LENGTH_OF(w1_c),
- ARRAY_SIZE(w0_iov_),
+ (unsigned int) ARRAY_SIZE(w0_iov_),
LENGTH_OF(w0_c) + LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w1_iov_),
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w1_iov_),
LENGTH_OF(w2_c),
n_w_mmh, r,
- ARRAY_SIZE(w0_iov_), LENGTH_OF(w0_c), w0_d, w0_c,
+ (unsigned int) ARRAY_SIZE(w0_iov_),
+ LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c,
- ARRAY_SIZE(w1_iov_), LENGTH_OF(w2_c), w2_d, w2_c);
+ (unsigned int) ARRAY_SIZE(w1_iov_),
+ LENGTH_OF(w2_c), w2_d, w2_c);
const unsigned int w_len =
LENGTH_OF(w0_c) + LENGTH_OF(w1_c) + LENGTH_OF(w2_c);
@@ -184,11 +186,14 @@ main(void)
" = %u buffers in vector 1\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c),
- r1_c, r_len, r_len, ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ LENGTH_OF(r0_c), r1_c, r_len, r_len,
+ (unsigned int) ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
n_r_mmh, r,
- ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c), r0_d, r0_c,
- ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c), r1_d, r1_c);
+ (unsigned int) ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c),
+ r0_d, r0_c,
+ (unsigned int) ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
+ r1_d, r1_c);
tprintf("+++ exited with 0 +++\n");
return 0;
diff --git a/tests-mx32/mmsg_name.c b/tests-mx32/mmsg_name.c
index a7a55c55..ad5a482d 100644
--- a/tests-mx32/mmsg_name.c
+++ b/tests-mx32/mmsg_name.c
@@ -40,8 +40,6 @@
#include "msghdr.h"
-#define DEFAULT_STRLEN 32
-
#define IOV_MAX1 (IOV_MAX + 1)
#ifndef TEST_NAME
@@ -77,7 +75,7 @@ print_msghdr(const struct msghdr *const msg, const int user_msg_namelen)
}
printf("%d, msg_iov=[{iov_base=\"%c\", iov_len=1}]"
", msg_iovlen=1, msg_controllen=0, msg_flags=0}",
- (int) msg->msg_namelen, * (char *) msg->msg_iov[0].iov_base);
+ (int) msg->msg_namelen, *(char *) msg->msg_iov[0].iov_base);
}
static void
diff --git a/tests-mx32/mq.c b/tests-mx32/mq.c
index ee2d059d..cf1b7308 100644
--- a/tests-mx32/mq.c
+++ b/tests-mx32/mq.c
@@ -39,7 +39,7 @@
# include <sys/stat.h>
int
-main (void)
+main(void)
{
struct mq_attr attr;
(void) close(0);
diff --git a/tests-mx32/mq_sendrecv.c b/tests-mx32/mq_sendrecv.c
index e3ad0d50..f6f6bd29 100644
--- a/tests-mx32/mq_sendrecv.c
+++ b/tests-mx32/mq_sendrecv.c
@@ -228,7 +228,7 @@ main(void)
static const struct timespec future_tmout_data = {
.tv_sec = (time_t) 0x7ea1fade7e57faceLL,
.tv_nsec = 999999999,
- };;
+ };
struct_sigevent bogus_sev_data = {
.sigev_notify = 0xdefaced,
.sigev_signo = 0xfacefeed,
@@ -437,7 +437,7 @@ main(void)
bogus_attrs[1] = 2;
bogus_attrs[2] = MSG_SIZE;
fd = rc = syscall(__NR_mq_open, mq_name,
- O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
+ O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
errstr = sprintrc(rc);
if (rc < 0)
perror_msg_and_skip("mq_open");
diff --git a/tests-mx32/msg_control.c b/tests-mx32/msg_control.c
index 1e64f1ab..b63f2d04 100644
--- a/tests-mx32/msg_control.c
+++ b/tests-mx32/msg_control.c
@@ -40,6 +40,9 @@
#include <netinet/in.h>
#include <arpa/inet.h>
+#include "xlat.h"
+#include "xlat/scmvals.h"
+
#ifndef SOL_IP
# define SOL_IP 0
#endif
@@ -60,8 +63,6 @@ get_cmsghdr(void *const page, const size_t len)
return page - CMSG_ALIGN(len);
}
-#define DEFAULT_STRLEN 32
-
static void
print_fds(const struct cmsghdr *const cmsg, const size_t cmsg_len)
{
@@ -230,6 +231,152 @@ test_scm_rights3(struct msghdr *const mh, void *const page, const size_t nfds)
}
static void
+test_scm_timestamp(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(sizeof(struct timeval));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timeval));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMP;
+ struct timeval *tv = (struct timeval *) CMSG_DATA(cmsg);
+ tv->tv_sec = 123456789;
+ tv->tv_usec = 987654;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMP"
+ ", cmsg_data={tv_sec=%lld, tv_usec=%llu}}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (long long) tv->tv_sec, zero_extend_signed_to_ull(tv->tv_usec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(sizeof(struct timeval) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timeval) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMP;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMP, cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
+test_scm_timestampns(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(sizeof(struct timespec));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timespec));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPNS;
+ struct timespec *ts = (struct timespec *) CMSG_DATA(cmsg);
+ ts->tv_sec = 123456789;
+ ts->tv_nsec = 987654321;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPNS"
+ ", cmsg_data={tv_sec=%lld, tv_nsec=%llu}}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(sizeof(struct timespec) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timespec) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPNS;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPNS"
+ ", cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
+test_scm_timestamping(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(3 * sizeof(struct timespec));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(3 * sizeof(struct timespec));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPING;
+ struct timespec *ts = (struct timespec *) CMSG_DATA(cmsg);
+ ts[0].tv_sec = 123456789;
+ ts[0].tv_nsec = 987654321;
+ ts[1].tv_sec = 123456790;
+ ts[1].tv_nsec = 987654320;
+ ts[2].tv_sec = 123456791;
+ ts[2].tv_nsec = 987654319;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPING"
+ ", cmsg_data=[{tv_sec=%lld, tv_nsec=%llu}"
+ ", {tv_sec=%lld, tv_nsec=%llu}, {tv_sec=%lld, tv_nsec=%llu}]}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len, (long long) ts[0].tv_sec,
+ zero_extend_signed_to_ull(ts[0].tv_nsec),
+ (long long) ts[1].tv_sec,
+ zero_extend_signed_to_ull(ts[1].tv_nsec),
+ (long long) ts[2].tv_sec,
+ zero_extend_signed_to_ull(ts[2].tv_nsec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(3 * sizeof(struct timespec) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(3 * sizeof(struct timespec) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPING;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPING"
+ ", cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
print_security(const struct cmsghdr *const cmsg, const size_t cmsg_len)
{
int n = cmsg_len > CMSG_LEN(0) ? cmsg_len - CMSG_LEN(0) : 0;
@@ -378,12 +525,16 @@ test_sol_socket(struct msghdr *const mh, void *const page)
test_scm_rights3(mh, page, DEFAULT_STRLEN);
test_scm_rights3(mh, page, DEFAULT_STRLEN + 1);
+ test_scm_timestamp(mh, page);
+ test_scm_timestampns(mh, page);
+ test_scm_timestamping(mh, page);
+
test_unknown_type(mh, page, ARG_STR(SOL_SOCKET), "SCM_???");
}
static void
test_ip_pktinfo(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(sizeof(struct in_pktinfo));
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
@@ -448,7 +599,7 @@ test_ip_uint(struct msghdr *const mh, void *const page,
static void
test_ip_uint8_t(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(1);
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
@@ -530,7 +681,7 @@ struct sock_ee {
static void
test_ip_recverr(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(sizeof(struct sock_ee));
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
diff --git a/tests-mx32/net-accept-connect.c b/tests-mx32/net-accept-connect.c
index 04c05a60..0050eeb4 100644
--- a/tests-mx32/net-accept-connect.c
+++ b/tests-mx32/net-accept-connect.c
@@ -69,7 +69,7 @@ main(int ac, const char **av)
if (listen(0, 5))
perror_msg_and_skip("listen");
- memset(&addr, 0, sizeof addr);
+ memset(&addr, 0, sizeof(addr));
assert(getsockname(0, (struct sockaddr *) &addr, &len) == 0);
if (len > sizeof(addr))
len = sizeof(addr);
diff --git a/tests-mx32/net-sockaddr.c b/tests-mx32/net-sockaddr.c
index 9dc9ecf5..1d9bac39 100644
--- a/tests-mx32/net-sockaddr.c
+++ b/tests-mx32/net-sockaddr.c
@@ -37,11 +37,11 @@
#include <sys/un.h>
#include <arpa/inet.h>
#include <netinet/in.h>
+#include "netlink.h"
#include <linux/if_arp.h>
#include <linux/if_ether.h>
#include <linux/if_packet.h>
#include <linux/ipx.h>
-#include <linux/netlink.h>
#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
# include <bluetooth/bluetooth.h>
# include <bluetooth/hci.h>
diff --git a/tests-mx32/net-y-unix.c b/tests-mx32/net-y-unix.c
index df56ad64..fbdf5900 100644
--- a/tests-mx32/net-y-unix.c
+++ b/tests-mx32/net-y-unix.c
@@ -182,7 +182,7 @@ main(void)
perror_msg_and_fail("accept");
accept_inode = inode_of_sockfd(accept_fd);
const char * const sun_path1 =
- ((struct sockaddr_un *) accept_sa) -> sun_path + 1;
+ ((struct sockaddr_un *) accept_sa)->sun_path + 1;
printf("accept(%d<socket:[%lu]>, {sa_family=AF_UNIX"
", sun_path=@\"%s\"}, [%d->%d]) = %d<socket:[%lu]>\n",
listen_fd, listen_inode, sun_path1,
diff --git a/tests-mx32/net-yy-inet.c b/tests-mx32/net-yy-inet.c
index af1262ee..c043920d 100644
--- a/tests-mx32/net-yy-inet.c
+++ b/tests-mx32/net-yy-inet.c
@@ -74,7 +74,7 @@ main(void)
if (getsockname(listen_fd, listen_sa, len))
perror_msg_and_fail("getsockname");
const unsigned int listen_port =
- ntohs(((struct sockaddr_in *) listen_sa) -> sin_port);
+ ntohs(((struct sockaddr_in *) listen_sa)->sin_port);
printf("getsockname(%d<TCP:[127.0.0.1:%u]>, {sa_family=AF_INET"
", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}"
", [%u]) = 0\n",
@@ -109,7 +109,7 @@ main(void)
if (accept_fd < 0)
perror_msg_and_fail("accept");
const unsigned int connect_port =
- ntohs(((struct sockaddr_in *) accept_sa) -> sin_port);
+ ntohs(((struct sockaddr_in *) accept_sa)->sin_port);
printf("accept(%d<TCP:[127.0.0.1:%u]>, {sa_family=AF_INET"
", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}"
", [%u]) = %d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>\n",
diff --git a/tests-mx32/net-yy-netlink.c b/tests-mx32/net-yy-netlink.c
index 6539edab..8ccf5bc0 100644
--- a/tests-mx32/net-yy-netlink.c
+++ b/tests-mx32/net-yy-netlink.c
@@ -36,14 +36,10 @@
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/netlink_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
int
main(void)
{
diff --git a/tests-mx32/net-yy-unix.c b/tests-mx32/net-yy-unix.c
index f27cdc07..21822db9 100644
--- a/tests-mx32/net-yy-unix.c
+++ b/tests-mx32/net-yy-unix.c
@@ -185,7 +185,7 @@ main(void)
perror_msg_and_fail("accept");
accept_inode = inode_of_sockfd(accept_fd);
const char * const sun_path1 =
- ((struct sockaddr_un *) accept_sa) -> sun_path + 1;
+ ((struct sockaddr_un *) accept_sa)->sun_path + 1;
printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
", sun_path=@\"%s\"}, [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
listen_fd, listen_inode, TEST_SOCKET, sun_path1,
diff --git a/tests-mx32/netlink_audit.c b/tests-mx32/netlink_audit.c
new file mode 100644
index 00000000..00ddc4f3
--- /dev/null
+++ b/tests-mx32/netlink_audit.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <linux/audit.h>
+#include "netlink.h"
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = AUDIT_GET,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=AUDIT_GET"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_AUDIT);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-mx32/netlink_audit.gen.test b/tests-mx32/netlink_audit.gen.test
new file mode 100755
index 00000000..65110672
--- /dev/null
+++ b/tests-mx32/netlink_audit.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_audit +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/netlink_generic.c b/tests-mx32/netlink_generic.c
new file mode 100644
index 00000000..4f80c8b5
--- /dev/null
+++ b/tests-mx32/netlink_generic.c
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* This test case is based on netlink_selinux.c */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_GENETLINK_H
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+# include <sys/socket.h>
+# include "netlink.h"
+# include <linux/genetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ /*
+ * Though GENL_ID_CTRL number is statically fixed in this test case,
+ * strace does not have a builtin knowledge that the corresponding
+ * string is "nlctrl".
+ */
+ long rc;
+ struct {
+ const struct nlmsghdr nlh;
+ struct genlmsghdr gnlh;
+ } req = {
+ .nlh = {
+ .nlmsg_len = sizeof(req),
+ .nlmsg_type = GENL_ID_CTRL,
+ .nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST
+ },
+ .gnlh = {
+ .cmd = CTRL_CMD_GETFAMILY
+ }
+ };
+
+ rc = sendto(fd, &req, sizeof(req), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=nlctrl"
+ ", flags=NLM_F_REQUEST|0x300, seq=0, pid=0}"
+ ", \"\\3\\0\\0\\0\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, req.nlh.nlmsg_len,
+ (unsigned int) sizeof(req), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_GENERIC);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_GENETLINK_H")
+
+#endif
diff --git a/tests-mx32/netlink_generic.gen.test b/tests-mx32/netlink_generic.gen.test
new file mode 100755
index 00000000..e51f15ce
--- /dev/null
+++ b/tests-mx32/netlink_generic.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_generic +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/netlink_inet_diag.c b/tests-mx32/netlink_inet_diag.c
index 2332e203..5f68cb3c 100644
--- a/tests-mx32/netlink_inet_diag.c
+++ b/tests-mx32/netlink_inet_diag.c
@@ -32,7 +32,7 @@
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/inet_diag.h>
diff --git a/tests-mx32/netlink_netfilter.c b/tests-mx32/netlink_netfilter.c
new file mode 100644
index 00000000..2907c261
--- /dev/null
+++ b/tests-mx32/netlink_netfilter.c
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_NETFILTER_NFNETLINK_H
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+# include <sys/socket.h>
+# include "netlink.h"
+# include <linux/netfilter/nfnetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+# ifdef NFNL_MSG_BATCH_BEGIN
+ nlh.nlmsg_type = NFNL_MSG_BATCH_BEGIN;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_MSG_BATCH_BEGIN"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8) | NFNL_MSG_BATCH_BEGIN;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|%#x"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NFNL_MSG_BATCH_BEGIN,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+# endif
+
+ nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8);
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|0"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_NETFILTER);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_NETFILTER_NFNETLINK_H")
+
+#endif
diff --git a/tests-mx32/netlink_netfilter.gen.test b/tests-mx32/netlink_netfilter.gen.test
new file mode 100755
index 00000000..fffb72b4
--- /dev/null
+++ b/tests-mx32/netlink_netfilter.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_netfilter +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/netlink_netlink_diag.c b/tests-mx32/netlink_netlink_diag.c
index fc32822b..d7e83f5c 100644
--- a/tests-mx32/netlink_netlink_diag.c
+++ b/tests-mx32/netlink_netlink_diag.c
@@ -33,14 +33,10 @@
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/netlink_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
static void
send_query(const int fd)
{
diff --git a/tests-mx32/netlink_protocol.c b/tests-mx32/netlink_protocol.c
index 35f954fd..f09dd9a9 100644
--- a/tests-mx32/netlink_protocol.c
+++ b/tests-mx32/netlink_protocol.c
@@ -38,14 +38,10 @@
# include <unistd.h>
# include <sys/xattr.h>
# include <netinet/in.h>
-# include <linux/netlink.h>
+# include "netlink.h"
# include <linux/sock_diag.h>
# include <linux/netlink_diag.h>
-# if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-# endif
-
static void
send_query(const int fd)
{
@@ -100,8 +96,8 @@ send_query(const int fd)
/* a single message without data */
req->nlh.nlmsg_len = sizeof(req->nlh);
rc = sendto(fd, &req->nlh, sizeof(req->nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(req->nlh), sprintrc(rc));
@@ -116,8 +112,8 @@ send_query(const int fd)
/* nlmsg_len < sizeof(struct nlmsghdr) */
req->nlh.nlmsg_len = 8;
rc = sendto(fd, req, sizeof(*req), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(*req), sprintrc(rc));
@@ -165,15 +161,14 @@ send_query(const int fd)
reqs->req2.nlh.nlmsg_len = 4;
rc = sendto(fd, reqs, sizeof(*reqs), MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, [{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}, \"abcd\"}, {{len=%u, type=NLMSG_NOOP"
- ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}}], %u"
+ ", seq=0, pid=0}, \"abcd\"}, {len=%u, type=NLMSG_NOOP"
+ ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}], %u"
", MSG_DONTWAIT, NULL, 0) = %s\n",
fd, reqs->req1.nlh.nlmsg_len, NLM_F_DUMP,
reqs->req2.nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(*reqs), sprintrc(rc));
/* abbreviated output */
-# define DEFAULT_STRLEN 32
# define ABBREV_LEN (DEFAULT_STRLEN + 1)
const unsigned int msg_len = sizeof(struct nlmsghdr) * ABBREV_LEN;
struct nlmsghdr *const msgs = tail_alloc(msg_len);
@@ -192,8 +187,8 @@ send_query(const int fd)
for (i = 0; i < DEFAULT_STRLEN; ++i) {
if (i)
printf(", ");
- printf("{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=0}}",
+ printf("{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=0}",
msgs[i].nlmsg_len, NLM_F_DUMP, msgs[i].nlmsg_seq);
}
printf(", ...], %u, MSG_DONTWAIT, NULL, 0) = %s\n", msg_len, errstr);
@@ -281,8 +276,8 @@ test_nlmsgerr(const int fd)
rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
", seq=0, pid=0}, {error=-EACCES"
- ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=%u}}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
err->msg.nlmsg_seq, err->msg.nlmsg_pid,
nlh->nlmsg_len, sprintrc(rc));
@@ -314,24 +309,58 @@ test_nlmsgerr(const int fd)
nlh->nlmsg_len, sprintrc(rc));
}
-int main(void)
+static void
+test_nlmsg_done(const int fd)
{
- struct sockaddr_nl addr;
- socklen_t len = sizeof(addr);
- int fd;
+ struct nlmsghdr *nlh;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+ const int num = 0xfacefeed;
- memset(&addr, 0, sizeof(addr));
- addr.nl_family = AF_NETLINK;
+ /* NLMSG_DONE message without enough room for an integer payload */
+ nlh = nlh0;
+ *nlh = (struct nlmsghdr) {
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(num),
+ .nlmsg_type = NLMSG_DONE,
+ .nlmsg_flags = NLM_F_MULTI
+ };
- if ((fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG)) == -1)
- perror_msg_and_skip("socket AF_NETLINK");
+ rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, %p}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+ nlh->nlmsg_len, sprintrc(rc));
- printf("socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG) = %d\n",
- fd);
- if (bind(fd, (struct sockaddr *) &addr, len))
- perror_msg_and_skip("bind");
- printf("bind(%d, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}"
- ", %u) = 0\n", fd, len);
+ /* NLMSG_DONE message with enough room for an oddly short payload */
+ nlh->nlmsg_len = NLMSG_HDRLEN + 2;
+ nlh = nlh0 - 2;
+ /* Beware of unaligned access to nlh members. */
+ memmove(nlh, nlh0, sizeof(*nlh));
+ memcpy(NLMSG_DATA(nlh), "42", 2);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + 2, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, \"42\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + 2, NLMSG_HDRLEN + 2, sprintrc(rc));
+
+ /* NLMSG_DONE message with enough room for an integer payload */
+ nlh = nlh0 - sizeof(num);
+ *nlh = (struct nlmsghdr) {
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(num),
+ .nlmsg_type = NLMSG_DONE,
+ .nlmsg_flags = NLM_F_MULTI
+ };
+ memcpy(NLMSG_DATA(nlh), &num, sizeof(num));
+
+ rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, %d}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh->nlmsg_len, num, nlh->nlmsg_len, sprintrc(rc));
+}
+
+int main(void)
+{
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
char *path;
if (asprintf(&path, "/proc/self/fd/%u", fd) < 0)
@@ -343,9 +372,9 @@ int main(void)
send_query(fd);
test_nlmsgerr(fd);
+ test_nlmsg_done(fd);
- printf("+++ exited with 0 +++\n");
-
+ puts("+++ exited with 0 +++");
return 0;
}
diff --git a/tests-mx32/netlink_protocol.gen.test b/tests-mx32/netlink_protocol.gen.test
index 9a132faf..18d06677 100755
--- a/tests-mx32/netlink_protocol.gen.test
+++ b/tests-mx32/netlink_protocol.gen.test
@@ -1,4 +1,4 @@
#!/bin/sh -efu
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=%network); do not edit.
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=sendto); do not edit.
. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=%network
+run_strace_match_diff -e trace=sendto
diff --git a/tests-mx32/netlink_route.c b/tests-mx32/netlink_route.c
new file mode 100644
index 00000000..54a54b7e
--- /dev/null
+++ b/tests-mx32/netlink_route.c
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = RTM_GETLINK,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ };
+
+ nlh.nlmsg_type = RTM_GETLINK;
+ nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_DELACTION;
+ nlh.nlmsg_flags = NLM_F_ROOT;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_DELACTION"
+ ", flags=NLM_F_ROOT, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_NEWLINK;
+ nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_NEWLINK"
+ ", flags=NLM_F_ECHO|NLM_F_REPLACE, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_DELLINK;
+ nlh.nlmsg_flags = NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_DELLINK"
+ ", flags=%#x /* NLM_F_??? */, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NLM_F_REPLACE,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_ROUTE);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-mx32/netlink_route.gen.test b/tests-mx32/netlink_route.gen.test
new file mode 100755
index 00000000..298dbf1a
--- /dev/null
+++ b/tests-mx32/netlink_route.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_route +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/netlink_selinux.c b/tests-mx32/netlink_selinux.c
new file mode 100644
index 00000000..6494fda9
--- /dev/null
+++ b/tests-mx32/netlink_selinux.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/selinux_netlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SELNL_MSG_SETENFORCE,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SELNL_MSG_SETENFORCE"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_SELINUX);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-mx32/netlink_selinux.gen.test b/tests-mx32/netlink_selinux.gen.test
new file mode 100755
index 00000000..a8871d6d
--- /dev/null
+++ b/tests-mx32/netlink_selinux.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_selinux +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/netlink_sock_diag.c b/tests-mx32/netlink_sock_diag.c
new file mode 100644
index 00000000..b8d01904
--- /dev/null
+++ b/tests-mx32/netlink_sock_diag.c
@@ -0,0 +1,1606 @@
+/*
+ * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <netinet/tcp.h>
+#include "netlink.h"
+#include <linux/if_ether.h>
+#include <linux/inet_diag.h>
+#include <linux/netlink_diag.h>
+#include <linux/packet_diag.h>
+#ifdef AF_SMC
+# include <linux/smc_diag.h>
+#endif
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+#define SMC_ACTIVE 1
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_odd_family_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* unspecified family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=AF_UNSPEC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unknown family only */
+ *family = 0xff;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=0xff /* AF_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* short read of family */
+ memmove(nlh0, nlh, NLMSG_HDRLEN);
+ nlh = nlh0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, %p}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_DATA(nlh),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unspecified family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=AF_UNSPEC, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unknown family and string */
+ *family = 0xfd;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=0xfd /* AF_??? */, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+}
+
+static void
+test_odd_family_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* unspecified family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=AF_UNSPEC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unknown family only */
+ *family = 0xff;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=0xff /* AF_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* short read of family */
+ memmove(nlh0, nlh, NLMSG_HDRLEN);
+ nlh = nlh0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, %p}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_DATA(nlh),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unspecified family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=AF_UNSPEC, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unknown family and string */
+ *family = 0xfb;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=0xfb /* AF_??? */, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+}
+
+static void
+test_unix_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct unix_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_UNIX}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_UNIX, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unix_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct unix_diag_req) {
+ .sdiag_family = AF_UNIX,
+ .sdiag_protocol = 253,
+ .udiag_states = 1 << TCP_ESTABLISHED | 1 << TCP_LISTEN,
+ .udiag_ino = 0xfacefeed,
+ .udiag_show = UDIAG_SHOW_NAME,
+ .udiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_UNIX, sdiag_protocol=%u"
+ ", udiag_states=1<<TCP_ESTABLISHED|1<<TCP_LISTEN, udiag_ino=%u"
+ ", udiag_show=UDIAG_SHOW_NAME, udiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 253, 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of unix_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {sdiag_family=AF_UNIX, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_unix_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct unix_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_UNIX}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unix_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct unix_diag_msg) {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1,
+ .udiag_ino = 0xfacefeed,
+ .udiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, udiag_type=SOCK_STREAM"
+ ", udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=%u, udiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of unix_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_netlink_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct netlink_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_NETLINK}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* netlink_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct netlink_diag_req) {
+ .sdiag_family = AF_NETLINK,
+ .sdiag_protocol = NDIAG_PROTO_ALL,
+ .ndiag_ino = 0xfacefeed,
+ .ndiag_show = NDIAG_SHOW_MEMINFO,
+ .ndiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, sdiag_protocol=NDIAG_PROTO_ALL"
+ ", ndiag_ino=%u, ndiag_show=NDIAG_SHOW_MEMINFO"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ req->sdiag_protocol = NETLINK_ROUTE;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, sdiag_protocol=NETLINK_ROUTE"
+ ", ndiag_ino=%u, ndiag_show=NDIAG_SHOW_MEMINFO"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of netlink_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_netlink_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct netlink_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_NETLINK}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {ndiag_family=AF_NETLINK, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* netlink_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct netlink_diag_msg) {
+ .ndiag_family = AF_NETLINK,
+ .ndiag_type = SOCK_RAW,
+ .ndiag_protocol = NETLINK_ROUTE,
+ .ndiag_state = NETLINK_CONNECTED,
+ .ndiag_portid = 0xbadc0ded,
+ .ndiag_dst_portid = 0xdeadbeef,
+ .ndiag_dst_group = 0xfacefeed,
+ .ndiag_ino = 0xdaeefacd,
+ .ndiag_cookie = { 0xbadc0ded, 0xdeadbeef }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {ndiag_family=AF_NETLINK"
+ ", ndiag_type=SOCK_RAW, ndiag_protocol=NETLINK_ROUTE"
+ ", ndiag_state=NETLINK_CONNECTED, ndiag_portid=%u"
+ ", ndiag_dst_portid=%u, ndiag_dst_group=%u, ndiag_ino=%u"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xbadc0ded, 0xdeadbeef, 0xfacefeed,
+ 0xdaeefacd, 0xbadc0ded, 0xdeadbeef,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of netlink_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {ndiag_family=AF_NETLINK, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_packet_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct packet_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_PACKET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* packet_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct packet_diag_req) {
+ .sdiag_family = AF_PACKET,
+ .sdiag_protocol = ETH_P_LOOP,
+ .pdiag_ino = 0xfacefeed,
+ .pdiag_show = PACKET_SHOW_INFO,
+ .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, sdiag_protocol=ETH_P_LOOP"
+ ", pdiag_ino=%u, pdiag_show=PACKET_SHOW_INFO"
+ ", pdiag_cookie=[%u, %u]}}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of packet_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_packet_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct packet_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_PACKET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* packet_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct packet_diag_msg) {
+ .pdiag_family = AF_PACKET,
+ .pdiag_type = SOCK_STREAM,
+ .pdiag_num = 0xbadc,
+ .pdiag_ino = 0xfacefeed,
+ .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM"
+ ", pdiag_num=%u, pdiag_ino=%u, pdiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xbadc, 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of packet_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_sockid(const int fd)
+{
+ const char address[] = "12.34.56.78";
+ const char address6[] = "12:34:56:78:90:ab:cd:ef";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req_v2 *req;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ nlh = nlh0 - sizeof(*req);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req_v2) {
+ .sdiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_CONG - 1),
+ .sdiag_protocol = IPPROTO_TCP,
+ .idiag_states = 1 << TCP_CLOSE,
+ .id = {
+ .idiag_sport = 0xfacd,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ req->sdiag_family = AF_INET6;
+ if (!inet_pton(AF_INET6, address6, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET6, address6, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET6, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET6, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET6, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address6, address6,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_req(const int fd)
+{
+ const char address[] = "12.34.56.78";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req) {
+ .idiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_TOS - 1),
+ .idiag_src_len = 0xde,
+ .idiag_dst_len = 0xba,
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ .idiag_states = 1 << TCP_LAST_ACK,
+ .idiag_dbs = 0xfacefeed,
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, idiag_src_len=%u"
+ ", idiag_dst_len=%u, idiag_ext=1<<(INET_DIAG_TOS-1)"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", idiag_states=1<<TCP_LAST_ACK, idiag_dbs=%u}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xde, 0xba, ntohs(0xdead), ntohs(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded, 0xfacefeed,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of inet_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_req_v2(const int fd)
+{
+ const char address[] = "87.65.43.21";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req_v2 *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_req_v2 */
+ nlh = nlh0 - sizeof(*req);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req_v2) {
+ .sdiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_CONG - 1),
+ .sdiag_protocol = IPPROTO_TCP,
+ .idiag_states = 1 << TCP_CLOSE,
+ .id = {
+ .idiag_sport = 0xfacd,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of inet_diag_req_v2 */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_msg(const int fd)
+{
+ const char address[] = "11.22.33.44";
+ struct nlmsghdr *nlh;
+ struct inet_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct inet_diag_msg) {
+ .idiag_family = AF_INET,
+ .idiag_state = TCP_LISTEN,
+ .idiag_timer = 0xfa,
+ .idiag_retrans = 0xde,
+ .id = {
+ .idiag_sport = 0xfacf,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ .idiag_expires = 0xfacefeed,
+ .idiag_rqueue = 0xdeadbeef,
+ .idiag_wqueue = 0xadcdfafc,
+ .idiag_uid = 0xdecefaeb,
+ .idiag_inode = 0xbadc0ded,
+ };
+
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, idiag_state=TCP_LISTEN"
+ ", idiag_timer=%u, idiag_retrans=%u"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", idiag_expires=%u, idiag_rqueue=%u, idiag_wqueue=%u"
+ ", idiag_uid=%u, idiag_inode=%u}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xfa, 0xde, ntohs(0xfacf), ntohs(0xdead),
+ address, address, 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ 0xfacefeed, 0xdeadbeef, 0xadcdfafc, 0xdecefaeb, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of inet_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+#ifdef AF_SMC
+static void
+test_smc_diag_req(const int fd)
+{
+ const char address[] = "43.21.56.78";
+ struct nlmsghdr *nlh;
+ struct smc_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_SMC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* smc_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct smc_diag_req) {
+ .diag_family = AF_SMC,
+ .diag_ext = 1 << (SMC_DIAG_CONNINFO - 1),
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded },
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {diag_family=AF_SMC"
+ ", diag_ext=1<<(SMC_DIAG_CONNINFO-1)"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ htons(0xdead), htons(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of smc_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_smc_diag_msg(const int fd)
+{
+ const char address[] = "34.87.12.90";
+ struct nlmsghdr *nlh;
+ struct smc_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_SMC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* smc_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct smc_diag_msg) {
+ .diag_family = AF_SMC,
+ .diag_state = SMC_ACTIVE,
+ .diag_fallback = 0xde,
+ .diag_shutdown = 0xba,
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded },
+ },
+ .diag_uid = 0xadcdfafc,
+ .diag_inode = 0xbadc0ded,
+ };
+
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {diag_family=AF_SMC"
+ ", diag_state=SMC_ACTIVE, diag_fallback=%u, diag_shutdown=%u"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", diag_uid=%u, diag_inode=%u}}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xde, 0xba, htons(0xdead), htons(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded, 0xadcdfafc, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of smc_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+#endif
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+ test_odd_family_req(fd);
+ test_odd_family_msg(fd);
+ test_unix_diag_req(fd);
+ test_unix_diag_msg(fd);
+ test_netlink_diag_req(fd);
+ test_netlink_diag_msg(fd);
+ test_packet_diag_req(fd);
+ test_packet_diag_msg(fd);
+ test_inet_diag_sockid(fd);
+ test_inet_diag_req(fd);
+ test_inet_diag_req_v2(fd);
+ test_inet_diag_msg(fd);
+#ifdef AF_SMC
+ test_smc_diag_req(fd);
+ test_smc_diag_msg(fd);
+#endif
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-mx32/netlink_sock_diag.test b/tests-mx32/netlink_sock_diag.test
new file mode 100755
index 00000000..0cf380e2
--- /dev/null
+++ b/tests-mx32/netlink_sock_diag.test
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Check decoding of NETLINK_SOCK_DIAG protocol
+#
+# Copyright (c) 2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+. "${srcdir=.}/init.sh"
+
+run_prog ../netlink_netlink_diag
+run_strace_match_diff -e trace=sendto
diff --git a/tests-mx32/netlink_unix_diag.c b/tests-mx32/netlink_unix_diag.c
index 269adc6f..119cc9e7 100644
--- a/tests-mx32/netlink_unix_diag.c
+++ b/tests-mx32/netlink_unix_diag.c
@@ -36,14 +36,10 @@
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/unix_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
static void
send_query(const int fd)
{
diff --git a/tests-mx32/netlink_xfrm.c b/tests-mx32/netlink_xfrm.c
new file mode 100644
index 00000000..27f62d1e
--- /dev/null
+++ b/tests-mx32/netlink_xfrm.c
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/xfrm.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = XFRM_MSG_NEWSA,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ };
+
+ nlh.nlmsg_type = XFRM_MSG_GETSA;
+ nlh.nlmsg_flags = NLM_F_DUMP;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_GETSA"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = XFRM_MSG_NEWSA;
+ nlh.nlmsg_flags = NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REPLACE, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = XFRM_MSG_DELSA;
+ nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_DELSA"
+ ", flags=NLM_F_ECHO|%#x, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NLM_F_REPLACE,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_XFRM);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests-mx32/netlink_xfrm.gen.test b/tests-mx32/netlink_xfrm.gen.test
new file mode 100755
index 00000000..17f7444b
--- /dev/null
+++ b/tests-mx32/netlink_xfrm.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_xfrm +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/nlattr.c b/tests-mx32/nlattr.c
new file mode 100644
index 00000000..7361eced
--- /dev/null
+++ b/tests-mx32/nlattr.c
@@ -0,0 +1,326 @@
+/*
+ * Check decoding of netlink attribute.
+ *
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <netinet/tcp.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+static void
+test_nlattr(const int fd)
+{
+ static const struct msg {
+ struct nlmsghdr nlh;
+ struct unix_diag_msg udm;
+ } c_msg = {
+ .nlh = {
+ .nlmsg_len = sizeof(struct msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ },
+ .udm = {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1
+ }
+ };
+ struct msg *msg;
+ struct nlattr *nla;
+ unsigned int msg_len;
+ long rc;
+
+ /* fetch fail: len < sizeof(struct nlattr) */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ memcpy(nla, "12", 2);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, \"12\"}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, msg_len, sprintrc(rc));
+
+ /* fetch fail: short read */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len - 1);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, %p}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, (void *) msg + NLMSG_SPACE(sizeof(msg->udm)),
+ msg_len, sprintrc(rc));
+
+ /* print one struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = sizeof(*nla),
+ .nla_type = UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr with nla_len out of msg_len bounds */
+ nla->nla_len += 8;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and some data */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN + 4;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN + 4,
+ .nla_type = UNIX_DIAG_SHUTDOWN + 1
+ };
+ memcpy(RTA_DATA(nla), "1234", 4);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {{nla_len=%u"
+ ", nla_type=%#x /* UNIX_DIAG_??? */}, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, UNIX_DIAG_SHUTDOWN + 1,
+ msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and fetch fail second struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN + 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ memcpy(nla + 1, "12", 2);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, \"12\"]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and short read of second struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN * 2;
+ msg = tail_memdup(&c_msg, msg_len - 1);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, %p]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, nla + 1, msg_len, sprintrc(rc));
+
+ /* print two struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN * 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ *(nla + 1) = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_PEER
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_PEER}]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, nla->nla_len,
+ msg_len, sprintrc(rc));
+
+ /* print first nlattr only when its nla_len is less than NLA_HDRLEN */
+ nla->nla_len = NLA_HDRLEN - 1;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* abbreviated output */
+#define ABBREV_LEN (DEFAULT_STRLEN + 1)
+ msg_len = NLA_HDRLEN * ABBREV_LEN + NLMSG_SPACE(sizeof(msg->udm));
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ unsigned int i;
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ for (i = 0; i < ABBREV_LEN; ++i)
+ nla[i] = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_SHUTDOWN + 1 + i
+ };
+
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, udiag_type=SOCK_STREAM"
+ ", udiag_state=TCP_FIN_WAIT1, udiag_ino=0"
+ ", udiag_cookie=[0, 0]}, [",
+ fd, msg_len);
+ for (i = 0; i < DEFAULT_STRLEN; ++i) {
+ if (i)
+ printf(", ");
+ printf("{nla_len=%u, nla_type=%#x /* UNIX_DIAG_??? */}",
+ nla->nla_len, UNIX_DIAG_SHUTDOWN + 1 + i);
+ }
+ printf(", ...]}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ msg_len, sprintrc(rc));
+}
+
+static void
+test_nla_type(const int fd)
+{
+ static const struct msg {
+ struct nlmsghdr nlh;
+ struct unix_diag_msg udm;
+ } c_msg = {
+ .nlh = {
+ .nlmsg_len = sizeof(struct msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ },
+ .udm = {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1
+ }
+ };
+ struct msg *msg;
+ struct nlattr *nla;
+ unsigned int msg_len;
+ long rc;
+
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = sizeof(*nla),
+ .nla_type = NLA_F_NESTED | UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NET_BYTEORDER | UNIX_DIAG_NAME;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NET_BYTEORDER|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NESTED | NLA_F_NET_BYTEORDER | UNIX_DIAG_NAME;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|NLA_F_NET_BYTEORDER|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NESTED | (UNIX_DIAG_SHUTDOWN + 1);
+ rc = sendto(fd, msg, msg->nlh.nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|%#x /* UNIX_DIAG_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg->nlh.nlmsg_len, nla->nla_len, UNIX_DIAG_SHUTDOWN + 1,
+ msg->nlh.nlmsg_len, sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+
+ test_nlattr(fd);
+ test_nla_type(fd);
+
+ puts("+++ exited with 0 +++");
+
+ return 0;
+}
diff --git a/tests-mx32/nlattr.gen.test b/tests-mx32/nlattr.gen.test
new file mode 100755
index 00000000..105801b9
--- /dev/null
+++ b/tests-mx32/nlattr.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/nlattr_inet_diag_msg.c b/tests-mx32/nlattr_inet_diag_msg.c
new file mode 100644
index 00000000..d9d564c3
--- /dev/null
+++ b/tests-mx32/nlattr_inet_diag_msg.c
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+#include <netinet/tcp.h>
+#include "test_nlattr.h"
+#include <linux/inet_diag.h>
+#include <linux/sock_diag.h>
+
+static const char address[] = "10.11.12.13";
+
+#ifdef HAVE_IF_INDEXTONAME
+# define IFINDEX_LO (if_nametoindex("lo"))
+#else
+# define IFINDEX_LO 1
+#endif
+
+static void
+init_inet_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct inet_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct inet_diag_msg, msg,
+ .idiag_family = AF_INET,
+ .idiag_state = TCP_LISTEN,
+ .id.idiag_if = IFINDEX_LO
+ );
+
+ if (!inet_pton(AF_INET, address, msg->id.idiag_src) ||
+ !inet_pton(AF_INET, address, msg->id.idiag_dst))
+ perror_msg_and_skip("inet_pton");
+}
+
+static void
+print_inet_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {idiag_family=AF_INET"
+ ", idiag_state=TCP_LISTEN, idiag_timer=0, idiag_retrans=0"
+ ", id={idiag_sport=htons(0), idiag_dport=htons(0)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=if_nametoindex(\"lo\"), idiag_cookie=[0, 0]}"
+ ", idiag_expires=0, idiag_rqueue=0, idiag_wqueue=0"
+ ", idiag_uid=0, idiag_inode=0}",
+ msg_len, address, address);
+}
+
+static void
+print_uint(const unsigned int *p)
+{
+ printf("%u", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct inet_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const struct inet_diag_meminfo minfo = {
+ .idiag_rmem = 0xfadcacdb,
+ .idiag_wmem = 0xbdabcada,
+ .idiag_fmem = 0xbadbfafb,
+ .idiag_tmem = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_MEMINFO, pattern, minfo,
+ PRINT_FIELD_U("{", minfo, idiag_rmem);
+ PRINT_FIELD_U(", ", minfo, idiag_wmem);
+ PRINT_FIELD_U(", ", minfo, idiag_fmem);
+ PRINT_FIELD_U(", ", minfo, idiag_tmem);
+ printf("}"));
+
+ static const struct tcpvegas_info vegas = {
+ .tcpv_enabled = 0xfadcacdb,
+ .tcpv_rttcnt = 0xbdabcada,
+ .tcpv_rtt = 0xbadbfafb,
+ .tcpv_minrtt = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_VEGASINFO, pattern, vegas,
+ PRINT_FIELD_U("{", vegas, tcpv_enabled);
+ PRINT_FIELD_U(", ", vegas, tcpv_rttcnt);
+ PRINT_FIELD_U(", ", vegas, tcpv_rtt);
+ PRINT_FIELD_U(", ", vegas, tcpv_minrtt);
+ printf("}"));
+
+
+ static const struct tcp_dctcp_info dctcp = {
+ .dctcp_enabled = 0xfdac,
+ .dctcp_ce_state = 0xfadc,
+ .dctcp_alpha = 0xbdabcada,
+ .dctcp_ab_ecn = 0xbadbfafb,
+ .dctcp_ab_tot = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_DCTCPINFO, pattern, dctcp,
+ PRINT_FIELD_U("{", dctcp, dctcp_enabled);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ce_state);
+ PRINT_FIELD_U(", ", dctcp, dctcp_alpha);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_ecn);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_tot);
+ printf("}"));
+
+ static const struct tcp_bbr_info bbr = {
+ .bbr_bw_lo = 0xfdacdadf,
+ .bbr_bw_hi = 0xfadcacdb,
+ .bbr_min_rtt = 0xbdabcada,
+ .bbr_pacing_gain = 0xbadbfafb,
+ .bbr_cwnd_gain = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_BBRINFO, pattern, bbr,
+ PRINT_FIELD_X("{", bbr, bbr_bw_lo);
+ PRINT_FIELD_X(", ", bbr, bbr_bw_hi);
+ PRINT_FIELD_U(", ", bbr, bbr_min_rtt);
+ PRINT_FIELD_U(", ", bbr, bbr_pacing_gain);
+ PRINT_FIELD_U(", ", bbr, bbr_cwnd_gain);
+ printf("}"));
+
+ static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_SKMEMINFO, pattern, mem, print_uint);
+
+ static const uint32_t mark = 0xabdfadca;
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_MARK, pattern, mark,
+ printf("%u", mark));
+
+ static const uint8_t shutdown = 0xcd;
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SHUTDOWN,
+ sizeof(shutdown), &shutdown, sizeof(shutdown),
+ printf("%u", shutdown));
+
+ char *const str = tail_alloc(DEFAULT_STRLEN);
+ fill_memory_ex(str, DEFAULT_STRLEN, '0', 10);
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_CONG,
+ DEFAULT_STRLEN, str, DEFAULT_STRLEN,
+ printf("\"%.*s\"...", DEFAULT_STRLEN, str));
+ str[DEFAULT_STRLEN - 1] = '\0';
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_CONG,
+ DEFAULT_STRLEN, str, DEFAULT_STRLEN,
+ printf("\"%s\"", str));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-mx32/nlattr_inet_diag_msg.gen.test b/tests-mx32/nlattr_inet_diag_msg.gen.test
new file mode 100755
index 00000000..953a7675
--- /dev/null
+++ b/tests-mx32/nlattr_inet_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_inet_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/nlattr_netlink_diag_msg.c b/tests-mx32/nlattr_netlink_diag_msg.c
new file mode 100644
index 00000000..76a2d19e
--- /dev/null
+++ b/tests-mx32/nlattr_netlink_diag_msg.c
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include "test_nlattr.h"
+#include <linux/netlink_diag.h>
+#include <linux/sock_diag.h>
+
+static void
+init_netlink_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct netlink_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct netlink_diag_msg, msg,
+ .ndiag_family = AF_NETLINK,
+ .ndiag_type = SOCK_RAW,
+ .ndiag_protocol = NETLINK_ROUTE,
+ .ndiag_state = NETLINK_CONNECTED
+ );
+}
+
+static void
+print_netlink_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {ndiag_family=AF_NETLINK"
+ ", ndiag_type=SOCK_RAW, ndiag_protocol=NETLINK_ROUTE"
+ ", ndiag_state=NETLINK_CONNECTED, ndiag_portid=0"
+ ", ndiag_dst_portid=0, ndiag_dst_group=0, ndiag_ino=0"
+ ", ndiag_cookie=[0, 0]}",
+ msg_len);
+}
+
+static void
+print_xlong(const unsigned long *p)
+{
+ printf("%#lx", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct netlink_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const unsigned long groups[] = {
+ (unsigned long) 0xdeadbeefbadc0dedULL,
+ (unsigned long) 0xdeadbeefbadc0dedULL
+ };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_GROUPS, pattern, groups, print_xlong);
+
+ static const struct netlink_diag_ring ndr = {
+ .ndr_block_size = 0xfabfabdc,
+ .ndr_block_nr = 0xabcdabda,
+ .ndr_frame_size = 0xcbadbafa,
+ .ndr_frame_nr = 0xdbcafadb
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_RX_RING, pattern, ndr,
+ PRINT_FIELD_U("{", ndr, ndr_block_size);
+ PRINT_FIELD_U(", ", ndr, ndr_block_nr);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_size);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_nr);
+ printf("}"));
+
+ static const uint32_t flags =
+ NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO;
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_FLAGS, pattern, flags,
+ printf("NDIAG_FLAG_CB_RUNNING|NDIAG_FLAG_PKTINFO"));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-mx32/nlattr_netlink_diag_msg.gen.test b/tests-mx32/nlattr_netlink_diag_msg.gen.test
new file mode 100755
index 00000000..aa6aabf4
--- /dev/null
+++ b/tests-mx32/nlattr_netlink_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_netlink_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/nlattr_unix_diag_msg.c b/tests-mx32/nlattr_unix_diag_msg.c
new file mode 100644
index 00000000..22954042
--- /dev/null
+++ b/tests-mx32/nlattr_unix_diag_msg.c
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <sys/sysmacros.h>
+#include <netinet/tcp.h>
+#include "test_nlattr.h"
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+static void
+init_unix_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct unix_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct unix_diag_msg, msg,
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_ESTABLISHED
+ );
+}
+
+static void
+print_unix_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_ESTABLISHED"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}",
+ msg_len);
+}
+
+static void
+print_uint(const unsigned int *p)
+{
+ printf("%u", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct unix_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const struct unix_diag_vfs uv = {
+ .udiag_vfs_dev = 0xabcddafa,
+ .udiag_vfs_ino = 0xbafabcda
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_VFS, pattern, uv,
+ printf("{udiag_vfs_dev=makedev(%u, %u)",
+ major(uv.udiag_vfs_dev),
+ minor(uv.udiag_vfs_dev));
+ PRINT_FIELD_U(", ", uv, udiag_vfs_ino);
+ printf("}"));
+
+ static const struct unix_diag_rqlen rql = {
+ .udiag_rqueue = 0xfabdcdad,
+ .udiag_wqueue = 0xbacdadcf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_RQLEN, pattern, rql,
+ PRINT_FIELD_U("{", rql, udiag_rqueue);
+ PRINT_FIELD_U(", ", rql, udiag_wqueue);
+ printf("}"));
+
+ static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_ICONS, pattern, inode, print_uint);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests-mx32/nlattr_unix_diag_msg.gen.test b/tests-mx32/nlattr_unix_diag_msg.gen.test
new file mode 100755
index 00000000..d913afc1
--- /dev/null
+++ b/tests-mx32/nlattr_unix_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_unix_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests-mx32/nsyscalls.c b/tests-mx32/nsyscalls.c
index 7fda5ba1..d6b989c4 100644
--- a/tests-mx32/nsyscalls.c
+++ b/tests-mx32/nsyscalls.c
@@ -54,7 +54,7 @@
#define SI 0
#define SE 0
#define CST 0
-#define SEN(arg) 0,0
+#define SEN(arg) 0, 0
static const struct_sysent syscallent[] = {
#include "syscallent.h"
diff --git a/tests-mx32/options-syntax.test b/tests-mx32/options-syntax.test
index 4c778b31..7cfc579b 100755
--- a/tests-mx32/options-syntax.test
+++ b/tests-mx32/options-syntax.test
@@ -127,8 +127,20 @@ check_h 'piping the output and -ff are mutually exclusive' -o '!' -ff true
check_h "invalid -a argument: '-42'" -a -42
check_h "invalid -O argument: '-42'" -O -42
check_h "invalid -s argument: '-42'" -s -42
+check_h "invalid -s argument: '1073741824'" -s 1073741824
check_h "invalid -I argument: '5'" -I 5
+cat > "$EXP" << '__EOF__'
+strace: must have PROG [ARGS] or -p PID
+Try 'strace -h' for more information.
+__EOF__
+../zeroargc "$strace_exp" /bin/true 2> "$LOG" &&
+ dump_log_and_fail_with \
+ 'zeroargc strace failed to handle the error properly'
+match_diff "$LOG" "$EXP" ||
+ dump_log_and_fail_with \
+ 'zeroargc strace failed to print expected diagnostics'
+
if [ -n "${UID-}" ]; then
if [ "${UID-}" = 0 ]; then
umsg="Cannot find user ':nosuchuser:'"
diff --git a/tests-mx32/perf_event_open.c b/tests-mx32/perf_event_open.c
index 3f544a6d..74ff9527 100644
--- a/tests-mx32/perf_event_open.c
+++ b/tests-mx32/perf_event_open.c
@@ -73,36 +73,36 @@ struct u64_val_str {
const char *str;
};
-/* In order to avoid endianess-specific hackery */
+/* In order to avoid endianness-specific hackery. */
struct pea_flags {
- uint64_t disabled :1,
- inherit :1,
- pinned :1,
- exclusive :1,
- exclude_user :1,
- exclude_kernel :1,
- exclude_hv :1,
- exclude_idle :1,
- mmap :1,
- comm :1,
- freq :1,
- inherit_stat :1,
- enable_on_exec :1,
- task :1,
- watermark :1,
- precise_ip :2,
- mmap_data :1,
- sample_id_all :1,
- exclude_host :1,
- exclude_guest :1,
- exclude_callchain_kernel :1,
- exclude_callchain_user :1,
- mmap2 :1,
- comm_exec :1,
- use_clockid :1,
- context_switch :1,
- write_backward :1,
- __reserved_1 :36;
+ uint64_t disabled :1,
+ inherit :1,
+ pinned :1,
+ exclusive :1,
+ exclude_user :1,
+ exclude_kernel :1,
+ exclude_hv :1,
+ exclude_idle :1,
+ mmap :1,
+ comm :1,
+ freq :1,
+ inherit_stat :1,
+ enable_on_exec :1,
+ task :1,
+ watermark :1,
+ precise_ip :2,
+ mmap_data :1,
+ sample_id_all :1,
+ exclude_host :1,
+ exclude_guest :1,
+ exclude_callchain_kernel :1,
+ exclude_callchain_user :1,
+ mmap2 :1,
+ comm_exec :1,
+ use_clockid :1,
+ context_switch :1,
+ write_backward :1,
+ __reserved_1 :36;
};
static const char *
@@ -458,7 +458,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
/* End of version 4 of the structure */
if (size <= 104) {
- cutoff =104;
+ cutoff = 104;
goto end;
}
@@ -471,7 +471,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
printf(", aux_watermark=%" PRIu32, (uint32_t) val);
if (size <= 108) {
- cutoff =108;
+ cutoff = 108;
goto end;
}
@@ -484,7 +484,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
printf(", sample_max_stack=%" PRIu16, (uint16_t) val);
if (size <= 110) {
- cutoff =110;
+ cutoff = 110;
goto end;
}
@@ -718,7 +718,7 @@ main(void)
for (i = 0; i < ARRAY_SIZE(args); i++) {
rc = syscall(__NR_perf_event_open, args[i].attr, args[i].pid,
- args[i].cpu, args[i].group_fd, args[i].flags);
+ args[i].cpu, args[i].group_fd, args[i].flags);
printf("perf_event_open(%s, %d, %d, %d, %s) = %s\n",
printaddr(args[i].attr), args[i].pid, args[i].cpu,
args[i].group_fd, args[i].flags_str, sprintrc(rc));
@@ -793,19 +793,19 @@ main(void)
attr->size = 0;
rc = syscall(__NR_perf_event_open, attr, args[args_idx].pid,
- args[args_idx].cpu, args[args_idx].group_fd,
- args[args_idx].flags);
+ args[args_idx].cpu, args[args_idx].group_fd,
+ args[args_idx].flags);
printf("perf_event_open(");
print_event_attr(attr, i ? ((i == 1) ? 0 : size) : size + 8,
- attr_types[type_idx].str,
- attr_configs[type_idx][config_idx].str,
- sample_types[sample_type_idx].str,
- read_formats[read_format_idx].str,
- ip_desc_str,
- bp_types[bp_type_idx].str,
- branch_sample_types[branch_sample_type_idx].str,
- clockids[clockid_idx].str, size);
+ attr_types[type_idx].str,
+ attr_configs[type_idx][config_idx].str,
+ sample_types[sample_type_idx].str,
+ read_formats[read_format_idx].str,
+ ip_desc_str,
+ bp_types[bp_type_idx].str,
+ branch_sample_types[branch_sample_type_idx].str,
+ clockids[clockid_idx].str, size);
printf(", %d, %d, %d, %s) = %s\n", args[args_idx].pid,
args[args_idx].cpu, args[args_idx].group_fd,
args[args_idx].flags_str, sprintrc(rc));
diff --git a/tests-mx32/poll.c b/tests-mx32/poll.c
index c47c97e5..af66e536 100644
--- a/tests-mx32/poll.c
+++ b/tests-mx32/poll.c
@@ -39,13 +39,15 @@
# include <stdlib.h>
# include <unistd.h>
-#define PRINT_EVENT(flag, member) \
- if (member & flag) { \
- if (member != pfd->member) \
- tprintf("|"); \
- tprintf(#flag); \
- member &= ~flag; \
- }
+#define PRINT_EVENT(flag, member) \
+ do { \
+ if (member & flag) { \
+ if (member != pfd->member) \
+ tprintf("|"); \
+ tprintf(#flag); \
+ member &= ~flag; \
+ } \
+ } while (0)
static void
print_pollfd_entering(const struct pollfd *const pfd)
@@ -56,24 +58,24 @@ print_pollfd_entering(const struct pollfd *const pfd)
short events = pfd->events;
if (pfd->events) {
- PRINT_EVENT(POLLIN, events)
- PRINT_EVENT(POLLPRI, events)
- PRINT_EVENT(POLLOUT, events)
+ PRINT_EVENT(POLLIN, events);
+ PRINT_EVENT(POLLPRI, events);
+ PRINT_EVENT(POLLOUT, events);
#ifdef POLLRDNORM
- PRINT_EVENT(POLLRDNORM, events)
+ PRINT_EVENT(POLLRDNORM, events);
#endif
#ifdef POLLWRNORM
- PRINT_EVENT(POLLWRNORM, events)
+ PRINT_EVENT(POLLWRNORM, events);
#endif
#ifdef POLLRDBAND
- PRINT_EVENT(POLLRDBAND, events)
+ PRINT_EVENT(POLLRDBAND, events);
#endif
#ifdef POLLWRBAND
- PRINT_EVENT(POLLWRBAND, events)
+ PRINT_EVENT(POLLWRBAND, events);
#endif
- PRINT_EVENT(POLLERR, events)
- PRINT_EVENT(POLLHUP, events)
- PRINT_EVENT(POLLNVAL, events)
+ PRINT_EVENT(POLLERR, events);
+ PRINT_EVENT(POLLHUP, events);
+ PRINT_EVENT(POLLNVAL, events);
} else
tprintf("0");
}
@@ -123,24 +125,24 @@ print_pollfd_exiting(const struct pollfd *const pfd,
tprintf("{fd=%d, revents=", pfd->fd);
short revents = pfd->revents;
- PRINT_EVENT(POLLIN, revents)
- PRINT_EVENT(POLLPRI, revents)
- PRINT_EVENT(POLLOUT, revents)
+ PRINT_EVENT(POLLIN, revents);
+ PRINT_EVENT(POLLPRI, revents);
+ PRINT_EVENT(POLLOUT, revents);
#ifdef POLLRDNORM
- PRINT_EVENT(POLLRDNORM, revents)
+ PRINT_EVENT(POLLRDNORM, revents);
#endif
#ifdef POLLWRNORM
- PRINT_EVENT(POLLWRNORM, revents)
+ PRINT_EVENT(POLLWRNORM, revents);
#endif
#ifdef POLLRDBAND
- PRINT_EVENT(POLLRDBAND, revents)
+ PRINT_EVENT(POLLRDBAND, revents);
#endif
#ifdef POLLWRBAND
- PRINT_EVENT(POLLWRBAND, revents)
+ PRINT_EVENT(POLLWRBAND, revents);
#endif
- PRINT_EVENT(POLLERR, revents)
- PRINT_EVENT(POLLHUP, revents)
- PRINT_EVENT(POLLNVAL, revents)
+ PRINT_EVENT(POLLERR, revents);
+ PRINT_EVENT(POLLHUP, revents);
+ PRINT_EVENT(POLLNVAL, revents);
tprintf("}");
}
@@ -192,7 +194,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -205,7 +208,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -217,7 +221,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -232,7 +237,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds1, ARRAY_SIZE(pfds1),
ARRAY_SIZE(pfds1), abbrev);
- tprintf(", %u, %d) = %d (Timeout)\n", ARRAY_SIZE(pfds1), timeout, rc);
+ tprintf(", %u, %d) = %d (Timeout)\n",
+ (unsigned int) ARRAY_SIZE(pfds1), timeout, rc);
const void *const efault = tail_fds0 + ARRAY_SIZE(pfds0);
rc = syscall(__NR_poll, efault, 1, 0);
diff --git a/tests-mx32/ppoll.c b/tests-mx32/ppoll.c
index 85a7e0c0..62241839 100644
--- a/tests-mx32/ppoll.c
+++ b/tests-mx32/ppoll.c
@@ -138,9 +138,10 @@ main(void)
#if VERBOSE
pipe_fd[2], pipe_fd[3],
#endif
- (unsigned) ARRAY_SIZE(fds1), USR2_CHLD_str,
- (unsigned) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
- pipe_fd[3], (unsigned ) ts->tv_sec, (unsigned) ts->tv_nsec);
+ (unsigned int) ARRAY_SIZE(fds1), USR2_CHLD_str,
+ (unsigned int) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
+ pipe_fd[3], (unsigned int) ts->tv_sec,
+ (unsigned int) ts->tv_nsec);
ts->tv_sec = 0;
ts->tv_nsec = 999;
diff --git a/tests-mx32/preadv-pwritev.c b/tests-mx32/preadv-pwritev.c
index b2d2a824..ddbd47f6 100644
--- a/tests-mx32/preadv-pwritev.c
+++ b/tests-mx32/preadv-pwritev.c
@@ -121,7 +121,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -142,7 +142,8 @@ main(void)
tprintf("preadv(0, [{iov_base=\"%s\", iov_len=%u}], %u, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -166,7 +167,7 @@ main(void)
", {iov_base=\"\", iov_len=%u}], %u, %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_),
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
r_len, w_len - r_len,
w_len - r_len, r1_d, r1_c);
close(0);
diff --git a/tests-mx32/preadv.c b/tests-mx32/preadv.c
index a55909b6..d5ad84f6 100644
--- a/tests-mx32/preadv.c
+++ b/tests-mx32/preadv.c
@@ -125,7 +125,7 @@ main(void)
perror_msg_and_fail("preadv: expected %u, returned %ld",
r_len, rc);
printf("preadv(%d, [{iov_base=\"%s\", iov_len=%u}], %u, 0) = %u\n",
- fd, r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len);
+ fd, r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_), r_len);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(LENGTH_OF(w));
@@ -147,8 +147,9 @@ main(void)
(int) LENGTH_OF(w) - r_len, rc);
printf("preadv(%d, [{iov_base=\"%s\", iov_len=%u}"
", {iov_base=\"\", iov_len=%u}], %u, %u) = %u\n",
- fd, r1_c, r_len, LENGTH_OF(w), ARRAY_SIZE(r1_iov_),
- r_len, LENGTH_OF(w) - r_len);
+ fd, r1_c, r_len, LENGTH_OF(w),
+ (unsigned int) ARRAY_SIZE(r1_iov_),
+ r_len, LENGTH_OF(w) - r_len);
puts("+++ exited with 0 +++");
return 0;
diff --git a/tests-mx32/preadv2-pwritev2.c b/tests-mx32/preadv2-pwritev2.c
index e31e0463..89f37dd6 100644
--- a/tests-mx32/preadv2-pwritev2.c
+++ b/tests-mx32/preadv2-pwritev2.c
@@ -127,7 +127,7 @@ dumpio(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -148,7 +148,8 @@ dumpio(void)
tprintf("preadv2(0, [{iov_base=\"%s\", iov_len=%u}], %u, 0, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -172,7 +173,7 @@ dumpio(void)
", {iov_base=\"\", iov_len=%u}], %u, %u, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_),
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
r_len, w_len - r_len,
w_len - r_len, r1_d, r1_c);
close(0);
diff --git a/tests-mx32/print_quoted_string.c b/tests-mx32/print_quoted_string.c
index 3ad86024..732fe3de 100644
--- a/tests-mx32/print_quoted_string.c
+++ b/tests-mx32/print_quoted_string.c
@@ -18,7 +18,7 @@ print_quoted_string(const char *instr)
void
print_quoted_memory(const char *instr, const size_t len)
{
- const unsigned char *str = (const unsigned char*) instr;
+ const unsigned char *str = (const unsigned char *) instr;
size_t i;
for (i = 0; i < len; ++i) {
diff --git a/tests-mx32/print_time.c b/tests-mx32/print_time.c
index 42923296..e2592428 100644
--- a/tests-mx32/print_time.c
+++ b/tests-mx32/print_time.c
@@ -58,8 +58,6 @@ print_time_t_ex(const time_t t, const unsigned long long part_sec,
if (comment)
fputs(" */", stdout);
-
- return;
}
void
diff --git a/tests-mx32/printstr.c b/tests-mx32/printstr.c
index 330234f1..8e226813 100644
--- a/tests-mx32/printstr.c
+++ b/tests-mx32/printstr.c
@@ -34,13 +34,11 @@
#include <unistd.h>
#include <sys/uio.h>
-#define DEFAULT_STRLEN 32
-
int
main(void)
{
char *const buf = tail_alloc(DEFAULT_STRLEN + 1);
- const struct iovec io = {
+ struct iovec io = {
.iov_base = buf,
.iov_len = -1
};
@@ -64,6 +62,11 @@ main(void)
tprintf("writev(-1, [{iov_base=\"\\0%*s\"..., iov_len=%lu}], 1)"
" = %s\n", DEFAULT_STRLEN - 1, buf + 1, -1UL, sprintrc(rc));
+ ++io.iov_base;
+ rc = writev(-1, &io, 1);
+ tprintf("writev(-1, [{iov_base=%p, iov_len=%lu}], 1) = %s\n",
+ io.iov_base, -1UL, sprintrc(rc));
+
tprintf("+++ exited with 0 +++\n");
return 0;
}
diff --git a/tests-mx32/process_vm_readv_writev.c b/tests-mx32/process_vm_readv_writev.c
index 2a089395..c0f9c312 100644
--- a/tests-mx32/process_vm_readv_writev.c
+++ b/tests-mx32/process_vm_readv_writev.c
@@ -51,7 +51,7 @@ enum { MAX_SEGM_COUNT = 2, MAX_STR_LEN = 5 };
struct print_iov_arg {
uint32_t count;
uint32_t valid :1,
- string :1,
+ string :1,
addr_term:1,
check_rc :1;
uint32_t str_segms;
@@ -247,14 +247,15 @@ main(void)
2, {SEGM1_BASE, SEGM2_BASE}, {SIZE_1, SIZE_2} };
struct print_iov_arg rmt_arg = { ARRAY_SIZE(rmt_iovec), 1 };
- struct print_iov_arg bogus_arg_cut =
- { ARRAY_SIZE(bogus_iovec) - 2, 1, 0, 1 };
- struct print_iov_arg lcl_arg_cut =
- { ARRAY_SIZE(lcl_iovec) - 2, 1, 1, 1, 0, 2,
- {SEGM1_BASE + SIZE_11 + SIZE_12, SEGM2_BASE},
- {SIZE_13, SIZE_2} };
- struct print_iov_arg rmt_arg_cut =
- { ARRAY_SIZE(rmt_iovec) - 2, 1 };
+ struct print_iov_arg bogus_arg_cut = {
+ ARRAY_SIZE(bogus_iovec) - 2, 1, 0, 1
+ };
+ struct print_iov_arg lcl_arg_cut = {
+ ARRAY_SIZE(lcl_iovec) - 2, 1, 1, 1, 0, 2,
+ { SEGM1_BASE + SIZE_11 + SIZE_12, SEGM2_BASE },
+ {SIZE_13, SIZE_2}
+ };
+ struct print_iov_arg rmt_arg_cut = { ARRAY_SIZE(rmt_iovec) - 2, 1 };
fill_memory_ex(data1_out, SIZE_1, SEGM1_BASE, SIZE_1);
diff --git a/tests-mx32/pselect6.c b/tests-mx32/pselect6.c
index f5939f3b..07298081 100644
--- a/tests-mx32/pselect6.c
+++ b/tests-mx32/pselect6.c
@@ -109,7 +109,7 @@ int main(int ac, char **av)
* but with a pointer to a large chunk of valid memory.
*/
FD_ZERO(set[0]);
- FD_SET(fds[1],set[0]);
+ FD_SET(fds[1], set[0]);
assert(pselect(-1, NULL, set[0], NULL, NULL, &mask) == -1);
printf("pselect6(-1, NULL, %p, NULL, NULL, {[HUP CHLD], %u}) "
"= -1 EINVAL (%m)\n", set[0], NSIG_BYTES);
@@ -118,7 +118,7 @@ int main(int ac, char **av)
* Another variant, with nfds exceeding FD_SETSIZE limit.
*/
FD_ZERO(set[0]);
- FD_SET(fds[0],set[0]);
+ FD_SET(fds[0], set[0]);
FD_ZERO(set[1]);
tm.ts.tv_sec = 0;
tm.ts.tv_nsec = 123;
diff --git a/tests-mx32/ptrace.c b/tests-mx32/ptrace.c
index 9e0ffdc6..d776dcdd 100644
--- a/tests-mx32/ptrace.c
+++ b/tests-mx32/ptrace.c
@@ -114,7 +114,7 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request)
if (errno == EINTR)
continue;
saved = errno;
- kill (pid, SIGKILL);
+ kill(pid, SIGKILL);
errno = saved;
perror_msg_and_fail("wait");
}
@@ -159,7 +159,7 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request)
if (do_ptrace(PTRACE_CONT, pid, 0, 0)) {
saved = errno;
- kill (pid, SIGKILL);
+ kill(pid, SIGKILL);
errno = saved;
perror_msg_and_fail("ptrace");
}
diff --git a/tests-mx32/pure_executables.am b/tests-mx32/pure_executables.am
new file mode 100644
index 00000000..8563488a
--- /dev/null
+++ b/tests-mx32/pure_executables.am
@@ -0,0 +1,347 @@
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+ _newselect \
+ accept \
+ accept4 \
+ access \
+ acct \
+ add_key \
+ adjtimex \
+ aio \
+ alarm \
+ bpf \
+ brk \
+ btrfs \
+ caps \
+ chmod \
+ chown \
+ chown32 \
+ chroot \
+ clock_adjtime \
+ clock_nanosleep \
+ clock_xettime \
+ copy_file_range \
+ creat \
+ delete_module \
+ dup \
+ dup2 \
+ dup3 \
+ epoll_create \
+ epoll_create1 \
+ epoll_ctl \
+ epoll_pwait \
+ epoll_wait \
+ erestartsys \
+ eventfd \
+ execve \
+ execveat \
+ faccessat \
+ fadvise64 \
+ fadvise64_64 \
+ fallocate \
+ fanotify_init \
+ fanotify_mark \
+ fchdir \
+ fchmod \
+ fchmodat \
+ fchown \
+ fchown32 \
+ fchownat \
+ fcntl \
+ fcntl64 \
+ fdatasync \
+ file_handle \
+ file_ioctl \
+ finit_module \
+ flock \
+ fstat \
+ fstat64 \
+ fstatat64 \
+ fstatfs \
+ fstatfs64 \
+ fsync \
+ ftruncate \
+ ftruncate64 \
+ futex \
+ futimesat \
+ get_mempolicy \
+ getcpu \
+ getcwd \
+ getdents \
+ getdents64 \
+ getegid \
+ getegid32 \
+ geteuid \
+ geteuid32 \
+ getgid \
+ getgid32 \
+ getgroups \
+ getgroups32 \
+ getpeername \
+ getpgrp \
+ getpid \
+ getppid \
+ getrandom \
+ getresgid \
+ getresgid32 \
+ getresuid \
+ getresuid32 \
+ getrlimit \
+ getrusage \
+ getsid \
+ getsockname \
+ getuid \
+ getuid32 \
+ getxxid \
+ inet-cmsg \
+ init_module \
+ inotify \
+ inotify_init1 \
+ ioctl \
+ ioctl_block \
+ ioctl_dm \
+ ioctl_evdev \
+ ioctl_loop \
+ ioctl_mtd \
+ ioctl_rtc \
+ ioctl_scsi \
+ ioctl_sg_io_v3 \
+ ioctl_sg_io_v4 \
+ ioctl_sock_gifconf \
+ ioctl_uffdio \
+ ioctl_v4l2 \
+ ioperm \
+ iopl \
+ ioprio \
+ ip_mreq \
+ ipc \
+ ipc_msg \
+ ipc_msgbuf \
+ ipc_sem \
+ ipc_shm \
+ kcmp \
+ kexec_file_load \
+ kexec_load \
+ keyctl \
+ kill \
+ lchown \
+ lchown32 \
+ link \
+ linkat \
+ llseek \
+ lookup_dcookie \
+ lseek \
+ lstat \
+ lstat64 \
+ madvise \
+ mbind \
+ membarrier \
+ memfd_create \
+ migrate_pages \
+ mincore \
+ mkdir \
+ mkdirat \
+ mknod \
+ mknodat \
+ mlock \
+ mlock2 \
+ mlockall \
+ mmap \
+ mmap64 \
+ mmsg \
+ mmsg_name \
+ mount \
+ move_pages \
+ mq \
+ mq_sendrecv \
+ mq_sendrecv-read \
+ mq_sendrecv-write \
+ msg_control \
+ msg_name \
+ munlockall \
+ nanosleep \
+ net-icmp_filter \
+ net-sockaddr \
+ net-y-unix \
+ net-yy-inet \
+ net-yy-netlink \
+ net-yy-unix \
+ netlink_audit \
+ netlink_generic \
+ netlink_netfilter \
+ netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
+ newfstatat \
+ nlattr \
+ nlattr_inet_diag_msg \
+ nlattr_netlink_diag_msg \
+ nlattr_unix_diag_msg \
+ old_mmap \
+ oldfstat \
+ oldlstat \
+ oldselect \
+ oldstat \
+ open \
+ openat \
+ osf_utimes \
+ pause \
+ perf_event_open \
+ personality \
+ pipe \
+ pipe2 \
+ pkey_alloc \
+ pkey_free \
+ pkey_mprotect \
+ poll \
+ ppoll \
+ prctl-arg2-intptr \
+ prctl-dumpable \
+ prctl-name \
+ prctl-no-args \
+ prctl-pdeathsig \
+ prctl-securebits \
+ prctl-tid_address \
+ prctl-tsc \
+ pread64-pwrite64 \
+ preadv \
+ preadv-pwritev \
+ preadv2-pwritev2 \
+ printstr \
+ prlimit64 \
+ process_vm_readv \
+ process_vm_writev \
+ pselect6 \
+ ptrace \
+ pwritev \
+ quotactl \
+ quotactl-xfs \
+ read-write \
+ readahead \
+ readdir \
+ readlink \
+ readlinkat \
+ readv \
+ reboot \
+ recvfrom \
+ recvmmsg-timeout \
+ recvmsg \
+ remap_file_pages \
+ rename \
+ renameat \
+ renameat2 \
+ request_key \
+ rmdir \
+ rt_sigaction \
+ rt_sigpending \
+ rt_sigprocmask \
+ rt_sigqueueinfo \
+ rt_sigreturn \
+ rt_sigsuspend \
+ rt_sigtimedwait \
+ rt_tgsigqueueinfo \
+ sched_get_priority_mxx \
+ sched_rr_get_interval \
+ sched_xetaffinity \
+ sched_xetattr \
+ sched_xetparam \
+ sched_xetscheduler \
+ sched_yield \
+ seccomp-filter \
+ select \
+ semop \
+ sendfile \
+ sendfile64 \
+ set_mempolicy \
+ setdomainname \
+ setfsgid \
+ setfsgid32 \
+ setfsuid \
+ setfsuid32 \
+ setgid \
+ setgid32 \
+ setgroups \
+ setgroups32 \
+ sethostname \
+ setns \
+ setregid \
+ setregid32 \
+ setresgid \
+ setresgid32 \
+ setresuid \
+ setresuid32 \
+ setreuid \
+ setreuid32 \
+ setrlimit \
+ setuid \
+ setuid32 \
+ shmxt \
+ shutdown \
+ sigaction \
+ sigaltstack \
+ siginfo \
+ signal \
+ signalfd4 \
+ sigpending \
+ sigprocmask \
+ sigreturn \
+ sigsuspend \
+ socketcall \
+ splice \
+ stat \
+ stat64 \
+ statfs \
+ statfs64 \
+ statx \
+ swap \
+ sxetmask \
+ symlink \
+ symlinkat \
+ sync \
+ sync_file_range \
+ sync_file_range2 \
+ sysinfo \
+ syslog \
+ tee \
+ time \
+ timer_create \
+ timer_xettime \
+ timerfd_xettime \
+ times \
+ times-fail \
+ truncate \
+ truncate64 \
+ ugetrlimit \
+ uio \
+ umask \
+ umount \
+ umount2 \
+ umoven-illptr \
+ umovestr \
+ umovestr-illptr \
+ umovestr2 \
+ umovestr3 \
+ uname \
+ unlink \
+ unlinkat \
+ unshare \
+ userfaultfd \
+ ustat \
+ utime \
+ utimensat \
+ utimes \
+ vhangup \
+ vmsplice \
+ wait4 \
+ waitid \
+ waitpid \
+ xattr \
+ xattr-strings \
+ xet_robust_list \
+ xetitimer \
+ xetpgid \
+ xetpriority \
+ xettimeofday \
+ #
diff --git a/tests-mx32/pure_executables.list b/tests-mx32/pure_executables.list
index cc65614a..033208e6 100755
--- a/tests-mx32/pure_executables.list
+++ b/tests-mx32/pure_executables.list
@@ -165,8 +165,19 @@ net-y-unix
net-yy-inet
net-yy-netlink
net-yy-unix
+netlink_audit
+netlink_generic
+netlink_netfilter
netlink_protocol
+netlink_route
+netlink_selinux
+netlink_sock_diag
+netlink_xfrm
newfstatat
+nlattr
+nlattr_inet_diag_msg
+nlattr_netlink_diag_msg
+nlattr_unix_diag_msg
old_mmap
oldfstat
oldlstat
@@ -222,6 +233,7 @@ renameat
renameat2
request_key
rmdir
+rt_sigaction
rt_sigpending
rt_sigprocmask
rt_sigqueueinfo
@@ -269,7 +281,10 @@ shutdown
sigaction
sigaltstack
siginfo
+signal
signalfd4
+sigpending
+sigprocmask
sigreturn
sigsuspend
socketcall
diff --git a/tests-mx32/qual_fault.c b/tests-mx32/qual_fault.c
index ab692cb8..05401dec 100644
--- a/tests-mx32/qual_fault.c
+++ b/tests-mx32/qual_fault.c
@@ -32,15 +32,19 @@
#include <assert.h>
#include <errno.h>
+#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/param.h>
#include <sys/stat.h>
#include <sys/uio.h>
+#include <sys/wait.h>
-static const int expfd = 4;
-static const int gotfd = 5;
+static int exp_fd;
+static int got_fd;
+static int out_fd;
#define DEFAULT_ERRNO ENOSYS
@@ -58,13 +62,13 @@ invoke(int fail)
int rc;
if (!fail) {
- rc = write(expfd, io.iov_base, io.iov_len);
+ rc = write(exp_fd, io.iov_base, io.iov_len);
if (rc != (int) io.iov_len)
perror_msg_and_fail("write");
}
errno = 0;
- rc = writev(gotfd, &io, 1);
+ rc = writev(got_fd, &io, 1);
if (fail) {
if (!(rc == -1 && errno == err))
@@ -74,11 +78,11 @@ invoke(int fail)
if (is_raw)
tprintf("writev(%#x, %p, 0x1) = -1 (errno %d)"
- " (INJECTED)\n", gotfd, &io, err);
+ " (INJECTED)\n", got_fd, &io, err);
else
tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
" = -1 %s (%m) (INJECTED)\n",
- gotfd, buf, (int) io.iov_len, errstr);
+ got_fd, buf, (int) io.iov_len, errstr);
} else {
if (rc != (int) io.iov_len)
perror_msg_and_fail("expected %d"
@@ -86,23 +90,35 @@ invoke(int fail)
(int) io.iov_len, rc, errno);
if (is_raw)
- tprintf("writev(%#x, %p, 0x1) = %#x\n", gotfd, &io, rc);
+ tprintf("writev(%#x, %p, 0x1) = %#x\n",
+ got_fd, &io, rc);
else
tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
" = %d\n",
- gotfd, buf, (int) io.iov_len, (int) io.iov_len);
+ got_fd, buf, (int) io.iov_len,
+ (int) io.iov_len);
}
}
-int
-main(int argc, char *argv[])
+static int
+open_file(const char *prefix, int proc)
{
- struct stat st;
+ static const int open_flags = O_WRONLY | O_TRUNC | O_CREAT;
+ static char path[PATH_MAX + 1];
+
+ snprintf(path, sizeof(path), "%s.%d", prefix, proc);
- assert(fstat(expfd, &st) == 0);
- assert(fstat(gotfd, &st) == 0);
+ int fd = open(path, open_flags, 0600);
+ if (fd < 0)
+ perror_msg_and_fail("open: %s", path);
+
+ return fd;
+}
- assert(argc == 6);
+int
+main(int argc, char *argv[])
+{
+ assert(argc == 11);
is_raw = !strcmp("raw", argv[1]);
@@ -125,25 +141,71 @@ main(int argc, char *argv[])
first = atoi(argv[3]);
step = atoi(argv[4]);
iter = atoi(argv[5]);
+ int num_procs = atoi(argv[6]);
+ char *exp_prefix = argv[7];
+ char *got_prefix = argv[8];
+ char *out_prefix = argv[9];
+ char *pid_prefix = argv[10];
assert(first > 0);
assert(step >= 0);
+ assert(num_procs > 0);
+
+ int proc;
+ for (proc = 0; proc < num_procs; ++proc) {
+ int ret = fork();
+
+ if (ret < 0)
+ perror_msg_and_fail("fork");
- tprintf("%s", "");
+ if (ret > 0) {
+ int pidfd = open_file(pid_prefix, proc);
- int i;
- for (i = 1; i <= iter; ++i) {
- int fail = 0;
- if (first > 0) {
- --first;
- if (first == 0) {
- fail = 1;
- first = step;
+ char pidstr[sizeof(ret) * 3];
+ int len = snprintf(pidstr, sizeof(pidstr), "%d", ret);
+ assert(len > 0 && len < (int) sizeof(pidstr));
+ assert(write(pidfd, pidstr, len) == len);
+
+ close(pidfd);
+
+ continue;
+ }
+
+ tprintf("%s", "");
+
+ exp_fd = open_file(exp_prefix, proc);
+ got_fd = open_file(got_prefix, proc);
+ out_fd = open_file(out_prefix, proc);
+
+ /* This magic forces tprintf to write where we want it. */
+ dup2(out_fd, 3);
+
+ int i;
+ for (i = 1; i <= iter; ++i) {
+ int fail = 0;
+ if (first > 0) {
+ --first;
+ if (first == 0) {
+ fail = 1;
+ first = step;
+ }
}
+ invoke(fail);
}
- invoke(fail);
+
+ tprintf("%s\n", "+++ exited with 0 +++");
+ return 0;
+ }
+
+ for (proc = 0; proc < num_procs; ++proc) {
+ int status;
+ int ret = wait(&status);
+ if (ret <= 0)
+ perror_msg_and_fail("wait %d", proc);
+ if (status)
+ error_msg_and_fail("wait: pid=%d status=%d",
+ ret, status);
}
- tprintf("%s\n", "+++ exited with 0 +++");
return 0;
}
diff --git a/tests-mx32/qual_fault.test b/tests-mx32/qual_fault.test
index f8e57d2b..12b0a850 100755
--- a/tests-mx32/qual_fault.test
+++ b/tests-mx32/qual_fault.test
@@ -35,16 +35,17 @@
# F+
# F+S
-N=16
+N=100
check_fault_injection()
{
- local trace fault err first step extra
+ local trace fault err first step procs extra
trace=$1; shift
fault=$1; shift
err=$1; shift
first=$1; shift
step=$1; shift
+ procs=$1; shift
extra="$*"
local when=
@@ -74,30 +75,39 @@ check_fault_injection()
outexp="$NAME.out.exp"
outgot="$NAME.out.got"
+ outout="$NAME.out.out"
+ outpid="$NAME.pid"
- run_strace -a11 -e trace=$trace \
+ run_strace -a11 -ff -e trace=$trace \
"$@" -e fault=$fault$when$error $extra \
../$NAME $raw "$err" "$first" "$step" $N \
- > "$EXP" 4> "$outexp" 5> "$outgot"
+ "$procs" "$outexp" "$outgot" "$outout" "$outpid"
- match_diff "$EXP" "$LOG"
- match_diff "$outexp" "$outgot"
+ for i in $(seq 0 $((procs - 1)) )
+ do
+ pid=$(cat "$outpid.$i")
+
+ match_diff "$outout.$i" "$LOG.$pid"
+ match_diff "$outexp.$i" "$outgot.$i"
+ done
}
for err in '' ENOSYS 22 einval; do
for fault in writev desc,51; do
check_fault_injection \
- writev $fault "$err" '' '' -efault=chdir
+ writev $fault "$err" '' '' 1 -efault=chdir
check_fault_injection \
- writev $fault "$err" '' '' -efault=chdir -efault=none
+ writev $fault "$err" '' '' 1 -efault=chdir -efault=none
for F in 1 2 3 5 7 11; do
check_fault_injection \
- writev $fault "$err" $F ''
+ writev $fault "$err" $F '' 1
check_fault_injection \
- writev $fault "$err" $F +
+ writev $fault "$err" $F + 1
for S in 1 2 3 5 7 11; do
check_fault_injection \
- writev $fault "$err" $F $S
+ writev $fault "$err" $F $S 1
+ check_fault_injection \
+ writev $fault "$err" $F $S 4
done
done
done
diff --git a/tests-mx32/quotactl-xfs.c b/tests-mx32/quotactl-xfs.c
index b2a884b6..fab451e2 100644
--- a/tests-mx32/quotactl-xfs.c
+++ b/tests-mx32/quotactl-xfs.c
@@ -71,7 +71,7 @@ struct fs_quota_statv {
struct fs_qfilestatv qs_pquota; /* project quota information */
int32_t qs_btimelimit; /* limit for blks timer */
int32_t qs_itimelimit; /* limit for inodes timer */
- int32_t qs_rtbtimelimit; /* limit for rt blks timer */
+ int32_t qs_rtbtimelimit; /* limit for rt blks timer */
uint16_t qs_bwarnlimit; /* limit for num warnings */
uint16_t qs_iwarnlimit; /* limit for num warnings */
uint64_t qs_pad2[8]; /* for future proofing */
@@ -97,29 +97,29 @@ print_xdisk_quota(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", dq, d_version);
+ PRINT_FIELD_D("{", *dq, d_version);
printf(", d_flags=");
printflags(xfs_dqblk_flags, (uint8_t) dq->d_flags, "XFS_???_QUOTA");
- PRINT_FIELD_X(", ", dq, d_fieldmask);
- PRINT_FIELD_U(", ", dq, d_id);
- PRINT_FIELD_U(", ", dq, d_blk_hardlimit);
- PRINT_FIELD_U(", ", dq, d_blk_softlimit);
- PRINT_FIELD_U(", ", dq, d_ino_hardlimit);
- PRINT_FIELD_U(", ", dq, d_ino_softlimit);
- PRINT_FIELD_U(", ", dq, d_bcount);
- PRINT_FIELD_U(", ", dq, d_icount);
+ PRINT_FIELD_X(", ", *dq, d_fieldmask);
+ PRINT_FIELD_U(", ", *dq, d_id);
+ PRINT_FIELD_U(", ", *dq, d_blk_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_blk_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_ino_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_ino_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_bcount);
+ PRINT_FIELD_U(", ", *dq, d_icount);
# if VERBOSE
- PRINT_FIELD_D(", ", dq, d_itimer);
- PRINT_FIELD_D(", ", dq, d_btimer);
- PRINT_FIELD_U(", ", dq, d_iwarns);
- PRINT_FIELD_U(", ", dq, d_bwarns);
- PRINT_FIELD_U(", ", dq, d_rtb_hardlimit);
- PRINT_FIELD_U(", ", dq, d_rtb_softlimit);
- PRINT_FIELD_U(", ", dq, d_rtbcount);
- PRINT_FIELD_D(", ", dq, d_rtbtimer);
- PRINT_FIELD_U(", ", dq, d_rtbwarns);
+ PRINT_FIELD_D(", ", *dq, d_itimer);
+ PRINT_FIELD_D(", ", *dq, d_btimer);
+ PRINT_FIELD_U(", ", *dq, d_iwarns);
+ PRINT_FIELD_U(", ", *dq, d_bwarns);
+ PRINT_FIELD_U(", ", *dq, d_rtb_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_rtb_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_rtbcount);
+ PRINT_FIELD_D(", ", *dq, d_rtbtimer);
+ PRINT_FIELD_U(", ", *dq, d_rtbwarns);
# else
printf(", ...");
# endif /* !VERBOSE */
@@ -137,23 +137,23 @@ print_xquota_stat(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", qs, qs_version);
+ PRINT_FIELD_D("{", *qs, qs_version);
# if VERBOSE
printf(", qs_flags=");
printflags(xfs_quota_flags, qs->qs_flags, "XFS_QUOTA_???");
- PRINT_FIELD_U(", qs_uquota={", &qs->qs_uquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_gquota={", &qs->qs_gquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nextents);
- PRINT_FIELD_U("}, ", qs, qs_incoredqs);
- PRINT_FIELD_D(", ", qs, qs_btimelimit);
- PRINT_FIELD_D(", ", qs, qs_itimelimit);
- PRINT_FIELD_D(", ", qs, qs_rtbtimelimit);
- PRINT_FIELD_U(", ", qs, qs_bwarnlimit);
- PRINT_FIELD_U(", ", qs, qs_iwarnlimit);
+ PRINT_FIELD_U(", qs_uquota={", qs->qs_uquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_gquota={", qs->qs_gquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nextents);
+ PRINT_FIELD_U("}, ", *qs, qs_incoredqs);
+ PRINT_FIELD_D(", ", *qs, qs_btimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_itimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_rtbtimelimit);
+ PRINT_FIELD_U(", ", *qs, qs_bwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_iwarnlimit);
# else
printf(", ...");
# endif /* !VERBOSE */
@@ -171,26 +171,26 @@ print_xquota_statv(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", qs, qs_version);
+ PRINT_FIELD_D("{", *qs, qs_version);
# if VERBOSE
printf(", qs_flags=");
printflags(xfs_quota_flags, qs->qs_flags, "XFS_QUOTA_???");
- PRINT_FIELD_U(", ", qs, qs_incoredqs);
- PRINT_FIELD_U(", qs_uquota={", &qs->qs_uquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_gquota={", &qs->qs_gquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_pquota={", &qs->qs_pquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_pquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_pquota, qfs_nextents);
- PRINT_FIELD_D("}, ", qs, qs_btimelimit);
- PRINT_FIELD_D(", ", qs, qs_itimelimit);
- PRINT_FIELD_D(", ", qs, qs_rtbtimelimit);
- PRINT_FIELD_U(", ", qs, qs_bwarnlimit);
- PRINT_FIELD_U(", ", qs, qs_iwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_incoredqs);
+ PRINT_FIELD_U(", qs_uquota={", qs->qs_uquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_gquota={", qs->qs_gquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_pquota={", qs->qs_pquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_pquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_pquota, qfs_nextents);
+ PRINT_FIELD_D("}, ", *qs, qs_btimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_itimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_rtbtimelimit);
+ PRINT_FIELD_U(", ", *qs, qs_bwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_iwarnlimit);
# else
printf(", ...");
# endif /* !VERBOSE */
diff --git a/tests-mx32/quotactl.c b/tests-mx32/quotactl.c
index 88c3fdac..f1648d94 100644
--- a/tests-mx32/quotactl.c
+++ b/tests-mx32/quotactl.c
@@ -88,16 +88,16 @@ print_dqblk(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", db, dqb_bhardlimit);
- PRINT_FIELD_U(", ", db, dqb_bsoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curspace);
- PRINT_FIELD_U(", ", db, dqb_ihardlimit);
- PRINT_FIELD_U(", ", db, dqb_isoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curinodes);
+ PRINT_FIELD_U("{", *db, dqb_bhardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_bsoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curspace);
+ PRINT_FIELD_U(", ", *db, dqb_ihardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_isoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curinodes);
# if VERBOSE
- PRINT_FIELD_U(", ", db, dqb_btime);
- PRINT_FIELD_U(", ", db, dqb_itime);
+ PRINT_FIELD_U(", ", *db, dqb_btime);
+ PRINT_FIELD_U(", ", *db, dqb_itime);
printf(", dqb_valid=");
printflags(if_dqblk_valid, db->dqb_valid, "QIF_???");
@@ -118,23 +118,23 @@ print_nextdqblk(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", db, dqb_bhardlimit);
- PRINT_FIELD_U(", ", db, dqb_bsoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curspace);
- PRINT_FIELD_U(", ", db, dqb_ihardlimit);
- PRINT_FIELD_U(", ", db, dqb_isoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curinodes);
+ PRINT_FIELD_U("{", *db, dqb_bhardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_bsoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curspace);
+ PRINT_FIELD_U(", ", *db, dqb_ihardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_isoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curinodes);
# if VERBOSE
- PRINT_FIELD_U(", ", db, dqb_btime);
- PRINT_FIELD_U(", ", db, dqb_itime);
+ PRINT_FIELD_U(", ", *db, dqb_btime);
+ PRINT_FIELD_U(", ", *db, dqb_itime);
printf(", dqb_valid=");
printflags(if_dqblk_valid, db->dqb_valid, "QIF_???");
- PRINT_FIELD_U(", ", db, dqb_id);
+ PRINT_FIELD_U(", ", *db, dqb_id);
# else
- PRINT_FIELD_U(", ", db, dqb_id);
+ PRINT_FIELD_U(", ", *db, dqb_id);
printf(", ...");
# endif /* !VERBOSE */
printf("}");
@@ -151,8 +151,8 @@ print_dqinfo(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", di, dqi_bgrace);
- PRINT_FIELD_U(", ", di, dqi_igrace);
+ PRINT_FIELD_U("{", *di, dqi_bgrace);
+ PRINT_FIELD_U(", ", *di, dqi_igrace);
printf(", dqi_flags=");
printflags(if_dqinfo_flags, di->dqi_flags, "DQF_???");
diff --git a/tests-mx32/quotactl.h b/tests-mx32/quotactl.h
index 31eaec58..d3cf53bf 100644
--- a/tests-mx32/quotactl.h
+++ b/tests-mx32/quotactl.h
@@ -34,6 +34,7 @@
# include <inttypes.h>
# include <stdarg.h>
# include <stdio.h>
+# include "print_fields.h"
# ifdef HAVE_LINUX_QUOTA_H
/* Broken in CentOS 5: has extern spinlock_t dq_data_lock; declaration */
@@ -57,18 +58,6 @@
# define PRJQUOTA 2
# endif
-# define PRINT_FIELD_D(prefix, where, field) \
- printf("%s%s=%lld", (prefix), #field, \
- sign_extend_unsigned_to_ll((where)->field))
-
-# define PRINT_FIELD_U(prefix, where, field) \
- printf("%s%s=%llu", (prefix), #field, \
- zero_extend_signed_to_ull((where)->field))
-
-# define PRINT_FIELD_X(prefix, where, field) \
- printf("%s%s=%#llx", (prefix), #field, \
- zero_extend_signed_to_ull((where)->field))
-
typedef void (*print_cb)(long rc, void *addr, void *arg);
enum check_quotactl_flag_bits {
diff --git a/tests-mx32/readahead.c b/tests-mx32/readahead.c
index c243ae40..a3e5cb8d 100644
--- a/tests-mx32/readahead.c
+++ b/tests-mx32/readahead.c
@@ -37,7 +37,7 @@
* see https://sourceware.org/bugzilla/show_bug.cgi?id=5208
*/
# if !(defined __GLIBC_MINOR__ && \
- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
+ (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
# undef HAVE_READAHEAD
# endif /* glibc < 2.8 */
/*
@@ -45,7 +45,7 @@
* see https://sourceware.org/bugzilla/show_bug.cgi?id=21026
*/
# if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \
- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
+ (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
# undef HAVE_READAHEAD
# endif /* LINUX_MIPSN64 && glibc < 2.25 */
# endif /* __GLIBC__ */
diff --git a/tests-mx32/readv.c b/tests-mx32/readv.c
index 0e5aab65..93f07605 100644
--- a/tests-mx32/readv.c
+++ b/tests-mx32/readv.c
@@ -108,7 +108,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
fds[1], w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -126,8 +126,8 @@ main(void)
tprintf("readv(%d, [{iov_base=\"%s\", iov_len=%u}], %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- fds[0],
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ fds[0], r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -148,8 +148,8 @@ main(void)
", {iov_base=\"\", iov_len=%u}], %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- fds[0], r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
- w_len - r_len, r1_d, r1_c);
+ fds[0], r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
+ w_len - r_len, w_len - r_len, r1_d, r1_c);
close(fds[0]);
tprintf("+++ exited with 0 +++\n");
diff --git a/tests-mx32/reboot.c b/tests-mx32/reboot.c
index 9b09e647..ce651dc7 100644
--- a/tests-mx32/reboot.c
+++ b/tests-mx32/reboot.c
@@ -14,14 +14,14 @@ int
main(void)
{
static const char buf[] = "reboot";
- long rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, \
- INVALID_MAGIC, LINUX_REBOOT_CMD_RESTART2, buf);
+ long rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1,
+ INVALID_MAGIC, LINUX_REBOOT_CMD_RESTART2, buf);
printf("reboot(LINUX_REBOOT_MAGIC1, %#x /* LINUX_REBOOT_MAGIC_??? */,"
" LINUX_REBOOT_CMD_RESTART2, \"%s\") = %ld %s (%m)\n",
INVALID_MAGIC, buf, rc, errno2name());
- rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, \
- LINUX_REBOOT_MAGIC2, INVALID_CMD);
+ rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1,
+ LINUX_REBOOT_MAGIC2, INVALID_CMD);
printf("reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,"
" %#x /* LINUX_REBOOT_CMD_??? */) = %ld %s (%m)\n",
INVALID_CMD, rc, errno2name());
diff --git a/tests-mx32/recvmsg.c b/tests-mx32/recvmsg.c
index fa41a9d4..2d55d554 100644
--- a/tests-mx32/recvmsg.c
+++ b/tests-mx32/recvmsg.c
@@ -100,7 +100,7 @@ main(void)
w0_c, LENGTH_OF(w0_c),
w1_c, LENGTH_OF(w1_c),
w2_c, LENGTH_OF(w2_c),
- ARRAY_SIZE(w_iov_), w_len,
+ (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c,
LENGTH_OF(w2_c), w2_d, w2_c);
@@ -127,7 +127,8 @@ main(void)
", msg_controllen=0, msg_flags=0}, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -151,8 +152,8 @@ main(void)
", msg_iovlen=%u, msg_controllen=0, msg_flags=0}, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
- w_len - r_len, r1_d, r1_c);
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
+ w_len - r_len, w_len - r_len, r1_d, r1_c);
close(0);
tprintf("+++ exited with 0 +++\n");
diff --git a/tests-mx32/request_key.c b/tests-mx32/request_key.c
index fea977b2..03c7a429 100644
--- a/tests-mx32/request_key.c
+++ b/tests-mx32/request_key.c
@@ -69,8 +69,7 @@ main(void)
{
static const char unterminated1[] = { '\1', '\2', '\3', '\4', '\5' };
static const char unterminated2[] = { '\6', '\7', '\10', '\11', '\12' };
- static const char unterminated3[] =
- { '\16', '\17', '\20', '\21', '\22' };
+ static const char unterminated3[] = { '\16', '\17', '\20', '\21', '\22' };
char *bogus_type = tail_memdup(unterminated1, sizeof(unterminated1));
char *bogus_desc = tail_memdup(unterminated2, sizeof(unterminated2));
diff --git a/tests-mx32/sigaction.awk b/tests-mx32/rt_sigaction.awk
index 9c3a9ed3..9c3a9ed3 100644
--- a/tests-mx32/sigaction.awk
+++ b/tests-mx32/rt_sigaction.awk
diff --git a/tests-mx32/rt_sigaction.c b/tests-mx32/rt_sigaction.c
new file mode 100644
index 00000000..1c034ff3
--- /dev/null
+++ b/tests-mx32/rt_sigaction.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <assert.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <signal.h>
+
+static void handle_signal(int no)
+{
+ _exit(128 + no);
+}
+
+int
+main(void)
+{
+ struct sigaction sa, sa0;
+
+ sa.sa_handler = SIG_IGN;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, SIGHUP);
+ sigaddset(&sa.sa_mask, SIGINT);
+ sa.sa_flags = SA_RESTART;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sa.sa_handler = handle_signal;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, SIGQUIT);
+ sigaddset(&sa.sa_mask, SIGTERM);
+ sa.sa_flags = SA_SIGINFO;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sa.sa_handler = SIG_DFL;
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sigfillset(&sa.sa_mask);
+ sigdelset(&sa.sa_mask, SIGHUP);
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ return 0;
+}
diff --git a/tests-mx32/sigaction.test b/tests-mx32/rt_sigaction.test
index fcde3baf..fcde3baf 100755
--- a/tests-mx32/sigaction.test
+++ b/tests-mx32/rt_sigaction.test
diff --git a/tests-mx32/rt_sigqueueinfo.c b/tests-mx32/rt_sigqueueinfo.c
index f803d91c..9681281b 100644
--- a/tests-mx32/rt_sigqueueinfo.c
+++ b/tests-mx32/rt_sigqueueinfo.c
@@ -33,7 +33,7 @@
#include <unistd.h>
int
-main (void)
+main(void)
{
struct sigaction sa = {
.sa_handler = SIG_IGN
diff --git a/tests-mx32/rt_tgsigqueueinfo.c b/tests-mx32/rt_tgsigqueueinfo.c
index 3b2da2ae..3cff35a6 100644
--- a/tests-mx32/rt_tgsigqueueinfo.c
+++ b/tests-mx32/rt_tgsigqueueinfo.c
@@ -50,7 +50,7 @@ k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
}
int
-main (void)
+main(void)
{
const struct sigaction sa = {
.sa_handler = SIG_IGN
@@ -65,7 +65,8 @@ main (void)
info->si_code = SI_QUEUE;
info->si_pid = getpid();
info->si_uid = getuid();
- info->si_value.sival_ptr = (void *) (unsigned long) 0xdeadbeeffacefeedULL;
+ info->si_value.sival_ptr =
+ (void *) (unsigned long) 0xdeadbeeffacefeedULL;
if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info))
(errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)(
diff --git a/tests-mx32/run_expect_termsig.c b/tests-mx32/run_expect_termsig.c
new file mode 100644
index 00000000..de81ccb5
--- /dev/null
+++ b/tests-mx32/run_expect_termsig.c
@@ -0,0 +1,58 @@
+/*
+ * Execute a command, expect its termination with a specified signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/wait.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac < 3)
+ error_msg_and_fail("usage: run_expect_termsig signo path...");
+
+ signal(SIGCHLD, SIG_DFL);
+
+ pid_t pid = fork();
+ if (pid < 0)
+ perror_msg_and_fail("fork");
+
+ if (!pid) {
+ execvp(av[2], av + 2);
+ perror_msg_and_fail("execvp: %s", av[2]);
+ }
+
+ int status;
+ if (waitpid(pid, &status, 0) != pid)
+ perror_msg_and_fail("waitpid");
+
+ return !(WIFSIGNALED(status) && WTERMSIG(status) == atoi(av[1]));
+}
diff --git a/tests-mx32/sched_get_priority_mxx.c b/tests-mx32/sched_get_priority_mxx.c
index fc14b27c..5224ff13 100644
--- a/tests-mx32/sched_get_priority_mxx.c
+++ b/tests-mx32/sched_get_priority_mxx.c
@@ -24,6 +24,6 @@ main(void)
#else
SKIP_MAIN_UNDEFINED("__NR_sched_get_priority_min"
- " && defined __NR_sched_get_priority_max");
+ " && defined __NR_sched_get_priority_max");
#endif
diff --git a/tests-mx32/seccomp-filter-v.c b/tests-mx32/seccomp-filter-v.c
index fe88ac7b..f65be7d8 100644
--- a/tests-mx32/seccomp-filter-v.c
+++ b/tests-mx32/seccomp-filter-v.c
@@ -146,7 +146,7 @@ main(void)
for (i = 0; i < BPF_MAXINSNS; ++i) {
if (i)
tprintf(", ");
- switch(BPF_CLASS(i)) {
+ switch (BPF_CLASS(i)) {
case BPF_LD:
tprintf("BPF_STMT(BPF_LD|BPF_W|BPF_IMM, %#x)", i << 16);
break;
diff --git a/tests-mx32/semop.c b/tests-mx32/semop.c
index 3d1f3846..2366d385 100644
--- a/tests-mx32/semop.c
+++ b/tests-mx32/semop.c
@@ -9,8 +9,7 @@
#include "xlat.h"
#include "xlat/semop_flags.h"
-union semun
-{
+union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
diff --git a/tests-mx32/sendfile.c b/tests-mx32/sendfile.c
index 9253c102..b86565b8 100644
--- a/tests-mx32/sendfile.c
+++ b/tests-mx32/sendfile.c
@@ -36,15 +36,13 @@
# include <fcntl.h>
# include <stdio.h>
# include <stdint.h>
+# include <stdlib.h>
# include <unistd.h>
# include <sys/socket.h>
-# include <sys/stat.h>
int
-main(int ac, const char **av)
+main(void)
{
- assert(ac == 1);
-
(void) close(0);
if (open("/dev/zero", O_RDONLY) != 0)
perror_msg_and_skip("open: %s", "/dev/zero");
@@ -53,58 +51,62 @@ main(int ac, const char **av)
if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
perror_msg_and_skip("socketpair");
- int reg_in = open(av[0], O_RDONLY);
- if (reg_in < 0)
- perror_msg_and_fail("open: %s", av[0]);
-
- struct stat stb;
- assert(fstat(reg_in, &stb) == 0);
- const size_t blen = stb.st_size / 3;
- const size_t alen = stb.st_size - blen;
- assert(S_ISREG(stb.st_mode) && blen > 0);
-
- const size_t page_len = get_page_size();
- assert(syscall(__NR_sendfile, 0, 1, NULL, page_len) == -1);
+ const unsigned int page_size = get_page_size();
+ assert(syscall(__NR_sendfile, 0, 1, NULL, page_size) == -1);
if (EBADF != errno)
perror_msg_and_skip("sendfile");
- printf("sendfile(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
- (unsigned long) page_len);
+ printf("sendfile(0, 1, NULL, %u) = -1 EBADF (%m)\n", page_size);
+
+ unsigned int file_size = 0;
+ socklen_t optlen = sizeof(file_size);
+ if (getsockopt(sv[1], SOL_SOCKET, SO_SNDBUF, &file_size, &optlen))
+ perror_msg_and_fail("getsockopt");
+ if (file_size < 1024)
+ error_msg_and_skip("SO_SNDBUF too small: %u", file_size);
+
+ file_size /= 4;
+ if (file_size / 16 > page_size)
+ file_size = page_size * 16;
+ const unsigned int blen = file_size / 3;
+ const unsigned int alen = file_size - blen;
+
+ static const char fname[] = "sendfile-tmpfile";
+ int reg_in = open(fname, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (reg_in < 0)
+ perror_msg_and_fail("open: %s", fname);
+ if (unlink(fname))
+ perror_msg_and_fail("unlink: %s", fname);
+ if (ftruncate(reg_in, file_size))
+ perror_msg_and_fail("ftruncate: %s", fname);
TAIL_ALLOC_OBJECT_VAR_PTR(uint32_t, p_off);
void *p = p_off + 1;
*p_off = 0;
- assert(syscall(__NR_sendfile, 0, 1, p, page_len) == -1);
- printf("sendfile(0, 1, %#lx, %lu) = -1 EFAULT (%m)\n",
- (unsigned long) p, (unsigned long) page_len);
+ assert(syscall(__NR_sendfile, 0, 1, p, page_size) == -1);
+ printf("sendfile(0, 1, %p, %u) = -1 EFAULT (%m)\n", p, page_size);
assert(syscall(__NR_sendfile, sv[1], reg_in, NULL, alen)
== (long) alen);
- printf("sendfile(%d, %d, NULL, %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen);
+ printf("sendfile(%d, %d, NULL, %u) = %u\n",
+ sv[1], reg_in, alen, alen);
p = p_off;
if (syscall(__NR_sendfile, sv[1], reg_in, p_off, alen) != (long) alen) {
- printf("sendfile(%d, %d, %#lx, %lu) = -1 EFAULT (%m)\n",
- sv[1], reg_in, (unsigned long) p_off,
- (unsigned long) alen);
+ printf("sendfile(%d, %d, %#lx, %u) = -1 EFAULT (%m)\n",
+ sv[1], reg_in, (unsigned long) p_off, alen);
--p_off;
*p_off = 0;
assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, alen)
== (long) alen);
}
- printf("sendfile(%d, %d, [0] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen, (unsigned long) alen);
+ printf("sendfile(%d, %d, [0] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, alen, alen);
- assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, stb.st_size + 1)
+ assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, file_size + 1)
== (long) blen);
- printf("sendfile(%d, %d, [%lu] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) stb.st_size,
- (unsigned long) stb.st_size + 1,
- (unsigned long) blen);
+ printf("sendfile(%d, %d, [%u] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, file_size, file_size + 1, blen);
if (p_off != p) {
uint64_t *p_off64 = (uint64_t *) p_off;
diff --git a/tests-mx32/sendfile64.c b/tests-mx32/sendfile64.c
index de02400b..4c4da6d0 100644
--- a/tests-mx32/sendfile64.c
+++ b/tests-mx32/sendfile64.c
@@ -36,15 +36,13 @@
# include <fcntl.h>
# include <stdio.h>
# include <stdint.h>
+# include <stdlib.h>
# include <unistd.h>
# include <sys/socket.h>
-# include <sys/stat.h>
int
-main(int ac, const char **av)
+main(void)
{
- assert(ac == 1);
-
(void) close(0);
if (open("/dev/zero", O_RDONLY) != 0)
perror_msg_and_skip("open: %s", "/dev/zero");
@@ -53,50 +51,55 @@ main(int ac, const char **av)
if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
perror_msg_and_skip("socketpair");
- int reg_in = open(av[0], O_RDONLY);
- if (reg_in < 0)
- perror_msg_and_fail("open: %s", av[0]);
-
- struct stat stb;
- assert(fstat(reg_in, &stb) == 0);
- const size_t blen = stb.st_size / 3;
- const size_t alen = stb.st_size - blen;
- assert(S_ISREG(stb.st_mode) && blen > 0);
-
- const size_t page_len = get_page_size();
- assert(syscall(__NR_sendfile64, 0, 1, NULL, page_len) == -1);
+ const unsigned int page_size = get_page_size();
+ assert(syscall(__NR_sendfile64, 0, 1, NULL, page_size) == -1);
if (EBADF != errno)
perror_msg_and_skip("sendfile64");
- printf("sendfile64(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
- (unsigned long) page_len);
+ printf("sendfile64(0, 1, NULL, %u) = -1 EBADF (%m)\n", page_size);
+
+ unsigned int file_size = 0;
+ socklen_t optlen = sizeof(file_size);
+ if (getsockopt(sv[1], SOL_SOCKET, SO_SNDBUF, &file_size, &optlen))
+ perror_msg_and_fail("getsockopt");
+ if (file_size < 1024)
+ error_msg_and_skip("SO_SNDBUF too small: %u", file_size);
+
+ file_size /= 4;
+ if (file_size / 16 > page_size)
+ file_size = page_size * 16;
+ const unsigned int blen = file_size / 3;
+ const unsigned int alen = file_size - blen;
+
+ static const char fname[] = "sendfile64-tmpfile";
+ int reg_in = open(fname, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (reg_in < 0)
+ perror_msg_and_fail("open: %s", fname);
+ if (unlink(fname))
+ perror_msg_and_fail("unlink: %s", fname);
+ if (ftruncate(reg_in, file_size))
+ perror_msg_and_fail("ftruncate: %s", fname);
TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, p_off);
void *p = p_off + 1;
*p_off = 0;
- assert(syscall(__NR_sendfile64, 0, 1, p, page_len) == -1);
- printf("sendfile64(0, 1, %#lx, %lu) = -1 EFAULT (%m)\n",
- (unsigned long) p, (unsigned long) page_len);
+ assert(syscall(__NR_sendfile64, 0, 1, p, page_size) == -1);
+ printf("sendfile64(0, 1, %p, %u) = -1 EFAULT (%m)\n", p, page_size);
assert(syscall(__NR_sendfile64, sv[1], reg_in, NULL, alen)
== (long) alen);
- printf("sendfile64(%d, %d, NULL, %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen);
+ printf("sendfile64(%d, %d, NULL, %u) = %u\n",
+ sv[1], reg_in, alen, alen);
assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, alen)
== (long) alen);
- printf("sendfile64(%d, %d, [0] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen, (unsigned long) alen);
+ printf("sendfile64(%d, %d, [0] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, alen, alen);
- assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, stb.st_size + 1)
+ assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, file_size + 1)
== (long) blen);
- printf("sendfile64(%d, %d, [%lu] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) stb.st_size,
- (unsigned long) stb.st_size + 1,
- (unsigned long) blen);
+ printf("sendfile64(%d, %d, [%u] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, file_size, file_size + 1, blen);
*p_off = 0xcafef00dfacefeedULL;
assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, 1) == -1);
diff --git a/tests-mx32/sigaction.c b/tests-mx32/sigaction.c
index 1c034ff3..7b469445 100644
--- a/tests-mx32/sigaction.c
+++ b/tests-mx32/sigaction.c
@@ -1,5 +1,7 @@
/*
- * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of sigaction syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -25,43 +27,173 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <assert.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigaction
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+struct set_sa {
+#if defined MIPS
+ unsigned int flags;
+ unsigned long handler;
+ unsigned long mask[1];
+#elif defined ALPHA
+ unsigned long handler;
+ unsigned long mask[1];
+ unsigned int flags;
+#else
+ unsigned long handler;
+ unsigned long mask[1];
+ unsigned long flags;
+ unsigned long restorer;
+#endif
+}
+#ifdef ALPHA
+ ATTRIBUTE_PACKED
+#endif
+;
+
+typedef struct set_sa struct_set_sa;
+
+#ifdef MIPS
+
+struct get_sa {
+ unsigned int flags;
+ unsigned long handler;
+ unsigned long mask[4];
+};
+
+typedef struct get_sa struct_get_sa;
-static void handle_signal(int no)
+#else
+
+typedef struct set_sa struct_get_sa;
+
+#endif
+
+static long
+k_sigaction(const kernel_ulong_t signum, const kernel_ulong_t new_act,
+ const kernel_ulong_t old_act)
{
- _exit(128 + no);
+ return syscall(__NR_sigaction, signum, new_act, old_act);
}
+#if defined SPARC || defined SPARC64
+static const kernel_ulong_t signo =
+ (kernel_ulong_t) 0xbadc0ded00000000ULL | (unsigned int) -SIGUSR1;
+# define SIG_STR "-SIGUSR1"
+#else
+static const kernel_ulong_t signo =
+ (kernel_ulong_t) 0xbadc0ded00000000ULL | SIGUSR1;
+# define SIG_STR "SIGUSR1"
+#endif
+
int
main(void)
{
- struct sigaction sa, sa0;
-
- sa.sa_handler = SIG_IGN;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask, SIGHUP);
- sigaddset(&sa.sa_mask, SIGINT);
- sa.sa_flags = SA_RESTART;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sa.sa_handler = handle_signal;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask, SIGQUIT);
- sigaddset(&sa.sa_mask, SIGTERM);
- sa.sa_flags = SA_SIGINFO;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sa.sa_handler = SIG_DFL;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sigfillset(&sa.sa_mask);
- sigdelset(&sa.sa_mask, SIGHUP);
- assert(!sigaction(SIGUSR2, &sa, &sa0));
+ static const kernel_ulong_t addr =
+ (kernel_ulong_t) 0xfacefeed0defacedULL;
+ union {
+ sigset_t libc[1];
+ unsigned long old[1];
+ } mask;
+
+ TAIL_ALLOC_OBJECT_CONST_PTR(struct_set_sa, new_act);
+ TAIL_ALLOC_OBJECT_CONST_PTR(struct_get_sa, old_act);
+
+ if (k_sigaction(signo, 0, 0))
+ perror_msg_and_skip("sigaction");
+ puts("sigaction(" SIG_STR ", NULL, NULL) = 0");
+
+ k_sigaction(signo, 0, 0);
+ puts("sigaction(" SIG_STR ", NULL, NULL) = 0");
+
+ k_sigaction(signo, (uintptr_t) (new_act + 1), 0);
+ printf("sigaction(" SIG_STR ", %p, NULL) = -1 EFAULT (%m)\n",
+ new_act + 1);
+
+ k_sigaction(signo, (uintptr_t) new_act + 2, 0);
+ printf("sigaction(" SIG_STR ", %#lx, NULL) = -1 EFAULT (%m)\n",
+ (unsigned long) new_act + 2);
+ k_sigaction(signo, 0, (uintptr_t) (old_act + 1));
+ printf("sigaction(" SIG_STR ", NULL, %p) = -1 EFAULT (%m)\n",
+ old_act + 1);
+
+ k_sigaction(signo, 0, (uintptr_t) old_act + 2);
+ printf("sigaction(" SIG_STR ", NULL, %#lx) = -1 EFAULT (%m)\n",
+ (unsigned long) old_act + 2);
+
+ k_sigaction(addr, 0, 0);
+ printf("sigaction(%d, NULL, NULL) = -1 EINVAL (%m)\n", (int) addr);
+
+ memset(new_act, 0, sizeof(*new_act));
+
+ k_sigaction(signo, (uintptr_t) new_act, 0);
+ puts("sigaction(" SIG_STR ", {sa_handler=SIG_DFL, sa_mask=[]"
+ ", sa_flags=0}, NULL) = 0");
+
+ sigemptyset(mask.libc);
+ sigaddset(mask.libc, SIGHUP);
+ sigaddset(mask.libc, SIGINT);
+
+ new_act->handler = (uintptr_t) SIG_IGN;
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+ new_act->flags = SA_SIGINFO;
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ puts("sigaction(" SIG_STR ", {sa_handler=SIG_IGN, sa_mask=[HUP INT]"
+ ", sa_flags=SA_SIGINFO}, {sa_handler=SIG_DFL, sa_mask=[]"
+ ", sa_flags=0}) = 0");
+
+ sigemptyset(mask.libc);
+ sigaddset(mask.libc, SIGQUIT);
+ sigaddset(mask.libc, SIGTERM);
+
+ new_act->handler = (unsigned long) addr;
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+ new_act->flags = SA_ONSTACK | SA_RESTART;
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ printf("sigaction(" SIG_STR ", {sa_handler=%#lx, sa_mask=[QUIT TERM]"
+ ", sa_flags=SA_ONSTACK|SA_RESTART}, {sa_handler=SIG_IGN"
+ ", sa_mask=[HUP INT], sa_flags=SA_SIGINFO}) = 0\n",
+ new_act->handler);
+
+ memset(mask.old, -1, sizeof(mask.old));
+ sigdelset(mask.libc, SIGHUP);
+
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+#ifdef SA_RESTORER
+ new_act->flags = SA_RESTORER;
+ new_act->restorer = (unsigned long) 0xdeadfacecafef00dULL;
+# define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx"
+# define SA_RESTORER_ARGS , new_act->restorer
+#else
+ new_act->flags = SA_NODEFER;
+# define SA_RESTORER_FMT ", sa_flags=SA_NODEFER"
+# define SA_RESTORER_ARGS
+#endif
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ printf("sigaction(" SIG_STR ", {sa_handler=%#lx, sa_mask=~[HUP]"
+ SA_RESTORER_FMT "}, {sa_handler=%#lx, sa_mask=[QUIT TERM]"
+ ", sa_flags=SA_ONSTACK|SA_RESTART}) = 0\n",
+ new_act->handler SA_RESTORER_ARGS,
+ new_act->handler);
+
+ puts("+++ exited with 0 +++");
return 0;
}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigaction")
+
+#endif
diff --git a/tests-mx32/sigaction.gen.test b/tests-mx32/sigaction.gen.test
new file mode 100755
index 00000000..dee340e8
--- /dev/null
+++ b/tests-mx32/sigaction.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigaction -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests-mx32/signal.c b/tests-mx32/signal.c
new file mode 100644
index 00000000..edbc3d2d
--- /dev/null
+++ b/tests-mx32/signal.c
@@ -0,0 +1,132 @@
+/*
+ * Check decoding of signal syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_signal
+
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+static long
+k_signal(const kernel_ulong_t signum, const kernel_ulong_t handler)
+{
+ return syscall(__NR_signal, signum, handler);
+}
+
+int
+main(void)
+{
+ static const uintptr_t sig_ign = (uintptr_t) SIG_IGN;
+ static const uintptr_t sig_dfl = (uintptr_t) SIG_DFL;
+ static const kernel_ulong_t sigusr1 =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIGUSR1;
+ static const struct sigaction act = { .sa_handler = SIG_DFL };
+ long rc;
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGUSR1);
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_BLOCK");
+
+ if (sigaction(SIGUSR1, &act, NULL))
+ perror_msg_and_fail("sigaction");
+
+ rc = k_signal(sigusr1, sig_ign);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_IGN) = %s\n", sprintrc(rc));
+ } else if (rc != (long) sig_dfl) {
+ error_msg_and_fail("signal(SIGUSR1, SIG_IGN) = %#lx\n", rc);
+ } else {
+ printf("signal(SIGUSR1, SIG_IGN) = %#lx (SIG_DFL)\n", rc);
+
+ /*
+ * Raise and unblock SIGUSR1.
+ * If signal syscall failed to set SIGUSR1 handler to SIG_IGN,
+ * the process will be terminated by SIGUSR1.
+ */
+ raise(SIGUSR1);
+ if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_UNBLOCK");
+
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_BLOCK");
+ }
+
+ rc = k_signal(SIGUSR1, sig_dfl);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_DFL) = %s\n", sprintrc(rc));
+ } else if (rc != (long) sig_ign) {
+ error_msg_and_fail("signal(SIGUSR1, SIG_DFL) = %#lx\n", rc);
+ } else {
+ printf("signal(SIGUSR1, SIG_DFL) = %#lx (SIG_IGN)\n", rc);
+ }
+
+ const kernel_ulong_t addr = (kernel_ulong_t) 0xfacefeeddeadbeefULL;
+ rc = k_signal(SIGUSR1, addr);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, %#llx) = %s\n",
+ (unsigned long long) addr, sprintrc(rc));
+ } else if (rc != (long) sig_dfl) {
+ error_msg_and_fail("signal(SIGUSR1, %#llx) = %#lx\n",
+ (unsigned long long) addr, rc);
+ } else {
+ printf("signal(SIGUSR1, %#llx) = %#lx (SIG_DFL)\n",
+ (unsigned long long) addr, rc);
+ }
+
+ rc = k_signal(SIGUSR1, sig_ign);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_IGN) = %s\n", sprintrc(rc));
+ } else {
+ printf("signal(SIGUSR1, SIG_IGN) = %#lx\n", rc);
+ }
+
+ rc = k_signal(addr, sig_ign);
+ printf("signal(%d, SIG_IGN) = %s\n", (int) addr, sprintrc(rc));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_signal")
+
+#endif
diff --git a/tests-mx32/signal.gen.test b/tests-mx32/signal.gen.test
new file mode 100755
index 00000000..81359ca5
--- /dev/null
+++ b/tests-mx32/signal.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signal -a25 -e signal=none -e trace='/^signal$'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e signal=none -e trace='/^signal$'
diff --git a/tests-mx32/signal2name.c b/tests-mx32/signal2name.c
index e301f4ee..73e93b20 100644
--- a/tests-mx32/signal2name.c
+++ b/tests-mx32/signal2name.c
@@ -50,6 +50,7 @@ signal2name(int sig)
CASE(SIGPWR);
CASE(SIGSTKFLT);
#endif
- default: perror_msg_and_fail("unknown signal number %d", sig);
+ default:
+ perror_msg_and_fail("unknown signal number %d", sig);
}
}
diff --git a/tests-mx32/signal_receive.c b/tests-mx32/signal_receive.c
index 1c4293e5..01c52e8c 100644
--- a/tests-mx32/signal_receive.c
+++ b/tests-mx32/signal_receive.c
@@ -25,7 +25,7 @@ main(void)
sigemptyset(&mask);
for (sig = 1; sig <= 31; sig++) {
- if( sig != SIGKILL && sig != SIGSTOP) {
+ if (sig != SIGKILL && sig != SIGSTOP) {
sigaction(sig, &act, NULL);
sigaddset(&mask, sig);
}
@@ -33,7 +33,7 @@ main(void)
sigprocmask(SIG_UNBLOCK, &mask, NULL);
for (sig = 1; sig <= 31; sig++) {
- if(sig != SIGKILL && sig != SIGSTOP) {
+ if (sig != SIGKILL && sig != SIGSTOP) {
if (kill(pid, sig) != 0)
perror_msg_and_fail("kill: %d", sig);
sig_print(signal2name(sig), pid, uid);
diff --git a/tests-mx32/sigpending.c b/tests-mx32/sigpending.c
new file mode 100644
index 00000000..0ce4b219
--- /dev/null
+++ b/tests-mx32/sigpending.c
@@ -0,0 +1,106 @@
+/*
+ * Check decoding of sigpending syscall.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigpending
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+k_sigpending(const kernel_ulong_t set)
+{
+ const long rc = syscall(__NR_sigpending, set);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
+int
+main(void)
+{
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, k_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
+
+ sigemptyset(libc_set);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+
+ if (k_sigpending((uintptr_t) libc_set))
+ perror_msg_and_skip("sigpending");
+ else
+ puts("sigpending([]) = 0");
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([]) = 0");
+
+ k_sigpending((uintptr_t) (k_set + 1));
+ printf("sigpending(%p) = -1 EFAULT (%m)\n", k_set + 1);
+
+ uintptr_t efault = sizeof(*k_set) / 2 + (uintptr_t) k_set;
+ k_sigpending(efault);
+ printf("sigpending(%#jx) = -1 EFAULT (%m)\n", (uintmax_t) efault);
+
+ sigaddset(libc_set, SIGHUP);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+ raise(SIGHUP);
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([HUP]) = 0");
+
+ sigaddset(libc_set, SIGINT);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+ raise(SIGINT);
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([HUP INT]) = 0");
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ k_sigpending(f8ill_ptr_to_kulong(k_set));
+ printf("sigpending(%#jx) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(k_set), errstr);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigpending")
+
+#endif
diff --git a/tests-mx32/sigpending.gen.test b/tests-mx32/sigpending.gen.test
new file mode 100755
index 00000000..0f4259a3
--- /dev/null
+++ b/tests-mx32/sigpending.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigpending -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests-mx32/sigprocmask.c b/tests-mx32/sigprocmask.c
new file mode 100644
index 00000000..92a34d7d
--- /dev/null
+++ b/tests-mx32/sigprocmask.c
@@ -0,0 +1,151 @@
+/*
+ * Check decoding of sigprocmask syscall.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigprocmask
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+k_sigprocmask(const kernel_ulong_t how, const kernel_ulong_t new_set,
+ const kernel_ulong_t old_set)
+{
+ const long rc = syscall(__NR_sigprocmask, how, new_set, old_set);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
+int
+main(void)
+{
+ static const kernel_ulong_t sig_block =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_BLOCK;
+ static const kernel_ulong_t sig_unblock =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_UNBLOCK;
+ static const kernel_ulong_t sig_setmask =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_SETMASK;
+
+ if (k_sigprocmask(sig_setmask, 0, 0))
+ perror_msg_and_skip("sigprocmask");
+ puts("sigprocmask(SIG_SETMASK, NULL, NULL) = 0");
+
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, new_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, old_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
+
+ memset(new_set, 0, sizeof(*new_set));
+ k_sigprocmask(sig_setmask, (uintptr_t) new_set, 0);
+ printf("sigprocmask(SIG_SETMASK, [], NULL) = %s\n", errstr);
+
+ k_sigprocmask(sig_unblock,
+ (uintptr_t) (new_set - 1), (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[], []) = 0");
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ k_sigprocmask(sig_unblock, f8ill_ptr_to_kulong(new_set), 0);
+ printf("sigprocmask(SIG_UNBLOCK, %#jx, NULL) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(new_set), errstr);
+
+ k_sigprocmask(sig_unblock, 0, f8ill_ptr_to_kulong(old_set));
+ printf("sigprocmask(SIG_UNBLOCK, NULL, %#jx) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(old_set), errstr);
+ }
+
+ sigemptyset(libc_set);
+ sigaddset(libc_set, SIGHUP);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_block, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_BLOCK, [HUP], []) = 0");
+
+ memset(libc_set, -1, sizeof(*libc_set));
+ sigdelset(libc_set, SIGHUP);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_unblock, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[HUP], [HUP]) = 0");
+
+ sigdelset(libc_set, SIGKILL);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_unblock, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[HUP KILL], [HUP]) = 0");
+
+ sigemptyset(libc_set);
+ sigaddset(libc_set, SIGHUP);
+ sigaddset(libc_set, SIGINT);
+ sigaddset(libc_set, SIGQUIT);
+ sigaddset(libc_set, SIGALRM);
+ sigaddset(libc_set, SIGTERM);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_block, (uintptr_t) new_set, (uintptr_t) old_set);
+ printf("sigprocmask(SIG_BLOCK, %s, [HUP]) = 0\n",
+ "[HUP INT QUIT ALRM TERM]");
+
+ k_sigprocmask(sig_setmask, 0, (uintptr_t) old_set);
+ printf("sigprocmask(SIG_SETMASK, NULL, %s) = 0\n",
+ "[HUP INT QUIT ALRM TERM]");
+
+ k_sigprocmask(sig_setmask, (uintptr_t) (new_set + 1), 0);
+ printf("sigprocmask(SIG_SETMASK, %p, NULL) = %s\n",
+ new_set + 1, errstr);
+
+ k_sigprocmask(sig_setmask,
+ (uintptr_t) new_set, (uintptr_t) (old_set + 1));
+ printf("sigprocmask(SIG_SETMASK, %s, %p) = %s\n",
+ "[HUP INT QUIT ALRM TERM]", old_set + 1, errstr);
+
+ uintptr_t efault = sizeof(*new_set) / 2 + (uintptr_t) new_set;
+
+ k_sigprocmask(sig_setmask, efault, 0);
+ printf("sigprocmask(SIG_SETMASK, %#jx, NULL) = %s\n",
+ (uintmax_t) efault, errstr);
+
+ k_sigprocmask(sig_setmask, 0, efault);
+ printf("sigprocmask(SIG_SETMASK, NULL, %#jx) = %s\n",
+ (uintmax_t) efault, errstr);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigprocmask")
+
+#endif
diff --git a/tests-mx32/sigprocmask.gen.test b/tests-mx32/sigprocmask.gen.test
new file mode 100755
index 00000000..44a508ce
--- /dev/null
+++ b/tests-mx32/sigprocmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigprocmask -a34); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34
diff --git a/tests-mx32/sockname.c b/tests-mx32/sockname.c
index 9bab8eda..58726712 100644
--- a/tests-mx32/sockname.c
+++ b/tests-mx32/sockname.c
@@ -42,9 +42,7 @@
# error TEST_SYSCALL_NAME must be defined
#endif
-#define TEST_SYSCALL_STR__(a) #a
-#define TEST_SYSCALL_STR_(a) TEST_SYSCALL_STR__(a)
-#define TEST_SYSCALL_STR TEST_SYSCALL_STR_(TEST_SYSCALL_NAME)
+#define TEST_SYSCALL_STR STRINGIFY_VAL(TEST_SYSCALL_NAME)
#define TEST_SOCKET TEST_SYSCALL_STR ".socket"
#ifdef TEST_SYSCALL_PREPARE
diff --git a/tests-mx32/stack-fcall.c b/tests-mx32/stack-fcall.c
index 134d54f6..fc9ee5f9 100644
--- a/tests-mx32/stack-fcall.c
+++ b/tests-mx32/stack-fcall.c
@@ -1,6 +1,6 @@
int f0(int i);
-int main(int argc, char** argv)
+int main(int argc, char **argv)
{
f0(argc);
return 0;
diff --git a/tests-mx32/statx.c b/tests-mx32/statx.c
index f36fb0e1..816b7eb1 100644
--- a/tests-mx32/statx.c
+++ b/tests-mx32/statx.c
@@ -49,7 +49,7 @@ static const char *TEST_SYSCALL_STATX_MASK_STR = "STATX_ALL";
# define TEST_SYSCALL_INVOKE(sample, pst) \
syscall(__NR_statx, AT_FDCWD, sample, TEST_SYSCALL_STATX_FLAGS, \
- TEST_SYSCALL_STATX_MASK, pst)
+ TEST_SYSCALL_STATX_MASK, pst)
# define PRINT_SYSCALL_HEADER(sample) \
do { \
int saved_errno = errno; \
diff --git a/tests-mx32/strace-V.test b/tests-mx32/strace-V.test
index d5c3ac08..8db13956 100755
--- a/tests-mx32/strace-V.test
+++ b/tests-mx32/strace-V.test
@@ -23,7 +23,7 @@ config_year=$(getval COPYRIGHT_YEAR)
cat > "$EXP" << __EOF__
$(getval PACKAGE_NAME) -- version $(getval PACKAGE_VERSION)
-Copyright (C) 1991-${config_year} The strace developers <$(getval PACKAGE_URL)>.
+Copyright (c) 1991-${config_year} The strace developers <$(getval PACKAGE_URL)>.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
__EOF__
diff --git a/tests-mx32/termsig.test b/tests-mx32/termsig.test
new file mode 100755
index 00000000..fd8852ce
--- /dev/null
+++ b/tests-mx32/termsig.test
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Check termination signal forwarding.
+
+. "${srcdir=.}/init.sh"
+
+run_expect_termsig="../run_expect_termsig 15"
+unblock_reset_raise="../unblock_reset_raise 15"
+
+run_prog $run_expect_termsig $unblock_reset_raise
+STRACE="$run_expect_termsig $STRACE"
+
+for i in 1 2 3 4; do
+ run_strace -I$i -enone -esignal=none $unblock_reset_raise
+done
diff --git a/tests-mx32/test_nlattr.h b/tests-mx32/test_nlattr.h
new file mode 100644
index 00000000..8cbb2115
--- /dev/null
+++ b/tests-mx32/test_nlattr.h
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include "print_fields.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+
+static void
+init_nlattr(struct nlattr *const nla,
+ const uint16_t nla_len,
+ const uint16_t nla_type,
+ const void *const src,
+ const size_t n)
+{
+ SET_STRUCT(struct nlattr, nla,
+ .nla_len = nla_len,
+ .nla_type = nla_type,
+ );
+
+ memcpy(RTA_DATA(nla), src, n);
+}
+
+static void
+print_nlattr(const unsigned int nla_len, const char *const nla_type)
+{
+ printf(", {{nla_len=%u, nla_type=%s}, ", nla_len, nla_type);
+}
+
+#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, nla_type_str_, \
+ nla_data_len_, src_, slen_, ...) \
+ do { \
+ struct nlmsghdr *const nlh = \
+ (nlh0_) - (NLA_HDRLEN + (slen_)); \
+ struct nlattr *const nla = NLMSG_ATTR(nlh, (hdrlen_)); \
+ const unsigned int nla_len = \
+ NLA_HDRLEN + (nla_data_len_); \
+ const unsigned int msg_len = \
+ NLMSG_SPACE(hdrlen_) + nla_len; \
+ \
+ (init_msg_)(nlh, msg_len); \
+ init_nlattr(nla, nla_len, (nla_type_), \
+ (src_), (slen_)); \
+ \
+ const char *const errstr = \
+ sprintrc(sendto((fd_), nlh, msg_len, \
+ MSG_DONTWAIT, NULL, 0)); \
+ \
+ printf("sendto(%d, {", (fd_)); \
+ (print_msg_)(msg_len); \
+ print_nlattr(nla_len, (nla_type_str_)); \
+ \
+ { __VA_ARGS__; } \
+ \
+ printf("}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", \
+ msg_len, errstr); \
+ } while (0)
+
+#define TEST_NLATTR(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, \
+ nla_data_len_, src_, slen_, ...) \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ (nla_data_len_), (src_), (slen_), __VA_ARGS__)
+
+#define TEST_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, pattern_, obj_, ...) \
+ do { \
+ const int plen = sizeof(obj_) - 1 > DEFAULT_STRLEN \
+ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \
+ /* len < sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_) - 1, \
+ (pattern_), sizeof(obj_) - 1, \
+ printf("\"%.*s\"", plen, (pattern_))); \
+ /* short read of sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ (pattern_), sizeof(obj_) - 1, \
+ printf("%p", \
+ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))))); \
+ /* sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_), \
+ __VA_ARGS__); \
+ } while (0)
+
+#define TEST_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, pattern_, obj_, print_elem_) \
+ do { \
+ const int plen = \
+ sizeof((obj_)[0]) - 1 > DEFAULT_STRLEN \
+ ? DEFAULT_STRLEN : (int) sizeof((obj_)[0]) - 1; \
+ /* len < sizeof((obj_)[0]) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof((obj_)[0]) - 1, \
+ (pattern_), sizeof((obj_)[0]) - 1, \
+ printf("\"%.*s\"", plen, (pattern_))); \
+ /* sizeof((obj_)[0]) < len < sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_) - 1, \
+ &(obj_), sizeof(obj_) - 1, \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf("]")); \
+ /* short read of sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_) - 1, \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf(", %p]", \
+ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))) \
+ + sizeof((obj_)[0]))); \
+ /* sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_), \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf("]")); \
+ } while (0)
diff --git a/tests-mx32/tests.h b/tests-mx32/tests.h
index dcc10576..094f3650 100644
--- a/tests-mx32/tests.h
+++ b/tests-mx32/tests.h
@@ -36,12 +36,26 @@
# include <sys/types.h>
# include "kernel_types.h"
# include "gcc_compat.h"
+# include "macros.h"
+
+/*
+ * The printf-like function to use in header files
+ * shared between strace and its tests.
+ */
+#ifndef STRACE_PRINTF
+# define STRACE_PRINTF printf
+#endif
/* Tests of "strace -v" are expected to define VERBOSE to 1. */
#ifndef VERBOSE
# define VERBOSE 0
#endif
+#ifndef DEFAULT_STRLEN
+/* Default maximum # of bytes printed in printstr et al. */
+# define DEFAULT_STRLEN 32
+#endif
+
/* Cached sysconf(_SC_PAGESIZE). */
size_t get_page_size(void);
@@ -66,7 +80,7 @@ void skip_if_unavailable(const char *);
/*
* Allocate memory that ends on the page boundary.
- * Pages allocated by this call are preceeded by an unmapped page
+ * Pages allocated by this call are preceded by an unmapped page
* and followed also by an unmapped page.
*/
void *tail_alloc(const size_t)
@@ -167,6 +181,10 @@ struct timespec;
int recv_mmsg(int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *);
int send_mmsg(int, struct mmsghdr *, unsigned int, unsigned int);
+/* Create a netlink socket. */
+int create_nl_socket_ext(int proto, const char *name);
+#define create_nl_socket(proto) create_nl_socket_ext((proto), #proto)
+
/* Create a pipe with maximized descriptor numbers. */
void pipe_maxfd(int pipefd[2]);
@@ -186,7 +204,6 @@ f8ill_ptr_to_kulong(const void *const ptr)
? F8ILL_KULONG_MASK | uptr : (kernel_ulong_t) uptr;
}
-# define ARRAY_SIZE(arg) ((unsigned int) (sizeof(arg) / sizeof((arg)[0])))
# define LENGTH_OF(arg) ((unsigned int) sizeof(arg) - 1)
/* Zero-extend a signed integer type to unsigned long long. */
@@ -239,4 +256,16 @@ f8ill_ptr_to_kulong(const void *const ptr)
# define ARG_STR(_arg) (_arg), #_arg
# define ARG_ULL_STR(_arg) _arg##ULL, #_arg
+/*
+ * Assign an object of type DEST_TYPE at address DEST_ADDR
+ * using memcpy to avoid potential unaligned access.
+ */
+#define SET_STRUCT(DEST_TYPE, DEST_ADDR, ...) \
+ do { \
+ DEST_TYPE dest_type_tmp_var = { __VA_ARGS__ }; \
+ memcpy(DEST_ADDR, &dest_type_tmp_var, sizeof(dest_type_tmp_var)); \
+ } while (0)
+
+#define NLMSG_ATTR(nlh, hdrlen) ((void *)(nlh) + NLMSG_SPACE(hdrlen))
+
#endif /* !STRACE_TESTS_H */
diff --git a/tests-mx32/times-fail.c b/tests-mx32/times-fail.c
index cb69bd43..bc8b4595 100644
--- a/tests-mx32/times-fail.c
+++ b/tests-mx32/times-fail.c
@@ -5,7 +5,7 @@
#include <asm/unistd.h>
int
-main (void)
+main(void)
{
assert(syscall(__NR_times, 0x42) == -1);
printf("times(0x42) = -1 EFAULT (%m)\n");
diff --git a/tests-mx32/times.c b/tests-mx32/times.c
index 2c7b95e5..c4cce0e8 100644
--- a/tests-mx32/times.c
+++ b/tests-mx32/times.c
@@ -49,7 +49,7 @@ enum {
};
int
-main (void)
+main(void)
{
struct timespec ts;
volatile int dummy = 0;
diff --git a/tests-mx32/uio.c b/tests-mx32/uio.c
index 6291f972..21f005d9 100644
--- a/tests-mx32/uio.c
+++ b/tests-mx32/uio.c
@@ -39,16 +39,16 @@ main(void)
{
const off_t offset = 0xdefaceddeadbeefLL;
char buf[4];
- struct iovec iov = { buf, sizeof buf };
+ struct iovec iov = { buf, sizeof(buf) };
(void) close(0);
assert(open("/dev/zero", O_RDONLY) == 0);
- assert(pread(0, buf, sizeof buf, offset) == 4);
+ assert(pread(0, buf, sizeof(buf), offset) == 4);
assert(preadv(0, &iov, 1, offset) == 4);
assert(!close(0));
assert(open("/dev/null", O_WRONLY) == 0);
- assert(pwrite(0, buf, sizeof buf, offset) == 4);
+ assert(pwrite(0, buf, sizeof(buf), offset) == 4);
assert(pwritev(0, &iov, 1, offset) == 4);
assert(!close(0));
diff --git a/tests-mx32/unblock_reset_raise.c b/tests-mx32/unblock_reset_raise.c
new file mode 100644
index 00000000..4182f129
--- /dev/null
+++ b/tests-mx32/unblock_reset_raise.c
@@ -0,0 +1,54 @@
+/*
+ * Unblock, reset, and raise a signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac != 2)
+ error_msg_and_fail("usage: unblock_raise signo");
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ const int signo = atoi(av[1]);
+ if (sigaddset(&mask, signo))
+ perror_msg_and_fail("sigaddset: %s", av[1]);
+ if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask");
+ if (signal(signo, SIG_DFL) == SIG_ERR)
+ perror_msg_and_fail("signal: %s", av[1]);
+ if (raise(signo))
+ perror_msg_and_fail("raise: %s", av[1]);
+
+ return 0;
+}
diff --git a/tests-mx32/unix-pair-sendto-recvfrom.c b/tests-mx32/unix-pair-sendto-recvfrom.c
index cea382c9..a0c710ac 100644
--- a/tests-mx32/unix-pair-sendto-recvfrom.c
+++ b/tests-mx32/unix-pair-sendto-recvfrom.c
@@ -71,7 +71,7 @@ main(int ac, char **av)
assert(recvfrom(0, av[1], len, MSG_WAITALL, NULL, NULL) == len);
assert(close(0) == 0);
- int status;
+ int status;
assert(waitpid(pid, &status, 0) == pid);
assert(status == 0);
} else {
diff --git a/tests-mx32/vmsplice.c b/tests-mx32/vmsplice.c
index f29962e3..4242d9e6 100644
--- a/tests-mx32/vmsplice.c
+++ b/tests-mx32/vmsplice.c
@@ -86,7 +86,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(iov_),
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(iov_),
"SPLICE_F_NONBLOCK", len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
diff --git a/tests-mx32/waitid.c b/tests-mx32/waitid.c
index b56feea4..26f5b869 100644
--- a/tests-mx32/waitid.c
+++ b/tests-mx32/waitid.c
@@ -111,7 +111,8 @@ si_code_2_name(const int code)
#ifdef CLD_CONTINUED
CASE(CLD_CONTINUED);
#endif
- default: perror_msg_and_fail("unknown si_code %d", code);
+ default:
+ perror_msg_and_fail("unknown si_code %d", code);
}
}
diff --git a/tests-mx32/xattr.c b/tests-mx32/xattr.c
index a772eced..03b4270a 100644
--- a/tests-mx32/xattr.c
+++ b/tests-mx32/xattr.c
@@ -36,8 +36,6 @@
# define XATTR_SIZE_MAX 65536
# endif
-#define DEFAULT_STRLEN 32
-
int
main(void)
{
diff --git a/tests-mx32/xchownx.c b/tests-mx32/xchownx.c
index fe582835..e415feff 100644
--- a/tests-mx32/xchownx.c
+++ b/tests-mx32/xchownx.c
@@ -45,10 +45,17 @@
# define CHECK_OVERFLOWGID(arg)
#endif
-#define UNLINK_SAMPLE \
- if (unlink(sample)) perror_msg_and_fail("unlink")
-#define CLOSE_SAMPLE \
- if (close(fd)) perror_msg_and_fail("close")
+#define UNLINK_SAMPLE \
+ do { \
+ if (unlink(sample)) \
+ perror_msg_and_fail("unlink"); \
+ } while (0)
+
+#define CLOSE_SAMPLE \
+ do { \
+ if (close(fd)) \
+ perror_msg_and_fail("close"); \
+ } while (0)
#ifdef ACCESS_BY_DESCRIPTOR
# define SYSCALL_ARG1 fd
diff --git a/tests-mx32/xselect.c b/tests-mx32/xselect.c
index e1638c8c..6c8cd81e 100644
--- a/tests-mx32/xselect.c
+++ b/tests-mx32/xselect.c
@@ -136,7 +136,7 @@ int main(void)
* but with a pointer to a large chunk of valid memory.
*/
FD_ZERO(set);
- FD_SET(fds[1],set);
+ FD_SET(fds[1], set);
assert(syscall(TEST_SYSCALL_NR, -1, NULL, set, NULL, NULL) == -1);
printf("%s(-1, NULL, %p, NULL, NULL) = -1 EINVAL (%m)\n",
TEST_SYSCALL_STR, set);
@@ -145,7 +145,7 @@ int main(void)
* Another variant, with nfds exceeding FD_SETSIZE limit.
*/
FD_ZERO(set);
- FD_SET(fds[0],set);
+ FD_SET(fds[0], set);
tv->tv_sec = 0;
tv->tv_usec = 123;
assert(syscall(TEST_SYSCALL_NR, FD_SETSIZE + 1, set, set + 1, NULL, tv) == 0);
diff --git a/tests-mx32/xstatfsx.c b/tests-mx32/xstatfsx.c
index cb524ff3..33254dd9 100644
--- a/tests-mx32/xstatfsx.c
+++ b/tests-mx32/xstatfsx.c
@@ -38,12 +38,17 @@
#include "xlat/statfs_flags.h"
#define PRINT_NUM(arg) \
- if (sizeof(b->arg) == sizeof(int)) \
- printf(", %s=%u", #arg, (unsigned int) b->arg); \
- else if (sizeof(b->arg) == sizeof(long)) \
- printf(", %s=%lu", #arg, (unsigned long) b->arg); \
- else \
- printf(", %s=%llu", #arg, (unsigned long long) b->arg)
+ do { \
+ if (sizeof(b->arg) == sizeof(int)) \
+ printf(", %s=%u", #arg, \
+ (unsigned int) b->arg); \
+ else if (sizeof(b->arg) == sizeof(long)) \
+ printf(", %s=%lu", #arg, \
+ (unsigned long) b->arg); \
+ else \
+ printf(", %s=%llu", #arg, \
+ (unsigned long long) b->arg); \
+ } while (0)
static void
print_statfs_type(const char *const prefix, const unsigned int magic)
diff --git a/tests-mx32/xstatx.c b/tests-mx32/xstatx.c
index 8758ef81..7fb93265 100644
--- a/tests-mx32/xstatx.c
+++ b/tests-mx32/xstatx.c
@@ -48,6 +48,7 @@
# include <unistd.h>
# include <sys/sysmacros.h>
+# include "print_fields.h"
# include "statx.h"
# ifndef STRUCT_STAT
@@ -178,14 +179,16 @@ print_stat(const STRUCT_STAT *st)
# define HAVE_NSEC 0
# endif
-#define PRINT_ST_TIME(field) \
- printf(", st_" #field "=%lld", \
- sign_extend_unsigned_to_ll(st->st_ ## field)); \
- print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field), \
- TIME_NSEC(st->st_ ## field ## _nsec), 1); \
- if (HAVE_NSEC) \
- printf(", st_" #field "_nsec=%llu", \
- TIME_NSEC(st->st_ ## field ## _nsec))
+#define PRINT_ST_TIME(field) \
+ do { \
+ printf(", st_" #field "=%lld", \
+ sign_extend_unsigned_to_ll(st->st_ ## field)); \
+ print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field), \
+ TIME_NSEC(st->st_ ## field ## _nsec), 1); \
+ if (HAVE_NSEC) \
+ printf(", st_" #field "_nsec=%llu", \
+ TIME_NSEC(st->st_ ## field ## _nsec)); \
+ } while (0)
PRINT_ST_TIME(atime);
PRINT_ST_TIME(mtime);
@@ -198,31 +201,34 @@ print_stat(const STRUCT_STAT *st)
static void
print_stat(const STRUCT_STAT *st)
{
-# define PRINT_FIELD_U(field) \
- printf(", %s=%llu", #field, (unsigned long long) st->field)
-
-# define PRINT_FIELD_U32_UID(field) \
- if (st->field == (uint32_t) -1) \
- printf(", %s=-1", #field); \
- else \
- printf(", %s=%llu", #field, (unsigned long long) st->field)
-
-# define PRINT_FIELD_TIME(field) \
- printf(", %s={tv_sec=%lld, tv_nsec=%u}", \
- #field, (long long) st->field.tv_sec, \
- (unsigned) st->field.tv_nsec); \
- print_time_t_nsec(st->field.tv_sec, \
- zero_extend_signed_to_ull(st->field.tv_nsec), 1);
+# define PRINT_FIELD_U32_UID(field) \
+ do { \
+ if (st->field == (uint32_t) -1) \
+ printf(", %s=-1", #field); \
+ else \
+ printf(", %s=%llu", #field, \
+ (unsigned long long) st->field); \
+ } while (0)
+
+# define PRINT_FIELD_TIME(field) \
+ do { \
+ printf(", %s={tv_sec=%lld, tv_nsec=%u}", \
+ #field, (long long) st->field.tv_sec, \
+ (unsigned) st->field.tv_nsec); \
+ print_time_t_nsec(st->field.tv_sec, \
+ zero_extend_signed_to_ull(st->field.tv_nsec), \
+ 1); \
+ } while (0)
printf("{stx_mask=");
printflags(statx_masks, st->stx_mask, "STATX_???");
- PRINT_FIELD_U(stx_blksize);
+ PRINT_FIELD_U(", ", *st, stx_blksize);
printf(", stx_attributes=");
printflags(statx_attrs, st->stx_attributes, "STATX_ATTR_???");
- PRINT_FIELD_U(stx_nlink);
+ PRINT_FIELD_U(", ", *st, stx_nlink);
PRINT_FIELD_U32_UID(stx_uid);
PRINT_FIELD_U32_UID(stx_gid);
@@ -231,9 +237,9 @@ print_stat(const STRUCT_STAT *st)
printf("|");
print_perms(st->stx_mode);
- PRINT_FIELD_U(stx_ino);
- PRINT_FIELD_U(stx_size);
- PRINT_FIELD_U(stx_blocks);
+ PRINT_FIELD_U(", ", *st, stx_ino);
+ PRINT_FIELD_U(", ", *st, stx_size);
+ PRINT_FIELD_U(", ", *st, stx_blocks);
printf(", stx_attributes_mask=");
printflags(statx_attrs, st->stx_attributes_mask, "STATX_ATTR_???");
@@ -242,10 +248,10 @@ print_stat(const STRUCT_STAT *st)
PRINT_FIELD_TIME(stx_btime);
PRINT_FIELD_TIME(stx_ctime);
PRINT_FIELD_TIME(stx_mtime);
- PRINT_FIELD_U(stx_rdev_major);
- PRINT_FIELD_U(stx_rdev_minor);
- PRINT_FIELD_U(stx_dev_major);
- PRINT_FIELD_U(stx_dev_minor);
+ PRINT_FIELD_U(", ", *st, stx_rdev_major);
+ PRINT_FIELD_U(", ", *st, stx_rdev_minor);
+ PRINT_FIELD_U(", ", *st, stx_dev_major);
+ PRINT_FIELD_U(", ", *st, stx_dev_minor);
printf("}");
}
@@ -388,24 +394,30 @@ main(void)
# if IS_STATX
-# define INVOKE() \
- rc = TEST_SYSCALL_INVOKE(sample, st); \
- PRINT_SYSCALL_HEADER(sample); \
- if (rc) \
- printf("%p", st); \
- else \
- print_stat(st); \
- PRINT_SYSCALL_FOOTER(rc)
-
-# define SET_FLAGS_INVOKE(flags, flags_str) \
- TEST_SYSCALL_STATX_FLAGS = flags; \
- TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
- INVOKE()
-
-# define SET_MASK_INVOKE(mask, mask_str) \
- TEST_SYSCALL_STATX_MASK = mask; \
- TEST_SYSCALL_STATX_MASK_STR = mask_str; \
- INVOKE()
+# define INVOKE() \
+ do { \
+ rc = TEST_SYSCALL_INVOKE(sample, st); \
+ PRINT_SYSCALL_HEADER(sample); \
+ if (rc) \
+ printf("%p", st); \
+ else \
+ print_stat(st); \
+ PRINT_SYSCALL_FOOTER(rc); \
+ } while (0)
+
+# define SET_FLAGS_INVOKE(flags, flags_str) \
+ do { \
+ TEST_SYSCALL_STATX_FLAGS = flags; \
+ TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
+ INVOKE(); \
+ } while (0)
+
+# define SET_MASK_INVOKE(mask, mask_str) \
+ do { \
+ TEST_SYSCALL_STATX_MASK = mask; \
+ TEST_SYSCALL_STATX_MASK_STR = mask_str; \
+ INVOKE(); \
+ } while (0)
unsigned old_flags = TEST_SYSCALL_STATX_FLAGS;
const char *old_flags_str = TEST_SYSCALL_STATX_FLAGS_STR;
diff --git a/tests-mx32/zeroargc.c b/tests-mx32/zeroargc.c
new file mode 100644
index 00000000..05d47dc3
--- /dev/null
+++ b/tests-mx32/zeroargc.c
@@ -0,0 +1,43 @@
+/*
+ * Execute an executable with zero argc and specified anvironment.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(const int ac, char **const av)
+{
+ if (ac < 2)
+ error_msg_and_fail("missing operand");
+ const char *const path = av[1];
+ av[1] = 0;
+ execve(path, av + 1, av + 2);
+ perror_msg_and_fail("execve: %s", path);
+}
diff --git a/tests/Makefile b/tests/Makefile
deleted file mode 100644
index f2071c49..00000000
--- a/tests/Makefile
+++ /dev/null
@@ -1,7114 +0,0 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
-# tests/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-# Automake input for strace tests.
-#
-# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
-# Copyright (c) 2011-2017 The strace developers.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# scno.h make rules for strace.
-#
-# Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/strace
-pkgincludedir = $(includedir)/strace
-pkglibdir = $(libdir)/strace
-pkglibexecdir = $(libexecdir)/strace
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = x86_64-pc-linux-gnu
-host_triplet = x86_64-pc-linux-gnu
-DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
- $(srcdir)/../scno.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/depcomp \
- $(top_srcdir)/test-driver
-check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
- attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
- attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
- execve-v$(EXEEXT) execveat-v$(EXEEXT) \
- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
- getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
- ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
- ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
- ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
- msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
- netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
- netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
- perf_event_open_nonverbose$(EXEEXT) \
- perf_event_open_unabbrev$(EXEEXT) ppoll-v$(EXEEXT) \
- prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
- print_maxfd$(EXEEXT) qual_fault$(EXEEXT) \
- qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
- qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
- quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
- redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
- scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
- seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
- signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
- threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
- unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
- wait4-v$(EXEEXT) waitid-v$(EXEEXT)
-TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
-subdir = tests
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
- $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
- $(top_srcdir)/m4/ax_valgrind_check.m4 \
- $(top_srcdir)/m4/mpers.m4 \
- $(top_srcdir)/m4/st_save_restore_var.m4 \
- $(top_srcdir)/m4/st_warn_cflags.m4 \
- $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AR = ar
-ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
-am__v_AR_0 = @echo " AR " $@;
-am__v_AR_1 =
-libtests_a_AR = $(AR) $(ARFLAGS)
-libtests_a_LIBADD =
-am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
- libtests_a-error_msg.$(OBJEXT) \
- libtests_a-fill_memory.$(OBJEXT) \
- libtests_a-get_page_size.$(OBJEXT) \
- libtests_a-get_sigset_size.$(OBJEXT) \
- libtests_a-hexdump_strdup.$(OBJEXT) \
- libtests_a-hexquote_strndup.$(OBJEXT) \
- libtests_a-inode_of_sockfd.$(OBJEXT) \
- libtests_a-libmmsg.$(OBJEXT) \
- libtests_a-libsocketcall.$(OBJEXT) \
- libtests_a-overflowuid.$(OBJEXT) \
- libtests_a-pipe_maxfd.$(OBJEXT) \
- libtests_a-print_quoted_string.$(OBJEXT) \
- libtests_a-print_time.$(OBJEXT) \
- libtests_a-printflags.$(OBJEXT) libtests_a-printxval.$(OBJEXT) \
- libtests_a-signal2name.$(OBJEXT) \
- libtests_a-skip_unavailable.$(OBJEXT) \
- libtests_a-sprintrc.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
- libtests_a-tprintf.$(OBJEXT)
-libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
-am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
- access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
- adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) bpf$(EXEEXT) \
- brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) chmod$(EXEEXT) \
- chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
- clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
- clock_xettime$(EXEEXT) copy_file_range$(EXEEXT) creat$(EXEEXT) \
- delete_module$(EXEEXT) dup$(EXEEXT) dup2$(EXEEXT) \
- dup3$(EXEEXT) epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
- epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
- erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
- execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
- fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
- fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) fchdir$(EXEEXT) \
- fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
- fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
- fcntl64$(EXEEXT) fdatasync$(EXEEXT) file_handle$(EXEEXT) \
- file_ioctl$(EXEEXT) finit_module$(EXEEXT) flock$(EXEEXT) \
- fstat$(EXEEXT) fstat64$(EXEEXT) fstatat64$(EXEEXT) \
- fstatfs$(EXEEXT) fstatfs64$(EXEEXT) fsync$(EXEEXT) \
- ftruncate$(EXEEXT) ftruncate64$(EXEEXT) futex$(EXEEXT) \
- futimesat$(EXEEXT) get_mempolicy$(EXEEXT) getcpu$(EXEEXT) \
- getcwd$(EXEEXT) getdents$(EXEEXT) getdents64$(EXEEXT) \
- getegid$(EXEEXT) getegid32$(EXEEXT) geteuid$(EXEEXT) \
- geteuid32$(EXEEXT) getgid$(EXEEXT) getgid32$(EXEEXT) \
- getgroups$(EXEEXT) getgroups32$(EXEEXT) getpeername$(EXEEXT) \
- getpgrp$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
- getrandom$(EXEEXT) getresgid$(EXEEXT) getresgid32$(EXEEXT) \
- getresuid$(EXEEXT) getresuid32$(EXEEXT) getrlimit$(EXEEXT) \
- getrusage$(EXEEXT) getsid$(EXEEXT) getsockname$(EXEEXT) \
- getuid$(EXEEXT) getuid32$(EXEEXT) getxxid$(EXEEXT) \
- inet-cmsg$(EXEEXT) init_module$(EXEEXT) inotify$(EXEEXT) \
- inotify_init1$(EXEEXT) ioctl$(EXEEXT) ioctl_block$(EXEEXT) \
- ioctl_dm$(EXEEXT) ioctl_evdev$(EXEEXT) ioctl_loop$(EXEEXT) \
- ioctl_mtd$(EXEEXT) ioctl_rtc$(EXEEXT) ioctl_scsi$(EXEEXT) \
- ioctl_sg_io_v3$(EXEEXT) ioctl_sg_io_v4$(EXEEXT) \
- ioctl_sock_gifconf$(EXEEXT) ioctl_uffdio$(EXEEXT) \
- ioctl_v4l2$(EXEEXT) ioperm$(EXEEXT) iopl$(EXEEXT) \
- ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) ipc_msg$(EXEEXT) \
- ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) ipc_shm$(EXEEXT) \
- kcmp$(EXEEXT) kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) \
- keyctl$(EXEEXT) kill$(EXEEXT) lchown$(EXEEXT) \
- lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
- llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
- lstat$(EXEEXT) lstat64$(EXEEXT) madvise$(EXEEXT) \
- mbind$(EXEEXT) membarrier$(EXEEXT) memfd_create$(EXEEXT) \
- migrate_pages$(EXEEXT) mincore$(EXEEXT) mkdir$(EXEEXT) \
- mkdirat$(EXEEXT) mknod$(EXEEXT) mknodat$(EXEEXT) \
- mlock$(EXEEXT) mlock2$(EXEEXT) mlockall$(EXEEXT) mmap$(EXEEXT) \
- mmap64$(EXEEXT) mmsg$(EXEEXT) mmsg_name$(EXEEXT) \
- mount$(EXEEXT) move_pages$(EXEEXT) mq$(EXEEXT) \
- mq_sendrecv$(EXEEXT) mq_sendrecv-read$(EXEEXT) \
- mq_sendrecv-write$(EXEEXT) msg_control$(EXEEXT) \
- msg_name$(EXEEXT) munlockall$(EXEEXT) nanosleep$(EXEEXT) \
- net-icmp_filter$(EXEEXT) net-sockaddr$(EXEEXT) \
- net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
- net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
- netlink_protocol$(EXEEXT) newfstatat$(EXEEXT) \
- old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
- oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
- openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
- perf_event_open$(EXEEXT) personality$(EXEEXT) pipe$(EXEEXT) \
- pipe2$(EXEEXT) pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) \
- pkey_mprotect$(EXEEXT) poll$(EXEEXT) ppoll$(EXEEXT) \
- prctl-arg2-intptr$(EXEEXT) prctl-dumpable$(EXEEXT) \
- prctl-name$(EXEEXT) prctl-no-args$(EXEEXT) \
- prctl-pdeathsig$(EXEEXT) prctl-securebits$(EXEEXT) \
- prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
- pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
- preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
- printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
- process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
- pwritev$(EXEEXT) quotactl$(EXEEXT) quotactl-xfs$(EXEEXT) \
- read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
- readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
- reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
- recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
- renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
- rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
- rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(EXEEXT) \
- rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
- rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
- sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
- sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
- sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
- seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
- sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
- setdomainname$(EXEEXT) setfsgid$(EXEEXT) setfsgid32$(EXEEXT) \
- setfsuid$(EXEEXT) setfsuid32$(EXEEXT) setgid$(EXEEXT) \
- setgid32$(EXEEXT) setgroups$(EXEEXT) setgroups32$(EXEEXT) \
- sethostname$(EXEEXT) setns$(EXEEXT) setregid$(EXEEXT) \
- setregid32$(EXEEXT) setresgid$(EXEEXT) setresgid32$(EXEEXT) \
- setresuid$(EXEEXT) setresuid32$(EXEEXT) setreuid$(EXEEXT) \
- setreuid32$(EXEEXT) setrlimit$(EXEEXT) setuid$(EXEEXT) \
- setuid32$(EXEEXT) shmxt$(EXEEXT) shutdown$(EXEEXT) \
- sigaction$(EXEEXT) sigaltstack$(EXEEXT) siginfo$(EXEEXT) \
- signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
- socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
- stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
- statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
- utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
- vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
- waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
- xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
- xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
- xettimeofday$(EXEEXT)
-_newselect_SOURCES = _newselect.c
-_newselect_OBJECTS = _newselect.$(OBJEXT)
-_newselect_LDADD = $(LDADD)
-_newselect_DEPENDENCIES = libtests.a
-accept_SOURCES = accept.c
-accept_OBJECTS = accept.$(OBJEXT)
-accept_LDADD = $(LDADD)
-accept_DEPENDENCIES = libtests.a
-accept4_SOURCES = accept4.c
-accept4_OBJECTS = accept4.$(OBJEXT)
-accept4_LDADD = $(LDADD)
-accept4_DEPENDENCIES = libtests.a
-access_SOURCES = access.c
-access_OBJECTS = access.$(OBJEXT)
-access_LDADD = $(LDADD)
-access_DEPENDENCIES = libtests.a
-acct_SOURCES = acct.c
-acct_OBJECTS = acct.$(OBJEXT)
-acct_LDADD = $(LDADD)
-acct_DEPENDENCIES = libtests.a
-add_key_SOURCES = add_key.c
-add_key_OBJECTS = add_key.$(OBJEXT)
-add_key_LDADD = $(LDADD)
-add_key_DEPENDENCIES = libtests.a
-adjtimex_SOURCES = adjtimex.c
-adjtimex_OBJECTS = adjtimex.$(OBJEXT)
-adjtimex_LDADD = $(LDADD)
-adjtimex_DEPENDENCIES = libtests.a
-aio_SOURCES = aio.c
-aio_OBJECTS = aio.$(OBJEXT)
-aio_LDADD = $(LDADD)
-aio_DEPENDENCIES = libtests.a
-alarm_SOURCES = alarm.c
-alarm_OBJECTS = alarm.$(OBJEXT)
-alarm_LDADD = $(LDADD)
-alarm_DEPENDENCIES = libtests.a
-answer_SOURCES = answer.c
-answer_OBJECTS = answer.$(OBJEXT)
-answer_LDADD = $(LDADD)
-answer_DEPENDENCIES = libtests.a
-attach_f_p_SOURCES = attach-f-p.c
-attach_f_p_OBJECTS = attach-f-p.$(OBJEXT)
-attach_f_p_DEPENDENCIES = $(LDADD)
-attach_f_p_cmd_SOURCES = attach-f-p-cmd.c
-attach_f_p_cmd_OBJECTS = attach-f-p-cmd.$(OBJEXT)
-attach_f_p_cmd_LDADD = $(LDADD)
-attach_f_p_cmd_DEPENDENCIES = libtests.a
-attach_p_cmd_cmd_SOURCES = attach-p-cmd-cmd.c
-attach_p_cmd_cmd_OBJECTS = attach-p-cmd-cmd.$(OBJEXT)
-attach_p_cmd_cmd_LDADD = $(LDADD)
-attach_p_cmd_cmd_DEPENDENCIES = libtests.a
-attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
-attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
-attach_p_cmd_p_LDADD = $(LDADD)
-attach_p_cmd_p_DEPENDENCIES = libtests.a
-bpf_SOURCES = bpf.c
-bpf_OBJECTS = bpf.$(OBJEXT)
-bpf_LDADD = $(LDADD)
-bpf_DEPENDENCIES = libtests.a
-brk_SOURCES = brk.c
-brk_OBJECTS = brk.$(OBJEXT)
-brk_LDADD = $(LDADD)
-brk_DEPENDENCIES = libtests.a
-btrfs_SOURCES = btrfs.c
-btrfs_OBJECTS = btrfs.$(OBJEXT)
-btrfs_LDADD = $(LDADD)
-btrfs_DEPENDENCIES = libtests.a
-caps_SOURCES = caps.c
-caps_OBJECTS = caps.$(OBJEXT)
-caps_LDADD = $(LDADD)
-caps_DEPENDENCIES = libtests.a
-caps_abbrev_SOURCES = caps-abbrev.c
-caps_abbrev_OBJECTS = caps-abbrev.$(OBJEXT)
-caps_abbrev_LDADD = $(LDADD)
-caps_abbrev_DEPENDENCIES = libtests.a
-chmod_SOURCES = chmod.c
-chmod_OBJECTS = chmod.$(OBJEXT)
-chmod_LDADD = $(LDADD)
-chmod_DEPENDENCIES = libtests.a
-chown_SOURCES = chown.c
-chown_OBJECTS = chown.$(OBJEXT)
-chown_LDADD = $(LDADD)
-chown_DEPENDENCIES = libtests.a
-chown32_SOURCES = chown32.c
-chown32_OBJECTS = chown32.$(OBJEXT)
-chown32_LDADD = $(LDADD)
-chown32_DEPENDENCIES = libtests.a
-chroot_SOURCES = chroot.c
-chroot_OBJECTS = chroot.$(OBJEXT)
-chroot_LDADD = $(LDADD)
-chroot_DEPENDENCIES = libtests.a
-clock_adjtime_SOURCES = clock_adjtime.c
-clock_adjtime_OBJECTS = clock_adjtime.$(OBJEXT)
-clock_adjtime_LDADD = $(LDADD)
-clock_adjtime_DEPENDENCIES = libtests.a
-clock_nanosleep_SOURCES = clock_nanosleep.c
-clock_nanosleep_OBJECTS = clock_nanosleep.$(OBJEXT)
-clock_nanosleep_LDADD = $(LDADD)
-clock_nanosleep_DEPENDENCIES = libtests.a
-clock_xettime_SOURCES = clock_xettime.c
-clock_xettime_OBJECTS = clock_xettime.$(OBJEXT)
-clock_xettime_DEPENDENCIES = $(LDADD)
-copy_file_range_SOURCES = copy_file_range.c
-copy_file_range_OBJECTS = copy_file_range.$(OBJEXT)
-copy_file_range_LDADD = $(LDADD)
-copy_file_range_DEPENDENCIES = libtests.a
-count_f_SOURCES = count-f.c
-count_f_OBJECTS = count-f.$(OBJEXT)
-count_f_DEPENDENCIES = $(LDADD)
-creat_SOURCES = creat.c
-creat_OBJECTS = creat.$(OBJEXT)
-creat_LDADD = $(LDADD)
-creat_DEPENDENCIES = libtests.a
-delete_module_SOURCES = delete_module.c
-delete_module_OBJECTS = delete_module.$(OBJEXT)
-delete_module_LDADD = $(LDADD)
-delete_module_DEPENDENCIES = libtests.a
-dup_SOURCES = dup.c
-dup_OBJECTS = dup.$(OBJEXT)
-dup_LDADD = $(LDADD)
-dup_DEPENDENCIES = libtests.a
-dup2_SOURCES = dup2.c
-dup2_OBJECTS = dup2.$(OBJEXT)
-dup2_LDADD = $(LDADD)
-dup2_DEPENDENCIES = libtests.a
-dup3_SOURCES = dup3.c
-dup3_OBJECTS = dup3.$(OBJEXT)
-dup3_LDADD = $(LDADD)
-dup3_DEPENDENCIES = libtests.a
-epoll_create_SOURCES = epoll_create.c
-epoll_create_OBJECTS = epoll_create.$(OBJEXT)
-epoll_create_LDADD = $(LDADD)
-epoll_create_DEPENDENCIES = libtests.a
-epoll_create1_SOURCES = epoll_create1.c
-epoll_create1_OBJECTS = epoll_create1.$(OBJEXT)
-epoll_create1_LDADD = $(LDADD)
-epoll_create1_DEPENDENCIES = libtests.a
-epoll_ctl_SOURCES = epoll_ctl.c
-epoll_ctl_OBJECTS = epoll_ctl.$(OBJEXT)
-epoll_ctl_LDADD = $(LDADD)
-epoll_ctl_DEPENDENCIES = libtests.a
-epoll_pwait_SOURCES = epoll_pwait.c
-epoll_pwait_OBJECTS = epoll_pwait.$(OBJEXT)
-epoll_pwait_LDADD = $(LDADD)
-epoll_pwait_DEPENDENCIES = libtests.a
-epoll_wait_SOURCES = epoll_wait.c
-epoll_wait_OBJECTS = epoll_wait.$(OBJEXT)
-epoll_wait_LDADD = $(LDADD)
-epoll_wait_DEPENDENCIES = libtests.a
-erestartsys_SOURCES = erestartsys.c
-erestartsys_OBJECTS = erestartsys.$(OBJEXT)
-erestartsys_LDADD = $(LDADD)
-erestartsys_DEPENDENCIES = libtests.a
-eventfd_SOURCES = eventfd.c
-eventfd_OBJECTS = eventfd.$(OBJEXT)
-eventfd_LDADD = $(LDADD)
-eventfd_DEPENDENCIES = libtests.a
-execve_SOURCES = execve.c
-execve_OBJECTS = execve.$(OBJEXT)
-execve_LDADD = $(LDADD)
-execve_DEPENDENCIES = libtests.a
-execve_v_SOURCES = execve-v.c
-execve_v_OBJECTS = execve-v.$(OBJEXT)
-execve_v_LDADD = $(LDADD)
-execve_v_DEPENDENCIES = libtests.a
-execveat_SOURCES = execveat.c
-execveat_OBJECTS = execveat.$(OBJEXT)
-execveat_LDADD = $(LDADD)
-execveat_DEPENDENCIES = libtests.a
-execveat_v_SOURCES = execveat-v.c
-execveat_v_OBJECTS = execveat-v.$(OBJEXT)
-execveat_v_LDADD = $(LDADD)
-execveat_v_DEPENDENCIES = libtests.a
-faccessat_SOURCES = faccessat.c
-faccessat_OBJECTS = faccessat.$(OBJEXT)
-faccessat_LDADD = $(LDADD)
-faccessat_DEPENDENCIES = libtests.a
-fadvise64_SOURCES = fadvise64.c
-fadvise64_OBJECTS = fadvise64.$(OBJEXT)
-fadvise64_LDADD = $(LDADD)
-fadvise64_DEPENDENCIES = libtests.a
-fadvise64_64_SOURCES = fadvise64_64.c
-fadvise64_64_OBJECTS = fadvise64_64.$(OBJEXT)
-fadvise64_64_LDADD = $(LDADD)
-fadvise64_64_DEPENDENCIES = libtests.a
-fallocate_SOURCES = fallocate.c
-fallocate_OBJECTS = fallocate.$(OBJEXT)
-fallocate_LDADD = $(LDADD)
-fallocate_DEPENDENCIES = libtests.a
-fanotify_init_SOURCES = fanotify_init.c
-fanotify_init_OBJECTS = fanotify_init.$(OBJEXT)
-fanotify_init_LDADD = $(LDADD)
-fanotify_init_DEPENDENCIES = libtests.a
-fanotify_mark_SOURCES = fanotify_mark.c
-fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
-fanotify_mark_LDADD = $(LDADD)
-fanotify_mark_DEPENDENCIES = libtests.a
-fchdir_SOURCES = fchdir.c
-fchdir_OBJECTS = fchdir.$(OBJEXT)
-fchdir_LDADD = $(LDADD)
-fchdir_DEPENDENCIES = libtests.a
-fchmod_SOURCES = fchmod.c
-fchmod_OBJECTS = fchmod.$(OBJEXT)
-fchmod_LDADD = $(LDADD)
-fchmod_DEPENDENCIES = libtests.a
-fchmodat_SOURCES = fchmodat.c
-fchmodat_OBJECTS = fchmodat.$(OBJEXT)
-fchmodat_LDADD = $(LDADD)
-fchmodat_DEPENDENCIES = libtests.a
-fchown_SOURCES = fchown.c
-fchown_OBJECTS = fchown.$(OBJEXT)
-fchown_LDADD = $(LDADD)
-fchown_DEPENDENCIES = libtests.a
-fchown32_SOURCES = fchown32.c
-fchown32_OBJECTS = fchown32.$(OBJEXT)
-fchown32_LDADD = $(LDADD)
-fchown32_DEPENDENCIES = libtests.a
-fchownat_SOURCES = fchownat.c
-fchownat_OBJECTS = fchownat.$(OBJEXT)
-fchownat_LDADD = $(LDADD)
-fchownat_DEPENDENCIES = libtests.a
-fcntl_SOURCES = fcntl.c
-fcntl_OBJECTS = fcntl.$(OBJEXT)
-fcntl_LDADD = $(LDADD)
-fcntl_DEPENDENCIES = libtests.a
-fcntl64_SOURCES = fcntl64.c
-fcntl64_OBJECTS = fcntl64.$(OBJEXT)
-fcntl64_LDADD = $(LDADD)
-fcntl64_DEPENDENCIES = libtests.a
-fdatasync_SOURCES = fdatasync.c
-fdatasync_OBJECTS = fdatasync.$(OBJEXT)
-fdatasync_LDADD = $(LDADD)
-fdatasync_DEPENDENCIES = libtests.a
-file_handle_SOURCES = file_handle.c
-file_handle_OBJECTS = file_handle.$(OBJEXT)
-file_handle_LDADD = $(LDADD)
-file_handle_DEPENDENCIES = libtests.a
-file_ioctl_SOURCES = file_ioctl.c
-file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
-file_ioctl_LDADD = $(LDADD)
-file_ioctl_DEPENDENCIES = libtests.a
-filter_unavailable_SOURCES = filter-unavailable.c
-filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
-filter_unavailable_DEPENDENCIES = $(LDADD)
-finit_module_SOURCES = finit_module.c
-finit_module_OBJECTS = finit_module.$(OBJEXT)
-finit_module_LDADD = $(LDADD)
-finit_module_DEPENDENCIES = libtests.a
-flock_SOURCES = flock.c
-flock_OBJECTS = flock.$(OBJEXT)
-flock_LDADD = $(LDADD)
-flock_DEPENDENCIES = libtests.a
-fork_f_SOURCES = fork-f.c
-fork_f_OBJECTS = fork-f.$(OBJEXT)
-fork_f_LDADD = $(LDADD)
-fork_f_DEPENDENCIES = libtests.a
-fstat_SOURCES = fstat.c
-fstat_OBJECTS = fstat.$(OBJEXT)
-fstat_LDADD = $(LDADD)
-fstat_DEPENDENCIES = libtests.a
-fstat64_SOURCES = fstat64.c
-fstat64_OBJECTS = fstat64-fstat64.$(OBJEXT)
-fstat64_LDADD = $(LDADD)
-fstat64_DEPENDENCIES = libtests.a
-fstatat64_SOURCES = fstatat64.c
-fstatat64_OBJECTS = fstatat64-fstatat64.$(OBJEXT)
-fstatat64_LDADD = $(LDADD)
-fstatat64_DEPENDENCIES = libtests.a
-fstatfs_SOURCES = fstatfs.c
-fstatfs_OBJECTS = fstatfs.$(OBJEXT)
-fstatfs_LDADD = $(LDADD)
-fstatfs_DEPENDENCIES = libtests.a
-fstatfs64_SOURCES = fstatfs64.c
-fstatfs64_OBJECTS = fstatfs64.$(OBJEXT)
-fstatfs64_LDADD = $(LDADD)
-fstatfs64_DEPENDENCIES = libtests.a
-fsync_SOURCES = fsync.c
-fsync_OBJECTS = fsync.$(OBJEXT)
-fsync_LDADD = $(LDADD)
-fsync_DEPENDENCIES = libtests.a
-ftruncate_SOURCES = ftruncate.c
-ftruncate_OBJECTS = ftruncate.$(OBJEXT)
-ftruncate_LDADD = $(LDADD)
-ftruncate_DEPENDENCIES = libtests.a
-ftruncate64_SOURCES = ftruncate64.c
-ftruncate64_OBJECTS = ftruncate64-ftruncate64.$(OBJEXT)
-ftruncate64_LDADD = $(LDADD)
-ftruncate64_DEPENDENCIES = libtests.a
-futex_SOURCES = futex.c
-futex_OBJECTS = futex.$(OBJEXT)
-futex_LDADD = $(LDADD)
-futex_DEPENDENCIES = libtests.a
-futimesat_SOURCES = futimesat.c
-futimesat_OBJECTS = futimesat.$(OBJEXT)
-futimesat_LDADD = $(LDADD)
-futimesat_DEPENDENCIES = libtests.a
-get_mempolicy_SOURCES = get_mempolicy.c
-get_mempolicy_OBJECTS = get_mempolicy.$(OBJEXT)
-get_mempolicy_LDADD = $(LDADD)
-get_mempolicy_DEPENDENCIES = libtests.a
-getcpu_SOURCES = getcpu.c
-getcpu_OBJECTS = getcpu.$(OBJEXT)
-getcpu_LDADD = $(LDADD)
-getcpu_DEPENDENCIES = libtests.a
-getcwd_SOURCES = getcwd.c
-getcwd_OBJECTS = getcwd.$(OBJEXT)
-getcwd_LDADD = $(LDADD)
-getcwd_DEPENDENCIES = libtests.a
-getdents_SOURCES = getdents.c
-getdents_OBJECTS = getdents.$(OBJEXT)
-getdents_LDADD = $(LDADD)
-getdents_DEPENDENCIES = libtests.a
-getdents64_SOURCES = getdents64.c
-getdents64_OBJECTS = getdents64.$(OBJEXT)
-getdents64_LDADD = $(LDADD)
-getdents64_DEPENDENCIES = libtests.a
-getegid_SOURCES = getegid.c
-getegid_OBJECTS = getegid.$(OBJEXT)
-getegid_LDADD = $(LDADD)
-getegid_DEPENDENCIES = libtests.a
-getegid32_SOURCES = getegid32.c
-getegid32_OBJECTS = getegid32.$(OBJEXT)
-getegid32_LDADD = $(LDADD)
-getegid32_DEPENDENCIES = libtests.a
-geteuid_SOURCES = geteuid.c
-geteuid_OBJECTS = geteuid.$(OBJEXT)
-geteuid_LDADD = $(LDADD)
-geteuid_DEPENDENCIES = libtests.a
-geteuid32_SOURCES = geteuid32.c
-geteuid32_OBJECTS = geteuid32.$(OBJEXT)
-geteuid32_LDADD = $(LDADD)
-geteuid32_DEPENDENCIES = libtests.a
-getgid_SOURCES = getgid.c
-getgid_OBJECTS = getgid.$(OBJEXT)
-getgid_LDADD = $(LDADD)
-getgid_DEPENDENCIES = libtests.a
-getgid32_SOURCES = getgid32.c
-getgid32_OBJECTS = getgid32.$(OBJEXT)
-getgid32_LDADD = $(LDADD)
-getgid32_DEPENDENCIES = libtests.a
-getgroups_SOURCES = getgroups.c
-getgroups_OBJECTS = getgroups.$(OBJEXT)
-getgroups_LDADD = $(LDADD)
-getgroups_DEPENDENCIES = libtests.a
-getgroups32_SOURCES = getgroups32.c
-getgroups32_OBJECTS = getgroups32.$(OBJEXT)
-getgroups32_LDADD = $(LDADD)
-getgroups32_DEPENDENCIES = libtests.a
-getpeername_SOURCES = getpeername.c
-getpeername_OBJECTS = getpeername.$(OBJEXT)
-getpeername_LDADD = $(LDADD)
-getpeername_DEPENDENCIES = libtests.a
-getpgrp_SOURCES = getpgrp.c
-getpgrp_OBJECTS = getpgrp.$(OBJEXT)
-getpgrp_LDADD = $(LDADD)
-getpgrp_DEPENDENCIES = libtests.a
-getpid_SOURCES = getpid.c
-getpid_OBJECTS = getpid.$(OBJEXT)
-getpid_LDADD = $(LDADD)
-getpid_DEPENDENCIES = libtests.a
-getppid_SOURCES = getppid.c
-getppid_OBJECTS = getppid.$(OBJEXT)
-getppid_LDADD = $(LDADD)
-getppid_DEPENDENCIES = libtests.a
-getrandom_SOURCES = getrandom.c
-getrandom_OBJECTS = getrandom.$(OBJEXT)
-getrandom_LDADD = $(LDADD)
-getrandom_DEPENDENCIES = libtests.a
-getresgid_SOURCES = getresgid.c
-getresgid_OBJECTS = getresgid.$(OBJEXT)
-getresgid_LDADD = $(LDADD)
-getresgid_DEPENDENCIES = libtests.a
-getresgid32_SOURCES = getresgid32.c
-getresgid32_OBJECTS = getresgid32.$(OBJEXT)
-getresgid32_LDADD = $(LDADD)
-getresgid32_DEPENDENCIES = libtests.a
-getresuid_SOURCES = getresuid.c
-getresuid_OBJECTS = getresuid.$(OBJEXT)
-getresuid_LDADD = $(LDADD)
-getresuid_DEPENDENCIES = libtests.a
-getresuid32_SOURCES = getresuid32.c
-getresuid32_OBJECTS = getresuid32.$(OBJEXT)
-getresuid32_LDADD = $(LDADD)
-getresuid32_DEPENDENCIES = libtests.a
-getrlimit_SOURCES = getrlimit.c
-getrlimit_OBJECTS = getrlimit.$(OBJEXT)
-getrlimit_LDADD = $(LDADD)
-getrlimit_DEPENDENCIES = libtests.a
-getrusage_SOURCES = getrusage.c
-getrusage_OBJECTS = getrusage.$(OBJEXT)
-getrusage_LDADD = $(LDADD)
-getrusage_DEPENDENCIES = libtests.a
-getsid_SOURCES = getsid.c
-getsid_OBJECTS = getsid.$(OBJEXT)
-getsid_LDADD = $(LDADD)
-getsid_DEPENDENCIES = libtests.a
-getsockname_SOURCES = getsockname.c
-getsockname_OBJECTS = getsockname.$(OBJEXT)
-getsockname_LDADD = $(LDADD)
-getsockname_DEPENDENCIES = libtests.a
-gettid_SOURCES = gettid.c
-gettid_OBJECTS = gettid.$(OBJEXT)
-gettid_LDADD = $(LDADD)
-gettid_DEPENDENCIES = libtests.a
-getuid_SOURCES = getuid.c
-getuid_OBJECTS = getuid.$(OBJEXT)
-getuid_LDADD = $(LDADD)
-getuid_DEPENDENCIES = libtests.a
-getuid32_SOURCES = getuid32.c
-getuid32_OBJECTS = getuid32.$(OBJEXT)
-getuid32_LDADD = $(LDADD)
-getuid32_DEPENDENCIES = libtests.a
-getxxid_SOURCES = getxxid.c
-getxxid_OBJECTS = getxxid.$(OBJEXT)
-getxxid_LDADD = $(LDADD)
-getxxid_DEPENDENCIES = libtests.a
-inet_cmsg_SOURCES = inet-cmsg.c
-inet_cmsg_OBJECTS = inet-cmsg.$(OBJEXT)
-inet_cmsg_LDADD = $(LDADD)
-inet_cmsg_DEPENDENCIES = libtests.a
-init_module_SOURCES = init_module.c
-init_module_OBJECTS = init_module.$(OBJEXT)
-init_module_LDADD = $(LDADD)
-init_module_DEPENDENCIES = libtests.a
-inotify_SOURCES = inotify.c
-inotify_OBJECTS = inotify.$(OBJEXT)
-inotify_LDADD = $(LDADD)
-inotify_DEPENDENCIES = libtests.a
-inotify_init1_SOURCES = inotify_init1.c
-inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
-inotify_init1_LDADD = $(LDADD)
-inotify_init1_DEPENDENCIES = libtests.a
-int_0x80_SOURCES = int_0x80.c
-int_0x80_OBJECTS = int_0x80.$(OBJEXT)
-int_0x80_LDADD = $(LDADD)
-int_0x80_DEPENDENCIES = libtests.a
-ioctl_SOURCES = ioctl.c
-ioctl_OBJECTS = ioctl.$(OBJEXT)
-ioctl_LDADD = $(LDADD)
-ioctl_DEPENDENCIES = libtests.a
-ioctl_block_SOURCES = ioctl_block.c
-ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
-ioctl_block_LDADD = $(LDADD)
-ioctl_block_DEPENDENCIES = libtests.a
-ioctl_dm_SOURCES = ioctl_dm.c
-ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
-ioctl_dm_LDADD = $(LDADD)
-ioctl_dm_DEPENDENCIES = libtests.a
-ioctl_dm_v_SOURCES = ioctl_dm-v.c
-ioctl_dm_v_OBJECTS = ioctl_dm-v.$(OBJEXT)
-ioctl_dm_v_LDADD = $(LDADD)
-ioctl_dm_v_DEPENDENCIES = libtests.a
-ioctl_evdev_SOURCES = ioctl_evdev.c
-ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT)
-ioctl_evdev_LDADD = $(LDADD)
-ioctl_evdev_DEPENDENCIES = libtests.a
-ioctl_evdev_v_SOURCES = ioctl_evdev-v.c
-ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT)
-ioctl_evdev_v_LDADD = $(LDADD)
-ioctl_evdev_v_DEPENDENCIES = libtests.a
-ioctl_loop_SOURCES = ioctl_loop.c
-ioctl_loop_OBJECTS = ioctl_loop.$(OBJEXT)
-ioctl_loop_LDADD = $(LDADD)
-ioctl_loop_DEPENDENCIES = libtests.a
-ioctl_loop_nv_SOURCES = ioctl_loop-nv.c
-ioctl_loop_nv_OBJECTS = ioctl_loop-nv.$(OBJEXT)
-ioctl_loop_nv_LDADD = $(LDADD)
-ioctl_loop_nv_DEPENDENCIES = libtests.a
-ioctl_loop_v_SOURCES = ioctl_loop-v.c
-ioctl_loop_v_OBJECTS = ioctl_loop-v.$(OBJEXT)
-ioctl_loop_v_LDADD = $(LDADD)
-ioctl_loop_v_DEPENDENCIES = libtests.a
-ioctl_mtd_SOURCES = ioctl_mtd.c
-ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
-ioctl_mtd_LDADD = $(LDADD)
-ioctl_mtd_DEPENDENCIES = libtests.a
-ioctl_nsfs_SOURCES = ioctl_nsfs.c
-ioctl_nsfs_OBJECTS = ioctl_nsfs.$(OBJEXT)
-ioctl_nsfs_LDADD = $(LDADD)
-ioctl_nsfs_DEPENDENCIES = libtests.a
-ioctl_rtc_SOURCES = ioctl_rtc.c
-ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
-ioctl_rtc_LDADD = $(LDADD)
-ioctl_rtc_DEPENDENCIES = libtests.a
-ioctl_rtc_v_SOURCES = ioctl_rtc-v.c
-ioctl_rtc_v_OBJECTS = ioctl_rtc-v.$(OBJEXT)
-ioctl_rtc_v_LDADD = $(LDADD)
-ioctl_rtc_v_DEPENDENCIES = libtests.a
-ioctl_scsi_SOURCES = ioctl_scsi.c
-ioctl_scsi_OBJECTS = ioctl_scsi.$(OBJEXT)
-ioctl_scsi_LDADD = $(LDADD)
-ioctl_scsi_DEPENDENCIES = libtests.a
-ioctl_sg_io_v3_SOURCES = ioctl_sg_io_v3.c
-ioctl_sg_io_v3_OBJECTS = ioctl_sg_io_v3.$(OBJEXT)
-ioctl_sg_io_v3_LDADD = $(LDADD)
-ioctl_sg_io_v3_DEPENDENCIES = libtests.a
-ioctl_sg_io_v4_SOURCES = ioctl_sg_io_v4.c
-ioctl_sg_io_v4_OBJECTS = ioctl_sg_io_v4.$(OBJEXT)
-ioctl_sg_io_v4_LDADD = $(LDADD)
-ioctl_sg_io_v4_DEPENDENCIES = libtests.a
-ioctl_sock_gifconf_SOURCES = ioctl_sock_gifconf.c
-ioctl_sock_gifconf_OBJECTS = ioctl_sock_gifconf.$(OBJEXT)
-ioctl_sock_gifconf_LDADD = $(LDADD)
-ioctl_sock_gifconf_DEPENDENCIES = libtests.a
-ioctl_uffdio_SOURCES = ioctl_uffdio.c
-ioctl_uffdio_OBJECTS = ioctl_uffdio.$(OBJEXT)
-ioctl_uffdio_LDADD = $(LDADD)
-ioctl_uffdio_DEPENDENCIES = libtests.a
-ioctl_v4l2_SOURCES = ioctl_v4l2.c
-ioctl_v4l2_OBJECTS = ioctl_v4l2.$(OBJEXT)
-ioctl_v4l2_LDADD = $(LDADD)
-ioctl_v4l2_DEPENDENCIES = libtests.a
-ioperm_SOURCES = ioperm.c
-ioperm_OBJECTS = ioperm.$(OBJEXT)
-ioperm_LDADD = $(LDADD)
-ioperm_DEPENDENCIES = libtests.a
-iopl_SOURCES = iopl.c
-iopl_OBJECTS = iopl.$(OBJEXT)
-iopl_LDADD = $(LDADD)
-iopl_DEPENDENCIES = libtests.a
-ioprio_SOURCES = ioprio.c
-ioprio_OBJECTS = ioprio.$(OBJEXT)
-ioprio_LDADD = $(LDADD)
-ioprio_DEPENDENCIES = libtests.a
-ip_mreq_SOURCES = ip_mreq.c
-ip_mreq_OBJECTS = ip_mreq.$(OBJEXT)
-ip_mreq_LDADD = $(LDADD)
-ip_mreq_DEPENDENCIES = libtests.a
-ipc_SOURCES = ipc.c
-ipc_OBJECTS = ipc.$(OBJEXT)
-ipc_LDADD = $(LDADD)
-ipc_DEPENDENCIES = libtests.a
-ipc_msg_SOURCES = ipc_msg.c
-ipc_msg_OBJECTS = ipc_msg.$(OBJEXT)
-ipc_msg_LDADD = $(LDADD)
-ipc_msg_DEPENDENCIES = libtests.a
-ipc_msgbuf_SOURCES = ipc_msgbuf.c
-ipc_msgbuf_OBJECTS = ipc_msgbuf.$(OBJEXT)
-ipc_msgbuf_LDADD = $(LDADD)
-ipc_msgbuf_DEPENDENCIES = libtests.a
-ipc_sem_SOURCES = ipc_sem.c
-ipc_sem_OBJECTS = ipc_sem.$(OBJEXT)
-ipc_sem_LDADD = $(LDADD)
-ipc_sem_DEPENDENCIES = libtests.a
-ipc_shm_SOURCES = ipc_shm.c
-ipc_shm_OBJECTS = ipc_shm.$(OBJEXT)
-ipc_shm_LDADD = $(LDADD)
-ipc_shm_DEPENDENCIES = libtests.a
-kcmp_SOURCES = kcmp.c
-kcmp_OBJECTS = kcmp.$(OBJEXT)
-kcmp_LDADD = $(LDADD)
-kcmp_DEPENDENCIES = libtests.a
-kexec_file_load_SOURCES = kexec_file_load.c
-kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
-kexec_file_load_LDADD = $(LDADD)
-kexec_file_load_DEPENDENCIES = libtests.a
-kexec_load_SOURCES = kexec_load.c
-kexec_load_OBJECTS = kexec_load.$(OBJEXT)
-kexec_load_LDADD = $(LDADD)
-kexec_load_DEPENDENCIES = libtests.a
-keyctl_SOURCES = keyctl.c
-keyctl_OBJECTS = keyctl.$(OBJEXT)
-keyctl_LDADD = $(LDADD)
-keyctl_DEPENDENCIES = libtests.a
-kill_SOURCES = kill.c
-kill_OBJECTS = kill.$(OBJEXT)
-kill_LDADD = $(LDADD)
-kill_DEPENDENCIES = libtests.a
-ksysent_SOURCES = ksysent.c
-ksysent_OBJECTS = ksysent.$(OBJEXT)
-ksysent_LDADD = $(LDADD)
-ksysent_DEPENDENCIES = libtests.a
-lchown_SOURCES = lchown.c
-lchown_OBJECTS = lchown.$(OBJEXT)
-lchown_LDADD = $(LDADD)
-lchown_DEPENDENCIES = libtests.a
-lchown32_SOURCES = lchown32.c
-lchown32_OBJECTS = lchown32.$(OBJEXT)
-lchown32_LDADD = $(LDADD)
-lchown32_DEPENDENCIES = libtests.a
-link_SOURCES = link.c
-link_OBJECTS = link.$(OBJEXT)
-link_LDADD = $(LDADD)
-link_DEPENDENCIES = libtests.a
-linkat_SOURCES = linkat.c
-linkat_OBJECTS = linkat.$(OBJEXT)
-linkat_LDADD = $(LDADD)
-linkat_DEPENDENCIES = libtests.a
-llseek_SOURCES = llseek.c
-llseek_OBJECTS = llseek.$(OBJEXT)
-llseek_LDADD = $(LDADD)
-llseek_DEPENDENCIES = libtests.a
-lookup_dcookie_SOURCES = lookup_dcookie.c
-lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
-lookup_dcookie_LDADD = $(LDADD)
-lookup_dcookie_DEPENDENCIES = libtests.a
-lseek_SOURCES = lseek.c
-lseek_OBJECTS = lseek.$(OBJEXT)
-lseek_LDADD = $(LDADD)
-lseek_DEPENDENCIES = libtests.a
-lstat_SOURCES = lstat.c
-lstat_OBJECTS = lstat.$(OBJEXT)
-lstat_LDADD = $(LDADD)
-lstat_DEPENDENCIES = libtests.a
-lstat64_SOURCES = lstat64.c
-lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
-lstat64_LDADD = $(LDADD)
-lstat64_DEPENDENCIES = libtests.a
-madvise_SOURCES = madvise.c
-madvise_OBJECTS = madvise.$(OBJEXT)
-madvise_LDADD = $(LDADD)
-madvise_DEPENDENCIES = libtests.a
-mbind_SOURCES = mbind.c
-mbind_OBJECTS = mbind.$(OBJEXT)
-mbind_LDADD = $(LDADD)
-mbind_DEPENDENCIES = libtests.a
-membarrier_SOURCES = membarrier.c
-membarrier_OBJECTS = membarrier.$(OBJEXT)
-membarrier_LDADD = $(LDADD)
-membarrier_DEPENDENCIES = libtests.a
-memfd_create_SOURCES = memfd_create.c
-memfd_create_OBJECTS = memfd_create.$(OBJEXT)
-memfd_create_LDADD = $(LDADD)
-memfd_create_DEPENDENCIES = libtests.a
-migrate_pages_SOURCES = migrate_pages.c
-migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
-migrate_pages_LDADD = $(LDADD)
-migrate_pages_DEPENDENCIES = libtests.a
-mincore_SOURCES = mincore.c
-mincore_OBJECTS = mincore.$(OBJEXT)
-mincore_LDADD = $(LDADD)
-mincore_DEPENDENCIES = libtests.a
-mkdir_SOURCES = mkdir.c
-mkdir_OBJECTS = mkdir.$(OBJEXT)
-mkdir_LDADD = $(LDADD)
-mkdir_DEPENDENCIES = libtests.a
-mkdirat_SOURCES = mkdirat.c
-mkdirat_OBJECTS = mkdirat.$(OBJEXT)
-mkdirat_LDADD = $(LDADD)
-mkdirat_DEPENDENCIES = libtests.a
-mknod_SOURCES = mknod.c
-mknod_OBJECTS = mknod.$(OBJEXT)
-mknod_LDADD = $(LDADD)
-mknod_DEPENDENCIES = libtests.a
-mknodat_SOURCES = mknodat.c
-mknodat_OBJECTS = mknodat.$(OBJEXT)
-mknodat_LDADD = $(LDADD)
-mknodat_DEPENDENCIES = libtests.a
-mlock_SOURCES = mlock.c
-mlock_OBJECTS = mlock.$(OBJEXT)
-mlock_LDADD = $(LDADD)
-mlock_DEPENDENCIES = libtests.a
-mlock2_SOURCES = mlock2.c
-mlock2_OBJECTS = mlock2.$(OBJEXT)
-mlock2_LDADD = $(LDADD)
-mlock2_DEPENDENCIES = libtests.a
-mlockall_SOURCES = mlockall.c
-mlockall_OBJECTS = mlockall.$(OBJEXT)
-mlockall_LDADD = $(LDADD)
-mlockall_DEPENDENCIES = libtests.a
-mmap_SOURCES = mmap.c
-mmap_OBJECTS = mmap.$(OBJEXT)
-mmap_LDADD = $(LDADD)
-mmap_DEPENDENCIES = libtests.a
-mmap64_SOURCES = mmap64.c
-mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT)
-mmap64_LDADD = $(LDADD)
-mmap64_DEPENDENCIES = libtests.a
-mmsg_SOURCES = mmsg.c
-mmsg_OBJECTS = mmsg.$(OBJEXT)
-mmsg_LDADD = $(LDADD)
-mmsg_DEPENDENCIES = libtests.a
-mmsg_silent_SOURCES = mmsg-silent.c
-mmsg_silent_OBJECTS = mmsg-silent.$(OBJEXT)
-mmsg_silent_LDADD = $(LDADD)
-mmsg_silent_DEPENDENCIES = libtests.a
-mmsg_name_SOURCES = mmsg_name.c
-mmsg_name_OBJECTS = mmsg_name.$(OBJEXT)
-mmsg_name_LDADD = $(LDADD)
-mmsg_name_DEPENDENCIES = libtests.a
-mmsg_name_v_SOURCES = mmsg_name-v.c
-mmsg_name_v_OBJECTS = mmsg_name-v.$(OBJEXT)
-mmsg_name_v_LDADD = $(LDADD)
-mmsg_name_v_DEPENDENCIES = libtests.a
-mount_SOURCES = mount.c
-mount_OBJECTS = mount.$(OBJEXT)
-mount_LDADD = $(LDADD)
-mount_DEPENDENCIES = libtests.a
-move_pages_SOURCES = move_pages.c
-move_pages_OBJECTS = move_pages.$(OBJEXT)
-move_pages_LDADD = $(LDADD)
-move_pages_DEPENDENCIES = libtests.a
-mq_SOURCES = mq.c
-mq_OBJECTS = mq.$(OBJEXT)
-mq_DEPENDENCIES = $(LDADD)
-mq_sendrecv_SOURCES = mq_sendrecv.c
-mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
-mq_sendrecv_DEPENDENCIES = $(LDADD)
-mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
-mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
-mq_sendrecv_read_DEPENDENCIES = $(LDADD)
-mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
-mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
-mq_sendrecv_write_DEPENDENCIES = $(LDADD)
-msg_control_SOURCES = msg_control.c
-msg_control_OBJECTS = msg_control.$(OBJEXT)
-msg_control_LDADD = $(LDADD)
-msg_control_DEPENDENCIES = libtests.a
-msg_control_v_SOURCES = msg_control-v.c
-msg_control_v_OBJECTS = msg_control-v.$(OBJEXT)
-msg_control_v_LDADD = $(LDADD)
-msg_control_v_DEPENDENCIES = libtests.a
-msg_name_SOURCES = msg_name.c
-msg_name_OBJECTS = msg_name.$(OBJEXT)
-msg_name_LDADD = $(LDADD)
-msg_name_DEPENDENCIES = libtests.a
-munlockall_SOURCES = munlockall.c
-munlockall_OBJECTS = munlockall.$(OBJEXT)
-munlockall_LDADD = $(LDADD)
-munlockall_DEPENDENCIES = libtests.a
-nanosleep_SOURCES = nanosleep.c
-nanosleep_OBJECTS = nanosleep.$(OBJEXT)
-nanosleep_LDADD = $(LDADD)
-nanosleep_DEPENDENCIES = libtests.a
-net_accept_connect_SOURCES = net-accept-connect.c
-net_accept_connect_OBJECTS = net-accept-connect.$(OBJEXT)
-net_accept_connect_LDADD = $(LDADD)
-net_accept_connect_DEPENDENCIES = libtests.a
-net_icmp_filter_SOURCES = net-icmp_filter.c
-net_icmp_filter_OBJECTS = net-icmp_filter.$(OBJEXT)
-net_icmp_filter_LDADD = $(LDADD)
-net_icmp_filter_DEPENDENCIES = libtests.a
-net_sockaddr_SOURCES = net-sockaddr.c
-net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
-net_sockaddr_LDADD = $(LDADD)
-net_sockaddr_DEPENDENCIES = libtests.a
-net_y_unix_SOURCES = net-y-unix.c
-net_y_unix_OBJECTS = net-y-unix.$(OBJEXT)
-net_y_unix_LDADD = $(LDADD)
-net_y_unix_DEPENDENCIES = libtests.a
-net_yy_inet_SOURCES = net-yy-inet.c
-net_yy_inet_OBJECTS = net-yy-inet.$(OBJEXT)
-net_yy_inet_LDADD = $(LDADD)
-net_yy_inet_DEPENDENCIES = libtests.a
-net_yy_netlink_SOURCES = net-yy-netlink.c
-net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
-net_yy_netlink_LDADD = $(LDADD)
-net_yy_netlink_DEPENDENCIES = libtests.a
-net_yy_unix_SOURCES = net-yy-unix.c
-net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
-net_yy_unix_LDADD = $(LDADD)
-net_yy_unix_DEPENDENCIES = libtests.a
-netlink_inet_diag_SOURCES = netlink_inet_diag.c
-netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
-netlink_inet_diag_LDADD = $(LDADD)
-netlink_inet_diag_DEPENDENCIES = libtests.a
-netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
-netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
-netlink_netlink_diag_LDADD = $(LDADD)
-netlink_netlink_diag_DEPENDENCIES = libtests.a
-netlink_protocol_SOURCES = netlink_protocol.c
-netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
-netlink_protocol_LDADD = $(LDADD)
-netlink_protocol_DEPENDENCIES = libtests.a
-netlink_unix_diag_SOURCES = netlink_unix_diag.c
-netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
-netlink_unix_diag_LDADD = $(LDADD)
-netlink_unix_diag_DEPENDENCIES = libtests.a
-newfstatat_SOURCES = newfstatat.c
-newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
-newfstatat_LDADD = $(LDADD)
-newfstatat_DEPENDENCIES = libtests.a
-nsyscalls_SOURCES = nsyscalls.c
-nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
-nsyscalls_LDADD = $(LDADD)
-nsyscalls_DEPENDENCIES = libtests.a
-old_mmap_SOURCES = old_mmap.c
-old_mmap_OBJECTS = old_mmap.$(OBJEXT)
-old_mmap_LDADD = $(LDADD)
-old_mmap_DEPENDENCIES = libtests.a
-oldfstat_SOURCES = oldfstat.c
-oldfstat_OBJECTS = oldfstat.$(OBJEXT)
-oldfstat_LDADD = $(LDADD)
-oldfstat_DEPENDENCIES = libtests.a
-oldlstat_SOURCES = oldlstat.c
-oldlstat_OBJECTS = oldlstat.$(OBJEXT)
-oldlstat_LDADD = $(LDADD)
-oldlstat_DEPENDENCIES = libtests.a
-oldselect_SOURCES = oldselect.c
-oldselect_OBJECTS = oldselect.$(OBJEXT)
-oldselect_LDADD = $(LDADD)
-oldselect_DEPENDENCIES = libtests.a
-oldstat_SOURCES = oldstat.c
-oldstat_OBJECTS = oldstat.$(OBJEXT)
-oldstat_LDADD = $(LDADD)
-oldstat_DEPENDENCIES = libtests.a
-open_SOURCES = open.c
-open_OBJECTS = open.$(OBJEXT)
-open_LDADD = $(LDADD)
-open_DEPENDENCIES = libtests.a
-openat_SOURCES = openat.c
-openat_OBJECTS = openat.$(OBJEXT)
-openat_LDADD = $(LDADD)
-openat_DEPENDENCIES = libtests.a
-osf_utimes_SOURCES = osf_utimes.c
-osf_utimes_OBJECTS = osf_utimes.$(OBJEXT)
-osf_utimes_LDADD = $(LDADD)
-osf_utimes_DEPENDENCIES = libtests.a
-pause_SOURCES = pause.c
-pause_OBJECTS = pause.$(OBJEXT)
-pause_LDADD = $(LDADD)
-pause_DEPENDENCIES = libtests.a
-pc_SOURCES = pc.c
-pc_OBJECTS = pc.$(OBJEXT)
-am__DEPENDENCIES_1 =
-pc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-perf_event_open_SOURCES = perf_event_open.c
-perf_event_open_OBJECTS = perf_event_open.$(OBJEXT)
-perf_event_open_LDADD = $(LDADD)
-perf_event_open_DEPENDENCIES = libtests.a
-perf_event_open_nonverbose_SOURCES = perf_event_open_nonverbose.c
-perf_event_open_nonverbose_OBJECTS = \
- perf_event_open_nonverbose.$(OBJEXT)
-perf_event_open_nonverbose_LDADD = $(LDADD)
-perf_event_open_nonverbose_DEPENDENCIES = libtests.a
-perf_event_open_unabbrev_SOURCES = perf_event_open_unabbrev.c
-perf_event_open_unabbrev_OBJECTS = perf_event_open_unabbrev.$(OBJEXT)
-perf_event_open_unabbrev_LDADD = $(LDADD)
-perf_event_open_unabbrev_DEPENDENCIES = libtests.a
-personality_SOURCES = personality.c
-personality_OBJECTS = personality.$(OBJEXT)
-personality_LDADD = $(LDADD)
-personality_DEPENDENCIES = libtests.a
-pipe_SOURCES = pipe.c
-pipe_OBJECTS = pipe.$(OBJEXT)
-pipe_LDADD = $(LDADD)
-pipe_DEPENDENCIES = libtests.a
-pipe2_SOURCES = pipe2.c
-pipe2_OBJECTS = pipe2.$(OBJEXT)
-pipe2_LDADD = $(LDADD)
-pipe2_DEPENDENCIES = libtests.a
-pkey_alloc_SOURCES = pkey_alloc.c
-pkey_alloc_OBJECTS = pkey_alloc.$(OBJEXT)
-pkey_alloc_LDADD = $(LDADD)
-pkey_alloc_DEPENDENCIES = libtests.a
-pkey_free_SOURCES = pkey_free.c
-pkey_free_OBJECTS = pkey_free.$(OBJEXT)
-pkey_free_LDADD = $(LDADD)
-pkey_free_DEPENDENCIES = libtests.a
-pkey_mprotect_SOURCES = pkey_mprotect.c
-pkey_mprotect_OBJECTS = pkey_mprotect.$(OBJEXT)
-pkey_mprotect_LDADD = $(LDADD)
-pkey_mprotect_DEPENDENCIES = libtests.a
-poll_SOURCES = poll.c
-poll_OBJECTS = poll.$(OBJEXT)
-poll_LDADD = $(LDADD)
-poll_DEPENDENCIES = libtests.a
-ppoll_SOURCES = ppoll.c
-ppoll_OBJECTS = ppoll.$(OBJEXT)
-ppoll_LDADD = $(LDADD)
-ppoll_DEPENDENCIES = libtests.a
-ppoll_v_SOURCES = ppoll-v.c
-ppoll_v_OBJECTS = ppoll-v.$(OBJEXT)
-ppoll_v_LDADD = $(LDADD)
-ppoll_v_DEPENDENCIES = libtests.a
-prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
-prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
-prctl_arg2_intptr_LDADD = $(LDADD)
-prctl_arg2_intptr_DEPENDENCIES = libtests.a
-prctl_dumpable_SOURCES = prctl-dumpable.c
-prctl_dumpable_OBJECTS = prctl-dumpable.$(OBJEXT)
-prctl_dumpable_LDADD = $(LDADD)
-prctl_dumpable_DEPENDENCIES = libtests.a
-prctl_name_SOURCES = prctl-name.c
-prctl_name_OBJECTS = prctl-name.$(OBJEXT)
-prctl_name_LDADD = $(LDADD)
-prctl_name_DEPENDENCIES = libtests.a
-prctl_no_args_SOURCES = prctl-no-args.c
-prctl_no_args_OBJECTS = prctl-no-args.$(OBJEXT)
-prctl_no_args_LDADD = $(LDADD)
-prctl_no_args_DEPENDENCIES = libtests.a
-prctl_pdeathsig_SOURCES = prctl-pdeathsig.c
-prctl_pdeathsig_OBJECTS = prctl-pdeathsig.$(OBJEXT)
-prctl_pdeathsig_LDADD = $(LDADD)
-prctl_pdeathsig_DEPENDENCIES = libtests.a
-prctl_seccomp_filter_v_SOURCES = prctl-seccomp-filter-v.c
-prctl_seccomp_filter_v_OBJECTS = prctl-seccomp-filter-v.$(OBJEXT)
-prctl_seccomp_filter_v_LDADD = $(LDADD)
-prctl_seccomp_filter_v_DEPENDENCIES = libtests.a
-prctl_seccomp_strict_SOURCES = prctl-seccomp-strict.c
-prctl_seccomp_strict_OBJECTS = prctl-seccomp-strict.$(OBJEXT)
-prctl_seccomp_strict_LDADD = $(LDADD)
-prctl_seccomp_strict_DEPENDENCIES = libtests.a
-prctl_securebits_SOURCES = prctl-securebits.c
-prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT)
-prctl_securebits_LDADD = $(LDADD)
-prctl_securebits_DEPENDENCIES = libtests.a
-prctl_tid_address_SOURCES = prctl-tid_address.c
-prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT)
-prctl_tid_address_LDADD = $(LDADD)
-prctl_tid_address_DEPENDENCIES = libtests.a
-prctl_tsc_SOURCES = prctl-tsc.c
-prctl_tsc_OBJECTS = prctl-tsc.$(OBJEXT)
-prctl_tsc_LDADD = $(LDADD)
-prctl_tsc_DEPENDENCIES = libtests.a
-pread64_pwrite64_SOURCES = pread64-pwrite64.c
-pread64_pwrite64_OBJECTS = \
- pread64_pwrite64-pread64-pwrite64.$(OBJEXT)
-pread64_pwrite64_LDADD = $(LDADD)
-pread64_pwrite64_DEPENDENCIES = libtests.a
-preadv_SOURCES = preadv.c
-preadv_OBJECTS = preadv-preadv.$(OBJEXT)
-preadv_LDADD = $(LDADD)
-preadv_DEPENDENCIES = libtests.a
-preadv_pwritev_SOURCES = preadv-pwritev.c
-preadv_pwritev_OBJECTS = preadv_pwritev-preadv-pwritev.$(OBJEXT)
-preadv_pwritev_LDADD = $(LDADD)
-preadv_pwritev_DEPENDENCIES = libtests.a
-preadv2_pwritev2_SOURCES = preadv2-pwritev2.c
-preadv2_pwritev2_OBJECTS = preadv2-pwritev2.$(OBJEXT)
-preadv2_pwritev2_LDADD = $(LDADD)
-preadv2_pwritev2_DEPENDENCIES = libtests.a
-print_maxfd_SOURCES = print_maxfd.c
-print_maxfd_OBJECTS = print_maxfd.$(OBJEXT)
-print_maxfd_LDADD = $(LDADD)
-print_maxfd_DEPENDENCIES = libtests.a
-printstr_SOURCES = printstr.c
-printstr_OBJECTS = printstr.$(OBJEXT)
-printstr_LDADD = $(LDADD)
-printstr_DEPENDENCIES = libtests.a
-prlimit64_SOURCES = prlimit64.c
-prlimit64_OBJECTS = prlimit64.$(OBJEXT)
-prlimit64_LDADD = $(LDADD)
-prlimit64_DEPENDENCIES = libtests.a
-process_vm_readv_SOURCES = process_vm_readv.c
-process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
-process_vm_readv_LDADD = $(LDADD)
-process_vm_readv_DEPENDENCIES = libtests.a
-process_vm_writev_SOURCES = process_vm_writev.c
-process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
-process_vm_writev_LDADD = $(LDADD)
-process_vm_writev_DEPENDENCIES = libtests.a
-pselect6_SOURCES = pselect6.c
-pselect6_OBJECTS = pselect6.$(OBJEXT)
-pselect6_LDADD = $(LDADD)
-pselect6_DEPENDENCIES = libtests.a
-ptrace_SOURCES = ptrace.c
-ptrace_OBJECTS = ptrace.$(OBJEXT)
-ptrace_LDADD = $(LDADD)
-ptrace_DEPENDENCIES = libtests.a
-pwritev_SOURCES = pwritev.c
-pwritev_OBJECTS = pwritev-pwritev.$(OBJEXT)
-pwritev_LDADD = $(LDADD)
-pwritev_DEPENDENCIES = libtests.a
-qual_fault_SOURCES = qual_fault.c
-qual_fault_OBJECTS = qual_fault.$(OBJEXT)
-qual_fault_LDADD = $(LDADD)
-qual_fault_DEPENDENCIES = libtests.a
-qual_inject_error_signal_SOURCES = qual_inject-error-signal.c
-qual_inject_error_signal_OBJECTS = qual_inject-error-signal.$(OBJEXT)
-qual_inject_error_signal_LDADD = $(LDADD)
-qual_inject_error_signal_DEPENDENCIES = libtests.a
-qual_inject_retval_SOURCES = qual_inject-retval.c
-qual_inject_retval_OBJECTS = qual_inject-retval.$(OBJEXT)
-qual_inject_retval_LDADD = $(LDADD)
-qual_inject_retval_DEPENDENCIES = libtests.a
-qual_inject_signal_SOURCES = qual_inject-signal.c
-qual_inject_signal_OBJECTS = qual_inject-signal.$(OBJEXT)
-qual_inject_signal_LDADD = $(LDADD)
-qual_inject_signal_DEPENDENCIES = libtests.a
-qual_signal_SOURCES = qual_signal.c
-qual_signal_OBJECTS = qual_signal.$(OBJEXT)
-qual_signal_LDADD = $(LDADD)
-qual_signal_DEPENDENCIES = libtests.a
-quotactl_SOURCES = quotactl.c
-quotactl_OBJECTS = quotactl.$(OBJEXT)
-quotactl_LDADD = $(LDADD)
-quotactl_DEPENDENCIES = libtests.a
-quotactl_v_SOURCES = quotactl-v.c
-quotactl_v_OBJECTS = quotactl-v.$(OBJEXT)
-quotactl_v_LDADD = $(LDADD)
-quotactl_v_DEPENDENCIES = libtests.a
-quotactl_xfs_SOURCES = quotactl-xfs.c
-quotactl_xfs_OBJECTS = quotactl-xfs.$(OBJEXT)
-quotactl_xfs_LDADD = $(LDADD)
-quotactl_xfs_DEPENDENCIES = libtests.a
-quotactl_xfs_v_SOURCES = quotactl-xfs-v.c
-quotactl_xfs_v_OBJECTS = quotactl-xfs-v.$(OBJEXT)
-quotactl_xfs_v_LDADD = $(LDADD)
-quotactl_xfs_v_DEPENDENCIES = libtests.a
-read_write_SOURCES = read-write.c
-read_write_OBJECTS = read-write.$(OBJEXT)
-read_write_LDADD = $(LDADD)
-read_write_DEPENDENCIES = libtests.a
-readahead_SOURCES = readahead.c
-readahead_OBJECTS = readahead.$(OBJEXT)
-readahead_LDADD = $(LDADD)
-readahead_DEPENDENCIES = libtests.a
-readdir_SOURCES = readdir.c
-readdir_OBJECTS = readdir.$(OBJEXT)
-readdir_LDADD = $(LDADD)
-readdir_DEPENDENCIES = libtests.a
-readlink_SOURCES = readlink.c
-readlink_OBJECTS = readlink.$(OBJEXT)
-readlink_LDADD = $(LDADD)
-readlink_DEPENDENCIES = libtests.a
-readlinkat_SOURCES = readlinkat.c
-readlinkat_OBJECTS = readlinkat.$(OBJEXT)
-readlinkat_LDADD = $(LDADD)
-readlinkat_DEPENDENCIES = libtests.a
-readv_SOURCES = readv.c
-readv_OBJECTS = readv.$(OBJEXT)
-readv_LDADD = $(LDADD)
-readv_DEPENDENCIES = libtests.a
-reboot_SOURCES = reboot.c
-reboot_OBJECTS = reboot.$(OBJEXT)
-reboot_LDADD = $(LDADD)
-reboot_DEPENDENCIES = libtests.a
-recvfrom_SOURCES = recvfrom.c
-recvfrom_OBJECTS = recvfrom.$(OBJEXT)
-recvfrom_LDADD = $(LDADD)
-recvfrom_DEPENDENCIES = libtests.a
-recvmmsg_timeout_SOURCES = recvmmsg-timeout.c
-recvmmsg_timeout_OBJECTS = recvmmsg-timeout.$(OBJEXT)
-recvmmsg_timeout_LDADD = $(LDADD)
-recvmmsg_timeout_DEPENDENCIES = libtests.a
-recvmsg_SOURCES = recvmsg.c
-recvmsg_OBJECTS = recvmsg.$(OBJEXT)
-recvmsg_LDADD = $(LDADD)
-recvmsg_DEPENDENCIES = libtests.a
-redirect_fds_SOURCES = redirect-fds.c
-redirect_fds_OBJECTS = redirect-fds.$(OBJEXT)
-redirect_fds_LDADD = $(LDADD)
-redirect_fds_DEPENDENCIES = libtests.a
-remap_file_pages_SOURCES = remap_file_pages.c
-remap_file_pages_OBJECTS = remap_file_pages.$(OBJEXT)
-remap_file_pages_LDADD = $(LDADD)
-remap_file_pages_DEPENDENCIES = libtests.a
-rename_SOURCES = rename.c
-rename_OBJECTS = rename.$(OBJEXT)
-rename_LDADD = $(LDADD)
-rename_DEPENDENCIES = libtests.a
-renameat_SOURCES = renameat.c
-renameat_OBJECTS = renameat.$(OBJEXT)
-renameat_LDADD = $(LDADD)
-renameat_DEPENDENCIES = libtests.a
-renameat2_SOURCES = renameat2.c
-renameat2_OBJECTS = renameat2.$(OBJEXT)
-renameat2_LDADD = $(LDADD)
-renameat2_DEPENDENCIES = libtests.a
-request_key_SOURCES = request_key.c
-request_key_OBJECTS = request_key.$(OBJEXT)
-request_key_LDADD = $(LDADD)
-request_key_DEPENDENCIES = libtests.a
-restart_syscall_SOURCES = restart_syscall.c
-restart_syscall_OBJECTS = restart_syscall.$(OBJEXT)
-restart_syscall_LDADD = $(LDADD)
-restart_syscall_DEPENDENCIES = libtests.a
-rmdir_SOURCES = rmdir.c
-rmdir_OBJECTS = rmdir.$(OBJEXT)
-rmdir_LDADD = $(LDADD)
-rmdir_DEPENDENCIES = libtests.a
-rt_sigpending_SOURCES = rt_sigpending.c
-rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
-rt_sigpending_LDADD = $(LDADD)
-rt_sigpending_DEPENDENCIES = libtests.a
-rt_sigprocmask_SOURCES = rt_sigprocmask.c
-rt_sigprocmask_OBJECTS = rt_sigprocmask.$(OBJEXT)
-rt_sigprocmask_LDADD = $(LDADD)
-rt_sigprocmask_DEPENDENCIES = libtests.a
-rt_sigqueueinfo_SOURCES = rt_sigqueueinfo.c
-rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
-rt_sigqueueinfo_LDADD = $(LDADD)
-rt_sigqueueinfo_DEPENDENCIES = libtests.a
-rt_sigreturn_SOURCES = rt_sigreturn.c
-rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
-rt_sigreturn_LDADD = $(LDADD)
-rt_sigreturn_DEPENDENCIES = libtests.a
-rt_sigsuspend_SOURCES = rt_sigsuspend.c
-rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
-rt_sigsuspend_LDADD = $(LDADD)
-rt_sigsuspend_DEPENDENCIES = libtests.a
-rt_sigtimedwait_SOURCES = rt_sigtimedwait.c
-rt_sigtimedwait_OBJECTS = rt_sigtimedwait.$(OBJEXT)
-rt_sigtimedwait_LDADD = $(LDADD)
-rt_sigtimedwait_DEPENDENCIES = libtests.a
-rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
-rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
-rt_tgsigqueueinfo_LDADD = $(LDADD)
-rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
-sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
-sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
-sched_get_priority_mxx_LDADD = $(LDADD)
-sched_get_priority_mxx_DEPENDENCIES = libtests.a
-sched_rr_get_interval_SOURCES = sched_rr_get_interval.c
-sched_rr_get_interval_OBJECTS = sched_rr_get_interval.$(OBJEXT)
-sched_rr_get_interval_LDADD = $(LDADD)
-sched_rr_get_interval_DEPENDENCIES = libtests.a
-sched_xetaffinity_SOURCES = sched_xetaffinity.c
-sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
-sched_xetaffinity_LDADD = $(LDADD)
-sched_xetaffinity_DEPENDENCIES = libtests.a
-sched_xetattr_SOURCES = sched_xetattr.c
-sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
-sched_xetattr_LDADD = $(LDADD)
-sched_xetattr_DEPENDENCIES = libtests.a
-sched_xetparam_SOURCES = sched_xetparam.c
-sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
-sched_xetparam_LDADD = $(LDADD)
-sched_xetparam_DEPENDENCIES = libtests.a
-sched_xetscheduler_SOURCES = sched_xetscheduler.c
-sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
-sched_xetscheduler_LDADD = $(LDADD)
-sched_xetscheduler_DEPENDENCIES = libtests.a
-sched_yield_SOURCES = sched_yield.c
-sched_yield_OBJECTS = sched_yield.$(OBJEXT)
-sched_yield_LDADD = $(LDADD)
-sched_yield_DEPENDENCIES = libtests.a
-scm_rights_SOURCES = scm_rights.c
-scm_rights_OBJECTS = scm_rights.$(OBJEXT)
-scm_rights_LDADD = $(LDADD)
-scm_rights_DEPENDENCIES = libtests.a
-seccomp_filter_SOURCES = seccomp-filter.c
-seccomp_filter_OBJECTS = seccomp-filter.$(OBJEXT)
-seccomp_filter_LDADD = $(LDADD)
-seccomp_filter_DEPENDENCIES = libtests.a
-seccomp_filter_v_SOURCES = seccomp-filter-v.c
-seccomp_filter_v_OBJECTS = seccomp-filter-v.$(OBJEXT)
-seccomp_filter_v_LDADD = $(LDADD)
-seccomp_filter_v_DEPENDENCIES = libtests.a
-seccomp_strict_SOURCES = seccomp-strict.c
-seccomp_strict_OBJECTS = seccomp-strict.$(OBJEXT)
-seccomp_strict_LDADD = $(LDADD)
-seccomp_strict_DEPENDENCIES = libtests.a
-select_SOURCES = select.c
-select_OBJECTS = select.$(OBJEXT)
-select_LDADD = $(LDADD)
-select_DEPENDENCIES = libtests.a
-semop_SOURCES = semop.c
-semop_OBJECTS = semop.$(OBJEXT)
-semop_LDADD = $(LDADD)
-semop_DEPENDENCIES = libtests.a
-sendfile_SOURCES = sendfile.c
-sendfile_OBJECTS = sendfile.$(OBJEXT)
-sendfile_LDADD = $(LDADD)
-sendfile_DEPENDENCIES = libtests.a
-sendfile64_SOURCES = sendfile64.c
-sendfile64_OBJECTS = sendfile64.$(OBJEXT)
-sendfile64_LDADD = $(LDADD)
-sendfile64_DEPENDENCIES = libtests.a
-set_mempolicy_SOURCES = set_mempolicy.c
-set_mempolicy_OBJECTS = set_mempolicy.$(OBJEXT)
-set_mempolicy_LDADD = $(LDADD)
-set_mempolicy_DEPENDENCIES = libtests.a
-set_ptracer_any_SOURCES = set_ptracer_any.c
-set_ptracer_any_OBJECTS = set_ptracer_any.$(OBJEXT)
-set_ptracer_any_LDADD = $(LDADD)
-set_ptracer_any_DEPENDENCIES = libtests.a
-setdomainname_SOURCES = setdomainname.c
-setdomainname_OBJECTS = setdomainname.$(OBJEXT)
-setdomainname_LDADD = $(LDADD)
-setdomainname_DEPENDENCIES = libtests.a
-setfsgid_SOURCES = setfsgid.c
-setfsgid_OBJECTS = setfsgid.$(OBJEXT)
-setfsgid_LDADD = $(LDADD)
-setfsgid_DEPENDENCIES = libtests.a
-setfsgid32_SOURCES = setfsgid32.c
-setfsgid32_OBJECTS = setfsgid32.$(OBJEXT)
-setfsgid32_LDADD = $(LDADD)
-setfsgid32_DEPENDENCIES = libtests.a
-setfsuid_SOURCES = setfsuid.c
-setfsuid_OBJECTS = setfsuid.$(OBJEXT)
-setfsuid_LDADD = $(LDADD)
-setfsuid_DEPENDENCIES = libtests.a
-setfsuid32_SOURCES = setfsuid32.c
-setfsuid32_OBJECTS = setfsuid32.$(OBJEXT)
-setfsuid32_LDADD = $(LDADD)
-setfsuid32_DEPENDENCIES = libtests.a
-setgid_SOURCES = setgid.c
-setgid_OBJECTS = setgid.$(OBJEXT)
-setgid_LDADD = $(LDADD)
-setgid_DEPENDENCIES = libtests.a
-setgid32_SOURCES = setgid32.c
-setgid32_OBJECTS = setgid32.$(OBJEXT)
-setgid32_LDADD = $(LDADD)
-setgid32_DEPENDENCIES = libtests.a
-setgroups_SOURCES = setgroups.c
-setgroups_OBJECTS = setgroups.$(OBJEXT)
-setgroups_LDADD = $(LDADD)
-setgroups_DEPENDENCIES = libtests.a
-setgroups32_SOURCES = setgroups32.c
-setgroups32_OBJECTS = setgroups32.$(OBJEXT)
-setgroups32_LDADD = $(LDADD)
-setgroups32_DEPENDENCIES = libtests.a
-sethostname_SOURCES = sethostname.c
-sethostname_OBJECTS = sethostname.$(OBJEXT)
-sethostname_LDADD = $(LDADD)
-sethostname_DEPENDENCIES = libtests.a
-setns_SOURCES = setns.c
-setns_OBJECTS = setns.$(OBJEXT)
-setns_LDADD = $(LDADD)
-setns_DEPENDENCIES = libtests.a
-setregid_SOURCES = setregid.c
-setregid_OBJECTS = setregid.$(OBJEXT)
-setregid_LDADD = $(LDADD)
-setregid_DEPENDENCIES = libtests.a
-setregid32_SOURCES = setregid32.c
-setregid32_OBJECTS = setregid32.$(OBJEXT)
-setregid32_LDADD = $(LDADD)
-setregid32_DEPENDENCIES = libtests.a
-setresgid_SOURCES = setresgid.c
-setresgid_OBJECTS = setresgid.$(OBJEXT)
-setresgid_LDADD = $(LDADD)
-setresgid_DEPENDENCIES = libtests.a
-setresgid32_SOURCES = setresgid32.c
-setresgid32_OBJECTS = setresgid32.$(OBJEXT)
-setresgid32_LDADD = $(LDADD)
-setresgid32_DEPENDENCIES = libtests.a
-setresuid_SOURCES = setresuid.c
-setresuid_OBJECTS = setresuid.$(OBJEXT)
-setresuid_LDADD = $(LDADD)
-setresuid_DEPENDENCIES = libtests.a
-setresuid32_SOURCES = setresuid32.c
-setresuid32_OBJECTS = setresuid32.$(OBJEXT)
-setresuid32_LDADD = $(LDADD)
-setresuid32_DEPENDENCIES = libtests.a
-setreuid_SOURCES = setreuid.c
-setreuid_OBJECTS = setreuid.$(OBJEXT)
-setreuid_LDADD = $(LDADD)
-setreuid_DEPENDENCIES = libtests.a
-setreuid32_SOURCES = setreuid32.c
-setreuid32_OBJECTS = setreuid32.$(OBJEXT)
-setreuid32_LDADD = $(LDADD)
-setreuid32_DEPENDENCIES = libtests.a
-setrlimit_SOURCES = setrlimit.c
-setrlimit_OBJECTS = setrlimit.$(OBJEXT)
-setrlimit_LDADD = $(LDADD)
-setrlimit_DEPENDENCIES = libtests.a
-setuid_SOURCES = setuid.c
-setuid_OBJECTS = setuid.$(OBJEXT)
-setuid_LDADD = $(LDADD)
-setuid_DEPENDENCIES = libtests.a
-setuid32_SOURCES = setuid32.c
-setuid32_OBJECTS = setuid32.$(OBJEXT)
-setuid32_LDADD = $(LDADD)
-setuid32_DEPENDENCIES = libtests.a
-shmxt_SOURCES = shmxt.c
-shmxt_OBJECTS = shmxt.$(OBJEXT)
-shmxt_LDADD = $(LDADD)
-shmxt_DEPENDENCIES = libtests.a
-shutdown_SOURCES = shutdown.c
-shutdown_OBJECTS = shutdown.$(OBJEXT)
-shutdown_LDADD = $(LDADD)
-shutdown_DEPENDENCIES = libtests.a
-sigaction_SOURCES = sigaction.c
-sigaction_OBJECTS = sigaction.$(OBJEXT)
-sigaction_LDADD = $(LDADD)
-sigaction_DEPENDENCIES = libtests.a
-sigaltstack_SOURCES = sigaltstack.c
-sigaltstack_OBJECTS = sigaltstack.$(OBJEXT)
-sigaltstack_LDADD = $(LDADD)
-sigaltstack_DEPENDENCIES = libtests.a
-siginfo_SOURCES = siginfo.c
-siginfo_OBJECTS = siginfo.$(OBJEXT)
-siginfo_LDADD = $(LDADD)
-siginfo_DEPENDENCIES = libtests.a
-signal_receive_SOURCES = signal_receive.c
-signal_receive_OBJECTS = signal_receive.$(OBJEXT)
-signal_receive_LDADD = $(LDADD)
-signal_receive_DEPENDENCIES = libtests.a
-signalfd4_SOURCES = signalfd4.c
-signalfd4_OBJECTS = signalfd4.$(OBJEXT)
-signalfd4_LDADD = $(LDADD)
-signalfd4_DEPENDENCIES = libtests.a
-sigreturn_SOURCES = sigreturn.c
-sigreturn_OBJECTS = sigreturn.$(OBJEXT)
-sigreturn_LDADD = $(LDADD)
-sigreturn_DEPENDENCIES = libtests.a
-sigsuspend_SOURCES = sigsuspend.c
-sigsuspend_OBJECTS = sigsuspend.$(OBJEXT)
-sigsuspend_LDADD = $(LDADD)
-sigsuspend_DEPENDENCIES = libtests.a
-sleep_SOURCES = sleep.c
-sleep_OBJECTS = sleep.$(OBJEXT)
-sleep_LDADD = $(LDADD)
-sleep_DEPENDENCIES = libtests.a
-socketcall_SOURCES = socketcall.c
-socketcall_OBJECTS = socketcall.$(OBJEXT)
-socketcall_LDADD = $(LDADD)
-socketcall_DEPENDENCIES = libtests.a
-splice_SOURCES = splice.c
-splice_OBJECTS = splice.$(OBJEXT)
-splice_LDADD = $(LDADD)
-splice_DEPENDENCIES = libtests.a
-am_stack_fcall_OBJECTS = stack-fcall.$(OBJEXT) stack-fcall-0.$(OBJEXT) \
- stack-fcall-1.$(OBJEXT) stack-fcall-2.$(OBJEXT) \
- stack-fcall-3.$(OBJEXT)
-stack_fcall_OBJECTS = $(am_stack_fcall_OBJECTS)
-stack_fcall_LDADD = $(LDADD)
-stack_fcall_DEPENDENCIES = libtests.a
-stat_SOURCES = stat.c
-stat_OBJECTS = stat.$(OBJEXT)
-stat_LDADD = $(LDADD)
-stat_DEPENDENCIES = libtests.a
-stat64_SOURCES = stat64.c
-stat64_OBJECTS = stat64-stat64.$(OBJEXT)
-stat64_LDADD = $(LDADD)
-stat64_DEPENDENCIES = libtests.a
-statfs_SOURCES = statfs.c
-statfs_OBJECTS = statfs-statfs.$(OBJEXT)
-statfs_LDADD = $(LDADD)
-statfs_DEPENDENCIES = libtests.a
-statfs64_SOURCES = statfs64.c
-statfs64_OBJECTS = statfs64.$(OBJEXT)
-statfs64_LDADD = $(LDADD)
-statfs64_DEPENDENCIES = libtests.a
-statx_SOURCES = statx.c
-statx_OBJECTS = statx.$(OBJEXT)
-statx_LDADD = $(LDADD)
-statx_DEPENDENCIES = libtests.a
-swap_SOURCES = swap.c
-swap_OBJECTS = swap.$(OBJEXT)
-swap_LDADD = $(LDADD)
-swap_DEPENDENCIES = libtests.a
-sxetmask_SOURCES = sxetmask.c
-sxetmask_OBJECTS = sxetmask.$(OBJEXT)
-sxetmask_LDADD = $(LDADD)
-sxetmask_DEPENDENCIES = libtests.a
-symlink_SOURCES = symlink.c
-symlink_OBJECTS = symlink.$(OBJEXT)
-symlink_LDADD = $(LDADD)
-symlink_DEPENDENCIES = libtests.a
-symlinkat_SOURCES = symlinkat.c
-symlinkat_OBJECTS = symlinkat.$(OBJEXT)
-symlinkat_LDADD = $(LDADD)
-symlinkat_DEPENDENCIES = libtests.a
-sync_SOURCES = sync.c
-sync_OBJECTS = sync.$(OBJEXT)
-sync_LDADD = $(LDADD)
-sync_DEPENDENCIES = libtests.a
-sync_file_range_SOURCES = sync_file_range.c
-sync_file_range_OBJECTS = sync_file_range.$(OBJEXT)
-sync_file_range_LDADD = $(LDADD)
-sync_file_range_DEPENDENCIES = libtests.a
-sync_file_range2_SOURCES = sync_file_range2.c
-sync_file_range2_OBJECTS = sync_file_range2.$(OBJEXT)
-sync_file_range2_LDADD = $(LDADD)
-sync_file_range2_DEPENDENCIES = libtests.a
-sysinfo_SOURCES = sysinfo.c
-sysinfo_OBJECTS = sysinfo.$(OBJEXT)
-sysinfo_LDADD = $(LDADD)
-sysinfo_DEPENDENCIES = libtests.a
-syslog_SOURCES = syslog.c
-syslog_OBJECTS = syslog.$(OBJEXT)
-syslog_LDADD = $(LDADD)
-syslog_DEPENDENCIES = libtests.a
-tee_SOURCES = tee.c
-tee_OBJECTS = tee.$(OBJEXT)
-tee_LDADD = $(LDADD)
-tee_DEPENDENCIES = libtests.a
-threads_execve_SOURCES = threads-execve.c
-threads_execve_OBJECTS = threads-execve.$(OBJEXT)
-threads_execve_DEPENDENCIES = $(LDADD)
-time_SOURCES = time.c
-time_OBJECTS = time.$(OBJEXT)
-time_LDADD = $(LDADD)
-time_DEPENDENCIES = libtests.a
-timer_create_SOURCES = timer_create.c
-timer_create_OBJECTS = timer_create.$(OBJEXT)
-timer_create_LDADD = $(LDADD)
-timer_create_DEPENDENCIES = libtests.a
-timer_xettime_SOURCES = timer_xettime.c
-timer_xettime_OBJECTS = timer_xettime.$(OBJEXT)
-timer_xettime_LDADD = $(LDADD)
-timer_xettime_DEPENDENCIES = libtests.a
-timerfd_xettime_SOURCES = timerfd_xettime.c
-timerfd_xettime_OBJECTS = timerfd_xettime.$(OBJEXT)
-timerfd_xettime_LDADD = $(LDADD)
-timerfd_xettime_DEPENDENCIES = libtests.a
-times_SOURCES = times.c
-times_OBJECTS = times.$(OBJEXT)
-times_DEPENDENCIES = $(LDADD)
-times_fail_SOURCES = times-fail.c
-times_fail_OBJECTS = times-fail.$(OBJEXT)
-times_fail_LDADD = $(LDADD)
-times_fail_DEPENDENCIES = libtests.a
-truncate_SOURCES = truncate.c
-truncate_OBJECTS = truncate.$(OBJEXT)
-truncate_LDADD = $(LDADD)
-truncate_DEPENDENCIES = libtests.a
-truncate64_SOURCES = truncate64.c
-truncate64_OBJECTS = truncate64-truncate64.$(OBJEXT)
-truncate64_LDADD = $(LDADD)
-truncate64_DEPENDENCIES = libtests.a
-ugetrlimit_SOURCES = ugetrlimit.c
-ugetrlimit_OBJECTS = ugetrlimit.$(OBJEXT)
-ugetrlimit_LDADD = $(LDADD)
-ugetrlimit_DEPENDENCIES = libtests.a
-uio_SOURCES = uio.c
-uio_OBJECTS = uio-uio.$(OBJEXT)
-uio_LDADD = $(LDADD)
-uio_DEPENDENCIES = libtests.a
-umask_SOURCES = umask.c
-umask_OBJECTS = umask.$(OBJEXT)
-umask_LDADD = $(LDADD)
-umask_DEPENDENCIES = libtests.a
-umount_SOURCES = umount.c
-umount_OBJECTS = umount.$(OBJEXT)
-umount_LDADD = $(LDADD)
-umount_DEPENDENCIES = libtests.a
-umount2_SOURCES = umount2.c
-umount2_OBJECTS = umount2.$(OBJEXT)
-umount2_LDADD = $(LDADD)
-umount2_DEPENDENCIES = libtests.a
-umoven_illptr_SOURCES = umoven-illptr.c
-umoven_illptr_OBJECTS = umoven-illptr.$(OBJEXT)
-umoven_illptr_LDADD = $(LDADD)
-umoven_illptr_DEPENDENCIES = libtests.a
-umovestr_SOURCES = umovestr.c
-umovestr_OBJECTS = umovestr.$(OBJEXT)
-umovestr_LDADD = $(LDADD)
-umovestr_DEPENDENCIES = libtests.a
-umovestr_illptr_SOURCES = umovestr-illptr.c
-umovestr_illptr_OBJECTS = umovestr-illptr.$(OBJEXT)
-umovestr_illptr_LDADD = $(LDADD)
-umovestr_illptr_DEPENDENCIES = libtests.a
-umovestr2_SOURCES = umovestr2.c
-umovestr2_OBJECTS = umovestr2.$(OBJEXT)
-umovestr2_LDADD = $(LDADD)
-umovestr2_DEPENDENCIES = libtests.a
-umovestr3_SOURCES = umovestr3.c
-umovestr3_OBJECTS = umovestr3.$(OBJEXT)
-umovestr3_LDADD = $(LDADD)
-umovestr3_DEPENDENCIES = libtests.a
-uname_SOURCES = uname.c
-uname_OBJECTS = uname.$(OBJEXT)
-uname_LDADD = $(LDADD)
-uname_DEPENDENCIES = libtests.a
-unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
-unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
-unix_pair_send_recv_LDADD = $(LDADD)
-unix_pair_send_recv_DEPENDENCIES = libtests.a
-unix_pair_sendto_recvfrom_SOURCES = unix-pair-sendto-recvfrom.c
-unix_pair_sendto_recvfrom_OBJECTS = \
- unix-pair-sendto-recvfrom.$(OBJEXT)
-unix_pair_sendto_recvfrom_LDADD = $(LDADD)
-unix_pair_sendto_recvfrom_DEPENDENCIES = libtests.a
-unlink_SOURCES = unlink.c
-unlink_OBJECTS = unlink.$(OBJEXT)
-unlink_LDADD = $(LDADD)
-unlink_DEPENDENCIES = libtests.a
-unlinkat_SOURCES = unlinkat.c
-unlinkat_OBJECTS = unlinkat.$(OBJEXT)
-unlinkat_LDADD = $(LDADD)
-unlinkat_DEPENDENCIES = libtests.a
-unshare_SOURCES = unshare.c
-unshare_OBJECTS = unshare.$(OBJEXT)
-unshare_LDADD = $(LDADD)
-unshare_DEPENDENCIES = libtests.a
-userfaultfd_SOURCES = userfaultfd.c
-userfaultfd_OBJECTS = userfaultfd.$(OBJEXT)
-userfaultfd_LDADD = $(LDADD)
-userfaultfd_DEPENDENCIES = libtests.a
-ustat_SOURCES = ustat.c
-ustat_OBJECTS = ustat.$(OBJEXT)
-ustat_LDADD = $(LDADD)
-ustat_DEPENDENCIES = libtests.a
-utime_SOURCES = utime.c
-utime_OBJECTS = utime.$(OBJEXT)
-utime_LDADD = $(LDADD)
-utime_DEPENDENCIES = libtests.a
-utimensat_SOURCES = utimensat.c
-utimensat_OBJECTS = utimensat.$(OBJEXT)
-utimensat_LDADD = $(LDADD)
-utimensat_DEPENDENCIES = libtests.a
-utimes_SOURCES = utimes.c
-utimes_OBJECTS = utimes.$(OBJEXT)
-utimes_LDADD = $(LDADD)
-utimes_DEPENDENCIES = libtests.a
-vfork_f_SOURCES = vfork-f.c
-vfork_f_OBJECTS = vfork-f.$(OBJEXT)
-vfork_f_LDADD = $(LDADD)
-vfork_f_DEPENDENCIES = libtests.a
-vhangup_SOURCES = vhangup.c
-vhangup_OBJECTS = vhangup.$(OBJEXT)
-vhangup_LDADD = $(LDADD)
-vhangup_DEPENDENCIES = libtests.a
-vmsplice_SOURCES = vmsplice.c
-vmsplice_OBJECTS = vmsplice.$(OBJEXT)
-vmsplice_LDADD = $(LDADD)
-vmsplice_DEPENDENCIES = libtests.a
-wait4_SOURCES = wait4.c
-wait4_OBJECTS = wait4.$(OBJEXT)
-wait4_LDADD = $(LDADD)
-wait4_DEPENDENCIES = libtests.a
-wait4_v_SOURCES = wait4-v.c
-wait4_v_OBJECTS = wait4-v.$(OBJEXT)
-wait4_v_LDADD = $(LDADD)
-wait4_v_DEPENDENCIES = libtests.a
-waitid_SOURCES = waitid.c
-waitid_OBJECTS = waitid.$(OBJEXT)
-waitid_LDADD = $(LDADD)
-waitid_DEPENDENCIES = libtests.a
-waitid_v_SOURCES = waitid-v.c
-waitid_v_OBJECTS = waitid-v.$(OBJEXT)
-waitid_v_LDADD = $(LDADD)
-waitid_v_DEPENDENCIES = libtests.a
-waitpid_SOURCES = waitpid.c
-waitpid_OBJECTS = waitpid.$(OBJEXT)
-waitpid_LDADD = $(LDADD)
-waitpid_DEPENDENCIES = libtests.a
-xattr_SOURCES = xattr.c
-xattr_OBJECTS = xattr.$(OBJEXT)
-xattr_LDADD = $(LDADD)
-xattr_DEPENDENCIES = libtests.a
-xattr_strings_SOURCES = xattr-strings.c
-xattr_strings_OBJECTS = xattr-strings.$(OBJEXT)
-xattr_strings_LDADD = $(LDADD)
-xattr_strings_DEPENDENCIES = libtests.a
-xet_robust_list_SOURCES = xet_robust_list.c
-xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
-xet_robust_list_LDADD = $(LDADD)
-xet_robust_list_DEPENDENCIES = libtests.a
-xetitimer_SOURCES = xetitimer.c
-xetitimer_OBJECTS = xetitimer.$(OBJEXT)
-xetitimer_LDADD = $(LDADD)
-xetitimer_DEPENDENCIES = libtests.a
-xetpgid_SOURCES = xetpgid.c
-xetpgid_OBJECTS = xetpgid.$(OBJEXT)
-xetpgid_LDADD = $(LDADD)
-xetpgid_DEPENDENCIES = libtests.a
-xetpriority_SOURCES = xetpriority.c
-xetpriority_OBJECTS = xetpriority.$(OBJEXT)
-xetpriority_LDADD = $(LDADD)
-xetpriority_DEPENDENCIES = libtests.a
-xettimeofday_SOURCES = xettimeofday.c
-xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
-xettimeofday_LDADD = $(LDADD)
-xettimeofday_DEPENDENCIES = libtests.a
-AM_V_P = $(am__v_P_$(V))
-am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-am__v_lt_1 =
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
- access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
- attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
- perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
- ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
- prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
- preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
- process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
- pwritev.c qual_fault.c qual_inject-error-signal.c \
- qual_inject-retval.c qual_inject-signal.c qual_signal.c \
- quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
- read-write.c readahead.c readdir.c readlink.c readlinkat.c \
- readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
- redirect-fds.c remap_file_pages.c rename.c renameat.c \
- renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
- $(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
- statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
- threads-execve.c time.c timer_create.c timer_xettime.c \
- timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
- ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
- umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
-DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
- access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
- attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
- perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
- pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
- ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
- prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
- prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
- preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
- process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
- pwritev.c qual_fault.c qual_inject-error-signal.c \
- qual_inject-retval.c qual_inject-signal.c qual_signal.c \
- quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
- read-write.c readahead.c readdir.c readlink.c readlinkat.c \
- readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
- redirect-fds.c remap_file_pages.c rename.c renameat.c \
- renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
- $(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
- statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
- threads-execve.c time.c timer_create.c timer_xettime.c \
- timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
- ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
- umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__extra_recursive_targets = check-valgrind-recursive
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors_dummy = \
- mgn= red= grn= lgn= blu= brg= std=; \
- am__color_tests=no
-am__tty_colors = { \
- $(am__tty_colors_dummy); \
- if test "X$(AM_COLOR_TESTS)" = Xno; then \
- am__color_tests=no; \
- elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
- am__color_tests=yes; \
- elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
- am__color_tests=yes; \
- fi; \
- if test $$am__color_tests = yes; then \
- red=''; \
- grn=''; \
- lgn=''; \
- blu=''; \
- mgn=''; \
- brg=''; \
- std=''; \
- fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__recheck_rx = ^[ ]*:recheck:[ ]*
-am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
-am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
- recheck = 1; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- { \
- if ((getline line2 < ($$0 ".log")) < 0) \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
- { \
- recheck = 0; \
- break; \
- } \
- else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
- { \
- break; \
- } \
- }; \
- if (recheck) \
- print $$0; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
- print "fatal: making $@: " msg | "cat >&2"; \
- exit 1; \
-} \
-function rst_section(header) \
-{ \
- print header; \
- len = length(header); \
- for (i = 1; i <= len; i = i + 1) \
- printf "="; \
- printf "\n\n"; \
-} \
-{ \
- copy_in_global_log = 1; \
- global_test_result = "RUN"; \
- while ((rc = (getline line < ($$0 ".trs"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".trs"); \
- if (line ~ /$(am__global_test_result_rx)/) \
- { \
- sub("$(am__global_test_result_rx)", "", line); \
- sub("[ ]*$$", "", line); \
- global_test_result = line; \
- } \
- else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
- copy_in_global_log = 0; \
- }; \
- if (copy_in_global_log) \
- { \
- rst_section(global_test_result ": " $$0); \
- while ((rc = (getline line < ($$0 ".log"))) != 0) \
- { \
- if (rc < 0) \
- fatal("failed to read from " $$0 ".log"); \
- print line; \
- }; \
- printf "\n"; \
- }; \
- close ($$0 ".trs"); \
- close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
- --color-tests "$$am__color_tests" \
- --enable-hard-errors "$$am__enable_hard_errors" \
- --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test. Creates the
-# directory for the log if needed. Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup); \
-$(am__vpath_adj_setup) $(am__vpath_adj) \
-$(am__tty_colors); \
-srcdir=$(srcdir); export srcdir; \
-case "$@" in \
- */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
- *) am__odir=.;; \
-esac; \
-test "x$$am__odir" = x"." || test -d "$$am__odir" \
- || $(MKDIR_P) "$$am__odir" || exit $$?; \
-if test -f "./$$f"; then dir=./; \
-elif test -f "$$f"; then dir=; \
-else dir="$(srcdir)/"; fi; \
-tst=$$dir$$f; log='$@'; \
-if test -n '$(DISABLE_HARD_ERRORS)'; then \
- am__enable_hard_errors=no; \
-else \
- am__enable_hard_errors=yes; \
-fi; \
-case " $(XFAIL_TESTS) " in \
- *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
- am__expect_failure=yes;; \
- *) \
- am__expect_failure=no;; \
-esac; \
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed). The result is saved in the shell variable
-# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
- bases='$(TEST_LOGS)'; \
- bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
- bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check recheck
-#am__EXEEXT_2 = strace-k.test
-TEST_SUITE_LOG = test-suite.log
-TEST_EXTENSIONS = .test
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:.log=.log)
-TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
-TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
- $(TEST_LOG_FLAGS)
-am__set_b = \
- case '$@' in \
- */*) \
- case '$*' in \
- */*) b='$*';; \
- *) b=`echo '$@' | sed 's/\.log$$//'`; \
- esac;; \
- *) \
- b='$*';; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /tmp/strace-4.17/missing aclocal-1.14
-AMTAR = $${TAR-tar}
-AM_DEFAULT_VERBOSITY = 1
-AUTOCONF = ${SHELL} /tmp/strace-4.17/missing autoconf
-AUTOHEADER = ${SHELL} /tmp/strace-4.17/missing autoheader
-AUTOMAKE = ${SHELL} /tmp/strace-4.17/missing automake-1.14
-AWK = gawk
-BUILD_EXEEXT =
-BUILD_OBJEXT =
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CC_FOR_BUILD = gcc
-CFLAGS = -g -O2
-CFLAGS_FOR_BUILD = -g -O2
-CODE_COVERAGE_CFLAGS =
-CODE_COVERAGE_CPPFLAGS =
-CODE_COVERAGE_CXXFLAGS =
-CODE_COVERAGE_ENABLED = no
-CODE_COVERAGE_LDFLAGS =
-COPYRIGHT_YEAR = 2017
-CPP = gcc -E
-CPPFLAGS =
-CPPFLAGS_FOR_BUILD =
-CPP_FOR_BUILD = gcc -E
-CYGPATH_W = echo
-DEB_CHANGELOGTIME = Thu, 25 May 2017 15:09:49 -0700
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = /bin/grep -E
-ENABLE_VALGRIND_drd = no
-ENABLE_VALGRIND_helgrind = no
-ENABLE_VALGRIND_memcheck = yes
-ENABLE_VALGRIND_sgcheck =
-EXEEXT =
-GCOV =
-GENHTML =
-GREP = /bin/grep
-INSTALL = /usr/bin/install -c
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
-LCOV =
-LDFLAGS =
-LDFLAGS_FOR_BUILD =
-LIBOBJS =
-LIBS =
-LTLIBOBJS =
-MAINT = #
-MAKEINFO = ${SHELL} /tmp/strace-4.17/missing makeinfo
-MIPS_ABI =
-MKDIR_P = /bin/mkdir -p
-OBJEXT = o
-PACKAGE = strace
-PACKAGE_BUGREPORT = strace-devel@lists.sourceforge.net
-PACKAGE_NAME = strace
-PACKAGE_STRING = strace 4.17
-PACKAGE_TARNAME = strace
-PACKAGE_URL = https://strace.io
-PACKAGE_VERSION = 4.17
-PATH_SEPARATOR = :
-PERL = /usr/bin/perl
-RANLIB = ranlib
-RPM_CHANGELOGTIME = Thu May 25 2017
-SED = /bin/sed
-SET_MAKE =
-SHELL = /bin/sh
-STRIP =
-VALGRIND = valgrind
-VALGRIND_ENABLED = yes
-VERSION = 4.17
-WARN_CFLAGS = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
-WARN_CFLAGS_FOR_BUILD = -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
-abs_builddir = /tmp/strace-4.17/tests
-abs_srcdir = /tmp/strace-4.17/tests
-abs_top_builddir = /tmp/strace-4.17
-abs_top_srcdir = /tmp/strace-4.17
-ac_ct_CC = gcc
-ac_ct_CC_FOR_BUILD = gcc
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = $${TAR-tar} chof - "$$tardir"
-am__untar = $${TAR-tar} xf -
-arch = x86_64
-arch_m32 = i386
-arch_mx32 = x32
-bindir = ${exec_prefix}/bin
-build = x86_64-pc-linux-gnu
-build_alias =
-build_cpu = x86_64
-build_os = linux-gnu
-build_vendor = pc
-builddir = .
-datadir = ${datarootdir}
-datarootdir = ${prefix}/share
-dl_LIBS = -ldl
-docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
-dvidir = ${docdir}
-exec_prefix = ${prefix}
-host = x86_64-pc-linux-gnu
-host_alias =
-host_cpu = x86_64
-host_os = linux-gnu
-host_vendor = pc
-htmldir = ${docdir}
-includedir = ${prefix}/include
-infodir = ${datarootdir}/info
-install_sh = ${SHELL} /tmp/strace-4.17/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-libunwind_CPPFLAGS =
-libunwind_LDFLAGS =
-libunwind_LIBS =
-localedir = ${datarootdir}/locale
-localstatedir = ${prefix}/var
-mandir = ${datarootdir}/man
-mkdir_p = $(MKDIR_P)
-oldincludedir = /usr/include
-pdfdir = ${docdir}
-prefix = /usr/local
-program_transform_name = s,x,x,
-psdir = ${docdir}
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-srcdir = .
-sysconfdir = ${prefix}/etc
-target_alias =
-top_build_prefix = ../
-top_builddir = ..
-top_srcdir = ..
-valgrind_enabled_tools = memcheck
-valgrind_tools = memcheck helgrind drd sgcheck
-OS = linux
-ARCH = x86_64
-MPERS_NAME =
-ARCH_MFLAGS =
-AM_CFLAGS = $(WARN_CFLAGS)
-AM_CPPFLAGS = $(ARCH_MFLAGS) \
- -I$(builddir) \
- -I$(top_builddir)/$(OS)/$(ARCH) \
- -I$(top_srcdir)/$(OS)/$(ARCH) \
- -I$(top_builddir)/$(OS) \
- -I$(top_srcdir)/$(OS) \
- -I$(top_builddir) \
- -I$(top_srcdir)
-
-AM_LDFLAGS = $(ARCH_MFLAGS)
-libtests_a_SOURCES = \
- errno2name.c \
- error_msg.c \
- fill_memory.c \
- get_page_size.c \
- get_sigset_size.c \
- hexdump_strdup.c \
- hexquote_strndup.c \
- inode_of_sockfd.c \
- libmmsg.c \
- libsocketcall.c \
- overflowuid.c \
- pipe_maxfd.c \
- print_quoted_string.c \
- print_time.c \
- printflags.c \
- printxval.c \
- signal2name.c \
- skip_unavailable.c \
- sprintrc.c \
- tail_alloc.c \
- tests.h \
- tprintf.c \
- # end of libtests_a_SOURCES
-
-libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-check_LIBRARIES = libtests.a
-LDADD = libtests.a
-
-# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
-PURE_EXECUTABLES = \
- _newselect \
- accept \
- accept4 \
- access \
- acct \
- add_key \
- adjtimex \
- aio \
- alarm \
- bpf \
- brk \
- btrfs \
- caps \
- chmod \
- chown \
- chown32 \
- chroot \
- clock_adjtime \
- clock_nanosleep \
- clock_xettime \
- copy_file_range \
- creat \
- delete_module \
- dup \
- dup2 \
- dup3 \
- epoll_create \
- epoll_create1 \
- epoll_ctl \
- epoll_pwait \
- epoll_wait \
- erestartsys \
- eventfd \
- execve \
- execveat \
- faccessat \
- fadvise64 \
- fadvise64_64 \
- fallocate \
- fanotify_init \
- fanotify_mark \
- fchdir \
- fchmod \
- fchmodat \
- fchown \
- fchown32 \
- fchownat \
- fcntl \
- fcntl64 \
- fdatasync \
- file_handle \
- file_ioctl \
- finit_module \
- flock \
- fstat \
- fstat64 \
- fstatat64 \
- fstatfs \
- fstatfs64 \
- fsync \
- ftruncate \
- ftruncate64 \
- futex \
- futimesat \
- get_mempolicy \
- getcpu \
- getcwd \
- getdents \
- getdents64 \
- getegid \
- getegid32 \
- geteuid \
- geteuid32 \
- getgid \
- getgid32 \
- getgroups \
- getgroups32 \
- getpeername \
- getpgrp \
- getpid \
- getppid \
- getrandom \
- getresgid \
- getresgid32 \
- getresuid \
- getresuid32 \
- getrlimit \
- getrusage \
- getsid \
- getsockname \
- getuid \
- getuid32 \
- getxxid \
- inet-cmsg \
- init_module \
- inotify \
- inotify_init1 \
- ioctl \
- ioctl_block \
- ioctl_dm \
- ioctl_evdev \
- ioctl_loop \
- ioctl_mtd \
- ioctl_rtc \
- ioctl_scsi \
- ioctl_sg_io_v3 \
- ioctl_sg_io_v4 \
- ioctl_sock_gifconf \
- ioctl_uffdio \
- ioctl_v4l2 \
- ioperm \
- iopl \
- ioprio \
- ip_mreq \
- ipc \
- ipc_msg \
- ipc_msgbuf \
- ipc_sem \
- ipc_shm \
- kcmp \
- kexec_file_load \
- kexec_load \
- keyctl \
- kill \
- lchown \
- lchown32 \
- link \
- linkat \
- llseek \
- lookup_dcookie \
- lseek \
- lstat \
- lstat64 \
- madvise \
- mbind \
- membarrier \
- memfd_create \
- migrate_pages \
- mincore \
- mkdir \
- mkdirat \
- mknod \
- mknodat \
- mlock \
- mlock2 \
- mlockall \
- mmap \
- mmap64 \
- mmsg \
- mmsg_name \
- mount \
- move_pages \
- mq \
- mq_sendrecv \
- mq_sendrecv-read \
- mq_sendrecv-write \
- msg_control \
- msg_name \
- munlockall \
- nanosleep \
- net-icmp_filter \
- net-sockaddr \
- net-y-unix \
- net-yy-inet \
- net-yy-netlink \
- net-yy-unix \
- netlink_protocol \
- newfstatat \
- old_mmap \
- oldfstat \
- oldlstat \
- oldselect \
- oldstat \
- open \
- openat \
- osf_utimes \
- pause \
- perf_event_open \
- personality \
- pipe \
- pipe2 \
- pkey_alloc \
- pkey_free \
- pkey_mprotect \
- poll \
- ppoll \
- prctl-arg2-intptr \
- prctl-dumpable \
- prctl-name \
- prctl-no-args \
- prctl-pdeathsig \
- prctl-securebits \
- prctl-tid_address \
- prctl-tsc \
- pread64-pwrite64 \
- preadv \
- preadv-pwritev \
- preadv2-pwritev2 \
- printstr \
- prlimit64 \
- process_vm_readv \
- process_vm_writev \
- pselect6 \
- ptrace \
- pwritev \
- quotactl \
- quotactl-xfs \
- read-write \
- readahead \
- readdir \
- readlink \
- readlinkat \
- readv \
- reboot \
- recvfrom \
- recvmmsg-timeout \
- recvmsg \
- remap_file_pages \
- rename \
- renameat \
- renameat2 \
- request_key \
- rmdir \
- rt_sigpending \
- rt_sigprocmask \
- rt_sigqueueinfo \
- rt_sigreturn \
- rt_sigsuspend \
- rt_sigtimedwait \
- rt_tgsigqueueinfo \
- sched_get_priority_mxx \
- sched_rr_get_interval \
- sched_xetaffinity \
- sched_xetattr \
- sched_xetparam \
- sched_xetscheduler \
- sched_yield \
- seccomp-filter \
- select \
- semop \
- sendfile \
- sendfile64 \
- set_mempolicy \
- setdomainname \
- setfsgid \
- setfsgid32 \
- setfsuid \
- setfsuid32 \
- setgid \
- setgid32 \
- setgroups \
- setgroups32 \
- sethostname \
- setns \
- setregid \
- setregid32 \
- setresgid \
- setresgid32 \
- setresuid \
- setresuid32 \
- setreuid \
- setreuid32 \
- setrlimit \
- setuid \
- setuid32 \
- shmxt \
- shutdown \
- sigaction \
- sigaltstack \
- siginfo \
- signalfd4 \
- sigreturn \
- sigsuspend \
- socketcall \
- splice \
- stat \
- stat64 \
- statfs \
- statfs64 \
- statx \
- swap \
- sxetmask \
- symlink \
- symlinkat \
- sync \
- sync_file_range \
- sync_file_range2 \
- sysinfo \
- syslog \
- tee \
- time \
- timer_create \
- timer_xettime \
- timerfd_xettime \
- times \
- times-fail \
- truncate \
- truncate64 \
- ugetrlimit \
- uio \
- umask \
- umount \
- umount2 \
- umoven-illptr \
- umovestr \
- umovestr-illptr \
- umovestr2 \
- umovestr3 \
- uname \
- unlink \
- unlinkat \
- unshare \
- userfaultfd \
- ustat \
- utime \
- utimensat \
- utimes \
- vhangup \
- vmsplice \
- wait4 \
- waitid \
- waitpid \
- xattr \
- xattr-strings \
- xet_robust_list \
- xetitimer \
- xetpgid \
- xetpriority \
- xettimeofday \
- #
-
-attach_f_p_LDADD = -lrt -lpthread $(LDADD)
-clock_xettime_LDADD = -lrt $(LDADD)
-count_f_LDADD = -lpthread $(LDADD)
-filter_unavailable_LDADD = -lpthread $(LDADD)
-fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-mq_LDADD = -lrt $(LDADD)
-mq_sendrecv_LDADD = -lrt $(LDADD)
-mq_sendrecv_read_LDADD = -lrt $(LDADD)
-mq_sendrecv_write_LDADD = -lrt $(LDADD)
-newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-pc_LDADD = $(dl_LIBS) $(LDADD)
-pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-threads_execve_LDADD = -lrt -lpthread $(LDADD)
-times_LDADD = -lrt $(LDADD)
-truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-stack_fcall_SOURCES = stack-fcall.c \
- stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
-
-
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
-GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
- access.gen.test acct.gen.test add_key.gen.test \
- adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test \
- btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
- chroot.gen.test clock.gen.test clock_adjtime.gen.test \
- clock_nanosleep.gen.test clock_xettime.gen.test \
- copy_file_range.gen.test creat.gen.test delete_module.gen.test \
- dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test \
- epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test \
- epoll_wait.gen.test erestartsys.gen.test execveat.gen.test \
- execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test \
- fallocate.gen.test fanotify_init.gen.test \
- fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test \
- fchmodat.gen.test fchown.gen.test fchown32.gen.test \
- fchownat.gen.test fcntl.gen.test fcntl64.gen.test \
- fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
- finit_module.gen.test flock.gen.test fork-f.gen.test \
- fstat.gen.test fstat64.gen.test fstatat64.gen.test \
- fstatfs.gen.test fstatfs64.gen.test fsync.gen.test \
- ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test \
- get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test \
- getdents.gen.test getdents64.gen.test getegid.gen.test \
- getegid32.gen.test geteuid.gen.test geteuid32.gen.test \
- getgid.gen.test getgid32.gen.test getgroups.gen.test \
- getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
- getpid.gen.test getppid.gen.test getrandom.gen.test \
- getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
- getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
- getsid.gen.test getsockname.gen.test gettid.gen.test \
- getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test \
- init_module.gen.test inotify.gen.test inotify_init1.gen.test \
- int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test \
- ioctl_evdev-v.gen.test ioctl_loop.gen.test \
- ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test \
- ioctl_rtc-v.gen.test ioctl_scsi.gen.test \
- ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test \
- ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test \
- iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test \
- ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test \
- kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test \
- keyctl.gen.test kill.gen.test lchown.gen.test \
- lchown32.gen.test link.gen.test linkat.gen.test \
- lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
- madvise.gen.test mbind.gen.test membarrier.gen.test \
- memfd_create.gen.test migrate_pages.gen.test mincore.gen.test \
- mkdir.gen.test mkdirat.gen.test mknod.gen.test \
- mknodat.gen.test mlock.gen.test mlock2.gen.test \
- mlockall.gen.test mmap64.gen.test mmsg.gen.test \
- mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
- mount.gen.test move_pages.gen.test mq.gen.test \
- mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
- mq_sendrecv-write.gen.test msg_control.gen.test \
- msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
- nanosleep.gen.test net-icmp_filter.gen.test \
- net-sockaddr.gen.test netlink_protocol.gen.test \
- newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
- oldlstat.gen.test oldstat.gen.test open.gen.test \
- openat.gen.test osf_utimes.gen.test pause.gen.test \
- perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
- perf_event_open_unabbrev.gen.test pipe2.gen.test \
- pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
- ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
- preadv.gen.test preadv-pwritev.gen.test \
- preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test \
- process_vm_readv.gen.test process_vm_writev.gen.test \
- pselect6.gen.test ptrace.gen.test pwritev.gen.test \
- quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test \
- quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test \
- readdir.gen.test readlink.gen.test readlinkat.gen.test \
- reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test \
- recvmsg.gen.test regex.gen.test remap_file_pages.gen.test \
- rename.gen.test renameat.gen.test renameat2.gen.test \
- request_key.gen.test rmdir.gen.test rt_sigpending.gen.test \
- rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test \
- rt_sigreturn.gen.test rt_sigsuspend.gen.test \
- rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
- sched.gen.test sched_get_priority_mxx.gen.test \
- sched_rr_get_interval.gen.test sched_xetaffinity.gen.test \
- sched_xetattr.gen.test sched_xetparam.gen.test \
- sched_xetscheduler.gen.test sched_yield.gen.test \
- seccomp-filter.gen.test seccomp-filter-v.gen.test \
- select.gen.test semop.gen.test sendfile.gen.test \
- sendfile64.gen.test set_mempolicy.gen.test \
- setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test \
- setfsuid.gen.test setfsuid32.gen.test setgid.gen.test \
- setgid32.gen.test setgroups.gen.test setgroups32.gen.test \
- sethostname.gen.test setns.gen.test setregid.gen.test \
- setregid32.gen.test setresgid.gen.test setresgid32.gen.test \
- setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
- setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
- setuid32.gen.test shmxt.gen.test shutdown.gen.test \
- siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
- sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
- statfs64.gen.test statx.gen.test swap.gen.test \
- sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
- sync.gen.test sync_file_range.gen.test \
- sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
- tee.gen.test time.gen.test timer_create.gen.test \
- timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
- times-fail.gen.test trace_fstat.gen.test \
- trace_fstatfs.gen.test trace_lstat.gen.test \
- trace_question.gen.test trace_stat.gen.test \
- trace_stat_like.gen.test trace_statfs.gen.test \
- trace_statfs_like.gen.test truncate.gen.test \
- truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
- umoven-illptr.gen.test umovestr-illptr.gen.test \
- umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
- unshare.gen.test userfaultfd.gen.test ustat.gen.test \
- utime.gen.test utimensat.gen.test utimes.gen.test \
- vfork-f.gen.test vhangup.gen.test vmsplice.gen.test \
- wait4.gen.test wait4-v.gen.test waitid.gen.test \
- waitid-v.gen.test waitpid.gen.test xattr.gen.test \
- xattr-strings.gen.test xet_robust_list.gen.test \
- xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
- xettimeofday.gen.test
-LIBUNWIND_TESTS =
-#LIBUNWIND_TESTS = strace-k.test
-DECODER_TESTS = \
- brk.test \
- btrfs-v.test \
- btrfs-vw.test \
- btrfs-w.test \
- caps-abbrev.test \
- caps.test \
- eventfd.test \
- execve-v.test \
- execve.test \
- fadvise64.test \
- futex.test \
- getuid.test \
- ioctl.test \
- ioctl_dm-v.test \
- ioctl_dm.test \
- ioctl_loop-nv.test \
- ioctl_nsfs.test \
- ioctl_sock_gifconf.test \
- ipc_msgbuf.test \
- llseek.test \
- lseek.test \
- mmap.test \
- net-y-unix.test \
- net-yy-inet.test \
- net-yy-netlink.test \
- net-yy-unix.test \
- net.test \
- nsyscalls.test \
- oldselect.test \
- personality.test \
- pipe.test \
- poll.test \
- prctl-arg2-intptr.test \
- prctl-dumpable.test \
- prctl-name.test \
- prctl-no-args.test \
- prctl-pdeathsig.test \
- prctl-seccomp-filter-v.test \
- prctl-seccomp-strict.test \
- prctl-securebits.test \
- prctl-tid_address.test \
- prctl-tsc.test \
- qual_fault-exit_group.test \
- readv.test \
- scm_rights-fd.test \
- seccomp-strict.test \
- sigaction.test \
- sigaltstack.test \
- sun_path.test \
- uio.test \
- umount.test \
- umount2.test \
- umovestr.test \
- umovestr2.test \
- uname.test \
- unix-pair-send-recv.test \
- unix-pair-sendto-recvfrom.test \
- # end of DECODER_TESTS
-
-MISC_TESTS = \
- attach-f-p.test \
- attach-p-cmd.test \
- bexecve.test \
- count-f.test \
- count.test \
- detach-running.test \
- detach-sleeping.test \
- detach-stopped.test \
- filter-unavailable.test \
- get_regs.test \
- ksysent.test \
- opipe.test \
- options-syntax.test \
- pc.test \
- qual_fault-syntax.test \
- qual_fault.test \
- qual_inject-error-signal.test \
- qual_inject-retval.test \
- qual_inject-signal.test \
- qual_inject-syntax.test \
- qual_signal.test \
- qual_syscall.test \
- redirect-fds.test \
- redirect.test \
- restart_syscall.test \
- strace-C.test \
- strace-E.test \
- strace-S.test \
- strace-T.test \
- strace-V.test \
- strace-ff.test \
- strace-r.test \
- strace-t.test \
- strace-tt.test \
- strace-ttt.test \
- threads-execve.test \
- # end of MISC_TESTS
-
-XFAIL_TESTS_ =
-XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
-XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
-XFAIL_TESTS_x86_64 = int_0x80.gen.test
-XFAIL_TESTS_x32 = int_0x80.gen.test
-XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
-TEST_LOG_COMPILER = env
-AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
-VALGRIND_FLAGS = --quiet
-VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
-EXTRA_DIST = \
- caps-abbrev.awk \
- caps.awk \
- clock.in \
- count-f.expected \
- eventfd.expected \
- fadvise.h \
- filter-unavailable.expected \
- fstatat.c \
- fstatx.c \
- gen_pure_executables.sh \
- gen_tests.in \
- gen_tests.sh \
- getresugid.c \
- init.sh \
- init_delete_module.h \
- ioctl-v.sh \
- ipc.sh \
- ipc_msgbuf.expected \
- ksysent.sed \
- lstatx.c \
- match.awk \
- net.expected \
- oldselect.expected \
- pipe.expected \
- process_vm_readv_writev.c \
- pure_executables.list \
- qual_fault-exit_group.expected \
- qual_inject-error-signal.expected \
- qual_inject-signal.expected \
- quotactl.h \
- regex.in \
- run.sh \
- sched.in \
- scno_tampering.sh \
- setfsugid.c \
- setresugid.c \
- setreugid.c \
- setugid.c \
- sigaction.awk \
- sigaltstack.expected \
- sockname.c \
- strace-C.expected \
- strace-E.expected \
- strace-T.expected \
- strace-ff.expected \
- strace-k.test \
- strace-r.expected \
- strace.supp \
- struct_flock.c \
- sun_path.expected \
- trace_fstat.in \
- trace_fstatfs.in \
- trace_lstat.in \
- trace_question.in \
- trace_stat.in \
- trace_stat_like.in \
- trace_statfs.in \
- trace_statfs_like.in \
- uio.expected \
- umode_t.c \
- umovestr.expected \
- unix-pair-send-recv.expected \
- unix-pair-sendto-recvfrom.expected \
- xchownx.c \
- xgetrlimit.c \
- xselect.c \
- xstatfs.c \
- xstatfs64.c \
- xstatfsx.c \
- xstatx.c \
- xutimes.c \
- $(TESTS)
-
-objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
-CLEANFILES = ksysent.h syscallent.i scno.h
-SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
-
-digits = [[:digit:]][[:digit:]]*
-al_nums = [[:alnum:]_][[:alnum:]_]*
-SCNO_SED = /TRACE_INDIRECT_SUBCALL/d; s/^\[[[:space:]]*\($(digits)\)\][[:space:]]*=[[:space:]]*{[^,]*,[^,]*,[^,]*,[[:space:]]*"\($(al_nums)\)"[[:space:]]*},.*/\#ifndef __NR_\2\n\# define __NR_\2 (SYSCALL_BIT | \1)\n\#endif/p
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am:
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkLIBRARIES:
- -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-
-libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES)
- $(AM_V_at)-rm -f libtests.a
- $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
- $(AM_V_at)$(RANLIB) libtests.a
-
-clean-checkPROGRAMS:
- -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
-
-_newselect$(EXEEXT): $(_newselect_OBJECTS) $(_newselect_DEPENDENCIES) $(EXTRA__newselect_DEPENDENCIES)
- @rm -f _newselect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(_newselect_OBJECTS) $(_newselect_LDADD) $(LIBS)
-
-accept$(EXEEXT): $(accept_OBJECTS) $(accept_DEPENDENCIES) $(EXTRA_accept_DEPENDENCIES)
- @rm -f accept$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(accept_OBJECTS) $(accept_LDADD) $(LIBS)
-
-accept4$(EXEEXT): $(accept4_OBJECTS) $(accept4_DEPENDENCIES) $(EXTRA_accept4_DEPENDENCIES)
- @rm -f accept4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(accept4_OBJECTS) $(accept4_LDADD) $(LIBS)
-
-access$(EXEEXT): $(access_OBJECTS) $(access_DEPENDENCIES) $(EXTRA_access_DEPENDENCIES)
- @rm -f access$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
-
-acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES)
- @rm -f acct$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
-
-add_key$(EXEEXT): $(add_key_OBJECTS) $(add_key_DEPENDENCIES) $(EXTRA_add_key_DEPENDENCIES)
- @rm -f add_key$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(add_key_OBJECTS) $(add_key_LDADD) $(LIBS)
-
-adjtimex$(EXEEXT): $(adjtimex_OBJECTS) $(adjtimex_DEPENDENCIES) $(EXTRA_adjtimex_DEPENDENCIES)
- @rm -f adjtimex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(adjtimex_OBJECTS) $(adjtimex_LDADD) $(LIBS)
-
-aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES)
- @rm -f aio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS)
-
-alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES)
- @rm -f alarm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS)
-
-answer$(EXEEXT): $(answer_OBJECTS) $(answer_DEPENDENCIES) $(EXTRA_answer_DEPENDENCIES)
- @rm -f answer$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(answer_OBJECTS) $(answer_LDADD) $(LIBS)
-
-attach-f-p$(EXEEXT): $(attach_f_p_OBJECTS) $(attach_f_p_DEPENDENCIES) $(EXTRA_attach_f_p_DEPENDENCIES)
- @rm -f attach-f-p$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_f_p_OBJECTS) $(attach_f_p_LDADD) $(LIBS)
-
-attach-f-p-cmd$(EXEEXT): $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_DEPENDENCIES) $(EXTRA_attach_f_p_cmd_DEPENDENCIES)
- @rm -f attach-f-p-cmd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_LDADD) $(LIBS)
-
-attach-p-cmd-cmd$(EXEEXT): $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_DEPENDENCIES) $(EXTRA_attach_p_cmd_cmd_DEPENDENCIES)
- @rm -f attach-p-cmd-cmd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_LDADD) $(LIBS)
-
-attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES) $(EXTRA_attach_p_cmd_p_DEPENDENCIES)
- @rm -f attach-p-cmd-p$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
-
-bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES)
- @rm -f bpf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
-
-brk$(EXEEXT): $(brk_OBJECTS) $(brk_DEPENDENCIES) $(EXTRA_brk_DEPENDENCIES)
- @rm -f brk$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(brk_OBJECTS) $(brk_LDADD) $(LIBS)
-
-btrfs$(EXEEXT): $(btrfs_OBJECTS) $(btrfs_DEPENDENCIES) $(EXTRA_btrfs_DEPENDENCIES)
- @rm -f btrfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(btrfs_OBJECTS) $(btrfs_LDADD) $(LIBS)
-
-caps$(EXEEXT): $(caps_OBJECTS) $(caps_DEPENDENCIES) $(EXTRA_caps_DEPENDENCIES)
- @rm -f caps$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(caps_OBJECTS) $(caps_LDADD) $(LIBS)
-
-caps-abbrev$(EXEEXT): $(caps_abbrev_OBJECTS) $(caps_abbrev_DEPENDENCIES) $(EXTRA_caps_abbrev_DEPENDENCIES)
- @rm -f caps-abbrev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(caps_abbrev_OBJECTS) $(caps_abbrev_LDADD) $(LIBS)
-
-chmod$(EXEEXT): $(chmod_OBJECTS) $(chmod_DEPENDENCIES) $(EXTRA_chmod_DEPENDENCIES)
- @rm -f chmod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
-
-chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES)
- @rm -f chown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
-
-chown32$(EXEEXT): $(chown32_OBJECTS) $(chown32_DEPENDENCIES) $(EXTRA_chown32_DEPENDENCIES)
- @rm -f chown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chown32_OBJECTS) $(chown32_LDADD) $(LIBS)
-
-chroot$(EXEEXT): $(chroot_OBJECTS) $(chroot_DEPENDENCIES) $(EXTRA_chroot_DEPENDENCIES)
- @rm -f chroot$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(chroot_OBJECTS) $(chroot_LDADD) $(LIBS)
-
-clock_adjtime$(EXEEXT): $(clock_adjtime_OBJECTS) $(clock_adjtime_DEPENDENCIES) $(EXTRA_clock_adjtime_DEPENDENCIES)
- @rm -f clock_adjtime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_adjtime_OBJECTS) $(clock_adjtime_LDADD) $(LIBS)
-
-clock_nanosleep$(EXEEXT): $(clock_nanosleep_OBJECTS) $(clock_nanosleep_DEPENDENCIES) $(EXTRA_clock_nanosleep_DEPENDENCIES)
- @rm -f clock_nanosleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_nanosleep_OBJECTS) $(clock_nanosleep_LDADD) $(LIBS)
-
-clock_xettime$(EXEEXT): $(clock_xettime_OBJECTS) $(clock_xettime_DEPENDENCIES) $(EXTRA_clock_xettime_DEPENDENCIES)
- @rm -f clock_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(clock_xettime_OBJECTS) $(clock_xettime_LDADD) $(LIBS)
-
-copy_file_range$(EXEEXT): $(copy_file_range_OBJECTS) $(copy_file_range_DEPENDENCIES) $(EXTRA_copy_file_range_DEPENDENCIES)
- @rm -f copy_file_range$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(copy_file_range_OBJECTS) $(copy_file_range_LDADD) $(LIBS)
-
-count-f$(EXEEXT): $(count_f_OBJECTS) $(count_f_DEPENDENCIES) $(EXTRA_count_f_DEPENDENCIES)
- @rm -f count-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(count_f_OBJECTS) $(count_f_LDADD) $(LIBS)
-
-creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIES)
- @rm -f creat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
-
-delete_module$(EXEEXT): $(delete_module_OBJECTS) $(delete_module_DEPENDENCIES) $(EXTRA_delete_module_DEPENDENCIES)
- @rm -f delete_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(delete_module_OBJECTS) $(delete_module_LDADD) $(LIBS)
-
-dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES)
- @rm -f dup$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
-
-dup2$(EXEEXT): $(dup2_OBJECTS) $(dup2_DEPENDENCIES) $(EXTRA_dup2_DEPENDENCIES)
- @rm -f dup2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup2_OBJECTS) $(dup2_LDADD) $(LIBS)
-
-dup3$(EXEEXT): $(dup3_OBJECTS) $(dup3_DEPENDENCIES) $(EXTRA_dup3_DEPENDENCIES)
- @rm -f dup3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(dup3_OBJECTS) $(dup3_LDADD) $(LIBS)
-
-epoll_create$(EXEEXT): $(epoll_create_OBJECTS) $(epoll_create_DEPENDENCIES) $(EXTRA_epoll_create_DEPENDENCIES)
- @rm -f epoll_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_create_OBJECTS) $(epoll_create_LDADD) $(LIBS)
-
-epoll_create1$(EXEEXT): $(epoll_create1_OBJECTS) $(epoll_create1_DEPENDENCIES) $(EXTRA_epoll_create1_DEPENDENCIES)
- @rm -f epoll_create1$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_create1_OBJECTS) $(epoll_create1_LDADD) $(LIBS)
-
-epoll_ctl$(EXEEXT): $(epoll_ctl_OBJECTS) $(epoll_ctl_DEPENDENCIES) $(EXTRA_epoll_ctl_DEPENDENCIES)
- @rm -f epoll_ctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_ctl_OBJECTS) $(epoll_ctl_LDADD) $(LIBS)
-
-epoll_pwait$(EXEEXT): $(epoll_pwait_OBJECTS) $(epoll_pwait_DEPENDENCIES) $(EXTRA_epoll_pwait_DEPENDENCIES)
- @rm -f epoll_pwait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_pwait_OBJECTS) $(epoll_pwait_LDADD) $(LIBS)
-
-epoll_wait$(EXEEXT): $(epoll_wait_OBJECTS) $(epoll_wait_DEPENDENCIES) $(EXTRA_epoll_wait_DEPENDENCIES)
- @rm -f epoll_wait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(epoll_wait_OBJECTS) $(epoll_wait_LDADD) $(LIBS)
-
-erestartsys$(EXEEXT): $(erestartsys_OBJECTS) $(erestartsys_DEPENDENCIES) $(EXTRA_erestartsys_DEPENDENCIES)
- @rm -f erestartsys$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(erestartsys_OBJECTS) $(erestartsys_LDADD) $(LIBS)
-
-eventfd$(EXEEXT): $(eventfd_OBJECTS) $(eventfd_DEPENDENCIES) $(EXTRA_eventfd_DEPENDENCIES)
- @rm -f eventfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(eventfd_OBJECTS) $(eventfd_LDADD) $(LIBS)
-
-execve$(EXEEXT): $(execve_OBJECTS) $(execve_DEPENDENCIES) $(EXTRA_execve_DEPENDENCIES)
- @rm -f execve$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
-
-execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES)
- @rm -f execve-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
-
-execveat$(EXEEXT): $(execveat_OBJECTS) $(execveat_DEPENDENCIES) $(EXTRA_execveat_DEPENDENCIES)
- @rm -f execveat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
-
-execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES)
- @rm -f execveat-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
-
-faccessat$(EXEEXT): $(faccessat_OBJECTS) $(faccessat_DEPENDENCIES) $(EXTRA_faccessat_DEPENDENCIES)
- @rm -f faccessat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
-
-fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES)
- @rm -f fadvise64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
-
-fadvise64_64$(EXEEXT): $(fadvise64_64_OBJECTS) $(fadvise64_64_DEPENDENCIES) $(EXTRA_fadvise64_64_DEPENDENCIES)
- @rm -f fadvise64_64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fadvise64_64_OBJECTS) $(fadvise64_64_LDADD) $(LIBS)
-
-fallocate$(EXEEXT): $(fallocate_OBJECTS) $(fallocate_DEPENDENCIES) $(EXTRA_fallocate_DEPENDENCIES)
- @rm -f fallocate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fallocate_OBJECTS) $(fallocate_LDADD) $(LIBS)
-
-fanotify_init$(EXEEXT): $(fanotify_init_OBJECTS) $(fanotify_init_DEPENDENCIES) $(EXTRA_fanotify_init_DEPENDENCIES)
- @rm -f fanotify_init$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fanotify_init_OBJECTS) $(fanotify_init_LDADD) $(LIBS)
-
-fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $(EXTRA_fanotify_mark_DEPENDENCIES)
- @rm -f fanotify_mark$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
-
-fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES)
- @rm -f fchdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS)
-
-fchmod$(EXEEXT): $(fchmod_OBJECTS) $(fchmod_DEPENDENCIES) $(EXTRA_fchmod_DEPENDENCIES)
- @rm -f fchmod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
-
-fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES)
- @rm -f fchmodat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
-
-fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES)
- @rm -f fchown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
-
-fchown32$(EXEEXT): $(fchown32_OBJECTS) $(fchown32_DEPENDENCIES) $(EXTRA_fchown32_DEPENDENCIES)
- @rm -f fchown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchown32_OBJECTS) $(fchown32_LDADD) $(LIBS)
-
-fchownat$(EXEEXT): $(fchownat_OBJECTS) $(fchownat_DEPENDENCIES) $(EXTRA_fchownat_DEPENDENCIES)
- @rm -f fchownat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
-
-fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES)
- @rm -f fcntl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
-
-fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES)
- @rm -f fcntl64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
-
-fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES)
- @rm -f fdatasync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
-
-file_handle$(EXEEXT): $(file_handle_OBJECTS) $(file_handle_DEPENDENCIES) $(EXTRA_file_handle_DEPENDENCIES)
- @rm -f file_handle$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
-
-file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES)
- @rm -f file_ioctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
-
-filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES)
- @rm -f filter-unavailable$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
-
-finit_module$(EXEEXT): $(finit_module_OBJECTS) $(finit_module_DEPENDENCIES) $(EXTRA_finit_module_DEPENDENCIES)
- @rm -f finit_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(finit_module_OBJECTS) $(finit_module_LDADD) $(LIBS)
-
-flock$(EXEEXT): $(flock_OBJECTS) $(flock_DEPENDENCIES) $(EXTRA_flock_DEPENDENCIES)
- @rm -f flock$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
-
-fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES)
- @rm -f fork-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
-
-fstat$(EXEEXT): $(fstat_OBJECTS) $(fstat_DEPENDENCIES) $(EXTRA_fstat_DEPENDENCIES)
- @rm -f fstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstat_OBJECTS) $(fstat_LDADD) $(LIBS)
-
-fstat64$(EXEEXT): $(fstat64_OBJECTS) $(fstat64_DEPENDENCIES) $(EXTRA_fstat64_DEPENDENCIES)
- @rm -f fstat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstat64_OBJECTS) $(fstat64_LDADD) $(LIBS)
-
-fstatat64$(EXEEXT): $(fstatat64_OBJECTS) $(fstatat64_DEPENDENCIES) $(EXTRA_fstatat64_DEPENDENCIES)
- @rm -f fstatat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatat64_OBJECTS) $(fstatat64_LDADD) $(LIBS)
-
-fstatfs$(EXEEXT): $(fstatfs_OBJECTS) $(fstatfs_DEPENDENCIES) $(EXTRA_fstatfs_DEPENDENCIES)
- @rm -f fstatfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatfs_OBJECTS) $(fstatfs_LDADD) $(LIBS)
-
-fstatfs64$(EXEEXT): $(fstatfs64_OBJECTS) $(fstatfs64_DEPENDENCIES) $(EXTRA_fstatfs64_DEPENDENCIES)
- @rm -f fstatfs64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fstatfs64_OBJECTS) $(fstatfs64_LDADD) $(LIBS)
-
-fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIES)
- @rm -f fsync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
-
-ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES)
- @rm -f ftruncate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
-
-ftruncate64$(EXEEXT): $(ftruncate64_OBJECTS) $(ftruncate64_DEPENDENCIES) $(EXTRA_ftruncate64_DEPENDENCIES)
- @rm -f ftruncate64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ftruncate64_OBJECTS) $(ftruncate64_LDADD) $(LIBS)
-
-futex$(EXEEXT): $(futex_OBJECTS) $(futex_DEPENDENCIES) $(EXTRA_futex_DEPENDENCIES)
- @rm -f futex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(futex_OBJECTS) $(futex_LDADD) $(LIBS)
-
-futimesat$(EXEEXT): $(futimesat_OBJECTS) $(futimesat_DEPENDENCIES) $(EXTRA_futimesat_DEPENDENCIES)
- @rm -f futimesat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(futimesat_OBJECTS) $(futimesat_LDADD) $(LIBS)
-
-get_mempolicy$(EXEEXT): $(get_mempolicy_OBJECTS) $(get_mempolicy_DEPENDENCIES) $(EXTRA_get_mempolicy_DEPENDENCIES)
- @rm -f get_mempolicy$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(get_mempolicy_OBJECTS) $(get_mempolicy_LDADD) $(LIBS)
-
-getcpu$(EXEEXT): $(getcpu_OBJECTS) $(getcpu_DEPENDENCIES) $(EXTRA_getcpu_DEPENDENCIES)
- @rm -f getcpu$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getcpu_OBJECTS) $(getcpu_LDADD) $(LIBS)
-
-getcwd$(EXEEXT): $(getcwd_OBJECTS) $(getcwd_DEPENDENCIES) $(EXTRA_getcwd_DEPENDENCIES)
- @rm -f getcwd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getcwd_OBJECTS) $(getcwd_LDADD) $(LIBS)
-
-getdents$(EXEEXT): $(getdents_OBJECTS) $(getdents_DEPENDENCIES) $(EXTRA_getdents_DEPENDENCIES)
- @rm -f getdents$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getdents_OBJECTS) $(getdents_LDADD) $(LIBS)
-
-getdents64$(EXEEXT): $(getdents64_OBJECTS) $(getdents64_DEPENDENCIES) $(EXTRA_getdents64_DEPENDENCIES)
- @rm -f getdents64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getdents64_OBJECTS) $(getdents64_LDADD) $(LIBS)
-
-getegid$(EXEEXT): $(getegid_OBJECTS) $(getegid_DEPENDENCIES) $(EXTRA_getegid_DEPENDENCIES)
- @rm -f getegid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getegid_OBJECTS) $(getegid_LDADD) $(LIBS)
-
-getegid32$(EXEEXT): $(getegid32_OBJECTS) $(getegid32_DEPENDENCIES) $(EXTRA_getegid32_DEPENDENCIES)
- @rm -f getegid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getegid32_OBJECTS) $(getegid32_LDADD) $(LIBS)
-
-geteuid$(EXEEXT): $(geteuid_OBJECTS) $(geteuid_DEPENDENCIES) $(EXTRA_geteuid_DEPENDENCIES)
- @rm -f geteuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(geteuid_OBJECTS) $(geteuid_LDADD) $(LIBS)
-
-geteuid32$(EXEEXT): $(geteuid32_OBJECTS) $(geteuid32_DEPENDENCIES) $(EXTRA_geteuid32_DEPENDENCIES)
- @rm -f geteuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(geteuid32_OBJECTS) $(geteuid32_LDADD) $(LIBS)
-
-getgid$(EXEEXT): $(getgid_OBJECTS) $(getgid_DEPENDENCIES) $(EXTRA_getgid_DEPENDENCIES)
- @rm -f getgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgid_OBJECTS) $(getgid_LDADD) $(LIBS)
-
-getgid32$(EXEEXT): $(getgid32_OBJECTS) $(getgid32_DEPENDENCIES) $(EXTRA_getgid32_DEPENDENCIES)
- @rm -f getgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgid32_OBJECTS) $(getgid32_LDADD) $(LIBS)
-
-getgroups$(EXEEXT): $(getgroups_OBJECTS) $(getgroups_DEPENDENCIES) $(EXTRA_getgroups_DEPENDENCIES)
- @rm -f getgroups$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgroups_OBJECTS) $(getgroups_LDADD) $(LIBS)
-
-getgroups32$(EXEEXT): $(getgroups32_OBJECTS) $(getgroups32_DEPENDENCIES) $(EXTRA_getgroups32_DEPENDENCIES)
- @rm -f getgroups32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getgroups32_OBJECTS) $(getgroups32_LDADD) $(LIBS)
-
-getpeername$(EXEEXT): $(getpeername_OBJECTS) $(getpeername_DEPENDENCIES) $(EXTRA_getpeername_DEPENDENCIES)
- @rm -f getpeername$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpeername_OBJECTS) $(getpeername_LDADD) $(LIBS)
-
-getpgrp$(EXEEXT): $(getpgrp_OBJECTS) $(getpgrp_DEPENDENCIES) $(EXTRA_getpgrp_DEPENDENCIES)
- @rm -f getpgrp$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
-
-getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES)
- @rm -f getpid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
-
-getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES)
- @rm -f getppid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
-
-getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES)
- @rm -f getrandom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
-
-getresgid$(EXEEXT): $(getresgid_OBJECTS) $(getresgid_DEPENDENCIES) $(EXTRA_getresgid_DEPENDENCIES)
- @rm -f getresgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresgid_OBJECTS) $(getresgid_LDADD) $(LIBS)
-
-getresgid32$(EXEEXT): $(getresgid32_OBJECTS) $(getresgid32_DEPENDENCIES) $(EXTRA_getresgid32_DEPENDENCIES)
- @rm -f getresgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresgid32_OBJECTS) $(getresgid32_LDADD) $(LIBS)
-
-getresuid$(EXEEXT): $(getresuid_OBJECTS) $(getresuid_DEPENDENCIES) $(EXTRA_getresuid_DEPENDENCIES)
- @rm -f getresuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresuid_OBJECTS) $(getresuid_LDADD) $(LIBS)
-
-getresuid32$(EXEEXT): $(getresuid32_OBJECTS) $(getresuid32_DEPENDENCIES) $(EXTRA_getresuid32_DEPENDENCIES)
- @rm -f getresuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getresuid32_OBJECTS) $(getresuid32_LDADD) $(LIBS)
-
-getrlimit$(EXEEXT): $(getrlimit_OBJECTS) $(getrlimit_DEPENDENCIES) $(EXTRA_getrlimit_DEPENDENCIES)
- @rm -f getrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrlimit_OBJECTS) $(getrlimit_LDADD) $(LIBS)
-
-getrusage$(EXEEXT): $(getrusage_OBJECTS) $(getrusage_DEPENDENCIES) $(EXTRA_getrusage_DEPENDENCIES)
- @rm -f getrusage$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getrusage_OBJECTS) $(getrusage_LDADD) $(LIBS)
-
-getsid$(EXEEXT): $(getsid_OBJECTS) $(getsid_DEPENDENCIES) $(EXTRA_getsid_DEPENDENCIES)
- @rm -f getsid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
-
-getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES)
- @rm -f getsockname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
-
-gettid$(EXEEXT): $(gettid_OBJECTS) $(gettid_DEPENDENCIES) $(EXTRA_gettid_DEPENDENCIES)
- @rm -f gettid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
-
-getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES)
- @rm -f getuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
-
-getuid32$(EXEEXT): $(getuid32_OBJECTS) $(getuid32_DEPENDENCIES) $(EXTRA_getuid32_DEPENDENCIES)
- @rm -f getuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getuid32_OBJECTS) $(getuid32_LDADD) $(LIBS)
-
-getxxid$(EXEEXT): $(getxxid_OBJECTS) $(getxxid_DEPENDENCIES) $(EXTRA_getxxid_DEPENDENCIES)
- @rm -f getxxid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(getxxid_OBJECTS) $(getxxid_LDADD) $(LIBS)
-
-inet-cmsg$(EXEEXT): $(inet_cmsg_OBJECTS) $(inet_cmsg_DEPENDENCIES) $(EXTRA_inet_cmsg_DEPENDENCIES)
- @rm -f inet-cmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inet_cmsg_OBJECTS) $(inet_cmsg_LDADD) $(LIBS)
-
-init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA_init_module_DEPENDENCIES)
- @rm -f init_module$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
-
-inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES)
- @rm -f inotify$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
-
-inotify_init1$(EXEEXT): $(inotify_init1_OBJECTS) $(inotify_init1_DEPENDENCIES) $(EXTRA_inotify_init1_DEPENDENCIES)
- @rm -f inotify_init1$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
-
-int_0x80$(EXEEXT): $(int_0x80_OBJECTS) $(int_0x80_DEPENDENCIES) $(EXTRA_int_0x80_DEPENDENCIES)
- @rm -f int_0x80$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(int_0x80_OBJECTS) $(int_0x80_LDADD) $(LIBS)
-
-ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES)
- @rm -f ioctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
-
-ioctl_block$(EXEEXT): $(ioctl_block_OBJECTS) $(ioctl_block_DEPENDENCIES) $(EXTRA_ioctl_block_DEPENDENCIES)
- @rm -f ioctl_block$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
-
-ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES)
- @rm -f ioctl_dm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
-
-ioctl_dm-v$(EXEEXT): $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_DEPENDENCIES) $(EXTRA_ioctl_dm_v_DEPENDENCIES)
- @rm -f ioctl_dm-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_LDADD) $(LIBS)
-
-ioctl_evdev$(EXEEXT): $(ioctl_evdev_OBJECTS) $(ioctl_evdev_DEPENDENCIES) $(EXTRA_ioctl_evdev_DEPENDENCIES)
- @rm -f ioctl_evdev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS)
-
-ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES)
- @rm -f ioctl_evdev-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS)
-
-ioctl_loop$(EXEEXT): $(ioctl_loop_OBJECTS) $(ioctl_loop_DEPENDENCIES) $(EXTRA_ioctl_loop_DEPENDENCIES)
- @rm -f ioctl_loop$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_OBJECTS) $(ioctl_loop_LDADD) $(LIBS)
-
-ioctl_loop-nv$(EXEEXT): $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_DEPENDENCIES) $(EXTRA_ioctl_loop_nv_DEPENDENCIES)
- @rm -f ioctl_loop-nv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_LDADD) $(LIBS)
-
-ioctl_loop-v$(EXEEXT): $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_DEPENDENCIES) $(EXTRA_ioctl_loop_v_DEPENDENCIES)
- @rm -f ioctl_loop-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_LDADD) $(LIBS)
-
-ioctl_mtd$(EXEEXT): $(ioctl_mtd_OBJECTS) $(ioctl_mtd_DEPENDENCIES) $(EXTRA_ioctl_mtd_DEPENDENCIES)
- @rm -f ioctl_mtd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
-
-ioctl_nsfs$(EXEEXT): $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_DEPENDENCIES) $(EXTRA_ioctl_nsfs_DEPENDENCIES)
- @rm -f ioctl_nsfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_nsfs_OBJECTS) $(ioctl_nsfs_LDADD) $(LIBS)
-
-ioctl_rtc$(EXEEXT): $(ioctl_rtc_OBJECTS) $(ioctl_rtc_DEPENDENCIES) $(EXTRA_ioctl_rtc_DEPENDENCIES)
- @rm -f ioctl_rtc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_rtc_OBJECTS) $(ioctl_rtc_LDADD) $(LIBS)
-
-ioctl_rtc-v$(EXEEXT): $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_DEPENDENCIES) $(EXTRA_ioctl_rtc_v_DEPENDENCIES)
- @rm -f ioctl_rtc-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_LDADD) $(LIBS)
-
-ioctl_scsi$(EXEEXT): $(ioctl_scsi_OBJECTS) $(ioctl_scsi_DEPENDENCIES) $(EXTRA_ioctl_scsi_DEPENDENCIES)
- @rm -f ioctl_scsi$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_scsi_OBJECTS) $(ioctl_scsi_LDADD) $(LIBS)
-
-ioctl_sg_io_v3$(EXEEXT): $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v3_DEPENDENCIES)
- @rm -f ioctl_sg_io_v3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_LDADD) $(LIBS)
-
-ioctl_sg_io_v4$(EXEEXT): $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v4_DEPENDENCIES)
- @rm -f ioctl_sg_io_v4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_LDADD) $(LIBS)
-
-ioctl_sock_gifconf$(EXEEXT): $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_DEPENDENCIES) $(EXTRA_ioctl_sock_gifconf_DEPENDENCIES)
- @rm -f ioctl_sock_gifconf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_LDADD) $(LIBS)
-
-ioctl_uffdio$(EXEEXT): $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_DEPENDENCIES) $(EXTRA_ioctl_uffdio_DEPENDENCIES)
- @rm -f ioctl_uffdio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_LDADD) $(LIBS)
-
-ioctl_v4l2$(EXEEXT): $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_DEPENDENCIES) $(EXTRA_ioctl_v4l2_DEPENDENCIES)
- @rm -f ioctl_v4l2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_LDADD) $(LIBS)
-
-ioperm$(EXEEXT): $(ioperm_OBJECTS) $(ioperm_DEPENDENCIES) $(EXTRA_ioperm_DEPENDENCIES)
- @rm -f ioperm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioperm_OBJECTS) $(ioperm_LDADD) $(LIBS)
-
-iopl$(EXEEXT): $(iopl_OBJECTS) $(iopl_DEPENDENCIES) $(EXTRA_iopl_DEPENDENCIES)
- @rm -f iopl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(iopl_OBJECTS) $(iopl_LDADD) $(LIBS)
-
-ioprio$(EXEEXT): $(ioprio_OBJECTS) $(ioprio_DEPENDENCIES) $(EXTRA_ioprio_DEPENDENCIES)
- @rm -f ioprio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
-
-ip_mreq$(EXEEXT): $(ip_mreq_OBJECTS) $(ip_mreq_DEPENDENCIES) $(EXTRA_ip_mreq_DEPENDENCIES)
- @rm -f ip_mreq$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ip_mreq_OBJECTS) $(ip_mreq_LDADD) $(LIBS)
-
-ipc$(EXEEXT): $(ipc_OBJECTS) $(ipc_DEPENDENCIES) $(EXTRA_ipc_DEPENDENCIES)
- @rm -f ipc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_OBJECTS) $(ipc_LDADD) $(LIBS)
-
-ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEPENDENCIES)
- @rm -f ipc_msg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS)
-
-ipc_msgbuf$(EXEEXT): $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_DEPENDENCIES) $(EXTRA_ipc_msgbuf_DEPENDENCIES)
- @rm -f ipc_msgbuf$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_LDADD) $(LIBS)
-
-ipc_sem$(EXEEXT): $(ipc_sem_OBJECTS) $(ipc_sem_DEPENDENCIES) $(EXTRA_ipc_sem_DEPENDENCIES)
- @rm -f ipc_sem$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_sem_OBJECTS) $(ipc_sem_LDADD) $(LIBS)
-
-ipc_shm$(EXEEXT): $(ipc_shm_OBJECTS) $(ipc_shm_DEPENDENCIES) $(EXTRA_ipc_shm_DEPENDENCIES)
- @rm -f ipc_shm$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ipc_shm_OBJECTS) $(ipc_shm_LDADD) $(LIBS)
-
-kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES)
- @rm -f kcmp$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
-
-kexec_file_load$(EXEEXT): $(kexec_file_load_OBJECTS) $(kexec_file_load_DEPENDENCIES) $(EXTRA_kexec_file_load_DEPENDENCIES)
- @rm -f kexec_file_load$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kexec_file_load_OBJECTS) $(kexec_file_load_LDADD) $(LIBS)
-
-kexec_load$(EXEEXT): $(kexec_load_OBJECTS) $(kexec_load_DEPENDENCIES) $(EXTRA_kexec_load_DEPENDENCIES)
- @rm -f kexec_load$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kexec_load_OBJECTS) $(kexec_load_LDADD) $(LIBS)
-
-keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDENCIES)
- @rm -f keyctl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS)
-
-kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES)
- @rm -f kill$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
-
-ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES)
- @rm -f ksysent$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS)
-
-lchown$(EXEEXT): $(lchown_OBJECTS) $(lchown_DEPENDENCIES) $(EXTRA_lchown_DEPENDENCIES)
- @rm -f lchown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lchown_OBJECTS) $(lchown_LDADD) $(LIBS)
-
-lchown32$(EXEEXT): $(lchown32_OBJECTS) $(lchown32_DEPENDENCIES) $(EXTRA_lchown32_DEPENDENCIES)
- @rm -f lchown32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lchown32_OBJECTS) $(lchown32_LDADD) $(LIBS)
-
-link$(EXEEXT): $(link_OBJECTS) $(link_DEPENDENCIES) $(EXTRA_link_DEPENDENCIES)
- @rm -f link$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(link_OBJECTS) $(link_LDADD) $(LIBS)
-
-linkat$(EXEEXT): $(linkat_OBJECTS) $(linkat_DEPENDENCIES) $(EXTRA_linkat_DEPENDENCIES)
- @rm -f linkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
-
-llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES)
- @rm -f llseek$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
-
-lookup_dcookie$(EXEEXT): $(lookup_dcookie_OBJECTS) $(lookup_dcookie_DEPENDENCIES) $(EXTRA_lookup_dcookie_DEPENDENCIES)
- @rm -f lookup_dcookie$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS)
-
-lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES)
- @rm -f lseek$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS)
-
-lstat$(EXEEXT): $(lstat_OBJECTS) $(lstat_DEPENDENCIES) $(EXTRA_lstat_DEPENDENCIES)
- @rm -f lstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lstat_OBJECTS) $(lstat_LDADD) $(LIBS)
-
-lstat64$(EXEEXT): $(lstat64_OBJECTS) $(lstat64_DEPENDENCIES) $(EXTRA_lstat64_DEPENDENCIES)
- @rm -f lstat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
-
-madvise$(EXEEXT): $(madvise_OBJECTS) $(madvise_DEPENDENCIES) $(EXTRA_madvise_DEPENDENCIES)
- @rm -f madvise$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(madvise_OBJECTS) $(madvise_LDADD) $(LIBS)
-
-mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES)
- @rm -f mbind$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
-
-membarrier$(EXEEXT): $(membarrier_OBJECTS) $(membarrier_DEPENDENCIES) $(EXTRA_membarrier_DEPENDENCIES)
- @rm -f membarrier$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(membarrier_OBJECTS) $(membarrier_LDADD) $(LIBS)
-
-memfd_create$(EXEEXT): $(memfd_create_OBJECTS) $(memfd_create_DEPENDENCIES) $(EXTRA_memfd_create_DEPENDENCIES)
- @rm -f memfd_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(memfd_create_OBJECTS) $(memfd_create_LDADD) $(LIBS)
-
-migrate_pages$(EXEEXT): $(migrate_pages_OBJECTS) $(migrate_pages_DEPENDENCIES) $(EXTRA_migrate_pages_DEPENDENCIES)
- @rm -f migrate_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
-
-mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES)
- @rm -f mincore$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
-
-mkdir$(EXEEXT): $(mkdir_OBJECTS) $(mkdir_DEPENDENCIES) $(EXTRA_mkdir_DEPENDENCIES)
- @rm -f mkdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mkdir_OBJECTS) $(mkdir_LDADD) $(LIBS)
-
-mkdirat$(EXEEXT): $(mkdirat_OBJECTS) $(mkdirat_DEPENDENCIES) $(EXTRA_mkdirat_DEPENDENCIES)
- @rm -f mkdirat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mkdirat_OBJECTS) $(mkdirat_LDADD) $(LIBS)
-
-mknod$(EXEEXT): $(mknod_OBJECTS) $(mknod_DEPENDENCIES) $(EXTRA_mknod_DEPENDENCIES)
- @rm -f mknod$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mknod_OBJECTS) $(mknod_LDADD) $(LIBS)
-
-mknodat$(EXEEXT): $(mknodat_OBJECTS) $(mknodat_DEPENDENCIES) $(EXTRA_mknodat_DEPENDENCIES)
- @rm -f mknodat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mknodat_OBJECTS) $(mknodat_LDADD) $(LIBS)
-
-mlock$(EXEEXT): $(mlock_OBJECTS) $(mlock_DEPENDENCIES) $(EXTRA_mlock_DEPENDENCIES)
- @rm -f mlock$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlock_OBJECTS) $(mlock_LDADD) $(LIBS)
-
-mlock2$(EXEEXT): $(mlock2_OBJECTS) $(mlock2_DEPENDENCIES) $(EXTRA_mlock2_DEPENDENCIES)
- @rm -f mlock2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlock2_OBJECTS) $(mlock2_LDADD) $(LIBS)
-
-mlockall$(EXEEXT): $(mlockall_OBJECTS) $(mlockall_DEPENDENCIES) $(EXTRA_mlockall_DEPENDENCIES)
- @rm -f mlockall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mlockall_OBJECTS) $(mlockall_LDADD) $(LIBS)
-
-mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES)
- @rm -f mmap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS)
-
-mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES)
- @rm -f mmap64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS)
-
-mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES)
- @rm -f mmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS)
-
-mmsg-silent$(EXEEXT): $(mmsg_silent_OBJECTS) $(mmsg_silent_DEPENDENCIES) $(EXTRA_mmsg_silent_DEPENDENCIES)
- @rm -f mmsg-silent$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_silent_OBJECTS) $(mmsg_silent_LDADD) $(LIBS)
-
-mmsg_name$(EXEEXT): $(mmsg_name_OBJECTS) $(mmsg_name_DEPENDENCIES) $(EXTRA_mmsg_name_DEPENDENCIES)
- @rm -f mmsg_name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_name_OBJECTS) $(mmsg_name_LDADD) $(LIBS)
-
-mmsg_name-v$(EXEEXT): $(mmsg_name_v_OBJECTS) $(mmsg_name_v_DEPENDENCIES) $(EXTRA_mmsg_name_v_DEPENDENCIES)
- @rm -f mmsg_name-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mmsg_name_v_OBJECTS) $(mmsg_name_v_LDADD) $(LIBS)
-
-mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIES)
- @rm -f mount$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
-
-move_pages$(EXEEXT): $(move_pages_OBJECTS) $(move_pages_DEPENDENCIES) $(EXTRA_move_pages_DEPENDENCIES)
- @rm -f move_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
-
-mq$(EXEEXT): $(mq_OBJECTS) $(mq_DEPENDENCIES) $(EXTRA_mq_DEPENDENCIES)
- @rm -f mq$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_OBJECTS) $(mq_LDADD) $(LIBS)
-
-mq_sendrecv$(EXEEXT): $(mq_sendrecv_OBJECTS) $(mq_sendrecv_DEPENDENCIES) $(EXTRA_mq_sendrecv_DEPENDENCIES)
- @rm -f mq_sendrecv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_OBJECTS) $(mq_sendrecv_LDADD) $(LIBS)
-
-mq_sendrecv-read$(EXEEXT): $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_DEPENDENCIES) $(EXTRA_mq_sendrecv_read_DEPENDENCIES)
- @rm -f mq_sendrecv-read$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_LDADD) $(LIBS)
-
-mq_sendrecv-write$(EXEEXT): $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_DEPENDENCIES) $(EXTRA_mq_sendrecv_write_DEPENDENCIES)
- @rm -f mq_sendrecv-write$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_LDADD) $(LIBS)
-
-msg_control$(EXEEXT): $(msg_control_OBJECTS) $(msg_control_DEPENDENCIES) $(EXTRA_msg_control_DEPENDENCIES)
- @rm -f msg_control$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_control_OBJECTS) $(msg_control_LDADD) $(LIBS)
-
-msg_control-v$(EXEEXT): $(msg_control_v_OBJECTS) $(msg_control_v_DEPENDENCIES) $(EXTRA_msg_control_v_DEPENDENCIES)
- @rm -f msg_control-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_control_v_OBJECTS) $(msg_control_v_LDADD) $(LIBS)
-
-msg_name$(EXEEXT): $(msg_name_OBJECTS) $(msg_name_DEPENDENCIES) $(EXTRA_msg_name_DEPENDENCIES)
- @rm -f msg_name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(msg_name_OBJECTS) $(msg_name_LDADD) $(LIBS)
-
-munlockall$(EXEEXT): $(munlockall_OBJECTS) $(munlockall_DEPENDENCIES) $(EXTRA_munlockall_DEPENDENCIES)
- @rm -f munlockall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(munlockall_OBJECTS) $(munlockall_LDADD) $(LIBS)
-
-nanosleep$(EXEEXT): $(nanosleep_OBJECTS) $(nanosleep_DEPENDENCIES) $(EXTRA_nanosleep_DEPENDENCIES)
- @rm -f nanosleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(nanosleep_OBJECTS) $(nanosleep_LDADD) $(LIBS)
-
-net-accept-connect$(EXEEXT): $(net_accept_connect_OBJECTS) $(net_accept_connect_DEPENDENCIES) $(EXTRA_net_accept_connect_DEPENDENCIES)
- @rm -f net-accept-connect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_accept_connect_OBJECTS) $(net_accept_connect_LDADD) $(LIBS)
-
-net-icmp_filter$(EXEEXT): $(net_icmp_filter_OBJECTS) $(net_icmp_filter_DEPENDENCIES) $(EXTRA_net_icmp_filter_DEPENDENCIES)
- @rm -f net-icmp_filter$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_icmp_filter_OBJECTS) $(net_icmp_filter_LDADD) $(LIBS)
-
-net-sockaddr$(EXEEXT): $(net_sockaddr_OBJECTS) $(net_sockaddr_DEPENDENCIES) $(EXTRA_net_sockaddr_DEPENDENCIES)
- @rm -f net-sockaddr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
-
-net-y-unix$(EXEEXT): $(net_y_unix_OBJECTS) $(net_y_unix_DEPENDENCIES) $(EXTRA_net_y_unix_DEPENDENCIES)
- @rm -f net-y-unix$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_y_unix_OBJECTS) $(net_y_unix_LDADD) $(LIBS)
-
-net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA_net_yy_inet_DEPENDENCIES)
- @rm -f net-yy-inet$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
-
-net-yy-netlink$(EXEEXT): $(net_yy_netlink_OBJECTS) $(net_yy_netlink_DEPENDENCIES) $(EXTRA_net_yy_netlink_DEPENDENCIES)
- @rm -f net-yy-netlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_netlink_OBJECTS) $(net_yy_netlink_LDADD) $(LIBS)
-
-net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA_net_yy_unix_DEPENDENCIES)
- @rm -f net-yy-unix$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
-
-netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES)
- @rm -f netlink_inet_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
-
-netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES)
- @rm -f netlink_netlink_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
-
-netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPENDENCIES) $(EXTRA_netlink_protocol_DEPENDENCIES)
- @rm -f netlink_protocol$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
-
-netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES)
- @rm -f netlink_unix_diag$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
-
-newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES)
- @rm -f newfstatat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
-
-nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES)
- @rm -f nsyscalls$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
-
-old_mmap$(EXEEXT): $(old_mmap_OBJECTS) $(old_mmap_DEPENDENCIES) $(EXTRA_old_mmap_DEPENDENCIES)
- @rm -f old_mmap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(old_mmap_OBJECTS) $(old_mmap_LDADD) $(LIBS)
-
-oldfstat$(EXEEXT): $(oldfstat_OBJECTS) $(oldfstat_DEPENDENCIES) $(EXTRA_oldfstat_DEPENDENCIES)
- @rm -f oldfstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldfstat_OBJECTS) $(oldfstat_LDADD) $(LIBS)
-
-oldlstat$(EXEEXT): $(oldlstat_OBJECTS) $(oldlstat_DEPENDENCIES) $(EXTRA_oldlstat_DEPENDENCIES)
- @rm -f oldlstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldlstat_OBJECTS) $(oldlstat_LDADD) $(LIBS)
-
-oldselect$(EXEEXT): $(oldselect_OBJECTS) $(oldselect_DEPENDENCIES) $(EXTRA_oldselect_DEPENDENCIES)
- @rm -f oldselect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldselect_OBJECTS) $(oldselect_LDADD) $(LIBS)
-
-oldstat$(EXEEXT): $(oldstat_OBJECTS) $(oldstat_DEPENDENCIES) $(EXTRA_oldstat_DEPENDENCIES)
- @rm -f oldstat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oldstat_OBJECTS) $(oldstat_LDADD) $(LIBS)
-
-open$(EXEEXT): $(open_OBJECTS) $(open_DEPENDENCIES) $(EXTRA_open_DEPENDENCIES)
- @rm -f open$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
-
-openat$(EXEEXT): $(openat_OBJECTS) $(openat_DEPENDENCIES) $(EXTRA_openat_DEPENDENCIES)
- @rm -f openat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
-
-osf_utimes$(EXEEXT): $(osf_utimes_OBJECTS) $(osf_utimes_DEPENDENCIES) $(EXTRA_osf_utimes_DEPENDENCIES)
- @rm -f osf_utimes$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(osf_utimes_OBJECTS) $(osf_utimes_LDADD) $(LIBS)
-
-pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES)
- @rm -f pause$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
-
-pc$(EXEEXT): $(pc_OBJECTS) $(pc_DEPENDENCIES) $(EXTRA_pc_DEPENDENCIES)
- @rm -f pc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pc_OBJECTS) $(pc_LDADD) $(LIBS)
-
-perf_event_open$(EXEEXT): $(perf_event_open_OBJECTS) $(perf_event_open_DEPENDENCIES) $(EXTRA_perf_event_open_DEPENDENCIES)
- @rm -f perf_event_open$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_OBJECTS) $(perf_event_open_LDADD) $(LIBS)
-
-perf_event_open_nonverbose$(EXEEXT): $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_DEPENDENCIES) $(EXTRA_perf_event_open_nonverbose_DEPENDENCIES)
- @rm -f perf_event_open_nonverbose$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_LDADD) $(LIBS)
-
-perf_event_open_unabbrev$(EXEEXT): $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_DEPENDENCIES) $(EXTRA_perf_event_open_unabbrev_DEPENDENCIES)
- @rm -f perf_event_open_unabbrev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_LDADD) $(LIBS)
-
-personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA_personality_DEPENDENCIES)
- @rm -f personality$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS)
-
-pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES)
- @rm -f pipe$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
-
-pipe2$(EXEEXT): $(pipe2_OBJECTS) $(pipe2_DEPENDENCIES) $(EXTRA_pipe2_DEPENDENCIES)
- @rm -f pipe2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pipe2_OBJECTS) $(pipe2_LDADD) $(LIBS)
-
-pkey_alloc$(EXEEXT): $(pkey_alloc_OBJECTS) $(pkey_alloc_DEPENDENCIES) $(EXTRA_pkey_alloc_DEPENDENCIES)
- @rm -f pkey_alloc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_alloc_OBJECTS) $(pkey_alloc_LDADD) $(LIBS)
-
-pkey_free$(EXEEXT): $(pkey_free_OBJECTS) $(pkey_free_DEPENDENCIES) $(EXTRA_pkey_free_DEPENDENCIES)
- @rm -f pkey_free$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_free_OBJECTS) $(pkey_free_LDADD) $(LIBS)
-
-pkey_mprotect$(EXEEXT): $(pkey_mprotect_OBJECTS) $(pkey_mprotect_DEPENDENCIES) $(EXTRA_pkey_mprotect_DEPENDENCIES)
- @rm -f pkey_mprotect$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pkey_mprotect_OBJECTS) $(pkey_mprotect_LDADD) $(LIBS)
-
-poll$(EXEEXT): $(poll_OBJECTS) $(poll_DEPENDENCIES) $(EXTRA_poll_DEPENDENCIES)
- @rm -f poll$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(poll_OBJECTS) $(poll_LDADD) $(LIBS)
-
-ppoll$(EXEEXT): $(ppoll_OBJECTS) $(ppoll_DEPENDENCIES) $(EXTRA_ppoll_DEPENDENCIES)
- @rm -f ppoll$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
-
-ppoll-v$(EXEEXT): $(ppoll_v_OBJECTS) $(ppoll_v_DEPENDENCIES) $(EXTRA_ppoll_v_DEPENDENCIES)
- @rm -f ppoll-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ppoll_v_OBJECTS) $(ppoll_v_LDADD) $(LIBS)
-
-prctl-arg2-intptr$(EXEEXT): $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_DEPENDENCIES) $(EXTRA_prctl_arg2_intptr_DEPENDENCIES)
- @rm -f prctl-arg2-intptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_LDADD) $(LIBS)
-
-prctl-dumpable$(EXEEXT): $(prctl_dumpable_OBJECTS) $(prctl_dumpable_DEPENDENCIES) $(EXTRA_prctl_dumpable_DEPENDENCIES)
- @rm -f prctl-dumpable$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_dumpable_OBJECTS) $(prctl_dumpable_LDADD) $(LIBS)
-
-prctl-name$(EXEEXT): $(prctl_name_OBJECTS) $(prctl_name_DEPENDENCIES) $(EXTRA_prctl_name_DEPENDENCIES)
- @rm -f prctl-name$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_name_OBJECTS) $(prctl_name_LDADD) $(LIBS)
-
-prctl-no-args$(EXEEXT): $(prctl_no_args_OBJECTS) $(prctl_no_args_DEPENDENCIES) $(EXTRA_prctl_no_args_DEPENDENCIES)
- @rm -f prctl-no-args$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_no_args_OBJECTS) $(prctl_no_args_LDADD) $(LIBS)
-
-prctl-pdeathsig$(EXEEXT): $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_DEPENDENCIES) $(EXTRA_prctl_pdeathsig_DEPENDENCIES)
- @rm -f prctl-pdeathsig$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_LDADD) $(LIBS)
-
-prctl-seccomp-filter-v$(EXEEXT): $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_DEPENDENCIES) $(EXTRA_prctl_seccomp_filter_v_DEPENDENCIES)
- @rm -f prctl-seccomp-filter-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_LDADD) $(LIBS)
-
-prctl-seccomp-strict$(EXEEXT): $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_DEPENDENCIES) $(EXTRA_prctl_seccomp_strict_DEPENDENCIES)
- @rm -f prctl-seccomp-strict$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_LDADD) $(LIBS)
-
-prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPENDENCIES) $(EXTRA_prctl_securebits_DEPENDENCIES)
- @rm -f prctl-securebits$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS)
-
-prctl-tid_address$(EXEEXT): $(prctl_tid_address_OBJECTS) $(prctl_tid_address_DEPENDENCIES) $(EXTRA_prctl_tid_address_DEPENDENCIES)
- @rm -f prctl-tid_address$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_tid_address_OBJECTS) $(prctl_tid_address_LDADD) $(LIBS)
-
-prctl-tsc$(EXEEXT): $(prctl_tsc_OBJECTS) $(prctl_tsc_DEPENDENCIES) $(EXTRA_prctl_tsc_DEPENDENCIES)
- @rm -f prctl-tsc$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prctl_tsc_OBJECTS) $(prctl_tsc_LDADD) $(LIBS)
-
-pread64-pwrite64$(EXEEXT): $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_DEPENDENCIES) $(EXTRA_pread64_pwrite64_DEPENDENCIES)
- @rm -f pread64-pwrite64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_LDADD) $(LIBS)
-
-preadv$(EXEEXT): $(preadv_OBJECTS) $(preadv_DEPENDENCIES) $(EXTRA_preadv_DEPENDENCIES)
- @rm -f preadv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv_OBJECTS) $(preadv_LDADD) $(LIBS)
-
-preadv-pwritev$(EXEEXT): $(preadv_pwritev_OBJECTS) $(preadv_pwritev_DEPENDENCIES) $(EXTRA_preadv_pwritev_DEPENDENCIES)
- @rm -f preadv-pwritev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv_pwritev_OBJECTS) $(preadv_pwritev_LDADD) $(LIBS)
-
-preadv2-pwritev2$(EXEEXT): $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_DEPENDENCIES) $(EXTRA_preadv2_pwritev2_DEPENDENCIES)
- @rm -f preadv2-pwritev2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_LDADD) $(LIBS)
-
-print_maxfd$(EXEEXT): $(print_maxfd_OBJECTS) $(print_maxfd_DEPENDENCIES) $(EXTRA_print_maxfd_DEPENDENCIES)
- @rm -f print_maxfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(print_maxfd_OBJECTS) $(print_maxfd_LDADD) $(LIBS)
-
-printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES)
- @rm -f printstr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
-
-prlimit64$(EXEEXT): $(prlimit64_OBJECTS) $(prlimit64_DEPENDENCIES) $(EXTRA_prlimit64_DEPENDENCIES)
- @rm -f prlimit64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
-
-process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES)
- @rm -f process_vm_readv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
-
-process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES)
- @rm -f process_vm_writev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
-
-pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES)
- @rm -f pselect6$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
-
-ptrace$(EXEEXT): $(ptrace_OBJECTS) $(ptrace_DEPENDENCIES) $(EXTRA_ptrace_DEPENDENCIES)
- @rm -f ptrace$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ptrace_OBJECTS) $(ptrace_LDADD) $(LIBS)
-
-pwritev$(EXEEXT): $(pwritev_OBJECTS) $(pwritev_DEPENDENCIES) $(EXTRA_pwritev_DEPENDENCIES)
- @rm -f pwritev$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pwritev_OBJECTS) $(pwritev_LDADD) $(LIBS)
-
-qual_fault$(EXEEXT): $(qual_fault_OBJECTS) $(qual_fault_DEPENDENCIES) $(EXTRA_qual_fault_DEPENDENCIES)
- @rm -f qual_fault$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_fault_OBJECTS) $(qual_fault_LDADD) $(LIBS)
-
-qual_inject-error-signal$(EXEEXT): $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_DEPENDENCIES) $(EXTRA_qual_inject_error_signal_DEPENDENCIES)
- @rm -f qual_inject-error-signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_LDADD) $(LIBS)
-
-qual_inject-retval$(EXEEXT): $(qual_inject_retval_OBJECTS) $(qual_inject_retval_DEPENDENCIES) $(EXTRA_qual_inject_retval_DEPENDENCIES)
- @rm -f qual_inject-retval$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_retval_OBJECTS) $(qual_inject_retval_LDADD) $(LIBS)
-
-qual_inject-signal$(EXEEXT): $(qual_inject_signal_OBJECTS) $(qual_inject_signal_DEPENDENCIES) $(EXTRA_qual_inject_signal_DEPENDENCIES)
- @rm -f qual_inject-signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_inject_signal_OBJECTS) $(qual_inject_signal_LDADD) $(LIBS)
-
-qual_signal$(EXEEXT): $(qual_signal_OBJECTS) $(qual_signal_DEPENDENCIES) $(EXTRA_qual_signal_DEPENDENCIES)
- @rm -f qual_signal$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(qual_signal_OBJECTS) $(qual_signal_LDADD) $(LIBS)
-
-quotactl$(EXEEXT): $(quotactl_OBJECTS) $(quotactl_DEPENDENCIES) $(EXTRA_quotactl_DEPENDENCIES)
- @rm -f quotactl$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_OBJECTS) $(quotactl_LDADD) $(LIBS)
-
-quotactl-v$(EXEEXT): $(quotactl_v_OBJECTS) $(quotactl_v_DEPENDENCIES) $(EXTRA_quotactl_v_DEPENDENCIES)
- @rm -f quotactl-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_v_OBJECTS) $(quotactl_v_LDADD) $(LIBS)
-
-quotactl-xfs$(EXEEXT): $(quotactl_xfs_OBJECTS) $(quotactl_xfs_DEPENDENCIES) $(EXTRA_quotactl_xfs_DEPENDENCIES)
- @rm -f quotactl-xfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_xfs_OBJECTS) $(quotactl_xfs_LDADD) $(LIBS)
-
-quotactl-xfs-v$(EXEEXT): $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_DEPENDENCIES) $(EXTRA_quotactl_xfs_v_DEPENDENCIES)
- @rm -f quotactl-xfs-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_LDADD) $(LIBS)
-
-read-write$(EXEEXT): $(read_write_OBJECTS) $(read_write_DEPENDENCIES) $(EXTRA_read_write_DEPENDENCIES)
- @rm -f read-write$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(read_write_OBJECTS) $(read_write_LDADD) $(LIBS)
-
-readahead$(EXEEXT): $(readahead_OBJECTS) $(readahead_DEPENDENCIES) $(EXTRA_readahead_DEPENDENCIES)
- @rm -f readahead$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readahead_OBJECTS) $(readahead_LDADD) $(LIBS)
-
-readdir$(EXEEXT): $(readdir_OBJECTS) $(readdir_DEPENDENCIES) $(EXTRA_readdir_DEPENDENCIES)
- @rm -f readdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readdir_OBJECTS) $(readdir_LDADD) $(LIBS)
-
-readlink$(EXEEXT): $(readlink_OBJECTS) $(readlink_DEPENDENCIES) $(EXTRA_readlink_DEPENDENCIES)
- @rm -f readlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readlink_OBJECTS) $(readlink_LDADD) $(LIBS)
-
-readlinkat$(EXEEXT): $(readlinkat_OBJECTS) $(readlinkat_DEPENDENCIES) $(EXTRA_readlinkat_DEPENDENCIES)
- @rm -f readlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readlinkat_OBJECTS) $(readlinkat_LDADD) $(LIBS)
-
-readv$(EXEEXT): $(readv_OBJECTS) $(readv_DEPENDENCIES) $(EXTRA_readv_DEPENDENCIES)
- @rm -f readv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(readv_OBJECTS) $(readv_LDADD) $(LIBS)
-
-reboot$(EXEEXT): $(reboot_OBJECTS) $(reboot_DEPENDENCIES) $(EXTRA_reboot_DEPENDENCIES)
- @rm -f reboot$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(reboot_OBJECTS) $(reboot_LDADD) $(LIBS)
-
-recvfrom$(EXEEXT): $(recvfrom_OBJECTS) $(recvfrom_DEPENDENCIES) $(EXTRA_recvfrom_DEPENDENCIES)
- @rm -f recvfrom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvfrom_OBJECTS) $(recvfrom_LDADD) $(LIBS)
-
-recvmmsg-timeout$(EXEEXT): $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_DEPENDENCIES) $(EXTRA_recvmmsg_timeout_DEPENDENCIES)
- @rm -f recvmmsg-timeout$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_LDADD) $(LIBS)
-
-recvmsg$(EXEEXT): $(recvmsg_OBJECTS) $(recvmsg_DEPENDENCIES) $(EXTRA_recvmsg_DEPENDENCIES)
- @rm -f recvmsg$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(recvmsg_OBJECTS) $(recvmsg_LDADD) $(LIBS)
-
-redirect-fds$(EXEEXT): $(redirect_fds_OBJECTS) $(redirect_fds_DEPENDENCIES) $(EXTRA_redirect_fds_DEPENDENCIES)
- @rm -f redirect-fds$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(redirect_fds_OBJECTS) $(redirect_fds_LDADD) $(LIBS)
-
-remap_file_pages$(EXEEXT): $(remap_file_pages_OBJECTS) $(remap_file_pages_DEPENDENCIES) $(EXTRA_remap_file_pages_DEPENDENCIES)
- @rm -f remap_file_pages$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(remap_file_pages_OBJECTS) $(remap_file_pages_LDADD) $(LIBS)
-
-rename$(EXEEXT): $(rename_OBJECTS) $(rename_DEPENDENCIES) $(EXTRA_rename_DEPENDENCIES)
- @rm -f rename$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rename_OBJECTS) $(rename_LDADD) $(LIBS)
-
-renameat$(EXEEXT): $(renameat_OBJECTS) $(renameat_DEPENDENCIES) $(EXTRA_renameat_DEPENDENCIES)
- @rm -f renameat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(renameat_OBJECTS) $(renameat_LDADD) $(LIBS)
-
-renameat2$(EXEEXT): $(renameat2_OBJECTS) $(renameat2_DEPENDENCIES) $(EXTRA_renameat2_DEPENDENCIES)
- @rm -f renameat2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(renameat2_OBJECTS) $(renameat2_LDADD) $(LIBS)
-
-request_key$(EXEEXT): $(request_key_OBJECTS) $(request_key_DEPENDENCIES) $(EXTRA_request_key_DEPENDENCIES)
- @rm -f request_key$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(request_key_OBJECTS) $(request_key_LDADD) $(LIBS)
-
-restart_syscall$(EXEEXT): $(restart_syscall_OBJECTS) $(restart_syscall_DEPENDENCIES) $(EXTRA_restart_syscall_DEPENDENCIES)
- @rm -f restart_syscall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(restart_syscall_OBJECTS) $(restart_syscall_LDADD) $(LIBS)
-
-rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIES)
- @rm -f rmdir$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
-
-rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES)
- @rm -f rt_sigpending$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
-
-rt_sigprocmask$(EXEEXT): $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_DEPENDENCIES) $(EXTRA_rt_sigprocmask_DEPENDENCIES)
- @rm -f rt_sigprocmask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_LDADD) $(LIBS)
-
-rt_sigqueueinfo$(EXEEXT): $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo_DEPENDENCIES)
- @rm -f rt_sigqueueinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
-
-rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES)
- @rm -f rt_sigreturn$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS)
-
-rt_sigsuspend$(EXEEXT): $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_DEPENDENCIES) $(EXTRA_rt_sigsuspend_DEPENDENCIES)
- @rm -f rt_sigsuspend$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_LDADD) $(LIBS)
-
-rt_sigtimedwait$(EXEEXT): $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_DEPENDENCIES) $(EXTRA_rt_sigtimedwait_DEPENDENCIES)
- @rm -f rt_sigtimedwait$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_LDADD) $(LIBS)
-
-rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo_DEPENDENCIES)
- @rm -f rt_tgsigqueueinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
-
-sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES)
- @rm -f sched_get_priority_mxx$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
-
-sched_rr_get_interval$(EXEEXT): $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_DEPENDENCIES) $(EXTRA_sched_rr_get_interval_DEPENDENCIES)
- @rm -f sched_rr_get_interval$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_LDADD) $(LIBS)
-
-sched_xetaffinity$(EXEEXT): $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_DEPENDENCIES) $(EXTRA_sched_xetaffinity_DEPENDENCIES)
- @rm -f sched_xetaffinity$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
-
-sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES)
- @rm -f sched_xetattr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
-
-sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES)
- @rm -f sched_xetparam$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
-
-sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES)
- @rm -f sched_xetscheduler$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
-
-sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES)
- @rm -f sched_yield$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
-
-scm_rights$(EXEEXT): $(scm_rights_OBJECTS) $(scm_rights_DEPENDENCIES) $(EXTRA_scm_rights_DEPENDENCIES)
- @rm -f scm_rights$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(scm_rights_OBJECTS) $(scm_rights_LDADD) $(LIBS)
-
-seccomp-filter$(EXEEXT): $(seccomp_filter_OBJECTS) $(seccomp_filter_DEPENDENCIES) $(EXTRA_seccomp_filter_DEPENDENCIES)
- @rm -f seccomp-filter$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_filter_OBJECTS) $(seccomp_filter_LDADD) $(LIBS)
-
-seccomp-filter-v$(EXEEXT): $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_DEPENDENCIES) $(EXTRA_seccomp_filter_v_DEPENDENCIES)
- @rm -f seccomp-filter-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_LDADD) $(LIBS)
-
-seccomp-strict$(EXEEXT): $(seccomp_strict_OBJECTS) $(seccomp_strict_DEPENDENCIES) $(EXTRA_seccomp_strict_DEPENDENCIES)
- @rm -f seccomp-strict$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(seccomp_strict_OBJECTS) $(seccomp_strict_LDADD) $(LIBS)
-
-select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES)
- @rm -f select$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
-
-semop$(EXEEXT): $(semop_OBJECTS) $(semop_DEPENDENCIES) $(EXTRA_semop_DEPENDENCIES)
- @rm -f semop$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(semop_OBJECTS) $(semop_LDADD) $(LIBS)
-
-sendfile$(EXEEXT): $(sendfile_OBJECTS) $(sendfile_DEPENDENCIES) $(EXTRA_sendfile_DEPENDENCIES)
- @rm -f sendfile$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sendfile_OBJECTS) $(sendfile_LDADD) $(LIBS)
-
-sendfile64$(EXEEXT): $(sendfile64_OBJECTS) $(sendfile64_DEPENDENCIES) $(EXTRA_sendfile64_DEPENDENCIES)
- @rm -f sendfile64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sendfile64_OBJECTS) $(sendfile64_LDADD) $(LIBS)
-
-set_mempolicy$(EXEEXT): $(set_mempolicy_OBJECTS) $(set_mempolicy_DEPENDENCIES) $(EXTRA_set_mempolicy_DEPENDENCIES)
- @rm -f set_mempolicy$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(set_mempolicy_OBJECTS) $(set_mempolicy_LDADD) $(LIBS)
-
-set_ptracer_any$(EXEEXT): $(set_ptracer_any_OBJECTS) $(set_ptracer_any_DEPENDENCIES) $(EXTRA_set_ptracer_any_DEPENDENCIES)
- @rm -f set_ptracer_any$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(set_ptracer_any_OBJECTS) $(set_ptracer_any_LDADD) $(LIBS)
-
-setdomainname$(EXEEXT): $(setdomainname_OBJECTS) $(setdomainname_DEPENDENCIES) $(EXTRA_setdomainname_DEPENDENCIES)
- @rm -f setdomainname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setdomainname_OBJECTS) $(setdomainname_LDADD) $(LIBS)
-
-setfsgid$(EXEEXT): $(setfsgid_OBJECTS) $(setfsgid_DEPENDENCIES) $(EXTRA_setfsgid_DEPENDENCIES)
- @rm -f setfsgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsgid_OBJECTS) $(setfsgid_LDADD) $(LIBS)
-
-setfsgid32$(EXEEXT): $(setfsgid32_OBJECTS) $(setfsgid32_DEPENDENCIES) $(EXTRA_setfsgid32_DEPENDENCIES)
- @rm -f setfsgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsgid32_OBJECTS) $(setfsgid32_LDADD) $(LIBS)
-
-setfsuid$(EXEEXT): $(setfsuid_OBJECTS) $(setfsuid_DEPENDENCIES) $(EXTRA_setfsuid_DEPENDENCIES)
- @rm -f setfsuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsuid_OBJECTS) $(setfsuid_LDADD) $(LIBS)
-
-setfsuid32$(EXEEXT): $(setfsuid32_OBJECTS) $(setfsuid32_DEPENDENCIES) $(EXTRA_setfsuid32_DEPENDENCIES)
- @rm -f setfsuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setfsuid32_OBJECTS) $(setfsuid32_LDADD) $(LIBS)
-
-setgid$(EXEEXT): $(setgid_OBJECTS) $(setgid_DEPENDENCIES) $(EXTRA_setgid_DEPENDENCIES)
- @rm -f setgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgid_OBJECTS) $(setgid_LDADD) $(LIBS)
-
-setgid32$(EXEEXT): $(setgid32_OBJECTS) $(setgid32_DEPENDENCIES) $(EXTRA_setgid32_DEPENDENCIES)
- @rm -f setgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgid32_OBJECTS) $(setgid32_LDADD) $(LIBS)
-
-setgroups$(EXEEXT): $(setgroups_OBJECTS) $(setgroups_DEPENDENCIES) $(EXTRA_setgroups_DEPENDENCIES)
- @rm -f setgroups$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgroups_OBJECTS) $(setgroups_LDADD) $(LIBS)
-
-setgroups32$(EXEEXT): $(setgroups32_OBJECTS) $(setgroups32_DEPENDENCIES) $(EXTRA_setgroups32_DEPENDENCIES)
- @rm -f setgroups32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setgroups32_OBJECTS) $(setgroups32_LDADD) $(LIBS)
-
-sethostname$(EXEEXT): $(sethostname_OBJECTS) $(sethostname_DEPENDENCIES) $(EXTRA_sethostname_DEPENDENCIES)
- @rm -f sethostname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sethostname_OBJECTS) $(sethostname_LDADD) $(LIBS)
-
-setns$(EXEEXT): $(setns_OBJECTS) $(setns_DEPENDENCIES) $(EXTRA_setns_DEPENDENCIES)
- @rm -f setns$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setns_OBJECTS) $(setns_LDADD) $(LIBS)
-
-setregid$(EXEEXT): $(setregid_OBJECTS) $(setregid_DEPENDENCIES) $(EXTRA_setregid_DEPENDENCIES)
- @rm -f setregid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setregid_OBJECTS) $(setregid_LDADD) $(LIBS)
-
-setregid32$(EXEEXT): $(setregid32_OBJECTS) $(setregid32_DEPENDENCIES) $(EXTRA_setregid32_DEPENDENCIES)
- @rm -f setregid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setregid32_OBJECTS) $(setregid32_LDADD) $(LIBS)
-
-setresgid$(EXEEXT): $(setresgid_OBJECTS) $(setresgid_DEPENDENCIES) $(EXTRA_setresgid_DEPENDENCIES)
- @rm -f setresgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresgid_OBJECTS) $(setresgid_LDADD) $(LIBS)
-
-setresgid32$(EXEEXT): $(setresgid32_OBJECTS) $(setresgid32_DEPENDENCIES) $(EXTRA_setresgid32_DEPENDENCIES)
- @rm -f setresgid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresgid32_OBJECTS) $(setresgid32_LDADD) $(LIBS)
-
-setresuid$(EXEEXT): $(setresuid_OBJECTS) $(setresuid_DEPENDENCIES) $(EXTRA_setresuid_DEPENDENCIES)
- @rm -f setresuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresuid_OBJECTS) $(setresuid_LDADD) $(LIBS)
-
-setresuid32$(EXEEXT): $(setresuid32_OBJECTS) $(setresuid32_DEPENDENCIES) $(EXTRA_setresuid32_DEPENDENCIES)
- @rm -f setresuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setresuid32_OBJECTS) $(setresuid32_LDADD) $(LIBS)
-
-setreuid$(EXEEXT): $(setreuid_OBJECTS) $(setreuid_DEPENDENCIES) $(EXTRA_setreuid_DEPENDENCIES)
- @rm -f setreuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setreuid_OBJECTS) $(setreuid_LDADD) $(LIBS)
-
-setreuid32$(EXEEXT): $(setreuid32_OBJECTS) $(setreuid32_DEPENDENCIES) $(EXTRA_setreuid32_DEPENDENCIES)
- @rm -f setreuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setreuid32_OBJECTS) $(setreuid32_LDADD) $(LIBS)
-
-setrlimit$(EXEEXT): $(setrlimit_OBJECTS) $(setrlimit_DEPENDENCIES) $(EXTRA_setrlimit_DEPENDENCIES)
- @rm -f setrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setrlimit_OBJECTS) $(setrlimit_LDADD) $(LIBS)
-
-setuid$(EXEEXT): $(setuid_OBJECTS) $(setuid_DEPENDENCIES) $(EXTRA_setuid_DEPENDENCIES)
- @rm -f setuid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setuid_OBJECTS) $(setuid_LDADD) $(LIBS)
-
-setuid32$(EXEEXT): $(setuid32_OBJECTS) $(setuid32_DEPENDENCIES) $(EXTRA_setuid32_DEPENDENCIES)
- @rm -f setuid32$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(setuid32_OBJECTS) $(setuid32_LDADD) $(LIBS)
-
-shmxt$(EXEEXT): $(shmxt_OBJECTS) $(shmxt_DEPENDENCIES) $(EXTRA_shmxt_DEPENDENCIES)
- @rm -f shmxt$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(shmxt_OBJECTS) $(shmxt_LDADD) $(LIBS)
-
-shutdown$(EXEEXT): $(shutdown_OBJECTS) $(shutdown_DEPENDENCIES) $(EXTRA_shutdown_DEPENDENCIES)
- @rm -f shutdown$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(shutdown_OBJECTS) $(shutdown_LDADD) $(LIBS)
-
-sigaction$(EXEEXT): $(sigaction_OBJECTS) $(sigaction_DEPENDENCIES) $(EXTRA_sigaction_DEPENDENCIES)
- @rm -f sigaction$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigaction_OBJECTS) $(sigaction_LDADD) $(LIBS)
-
-sigaltstack$(EXEEXT): $(sigaltstack_OBJECTS) $(sigaltstack_DEPENDENCIES) $(EXTRA_sigaltstack_DEPENDENCIES)
- @rm -f sigaltstack$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigaltstack_OBJECTS) $(sigaltstack_LDADD) $(LIBS)
-
-siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEPENDENCIES)
- @rm -f siginfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
-
-signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES)
- @rm -f signal_receive$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
-
-signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES)
- @rm -f signalfd4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
-
-sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES)
- @rm -f sigreturn$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
-
-sigsuspend$(EXEEXT): $(sigsuspend_OBJECTS) $(sigsuspend_DEPENDENCIES) $(EXTRA_sigsuspend_DEPENDENCIES)
- @rm -f sigsuspend$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sigsuspend_OBJECTS) $(sigsuspend_LDADD) $(LIBS)
-
-sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES)
- @rm -f sleep$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
-
-socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES)
- @rm -f socketcall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
-
-splice$(EXEEXT): $(splice_OBJECTS) $(splice_DEPENDENCIES) $(EXTRA_splice_DEPENDENCIES)
- @rm -f splice$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(splice_OBJECTS) $(splice_LDADD) $(LIBS)
-
-stack-fcall$(EXEEXT): $(stack_fcall_OBJECTS) $(stack_fcall_DEPENDENCIES) $(EXTRA_stack_fcall_DEPENDENCIES)
- @rm -f stack-fcall$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stack_fcall_OBJECTS) $(stack_fcall_LDADD) $(LIBS)
-
-stat$(EXEEXT): $(stat_OBJECTS) $(stat_DEPENDENCIES) $(EXTRA_stat_DEPENDENCIES)
- @rm -f stat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stat_OBJECTS) $(stat_LDADD) $(LIBS)
-
-stat64$(EXEEXT): $(stat64_OBJECTS) $(stat64_DEPENDENCIES) $(EXTRA_stat64_DEPENDENCIES)
- @rm -f stat64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(stat64_OBJECTS) $(stat64_LDADD) $(LIBS)
-
-statfs$(EXEEXT): $(statfs_OBJECTS) $(statfs_DEPENDENCIES) $(EXTRA_statfs_DEPENDENCIES)
- @rm -f statfs$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statfs_OBJECTS) $(statfs_LDADD) $(LIBS)
-
-statfs64$(EXEEXT): $(statfs64_OBJECTS) $(statfs64_DEPENDENCIES) $(EXTRA_statfs64_DEPENDENCIES)
- @rm -f statfs64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
-
-statx$(EXEEXT): $(statx_OBJECTS) $(statx_DEPENDENCIES) $(EXTRA_statx_DEPENDENCIES)
- @rm -f statx$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(statx_OBJECTS) $(statx_LDADD) $(LIBS)
-
-swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES)
- @rm -f swap$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
-
-sxetmask$(EXEEXT): $(sxetmask_OBJECTS) $(sxetmask_DEPENDENCIES) $(EXTRA_sxetmask_DEPENDENCIES)
- @rm -f sxetmask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sxetmask_OBJECTS) $(sxetmask_LDADD) $(LIBS)
-
-symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES)
- @rm -f symlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
-
-symlinkat$(EXEEXT): $(symlinkat_OBJECTS) $(symlinkat_DEPENDENCIES) $(EXTRA_symlinkat_DEPENDENCIES)
- @rm -f symlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(symlinkat_OBJECTS) $(symlinkat_LDADD) $(LIBS)
-
-sync$(EXEEXT): $(sync_OBJECTS) $(sync_DEPENDENCIES) $(EXTRA_sync_DEPENDENCIES)
- @rm -f sync$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_OBJECTS) $(sync_LDADD) $(LIBS)
-
-sync_file_range$(EXEEXT): $(sync_file_range_OBJECTS) $(sync_file_range_DEPENDENCIES) $(EXTRA_sync_file_range_DEPENDENCIES)
- @rm -f sync_file_range$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_file_range_OBJECTS) $(sync_file_range_LDADD) $(LIBS)
-
-sync_file_range2$(EXEEXT): $(sync_file_range2_OBJECTS) $(sync_file_range2_DEPENDENCIES) $(EXTRA_sync_file_range2_DEPENDENCIES)
- @rm -f sync_file_range2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sync_file_range2_OBJECTS) $(sync_file_range2_LDADD) $(LIBS)
-
-sysinfo$(EXEEXT): $(sysinfo_OBJECTS) $(sysinfo_DEPENDENCIES) $(EXTRA_sysinfo_DEPENDENCIES)
- @rm -f sysinfo$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(sysinfo_OBJECTS) $(sysinfo_LDADD) $(LIBS)
-
-syslog$(EXEEXT): $(syslog_OBJECTS) $(syslog_DEPENDENCIES) $(EXTRA_syslog_DEPENDENCIES)
- @rm -f syslog$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(syslog_OBJECTS) $(syslog_LDADD) $(LIBS)
-
-tee$(EXEEXT): $(tee_OBJECTS) $(tee_DEPENDENCIES) $(EXTRA_tee_DEPENDENCIES)
- @rm -f tee$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
-
-threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES)
- @rm -f threads-execve$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-
-time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES)
- @rm -f time$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
-
-timer_create$(EXEEXT): $(timer_create_OBJECTS) $(timer_create_DEPENDENCIES) $(EXTRA_timer_create_DEPENDENCIES)
- @rm -f timer_create$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timer_create_OBJECTS) $(timer_create_LDADD) $(LIBS)
-
-timer_xettime$(EXEEXT): $(timer_xettime_OBJECTS) $(timer_xettime_DEPENDENCIES) $(EXTRA_timer_xettime_DEPENDENCIES)
- @rm -f timer_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timer_xettime_OBJECTS) $(timer_xettime_LDADD) $(LIBS)
-
-timerfd_xettime$(EXEEXT): $(timerfd_xettime_OBJECTS) $(timerfd_xettime_DEPENDENCIES) $(EXTRA_timerfd_xettime_DEPENDENCIES)
- @rm -f timerfd_xettime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(timerfd_xettime_OBJECTS) $(timerfd_xettime_LDADD) $(LIBS)
-
-times$(EXEEXT): $(times_OBJECTS) $(times_DEPENDENCIES) $(EXTRA_times_DEPENDENCIES)
- @rm -f times$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(times_OBJECTS) $(times_LDADD) $(LIBS)
-
-times-fail$(EXEEXT): $(times_fail_OBJECTS) $(times_fail_DEPENDENCIES) $(EXTRA_times_fail_DEPENDENCIES)
- @rm -f times-fail$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
-
-truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES)
- @rm -f truncate$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
-
-truncate64$(EXEEXT): $(truncate64_OBJECTS) $(truncate64_DEPENDENCIES) $(EXTRA_truncate64_DEPENDENCIES)
- @rm -f truncate64$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(truncate64_OBJECTS) $(truncate64_LDADD) $(LIBS)
-
-ugetrlimit$(EXEEXT): $(ugetrlimit_OBJECTS) $(ugetrlimit_DEPENDENCIES) $(EXTRA_ugetrlimit_DEPENDENCIES)
- @rm -f ugetrlimit$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ugetrlimit_OBJECTS) $(ugetrlimit_LDADD) $(LIBS)
-
-uio$(EXEEXT): $(uio_OBJECTS) $(uio_DEPENDENCIES) $(EXTRA_uio_DEPENDENCIES)
- @rm -f uio$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(uio_OBJECTS) $(uio_LDADD) $(LIBS)
-
-umask$(EXEEXT): $(umask_OBJECTS) $(umask_DEPENDENCIES) $(EXTRA_umask_DEPENDENCIES)
- @rm -f umask$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umask_OBJECTS) $(umask_LDADD) $(LIBS)
-
-umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES) $(EXTRA_umount_DEPENDENCIES)
- @rm -f umount$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
-
-umount2$(EXEEXT): $(umount2_OBJECTS) $(umount2_DEPENDENCIES) $(EXTRA_umount2_DEPENDENCIES)
- @rm -f umount2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umount2_OBJECTS) $(umount2_LDADD) $(LIBS)
-
-umoven-illptr$(EXEEXT): $(umoven_illptr_OBJECTS) $(umoven_illptr_DEPENDENCIES) $(EXTRA_umoven_illptr_DEPENDENCIES)
- @rm -f umoven-illptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umoven_illptr_OBJECTS) $(umoven_illptr_LDADD) $(LIBS)
-
-umovestr$(EXEEXT): $(umovestr_OBJECTS) $(umovestr_DEPENDENCIES) $(EXTRA_umovestr_DEPENDENCIES)
- @rm -f umovestr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr_OBJECTS) $(umovestr_LDADD) $(LIBS)
-
-umovestr-illptr$(EXEEXT): $(umovestr_illptr_OBJECTS) $(umovestr_illptr_DEPENDENCIES) $(EXTRA_umovestr_illptr_DEPENDENCIES)
- @rm -f umovestr-illptr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr_illptr_OBJECTS) $(umovestr_illptr_LDADD) $(LIBS)
-
-umovestr2$(EXEEXT): $(umovestr2_OBJECTS) $(umovestr2_DEPENDENCIES) $(EXTRA_umovestr2_DEPENDENCIES)
- @rm -f umovestr2$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr2_OBJECTS) $(umovestr2_LDADD) $(LIBS)
-
-umovestr3$(EXEEXT): $(umovestr3_OBJECTS) $(umovestr3_DEPENDENCIES) $(EXTRA_umovestr3_DEPENDENCIES)
- @rm -f umovestr3$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(umovestr3_OBJECTS) $(umovestr3_LDADD) $(LIBS)
-
-uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIES)
- @rm -f uname$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
-
-unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES)
- @rm -f unix-pair-send-recv$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
-
-unix-pair-sendto-recvfrom$(EXEEXT): $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_DEPENDENCIES) $(EXTRA_unix_pair_sendto_recvfrom_DEPENDENCIES)
- @rm -f unix-pair-sendto-recvfrom$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_LDADD) $(LIBS)
-
-unlink$(EXEEXT): $(unlink_OBJECTS) $(unlink_DEPENDENCIES) $(EXTRA_unlink_DEPENDENCIES)
- @rm -f unlink$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unlink_OBJECTS) $(unlink_LDADD) $(LIBS)
-
-unlinkat$(EXEEXT): $(unlinkat_OBJECTS) $(unlinkat_DEPENDENCIES) $(EXTRA_unlinkat_DEPENDENCIES)
- @rm -f unlinkat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unlinkat_OBJECTS) $(unlinkat_LDADD) $(LIBS)
-
-unshare$(EXEEXT): $(unshare_OBJECTS) $(unshare_DEPENDENCIES) $(EXTRA_unshare_DEPENDENCIES)
- @rm -f unshare$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(unshare_OBJECTS) $(unshare_LDADD) $(LIBS)
-
-userfaultfd$(EXEEXT): $(userfaultfd_OBJECTS) $(userfaultfd_DEPENDENCIES) $(EXTRA_userfaultfd_DEPENDENCIES)
- @rm -f userfaultfd$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(userfaultfd_OBJECTS) $(userfaultfd_LDADD) $(LIBS)
-
-ustat$(EXEEXT): $(ustat_OBJECTS) $(ustat_DEPENDENCIES) $(EXTRA_ustat_DEPENDENCIES)
- @rm -f ustat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(ustat_OBJECTS) $(ustat_LDADD) $(LIBS)
-
-utime$(EXEEXT): $(utime_OBJECTS) $(utime_DEPENDENCIES) $(EXTRA_utime_DEPENDENCIES)
- @rm -f utime$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utime_OBJECTS) $(utime_LDADD) $(LIBS)
-
-utimensat$(EXEEXT): $(utimensat_OBJECTS) $(utimensat_DEPENDENCIES) $(EXTRA_utimensat_DEPENDENCIES)
- @rm -f utimensat$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utimensat_OBJECTS) $(utimensat_LDADD) $(LIBS)
-
-utimes$(EXEEXT): $(utimes_OBJECTS) $(utimes_DEPENDENCIES) $(EXTRA_utimes_DEPENDENCIES)
- @rm -f utimes$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(utimes_OBJECTS) $(utimes_LDADD) $(LIBS)
-
-vfork-f$(EXEEXT): $(vfork_f_OBJECTS) $(vfork_f_DEPENDENCIES) $(EXTRA_vfork_f_DEPENDENCIES)
- @rm -f vfork-f$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vfork_f_OBJECTS) $(vfork_f_LDADD) $(LIBS)
-
-vhangup$(EXEEXT): $(vhangup_OBJECTS) $(vhangup_DEPENDENCIES) $(EXTRA_vhangup_DEPENDENCIES)
- @rm -f vhangup$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vhangup_OBJECTS) $(vhangup_LDADD) $(LIBS)
-
-vmsplice$(EXEEXT): $(vmsplice_OBJECTS) $(vmsplice_DEPENDENCIES) $(EXTRA_vmsplice_DEPENDENCIES)
- @rm -f vmsplice$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(vmsplice_OBJECTS) $(vmsplice_LDADD) $(LIBS)
-
-wait4$(EXEEXT): $(wait4_OBJECTS) $(wait4_DEPENDENCIES) $(EXTRA_wait4_DEPENDENCIES)
- @rm -f wait4$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(wait4_OBJECTS) $(wait4_LDADD) $(LIBS)
-
-wait4-v$(EXEEXT): $(wait4_v_OBJECTS) $(wait4_v_DEPENDENCIES) $(EXTRA_wait4_v_DEPENDENCIES)
- @rm -f wait4-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(wait4_v_OBJECTS) $(wait4_v_LDADD) $(LIBS)
-
-waitid$(EXEEXT): $(waitid_OBJECTS) $(waitid_DEPENDENCIES) $(EXTRA_waitid_DEPENDENCIES)
- @rm -f waitid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitid_OBJECTS) $(waitid_LDADD) $(LIBS)
-
-waitid-v$(EXEEXT): $(waitid_v_OBJECTS) $(waitid_v_DEPENDENCIES) $(EXTRA_waitid_v_DEPENDENCIES)
- @rm -f waitid-v$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitid_v_OBJECTS) $(waitid_v_LDADD) $(LIBS)
-
-waitpid$(EXEEXT): $(waitpid_OBJECTS) $(waitpid_DEPENDENCIES) $(EXTRA_waitpid_DEPENDENCIES)
- @rm -f waitpid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(waitpid_OBJECTS) $(waitpid_LDADD) $(LIBS)
-
-xattr$(EXEEXT): $(xattr_OBJECTS) $(xattr_DEPENDENCIES) $(EXTRA_xattr_DEPENDENCIES)
- @rm -f xattr$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xattr_OBJECTS) $(xattr_LDADD) $(LIBS)
-
-xattr-strings$(EXEEXT): $(xattr_strings_OBJECTS) $(xattr_strings_DEPENDENCIES) $(EXTRA_xattr_strings_DEPENDENCIES)
- @rm -f xattr-strings$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xattr_strings_OBJECTS) $(xattr_strings_LDADD) $(LIBS)
-
-xet_robust_list$(EXEEXT): $(xet_robust_list_OBJECTS) $(xet_robust_list_DEPENDENCIES) $(EXTRA_xet_robust_list_DEPENDENCIES)
- @rm -f xet_robust_list$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
-
-xetitimer$(EXEEXT): $(xetitimer_OBJECTS) $(xetitimer_DEPENDENCIES) $(EXTRA_xetitimer_DEPENDENCIES)
- @rm -f xetitimer$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetitimer_OBJECTS) $(xetitimer_LDADD) $(LIBS)
-
-xetpgid$(EXEEXT): $(xetpgid_OBJECTS) $(xetpgid_DEPENDENCIES) $(EXTRA_xetpgid_DEPENDENCIES)
- @rm -f xetpgid$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
-
-xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES)
- @rm -f xetpriority$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
-
-xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES)
- @rm -f xettimeofday$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/_newselect.Po
-include ./$(DEPDIR)/accept.Po
-include ./$(DEPDIR)/accept4.Po
-include ./$(DEPDIR)/access.Po
-include ./$(DEPDIR)/acct.Po
-include ./$(DEPDIR)/add_key.Po
-include ./$(DEPDIR)/adjtimex.Po
-include ./$(DEPDIR)/aio.Po
-include ./$(DEPDIR)/alarm.Po
-include ./$(DEPDIR)/answer.Po
-include ./$(DEPDIR)/attach-f-p-cmd.Po
-include ./$(DEPDIR)/attach-f-p.Po
-include ./$(DEPDIR)/attach-p-cmd-cmd.Po
-include ./$(DEPDIR)/attach-p-cmd-p.Po
-include ./$(DEPDIR)/bpf.Po
-include ./$(DEPDIR)/brk.Po
-include ./$(DEPDIR)/btrfs.Po
-include ./$(DEPDIR)/caps-abbrev.Po
-include ./$(DEPDIR)/caps.Po
-include ./$(DEPDIR)/chmod.Po
-include ./$(DEPDIR)/chown.Po
-include ./$(DEPDIR)/chown32.Po
-include ./$(DEPDIR)/chroot.Po
-include ./$(DEPDIR)/clock_adjtime.Po
-include ./$(DEPDIR)/clock_nanosleep.Po
-include ./$(DEPDIR)/clock_xettime.Po
-include ./$(DEPDIR)/copy_file_range.Po
-include ./$(DEPDIR)/count-f.Po
-include ./$(DEPDIR)/creat.Po
-include ./$(DEPDIR)/delete_module.Po
-include ./$(DEPDIR)/dup.Po
-include ./$(DEPDIR)/dup2.Po
-include ./$(DEPDIR)/dup3.Po
-include ./$(DEPDIR)/epoll_create.Po
-include ./$(DEPDIR)/epoll_create1.Po
-include ./$(DEPDIR)/epoll_ctl.Po
-include ./$(DEPDIR)/epoll_pwait.Po
-include ./$(DEPDIR)/epoll_wait.Po
-include ./$(DEPDIR)/erestartsys.Po
-include ./$(DEPDIR)/eventfd.Po
-include ./$(DEPDIR)/execve-v.Po
-include ./$(DEPDIR)/execve.Po
-include ./$(DEPDIR)/execveat-v.Po
-include ./$(DEPDIR)/execveat.Po
-include ./$(DEPDIR)/faccessat.Po
-include ./$(DEPDIR)/fadvise64.Po
-include ./$(DEPDIR)/fadvise64_64.Po
-include ./$(DEPDIR)/fallocate.Po
-include ./$(DEPDIR)/fanotify_init.Po
-include ./$(DEPDIR)/fanotify_mark.Po
-include ./$(DEPDIR)/fchdir.Po
-include ./$(DEPDIR)/fchmod.Po
-include ./$(DEPDIR)/fchmodat.Po
-include ./$(DEPDIR)/fchown.Po
-include ./$(DEPDIR)/fchown32.Po
-include ./$(DEPDIR)/fchownat.Po
-include ./$(DEPDIR)/fcntl.Po
-include ./$(DEPDIR)/fcntl64.Po
-include ./$(DEPDIR)/fdatasync.Po
-include ./$(DEPDIR)/file_handle.Po
-include ./$(DEPDIR)/file_ioctl.Po
-include ./$(DEPDIR)/filter-unavailable.Po
-include ./$(DEPDIR)/finit_module.Po
-include ./$(DEPDIR)/flock.Po
-include ./$(DEPDIR)/fork-f.Po
-include ./$(DEPDIR)/fstat.Po
-include ./$(DEPDIR)/fstat64-fstat64.Po
-include ./$(DEPDIR)/fstatat64-fstatat64.Po
-include ./$(DEPDIR)/fstatfs.Po
-include ./$(DEPDIR)/fstatfs64.Po
-include ./$(DEPDIR)/fsync.Po
-include ./$(DEPDIR)/ftruncate.Po
-include ./$(DEPDIR)/ftruncate64-ftruncate64.Po
-include ./$(DEPDIR)/futex.Po
-include ./$(DEPDIR)/futimesat.Po
-include ./$(DEPDIR)/get_mempolicy.Po
-include ./$(DEPDIR)/getcpu.Po
-include ./$(DEPDIR)/getcwd.Po
-include ./$(DEPDIR)/getdents.Po
-include ./$(DEPDIR)/getdents64.Po
-include ./$(DEPDIR)/getegid.Po
-include ./$(DEPDIR)/getegid32.Po
-include ./$(DEPDIR)/geteuid.Po
-include ./$(DEPDIR)/geteuid32.Po
-include ./$(DEPDIR)/getgid.Po
-include ./$(DEPDIR)/getgid32.Po
-include ./$(DEPDIR)/getgroups.Po
-include ./$(DEPDIR)/getgroups32.Po
-include ./$(DEPDIR)/getpeername.Po
-include ./$(DEPDIR)/getpgrp.Po
-include ./$(DEPDIR)/getpid.Po
-include ./$(DEPDIR)/getppid.Po
-include ./$(DEPDIR)/getrandom.Po
-include ./$(DEPDIR)/getresgid.Po
-include ./$(DEPDIR)/getresgid32.Po
-include ./$(DEPDIR)/getresuid.Po
-include ./$(DEPDIR)/getresuid32.Po
-include ./$(DEPDIR)/getrlimit.Po
-include ./$(DEPDIR)/getrusage.Po
-include ./$(DEPDIR)/getsid.Po
-include ./$(DEPDIR)/getsockname.Po
-include ./$(DEPDIR)/gettid.Po
-include ./$(DEPDIR)/getuid.Po
-include ./$(DEPDIR)/getuid32.Po
-include ./$(DEPDIR)/getxxid.Po
-include ./$(DEPDIR)/inet-cmsg.Po
-include ./$(DEPDIR)/init_module.Po
-include ./$(DEPDIR)/inotify.Po
-include ./$(DEPDIR)/inotify_init1.Po
-include ./$(DEPDIR)/int_0x80.Po
-include ./$(DEPDIR)/ioctl.Po
-include ./$(DEPDIR)/ioctl_block.Po
-include ./$(DEPDIR)/ioctl_dm-v.Po
-include ./$(DEPDIR)/ioctl_dm.Po
-include ./$(DEPDIR)/ioctl_evdev-v.Po
-include ./$(DEPDIR)/ioctl_evdev.Po
-include ./$(DEPDIR)/ioctl_loop-nv.Po
-include ./$(DEPDIR)/ioctl_loop-v.Po
-include ./$(DEPDIR)/ioctl_loop.Po
-include ./$(DEPDIR)/ioctl_mtd.Po
-include ./$(DEPDIR)/ioctl_nsfs.Po
-include ./$(DEPDIR)/ioctl_rtc-v.Po
-include ./$(DEPDIR)/ioctl_rtc.Po
-include ./$(DEPDIR)/ioctl_scsi.Po
-include ./$(DEPDIR)/ioctl_sg_io_v3.Po
-include ./$(DEPDIR)/ioctl_sg_io_v4.Po
-include ./$(DEPDIR)/ioctl_sock_gifconf.Po
-include ./$(DEPDIR)/ioctl_uffdio.Po
-include ./$(DEPDIR)/ioctl_v4l2.Po
-include ./$(DEPDIR)/ioperm.Po
-include ./$(DEPDIR)/iopl.Po
-include ./$(DEPDIR)/ioprio.Po
-include ./$(DEPDIR)/ip_mreq.Po
-include ./$(DEPDIR)/ipc.Po
-include ./$(DEPDIR)/ipc_msg.Po
-include ./$(DEPDIR)/ipc_msgbuf.Po
-include ./$(DEPDIR)/ipc_sem.Po
-include ./$(DEPDIR)/ipc_shm.Po
-include ./$(DEPDIR)/kcmp.Po
-include ./$(DEPDIR)/kexec_file_load.Po
-include ./$(DEPDIR)/kexec_load.Po
-include ./$(DEPDIR)/keyctl.Po
-include ./$(DEPDIR)/kill.Po
-include ./$(DEPDIR)/ksysent.Po
-include ./$(DEPDIR)/lchown.Po
-include ./$(DEPDIR)/lchown32.Po
-include ./$(DEPDIR)/libtests_a-errno2name.Po
-include ./$(DEPDIR)/libtests_a-error_msg.Po
-include ./$(DEPDIR)/libtests_a-fill_memory.Po
-include ./$(DEPDIR)/libtests_a-get_page_size.Po
-include ./$(DEPDIR)/libtests_a-get_sigset_size.Po
-include ./$(DEPDIR)/libtests_a-hexdump_strdup.Po
-include ./$(DEPDIR)/libtests_a-hexquote_strndup.Po
-include ./$(DEPDIR)/libtests_a-inode_of_sockfd.Po
-include ./$(DEPDIR)/libtests_a-libmmsg.Po
-include ./$(DEPDIR)/libtests_a-libsocketcall.Po
-include ./$(DEPDIR)/libtests_a-overflowuid.Po
-include ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
-include ./$(DEPDIR)/libtests_a-print_quoted_string.Po
-include ./$(DEPDIR)/libtests_a-print_time.Po
-include ./$(DEPDIR)/libtests_a-printflags.Po
-include ./$(DEPDIR)/libtests_a-printxval.Po
-include ./$(DEPDIR)/libtests_a-signal2name.Po
-include ./$(DEPDIR)/libtests_a-skip_unavailable.Po
-include ./$(DEPDIR)/libtests_a-sprintrc.Po
-include ./$(DEPDIR)/libtests_a-tail_alloc.Po
-include ./$(DEPDIR)/libtests_a-tprintf.Po
-include ./$(DEPDIR)/link.Po
-include ./$(DEPDIR)/linkat.Po
-include ./$(DEPDIR)/llseek.Po
-include ./$(DEPDIR)/lookup_dcookie.Po
-include ./$(DEPDIR)/lseek.Po
-include ./$(DEPDIR)/lstat.Po
-include ./$(DEPDIR)/lstat64-lstat64.Po
-include ./$(DEPDIR)/madvise.Po
-include ./$(DEPDIR)/mbind.Po
-include ./$(DEPDIR)/membarrier.Po
-include ./$(DEPDIR)/memfd_create.Po
-include ./$(DEPDIR)/migrate_pages.Po
-include ./$(DEPDIR)/mincore.Po
-include ./$(DEPDIR)/mkdir.Po
-include ./$(DEPDIR)/mkdirat.Po
-include ./$(DEPDIR)/mknod.Po
-include ./$(DEPDIR)/mknodat.Po
-include ./$(DEPDIR)/mlock.Po
-include ./$(DEPDIR)/mlock2.Po
-include ./$(DEPDIR)/mlockall.Po
-include ./$(DEPDIR)/mmap.Po
-include ./$(DEPDIR)/mmap64-mmap64.Po
-include ./$(DEPDIR)/mmsg-silent.Po
-include ./$(DEPDIR)/mmsg.Po
-include ./$(DEPDIR)/mmsg_name-v.Po
-include ./$(DEPDIR)/mmsg_name.Po
-include ./$(DEPDIR)/mount.Po
-include ./$(DEPDIR)/move_pages.Po
-include ./$(DEPDIR)/mq.Po
-include ./$(DEPDIR)/mq_sendrecv-read.Po
-include ./$(DEPDIR)/mq_sendrecv-write.Po
-include ./$(DEPDIR)/mq_sendrecv.Po
-include ./$(DEPDIR)/msg_control-v.Po
-include ./$(DEPDIR)/msg_control.Po
-include ./$(DEPDIR)/msg_name.Po
-include ./$(DEPDIR)/munlockall.Po
-include ./$(DEPDIR)/nanosleep.Po
-include ./$(DEPDIR)/net-accept-connect.Po
-include ./$(DEPDIR)/net-icmp_filter.Po
-include ./$(DEPDIR)/net-sockaddr.Po
-include ./$(DEPDIR)/net-y-unix.Po
-include ./$(DEPDIR)/net-yy-inet.Po
-include ./$(DEPDIR)/net-yy-netlink.Po
-include ./$(DEPDIR)/net-yy-unix.Po
-include ./$(DEPDIR)/netlink_inet_diag.Po
-include ./$(DEPDIR)/netlink_netlink_diag.Po
-include ./$(DEPDIR)/netlink_protocol.Po
-include ./$(DEPDIR)/netlink_unix_diag.Po
-include ./$(DEPDIR)/newfstatat-newfstatat.Po
-include ./$(DEPDIR)/nsyscalls.Po
-include ./$(DEPDIR)/old_mmap.Po
-include ./$(DEPDIR)/oldfstat.Po
-include ./$(DEPDIR)/oldlstat.Po
-include ./$(DEPDIR)/oldselect.Po
-include ./$(DEPDIR)/oldstat.Po
-include ./$(DEPDIR)/open.Po
-include ./$(DEPDIR)/openat.Po
-include ./$(DEPDIR)/osf_utimes.Po
-include ./$(DEPDIR)/pause.Po
-include ./$(DEPDIR)/pc.Po
-include ./$(DEPDIR)/perf_event_open.Po
-include ./$(DEPDIR)/perf_event_open_nonverbose.Po
-include ./$(DEPDIR)/perf_event_open_unabbrev.Po
-include ./$(DEPDIR)/personality.Po
-include ./$(DEPDIR)/pipe.Po
-include ./$(DEPDIR)/pipe2.Po
-include ./$(DEPDIR)/pkey_alloc.Po
-include ./$(DEPDIR)/pkey_free.Po
-include ./$(DEPDIR)/pkey_mprotect.Po
-include ./$(DEPDIR)/poll.Po
-include ./$(DEPDIR)/ppoll-v.Po
-include ./$(DEPDIR)/ppoll.Po
-include ./$(DEPDIR)/prctl-arg2-intptr.Po
-include ./$(DEPDIR)/prctl-dumpable.Po
-include ./$(DEPDIR)/prctl-name.Po
-include ./$(DEPDIR)/prctl-no-args.Po
-include ./$(DEPDIR)/prctl-pdeathsig.Po
-include ./$(DEPDIR)/prctl-seccomp-filter-v.Po
-include ./$(DEPDIR)/prctl-seccomp-strict.Po
-include ./$(DEPDIR)/prctl-securebits.Po
-include ./$(DEPDIR)/prctl-tid_address.Po
-include ./$(DEPDIR)/prctl-tsc.Po
-include ./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-include ./$(DEPDIR)/preadv-preadv.Po
-include ./$(DEPDIR)/preadv2-pwritev2.Po
-include ./$(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-include ./$(DEPDIR)/print_maxfd.Po
-include ./$(DEPDIR)/printstr.Po
-include ./$(DEPDIR)/prlimit64.Po
-include ./$(DEPDIR)/process_vm_readv.Po
-include ./$(DEPDIR)/process_vm_writev.Po
-include ./$(DEPDIR)/pselect6.Po
-include ./$(DEPDIR)/ptrace.Po
-include ./$(DEPDIR)/pwritev-pwritev.Po
-include ./$(DEPDIR)/qual_fault.Po
-include ./$(DEPDIR)/qual_inject-error-signal.Po
-include ./$(DEPDIR)/qual_inject-retval.Po
-include ./$(DEPDIR)/qual_inject-signal.Po
-include ./$(DEPDIR)/qual_signal.Po
-include ./$(DEPDIR)/quotactl-v.Po
-include ./$(DEPDIR)/quotactl-xfs-v.Po
-include ./$(DEPDIR)/quotactl-xfs.Po
-include ./$(DEPDIR)/quotactl.Po
-include ./$(DEPDIR)/read-write.Po
-include ./$(DEPDIR)/readahead.Po
-include ./$(DEPDIR)/readdir.Po
-include ./$(DEPDIR)/readlink.Po
-include ./$(DEPDIR)/readlinkat.Po
-include ./$(DEPDIR)/readv.Po
-include ./$(DEPDIR)/reboot.Po
-include ./$(DEPDIR)/recvfrom.Po
-include ./$(DEPDIR)/recvmmsg-timeout.Po
-include ./$(DEPDIR)/recvmsg.Po
-include ./$(DEPDIR)/redirect-fds.Po
-include ./$(DEPDIR)/remap_file_pages.Po
-include ./$(DEPDIR)/rename.Po
-include ./$(DEPDIR)/renameat.Po
-include ./$(DEPDIR)/renameat2.Po
-include ./$(DEPDIR)/request_key.Po
-include ./$(DEPDIR)/restart_syscall.Po
-include ./$(DEPDIR)/rmdir.Po
-include ./$(DEPDIR)/rt_sigpending.Po
-include ./$(DEPDIR)/rt_sigprocmask.Po
-include ./$(DEPDIR)/rt_sigqueueinfo.Po
-include ./$(DEPDIR)/rt_sigreturn.Po
-include ./$(DEPDIR)/rt_sigsuspend.Po
-include ./$(DEPDIR)/rt_sigtimedwait.Po
-include ./$(DEPDIR)/rt_tgsigqueueinfo.Po
-include ./$(DEPDIR)/sched_get_priority_mxx.Po
-include ./$(DEPDIR)/sched_rr_get_interval.Po
-include ./$(DEPDIR)/sched_xetaffinity.Po
-include ./$(DEPDIR)/sched_xetattr.Po
-include ./$(DEPDIR)/sched_xetparam.Po
-include ./$(DEPDIR)/sched_xetscheduler.Po
-include ./$(DEPDIR)/sched_yield.Po
-include ./$(DEPDIR)/scm_rights.Po
-include ./$(DEPDIR)/seccomp-filter-v.Po
-include ./$(DEPDIR)/seccomp-filter.Po
-include ./$(DEPDIR)/seccomp-strict.Po
-include ./$(DEPDIR)/select.Po
-include ./$(DEPDIR)/semop.Po
-include ./$(DEPDIR)/sendfile.Po
-include ./$(DEPDIR)/sendfile64.Po
-include ./$(DEPDIR)/set_mempolicy.Po
-include ./$(DEPDIR)/set_ptracer_any.Po
-include ./$(DEPDIR)/setdomainname.Po
-include ./$(DEPDIR)/setfsgid.Po
-include ./$(DEPDIR)/setfsgid32.Po
-include ./$(DEPDIR)/setfsuid.Po
-include ./$(DEPDIR)/setfsuid32.Po
-include ./$(DEPDIR)/setgid.Po
-include ./$(DEPDIR)/setgid32.Po
-include ./$(DEPDIR)/setgroups.Po
-include ./$(DEPDIR)/setgroups32.Po
-include ./$(DEPDIR)/sethostname.Po
-include ./$(DEPDIR)/setns.Po
-include ./$(DEPDIR)/setregid.Po
-include ./$(DEPDIR)/setregid32.Po
-include ./$(DEPDIR)/setresgid.Po
-include ./$(DEPDIR)/setresgid32.Po
-include ./$(DEPDIR)/setresuid.Po
-include ./$(DEPDIR)/setresuid32.Po
-include ./$(DEPDIR)/setreuid.Po
-include ./$(DEPDIR)/setreuid32.Po
-include ./$(DEPDIR)/setrlimit.Po
-include ./$(DEPDIR)/setuid.Po
-include ./$(DEPDIR)/setuid32.Po
-include ./$(DEPDIR)/shmxt.Po
-include ./$(DEPDIR)/shutdown.Po
-include ./$(DEPDIR)/sigaction.Po
-include ./$(DEPDIR)/sigaltstack.Po
-include ./$(DEPDIR)/siginfo.Po
-include ./$(DEPDIR)/signal_receive.Po
-include ./$(DEPDIR)/signalfd4.Po
-include ./$(DEPDIR)/sigreturn.Po
-include ./$(DEPDIR)/sigsuspend.Po
-include ./$(DEPDIR)/sleep.Po
-include ./$(DEPDIR)/socketcall.Po
-include ./$(DEPDIR)/splice.Po
-include ./$(DEPDIR)/stack-fcall-0.Po
-include ./$(DEPDIR)/stack-fcall-1.Po
-include ./$(DEPDIR)/stack-fcall-2.Po
-include ./$(DEPDIR)/stack-fcall-3.Po
-include ./$(DEPDIR)/stack-fcall.Po
-include ./$(DEPDIR)/stat.Po
-include ./$(DEPDIR)/stat64-stat64.Po
-include ./$(DEPDIR)/statfs-statfs.Po
-include ./$(DEPDIR)/statfs64.Po
-include ./$(DEPDIR)/statx.Po
-include ./$(DEPDIR)/swap.Po
-include ./$(DEPDIR)/sxetmask.Po
-include ./$(DEPDIR)/symlink.Po
-include ./$(DEPDIR)/symlinkat.Po
-include ./$(DEPDIR)/sync.Po
-include ./$(DEPDIR)/sync_file_range.Po
-include ./$(DEPDIR)/sync_file_range2.Po
-include ./$(DEPDIR)/sysinfo.Po
-include ./$(DEPDIR)/syslog.Po
-include ./$(DEPDIR)/tee.Po
-include ./$(DEPDIR)/threads-execve.Po
-include ./$(DEPDIR)/time.Po
-include ./$(DEPDIR)/timer_create.Po
-include ./$(DEPDIR)/timer_xettime.Po
-include ./$(DEPDIR)/timerfd_xettime.Po
-include ./$(DEPDIR)/times-fail.Po
-include ./$(DEPDIR)/times.Po
-include ./$(DEPDIR)/truncate.Po
-include ./$(DEPDIR)/truncate64-truncate64.Po
-include ./$(DEPDIR)/ugetrlimit.Po
-include ./$(DEPDIR)/uio-uio.Po
-include ./$(DEPDIR)/umask.Po
-include ./$(DEPDIR)/umount.Po
-include ./$(DEPDIR)/umount2.Po
-include ./$(DEPDIR)/umoven-illptr.Po
-include ./$(DEPDIR)/umovestr-illptr.Po
-include ./$(DEPDIR)/umovestr.Po
-include ./$(DEPDIR)/umovestr2.Po
-include ./$(DEPDIR)/umovestr3.Po
-include ./$(DEPDIR)/uname.Po
-include ./$(DEPDIR)/unix-pair-send-recv.Po
-include ./$(DEPDIR)/unix-pair-sendto-recvfrom.Po
-include ./$(DEPDIR)/unlink.Po
-include ./$(DEPDIR)/unlinkat.Po
-include ./$(DEPDIR)/unshare.Po
-include ./$(DEPDIR)/userfaultfd.Po
-include ./$(DEPDIR)/ustat.Po
-include ./$(DEPDIR)/utime.Po
-include ./$(DEPDIR)/utimensat.Po
-include ./$(DEPDIR)/utimes.Po
-include ./$(DEPDIR)/vfork-f.Po
-include ./$(DEPDIR)/vhangup.Po
-include ./$(DEPDIR)/vmsplice.Po
-include ./$(DEPDIR)/wait4-v.Po
-include ./$(DEPDIR)/wait4.Po
-include ./$(DEPDIR)/waitid-v.Po
-include ./$(DEPDIR)/waitid.Po
-include ./$(DEPDIR)/waitpid.Po
-include ./$(DEPDIR)/xattr-strings.Po
-include ./$(DEPDIR)/xattr.Po
-include ./$(DEPDIR)/xet_robust_list.Po
-include ./$(DEPDIR)/xetitimer.Po
-include ./$(DEPDIR)/xetpgid.Po
-include ./$(DEPDIR)/xetpriority.Po
-include ./$(DEPDIR)/xettimeofday.Po
-
-.c.o:
- $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# $(AM_V_CC)source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
-
-.c.obj:
- $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# $(AM_V_CC)source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-libtests_a-errno2name.o: errno2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-# $(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
-
-libtests_a-errno2name.obj: errno2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-# $(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
-
-libtests_a-error_msg.o: error_msg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.o -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
-# $(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
-
-libtests_a-error_msg.obj: error_msg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.obj -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
-# $(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
-
-libtests_a-fill_memory.o: fill_memory.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.o -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
-# $(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
-
-libtests_a-fill_memory.obj: fill_memory.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.obj -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
-# $(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
-
-libtests_a-get_page_size.o: get_page_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
-# $(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
-
-libtests_a-get_page_size.obj: get_page_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
-# $(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
-
-libtests_a-get_sigset_size.o: get_sigset_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
-# $(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_size.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_sigset_size.o `test -f 'get_sigset_size.c' || echo '$(srcdir)/'`get_sigset_size.c
-
-libtests_a-get_sigset_size.obj: get_sigset_size.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_sigset_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_sigset_size.Tpo -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_sigset_size.Tpo $(DEPDIR)/libtests_a-get_sigset_size.Po
-# $(AM_V_CC)source='get_sigset_size.c' object='libtests_a-get_sigset_size.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_sigset_size.obj `if test -f 'get_sigset_size.c'; then $(CYGPATH_W) 'get_sigset_size.c'; else $(CYGPATH_W) '$(srcdir)/get_sigset_size.c'; fi`
-
-libtests_a-hexdump_strdup.o: hexdump_strdup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
-# $(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
-
-libtests_a-hexdump_strdup.obj: hexdump_strdup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
-# $(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
-
-libtests_a-hexquote_strndup.o: hexquote_strndup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
-# $(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
-
-libtests_a-hexquote_strndup.obj: hexquote_strndup.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
-# $(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
-
-libtests_a-inode_of_sockfd.o: inode_of_sockfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.o -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
-# $(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
-
-libtests_a-inode_of_sockfd.obj: inode_of_sockfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
-# $(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
-
-libtests_a-libmmsg.o: libmmsg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.o -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
-# $(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
-
-libtests_a-libmmsg.obj: libmmsg.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.obj -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
-# $(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
-
-libtests_a-libsocketcall.o: libsocketcall.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.o -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
-# $(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
-
-libtests_a-libsocketcall.obj: libsocketcall.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.obj -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
-# $(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
-
-libtests_a-overflowuid.o: overflowuid.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.o -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
-# $(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
-
-libtests_a-overflowuid.obj: overflowuid.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.obj -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
-# $(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
-
-libtests_a-pipe_maxfd.o: pipe_maxfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-# $(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
-
-libtests_a-pipe_maxfd.obj: pipe_maxfd.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-# $(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
-
-libtests_a-print_quoted_string.o: print_quoted_string.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.o -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
-# $(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
-
-libtests_a-print_quoted_string.obj: print_quoted_string.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
-# $(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
-
-libtests_a-print_time.o: print_time.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.o -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
-# $(AM_V_CC)source='print_time.c' object='libtests_a-print_time.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_time.o `test -f 'print_time.c' || echo '$(srcdir)/'`print_time.c
-
-libtests_a-print_time.obj: print_time.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_time.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_time.Tpo -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_time.Tpo $(DEPDIR)/libtests_a-print_time.Po
-# $(AM_V_CC)source='print_time.c' object='libtests_a-print_time.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_time.obj `if test -f 'print_time.c'; then $(CYGPATH_W) 'print_time.c'; else $(CYGPATH_W) '$(srcdir)/print_time.c'; fi`
-
-libtests_a-printflags.o: printflags.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.o -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
-# $(AM_V_CC)source='printflags.c' object='libtests_a-printflags.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
-
-libtests_a-printflags.obj: printflags.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.obj -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
-# $(AM_V_CC)source='printflags.c' object='libtests_a-printflags.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
-
-libtests_a-printxval.o: printxval.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.o -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
-# $(AM_V_CC)source='printxval.c' object='libtests_a-printxval.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
-
-libtests_a-printxval.obj: printxval.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.obj -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
-# $(AM_V_CC)source='printxval.c' object='libtests_a-printxval.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
-
-libtests_a-signal2name.o: signal2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-# $(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
-
-libtests_a-signal2name.obj: signal2name.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-# $(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
-
-libtests_a-skip_unavailable.o: skip_unavailable.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.o -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
-# $(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-skip_unavailable.o `test -f 'skip_unavailable.c' || echo '$(srcdir)/'`skip_unavailable.c
-
-libtests_a-skip_unavailable.obj: skip_unavailable.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-skip_unavailable.obj -MD -MP -MF $(DEPDIR)/libtests_a-skip_unavailable.Tpo -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-skip_unavailable.Tpo $(DEPDIR)/libtests_a-skip_unavailable.Po
-# $(AM_V_CC)source='skip_unavailable.c' object='libtests_a-skip_unavailable.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-skip_unavailable.obj `if test -f 'skip_unavailable.c'; then $(CYGPATH_W) 'skip_unavailable.c'; else $(CYGPATH_W) '$(srcdir)/skip_unavailable.c'; fi`
-
-libtests_a-sprintrc.o: sprintrc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.o -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
-# $(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
-
-libtests_a-sprintrc.obj: sprintrc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.obj -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
-# $(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
-
-libtests_a-tail_alloc.o: tail_alloc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-# $(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
-
-libtests_a-tail_alloc.obj: tail_alloc.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.obj -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-# $(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
-
-libtests_a-tprintf.o: tprintf.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.o -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
-# $(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
-
-libtests_a-tprintf.obj: tprintf.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.obj -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
-# $(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
-
-fstat64-fstat64.o: fstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-# $(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
-
-fstat64-fstat64.obj: fstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.obj -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-# $(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
-
-fstatat64-fstatat64.o: fstatat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.o -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
-# $(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
-
-fstatat64-fstatat64.obj: fstatat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.obj -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
-# $(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
-
-ftruncate64-ftruncate64.o: ftruncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.o -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
-# $(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
-
-ftruncate64-ftruncate64.obj: ftruncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.obj -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
-# $(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
-
-lstat64-lstat64.o: lstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.o -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
-# $(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
-
-lstat64-lstat64.obj: lstat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.obj -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
-# $(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
-
-mmap64-mmap64.o: mmap64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.o -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
-# $(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
-
-mmap64-mmap64.obj: mmap64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.obj -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
-# $(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
-
-newfstatat-newfstatat.o: newfstatat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.o -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
-# $(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
-
-newfstatat-newfstatat.obj: newfstatat.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.obj -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
-# $(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
-
-pread64_pwrite64-pread64-pwrite64.o: pread64-pwrite64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.o -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-# $(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
-
-pread64_pwrite64-pread64-pwrite64.obj: pread64-pwrite64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.obj -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
-# $(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
-
-preadv-preadv.o: preadv.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.o -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
-# $(AM_V_CC)source='preadv.c' object='preadv-preadv.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
-
-preadv-preadv.obj: preadv.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.obj -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
-# $(AM_V_CC)source='preadv.c' object='preadv-preadv.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
-
-preadv_pwritev-preadv-pwritev.o: preadv-pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.o -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-# $(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
-
-preadv_pwritev-preadv-pwritev.obj: preadv-pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.obj -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
-# $(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
-
-pwritev-pwritev.o: pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.o -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
-# $(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
-
-pwritev-pwritev.obj: pwritev.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.obj -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
-# $(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
-
-stat64-stat64.o: stat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.o -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
-# $(AM_V_CC)source='stat64.c' object='stat64-stat64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
-
-stat64-stat64.obj: stat64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.obj -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
-# $(AM_V_CC)source='stat64.c' object='stat64-stat64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
-
-statfs-statfs.o: statfs.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.o -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
-# $(AM_V_CC)source='statfs.c' object='statfs-statfs.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
-
-statfs-statfs.obj: statfs.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.obj -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
-# $(AM_V_CC)source='statfs.c' object='statfs-statfs.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
-
-truncate64-truncate64.o: truncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-# $(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
-
-truncate64-truncate64.obj: truncate64.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.obj -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-# $(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
-
-uio-uio.o: uio.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.o -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
- $(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
-# $(AM_V_CC)source='uio.c' object='uio-uio.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
-
-uio-uio.obj: uio.c
- $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.obj -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
- $(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
-# $(AM_V_CC)source='uio.c' object='uio-uio.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
-check-valgrind-local:
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
- rm -f $< $@
- $(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
- @:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
- @$(am__set_TESTS_bases); \
- am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
- redo_bases=`for i in $$bases; do \
- am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
- done`; \
- if test -n "$$redo_bases"; then \
- redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
- redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
- if $(am__make_dryrun); then :; else \
- rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
- fi; \
- fi; \
- if test -n "$$am__remaking_logs"; then \
- echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
- "recursion detected" >&2; \
- else \
- am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
- fi; \
- if $(am__make_dryrun); then :; else \
- st=0; \
- errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
- for i in $$redo_bases; do \
- test -f $$i.trs && test -r $$i.trs \
- || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
- test -f $$i.log && test -r $$i.log \
- || { echo "$$errmsg $$i.log" >&2; st=1; }; \
- done; \
- test $$st -eq 0 || exit 1; \
- fi
- @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
- ws='[ ]'; \
- results=`for b in $$bases; do echo $$b.trs; done`; \
- test -n "$$results" || results=/dev/null; \
- all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
- pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
- fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
- skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
- xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
- xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
- error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
- if test `expr $$fail + $$xpass + $$error` -eq 0; then \
- success=true; \
- else \
- success=false; \
- fi; \
- br='==================='; br=$$br$$br$$br$$br; \
- result_count () \
- { \
- if test x"$$1" = x"--maybe-color"; then \
- maybe_colorize=yes; \
- elif test x"$$1" = x"--no-color"; then \
- maybe_colorize=no; \
- else \
- echo "$@: invalid 'result_count' usage" >&2; exit 4; \
- fi; \
- shift; \
- desc=$$1 count=$$2; \
- if test $$maybe_colorize = yes && test $$count -gt 0; then \
- color_start=$$3 color_end=$$std; \
- else \
- color_start= color_end=; \
- fi; \
- echo "$${color_start}# $$desc $$count$${color_end}"; \
- }; \
- create_testsuite_report () \
- { \
- result_count $$1 "TOTAL:" $$all "$$brg"; \
- result_count $$1 "PASS: " $$pass "$$grn"; \
- result_count $$1 "SKIP: " $$skip "$$blu"; \
- result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
- result_count $$1 "FAIL: " $$fail "$$red"; \
- result_count $$1 "XPASS:" $$xpass "$$red"; \
- result_count $$1 "ERROR:" $$error "$$mgn"; \
- }; \
- { \
- echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
- $(am__rst_title); \
- create_testsuite_report --no-color; \
- echo; \
- echo ".. contents:: :depth: 2"; \
- echo; \
- for b in $$bases; do echo $$b; done \
- | $(am__create_global_log); \
- } >$(TEST_SUITE_LOG).tmp || exit 1; \
- mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
- if $$success; then \
- col="$$grn"; \
- else \
- col="$$red"; \
- test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
- fi; \
- echo "$${col}$$br$${std}"; \
- echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
- echo "$${col}$$br$${std}"; \
- create_testsuite_report --maybe-color; \
- echo "$$col$$br$$std"; \
- if $$success; then :; else \
- echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
- if test -n "$(PACKAGE_BUGREPORT)"; then \
- echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
- fi; \
- echo "$$col$$br$$std"; \
- fi; \
- $$success || exit 1
-
-check-TESTS:
- @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
- @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- trs_list=`for i in $$bases; do echo $$i.trs; done`; \
- log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
- exit $$?;
-recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
- @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set +e; $(am__set_TESTS_bases); \
- bases=`for i in $$bases; do echo $$i; done \
- | $(am__list_recheck_tests)` || exit 1; \
- log_list=`for i in $$bases; do echo $$i.log; done`; \
- log_list=`echo $$log_list`; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
- am__force_recheck=am--force-recheck \
- TEST_LOGS="$$log_list"; \
- exit $$?
-.test.log:
- @p='$<'; \
- $(am__set_b); \
- $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
-#.test$(EXEEXT).log:
-# @p='$<'; \
-# $(am__set_b); \
-# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-# --log-file $$b.log --trs-file $$b.trs \
-# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-# "$$tst" $(AM_TESTS_FD_REDIRECT)
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
- -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
- -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
- -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-check-valgrind: check-valgrind-am
-
-check-valgrind-am: check-valgrind-local
-
-clean: clean-am
-
-clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
- clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
- check-valgrind-am check-valgrind-local clean \
- clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
- clean-local cscopelist-am ctags ctags-am distclean \
- distclean-compile distclean-generic distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \
- uninstall uninstall-am
-
-
-$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- $(AM_V_GEN) $^ $@
-
-
-# Valgrind check
-#
-# Optional:
-# - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions
-# files to load. (Default: empty)
-# - VALGRIND_FLAGS: General flags to pass to all Valgrind tools.
-# (Default: --num-callers=30)
-# - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of:
-# memcheck, helgrind, drd, sgcheck). (Default: various)
-
-# Optional variables
-VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES))
-VALGRIND_FLAGS ?= --num-callers=30
-VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no
-VALGRIND_helgrind_FLAGS ?= --history-level=approx
-VALGRIND_drd_FLAGS ?=
-VALGRIND_sgcheck_FLAGS ?=
-
-# Internal use
-valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools)))
-
-valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS)
-valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS)
-valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS)
-valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS)
-
-valgrind_quiet = $(valgrind_quiet_$(V))
-valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY))
-valgrind_quiet_0 = --quiet
-valgrind_v_use = $(valgrind_v_use_$(V))
-valgrind_v_use_ = $(valgrind_v_use_$(AM_DEFAULT_VERBOSITY))
-valgrind_v_use_0 = @echo " USE " $(patsubst check-valgrind-%,%,$@):;
-
-# Support running with and without libtool.
-ifneq ($(LIBTOOL),)
-valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute
-else
-valgrind_lt =
-endif
-
-# Use recursive makes in order to ignore errors during check
-check-valgrind:
-ifeq ($(VALGRIND_ENABLED),yes)
- -$(AM_V_at)$(foreach tool,$(valgrind_enabled_tools), \
- $(MAKE) $(AM_MAKEFLAGS) -k check-valgrind-$(tool); \
- )
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-
-# Valgrind running
-VALGRIND_TESTS_ENVIRONMENT = \
- $(TESTS_ENVIRONMENT) \
- env VALGRIND=$(VALGRIND) \
- G_SLICE=always-malloc,debug-blocks \
- G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly
-
-VALGRIND_LOG_COMPILER = \
- $(valgrind_lt) \
- $(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS)
-
-define valgrind_tool_rule =
-check-valgrind-$(1): $$(BUILT_SOURCES)
-ifeq ($$(VALGRIND_ENABLED)-$$(ENABLE_VALGRIND_$(1)),yes-yes)
- $$(valgrind_v_use)$$(MAKE) $$(AM_MAKEFLAGS) check-am \
- TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$$(valgrind_$(1)_flags)" \
- TEST_SUITE_LOG=test-suite-$(1).log
-else ifeq ($$(VALGRIND_ENABLED),yes)
- @echo "Need to reconfigure with --enable-valgrind-$(1)"
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-endef
-
-$(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool))))
-
-AM_DISTCHECK_CONFIGURE_FLAGS ?=
-AM_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind
-
-MOSTLYCLEANFILES ?=
-MOSTLYCLEANFILES += $(valgrind_log_files)
-
-.PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools))
-
-
-ksysent.h: $(srcdir)/ksysent.sed
- echo '#include <asm/unistd.h>' | \
- $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
- LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
- mv -f $@.t2 $@
- rm -f $@.t1
-
-ksysent.$(OBJEXT): ksysent.h
-$(objects): scno.h
-
-clean-local: clean-local-check
-.PHONY: clean-local-check
-clean-local-check:
- -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
-
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
- $(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
-
-scno.h: $(top_srcdir)/scno.head syscallent.i
- echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
- cat $< >> $@-t
- LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t
- mv $@-t $@
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 00000000..19b7400f
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,390 @@
+# Automake input for strace tests.
+#
+# Copyright (c) 2011-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2011-2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OS = linux
+ARCH = @arch@
+MPERS_NAME =
+ARCH_MFLAGS =
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = $(ARCH_MFLAGS) \
+ -I$(builddir) \
+ -I$(top_builddir)/$(OS)/$(ARCH) \
+ -I$(top_srcdir)/$(OS)/$(ARCH) \
+ -I$(top_builddir)/$(OS) \
+ -I$(top_srcdir)/$(OS) \
+ -I$(top_builddir) \
+ -I$(top_srcdir)
+AM_LDFLAGS = $(ARCH_MFLAGS)
+
+libtests_a_SOURCES = \
+ create_nl_socket.c \
+ errno2name.c \
+ error_msg.c \
+ fill_memory.c \
+ get_page_size.c \
+ get_sigset_size.c \
+ hexdump_strdup.c \
+ hexquote_strndup.c \
+ inode_of_sockfd.c \
+ libmmsg.c \
+ libsocketcall.c \
+ overflowuid.c \
+ pipe_maxfd.c \
+ print_quoted_string.c \
+ print_time.c \
+ printflags.c \
+ printxval.c \
+ signal2name.c \
+ skip_unavailable.c \
+ sprintrc.c \
+ tail_alloc.c \
+ test_nlattr.h \
+ tests.h \
+ tprintf.c \
+ # end of libtests_a_SOURCES
+libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+check_LIBRARIES = libtests.a
+LDADD = libtests.a
+
+include pure_executables.am
+
+check_PROGRAMS = $(PURE_EXECUTABLES) \
+ answer \
+ attach-f-p \
+ attach-f-p-cmd \
+ attach-p-cmd-cmd \
+ attach-p-cmd-p \
+ block_reset_raise_run \
+ caps-abbrev \
+ count-f \
+ execve-v \
+ execveat-v \
+ filter-unavailable \
+ fork-f \
+ getpid \
+ getppid \
+ gettid \
+ int_0x80 \
+ ioctl_dm-v \
+ ioctl_evdev-v \
+ ioctl_loop-nv \
+ ioctl_loop-v \
+ ioctl_nsfs \
+ ioctl_rtc-v \
+ ksysent \
+ mmsg-silent \
+ mmsg_name-v \
+ msg_control-v \
+ net-accept-connect \
+ netlink_inet_diag \
+ netlink_netlink_diag \
+ netlink_unix_diag \
+ nsyscalls \
+ pc \
+ perf_event_open_nonverbose \
+ perf_event_open_unabbrev \
+ ppoll-v \
+ prctl-seccomp-filter-v \
+ prctl-seccomp-strict \
+ print_maxfd \
+ qual_fault \
+ qual_inject-error-signal \
+ qual_inject-retval \
+ qual_inject-signal \
+ qual_signal \
+ quotactl-v \
+ quotactl-xfs-v \
+ redirect-fds \
+ restart_syscall \
+ run_expect_termsig \
+ scm_rights \
+ seccomp-filter-v \
+ seccomp-strict \
+ set_ptracer_any \
+ signal_receive \
+ sleep \
+ stack-fcall \
+ threads-execve \
+ unblock_reset_raise \
+ unix-pair-send-recv \
+ unix-pair-sendto-recvfrom \
+ vfork-f \
+ wait4-v \
+ waitid-v \
+ zeroargc \
+ # end of check_PROGRAMS
+
+attach_f_p_LDADD = -lrt -lpthread $(LDADD)
+clock_xettime_LDADD = -lrt $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+filter_unavailable_LDADD = -lpthread $(LDADD)
+fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = -lrt $(LDADD)
+mq_sendrecv_LDADD = -lrt $(LDADD)
+mq_sendrecv_read_LDADD = -lrt $(LDADD)
+mq_sendrecv_write_LDADD = -lrt $(LDADD)
+newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pc_LDADD = $(dl_LIBS) $(LDADD)
+pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+threads_execve_LDADD = -lrt -lpthread $(LDADD)
+times_LDADD = -lrt $(LDADD)
+truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+
+stack_fcall_SOURCES = stack-fcall.c \
+ stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
+
+include gen_tests.am
+
+if USE_LIBUNWIND
+LIBUNWIND_TESTS = strace-k.test
+else
+LIBUNWIND_TESTS =
+endif
+
+DECODER_TESTS = \
+ brk.test \
+ btrfs-v.test \
+ btrfs-vw.test \
+ btrfs-w.test \
+ caps-abbrev.test \
+ caps.test \
+ eventfd.test \
+ execve-v.test \
+ execve.test \
+ fadvise64.test \
+ futex.test \
+ getuid.test \
+ ioctl.test \
+ ioctl_dm-v.test \
+ ioctl_dm.test \
+ ioctl_loop-nv.test \
+ ioctl_nsfs.test \
+ ioctl_sock_gifconf.test \
+ ipc_msgbuf.test \
+ llseek.test \
+ lseek.test \
+ mmap.test \
+ net-y-unix.test \
+ net-yy-inet.test \
+ net-yy-netlink.test \
+ net-yy-unix.test \
+ net.test \
+ netlink_sock_diag.test \
+ nsyscalls.test \
+ oldselect.test \
+ personality.test \
+ pipe.test \
+ poll.test \
+ prctl-arg2-intptr.test \
+ prctl-dumpable.test \
+ prctl-name.test \
+ prctl-no-args.test \
+ prctl-pdeathsig.test \
+ prctl-seccomp-filter-v.test \
+ prctl-seccomp-strict.test \
+ prctl-securebits.test \
+ prctl-tid_address.test \
+ prctl-tsc.test \
+ qual_fault-exit_group.test \
+ readv.test \
+ rt_sigaction.test \
+ scm_rights-fd.test \
+ seccomp-strict.test \
+ sigaltstack.test \
+ sun_path.test \
+ uio.test \
+ umount.test \
+ umount2.test \
+ umovestr.test \
+ umovestr2.test \
+ uname.test \
+ unix-pair-send-recv.test \
+ unix-pair-sendto-recvfrom.test \
+ # end of DECODER_TESTS
+
+MISC_TESTS = \
+ attach-f-p.test \
+ attach-p-cmd.test \
+ bexecve.test \
+ count-f.test \
+ count.test \
+ detach-running.test \
+ detach-sleeping.test \
+ detach-stopped.test \
+ filter-unavailable.test \
+ get_regs.test \
+ interactive_block.test \
+ ksysent.test \
+ opipe.test \
+ options-syntax.test \
+ pc.test \
+ qual_fault-syntax.test \
+ qual_fault.test \
+ qual_inject-error-signal.test \
+ qual_inject-retval.test \
+ qual_inject-signal.test \
+ qual_inject-syntax.test \
+ qual_signal.test \
+ qual_syscall.test \
+ redirect-fds.test \
+ redirect.test \
+ restart_syscall.test \
+ strace-C.test \
+ strace-E.test \
+ strace-S.test \
+ strace-T.test \
+ strace-V.test \
+ strace-ff.test \
+ strace-r.test \
+ strace-t.test \
+ strace-tt.test \
+ strace-ttt.test \
+ termsig.test \
+ threads-execve.test \
+ # end of MISC_TESTS
+
+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(LIBUNWIND_TESTS)
+
+XFAIL_TESTS_ =
+XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_x86_64 = int_0x80.gen.test
+XFAIL_TESTS_x32 = int_0x80.gen.test
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME)) $(XFAIL_TESTS_$(ARCH))
+
+TEST_LOG_COMPILER = env
+AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+
+@VALGRIND_CHECK_RULES@
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
+
+EXTRA_DIST = \
+ caps-abbrev.awk \
+ caps.awk \
+ clock.in \
+ count-f.expected \
+ eventfd.expected \
+ fadvise.h \
+ filter-unavailable.expected \
+ fstatat.c \
+ fstatx.c \
+ gen_pure_executables.sh \
+ gen_tests.in \
+ gen_tests.sh \
+ getresugid.c \
+ init.sh \
+ init_delete_module.h \
+ ioctl-v.sh \
+ ipc.sh \
+ ipc_msgbuf.expected \
+ ksysent.sed \
+ lstatx.c \
+ match.awk \
+ net.expected \
+ oldselect.expected \
+ pipe.expected \
+ process_vm_readv_writev.c \
+ pure_executables.list \
+ qual_fault-exit_group.expected \
+ qual_inject-error-signal.expected \
+ qual_inject-signal.expected \
+ quotactl.h \
+ regex.in \
+ rt_sigaction.awk \
+ run.sh \
+ sched.in \
+ scno_tampering.sh \
+ setfsugid.c \
+ setresugid.c \
+ setreugid.c \
+ setugid.c \
+ sigaltstack.expected \
+ sockname.c \
+ strace-C.expected \
+ strace-E.expected \
+ strace-T.expected \
+ strace-ff.expected \
+ strace-k.test \
+ strace-r.expected \
+ strace.supp \
+ struct_flock.c \
+ sun_path.expected \
+ trace_fstat.in \
+ trace_fstatfs.in \
+ trace_lstat.in \
+ trace_question.in \
+ trace_stat.in \
+ trace_stat_like.in \
+ trace_statfs.in \
+ trace_statfs_like.in \
+ uio.expected \
+ umode_t.c \
+ umovestr.expected \
+ unix-pair-send-recv.expected \
+ unix-pair-sendto-recvfrom.expected \
+ xchownx.c \
+ xgetrlimit.c \
+ xselect.c \
+ xstatfs.c \
+ xstatfs64.c \
+ xstatfsx.c \
+ xstatx.c \
+ xutimes.c \
+ $(TESTS)
+
+ksysent.h: $(srcdir)/ksysent.sed
+ echo '#include <asm/unistd.h>' | \
+ $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > $@.t1
+ LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < $@.t1 > $@.t2
+ mv -f $@.t2 $@
+ rm -f $@.t1
+
+ksysent.$(OBJEXT): ksysent.h
+
+objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
+$(objects): scno.h
+
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+ -rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
+
+CLEANFILES = ksysent.h
+
+include ../scno.am
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 4a51782f..f29c87bb 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -138,14 +138,14 @@ DIST_COMMON = $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am \
$(top_srcdir)/test-driver
check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
attach-f-p-cmd$(EXEEXT) attach-p-cmd-cmd$(EXEEXT) \
- attach-p-cmd-p$(EXEEXT) caps-abbrev$(EXEEXT) count-f$(EXEEXT) \
- execve-v$(EXEEXT) execveat-v$(EXEEXT) \
- filter-unavailable$(EXEEXT) fork-f$(EXEEXT) getpid$(EXEEXT) \
- getppid$(EXEEXT) gettid$(EXEEXT) int_0x80$(EXEEXT) \
- ioctl_dm-v$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
- ioctl_loop-nv$(EXEEXT) ioctl_loop-v$(EXEEXT) \
- ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) ksysent$(EXEEXT) \
- mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
+ attach-p-cmd-p$(EXEEXT) block_reset_raise_run$(EXEEXT) \
+ caps-abbrev$(EXEEXT) count-f$(EXEEXT) execve-v$(EXEEXT) \
+ execveat-v$(EXEEXT) filter-unavailable$(EXEEXT) \
+ fork-f$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
+ gettid$(EXEEXT) int_0x80$(EXEEXT) ioctl_dm-v$(EXEEXT) \
+ ioctl_evdev-v$(EXEEXT) ioctl_loop-nv$(EXEEXT) \
+ ioctl_loop-v$(EXEEXT) ioctl_nsfs$(EXEEXT) ioctl_rtc-v$(EXEEXT) \
+ ksysent$(EXEEXT) mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) pc$(EXEEXT) \
@@ -157,12 +157,13 @@ check_PROGRAMS = $(am__EXEEXT_1) answer$(EXEEXT) attach-f-p$(EXEEXT) \
qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
quotactl-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
- scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
- seccomp-strict$(EXEEXT) set_ptracer_any$(EXEEXT) \
- signal_receive$(EXEEXT) sleep$(EXEEXT) stack-fcall$(EXEEXT) \
- threads-execve$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+ run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
+ seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+ set_ptracer_any$(EXEEXT) signal_receive$(EXEEXT) \
+ sleep$(EXEEXT) stack-fcall$(EXEEXT) threads-execve$(EXEEXT) \
+ unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
- wait4-v$(EXEEXT) waitid-v$(EXEEXT)
+ wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT)
TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -187,8 +188,8 @@ am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
libtests_a_AR = $(AR) $(ARFLAGS)
libtests_a_LIBADD =
-am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
- libtests_a-error_msg.$(OBJEXT) \
+am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \
+ libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \
libtests_a-fill_memory.$(OBJEXT) \
libtests_a-get_page_size.$(OBJEXT) \
libtests_a-get_sigset_size.$(OBJEXT) \
@@ -264,18 +265,23 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
net-icmp_filter$(EXEEXT) net-sockaddr$(EXEEXT) \
net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
- netlink_protocol$(EXEEXT) newfstatat$(EXEEXT) \
- old_mmap$(EXEEXT) oldfstat$(EXEEXT) oldlstat$(EXEEXT) \
- oldselect$(EXEEXT) oldstat$(EXEEXT) open$(EXEEXT) \
- openat$(EXEEXT) osf_utimes$(EXEEXT) pause$(EXEEXT) \
- perf_event_open$(EXEEXT) personality$(EXEEXT) pipe$(EXEEXT) \
- pipe2$(EXEEXT) pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) \
- pkey_mprotect$(EXEEXT) poll$(EXEEXT) ppoll$(EXEEXT) \
- prctl-arg2-intptr$(EXEEXT) prctl-dumpable$(EXEEXT) \
- prctl-name$(EXEEXT) prctl-no-args$(EXEEXT) \
- prctl-pdeathsig$(EXEEXT) prctl-securebits$(EXEEXT) \
- prctl-tid_address$(EXEEXT) prctl-tsc$(EXEEXT) \
- pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+ netlink_audit$(EXEEXT) netlink_generic$(EXEEXT) \
+ netlink_netfilter$(EXEEXT) netlink_protocol$(EXEEXT) \
+ netlink_route$(EXEEXT) netlink_selinux$(EXEEXT) \
+ netlink_sock_diag$(EXEEXT) netlink_xfrm$(EXEEXT) \
+ newfstatat$(EXEEXT) nlattr$(EXEEXT) \
+ nlattr_inet_diag_msg$(EXEEXT) nlattr_netlink_diag_msg$(EXEEXT) \
+ nlattr_unix_diag_msg$(EXEEXT) old_mmap$(EXEEXT) \
+ oldfstat$(EXEEXT) oldlstat$(EXEEXT) oldselect$(EXEEXT) \
+ oldstat$(EXEEXT) open$(EXEEXT) openat$(EXEEXT) \
+ osf_utimes$(EXEEXT) pause$(EXEEXT) perf_event_open$(EXEEXT) \
+ personality$(EXEEXT) pipe$(EXEEXT) pipe2$(EXEEXT) \
+ pkey_alloc$(EXEEXT) pkey_free$(EXEEXT) pkey_mprotect$(EXEEXT) \
+ poll$(EXEEXT) ppoll$(EXEEXT) prctl-arg2-intptr$(EXEEXT) \
+ prctl-dumpable$(EXEEXT) prctl-name$(EXEEXT) \
+ prctl-no-args$(EXEEXT) prctl-pdeathsig$(EXEEXT) \
+ prctl-securebits$(EXEEXT) prctl-tid_address$(EXEEXT) \
+ prctl-tsc$(EXEEXT) pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
printstr$(EXEEXT) prlimit64$(EXEEXT) process_vm_readv$(EXEEXT) \
process_vm_writev$(EXEEXT) pselect6$(EXEEXT) ptrace$(EXEEXT) \
@@ -285,42 +291,43 @@ am__EXEEXT_1 = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
recvmsg$(EXEEXT) remap_file_pages$(EXEEXT) rename$(EXEEXT) \
renameat$(EXEEXT) renameat2$(EXEEXT) request_key$(EXEEXT) \
- rmdir$(EXEEXT) rt_sigpending$(EXEEXT) rt_sigprocmask$(EXEEXT) \
- rt_sigqueueinfo$(EXEEXT) rt_sigreturn$(EXEEXT) \
- rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
- rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
- sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
- sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
- sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
- seccomp-filter$(EXEEXT) select$(EXEEXT) semop$(EXEEXT) \
- sendfile$(EXEEXT) sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
- setdomainname$(EXEEXT) setfsgid$(EXEEXT) setfsgid32$(EXEEXT) \
- setfsuid$(EXEEXT) setfsuid32$(EXEEXT) setgid$(EXEEXT) \
- setgid32$(EXEEXT) setgroups$(EXEEXT) setgroups32$(EXEEXT) \
- sethostname$(EXEEXT) setns$(EXEEXT) setregid$(EXEEXT) \
- setregid32$(EXEEXT) setresgid$(EXEEXT) setresgid32$(EXEEXT) \
- setresuid$(EXEEXT) setresuid32$(EXEEXT) setreuid$(EXEEXT) \
- setreuid32$(EXEEXT) setrlimit$(EXEEXT) setuid$(EXEEXT) \
- setuid32$(EXEEXT) shmxt$(EXEEXT) shutdown$(EXEEXT) \
- sigaction$(EXEEXT) sigaltstack$(EXEEXT) siginfo$(EXEEXT) \
- signalfd4$(EXEEXT) sigreturn$(EXEEXT) sigsuspend$(EXEEXT) \
- socketcall$(EXEEXT) splice$(EXEEXT) stat$(EXEEXT) \
- stat64$(EXEEXT) statfs$(EXEEXT) statfs64$(EXEEXT) \
- statx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
- sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
- uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
- umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
- umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
- uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
- unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
- utime$(EXEEXT) utimensat$(EXEEXT) utimes$(EXEEXT) \
- vhangup$(EXEEXT) vmsplice$(EXEEXT) wait4$(EXEEXT) \
- waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
+ rmdir$(EXEEXT) rt_sigaction$(EXEEXT) rt_sigpending$(EXEEXT) \
+ rt_sigprocmask$(EXEEXT) rt_sigqueueinfo$(EXEEXT) \
+ rt_sigreturn$(EXEEXT) rt_sigsuspend$(EXEEXT) \
+ rt_sigtimedwait$(EXEEXT) rt_tgsigqueueinfo$(EXEEXT) \
+ sched_get_priority_mxx$(EXEEXT) sched_rr_get_interval$(EXEEXT) \
+ sched_xetaffinity$(EXEEXT) sched_xetattr$(EXEEXT) \
+ sched_xetparam$(EXEEXT) sched_xetscheduler$(EXEEXT) \
+ sched_yield$(EXEEXT) seccomp-filter$(EXEEXT) select$(EXEEXT) \
+ semop$(EXEEXT) sendfile$(EXEEXT) sendfile64$(EXEEXT) \
+ set_mempolicy$(EXEEXT) setdomainname$(EXEEXT) \
+ setfsgid$(EXEEXT) setfsgid32$(EXEEXT) setfsuid$(EXEEXT) \
+ setfsuid32$(EXEEXT) setgid$(EXEEXT) setgid32$(EXEEXT) \
+ setgroups$(EXEEXT) setgroups32$(EXEEXT) sethostname$(EXEEXT) \
+ setns$(EXEEXT) setregid$(EXEEXT) setregid32$(EXEEXT) \
+ setresgid$(EXEEXT) setresgid32$(EXEEXT) setresuid$(EXEEXT) \
+ setresuid32$(EXEEXT) setreuid$(EXEEXT) setreuid32$(EXEEXT) \
+ setrlimit$(EXEEXT) setuid$(EXEEXT) setuid32$(EXEEXT) \
+ shmxt$(EXEEXT) shutdown$(EXEEXT) sigaction$(EXEEXT) \
+ sigaltstack$(EXEEXT) siginfo$(EXEEXT) signal$(EXEEXT) \
+ signalfd4$(EXEEXT) sigpending$(EXEEXT) sigprocmask$(EXEEXT) \
+ sigreturn$(EXEEXT) sigsuspend$(EXEEXT) socketcall$(EXEEXT) \
+ splice$(EXEEXT) stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \
+ statfs64$(EXEEXT) statx$(EXEEXT) swap$(EXEEXT) \
+ sxetmask$(EXEEXT) symlink$(EXEEXT) symlinkat$(EXEEXT) \
+ sync$(EXEEXT) sync_file_range$(EXEEXT) \
+ sync_file_range2$(EXEEXT) sysinfo$(EXEEXT) syslog$(EXEEXT) \
+ tee$(EXEEXT) time$(EXEEXT) timer_create$(EXEEXT) \
+ timer_xettime$(EXEEXT) timerfd_xettime$(EXEEXT) times$(EXEEXT) \
+ times-fail$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
+ ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
+ umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \
+ umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \
+ umovestr3$(EXEEXT) uname$(EXEEXT) unlink$(EXEEXT) \
+ unlinkat$(EXEEXT) unshare$(EXEEXT) userfaultfd$(EXEEXT) \
+ ustat$(EXEEXT) utime$(EXEEXT) utimensat$(EXEEXT) \
+ utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \
+ wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
xettimeofday$(EXEEXT)
@@ -379,6 +386,10 @@ attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
attach_p_cmd_p_LDADD = $(LDADD)
attach_p_cmd_p_DEPENDENCIES = libtests.a
+block_reset_raise_run_SOURCES = block_reset_raise_run.c
+block_reset_raise_run_OBJECTS = block_reset_raise_run.$(OBJEXT)
+block_reset_raise_run_LDADD = $(LDADD)
+block_reset_raise_run_DEPENDENCIES = libtests.a
bpf_SOURCES = bpf.c
bpf_OBJECTS = bpf.$(OBJEXT)
bpf_LDADD = $(LDADD)
@@ -1076,10 +1087,22 @@ net_yy_unix_SOURCES = net-yy-unix.c
net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
net_yy_unix_LDADD = $(LDADD)
net_yy_unix_DEPENDENCIES = libtests.a
+netlink_audit_SOURCES = netlink_audit.c
+netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
+netlink_audit_LDADD = $(LDADD)
+netlink_audit_DEPENDENCIES = libtests.a
+netlink_generic_SOURCES = netlink_generic.c
+netlink_generic_OBJECTS = netlink_generic.$(OBJEXT)
+netlink_generic_LDADD = $(LDADD)
+netlink_generic_DEPENDENCIES = libtests.a
netlink_inet_diag_SOURCES = netlink_inet_diag.c
netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
netlink_inet_diag_LDADD = $(LDADD)
netlink_inet_diag_DEPENDENCIES = libtests.a
+netlink_netfilter_SOURCES = netlink_netfilter.c
+netlink_netfilter_OBJECTS = netlink_netfilter.$(OBJEXT)
+netlink_netfilter_LDADD = $(LDADD)
+netlink_netfilter_DEPENDENCIES = libtests.a
netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
netlink_netlink_diag_LDADD = $(LDADD)
@@ -1088,14 +1111,46 @@ netlink_protocol_SOURCES = netlink_protocol.c
netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
netlink_protocol_LDADD = $(LDADD)
netlink_protocol_DEPENDENCIES = libtests.a
+netlink_route_SOURCES = netlink_route.c
+netlink_route_OBJECTS = netlink_route.$(OBJEXT)
+netlink_route_LDADD = $(LDADD)
+netlink_route_DEPENDENCIES = libtests.a
+netlink_selinux_SOURCES = netlink_selinux.c
+netlink_selinux_OBJECTS = netlink_selinux.$(OBJEXT)
+netlink_selinux_LDADD = $(LDADD)
+netlink_selinux_DEPENDENCIES = libtests.a
+netlink_sock_diag_SOURCES = netlink_sock_diag.c
+netlink_sock_diag_OBJECTS = netlink_sock_diag.$(OBJEXT)
+netlink_sock_diag_LDADD = $(LDADD)
+netlink_sock_diag_DEPENDENCIES = libtests.a
netlink_unix_diag_SOURCES = netlink_unix_diag.c
netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
netlink_unix_diag_LDADD = $(LDADD)
netlink_unix_diag_DEPENDENCIES = libtests.a
+netlink_xfrm_SOURCES = netlink_xfrm.c
+netlink_xfrm_OBJECTS = netlink_xfrm.$(OBJEXT)
+netlink_xfrm_LDADD = $(LDADD)
+netlink_xfrm_DEPENDENCIES = libtests.a
newfstatat_SOURCES = newfstatat.c
newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
newfstatat_LDADD = $(LDADD)
newfstatat_DEPENDENCIES = libtests.a
+nlattr_SOURCES = nlattr.c
+nlattr_OBJECTS = nlattr.$(OBJEXT)
+nlattr_LDADD = $(LDADD)
+nlattr_DEPENDENCIES = libtests.a
+nlattr_inet_diag_msg_SOURCES = nlattr_inet_diag_msg.c
+nlattr_inet_diag_msg_OBJECTS = nlattr_inet_diag_msg.$(OBJEXT)
+nlattr_inet_diag_msg_LDADD = $(LDADD)
+nlattr_inet_diag_msg_DEPENDENCIES = libtests.a
+nlattr_netlink_diag_msg_SOURCES = nlattr_netlink_diag_msg.c
+nlattr_netlink_diag_msg_OBJECTS = nlattr_netlink_diag_msg.$(OBJEXT)
+nlattr_netlink_diag_msg_LDADD = $(LDADD)
+nlattr_netlink_diag_msg_DEPENDENCIES = libtests.a
+nlattr_unix_diag_msg_SOURCES = nlattr_unix_diag_msg.c
+nlattr_unix_diag_msg_OBJECTS = nlattr_unix_diag_msg.$(OBJEXT)
+nlattr_unix_diag_msg_LDADD = $(LDADD)
+nlattr_unix_diag_msg_DEPENDENCIES = libtests.a
nsyscalls_SOURCES = nsyscalls.c
nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
nsyscalls_LDADD = $(LDADD)
@@ -1386,6 +1441,10 @@ rmdir_SOURCES = rmdir.c
rmdir_OBJECTS = rmdir.$(OBJEXT)
rmdir_LDADD = $(LDADD)
rmdir_DEPENDENCIES = libtests.a
+rt_sigaction_SOURCES = rt_sigaction.c
+rt_sigaction_OBJECTS = rt_sigaction.$(OBJEXT)
+rt_sigaction_LDADD = $(LDADD)
+rt_sigaction_DEPENDENCIES = libtests.a
rt_sigpending_SOURCES = rt_sigpending.c
rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
rt_sigpending_LDADD = $(LDADD)
@@ -1414,6 +1473,10 @@ rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
rt_tgsigqueueinfo_LDADD = $(LDADD)
rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
+run_expect_termsig_SOURCES = run_expect_termsig.c
+run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT)
+run_expect_termsig_LDADD = $(LDADD)
+run_expect_termsig_DEPENDENCIES = libtests.a
sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
sched_get_priority_mxx_LDADD = $(LDADD)
@@ -1590,6 +1653,10 @@ siginfo_SOURCES = siginfo.c
siginfo_OBJECTS = siginfo.$(OBJEXT)
siginfo_LDADD = $(LDADD)
siginfo_DEPENDENCIES = libtests.a
+signal_SOURCES = signal.c
+signal_OBJECTS = signal.$(OBJEXT)
+signal_LDADD = $(LDADD)
+signal_DEPENDENCIES = libtests.a
signal_receive_SOURCES = signal_receive.c
signal_receive_OBJECTS = signal_receive.$(OBJEXT)
signal_receive_LDADD = $(LDADD)
@@ -1598,6 +1665,14 @@ signalfd4_SOURCES = signalfd4.c
signalfd4_OBJECTS = signalfd4.$(OBJEXT)
signalfd4_LDADD = $(LDADD)
signalfd4_DEPENDENCIES = libtests.a
+sigpending_SOURCES = sigpending.c
+sigpending_OBJECTS = sigpending.$(OBJEXT)
+sigpending_LDADD = $(LDADD)
+sigpending_DEPENDENCIES = libtests.a
+sigprocmask_SOURCES = sigprocmask.c
+sigprocmask_OBJECTS = sigprocmask.$(OBJEXT)
+sigprocmask_LDADD = $(LDADD)
+sigprocmask_DEPENDENCIES = libtests.a
sigreturn_SOURCES = sigreturn.c
sigreturn_OBJECTS = sigreturn.$(OBJEXT)
sigreturn_LDADD = $(LDADD)
@@ -1762,6 +1837,10 @@ uname_SOURCES = uname.c
uname_OBJECTS = uname.$(OBJEXT)
uname_LDADD = $(LDADD)
uname_DEPENDENCIES = libtests.a
+unblock_reset_raise_SOURCES = unblock_reset_raise.c
+unblock_reset_raise_OBJECTS = unblock_reset_raise.$(OBJEXT)
+unblock_reset_raise_LDADD = $(LDADD)
+unblock_reset_raise_DEPENDENCIES = libtests.a
unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
unix_pair_send_recv_LDADD = $(LDADD)
@@ -1863,6 +1942,10 @@ xettimeofday_SOURCES = xettimeofday.c
xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
xettimeofday_LDADD = $(LDADD)
xettimeofday_DEPENDENCIES = libtests.a
+zeroargc_SOURCES = zeroargc.c
+zeroargc_OBJECTS = zeroargc.$(OBJEXT)
+zeroargc_LDADD = $(LDADD)
+zeroargc_DEPENDENCIES = libtests.a
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -1898,47 +1981,51 @@ am__v_CCLD_1 =
SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
+ attach-p-cmd-p.c block_reset_raise_run.c bpf.c brk.c btrfs.c \
+ caps.c caps-abbrev.c chmod.c chown.c chown32.c chroot.c \
+ clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ copy_file_range.c count-f.c creat.c delete_module.c dup.c \
+ dup2.c dup3.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
+ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
+ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
+ fchdir.c fchmod.c fchmodat.c fchown.c fchown32.c fchownat.c \
+ fcntl.c fcntl64.c fdatasync.c file_handle.c file_ioctl.c \
+ filter-unavailable.c finit_module.c flock.c fork-f.c fstat.c \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
+ getcpu.c getcwd.c getdents.c getdents64.c getegid.c \
+ getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
+ getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
+ getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
+ getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
+ gettid.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+ init_module.c inotify.c inotify_init1.c int_0x80.c ioctl.c \
+ ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \
+ ioctl_evdev-v.c ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c \
+ ioctl_mtd.c ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c \
+ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \
+ ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \
+ iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msgbuf.c \
+ ipc_sem.c ipc_shm.c kcmp.c kexec_file_load.c kexec_load.c \
+ keyctl.c kill.c ksysent.c lchown.c lchown32.c link.c linkat.c \
+ llseek.c lookup_dcookie.c lseek.c lstat.c lstat64.c madvise.c \
+ mbind.c membarrier.c memfd_create.c migrate_pages.c mincore.c \
+ mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \
+ mlockall.c mmap.c mmap64.c mmsg.c mmsg-silent.c mmsg_name.c \
+ mmsg_name-v.c mount.c move_pages.c mq.c mq_sendrecv.c \
+ mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
+ msg_control-v.c msg_name.c munlockall.c nanosleep.c \
+ net-accept-connect.c net-icmp_filter.c net-sockaddr.c \
+ net-y-unix.c net-yy-inet.c net-yy-netlink.c net-yy-unix.c \
+ netlink_audit.c netlink_generic.c netlink_inet_diag.c \
+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \
+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c nlattr.c \
+ nlattr_inet_diag_msg.c nlattr_netlink_diag_msg.c \
+ nlattr_unix_diag_msg.c nsyscalls.c old_mmap.c oldfstat.c \
+ oldlstat.c oldselect.c oldstat.c open.c openat.c osf_utimes.c \
+ pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \
perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
@@ -1954,21 +2041,22 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
redirect-fds.c remap_file_pages.c rename.c renameat.c \
renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
+ rt_sigaction.c rt_sigpending.c rt_sigprocmask.c \
+ rt_sigqueueinfo.c rt_sigreturn.c rt_sigsuspend.c \
+ rt_sigtimedwait.c rt_tgsigqueueinfo.c run_expect_termsig.c \
+ sched_get_priority_mxx.c sched_rr_get_interval.c \
+ sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+ sched_xetscheduler.c sched_yield.c scm_rights.c \
+ seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+ semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+ setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+ setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+ setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+ setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+ shutdown.c sigaction.c sigaltstack.c siginfo.c signal.c \
+ signal_receive.c signalfd4.c sigpending.c sigprocmask.c \
+ sigreturn.c sigsuspend.c sleep.c socketcall.c splice.c \
$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
@@ -1976,56 +2064,60 @@ SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
+ unblock_reset_raise.c unix-pair-send-recv.c \
+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
+ userfaultfd.c ustat.c utime.c utimensat.c utimes.c vfork-f.c \
+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
+ xetitimer.c xetpgid.c xetpriority.c xettimeofday.c zeroargc.c
DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
- attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
- chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
- clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
- creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
- epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
- erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
- execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
- fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
- fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
- fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
- finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
- fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
- futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
- getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
- geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
- getpeername.c getpgrp.c getpid.c getppid.c getrandom.c \
- getresgid.c getresgid32.c getresuid.c getresuid32.c \
- getrlimit.c getrusage.c getsid.c getsockname.c gettid.c \
- getuid.c getuid32.c getxxid.c inet-cmsg.c init_module.c \
- inotify.c inotify_init1.c int_0x80.c ioctl.c ioctl_block.c \
- ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
- ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
- ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c \
- ioctl_sg_io_v3.c ioctl_sg_io_v4.c ioctl_sock_gifconf.c \
- ioctl_uffdio.c ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c \
- ipc.c ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
- kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
- lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
- lseek.c lstat.c lstat64.c madvise.c mbind.c membarrier.c \
- memfd_create.c migrate_pages.c mincore.c mkdir.c mkdirat.c \
- mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c mmap64.c \
- mmsg.c mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c \
- move_pages.c mq.c mq_sendrecv.c mq_sendrecv-read.c \
- mq_sendrecv-write.c msg_control.c msg_control-v.c msg_name.c \
- munlockall.c nanosleep.c net-accept-connect.c \
- net-icmp_filter.c net-sockaddr.c net-y-unix.c net-yy-inet.c \
- net-yy-netlink.c net-yy-unix.c netlink_inet_diag.c \
- netlink_netlink_diag.c netlink_protocol.c netlink_unix_diag.c \
- newfstatat.c nsyscalls.c old_mmap.c oldfstat.c oldlstat.c \
- oldselect.c oldstat.c open.c openat.c osf_utimes.c pause.c \
- pc.c perf_event_open.c perf_event_open_nonverbose.c \
+ attach-p-cmd-p.c block_reset_raise_run.c bpf.c brk.c btrfs.c \
+ caps.c caps-abbrev.c chmod.c chown.c chown32.c chroot.c \
+ clock_adjtime.c clock_nanosleep.c clock_xettime.c \
+ copy_file_range.c count-f.c creat.c delete_module.c dup.c \
+ dup2.c dup3.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
+ execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
+ fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
+ fchdir.c fchmod.c fchmodat.c fchown.c fchown32.c fchownat.c \
+ fcntl.c fcntl64.c fdatasync.c file_handle.c file_ioctl.c \
+ filter-unavailable.c finit_module.c flock.c fork-f.c fstat.c \
+ fstat64.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
+ ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
+ getcpu.c getcwd.c getdents.c getdents64.c getegid.c \
+ getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
+ getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
+ getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
+ getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
+ gettid.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+ init_module.c inotify.c inotify_init1.c int_0x80.c ioctl.c \
+ ioctl_block.c ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c \
+ ioctl_evdev-v.c ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c \
+ ioctl_mtd.c ioctl_nsfs.c ioctl_rtc.c ioctl_rtc-v.c \
+ ioctl_scsi.c ioctl_sg_io_v3.c ioctl_sg_io_v4.c \
+ ioctl_sock_gifconf.c ioctl_uffdio.c ioctl_v4l2.c ioperm.c \
+ iopl.c ioprio.c ip_mreq.c ipc.c ipc_msg.c ipc_msgbuf.c \
+ ipc_sem.c ipc_shm.c kcmp.c kexec_file_load.c kexec_load.c \
+ keyctl.c kill.c ksysent.c lchown.c lchown32.c link.c linkat.c \
+ llseek.c lookup_dcookie.c lseek.c lstat.c lstat64.c madvise.c \
+ mbind.c membarrier.c memfd_create.c migrate_pages.c mincore.c \
+ mkdir.c mkdirat.c mknod.c mknodat.c mlock.c mlock2.c \
+ mlockall.c mmap.c mmap64.c mmsg.c mmsg-silent.c mmsg_name.c \
+ mmsg_name-v.c mount.c move_pages.c mq.c mq_sendrecv.c \
+ mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
+ msg_control-v.c msg_name.c munlockall.c nanosleep.c \
+ net-accept-connect.c net-icmp_filter.c net-sockaddr.c \
+ net-y-unix.c net-yy-inet.c net-yy-netlink.c net-yy-unix.c \
+ netlink_audit.c netlink_generic.c netlink_inet_diag.c \
+ netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
+ netlink_route.c netlink_selinux.c netlink_sock_diag.c \
+ netlink_unix_diag.c netlink_xfrm.c newfstatat.c nlattr.c \
+ nlattr_inet_diag_msg.c nlattr_netlink_diag_msg.c \
+ nlattr_unix_diag_msg.c nsyscalls.c old_mmap.c oldfstat.c \
+ oldlstat.c oldselect.c oldstat.c open.c openat.c osf_utimes.c \
+ pause.c pc.c perf_event_open.c perf_event_open_nonverbose.c \
perf_event_open_unabbrev.c personality.c pipe.c pipe2.c \
pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c ppoll.c \
ppoll-v.c prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
@@ -2041,21 +2133,22 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
redirect-fds.c remap_file_pages.c rename.c renameat.c \
renameat2.c request_key.c restart_syscall.c rmdir.c \
- rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
- rt_sigreturn.c rt_sigsuspend.c rt_sigtimedwait.c \
- rt_tgsigqueueinfo.c sched_get_priority_mxx.c \
- sched_rr_get_interval.c sched_xetaffinity.c sched_xetattr.c \
- sched_xetparam.c sched_xetscheduler.c sched_yield.c \
- scm_rights.c seccomp-filter.c seccomp-filter-v.c \
- seccomp-strict.c select.c semop.c sendfile.c sendfile64.c \
- set_mempolicy.c set_ptracer_any.c setdomainname.c setfsgid.c \
- setfsgid32.c setfsuid.c setfsuid32.c setgid.c setgid32.c \
- setgroups.c setgroups32.c sethostname.c setns.c setregid.c \
- setregid32.c setresgid.c setresgid32.c setresuid.c \
- setresuid32.c setreuid.c setreuid32.c setrlimit.c setuid.c \
- setuid32.c shmxt.c shutdown.c sigaction.c sigaltstack.c \
- siginfo.c signal_receive.c signalfd4.c sigreturn.c \
- sigsuspend.c sleep.c socketcall.c splice.c \
+ rt_sigaction.c rt_sigpending.c rt_sigprocmask.c \
+ rt_sigqueueinfo.c rt_sigreturn.c rt_sigsuspend.c \
+ rt_sigtimedwait.c rt_tgsigqueueinfo.c run_expect_termsig.c \
+ sched_get_priority_mxx.c sched_rr_get_interval.c \
+ sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+ sched_xetscheduler.c sched_yield.c scm_rights.c \
+ seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+ semop.c sendfile.c sendfile64.c set_mempolicy.c \
+ set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+ setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+ setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+ setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+ setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+ shutdown.c sigaction.c sigaltstack.c siginfo.c signal.c \
+ signal_receive.c signalfd4.c sigpending.c sigprocmask.c \
+ sigreturn.c sigsuspend.c sleep.c socketcall.c splice.c \
$(stack_fcall_SOURCES) stat.c stat64.c statfs.c statfs64.c \
statx.c swap.c sxetmask.c symlink.c symlinkat.c sync.c \
sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
@@ -2063,12 +2156,12 @@ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
- unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
- unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
- utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
- waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
- xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
- xettimeofday.c
+ unblock_reset_raise.c unix-pair-send-recv.c \
+ unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
+ userfaultfd.c ustat.c utime.c utimensat.c utimes.c vfork-f.c \
+ vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
+ waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
+ xetitimer.c xetpgid.c xetpriority.c xettimeofday.c zeroargc.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -2450,6 +2543,7 @@ AM_CPPFLAGS = $(ARCH_MFLAGS) \
AM_LDFLAGS = $(ARCH_MFLAGS)
libtests_a_SOURCES = \
+ create_nl_socket.c \
errno2name.c \
error_msg.c \
fill_memory.c \
@@ -2470,6 +2564,7 @@ libtests_a_SOURCES = \
skip_unavailable.c \
sprintrc.c \
tail_alloc.c \
+ test_nlattr.h \
tests.h \
tprintf.c \
# end of libtests_a_SOURCES
@@ -2646,8 +2741,19 @@ PURE_EXECUTABLES = \
net-yy-inet \
net-yy-netlink \
net-yy-unix \
+ netlink_audit \
+ netlink_generic \
+ netlink_netfilter \
netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
newfstatat \
+ nlattr \
+ nlattr_inet_diag_msg \
+ nlattr_netlink_diag_msg \
+ nlattr_unix_diag_msg \
old_mmap \
oldfstat \
oldlstat \
@@ -2703,6 +2809,7 @@ PURE_EXECUTABLES = \
renameat2 \
request_key \
rmdir \
+ rt_sigaction \
rt_sigpending \
rt_sigprocmask \
rt_sigqueueinfo \
@@ -2750,7 +2857,10 @@ PURE_EXECUTABLES = \
sigaction \
sigaltstack \
siginfo \
+ signal \
signalfd4 \
+ sigpending \
+ sigprocmask \
sigreturn \
sigsuspend \
socketcall \
@@ -2895,11 +3005,17 @@ GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
mq_sendrecv-write.gen.test msg_control.gen.test \
msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
nanosleep.gen.test net-icmp_filter.gen.test \
- net-sockaddr.gen.test netlink_protocol.gen.test \
- newfstatat.gen.test old_mmap.gen.test oldfstat.gen.test \
- oldlstat.gen.test oldstat.gen.test open.gen.test \
- openat.gen.test osf_utimes.gen.test pause.gen.test \
- perf_event_open.gen.test perf_event_open_nonverbose.gen.test \
+ net-sockaddr.gen.test netlink_audit.gen.test \
+ netlink_generic.gen.test netlink_netfilter.gen.test \
+ netlink_protocol.gen.test netlink_route.gen.test \
+ netlink_selinux.gen.test netlink_xfrm.gen.test \
+ newfstatat.gen.test nlattr.gen.test \
+ nlattr_inet_diag_msg.gen.test nlattr_netlink_diag_msg.gen.test \
+ nlattr_unix_diag_msg.gen.test old_mmap.gen.test \
+ oldfstat.gen.test oldlstat.gen.test oldstat.gen.test \
+ open.gen.test openat.gen.test osf_utimes.gen.test \
+ pause.gen.test perf_event_open.gen.test \
+ perf_event_open_nonverbose.gen.test \
perf_event_open_unabbrev.gen.test pipe2.gen.test \
pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
@@ -2932,22 +3048,23 @@ GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test \
setresuid.gen.test setresuid32.gen.test setreuid.gen.test \
setreuid32.gen.test setrlimit.gen.test setuid.gen.test \
setuid32.gen.test shmxt.gen.test shutdown.gen.test \
- siginfo.gen.test signal_receive.gen.test signalfd4.gen.test \
- sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test \
- splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
- statfs64.gen.test statx.gen.test swap.gen.test \
- sxetmask.gen.test symlink.gen.test symlinkat.gen.test \
- sync.gen.test sync_file_range.gen.test \
- sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test \
- tee.gen.test time.gen.test timer_create.gen.test \
- timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test \
- times-fail.gen.test trace_fstat.gen.test \
- trace_fstatfs.gen.test trace_lstat.gen.test \
- trace_question.gen.test trace_stat.gen.test \
- trace_stat_like.gen.test trace_statfs.gen.test \
- trace_statfs_like.gen.test truncate.gen.test \
- truncate64.gen.test ugetrlimit.gen.test umask.gen.test \
- umoven-illptr.gen.test umovestr-illptr.gen.test \
+ sigaction.gen.test siginfo.gen.test signal.gen.test \
+ signal_receive.gen.test signalfd4.gen.test sigpending.gen.test \
+ sigprocmask.gen.test sigreturn.gen.test sigsuspend.gen.test \
+ socketcall.gen.test splice.gen.test stat.gen.test \
+ stat64.gen.test statfs.gen.test statfs64.gen.test \
+ statx.gen.test swap.gen.test sxetmask.gen.test \
+ symlink.gen.test symlinkat.gen.test sync.gen.test \
+ sync_file_range.gen.test sync_file_range2.gen.test \
+ sysinfo.gen.test syslog.gen.test tee.gen.test time.gen.test \
+ timer_create.gen.test timer_xettime.gen.test \
+ timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
+ trace_fstat.gen.test trace_fstatfs.gen.test \
+ trace_lstat.gen.test trace_question.gen.test \
+ trace_stat.gen.test trace_stat_like.gen.test \
+ trace_statfs.gen.test trace_statfs_like.gen.test \
+ truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \
+ umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \
umovestr3.gen.test unlink.gen.test unlinkat.gen.test \
unshare.gen.test userfaultfd.gen.test ustat.gen.test \
utime.gen.test utimensat.gen.test utimes.gen.test \
@@ -2987,6 +3104,7 @@ DECODER_TESTS = \
net-yy-netlink.test \
net-yy-unix.test \
net.test \
+ netlink_sock_diag.test \
nsyscalls.test \
oldselect.test \
personality.test \
@@ -3004,9 +3122,9 @@ DECODER_TESTS = \
prctl-tsc.test \
qual_fault-exit_group.test \
readv.test \
+ rt_sigaction.test \
scm_rights-fd.test \
seccomp-strict.test \
- sigaction.test \
sigaltstack.test \
sun_path.test \
uio.test \
@@ -3030,6 +3148,7 @@ MISC_TESTS = \
detach-stopped.test \
filter-unavailable.test \
get_regs.test \
+ interactive_block.test \
ksysent.test \
opipe.test \
options-syntax.test \
@@ -3055,6 +3174,7 @@ MISC_TESTS = \
strace-t.test \
strace-tt.test \
strace-ttt.test \
+ termsig.test \
threads-execve.test \
# end of MISC_TESTS
@@ -3100,6 +3220,7 @@ EXTRA_DIST = \
qual_inject-signal.expected \
quotactl.h \
regex.in \
+ rt_sigaction.awk \
run.sh \
sched.in \
scno_tampering.sh \
@@ -3107,7 +3228,6 @@ EXTRA_DIST = \
setresugid.c \
setreugid.c \
setugid.c \
- sigaction.awk \
sigaltstack.expected \
sockname.c \
strace-C.expected \
@@ -3253,6 +3373,10 @@ attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES
@rm -f attach-p-cmd-p$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
+block_reset_raise_run$(EXEEXT): $(block_reset_raise_run_OBJECTS) $(block_reset_raise_run_DEPENDENCIES) $(EXTRA_block_reset_raise_run_DEPENDENCIES)
+ @rm -f block_reset_raise_run$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(block_reset_raise_run_OBJECTS) $(block_reset_raise_run_LDADD) $(LIBS)
+
bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES)
@rm -f bpf$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
@@ -3957,10 +4081,22 @@ net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA
@rm -f net-yy-unix$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
+netlink_audit$(EXEEXT): $(netlink_audit_OBJECTS) $(netlink_audit_DEPENDENCIES) $(EXTRA_netlink_audit_DEPENDENCIES)
+ @rm -f netlink_audit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS)
+
+netlink_generic$(EXEEXT): $(netlink_generic_OBJECTS) $(netlink_generic_DEPENDENCIES) $(EXTRA_netlink_generic_DEPENDENCIES)
+ @rm -f netlink_generic$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_generic_OBJECTS) $(netlink_generic_LDADD) $(LIBS)
+
netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES)
@rm -f netlink_inet_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
+netlink_netfilter$(EXEEXT): $(netlink_netfilter_OBJECTS) $(netlink_netfilter_DEPENDENCIES) $(EXTRA_netlink_netfilter_DEPENDENCIES)
+ @rm -f netlink_netfilter$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_netfilter_OBJECTS) $(netlink_netfilter_LDADD) $(LIBS)
+
netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES)
@rm -f netlink_netlink_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
@@ -3969,14 +4105,46 @@ netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPEND
@rm -f netlink_protocol$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
+netlink_route$(EXEEXT): $(netlink_route_OBJECTS) $(netlink_route_DEPENDENCIES) $(EXTRA_netlink_route_DEPENDENCIES)
+ @rm -f netlink_route$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_route_OBJECTS) $(netlink_route_LDADD) $(LIBS)
+
+netlink_selinux$(EXEEXT): $(netlink_selinux_OBJECTS) $(netlink_selinux_DEPENDENCIES) $(EXTRA_netlink_selinux_DEPENDENCIES)
+ @rm -f netlink_selinux$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_selinux_OBJECTS) $(netlink_selinux_LDADD) $(LIBS)
+
+netlink_sock_diag$(EXEEXT): $(netlink_sock_diag_OBJECTS) $(netlink_sock_diag_DEPENDENCIES) $(EXTRA_netlink_sock_diag_DEPENDENCIES)
+ @rm -f netlink_sock_diag$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_sock_diag_OBJECTS) $(netlink_sock_diag_LDADD) $(LIBS)
+
netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES)
@rm -f netlink_unix_diag$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
+netlink_xfrm$(EXEEXT): $(netlink_xfrm_OBJECTS) $(netlink_xfrm_DEPENDENCIES) $(EXTRA_netlink_xfrm_DEPENDENCIES)
+ @rm -f netlink_xfrm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(netlink_xfrm_OBJECTS) $(netlink_xfrm_LDADD) $(LIBS)
+
newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES)
@rm -f newfstatat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
+nlattr$(EXEEXT): $(nlattr_OBJECTS) $(nlattr_DEPENDENCIES) $(EXTRA_nlattr_DEPENDENCIES)
+ @rm -f nlattr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_OBJECTS) $(nlattr_LDADD) $(LIBS)
+
+nlattr_inet_diag_msg$(EXEEXT): $(nlattr_inet_diag_msg_OBJECTS) $(nlattr_inet_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_inet_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_inet_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_inet_diag_msg_OBJECTS) $(nlattr_inet_diag_msg_LDADD) $(LIBS)
+
+nlattr_netlink_diag_msg$(EXEEXT): $(nlattr_netlink_diag_msg_OBJECTS) $(nlattr_netlink_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_netlink_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_netlink_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_netlink_diag_msg_OBJECTS) $(nlattr_netlink_diag_msg_LDADD) $(LIBS)
+
+nlattr_unix_diag_msg$(EXEEXT): $(nlattr_unix_diag_msg_OBJECTS) $(nlattr_unix_diag_msg_DEPENDENCIES) $(EXTRA_nlattr_unix_diag_msg_DEPENDENCIES)
+ @rm -f nlattr_unix_diag_msg$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(nlattr_unix_diag_msg_OBJECTS) $(nlattr_unix_diag_msg_LDADD) $(LIBS)
+
nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES)
@rm -f nsyscalls$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
@@ -4265,6 +4433,10 @@ rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIE
@rm -f rmdir$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
+rt_sigaction$(EXEEXT): $(rt_sigaction_OBJECTS) $(rt_sigaction_DEPENDENCIES) $(EXTRA_rt_sigaction_DEPENDENCIES)
+ @rm -f rt_sigaction$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(rt_sigaction_OBJECTS) $(rt_sigaction_LDADD) $(LIBS)
+
rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES)
@rm -f rt_sigpending$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
@@ -4293,6 +4465,10 @@ rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEP
@rm -f rt_tgsigqueueinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
+run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES)
+ @rm -f run_expect_termsig$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS)
+
sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES)
@rm -f sched_get_priority_mxx$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
@@ -4469,6 +4645,10 @@ siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEP
@rm -f siginfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
+signal$(EXEEXT): $(signal_OBJECTS) $(signal_DEPENDENCIES) $(EXTRA_signal_DEPENDENCIES)
+ @rm -f signal$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(signal_OBJECTS) $(signal_LDADD) $(LIBS)
+
signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES)
@rm -f signal_receive$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
@@ -4477,6 +4657,14 @@ signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signa
@rm -f signalfd4$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
+sigpending$(EXEEXT): $(sigpending_OBJECTS) $(sigpending_DEPENDENCIES) $(EXTRA_sigpending_DEPENDENCIES)
+ @rm -f sigpending$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sigpending_OBJECTS) $(sigpending_LDADD) $(LIBS)
+
+sigprocmask$(EXEEXT): $(sigprocmask_OBJECTS) $(sigprocmask_DEPENDENCIES) $(EXTRA_sigprocmask_DEPENDENCIES)
+ @rm -f sigprocmask$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(sigprocmask_OBJECTS) $(sigprocmask_LDADD) $(LIBS)
+
sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES)
@rm -f sigreturn$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
@@ -4641,6 +4829,10 @@ uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIE
@rm -f uname$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
+unblock_reset_raise$(EXEEXT): $(unblock_reset_raise_OBJECTS) $(unblock_reset_raise_DEPENDENCIES) $(EXTRA_unblock_reset_raise_DEPENDENCIES)
+ @rm -f unblock_reset_raise$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(unblock_reset_raise_OBJECTS) $(unblock_reset_raise_LDADD) $(LIBS)
+
unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES)
@rm -f unix-pair-send-recv$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
@@ -4741,6 +4933,10 @@ xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EX
@rm -f xettimeofday$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
+zeroargc$(EXEEXT): $(zeroargc_OBJECTS) $(zeroargc_DEPENDENCIES) $(EXTRA_zeroargc_DEPENDENCIES)
+ @rm -f zeroargc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(zeroargc_OBJECTS) $(zeroargc_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -4761,6 +4957,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-cmd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-p.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block_reset_raise_run.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brk.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Po@am__quote@
@@ -4893,6 +5090,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@
@@ -4958,11 +5156,22 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_inet_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_netfilter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_netlink_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_protocol.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_route.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_selinux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_sock_diag.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_unix_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_xfrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfstatat-newfstatat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_inet_diag_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_netlink_diag_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nlattr_unix_diag_msg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldfstat.Po@am__quote@
@@ -5035,6 +5244,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/request_key.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/restart_syscall.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@
@@ -5042,6 +5252,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@
@@ -5086,8 +5297,11 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigreturn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigsuspend.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
@@ -5133,6 +5347,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr3.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unblock_reset_raise.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-send-recv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-sendto-recvfrom.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@
@@ -5158,6 +5373,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -5173,6 +5389,20 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+libtests_a-create_nl_socket.o: create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-create_nl_socket.o -MD -MP -MF $(DEPDIR)/libtests_a-create_nl_socket.Tpo -c -o libtests_a-create_nl_socket.o `test -f 'create_nl_socket.c' || echo '$(srcdir)/'`create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_nl_socket.o `test -f 'create_nl_socket.c' || echo '$(srcdir)/'`create_nl_socket.c
+
+libtests_a-create_nl_socket.obj: create_nl_socket.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-create_nl_socket.obj -MD -MP -MF $(DEPDIR)/libtests_a-create_nl_socket.Tpo -c -o libtests_a-create_nl_socket.obj `if test -f 'create_nl_socket.c'; then $(CYGPATH_W) 'create_nl_socket.c'; else $(CYGPATH_W) '$(srcdir)/create_nl_socket.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-create_nl_socket.Tpo $(DEPDIR)/libtests_a-create_nl_socket.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='create_nl_socket.c' object='libtests_a-create_nl_socket.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_nl_socket.obj `if test -f 'create_nl_socket.c'; then $(CYGPATH_W) 'create_nl_socket.c'; else $(CYGPATH_W) '$(srcdir)/create_nl_socket.c'; fi`
+
libtests_a-errno2name.o: errno2name.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
@@ -6511,12 +6741,42 @@ $(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tes
$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/netlink_audit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_generic.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_netfilter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/netlink_route.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_selinux.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_xfrm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/nlattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netlink_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_unix_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
@@ -6799,15 +7059,27 @@ $(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/sigaction.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
+$(srcdir)/sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
$(AM_V_GEN) $^ $@
@@ -7014,8 +7286,8 @@ clean-local: clean-local-check
clean-local-check:
-rm -rf -- $(TESTS:.test=.dir) $(GEN_TESTS:.gen.test=.dir)
-syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
- $(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
+syscallent.i: $(top_builddir)/config.h $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
+ $(CPP) -P $(SCNO_CPPFLAGS) -include $^ -o $@
scno.h: $(top_srcdir)/scno.head syscallent.i
echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
diff --git a/tests/add_key.c b/tests/add_key.c
index d2696f9b..1de0cc3b 100644
--- a/tests/add_key.c
+++ b/tests/add_key.c
@@ -70,8 +70,7 @@ main(void)
{
static const char unterminated1[] = { '\1', '\2', '\3', '\4', '\5' };
static const char unterminated2[] = { '\6', '\7', '\10', '\11', '\12' };
- static const char unterminated3[] =
- { '\16', '\17', '\20', '\21', '\22' };
+ static const char unterminated3[] = { '\16', '\17', '\20', '\21', '\22' };
char *bogus_type = tail_memdup(unterminated1, sizeof(unterminated1));
char *bogus_desc = tail_memdup(unterminated2, sizeof(unterminated2));
diff --git a/tests/aio.c b/tests/aio.c
index 677a02b5..77b6c05d 100644
--- a/tests/aio.c
+++ b/tests/aio.c
@@ -240,9 +240,9 @@ main(void)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{data=%#" PRI__x64 ", pread, reqprio=11, fildes=0, "
- "buf=%p, nbytes=%u, offset=%" PRI__d64 "}, "
+ "buf=%p, nbytes=%u, offset=%" PRI__d64 "}, "
"{data=%#" PRI__x64 ", pread, reqprio=22, fildes=0, "
- "buf=%p, nbytes=%u, offset=%" PRI__d64 "}"
+ "buf=%p, nbytes=%u, offset=%" PRI__d64 "}"
"]) = %s\n",
*ctx, nr,
cb[0].aio_data, data0, sizeof_data0, cb[0].aio_offset,
@@ -317,18 +317,18 @@ main(void)
printf("io_submit(%#lx, %ld, ["
"{data=%#" PRI__x64 ", key=%u, %hu /* SUB_??? */, fildes=%d}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d, str=NULL"
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64
# ifdef IOCB_FLAG_RESFD
- ", resfd=%d, flags=%#x"
+ ", resfd=%d, flags=%#x"
# endif
- "}, "
+ "}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d, buf=%#" PRI__x64
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
"{key=%u, pwrite, reqprio=%hd, fildes=%d"
- ", str=\"\\0\\1\\2\\3%.28s\"..."
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
+ ", str=\"\\0\\1\\2\\3%.28s\"..."
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}, "
"{key=%u, pwritev, reqprio=%hd, fildes=%d, buf=%#" PRI__x64
- ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}"
+ ", nbytes=%" PRI__u64 ", offset=%" PRI__d64 "}"
", {NULL}, {%#lx}, %p]) = %s\n",
*ctx, 1057L,
cbv2[0].aio_data, cbv2[0].aio_key,
@@ -351,11 +351,11 @@ main(void)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{data=%#" PRI__x64 ", preadv, reqprio=%hd, fildes=0, "
- "iovec=[{iov_base=%p, iov_len=%u}"
- ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}, "
+ "iovec=[{iov_base=%p, iov_len=%u}"
+ ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}, "
"{data=%#" PRI__x64 ", preadv, reqprio=%hd, fildes=0, "
- "iovec=[{iov_base=%p, iov_len=%u}"
- ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}"
+ "iovec=[{iov_base=%p, iov_len=%u}"
+ ", {iov_base=%p, iov_len=%u}], offset=%" PRI__d64 "}"
"]) = %s\n",
*ctx, nr,
cbv[0].aio_data, cbv[0].aio_reqprio,
diff --git a/tests/block_reset_raise_run.c b/tests/block_reset_raise_run.c
new file mode 100644
index 00000000..e2c5c99b
--- /dev/null
+++ b/tests/block_reset_raise_run.c
@@ -0,0 +1,55 @@
+/*
+ * Execute a command with blocked, reset, and raised signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac < 3)
+ error_msg_and_fail("usage: block_reset_raise_run signo path...");
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ const int signo = atoi(av[1]);
+ if (sigaddset(&mask, signo))
+ perror_msg_and_fail("sigaddset: %s", av[1]);
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask");
+ if (signal(signo, SIG_DFL) == SIG_ERR)
+ perror_msg_and_fail("signal: %s", av[1]);
+ if (raise(signo))
+ perror_msg_and_fail("raise: %s", av[1]);
+
+ execvp(av[2], av + 2);
+ perror_msg_and_fail("execvp: %s", av[2]);
+}
diff --git a/tests/btrfs.c b/tests/btrfs.c
index 7e5ccfff..710d7630 100644
--- a/tests/btrfs.c
+++ b/tests/btrfs.c
@@ -61,8 +61,8 @@ typedef __u64 u64;
static const char *btrfs_test_root;
static int btrfs_test_dir_fd;
-static bool verbose = false;
-static bool write_ok = false;
+static bool verbose;
+static bool write_ok;
const unsigned char uuid_reference[BTRFS_UUID_SIZE] = {
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
@@ -75,10 +75,10 @@ const char uuid_reference_string[] = "01234567-89ab-cdef-fedc-ba9876543210";
struct btrfs_ioctl_quota_rescan_args {
uint64_t flags, progress, reserved[6];
};
-# define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \
- struct btrfs_ioctl_quota_rescan_args)
-# define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
- struct btrfs_ioctl_quota_rescan_args)
+# define BTRFS_IOC_QUOTA_RESCAN \
+ _IOW(BTRFS_IOCTL_MAGIC, 44, struct btrfs_ioctl_quota_rescan_args)
+# define BTRFS_IOC_QUOTA_RESCAN_STATUS \
+ _IOR(BTRFS_IOCTL_MAGIC, 45, struct btrfs_ioctl_quota_rescan_args)
#endif
#ifndef BTRFS_IOC_QUOTA_RESCAN_WAIT
@@ -86,30 +86,30 @@ struct btrfs_ioctl_quota_rescan_args {
#endif
#ifndef BTRFS_IOC_GET_FEATURES
-# define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags)
-# define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[2])
-# define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[3])
+# define BTRFS_IOC_GET_FEATURES \
+ _IOR(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags)
+# define BTRFS_IOC_SET_FEATURES \
+ _IOW(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags[2])
+# define BTRFS_IOC_GET_SUPPORTED_FEATURES \
+ _IOR(BTRFS_IOCTL_MAGIC, 57, struct btrfs_ioctl_feature_flags[3])
#endif
#ifndef HAVE_STRUCT_BTRFS_IOCTL_FEATURE_FLAGS_COMPAT_FLAGS
struct btrfs_ioctl_feature_flags {
- uint64_t compat_flags;
- uint64_t compat_ro_flags;
- uint64_t incompat_flags;
+ uint64_t compat_flags;
+ uint64_t compat_ro_flags;
+ uint64_t incompat_flags;
};
#endif
#ifndef HAVE_STRUCT_BTRFS_IOCTL_DEFRAG_RANGE_ARGS_START
struct btrfs_ioctl_defrag_range_args {
- uint64_t start;
- uint64_t len;
- uint64_t flags;
- uint32_t extent_thresh;
- uint32_t compress_type;
- uint32_t unused[4];
+ uint64_t start;
+ uint64_t len;
+ uint64_t flags;
+ uint32_t extent_thresh;
+ uint32_t compress_type;
+ uint32_t unused[4];
};
#endif
@@ -140,14 +140,14 @@ struct file_dedupe_range {
#endif
#ifndef BTRFS_IOC_TREE_SEARCH_V2
-# define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \
- struct btrfs_ioctl_search_args_v2)
+# define BTRFS_IOC_TREE_SEARCH_V2 \
+ _IOWR(BTRFS_IOCTL_MAGIC, 17, struct btrfs_ioctl_search_args_v2)
struct btrfs_ioctl_search_args_v2 {
struct btrfs_ioctl_search_key key; /* in/out - search parameters */
uint64_t buf_size; /* in - size of buffer
* out - on EOVERFLOW: needed size
* to store item */
- uint64_t buf[0]; /* out - found items */
+ uint64_t buf[0]; /* out - found items */
};
#endif
diff --git a/tests/create_nl_socket.c b/tests/create_nl_socket.c
new file mode 100644
index 00000000..c2708d8f
--- /dev/null
+++ b/tests/create_nl_socket.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <sys/socket.h>
+#include "netlink.h"
+
+int
+create_nl_socket_ext(const int proto, const char *const name)
+{
+ const int fd = socket(AF_NETLINK, SOCK_RAW, proto);
+ if (fd < 0)
+ perror_msg_and_skip("socket AF_NETLINK %s", name);
+
+ const struct sockaddr_nl addr = { .nl_family = AF_NETLINK };
+ socklen_t len = sizeof(addr);
+
+ if (bind(fd, (const struct sockaddr *) &addr, len))
+ perror_msg_and_skip("bind AF_NETLINK %s", name);
+
+ /* one more operation on this socket to win the race */
+ int listening;
+ len = sizeof(listening);
+ if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &listening, &len))
+ perror_msg_and_fail("getsockopt");
+
+ return fd;
+}
diff --git a/tests/dup3.c b/tests/dup3.c
index 252e8469..7a65b614 100644
--- a/tests/dup3.c
+++ b/tests/dup3.c
@@ -23,6 +23,6 @@ main(void)
#else
-SKIP_MAIN_UNDEFINED("__NR_dup3 && && O_CLOEXEC")
+SKIP_MAIN_UNDEFINED("__NR_dup3 && O_CLOEXEC")
#endif
diff --git a/tests/errno2name.c b/tests/errno2name.c
index 4a176993..d481e2e8 100644
--- a/tests/errno2name.c
+++ b/tests/errno2name.c
@@ -476,6 +476,7 @@ errno2name(void)
#ifdef EXFULL
CASE(EXFULL);
#endif
- default: perror_msg_and_fail("unknown errno %d", errno);
+ default:
+ perror_msg_and_fail("unknown errno %d", errno);
}
}
diff --git a/tests/execve.c b/tests/execve.c
index c558dd3b..da3bc520 100644
--- a/tests/execve.c
+++ b/tests/execve.c
@@ -127,9 +127,14 @@ main(void)
#endif
);
- char str_a[] = "012345678901234567890123456789012";
- char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
-#define DEFAULT_STRLEN ((unsigned int) sizeof(str_a) - 2)
+ char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
+ str_a[DEFAULT_STRLEN + 1] = '\0';
+
+ char *const str_b = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_b, DEFAULT_STRLEN + 1, '_', 32);
+ str_b[DEFAULT_STRLEN + 1] = '\0';
+
char **const a = tail_alloc(sizeof(*a) * (DEFAULT_STRLEN + 2));
char **const b = tail_alloc(sizeof(*b) * (DEFAULT_STRLEN + 2));
unsigned int i;
diff --git a/tests/execveat.c b/tests/execveat.c
index 8ffc4d58..566a59f9 100644
--- a/tests/execveat.c
+++ b/tests/execveat.c
@@ -133,9 +133,14 @@ main(void)
#endif
errno2name());
- char str_a[] = "012345678901234567890123456789012";
- char str_b[] = "_abcdefghijklmnopqrstuvwxyz()[]{}";
-#define DEFAULT_STRLEN ((unsigned int) sizeof(str_a) - 2)
+ char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
+ str_a[DEFAULT_STRLEN + 1] = '\0';
+
+ char *const str_b = tail_alloc(DEFAULT_STRLEN + 2);
+ fill_memory_ex(str_b, DEFAULT_STRLEN + 1, '_', 32);
+ str_b[DEFAULT_STRLEN + 1] = '\0';
+
char **const a = tail_alloc(sizeof(*a) * (DEFAULT_STRLEN + 2));
char **const b = tail_alloc(sizeof(*b) * (DEFAULT_STRLEN + 2));
unsigned int i;
diff --git a/tests/futex.c b/tests/futex.c
index 9a9ab664..b75ab339 100644
--- a/tests/futex.c
+++ b/tests/futex.c
@@ -254,7 +254,7 @@ main(int argc, char *argv[])
zero_extend_signed_to_ull(tmout->tv_nsec), sprintrc(rc));
CHECK_FUTEX_ENOSYS(uaddr,
- FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT ,
+ FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT,
VAL, tmout, uaddr2, 0, (rc == -1) && (errno == EAGAIN));
printf("futex(%p, FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME, %u"
", {tv_sec=%lld, tv_nsec=%llu}) = %s\n",
@@ -612,7 +612,7 @@ main(int argc, char *argv[])
CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_PRIVATE_FLAG | FUTEX_UNLOCK_PI, VAL,
tmout, uaddr2 + 1, VAL3, (rc == -1) && (errno == EFAULT));
- printf("futex(%p, FUTEX_UNLOCK_PI_PRIVATE) = %s\n", uaddr +1,
+ printf("futex(%p, FUTEX_UNLOCK_PI_PRIVATE) = %s\n", uaddr + 1,
sprintrc(rc));
CHECK_INVALID_CLOCKRT(FUTEX_UNLOCK_PI, 0);
diff --git a/tests/gen_tests.am b/tests/gen_tests.am
new file mode 100644
index 00000000..f1b34dd5
--- /dev/null
+++ b/tests/gen_tests.am
@@ -0,0 +1,1007 @@
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+GEN_TESTS = _newselect.gen.test accept.gen.test accept4.gen.test access.gen.test acct.gen.test add_key.gen.test adjtimex.gen.test aio.gen.test alarm.gen.test bpf.gen.test btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test clock_adjtime.gen.test clock_nanosleep.gen.test clock_xettime.gen.test copy_file_range.gen.test creat.gen.test delete_module.gen.test dup.gen.test dup2.gen.test dup3.gen.test epoll_create.gen.test epoll_create1.gen.test epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test erestartsys.gen.test execveat.gen.test execveat-v.gen.test faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test fanotify_init.gen.test fanotify_mark.gen.test fchdir.gen.test fchmod.gen.test fchmodat.gen.test fchown.gen.test fchown32.gen.test fchownat.gen.test fcntl.gen.test fcntl64.gen.test fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test finit_module.gen.test flock.gen.test fork-f.gen.test fstat.gen.test fstat64.gen.test fstatat64.gen.test fstatfs.gen.test fstatfs64.gen.test fsync.gen.test ftruncate.gen.test ftruncate64.gen.test futimesat.gen.test get_mempolicy.gen.test getcpu.gen.test getcwd.gen.test getdents.gen.test getdents64.gen.test getegid.gen.test getegid32.gen.test geteuid.gen.test geteuid32.gen.test getgid.gen.test getgid32.gen.test getgroups.gen.test getgroups32.gen.test getpeername.gen.test getpgrp.gen.test getpid.gen.test getppid.gen.test getrandom.gen.test getresgid.gen.test getresgid32.gen.test getresuid.gen.test getresuid32.gen.test getrlimit.gen.test getrusage.gen.test getsid.gen.test getsockname.gen.test gettid.gen.test getuid32.gen.test getxxid.gen.test inet-cmsg.gen.test init_module.gen.test inotify.gen.test inotify_init1.gen.test int_0x80.gen.test ioctl_block.gen.test ioctl_evdev.gen.test ioctl_evdev-v.gen.test ioctl_loop.gen.test ioctl_loop-v.gen.test ioctl_mtd.gen.test ioctl_rtc.gen.test ioctl_rtc-v.gen.test ioctl_scsi.gen.test ioctl_sg_io_v3.gen.test ioctl_sg_io_v4.gen.test ioctl_uffdio.gen.test ioctl_v4l2.gen.test ioperm.gen.test iopl.gen.test ioprio.gen.test ip_mreq.gen.test ipc.gen.test ipc_msg.gen.test ipc_sem.gen.test ipc_shm.gen.test kcmp.gen.test kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test kill.gen.test lchown.gen.test lchown32.gen.test link.gen.test linkat.gen.test lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test madvise.gen.test mbind.gen.test membarrier.gen.test memfd_create.gen.test migrate_pages.gen.test mincore.gen.test mkdir.gen.test mkdirat.gen.test mknod.gen.test mknodat.gen.test mlock.gen.test mlock2.gen.test mlockall.gen.test mmap64.gen.test mmsg.gen.test mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test mount.gen.test move_pages.gen.test mq.gen.test mq_sendrecv.gen.test mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test msg_control.gen.test msg_control-v.gen.test msg_name.gen.test munlockall.gen.test nanosleep.gen.test net-icmp_filter.gen.test net-sockaddr.gen.test netlink_audit.gen.test netlink_generic.gen.test netlink_netfilter.gen.test netlink_protocol.gen.test netlink_route.gen.test netlink_selinux.gen.test netlink_xfrm.gen.test newfstatat.gen.test nlattr.gen.test nlattr_inet_diag_msg.gen.test nlattr_netlink_diag_msg.gen.test nlattr_unix_diag_msg.gen.test old_mmap.gen.test oldfstat.gen.test oldlstat.gen.test oldstat.gen.test open.gen.test openat.gen.test osf_utimes.gen.test pause.gen.test perf_event_open.gen.test perf_event_open_nonverbose.gen.test perf_event_open_unabbrev.gen.test pipe2.gen.test pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test preadv.gen.test preadv-pwritev.gen.test preadv2-pwritev2.gen.test printstr.gen.test prlimit64.gen.test process_vm_readv.gen.test process_vm_writev.gen.test pselect6.gen.test ptrace.gen.test pwritev.gen.test quotactl.gen.test quotactl-v.gen.test quotactl-xfs.gen.test quotactl-xfs-v.gen.test read-write.gen.test readahead.gen.test readdir.gen.test readlink.gen.test readlinkat.gen.test reboot.gen.test recvfrom.gen.test recvmmsg-timeout.gen.test recvmsg.gen.test regex.gen.test remap_file_pages.gen.test rename.gen.test renameat.gen.test renameat2.gen.test request_key.gen.test rmdir.gen.test rt_sigpending.gen.test rt_sigprocmask.gen.test rt_sigqueueinfo.gen.test rt_sigreturn.gen.test rt_sigsuspend.gen.test rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test sched.gen.test sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test sched_xetaffinity.gen.test sched_xetattr.gen.test sched_xetparam.gen.test sched_xetscheduler.gen.test sched_yield.gen.test seccomp-filter.gen.test seccomp-filter-v.gen.test select.gen.test semop.gen.test sendfile.gen.test sendfile64.gen.test set_mempolicy.gen.test setdomainname.gen.test setfsgid.gen.test setfsgid32.gen.test setfsuid.gen.test setfsuid32.gen.test setgid.gen.test setgid32.gen.test setgroups.gen.test setgroups32.gen.test sethostname.gen.test setns.gen.test setregid.gen.test setregid32.gen.test setresgid.gen.test setresgid32.gen.test setresuid.gen.test setresuid32.gen.test setreuid.gen.test setreuid32.gen.test setrlimit.gen.test setuid.gen.test setuid32.gen.test shmxt.gen.test shutdown.gen.test sigaction.gen.test siginfo.gen.test signal.gen.test signal_receive.gen.test signalfd4.gen.test sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test sigsuspend.gen.test socketcall.gen.test splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test statfs64.gen.test statx.gen.test swap.gen.test sxetmask.gen.test symlink.gen.test symlinkat.gen.test sync.gen.test sync_file_range.gen.test sync_file_range2.gen.test sysinfo.gen.test syslog.gen.test tee.gen.test time.gen.test timer_create.gen.test timer_xettime.gen.test timerfd_xettime.gen.test times.gen.test times-fail.gen.test trace_fstat.gen.test trace_fstatfs.gen.test trace_lstat.gen.test trace_question.gen.test trace_stat.gen.test trace_stat_like.gen.test trace_statfs.gen.test trace_statfs_like.gen.test truncate.gen.test truncate64.gen.test ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test umovestr3.gen.test unlink.gen.test unlinkat.gen.test unshare.gen.test userfaultfd.gen.test ustat.gen.test utime.gen.test utimensat.gen.test utimes.gen.test vfork-f.gen.test vhangup.gen.test vmsplice.gen.test wait4.gen.test wait4-v.gen.test waitid.gen.test waitid-v.gen.test waitpid.gen.test xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test xettimeofday.gen.test
+
+$(srcdir)/_newselect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/accept.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/accept4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/add_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/adjtimex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/aio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/alarm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/bpf.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/btrfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/chroot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_adjtime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/clock_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/copy_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/creat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/delete_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/dup3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_create1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_ctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_pwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/epoll_wait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fallocate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_init.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/file_handle.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/finit_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/flock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fstatfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/fsync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ftruncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/futimesat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/get_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getcpu.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getcwd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getdents64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getegid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/geteuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpeername.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrandom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getrusage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/gettid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/getxxid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inet-cmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/init_module.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/inotify_init1.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/int_0x80.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_block.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_evdev-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_loop-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_mtd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_rtc-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_scsi.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_sg_io_v4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_uffdio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioctl_v4l2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioperm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/iopl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ip_mreq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_sem.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ipc_shm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kcmp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_file_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kexec_load.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/keyctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lchown32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/link.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/lstat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/madvise.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mbind.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/membarrier.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/memfd_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mkdirat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mknod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mknodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlock2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmap64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg-silent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mmsg_name-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mount.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/move_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-read.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/mq_sendrecv-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_control-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/msg_name.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/munlockall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nanosleep.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/net-icmp_filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_audit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_generic.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_netfilter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_protocol.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_route.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_selinux.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/netlink_xfrm.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/newfstatat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_inet_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_netlink_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/nlattr_unix_diag_msg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/old_mmap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldfstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldlstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/oldstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/osf_utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pause.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_nonverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/perf_event_open_unabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_alloc.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_free.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pkey_mprotect.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ppoll-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pread64-pwrite64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv-pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/preadv2-pwritev2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/printstr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ptrace.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/pwritev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/quotactl-xfs-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/read-write.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readahead.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/readlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/reboot.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvfrom.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmmsg-timeout.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/recvmsg.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/regex.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/remap_file_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rename.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/renameat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/request_key.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rmdir.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_sigtimedwait.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_get_priority_mxx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_rr_get_interval.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/seccomp-filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/select.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/semop.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sendfile64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/set_mempolicy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setdomainname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setfsuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setgroups32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sethostname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setns.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setregid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresgid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setresuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setreuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/setuid32.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/shmxt.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/shutdown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigaction.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/siginfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigpending.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigprocmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sigsuspend.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/socketcall.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/splice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/stat64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statfs64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/statx.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/swap.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sxetmask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/symlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/symlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sync_file_range2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/sysinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/syslog.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/time.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_create.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timer_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/timerfd_xettime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/times.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_fstatfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_lstat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_question.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_stat_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/truncate64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ugetrlimit.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umask.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umoven-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr-illptr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/umovestr3.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unlink.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unlinkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/unshare.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/userfaultfd.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/ustat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utime.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utimensat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/utimes.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vfork-f.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vhangup.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/vmsplice.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/wait4-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitid-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/waitpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xattr-strings.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
+
+$(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ $(AM_V_GEN) $^ $@
diff --git a/tests/gen_tests.in b/tests/gen_tests.in
index be0a3a23..57fd5fd9 100644
--- a/tests/gen_tests.in
+++ b/tests/gen_tests.in
@@ -184,8 +184,18 @@ munlockall -a13
nanosleep -a20
net-icmp_filter -e trace=getsockopt,setsockopt
net-sockaddr -a24 -e trace=connect
-netlink_protocol -e trace=%network
+netlink_audit +netlink_sock_diag.test
+netlink_generic +netlink_sock_diag.test
+netlink_netfilter +netlink_sock_diag.test
+netlink_protocol -e trace=sendto
+netlink_route +netlink_sock_diag.test
+netlink_selinux +netlink_sock_diag.test
+netlink_xfrm +netlink_sock_diag.test
newfstatat -a32 -v -P stat.sample -P /dev/full
+nlattr +netlink_sock_diag.test
+nlattr_inet_diag_msg +netlink_sock_diag.test
+nlattr_netlink_diag_msg +netlink_sock_diag.test
+nlattr_unix_diag_msg +netlink_sock_diag.test
old_mmap -a11 -e trace=mmap
oldfstat -a18 -v -P stat.sample
oldlstat -a32 -v -P stat.sample -P /dev/full
@@ -280,9 +290,13 @@ setuid -a10
setuid32 -a12
shmxt -a11 -e trace='/(osf_)?shmat,shmdt'
shutdown -a24
+sigaction -a31
siginfo -e trace=none
+signal -a25 -e signal=none -e trace='/^signal$'
signal_receive -a16 -e trace=kill
signalfd4
+sigpending -a15
+sigprocmask -a34
sigreturn -esignal='!USR1'
sigsuspend -a19 -esignal=none
socketcall -a20
diff --git a/tests/getcpu.c b/tests/getcpu.c
index 3cb49cb2..2b157535 100644
--- a/tests/getcpu.c
+++ b/tests/getcpu.c
@@ -41,16 +41,16 @@ int
main(void)
{
unsigned *bogus_cpu =
- (unsigned *) tail_alloc(sizeof(* bogus_cpu)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_cpu)) + 1;
unsigned *bogus_node =
- (unsigned *) tail_alloc(sizeof(* bogus_node)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_node)) + 1;
unsigned *bogus_tcache =
- (unsigned *) tail_alloc(sizeof(* bogus_tcache)) + 1;
+ (unsigned *) tail_alloc(sizeof(*bogus_tcache)) + 1;
long res;
TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, cpu);
TAIL_ALLOC_OBJECT_CONST_PTR(unsigned, node);
- long * tcache = tail_alloc(128);
+ long *tcache = tail_alloc(128);
res = syscall(__NR_getcpu, NULL, NULL, NULL);
printf("getcpu(NULL, NULL, NULL) = %s\n", sprintrc(res));
diff --git a/tests/init.sh b/tests/init.sh
index 28447654..2d4d0b41 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -169,7 +169,7 @@ match_diff()
check_prog diff
- diff -- "$expected" "$output" ||
+ diff -u -- "$expected" "$output" ||
fail_ "$error"
}
@@ -366,7 +366,7 @@ else
STRACE=../strace
fi
-: "${TIMEOUT_DURATION:=120}"
+: "${TIMEOUT_DURATION:=300}"
: "${SLEEP_A_BIT:=sleep 1}"
[ -z "${VERBOSE-}" ] ||
diff --git a/tests/interactive_block.test b/tests/interactive_block.test
new file mode 100755
index 00000000..f8f8173f
--- /dev/null
+++ b/tests/interactive_block.test
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Check that in interactive mode those signals that were blocked
+# at strace startup will remain blocked.
+
+. "${srcdir=.}/init.sh"
+
+strace0="$STRACE"
+for signo in 1 2 3 13 14 15; do
+ blocksig="../block_reset_raise_run $signo"
+ run_prog $blocksig ../umovestr
+ STRACE="$blocksig $strace0"
+ run_strace -I2 -echdir ../umovestr
+ match_diff "$LOG" "$srcdir/umovestr.expected"
+done
diff --git a/tests/ioctl.c b/tests/ioctl.c
index 5dc0864f..3c666b0d 100644
--- a/tests/ioctl.c
+++ b/tests/ioctl.c
@@ -54,7 +54,7 @@
&& defined EV_KEY
int
-main(void )
+main(void)
{
uint64_t data = 0;
diff --git a/tests/ioctl_block.c b/tests/ioctl_block.c
index 8e883d4b..e44c4c41 100644
--- a/tests/ioctl_block.c
+++ b/tests/ioctl_block.c
@@ -58,9 +58,11 @@ static struct xlat block_argless[] = {
#endif
};
-#define TEST_NULL_ARG(cmd) \
- ioctl(-1, cmd, 0); \
- printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd)
+#define TEST_NULL_ARG(cmd) \
+ do { \
+ ioctl(-1, cmd, 0); \
+ printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
+ } while (0)
int
main(void)
diff --git a/tests/ioctl_evdev.c b/tests/ioctl_evdev.c
index 6cbc09fe..9d16cecf 100644
--- a/tests/ioctl_evdev.c
+++ b/tests/ioctl_evdev.c
@@ -67,9 +67,11 @@ print_ffe_common(const struct ff_effect *const ffe, const char *const type_str)
# endif /* VERBOSE */
}
-# define TEST_NULL_ARG(cmd) \
- ioctl(-1, cmd, 0); \
- printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd)
+# define TEST_NULL_ARG(cmd) \
+ do { \
+ ioctl(-1, cmd, 0); \
+ printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
+ } while (0)
int
main(void)
diff --git a/tests/ioctl_mtd.c b/tests/ioctl_mtd.c
index 71d0c0d1..6a7d94a7 100644
--- a/tests/ioctl_mtd.c
+++ b/tests/ioctl_mtd.c
@@ -58,15 +58,17 @@ static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
(unsigned int) _IOC_NR(cmd), #cmd); \
else \
printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
- } while (0)
-
-#define TEST_erase_info_user(cmd, eiu) \
- ioctl(-1, cmd, eiu); \
- printf("ioctl(-1, MIXER_%s(%u) or %s, {start=%#x, length=%#x})" \
- " = -1 EBADF (%m)\n", \
- (_IOC_DIR(cmd) == _IOC_READ) ? "READ" : "WRITE", \
- (unsigned int) _IOC_NR(cmd), #cmd, \
- eiu->start, eiu->length)
+ } while (0)
+
+#define TEST_erase_info_user(cmd, eiu) \
+ do { \
+ ioctl(-1, cmd, eiu); \
+ printf("ioctl(-1, MIXER_%s(%u) or %s, {start=%#x, length=%#x})" \
+ " = -1 EBADF (%m)\n", \
+ (_IOC_DIR(cmd) == _IOC_READ) ? "READ" : "WRITE", \
+ (unsigned int) _IOC_NR(cmd), #cmd, \
+ eiu->start, eiu->length); \
+ } while (0)
int
main(void)
diff --git a/tests/ioctl_sg_io_v3.c b/tests/ioctl_sg_io_v3.c
index 3808b209..3385bca9 100644
--- a/tests/ioctl_sg_io_v3.c
+++ b/tests/ioctl_sg_io_v3.c
@@ -198,12 +198,12 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->status,
sg_io->masked_status,
@@ -248,12 +248,12 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->status,
sg_io->masked_status,
@@ -300,10 +300,10 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
- * (unsigned char *) (sg_io->dxferp + 3),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 3),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
@@ -348,11 +348,11 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
@@ -394,9 +394,9 @@ main(void)
sg_io->iovec_count,
sg_io->dxfer_len,
sg_io->timeout,
- * (unsigned char *) (sg_io->dxferp + 0),
- * (unsigned char *) (sg_io->dxferp + 1),
- * (unsigned char *) (sg_io->dxferp + 2),
+ *(unsigned char *) (sg_io->dxferp + 0),
+ *(unsigned char *) (sg_io->dxferp + 1),
+ *(unsigned char *) (sg_io->dxferp + 2),
sg_io->status,
sg_io->masked_status,
sg_io->msg_status,
diff --git a/tests/ioctl_sg_io_v4.c b/tests/ioctl_sg_io_v4.c
index 9c1e9fa0..d2f7b72c 100644
--- a/tests/ioctl_sg_io_v4.c
+++ b/tests/ioctl_sg_io_v4.c
@@ -189,9 +189,9 @@ main(void)
", dout_resid=%d"
", generated_tag=%#" PRI__x64 "}) = -1 EBADF (%m)\n",
sg_io->request_len,
- * (unsigned char *) ((unsigned long) sg_io->request + 0),
- * (unsigned char *) ((unsigned long) sg_io->request + 1),
- * (unsigned char *) ((unsigned long) sg_io->request + 2),
+ *(unsigned char *) ((unsigned long) sg_io->request + 0),
+ *(unsigned char *) ((unsigned long) sg_io->request + 1),
+ *(unsigned char *) ((unsigned long) sg_io->request + 2),
sg_io->request_tag,
sg_io->request_attr,
sg_io->request_priority,
@@ -201,22 +201,22 @@ main(void)
sg_io->dout_xfer_len,
sg_io->din_iovec_count,
sg_io->din_xfer_len,
- * (unsigned char *) (iov[0].iov_base + 0),
- * (unsigned char *) (iov[0].iov_base + 1),
+ *(unsigned char *) (iov[0].iov_base + 0),
+ *(unsigned char *) (iov[0].iov_base + 1),
(unsigned int) iov[0].iov_len,
- * (unsigned char *) (iov[1].iov_base + 0),
- * (unsigned char *) (iov[1].iov_base + 1),
- * (unsigned char *) (iov[1].iov_base + 2),
+ *(unsigned char *) (iov[1].iov_base + 0),
+ *(unsigned char *) (iov[1].iov_base + 1),
+ *(unsigned char *) (iov[1].iov_base + 2),
(unsigned int) iov[1].iov_len,
sg_io->timeout,
sg_io->usr_ptr,
sg_io->response_len,
- * (unsigned char *) ((unsigned long) sg_io->response + 0),
- * (unsigned char *) ((unsigned long) sg_io->response + 1),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 0),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 1),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 2),
- * (unsigned char *) ((unsigned long) sg_io->din_xferp + 3),
+ *(unsigned char *) ((unsigned long) sg_io->response + 0),
+ *(unsigned char *) ((unsigned long) sg_io->response + 1),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 0),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 1),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 2),
+ *(unsigned char *) ((unsigned long) sg_io->din_xferp + 3),
sg_io->driver_status,
sg_io->transport_status,
sg_io->device_status,
diff --git a/tests/ioctl_sock_gifconf.c b/tests/ioctl_sock_gifconf.c
index f81faef4..efa55a3a 100644
--- a/tests/ioctl_sock_gifconf.c
+++ b/tests/ioctl_sock_gifconf.c
@@ -105,7 +105,7 @@ print_ifconf(struct ifconf *ifc, int in_len, char *in_buf, long rc)
static void
gifconf_ioctl(int fd, struct ifconf *ifc, bool ifc_valid)
{
- const char * errstr;
+ const char *errstr;
int in_len;
char *in_buf;
long rc;
diff --git a/tests/ioctl_uffdio.c b/tests/ioctl_uffdio.c
index c98e4a0f..817e3c72 100644
--- a/tests/ioctl_uffdio.c
+++ b/tests/ioctl_uffdio.c
@@ -71,7 +71,7 @@ main(void)
api_struct->features = 0;
rc = ioctl(fd, UFFDIO_API, api_struct);
printf("ioctl(%d, UFFDIO_API, {api=0xaa, features=0, "
- "features.out=%#" PRIx64 ", " "ioctls=1<<_UFFDIO_REGISTER|"
+ "features.out=%#" PRIx64 ", ioctls=1<<_UFFDIO_REGISTER|"
"1<<_UFFDIO_UNREGISTER|1<<_UFFDIO_API",
fd, (uint64_t)api_struct->features);
api_struct->ioctls &= ~(1ull<<_UFFDIO_REGISTER|
diff --git a/tests/ioctl_v4l2.c b/tests/ioctl_v4l2.c
index 921e7a88..cc5dee6a 100644
--- a/tests/ioctl_v4l2.c
+++ b/tests/ioctl_v4l2.c
@@ -85,7 +85,7 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.pix_mp.pixelformat = magic;
f->fmt.pix_mp.field = V4L2_FIELD_NONE;
f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
- struct v4l2_plane_pix_format* cur_pix =
+ struct v4l2_plane_pix_format *cur_pix =
f->fmt.pix_mp.plane_fmt;
for (i = 0;
i < ARRAY_SIZE(f->fmt.pix_mp.plane_fmt);
@@ -119,8 +119,8 @@ init_v4l2_format(struct v4l2_format *const f,
f->fmt.win.clips[1].c.width = 0x9e3a6fb3;
f->fmt.win.clips[1].c.height = 0x05617b76;
- f->fmt.win.bitmap = (void*) -2UL;
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+ f->fmt.win.bitmap = (void *) -2UL;
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
f->fmt.win.global_alpha = 0xce;
#endif
break;
@@ -158,7 +158,7 @@ init_v4l2_format(struct v4l2_format *const f,
#if HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE
case V4L2_BUF_TYPE_SDR_CAPTURE:
f->fmt.sdr.pixelformat = magic;
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
f->fmt.sdr.buffersize = 0x25afabfb;
#endif
break;
@@ -168,8 +168,8 @@ init_v4l2_format(struct v4l2_format *const f,
static void
dprint_ioctl_v4l2(struct v4l2_format *const f,
- const char* request, const unsigned int buf_type,
- const char* buf_type_string)
+ const char *request, const unsigned int buf_type,
+ const char *buf_type_string)
{
switch (buf_type) {
case V4L2_BUF_TYPE_VIDEO_CAPTURE:
@@ -225,7 +225,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
"[{left=%d, top=%d, width=%u, height=%u}, "
"{left=%d, top=%d, width=%u, height=%u}]"
", clipcount=%u, bitmap=%p"
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
", global_alpha=%#x"
#endif
"}}) = -1 EBADF (%m)\n",
@@ -243,7 +243,7 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
f->fmt.win.clips[1].c.width,
f->fmt.win.clips[1].c.height,
f->fmt.win.clipcount, f->fmt.win.bitmap
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
, f->fmt.win.global_alpha
#endif
);
@@ -304,14 +304,14 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
printf("ioctl(-1, %s, {type=%s"
", fmt.sdr={pixelformat=v4l2_fourcc('\\x%x', '\\x%x',"
" '\\x%x', '\\x%x')"
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
", buffersize=%u"
#endif
"}}) = -1 EBADF (%m)\n",
request,
buf_type_string,
cc0(magic), cc1(magic), cc2(magic), cc3(magic)
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
, f->fmt.sdr.buffersize
#endif
);
@@ -319,12 +319,11 @@ dprint_ioctl_v4l2(struct v4l2_format *const f,
#endif
}
}
-#define print_ioctl_v4l2(v4l2_format, request, buf_type) do { \
- dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type); \
-} while (0)
+#define print_ioctl_v4l2(v4l2_format, request, buf_type) \
+ dprint_ioctl_v4l2((v4l2_format), (request), (buf_type), #buf_type)
int
-main(void )
+main(void)
{
const unsigned int size = get_page_size();
void *const page = tail_alloc(size);
@@ -689,7 +688,7 @@ main(void )
TAIL_ALLOC_OBJECT_CONST_PTR(struct v4l2_tuner, p_tuner);
p_tuner->index = 0x4fb6df39;
- strcpy((char*)p_tuner->name, "cum tacent clamant");
+ strcpy((char *) p_tuner->name, "cum tacent clamant");
p_tuner->type = V4L2_TUNER_RADIO;
p_tuner->capability = V4L2_TUNER_CAP_LOW;
p_tuner->rangelow = 0xa673bc29;
diff --git a/tests/ip_mreq.c b/tests/ip_mreq.c
index 4bcda09f..4bfe00f3 100644
--- a/tests/ip_mreq.c
+++ b/tests/ip_mreq.c
@@ -101,7 +101,7 @@ main(void)
short_any[i].optval, 1);
printf("setsockopt(0, %s, %s, \"\\%hho\", 1) = %s\n",
short_any[i].str_level, short_any[i].str_optname,
- * (unsigned char *) short_any[i].optval,
+ *(unsigned char *) short_any[i].optval,
sprintrc(rc));
rc = setsockopt(0, short_any[i].level, short_any[i].optname,
@@ -139,7 +139,7 @@ main(void)
rc = setsockopt(0, SOL_IPV6, long_ipv6[i].optname,
m6, sizeof(*m6));
printf("setsockopt(0, SOL_IPV6, %s"
- ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
+ ", {inet_pton(AF_INET6, \"%s\", &ipv6mr_multiaddr)"
", ipv6mr_interface=if_nametoindex(\"lo\")}"
", %u) = %s\n",
long_ipv6[i].str_optname, multi6addr,
diff --git a/tests/ipc_msgbuf.c b/tests/ipc_msgbuf.c
index 1c34494d..9d149fa5 100644
--- a/tests/ipc_msgbuf.c
+++ b/tests/ipc_msgbuf.c
@@ -45,7 +45,7 @@ cleanup(void)
}
int
-main (void)
+main(void)
{
const long mtype = 0xdefaced;
struct {
diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c
index 0b730c11..c8832726 100644
--- a/tests/ipc_sem.c
+++ b/tests/ipc_sem.c
@@ -37,10 +37,10 @@
#include "xlat/resource_flags.h"
union semun {
- int val; /* Value for SETVAL */
- struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
- unsigned short *array; /* Array for GETALL, SETALL */
- struct seminfo *__buf; /* Buffer for IPC_INFO
+ int val; /* Value for SETVAL */
+ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
+ unsigned short *array; /* Array for GETALL, SETALL */
+ struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};
diff --git a/tests/kexec_file_load.c b/tests/kexec_file_load.c
index c939e4f2..7a9b64b3 100644
--- a/tests/kexec_file_load.c
+++ b/tests/kexec_file_load.c
@@ -45,7 +45,7 @@ struct strval {
const char *str;
};
-#define CMDLINE_STR "deadcodebaddatadefaced";
+#define CMDLINE_STR "deadcodebaddatadefaced"
int
main(void)
diff --git a/tests/keyctl.c b/tests/keyctl.c
index 2e26076b..492c62a3 100644
--- a/tests/keyctl.c
+++ b/tests/keyctl.c
@@ -74,7 +74,7 @@ static const size_t limit = 10;
* significantly breaking interface.
*/
bool nul_terminated_buf = true;
-bool buf_in_arg = false;
+bool buf_in_arg;
/*
* When this is called with positive size, the buffer provided is an "out"
diff --git a/tests/ksysent.c b/tests/ksysent.c
index f5986643..860e21e4 100644
--- a/tests/ksysent.c
+++ b/tests/ksysent.c
@@ -53,7 +53,7 @@
#define SI 0
#define SE 0
#define CST 0
-#define SEN(arg) 0,0
+#define SEN(arg) 0, 0
static const struct_sysent syscallent[] = {
#include "syscallent.h"
diff --git a/tests/mincore.c b/tests/mincore.c
index ea2b49e3..0ede687d 100644
--- a/tests/mincore.c
+++ b/tests/mincore.c
@@ -29,8 +29,6 @@
#include <stdio.h>
#include <sys/mman.h>
-#define DEFAULT_STRLEN 32
-
static void
print_mincore(const unsigned int pages, void *const addr,
const size_t size, unsigned char *const vec)
diff --git a/tests/mmsg.c b/tests/mmsg.c
index 88805d16..a5cf0e79 100644
--- a/tests/mmsg.c
+++ b/tests/mmsg.c
@@ -113,14 +113,16 @@ main(void)
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c),
w1_c, LENGTH_OF(w1_c),
- ARRAY_SIZE(w0_iov_),
+ (unsigned int) ARRAY_SIZE(w0_iov_),
LENGTH_OF(w0_c) + LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w1_iov_),
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w1_iov_),
LENGTH_OF(w2_c),
n_w_mmh, r,
- ARRAY_SIZE(w0_iov_), LENGTH_OF(w0_c), w0_d, w0_c,
+ (unsigned int) ARRAY_SIZE(w0_iov_),
+ LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c,
- ARRAY_SIZE(w1_iov_), LENGTH_OF(w2_c), w2_d, w2_c);
+ (unsigned int) ARRAY_SIZE(w1_iov_),
+ LENGTH_OF(w2_c), w2_d, w2_c);
const unsigned int w_len =
LENGTH_OF(w0_c) + LENGTH_OF(w1_c) + LENGTH_OF(w2_c);
@@ -184,11 +186,14 @@ main(void)
" = %u buffers in vector 1\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c),
- r1_c, r_len, r_len, ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ LENGTH_OF(r0_c), r1_c, r_len, r_len,
+ (unsigned int) ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
n_r_mmh, r,
- ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c), r0_d, r0_c,
- ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c), r1_d, r1_c);
+ (unsigned int) ARRAY_SIZE(r0_iov_), LENGTH_OF(r0_c),
+ r0_d, r0_c,
+ (unsigned int) ARRAY_SIZE(r1_iov_), LENGTH_OF(r1_c),
+ r1_d, r1_c);
tprintf("+++ exited with 0 +++\n");
return 0;
diff --git a/tests/mmsg_name.c b/tests/mmsg_name.c
index a7a55c55..ad5a482d 100644
--- a/tests/mmsg_name.c
+++ b/tests/mmsg_name.c
@@ -40,8 +40,6 @@
#include "msghdr.h"
-#define DEFAULT_STRLEN 32
-
#define IOV_MAX1 (IOV_MAX + 1)
#ifndef TEST_NAME
@@ -77,7 +75,7 @@ print_msghdr(const struct msghdr *const msg, const int user_msg_namelen)
}
printf("%d, msg_iov=[{iov_base=\"%c\", iov_len=1}]"
", msg_iovlen=1, msg_controllen=0, msg_flags=0}",
- (int) msg->msg_namelen, * (char *) msg->msg_iov[0].iov_base);
+ (int) msg->msg_namelen, *(char *) msg->msg_iov[0].iov_base);
}
static void
diff --git a/tests/mq.c b/tests/mq.c
index ee2d059d..cf1b7308 100644
--- a/tests/mq.c
+++ b/tests/mq.c
@@ -39,7 +39,7 @@
# include <sys/stat.h>
int
-main (void)
+main(void)
{
struct mq_attr attr;
(void) close(0);
diff --git a/tests/mq_sendrecv.c b/tests/mq_sendrecv.c
index e3ad0d50..f6f6bd29 100644
--- a/tests/mq_sendrecv.c
+++ b/tests/mq_sendrecv.c
@@ -228,7 +228,7 @@ main(void)
static const struct timespec future_tmout_data = {
.tv_sec = (time_t) 0x7ea1fade7e57faceLL,
.tv_nsec = 999999999,
- };;
+ };
struct_sigevent bogus_sev_data = {
.sigev_notify = 0xdefaced,
.sigev_signo = 0xfacefeed,
@@ -437,7 +437,7 @@ main(void)
bogus_attrs[1] = 2;
bogus_attrs[2] = MSG_SIZE;
fd = rc = syscall(__NR_mq_open, mq_name,
- O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
+ O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
errstr = sprintrc(rc);
if (rc < 0)
perror_msg_and_skip("mq_open");
diff --git a/tests/msg_control.c b/tests/msg_control.c
index 1e64f1ab..b63f2d04 100644
--- a/tests/msg_control.c
+++ b/tests/msg_control.c
@@ -40,6 +40,9 @@
#include <netinet/in.h>
#include <arpa/inet.h>
+#include "xlat.h"
+#include "xlat/scmvals.h"
+
#ifndef SOL_IP
# define SOL_IP 0
#endif
@@ -60,8 +63,6 @@ get_cmsghdr(void *const page, const size_t len)
return page - CMSG_ALIGN(len);
}
-#define DEFAULT_STRLEN 32
-
static void
print_fds(const struct cmsghdr *const cmsg, const size_t cmsg_len)
{
@@ -230,6 +231,152 @@ test_scm_rights3(struct msghdr *const mh, void *const page, const size_t nfds)
}
static void
+test_scm_timestamp(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(sizeof(struct timeval));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timeval));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMP;
+ struct timeval *tv = (struct timeval *) CMSG_DATA(cmsg);
+ tv->tv_sec = 123456789;
+ tv->tv_usec = 987654;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMP"
+ ", cmsg_data={tv_sec=%lld, tv_usec=%llu}}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (long long) tv->tv_sec, zero_extend_signed_to_ull(tv->tv_usec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(sizeof(struct timeval) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timeval) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMP;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMP, cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
+test_scm_timestampns(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(sizeof(struct timespec));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timespec));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPNS;
+ struct timespec *ts = (struct timespec *) CMSG_DATA(cmsg);
+ ts->tv_sec = 123456789;
+ ts->tv_nsec = 987654321;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPNS"
+ ", cmsg_data={tv_sec=%lld, tv_nsec=%llu}}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(sizeof(struct timespec) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct timespec) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPNS;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPNS"
+ ", cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
+test_scm_timestamping(struct msghdr *const mh, void *const page)
+{
+ size_t len = CMSG_SPACE(3 * sizeof(struct timespec));
+ struct cmsghdr *cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(3 * sizeof(struct timespec));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPING;
+ struct timespec *ts = (struct timespec *) CMSG_DATA(cmsg);
+ ts[0].tv_sec = 123456789;
+ ts[0].tv_nsec = 987654321;
+ ts[1].tv_sec = 123456790;
+ ts[1].tv_nsec = 987654320;
+ ts[2].tv_sec = 123456791;
+ ts[2].tv_nsec = 987654319;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ int rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPING"
+ ", cmsg_data=[{tv_sec=%lld, tv_nsec=%llu}"
+ ", {tv_sec=%lld, tv_nsec=%llu}, {tv_sec=%lld, tv_nsec=%llu}]}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len, (long long) ts[0].tv_sec,
+ zero_extend_signed_to_ull(ts[0].tv_nsec),
+ (long long) ts[1].tv_sec,
+ zero_extend_signed_to_ull(ts[1].tv_nsec),
+ (long long) ts[2].tv_sec,
+ zero_extend_signed_to_ull(ts[2].tv_nsec),
+ (unsigned long) len, rc, errno2name());
+
+ len = CMSG_SPACE(3 * sizeof(struct timespec) - sizeof(long));
+ cmsg = get_cmsghdr(page, len);
+
+ cmsg->cmsg_len = CMSG_LEN(3 * sizeof(struct timespec) - sizeof(long));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_TIMESTAMPING;
+
+ mh->msg_control = cmsg;
+ mh->msg_controllen = len;
+
+ rc = sendmsg(-1, mh, 0);
+ printf("sendmsg(-1, {msg_name=NULL, msg_namelen=0, msg_iov=NULL"
+ ", msg_iovlen=0, msg_control=[{cmsg_len=%u"
+ ", cmsg_level=SOL_SOCKET, cmsg_type=SCM_TIMESTAMPING"
+ ", cmsg_data=?}]"
+ ", msg_controllen=%lu, msg_flags=0}, 0) = %d %s (%m)\n",
+ (unsigned) cmsg->cmsg_len,
+ (unsigned long) len, rc, errno2name());
+}
+
+static void
print_security(const struct cmsghdr *const cmsg, const size_t cmsg_len)
{
int n = cmsg_len > CMSG_LEN(0) ? cmsg_len - CMSG_LEN(0) : 0;
@@ -378,12 +525,16 @@ test_sol_socket(struct msghdr *const mh, void *const page)
test_scm_rights3(mh, page, DEFAULT_STRLEN);
test_scm_rights3(mh, page, DEFAULT_STRLEN + 1);
+ test_scm_timestamp(mh, page);
+ test_scm_timestampns(mh, page);
+ test_scm_timestamping(mh, page);
+
test_unknown_type(mh, page, ARG_STR(SOL_SOCKET), "SCM_???");
}
static void
test_ip_pktinfo(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(sizeof(struct in_pktinfo));
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
@@ -448,7 +599,7 @@ test_ip_uint(struct msghdr *const mh, void *const page,
static void
test_ip_uint8_t(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(1);
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
@@ -530,7 +681,7 @@ struct sock_ee {
static void
test_ip_recverr(struct msghdr *const mh, void *const page,
- const int cmsg_type, const char *const cmsg_type_str)
+ const int cmsg_type, const char *const cmsg_type_str)
{
const unsigned int len = CMSG_SPACE(sizeof(struct sock_ee));
struct cmsghdr *const cmsg = get_cmsghdr(page, len);
diff --git a/tests/net-accept-connect.c b/tests/net-accept-connect.c
index 04c05a60..0050eeb4 100644
--- a/tests/net-accept-connect.c
+++ b/tests/net-accept-connect.c
@@ -69,7 +69,7 @@ main(int ac, const char **av)
if (listen(0, 5))
perror_msg_and_skip("listen");
- memset(&addr, 0, sizeof addr);
+ memset(&addr, 0, sizeof(addr));
assert(getsockname(0, (struct sockaddr *) &addr, &len) == 0);
if (len > sizeof(addr))
len = sizeof(addr);
diff --git a/tests/net-sockaddr.c b/tests/net-sockaddr.c
index 9dc9ecf5..1d9bac39 100644
--- a/tests/net-sockaddr.c
+++ b/tests/net-sockaddr.c
@@ -37,11 +37,11 @@
#include <sys/un.h>
#include <arpa/inet.h>
#include <netinet/in.h>
+#include "netlink.h"
#include <linux/if_arp.h>
#include <linux/if_ether.h>
#include <linux/if_packet.h>
#include <linux/ipx.h>
-#include <linux/netlink.h>
#ifdef HAVE_BLUETOOTH_BLUETOOTH_H
# include <bluetooth/bluetooth.h>
# include <bluetooth/hci.h>
diff --git a/tests/net-y-unix.c b/tests/net-y-unix.c
index df56ad64..fbdf5900 100644
--- a/tests/net-y-unix.c
+++ b/tests/net-y-unix.c
@@ -182,7 +182,7 @@ main(void)
perror_msg_and_fail("accept");
accept_inode = inode_of_sockfd(accept_fd);
const char * const sun_path1 =
- ((struct sockaddr_un *) accept_sa) -> sun_path + 1;
+ ((struct sockaddr_un *) accept_sa)->sun_path + 1;
printf("accept(%d<socket:[%lu]>, {sa_family=AF_UNIX"
", sun_path=@\"%s\"}, [%d->%d]) = %d<socket:[%lu]>\n",
listen_fd, listen_inode, sun_path1,
diff --git a/tests/net-yy-inet.c b/tests/net-yy-inet.c
index af1262ee..c043920d 100644
--- a/tests/net-yy-inet.c
+++ b/tests/net-yy-inet.c
@@ -74,7 +74,7 @@ main(void)
if (getsockname(listen_fd, listen_sa, len))
perror_msg_and_fail("getsockname");
const unsigned int listen_port =
- ntohs(((struct sockaddr_in *) listen_sa) -> sin_port);
+ ntohs(((struct sockaddr_in *) listen_sa)->sin_port);
printf("getsockname(%d<TCP:[127.0.0.1:%u]>, {sa_family=AF_INET"
", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}"
", [%u]) = 0\n",
@@ -109,7 +109,7 @@ main(void)
if (accept_fd < 0)
perror_msg_and_fail("accept");
const unsigned int connect_port =
- ntohs(((struct sockaddr_in *) accept_sa) -> sin_port);
+ ntohs(((struct sockaddr_in *) accept_sa)->sin_port);
printf("accept(%d<TCP:[127.0.0.1:%u]>, {sa_family=AF_INET"
", sin_port=htons(%u), sin_addr=inet_addr(\"127.0.0.1\")}"
", [%u]) = %d<TCP:[127.0.0.1:%u->127.0.0.1:%u]>\n",
diff --git a/tests/net-yy-netlink.c b/tests/net-yy-netlink.c
index 6539edab..8ccf5bc0 100644
--- a/tests/net-yy-netlink.c
+++ b/tests/net-yy-netlink.c
@@ -36,14 +36,10 @@
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/netlink_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
int
main(void)
{
diff --git a/tests/net-yy-unix.c b/tests/net-yy-unix.c
index f27cdc07..21822db9 100644
--- a/tests/net-yy-unix.c
+++ b/tests/net-yy-unix.c
@@ -185,7 +185,7 @@ main(void)
perror_msg_and_fail("accept");
accept_inode = inode_of_sockfd(accept_fd);
const char * const sun_path1 =
- ((struct sockaddr_un *) accept_sa) -> sun_path + 1;
+ ((struct sockaddr_un *) accept_sa)->sun_path + 1;
printf("accept(%d<UNIX:[%lu,\"%s\"]>, {sa_family=AF_UNIX"
", sun_path=@\"%s\"}, [%d->%d]) = %d<UNIX:[%lu->%lu,\"%s\"]>\n",
listen_fd, listen_inode, TEST_SOCKET, sun_path1,
diff --git a/tests/netlink_audit.c b/tests/netlink_audit.c
new file mode 100644
index 00000000..00ddc4f3
--- /dev/null
+++ b/tests/netlink_audit.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <linux/audit.h>
+#include "netlink.h"
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = AUDIT_GET,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=AUDIT_GET"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_AUDIT);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests/netlink_audit.gen.test b/tests/netlink_audit.gen.test
new file mode 100755
index 00000000..65110672
--- /dev/null
+++ b/tests/netlink_audit.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_audit +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/netlink_generic.c b/tests/netlink_generic.c
new file mode 100644
index 00000000..4f80c8b5
--- /dev/null
+++ b/tests/netlink_generic.c
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* This test case is based on netlink_selinux.c */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_GENETLINK_H
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+# include <sys/socket.h>
+# include "netlink.h"
+# include <linux/genetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ /*
+ * Though GENL_ID_CTRL number is statically fixed in this test case,
+ * strace does not have a builtin knowledge that the corresponding
+ * string is "nlctrl".
+ */
+ long rc;
+ struct {
+ const struct nlmsghdr nlh;
+ struct genlmsghdr gnlh;
+ } req = {
+ .nlh = {
+ .nlmsg_len = sizeof(req),
+ .nlmsg_type = GENL_ID_CTRL,
+ .nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST
+ },
+ .gnlh = {
+ .cmd = CTRL_CMD_GETFAMILY
+ }
+ };
+
+ rc = sendto(fd, &req, sizeof(req), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=nlctrl"
+ ", flags=NLM_F_REQUEST|0x300, seq=0, pid=0}"
+ ", \"\\3\\0\\0\\0\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, req.nlh.nlmsg_len,
+ (unsigned int) sizeof(req), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_GENERIC);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_GENETLINK_H")
+
+#endif
diff --git a/tests/netlink_generic.gen.test b/tests/netlink_generic.gen.test
new file mode 100755
index 00000000..e51f15ce
--- /dev/null
+++ b/tests/netlink_generic.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_generic +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/netlink_inet_diag.c b/tests/netlink_inet_diag.c
index 2332e203..5f68cb3c 100644
--- a/tests/netlink_inet_diag.c
+++ b/tests/netlink_inet_diag.c
@@ -32,7 +32,7 @@
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/inet_diag.h>
diff --git a/tests/netlink_netfilter.c b/tests/netlink_netfilter.c
new file mode 100644
index 00000000..2907c261
--- /dev/null
+++ b/tests/netlink_netfilter.c
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_NETFILTER_NFNETLINK_H
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+# include <sys/socket.h>
+# include "netlink.h"
+# include <linux/netfilter/nfnetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+# ifdef NFNL_MSG_BATCH_BEGIN
+ nlh.nlmsg_type = NFNL_MSG_BATCH_BEGIN;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_MSG_BATCH_BEGIN"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8) | NFNL_MSG_BATCH_BEGIN;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|%#x"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NFNL_MSG_BATCH_BEGIN,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+# endif
+
+ nlh.nlmsg_type = (NFNL_SUBSYS_CTNETLINK << 8);
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=NFNL_SUBSYS_CTNETLINK<<8|0"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_NETFILTER);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_NETFILTER_NFNETLINK_H")
+
+#endif
diff --git a/tests/netlink_netfilter.gen.test b/tests/netlink_netfilter.gen.test
new file mode 100755
index 00000000..fffb72b4
--- /dev/null
+++ b/tests/netlink_netfilter.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_netfilter +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/netlink_netlink_diag.c b/tests/netlink_netlink_diag.c
index fc32822b..d7e83f5c 100644
--- a/tests/netlink_netlink_diag.c
+++ b/tests/netlink_netlink_diag.c
@@ -33,14 +33,10 @@
#include <string.h>
#include <unistd.h>
#include <netinet/in.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/netlink_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
static void
send_query(const int fd)
{
diff --git a/tests/netlink_protocol.c b/tests/netlink_protocol.c
index 35f954fd..f09dd9a9 100644
--- a/tests/netlink_protocol.c
+++ b/tests/netlink_protocol.c
@@ -38,14 +38,10 @@
# include <unistd.h>
# include <sys/xattr.h>
# include <netinet/in.h>
-# include <linux/netlink.h>
+# include "netlink.h"
# include <linux/sock_diag.h>
# include <linux/netlink_diag.h>
-# if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-# endif
-
static void
send_query(const int fd)
{
@@ -100,8 +96,8 @@ send_query(const int fd)
/* a single message without data */
req->nlh.nlmsg_len = sizeof(req->nlh);
rc = sendto(fd, &req->nlh, sizeof(req->nlh), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(req->nlh), sprintrc(rc));
@@ -116,8 +112,8 @@ send_query(const int fd)
/* nlmsg_len < sizeof(struct nlmsghdr) */
req->nlh.nlmsg_len = 8;
rc = sendto(fd, req, sizeof(*req), MSG_DONTWAIT, NULL, 0);
- printf("sendto(%d, {{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ printf("sendto(%d, {len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=0, pid=0}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, req->nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(*req), sprintrc(rc));
@@ -165,15 +161,14 @@ send_query(const int fd)
reqs->req2.nlh.nlmsg_len = 4;
rc = sendto(fd, reqs, sizeof(*reqs), MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, [{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=0, pid=0}, \"abcd\"}, {{len=%u, type=NLMSG_NOOP"
- ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}}], %u"
+ ", seq=0, pid=0}, \"abcd\"}, {len=%u, type=NLMSG_NOOP"
+ ", flags=NLM_F_REQUEST|0x%x, seq=0, pid=0}], %u"
", MSG_DONTWAIT, NULL, 0) = %s\n",
fd, reqs->req1.nlh.nlmsg_len, NLM_F_DUMP,
reqs->req2.nlh.nlmsg_len, NLM_F_DUMP,
(unsigned) sizeof(*reqs), sprintrc(rc));
/* abbreviated output */
-# define DEFAULT_STRLEN 32
# define ABBREV_LEN (DEFAULT_STRLEN + 1)
const unsigned int msg_len = sizeof(struct nlmsghdr) * ABBREV_LEN;
struct nlmsghdr *const msgs = tail_alloc(msg_len);
@@ -192,8 +187,8 @@ send_query(const int fd)
for (i = 0; i < DEFAULT_STRLEN; ++i) {
if (i)
printf(", ");
- printf("{{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=0}}",
+ printf("{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=0}",
msgs[i].nlmsg_len, NLM_F_DUMP, msgs[i].nlmsg_seq);
}
printf(", ...], %u, MSG_DONTWAIT, NULL, 0) = %s\n", msg_len, errstr);
@@ -281,8 +276,8 @@ test_nlmsgerr(const int fd)
rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
", seq=0, pid=0}, {error=-EACCES"
- ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
- ", seq=%u, pid=%u}}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
+ ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
err->msg.nlmsg_seq, err->msg.nlmsg_pid,
nlh->nlmsg_len, sprintrc(rc));
@@ -314,24 +309,58 @@ test_nlmsgerr(const int fd)
nlh->nlmsg_len, sprintrc(rc));
}
-int main(void)
+static void
+test_nlmsg_done(const int fd)
{
- struct sockaddr_nl addr;
- socklen_t len = sizeof(addr);
- int fd;
+ struct nlmsghdr *nlh;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+ const int num = 0xfacefeed;
- memset(&addr, 0, sizeof(addr));
- addr.nl_family = AF_NETLINK;
+ /* NLMSG_DONE message without enough room for an integer payload */
+ nlh = nlh0;
+ *nlh = (struct nlmsghdr) {
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(num),
+ .nlmsg_type = NLMSG_DONE,
+ .nlmsg_flags = NLM_F_MULTI
+ };
- if ((fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG)) == -1)
- perror_msg_and_skip("socket AF_NETLINK");
+ rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, %p}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh->nlmsg_len, nlh0 + NLMSG_HDRLEN,
+ nlh->nlmsg_len, sprintrc(rc));
- printf("socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG) = %d\n",
- fd);
- if (bind(fd, (struct sockaddr *) &addr, len))
- perror_msg_and_skip("bind");
- printf("bind(%d, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}"
- ", %u) = 0\n", fd, len);
+ /* NLMSG_DONE message with enough room for an oddly short payload */
+ nlh->nlmsg_len = NLMSG_HDRLEN + 2;
+ nlh = nlh0 - 2;
+ /* Beware of unaligned access to nlh members. */
+ memmove(nlh, nlh0, sizeof(*nlh));
+ memcpy(NLMSG_DATA(nlh), "42", 2);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + 2, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, \"42\"}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + 2, NLMSG_HDRLEN + 2, sprintrc(rc));
+
+ /* NLMSG_DONE message with enough room for an integer payload */
+ nlh = nlh0 - sizeof(num);
+ *nlh = (struct nlmsghdr) {
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(num),
+ .nlmsg_type = NLMSG_DONE,
+ .nlmsg_flags = NLM_F_MULTI
+ };
+ memcpy(NLMSG_DATA(nlh), &num, sizeof(num));
+
+ rc = sendto(fd, nlh, nlh->nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=NLMSG_DONE, flags=NLM_F_MULTI"
+ ", seq=0, pid=0}, %d}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh->nlmsg_len, num, nlh->nlmsg_len, sprintrc(rc));
+}
+
+int main(void)
+{
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
char *path;
if (asprintf(&path, "/proc/self/fd/%u", fd) < 0)
@@ -343,9 +372,9 @@ int main(void)
send_query(fd);
test_nlmsgerr(fd);
+ test_nlmsg_done(fd);
- printf("+++ exited with 0 +++\n");
-
+ puts("+++ exited with 0 +++");
return 0;
}
diff --git a/tests/netlink_protocol.gen.test b/tests/netlink_protocol.gen.test
index 9a132faf..18d06677 100755
--- a/tests/netlink_protocol.gen.test
+++ b/tests/netlink_protocol.gen.test
@@ -1,4 +1,4 @@
#!/bin/sh -efu
-# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=%network); do not edit.
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_protocol -e trace=sendto); do not edit.
. "${srcdir=.}/init.sh"
-run_strace_match_diff -e trace=%network
+run_strace_match_diff -e trace=sendto
diff --git a/tests/netlink_route.c b/tests/netlink_route.c
new file mode 100644
index 00000000..54a54b7e
--- /dev/null
+++ b/tests/netlink_route.c
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = RTM_GETLINK,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ };
+
+ nlh.nlmsg_type = RTM_GETLINK;
+ nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_GETLINK"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_DELACTION;
+ nlh.nlmsg_flags = NLM_F_ROOT;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_DELACTION"
+ ", flags=NLM_F_ROOT, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_NEWLINK;
+ nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_NEWLINK"
+ ", flags=NLM_F_ECHO|NLM_F_REPLACE, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = RTM_DELLINK;
+ nlh.nlmsg_flags = NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=RTM_DELLINK"
+ ", flags=%#x /* NLM_F_??? */, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NLM_F_REPLACE,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_ROUTE);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests/netlink_route.gen.test b/tests/netlink_route.gen.test
new file mode 100755
index 00000000..298dbf1a
--- /dev/null
+++ b/tests/netlink_route.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_route +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/netlink_selinux.c b/tests/netlink_selinux.c
new file mode 100644
index 00000000..6494fda9
--- /dev/null
+++ b/tests/netlink_selinux.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/selinux_netlink.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SELNL_MSG_SETENFORCE,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SELNL_MSG_SETENFORCE"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_SELINUX);
+
+ test_nlmsg_type(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests/netlink_selinux.gen.test b/tests/netlink_selinux.gen.test
new file mode 100755
index 00000000..a8871d6d
--- /dev/null
+++ b/tests/netlink_selinux.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_selinux +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/netlink_sock_diag.c b/tests/netlink_sock_diag.c
new file mode 100644
index 00000000..b8d01904
--- /dev/null
+++ b/tests/netlink_sock_diag.c
@@ -0,0 +1,1606 @@
+/*
+ * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <netinet/tcp.h>
+#include "netlink.h"
+#include <linux/if_ether.h>
+#include <linux/inet_diag.h>
+#include <linux/netlink_diag.h>
+#include <linux/packet_diag.h>
+#ifdef AF_SMC
+# include <linux/smc_diag.h>
+#endif
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+#define SMC_ACTIVE 1
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST|NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_odd_family_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* unspecified family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=AF_UNSPEC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unknown family only */
+ *family = 0xff;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=0xff /* AF_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* short read of family */
+ memmove(nlh0, nlh, NLMSG_HDRLEN);
+ nlh = nlh0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, %p}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_DATA(nlh),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unspecified family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=AF_UNSPEC, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unknown family and string */
+ *family = 0xfd;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {family=0xfd /* AF_??? */, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+}
+
+static void
+test_odd_family_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* unspecified family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=AF_UNSPEC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unknown family only */
+ *family = 0xff;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=0xff /* AF_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* short read of family */
+ memmove(nlh0, nlh, NLMSG_HDRLEN);
+ nlh = nlh0;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, %p}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_DATA(nlh),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* unspecified family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = 0;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=AF_UNSPEC, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unknown family and string */
+ *family = 0xfb;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {family=0xfb /* AF_??? */, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+}
+
+static void
+test_unix_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct unix_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_UNIX}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_UNIX, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unix_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct unix_diag_req) {
+ .sdiag_family = AF_UNIX,
+ .sdiag_protocol = 253,
+ .udiag_states = 1 << TCP_ESTABLISHED | 1 << TCP_LISTEN,
+ .udiag_ino = 0xfacefeed,
+ .udiag_show = UDIAG_SHOW_NAME,
+ .udiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_UNIX, sdiag_protocol=%u"
+ ", udiag_states=1<<TCP_ESTABLISHED|1<<TCP_LISTEN, udiag_ino=%u"
+ ", udiag_show=UDIAG_SHOW_NAME, udiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 253, 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of unix_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {sdiag_family=AF_UNIX, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_unix_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct unix_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_UNIX}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_UNIX;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* unix_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct unix_diag_msg) {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1,
+ .udiag_ino = 0xfacefeed,
+ .udiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, udiag_type=SOCK_STREAM"
+ ", udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=%u, udiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of unix_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_netlink_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct netlink_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_NETLINK}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* netlink_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct netlink_diag_req) {
+ .sdiag_family = AF_NETLINK,
+ .sdiag_protocol = NDIAG_PROTO_ALL,
+ .ndiag_ino = 0xfacefeed,
+ .ndiag_show = NDIAG_SHOW_MEMINFO,
+ .ndiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, sdiag_protocol=NDIAG_PROTO_ALL"
+ ", ndiag_ino=%u, ndiag_show=NDIAG_SHOW_MEMINFO"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ req->sdiag_protocol = NETLINK_ROUTE;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, sdiag_protocol=NETLINK_ROUTE"
+ ", ndiag_ino=%u, ndiag_show=NDIAG_SHOW_MEMINFO"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of netlink_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_NETLINK, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_netlink_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct netlink_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_NETLINK}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_NETLINK;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {ndiag_family=AF_NETLINK, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* netlink_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct netlink_diag_msg) {
+ .ndiag_family = AF_NETLINK,
+ .ndiag_type = SOCK_RAW,
+ .ndiag_protocol = NETLINK_ROUTE,
+ .ndiag_state = NETLINK_CONNECTED,
+ .ndiag_portid = 0xbadc0ded,
+ .ndiag_dst_portid = 0xdeadbeef,
+ .ndiag_dst_group = 0xfacefeed,
+ .ndiag_ino = 0xdaeefacd,
+ .ndiag_cookie = { 0xbadc0ded, 0xdeadbeef }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {ndiag_family=AF_NETLINK"
+ ", ndiag_type=SOCK_RAW, ndiag_protocol=NETLINK_ROUTE"
+ ", ndiag_state=NETLINK_CONNECTED, ndiag_portid=%u"
+ ", ndiag_dst_portid=%u, ndiag_dst_group=%u, ndiag_ino=%u"
+ ", ndiag_cookie=[%u, %u]}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xbadc0ded, 0xdeadbeef, 0xfacefeed,
+ 0xdaeefacd, 0xbadc0ded, 0xdeadbeef,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of netlink_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {ndiag_family=AF_NETLINK, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_packet_diag_req(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct packet_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_PACKET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* packet_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+ req = NLMSG_DATA(nlh);
+ *req = (struct packet_diag_req) {
+ .sdiag_family = AF_PACKET,
+ .sdiag_protocol = ETH_P_LOOP,
+ .pdiag_ino = 0xfacefeed,
+ .pdiag_show = PACKET_SHOW_INFO,
+ .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, sdiag_protocol=ETH_P_LOOP"
+ ", pdiag_ino=%u, pdiag_show=PACKET_SHOW_INFO"
+ ", pdiag_cookie=[%u, %u]}}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of packet_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_PACKET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_packet_diag_msg(const int fd)
+{
+ struct nlmsghdr *nlh;
+ struct packet_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_PACKET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ family = NLMSG_DATA(nlh);
+ *family = AF_PACKET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* packet_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct packet_diag_msg) {
+ .pdiag_family = AF_PACKET,
+ .pdiag_type = SOCK_STREAM,
+ .pdiag_num = 0xbadc,
+ .pdiag_ino = 0xfacefeed,
+ .pdiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ };
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM"
+ ", pdiag_num=%u, pdiag_ino=%u, pdiag_cookie=[%u, %u]}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xbadc, 0xfacefeed, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of packet_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {pdiag_family=AF_PACKET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_sockid(const int fd)
+{
+ const char address[] = "12.34.56.78";
+ const char address6[] = "12:34:56:78:90:ab:cd:ef";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req_v2 *req;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ nlh = nlh0 - sizeof(*req);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req_v2) {
+ .sdiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_CONG - 1),
+ .sdiag_protocol = IPPROTO_TCP,
+ .idiag_states = 1 << TCP_CLOSE,
+ .id = {
+ .idiag_sport = 0xfacd,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ req->sdiag_family = AF_INET6;
+ if (!inet_pton(AF_INET6, address6, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET6, address6, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET6, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET6, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET6, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address6, address6,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_req(const int fd)
+{
+ const char address[] = "12.34.56.78";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - (sizeof(*family) + 4);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = TCPDIAG_GETSOCK,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req) {
+ .idiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_TOS - 1),
+ .idiag_src_len = 0xde,
+ .idiag_dst_len = 0xba,
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ .idiag_states = 1 << TCP_LAST_ACK,
+ .idiag_dbs = 0xfacefeed,
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, idiag_src_len=%u"
+ ", idiag_dst_len=%u, idiag_ext=1<<(INET_DIAG_TOS-1)"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", idiag_states=1<<TCP_LAST_ACK, idiag_dbs=%u}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ 0xde, 0xba, ntohs(0xdead), ntohs(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded, 0xfacefeed,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of inet_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=TCPDIAG_GETSOCK"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_req_v2(const int fd)
+{
+ const char address[] = "87.65.43.21";
+ struct nlmsghdr *nlh;
+ struct inet_diag_req_v2 *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_req_v2 */
+ nlh = nlh0 - sizeof(*req);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct inet_diag_req_v2) {
+ .sdiag_family = AF_INET,
+ .idiag_ext = 1 << (INET_DIAG_CONG - 1),
+ .sdiag_protocol = IPPROTO_TCP,
+ .idiag_states = 1 << TCP_CLOSE,
+ .id = {
+ .idiag_sport = 0xfacd,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, sdiag_protocol=IPPROTO_TCP"
+ ", idiag_ext=1<<(INET_DIAG_CONG-1)"
+ ", idiag_states=1<<TCP_CLOSE, id={idiag_sport=htons(%u)"
+ ", idiag_dport=htons(%u), inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst), idiag_if=%u"
+ ", idiag_cookie=[%u, %u]}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ ntohs(0xfacd), ntohs(0xdead), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of inet_diag_req_v2 */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {sdiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_inet_diag_msg(const int fd)
+{
+ const char address[] = "11.22.33.44";
+ struct nlmsghdr *nlh;
+ struct inet_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_INET}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_INET;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* inet_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct inet_diag_msg) {
+ .idiag_family = AF_INET,
+ .idiag_state = TCP_LISTEN,
+ .idiag_timer = 0xfa,
+ .idiag_retrans = 0xde,
+ .id = {
+ .idiag_sport = 0xfacf,
+ .idiag_dport = 0xdead,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded }
+ },
+ .idiag_expires = 0xfacefeed,
+ .idiag_rqueue = 0xdeadbeef,
+ .idiag_wqueue = 0xadcdfafc,
+ .idiag_uid = 0xdecefaeb,
+ .idiag_inode = 0xbadc0ded,
+ };
+
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, idiag_state=TCP_LISTEN"
+ ", idiag_timer=%u, idiag_retrans=%u"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", idiag_expires=%u, idiag_rqueue=%u, idiag_wqueue=%u"
+ ", idiag_uid=%u, idiag_inode=%u}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xfa, 0xde, ntohs(0xfacf), ntohs(0xdead),
+ address, address, 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ 0xfacefeed, 0xdeadbeef, 0xadcdfafc, 0xdecefaeb, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of inet_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {idiag_family=AF_INET, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+
+#ifdef AF_SMC
+static void
+test_smc_diag_req(const int fd)
+{
+ const char address[] = "43.21.56.78";
+ struct nlmsghdr *nlh;
+ struct smc_diag_req *req;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {family=AF_SMC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* smc_diag_req */
+ nlh = nlh0 - sizeof(*req);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*req),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_REQUEST
+ );
+
+ req = NLMSG_DATA(nlh);
+ *req = (struct smc_diag_req) {
+ .diag_family = AF_SMC,
+ .diag_ext = 1 << (SMC_DIAG_CONNINFO - 1),
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded },
+ },
+ };
+
+ if (!inet_pton(AF_INET, address, &req->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &req->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}, {diag_family=AF_SMC"
+ ", diag_ext=1<<(SMC_DIAG_CONNINFO-1)"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ htons(0xdead), htons(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+
+ /* short read of smc_diag_req */
+ nlh = nlh0 - (sizeof(*req) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*req), NLMSG_HDRLEN + sizeof(*req) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*req), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*req),
+ sprintrc(rc));
+}
+
+static void
+test_smc_diag_msg(const int fd)
+{
+ const char address[] = "34.87.12.90";
+ struct nlmsghdr *nlh;
+ struct smc_diag_msg *msg;
+ uint8_t *family;
+ void *const nlh0 = tail_alloc(NLMSG_HDRLEN);
+ long rc;
+
+ /* family only */
+ nlh = nlh0 - sizeof(*family);
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {family=AF_SMC}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family),
+ sprintrc(rc));
+
+ /* family and string */
+ nlh = nlh0 - sizeof(*family) - 4;
+ /* beware of unaligned access to nlh members */
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*family) + 4,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ family = NLMSG_DATA(nlh);
+ *family = AF_SMC;
+ memcpy(family + 1, "1234", 4);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*family) + 4, MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, ...}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*family) + 4,
+ sprintrc(rc));
+
+ /* smc_diag_msg */
+ nlh = nlh0 - sizeof(*msg);
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = NLMSG_HDRLEN + sizeof(*msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ msg = NLMSG_DATA(nlh);
+ *msg = (struct smc_diag_msg) {
+ .diag_family = AF_SMC,
+ .diag_state = SMC_ACTIVE,
+ .diag_fallback = 0xde,
+ .diag_shutdown = 0xba,
+ .id = {
+ .idiag_sport = 0xdead,
+ .idiag_dport = 0xadcd,
+ .idiag_if = 0xadcdfafc,
+ .idiag_cookie = { 0xdeadbeef, 0xbadc0ded },
+ },
+ .diag_uid = 0xadcdfafc,
+ .diag_inode = 0xbadc0ded,
+ };
+
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_src))
+ perror_msg_and_skip("sendto");
+ if (!inet_pton(AF_INET, address, &msg->id.idiag_dst))
+ perror_msg_and_skip("sendto");
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {diag_family=AF_SMC"
+ ", diag_state=SMC_ACTIVE, diag_fallback=%u, diag_shutdown=%u"
+ ", id={idiag_sport=htons(%u), idiag_dport=htons(%u)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=%u, idiag_cookie=[%u, %u]}"
+ ", diag_uid=%u, diag_inode=%u}}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ 0xde, 0xba, htons(0xdead), htons(0xadcd), address, address,
+ 0xadcdfafc, 0xdeadbeef, 0xbadc0ded, 0xadcdfafc, 0xbadc0ded,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+
+ /* short read of smc_diag_msg */
+ nlh = nlh0 - (sizeof(*msg) - 1);
+ /* beware of unaligned access to nlh members */
+ memmove(nlh, nlh0 - sizeof(*msg), NLMSG_HDRLEN + sizeof(*msg) - 1);
+
+ rc = sendto(fd, nlh, NLMSG_HDRLEN + sizeof(*msg), MSG_DONTWAIT,
+ NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {diag_family=AF_SMC, %p}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ NLMSG_DATA(nlh) + 1,
+ NLMSG_HDRLEN + (unsigned int) sizeof(*msg),
+ sprintrc(rc));
+}
+#endif
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+ test_odd_family_req(fd);
+ test_odd_family_msg(fd);
+ test_unix_diag_req(fd);
+ test_unix_diag_msg(fd);
+ test_netlink_diag_req(fd);
+ test_netlink_diag_msg(fd);
+ test_packet_diag_req(fd);
+ test_packet_diag_msg(fd);
+ test_inet_diag_sockid(fd);
+ test_inet_diag_req(fd);
+ test_inet_diag_req_v2(fd);
+ test_inet_diag_msg(fd);
+#ifdef AF_SMC
+ test_smc_diag_req(fd);
+ test_smc_diag_msg(fd);
+#endif
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests/netlink_sock_diag.test b/tests/netlink_sock_diag.test
new file mode 100755
index 00000000..0cf380e2
--- /dev/null
+++ b/tests/netlink_sock_diag.test
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Check decoding of NETLINK_SOCK_DIAG protocol
+#
+# Copyright (c) 2017 The strace developers.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+. "${srcdir=.}/init.sh"
+
+run_prog ../netlink_netlink_diag
+run_strace_match_diff -e trace=sendto
diff --git a/tests/netlink_unix_diag.c b/tests/netlink_unix_diag.c
index 269adc6f..119cc9e7 100644
--- a/tests/netlink_unix_diag.c
+++ b/tests/netlink_unix_diag.c
@@ -36,14 +36,10 @@
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
-#include <linux/netlink.h>
+#include "netlink.h"
#include <linux/sock_diag.h>
#include <linux/unix_diag.h>
-#if !defined NETLINK_SOCK_DIAG && defined NETLINK_INET_DIAG
-# define NETLINK_SOCK_DIAG NETLINK_INET_DIAG
-#endif
-
static void
send_query(const int fd)
{
diff --git a/tests/netlink_xfrm.c b/tests/netlink_xfrm.c
new file mode 100644
index 00000000..27f62d1e
--- /dev/null
+++ b/tests/netlink_xfrm.c
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/xfrm.h>
+
+static void
+test_nlmsg_type(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ .nlmsg_type = XFRM_MSG_NEWSA,
+ .nlmsg_flags = NLM_F_REQUEST,
+ };
+
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REQUEST, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+static void
+test_nlmsg_flags(const int fd)
+{
+ long rc;
+ struct nlmsghdr nlh = {
+ .nlmsg_len = sizeof(nlh),
+ };
+
+ nlh.nlmsg_type = XFRM_MSG_GETSA;
+ nlh.nlmsg_flags = NLM_F_DUMP;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_GETSA"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = XFRM_MSG_NEWSA;
+ nlh.nlmsg_flags = NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_NEWSA"
+ ", flags=NLM_F_REPLACE, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
+
+ nlh.nlmsg_type = XFRM_MSG_DELSA;
+ nlh.nlmsg_flags = NLM_F_ECHO | NLM_F_REPLACE;
+ rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {len=%u, type=XFRM_MSG_DELSA"
+ ", flags=NLM_F_ECHO|%#x, seq=0, pid=0}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, nlh.nlmsg_len, NLM_F_REPLACE,
+ (unsigned) sizeof(nlh), sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ int fd = create_nl_socket(NETLINK_XFRM);
+
+ test_nlmsg_type(fd);
+ test_nlmsg_flags(fd);
+
+ printf("+++ exited with 0 +++\n");
+
+ return 0;
+}
diff --git a/tests/netlink_xfrm.gen.test b/tests/netlink_xfrm.gen.test
new file mode 100755
index 00000000..17f7444b
--- /dev/null
+++ b/tests/netlink_xfrm.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (netlink_xfrm +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/nlattr.c b/tests/nlattr.c
new file mode 100644
index 00000000..7361eced
--- /dev/null
+++ b/tests/nlattr.c
@@ -0,0 +1,326 @@
+/*
+ * Check decoding of netlink attribute.
+ *
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <netinet/tcp.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+static void
+test_nlattr(const int fd)
+{
+ static const struct msg {
+ struct nlmsghdr nlh;
+ struct unix_diag_msg udm;
+ } c_msg = {
+ .nlh = {
+ .nlmsg_len = sizeof(struct msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ },
+ .udm = {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1
+ }
+ };
+ struct msg *msg;
+ struct nlattr *nla;
+ unsigned int msg_len;
+ long rc;
+
+ /* fetch fail: len < sizeof(struct nlattr) */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ memcpy(nla, "12", 2);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, \"12\"}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, msg_len, sprintrc(rc));
+
+ /* fetch fail: short read */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len - 1);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, %p}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, (void *) msg + NLMSG_SPACE(sizeof(msg->udm)),
+ msg_len, sprintrc(rc));
+
+ /* print one struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = sizeof(*nla),
+ .nla_type = UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr with nla_len out of msg_len bounds */
+ nla->nla_len += 8;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and some data */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN + 4;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN + 4,
+ .nla_type = UNIX_DIAG_SHUTDOWN + 1
+ };
+ memcpy(RTA_DATA(nla), "1234", 4);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {{nla_len=%u"
+ ", nla_type=%#x /* UNIX_DIAG_??? */}, \"1234\"}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, UNIX_DIAG_SHUTDOWN + 1,
+ msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and fetch fail second struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN + 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ memcpy(nla + 1, "12", 2);
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, \"12\"]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* print one struct nlattr and short read of second struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN * 2;
+ msg = tail_memdup(&c_msg, msg_len - 1);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, %p]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, nla + 1, msg_len, sprintrc(rc));
+
+ /* print two struct nlattr */
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + NLA_HDRLEN * 2;
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_NAME
+ };
+ *(nla + 1) = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_PEER
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, [{nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_PEER}]}, %u"
+ ", MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, nla->nla_len,
+ msg_len, sprintrc(rc));
+
+ /* print first nlattr only when its nla_len is less than NLA_HDRLEN */
+ nla->nla_len = NLA_HDRLEN - 1;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=UNIX_DIAG_NAME}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ /* abbreviated output */
+#define ABBREV_LEN (DEFAULT_STRLEN + 1)
+ msg_len = NLA_HDRLEN * ABBREV_LEN + NLMSG_SPACE(sizeof(msg->udm));
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ unsigned int i;
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ for (i = 0; i < ABBREV_LEN; ++i)
+ nla[i] = (struct nlattr) {
+ .nla_len = NLA_HDRLEN,
+ .nla_type = UNIX_DIAG_SHUTDOWN + 1 + i
+ };
+
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}"
+ ", {udiag_family=AF_UNIX, udiag_type=SOCK_STREAM"
+ ", udiag_state=TCP_FIN_WAIT1, udiag_ino=0"
+ ", udiag_cookie=[0, 0]}, [",
+ fd, msg_len);
+ for (i = 0; i < DEFAULT_STRLEN; ++i) {
+ if (i)
+ printf(", ");
+ printf("{nla_len=%u, nla_type=%#x /* UNIX_DIAG_??? */}",
+ nla->nla_len, UNIX_DIAG_SHUTDOWN + 1 + i);
+ }
+ printf(", ...]}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ msg_len, sprintrc(rc));
+}
+
+static void
+test_nla_type(const int fd)
+{
+ static const struct msg {
+ struct nlmsghdr nlh;
+ struct unix_diag_msg udm;
+ } c_msg = {
+ .nlh = {
+ .nlmsg_len = sizeof(struct msg),
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ },
+ .udm = {
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_FIN_WAIT1
+ }
+ };
+ struct msg *msg;
+ struct nlattr *nla;
+ unsigned int msg_len;
+ long rc;
+
+ msg_len = NLMSG_SPACE(sizeof(msg->udm)) + sizeof(*nla);
+ msg = tail_memdup(&c_msg, msg_len);
+ memcpy(&msg->nlh.nlmsg_len, &msg_len, sizeof(msg_len));
+ nla = NLMSG_ATTR(msg, sizeof(msg->udm));
+ *nla = (struct nlattr) {
+ .nla_len = sizeof(*nla),
+ .nla_type = NLA_F_NESTED | UNIX_DIAG_NAME
+ };
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NET_BYTEORDER | UNIX_DIAG_NAME;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NET_BYTEORDER|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NESTED | NLA_F_NET_BYTEORDER | UNIX_DIAG_NAME;
+ rc = sendto(fd, msg, msg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|NLA_F_NET_BYTEORDER|UNIX_DIAG_NAME}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg_len, nla->nla_len, msg_len, sprintrc(rc));
+
+ nla->nla_type = NLA_F_NESTED | (UNIX_DIAG_SHUTDOWN + 1);
+ rc = sendto(fd, msg, msg->nlh.nlmsg_len, MSG_DONTWAIT, NULL, 0);
+ printf("sendto(%d, {{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_FIN_WAIT1"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}, {nla_len=%u"
+ ", nla_type=NLA_F_NESTED|%#x /* UNIX_DIAG_??? */}}"
+ ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
+ fd, msg->nlh.nlmsg_len, nla->nla_len, UNIX_DIAG_SHUTDOWN + 1,
+ msg->nlh.nlmsg_len, sprintrc(rc));
+}
+
+int main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+
+ test_nlattr(fd);
+ test_nla_type(fd);
+
+ puts("+++ exited with 0 +++");
+
+ return 0;
+}
diff --git a/tests/nlattr.gen.test b/tests/nlattr.gen.test
new file mode 100755
index 00000000..105801b9
--- /dev/null
+++ b/tests/nlattr.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/nlattr_inet_diag_msg.c b/tests/nlattr_inet_diag_msg.c
new file mode 100644
index 00000000..d9d564c3
--- /dev/null
+++ b/tests/nlattr_inet_diag_msg.c
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+#include <netinet/tcp.h>
+#include "test_nlattr.h"
+#include <linux/inet_diag.h>
+#include <linux/sock_diag.h>
+
+static const char address[] = "10.11.12.13";
+
+#ifdef HAVE_IF_INDEXTONAME
+# define IFINDEX_LO (if_nametoindex("lo"))
+#else
+# define IFINDEX_LO 1
+#endif
+
+static void
+init_inet_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct inet_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct inet_diag_msg, msg,
+ .idiag_family = AF_INET,
+ .idiag_state = TCP_LISTEN,
+ .id.idiag_if = IFINDEX_LO
+ );
+
+ if (!inet_pton(AF_INET, address, msg->id.idiag_src) ||
+ !inet_pton(AF_INET, address, msg->id.idiag_dst))
+ perror_msg_and_skip("inet_pton");
+}
+
+static void
+print_inet_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {idiag_family=AF_INET"
+ ", idiag_state=TCP_LISTEN, idiag_timer=0, idiag_retrans=0"
+ ", id={idiag_sport=htons(0), idiag_dport=htons(0)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_src)"
+ ", inet_pton(AF_INET, \"%s\", &idiag_dst)"
+ ", idiag_if=if_nametoindex(\"lo\"), idiag_cookie=[0, 0]}"
+ ", idiag_expires=0, idiag_rqueue=0, idiag_wqueue=0"
+ ", idiag_uid=0, idiag_inode=0}",
+ msg_len, address, address);
+}
+
+static void
+print_uint(const unsigned int *p)
+{
+ printf("%u", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct inet_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const struct inet_diag_meminfo minfo = {
+ .idiag_rmem = 0xfadcacdb,
+ .idiag_wmem = 0xbdabcada,
+ .idiag_fmem = 0xbadbfafb,
+ .idiag_tmem = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_MEMINFO, pattern, minfo,
+ PRINT_FIELD_U("{", minfo, idiag_rmem);
+ PRINT_FIELD_U(", ", minfo, idiag_wmem);
+ PRINT_FIELD_U(", ", minfo, idiag_fmem);
+ PRINT_FIELD_U(", ", minfo, idiag_tmem);
+ printf("}"));
+
+ static const struct tcpvegas_info vegas = {
+ .tcpv_enabled = 0xfadcacdb,
+ .tcpv_rttcnt = 0xbdabcada,
+ .tcpv_rtt = 0xbadbfafb,
+ .tcpv_minrtt = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_VEGASINFO, pattern, vegas,
+ PRINT_FIELD_U("{", vegas, tcpv_enabled);
+ PRINT_FIELD_U(", ", vegas, tcpv_rttcnt);
+ PRINT_FIELD_U(", ", vegas, tcpv_rtt);
+ PRINT_FIELD_U(", ", vegas, tcpv_minrtt);
+ printf("}"));
+
+
+ static const struct tcp_dctcp_info dctcp = {
+ .dctcp_enabled = 0xfdac,
+ .dctcp_ce_state = 0xfadc,
+ .dctcp_alpha = 0xbdabcada,
+ .dctcp_ab_ecn = 0xbadbfafb,
+ .dctcp_ab_tot = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_DCTCPINFO, pattern, dctcp,
+ PRINT_FIELD_U("{", dctcp, dctcp_enabled);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ce_state);
+ PRINT_FIELD_U(", ", dctcp, dctcp_alpha);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_ecn);
+ PRINT_FIELD_U(", ", dctcp, dctcp_ab_tot);
+ printf("}"));
+
+ static const struct tcp_bbr_info bbr = {
+ .bbr_bw_lo = 0xfdacdadf,
+ .bbr_bw_hi = 0xfadcacdb,
+ .bbr_min_rtt = 0xbdabcada,
+ .bbr_pacing_gain = 0xbadbfafb,
+ .bbr_cwnd_gain = 0xfdacdadf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_BBRINFO, pattern, bbr,
+ PRINT_FIELD_X("{", bbr, bbr_bw_lo);
+ PRINT_FIELD_X(", ", bbr, bbr_bw_hi);
+ PRINT_FIELD_U(", ", bbr, bbr_min_rtt);
+ PRINT_FIELD_U(", ", bbr, bbr_pacing_gain);
+ PRINT_FIELD_U(", ", bbr, bbr_cwnd_gain);
+ printf("}"));
+
+ static const uint32_t mem[] = { 0xaffacbad, 0xffadbcab };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_SKMEMINFO, pattern, mem, print_uint);
+
+ static const uint32_t mark = 0xabdfadca;
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg,
+ INET_DIAG_MARK, pattern, mark,
+ printf("%u", mark));
+
+ static const uint8_t shutdown = 0xcd;
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_SHUTDOWN,
+ sizeof(shutdown), &shutdown, sizeof(shutdown),
+ printf("%u", shutdown));
+
+ char *const str = tail_alloc(DEFAULT_STRLEN);
+ fill_memory_ex(str, DEFAULT_STRLEN, '0', 10);
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_CONG,
+ DEFAULT_STRLEN, str, DEFAULT_STRLEN,
+ printf("\"%.*s\"...", DEFAULT_STRLEN, str));
+ str[DEFAULT_STRLEN - 1] = '\0';
+ TEST_NLATTR(fd, nlh0, hdrlen,
+ init_inet_diag_msg, print_inet_diag_msg, INET_DIAG_CONG,
+ DEFAULT_STRLEN, str, DEFAULT_STRLEN,
+ printf("\"%s\"", str));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests/nlattr_inet_diag_msg.gen.test b/tests/nlattr_inet_diag_msg.gen.test
new file mode 100755
index 00000000..953a7675
--- /dev/null
+++ b/tests/nlattr_inet_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_inet_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/nlattr_netlink_diag_msg.c b/tests/nlattr_netlink_diag_msg.c
new file mode 100644
index 00000000..76a2d19e
--- /dev/null
+++ b/tests/nlattr_netlink_diag_msg.c
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include "test_nlattr.h"
+#include <linux/netlink_diag.h>
+#include <linux/sock_diag.h>
+
+static void
+init_netlink_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct netlink_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct netlink_diag_msg, msg,
+ .ndiag_family = AF_NETLINK,
+ .ndiag_type = SOCK_RAW,
+ .ndiag_protocol = NETLINK_ROUTE,
+ .ndiag_state = NETLINK_CONNECTED
+ );
+}
+
+static void
+print_netlink_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {ndiag_family=AF_NETLINK"
+ ", ndiag_type=SOCK_RAW, ndiag_protocol=NETLINK_ROUTE"
+ ", ndiag_state=NETLINK_CONNECTED, ndiag_portid=0"
+ ", ndiag_dst_portid=0, ndiag_dst_group=0, ndiag_ino=0"
+ ", ndiag_cookie=[0, 0]}",
+ msg_len);
+}
+
+static void
+print_xlong(const unsigned long *p)
+{
+ printf("%#lx", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct netlink_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const unsigned long groups[] = {
+ (unsigned long) 0xdeadbeefbadc0dedULL,
+ (unsigned long) 0xdeadbeefbadc0dedULL
+ };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_GROUPS, pattern, groups, print_xlong);
+
+ static const struct netlink_diag_ring ndr = {
+ .ndr_block_size = 0xfabfabdc,
+ .ndr_block_nr = 0xabcdabda,
+ .ndr_frame_size = 0xcbadbafa,
+ .ndr_frame_nr = 0xdbcafadb
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_RX_RING, pattern, ndr,
+ PRINT_FIELD_U("{", ndr, ndr_block_size);
+ PRINT_FIELD_U(", ", ndr, ndr_block_nr);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_size);
+ PRINT_FIELD_U(", ", ndr, ndr_frame_nr);
+ printf("}"));
+
+ static const uint32_t flags =
+ NDIAG_FLAG_CB_RUNNING | NDIAG_FLAG_PKTINFO;
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_netlink_diag_msg, print_netlink_diag_msg,
+ NETLINK_DIAG_FLAGS, pattern, flags,
+ printf("NDIAG_FLAG_CB_RUNNING|NDIAG_FLAG_PKTINFO"));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests/nlattr_netlink_diag_msg.gen.test b/tests/nlattr_netlink_diag_msg.gen.test
new file mode 100755
index 00000000..aa6aabf4
--- /dev/null
+++ b/tests/nlattr_netlink_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_netlink_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/nlattr_unix_diag_msg.c b/tests/nlattr_unix_diag_msg.c
new file mode 100644
index 00000000..22954042
--- /dev/null
+++ b/tests/nlattr_unix_diag_msg.c
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <sys/sysmacros.h>
+#include <netinet/tcp.h>
+#include "test_nlattr.h"
+#include <linux/sock_diag.h>
+#include <linux/unix_diag.h>
+
+static void
+init_unix_diag_msg(struct nlmsghdr *const nlh, const unsigned int msg_len)
+{
+ SET_STRUCT(struct nlmsghdr, nlh,
+ .nlmsg_len = msg_len,
+ .nlmsg_type = SOCK_DIAG_BY_FAMILY,
+ .nlmsg_flags = NLM_F_DUMP
+ );
+
+ struct unix_diag_msg *const msg = NLMSG_DATA(nlh);
+ SET_STRUCT(struct unix_diag_msg, msg,
+ .udiag_family = AF_UNIX,
+ .udiag_type = SOCK_STREAM,
+ .udiag_state = TCP_ESTABLISHED
+ );
+}
+
+static void
+print_unix_diag_msg(const unsigned int msg_len)
+{
+ printf("{len=%u, type=SOCK_DIAG_BY_FAMILY"
+ ", flags=NLM_F_DUMP, seq=0, pid=0}, {udiag_family=AF_UNIX"
+ ", udiag_type=SOCK_STREAM, udiag_state=TCP_ESTABLISHED"
+ ", udiag_ino=0, udiag_cookie=[0, 0]}",
+ msg_len);
+}
+
+static void
+print_uint(const unsigned int *p)
+{
+ printf("%u", *p);
+}
+
+int
+main(void)
+{
+ skip_if_unavailable("/proc/self/fd/");
+
+ const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
+ const unsigned int hdrlen = sizeof(struct unix_diag_msg);
+ void *const nlh0 = tail_alloc(NLMSG_SPACE(hdrlen));
+
+ static char pattern[4096];
+ fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1);
+
+ static const struct unix_diag_vfs uv = {
+ .udiag_vfs_dev = 0xabcddafa,
+ .udiag_vfs_ino = 0xbafabcda
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_VFS, pattern, uv,
+ printf("{udiag_vfs_dev=makedev(%u, %u)",
+ major(uv.udiag_vfs_dev),
+ minor(uv.udiag_vfs_dev));
+ PRINT_FIELD_U(", ", uv, udiag_vfs_ino);
+ printf("}"));
+
+ static const struct unix_diag_rqlen rql = {
+ .udiag_rqueue = 0xfabdcdad,
+ .udiag_wqueue = 0xbacdadcf
+ };
+ TEST_NLATTR_OBJECT(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_RQLEN, pattern, rql,
+ PRINT_FIELD_U("{", rql, udiag_rqueue);
+ PRINT_FIELD_U(", ", rql, udiag_wqueue);
+ printf("}"));
+
+ static const uint32_t inode[] = { 0xadbcadbc, 0xfabdcdac };
+ TEST_NLATTR_ARRAY(fd, nlh0, hdrlen,
+ init_unix_diag_msg, print_unix_diag_msg,
+ UNIX_DIAG_ICONS, pattern, inode, print_uint);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
diff --git a/tests/nlattr_unix_diag_msg.gen.test b/tests/nlattr_unix_diag_msg.gen.test
new file mode 100755
index 00000000..d913afc1
--- /dev/null
+++ b/tests/nlattr_unix_diag_msg.gen.test
@@ -0,0 +1,3 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (nlattr_unix_diag_msg +netlink_sock_diag.test); do not edit.
+. "${srcdir=.}/netlink_sock_diag.test"
diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c
index 7fda5ba1..d6b989c4 100644
--- a/tests/nsyscalls.c
+++ b/tests/nsyscalls.c
@@ -54,7 +54,7 @@
#define SI 0
#define SE 0
#define CST 0
-#define SEN(arg) 0,0
+#define SEN(arg) 0, 0
static const struct_sysent syscallent[] = {
#include "syscallent.h"
diff --git a/tests/options-syntax.test b/tests/options-syntax.test
index 4c778b31..7cfc579b 100755
--- a/tests/options-syntax.test
+++ b/tests/options-syntax.test
@@ -127,8 +127,20 @@ check_h 'piping the output and -ff are mutually exclusive' -o '!' -ff true
check_h "invalid -a argument: '-42'" -a -42
check_h "invalid -O argument: '-42'" -O -42
check_h "invalid -s argument: '-42'" -s -42
+check_h "invalid -s argument: '1073741824'" -s 1073741824
check_h "invalid -I argument: '5'" -I 5
+cat > "$EXP" << '__EOF__'
+strace: must have PROG [ARGS] or -p PID
+Try 'strace -h' for more information.
+__EOF__
+../zeroargc "$strace_exp" /bin/true 2> "$LOG" &&
+ dump_log_and_fail_with \
+ 'zeroargc strace failed to handle the error properly'
+match_diff "$LOG" "$EXP" ||
+ dump_log_and_fail_with \
+ 'zeroargc strace failed to print expected diagnostics'
+
if [ -n "${UID-}" ]; then
if [ "${UID-}" = 0 ]; then
umsg="Cannot find user ':nosuchuser:'"
diff --git a/tests/perf_event_open.c b/tests/perf_event_open.c
index 3f544a6d..74ff9527 100644
--- a/tests/perf_event_open.c
+++ b/tests/perf_event_open.c
@@ -73,36 +73,36 @@ struct u64_val_str {
const char *str;
};
-/* In order to avoid endianess-specific hackery */
+/* In order to avoid endianness-specific hackery. */
struct pea_flags {
- uint64_t disabled :1,
- inherit :1,
- pinned :1,
- exclusive :1,
- exclude_user :1,
- exclude_kernel :1,
- exclude_hv :1,
- exclude_idle :1,
- mmap :1,
- comm :1,
- freq :1,
- inherit_stat :1,
- enable_on_exec :1,
- task :1,
- watermark :1,
- precise_ip :2,
- mmap_data :1,
- sample_id_all :1,
- exclude_host :1,
- exclude_guest :1,
- exclude_callchain_kernel :1,
- exclude_callchain_user :1,
- mmap2 :1,
- comm_exec :1,
- use_clockid :1,
- context_switch :1,
- write_backward :1,
- __reserved_1 :36;
+ uint64_t disabled :1,
+ inherit :1,
+ pinned :1,
+ exclusive :1,
+ exclude_user :1,
+ exclude_kernel :1,
+ exclude_hv :1,
+ exclude_idle :1,
+ mmap :1,
+ comm :1,
+ freq :1,
+ inherit_stat :1,
+ enable_on_exec :1,
+ task :1,
+ watermark :1,
+ precise_ip :2,
+ mmap_data :1,
+ sample_id_all :1,
+ exclude_host :1,
+ exclude_guest :1,
+ exclude_callchain_kernel :1,
+ exclude_callchain_user :1,
+ mmap2 :1,
+ comm_exec :1,
+ use_clockid :1,
+ context_switch :1,
+ write_backward :1,
+ __reserved_1 :36;
};
static const char *
@@ -458,7 +458,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
/* End of version 4 of the structure */
if (size <= 104) {
- cutoff =104;
+ cutoff = 104;
goto end;
}
@@ -471,7 +471,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
printf(", aux_watermark=%" PRIu32, (uint32_t) val);
if (size <= 108) {
- cutoff =108;
+ cutoff = 108;
goto end;
}
@@ -484,7 +484,7 @@ print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
printf(", sample_max_stack=%" PRIu16, (uint16_t) val);
if (size <= 110) {
- cutoff =110;
+ cutoff = 110;
goto end;
}
@@ -718,7 +718,7 @@ main(void)
for (i = 0; i < ARRAY_SIZE(args); i++) {
rc = syscall(__NR_perf_event_open, args[i].attr, args[i].pid,
- args[i].cpu, args[i].group_fd, args[i].flags);
+ args[i].cpu, args[i].group_fd, args[i].flags);
printf("perf_event_open(%s, %d, %d, %d, %s) = %s\n",
printaddr(args[i].attr), args[i].pid, args[i].cpu,
args[i].group_fd, args[i].flags_str, sprintrc(rc));
@@ -793,19 +793,19 @@ main(void)
attr->size = 0;
rc = syscall(__NR_perf_event_open, attr, args[args_idx].pid,
- args[args_idx].cpu, args[args_idx].group_fd,
- args[args_idx].flags);
+ args[args_idx].cpu, args[args_idx].group_fd,
+ args[args_idx].flags);
printf("perf_event_open(");
print_event_attr(attr, i ? ((i == 1) ? 0 : size) : size + 8,
- attr_types[type_idx].str,
- attr_configs[type_idx][config_idx].str,
- sample_types[sample_type_idx].str,
- read_formats[read_format_idx].str,
- ip_desc_str,
- bp_types[bp_type_idx].str,
- branch_sample_types[branch_sample_type_idx].str,
- clockids[clockid_idx].str, size);
+ attr_types[type_idx].str,
+ attr_configs[type_idx][config_idx].str,
+ sample_types[sample_type_idx].str,
+ read_formats[read_format_idx].str,
+ ip_desc_str,
+ bp_types[bp_type_idx].str,
+ branch_sample_types[branch_sample_type_idx].str,
+ clockids[clockid_idx].str, size);
printf(", %d, %d, %d, %s) = %s\n", args[args_idx].pid,
args[args_idx].cpu, args[args_idx].group_fd,
args[args_idx].flags_str, sprintrc(rc));
diff --git a/tests/poll.c b/tests/poll.c
index c47c97e5..af66e536 100644
--- a/tests/poll.c
+++ b/tests/poll.c
@@ -39,13 +39,15 @@
# include <stdlib.h>
# include <unistd.h>
-#define PRINT_EVENT(flag, member) \
- if (member & flag) { \
- if (member != pfd->member) \
- tprintf("|"); \
- tprintf(#flag); \
- member &= ~flag; \
- }
+#define PRINT_EVENT(flag, member) \
+ do { \
+ if (member & flag) { \
+ if (member != pfd->member) \
+ tprintf("|"); \
+ tprintf(#flag); \
+ member &= ~flag; \
+ } \
+ } while (0)
static void
print_pollfd_entering(const struct pollfd *const pfd)
@@ -56,24 +58,24 @@ print_pollfd_entering(const struct pollfd *const pfd)
short events = pfd->events;
if (pfd->events) {
- PRINT_EVENT(POLLIN, events)
- PRINT_EVENT(POLLPRI, events)
- PRINT_EVENT(POLLOUT, events)
+ PRINT_EVENT(POLLIN, events);
+ PRINT_EVENT(POLLPRI, events);
+ PRINT_EVENT(POLLOUT, events);
#ifdef POLLRDNORM
- PRINT_EVENT(POLLRDNORM, events)
+ PRINT_EVENT(POLLRDNORM, events);
#endif
#ifdef POLLWRNORM
- PRINT_EVENT(POLLWRNORM, events)
+ PRINT_EVENT(POLLWRNORM, events);
#endif
#ifdef POLLRDBAND
- PRINT_EVENT(POLLRDBAND, events)
+ PRINT_EVENT(POLLRDBAND, events);
#endif
#ifdef POLLWRBAND
- PRINT_EVENT(POLLWRBAND, events)
+ PRINT_EVENT(POLLWRBAND, events);
#endif
- PRINT_EVENT(POLLERR, events)
- PRINT_EVENT(POLLHUP, events)
- PRINT_EVENT(POLLNVAL, events)
+ PRINT_EVENT(POLLERR, events);
+ PRINT_EVENT(POLLHUP, events);
+ PRINT_EVENT(POLLNVAL, events);
} else
tprintf("0");
}
@@ -123,24 +125,24 @@ print_pollfd_exiting(const struct pollfd *const pfd,
tprintf("{fd=%d, revents=", pfd->fd);
short revents = pfd->revents;
- PRINT_EVENT(POLLIN, revents)
- PRINT_EVENT(POLLPRI, revents)
- PRINT_EVENT(POLLOUT, revents)
+ PRINT_EVENT(POLLIN, revents);
+ PRINT_EVENT(POLLPRI, revents);
+ PRINT_EVENT(POLLOUT, revents);
#ifdef POLLRDNORM
- PRINT_EVENT(POLLRDNORM, revents)
+ PRINT_EVENT(POLLRDNORM, revents);
#endif
#ifdef POLLWRNORM
- PRINT_EVENT(POLLWRNORM, revents)
+ PRINT_EVENT(POLLWRNORM, revents);
#endif
#ifdef POLLRDBAND
- PRINT_EVENT(POLLRDBAND, revents)
+ PRINT_EVENT(POLLRDBAND, revents);
#endif
#ifdef POLLWRBAND
- PRINT_EVENT(POLLWRBAND, revents)
+ PRINT_EVENT(POLLWRBAND, revents);
#endif
- PRINT_EVENT(POLLERR, revents)
- PRINT_EVENT(POLLHUP, revents)
- PRINT_EVENT(POLLNVAL, revents)
+ PRINT_EVENT(POLLERR, revents);
+ PRINT_EVENT(POLLHUP, revents);
+ PRINT_EVENT(POLLNVAL, revents);
tprintf("}");
}
@@ -192,7 +194,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -205,7 +208,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -217,7 +221,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds0, ARRAY_SIZE(pfds0),
ARRAY_SIZE(pfds0), abbrev);
- tprintf(", %u, %d) = %d (", ARRAY_SIZE(pfds0), timeout, rc);
+ tprintf(", %u, %d) = %d (",
+ (unsigned int) ARRAY_SIZE(pfds0), timeout, rc);
print_pollfd_array_exiting(tail_fds0, ARRAY_SIZE(pfds0), abbrev);
tprintf(")\n");
@@ -232,7 +237,8 @@ main(int ac, char **av)
tprintf("poll(");
print_pollfd_array_entering(tail_fds1, ARRAY_SIZE(pfds1),
ARRAY_SIZE(pfds1), abbrev);
- tprintf(", %u, %d) = %d (Timeout)\n", ARRAY_SIZE(pfds1), timeout, rc);
+ tprintf(", %u, %d) = %d (Timeout)\n",
+ (unsigned int) ARRAY_SIZE(pfds1), timeout, rc);
const void *const efault = tail_fds0 + ARRAY_SIZE(pfds0);
rc = syscall(__NR_poll, efault, 1, 0);
diff --git a/tests/ppoll.c b/tests/ppoll.c
index 85a7e0c0..62241839 100644
--- a/tests/ppoll.c
+++ b/tests/ppoll.c
@@ -138,9 +138,10 @@ main(void)
#if VERBOSE
pipe_fd[2], pipe_fd[3],
#endif
- (unsigned) ARRAY_SIZE(fds1), USR2_CHLD_str,
- (unsigned) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
- pipe_fd[3], (unsigned ) ts->tv_sec, (unsigned) ts->tv_nsec);
+ (unsigned int) ARRAY_SIZE(fds1), USR2_CHLD_str,
+ (unsigned int) sigset_size, rc, pipe_fd[1], POLLWRNORM_str,
+ pipe_fd[3], (unsigned int) ts->tv_sec,
+ (unsigned int) ts->tv_nsec);
ts->tv_sec = 0;
ts->tv_nsec = 999;
diff --git a/tests/preadv-pwritev.c b/tests/preadv-pwritev.c
index b2d2a824..ddbd47f6 100644
--- a/tests/preadv-pwritev.c
+++ b/tests/preadv-pwritev.c
@@ -121,7 +121,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -142,7 +142,8 @@ main(void)
tprintf("preadv(0, [{iov_base=\"%s\", iov_len=%u}], %u, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -166,7 +167,7 @@ main(void)
", {iov_base=\"\", iov_len=%u}], %u, %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_),
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
r_len, w_len - r_len,
w_len - r_len, r1_d, r1_c);
close(0);
diff --git a/tests/preadv.c b/tests/preadv.c
index a55909b6..d5ad84f6 100644
--- a/tests/preadv.c
+++ b/tests/preadv.c
@@ -125,7 +125,7 @@ main(void)
perror_msg_and_fail("preadv: expected %u, returned %ld",
r_len, rc);
printf("preadv(%d, [{iov_base=\"%s\", iov_len=%u}], %u, 0) = %u\n",
- fd, r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len);
+ fd, r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_), r_len);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(LENGTH_OF(w));
@@ -147,8 +147,9 @@ main(void)
(int) LENGTH_OF(w) - r_len, rc);
printf("preadv(%d, [{iov_base=\"%s\", iov_len=%u}"
", {iov_base=\"\", iov_len=%u}], %u, %u) = %u\n",
- fd, r1_c, r_len, LENGTH_OF(w), ARRAY_SIZE(r1_iov_),
- r_len, LENGTH_OF(w) - r_len);
+ fd, r1_c, r_len, LENGTH_OF(w),
+ (unsigned int) ARRAY_SIZE(r1_iov_),
+ r_len, LENGTH_OF(w) - r_len);
puts("+++ exited with 0 +++");
return 0;
diff --git a/tests/preadv2-pwritev2.c b/tests/preadv2-pwritev2.c
index e31e0463..89f37dd6 100644
--- a/tests/preadv2-pwritev2.c
+++ b/tests/preadv2-pwritev2.c
@@ -127,7 +127,7 @@ dumpio(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -148,7 +148,8 @@ dumpio(void)
tprintf("preadv2(0, [{iov_base=\"%s\", iov_len=%u}], %u, 0, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -172,7 +173,7 @@ dumpio(void)
", {iov_base=\"\", iov_len=%u}], %u, %u, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_),
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
r_len, w_len - r_len,
w_len - r_len, r1_d, r1_c);
close(0);
diff --git a/tests/print_quoted_string.c b/tests/print_quoted_string.c
index 3ad86024..732fe3de 100644
--- a/tests/print_quoted_string.c
+++ b/tests/print_quoted_string.c
@@ -18,7 +18,7 @@ print_quoted_string(const char *instr)
void
print_quoted_memory(const char *instr, const size_t len)
{
- const unsigned char *str = (const unsigned char*) instr;
+ const unsigned char *str = (const unsigned char *) instr;
size_t i;
for (i = 0; i < len; ++i) {
diff --git a/tests/print_time.c b/tests/print_time.c
index 42923296..e2592428 100644
--- a/tests/print_time.c
+++ b/tests/print_time.c
@@ -58,8 +58,6 @@ print_time_t_ex(const time_t t, const unsigned long long part_sec,
if (comment)
fputs(" */", stdout);
-
- return;
}
void
diff --git a/tests/printstr.c b/tests/printstr.c
index 330234f1..8e226813 100644
--- a/tests/printstr.c
+++ b/tests/printstr.c
@@ -34,13 +34,11 @@
#include <unistd.h>
#include <sys/uio.h>
-#define DEFAULT_STRLEN 32
-
int
main(void)
{
char *const buf = tail_alloc(DEFAULT_STRLEN + 1);
- const struct iovec io = {
+ struct iovec io = {
.iov_base = buf,
.iov_len = -1
};
@@ -64,6 +62,11 @@ main(void)
tprintf("writev(-1, [{iov_base=\"\\0%*s\"..., iov_len=%lu}], 1)"
" = %s\n", DEFAULT_STRLEN - 1, buf + 1, -1UL, sprintrc(rc));
+ ++io.iov_base;
+ rc = writev(-1, &io, 1);
+ tprintf("writev(-1, [{iov_base=%p, iov_len=%lu}], 1) = %s\n",
+ io.iov_base, -1UL, sprintrc(rc));
+
tprintf("+++ exited with 0 +++\n");
return 0;
}
diff --git a/tests/process_vm_readv_writev.c b/tests/process_vm_readv_writev.c
index 2a089395..c0f9c312 100644
--- a/tests/process_vm_readv_writev.c
+++ b/tests/process_vm_readv_writev.c
@@ -51,7 +51,7 @@ enum { MAX_SEGM_COUNT = 2, MAX_STR_LEN = 5 };
struct print_iov_arg {
uint32_t count;
uint32_t valid :1,
- string :1,
+ string :1,
addr_term:1,
check_rc :1;
uint32_t str_segms;
@@ -247,14 +247,15 @@ main(void)
2, {SEGM1_BASE, SEGM2_BASE}, {SIZE_1, SIZE_2} };
struct print_iov_arg rmt_arg = { ARRAY_SIZE(rmt_iovec), 1 };
- struct print_iov_arg bogus_arg_cut =
- { ARRAY_SIZE(bogus_iovec) - 2, 1, 0, 1 };
- struct print_iov_arg lcl_arg_cut =
- { ARRAY_SIZE(lcl_iovec) - 2, 1, 1, 1, 0, 2,
- {SEGM1_BASE + SIZE_11 + SIZE_12, SEGM2_BASE},
- {SIZE_13, SIZE_2} };
- struct print_iov_arg rmt_arg_cut =
- { ARRAY_SIZE(rmt_iovec) - 2, 1 };
+ struct print_iov_arg bogus_arg_cut = {
+ ARRAY_SIZE(bogus_iovec) - 2, 1, 0, 1
+ };
+ struct print_iov_arg lcl_arg_cut = {
+ ARRAY_SIZE(lcl_iovec) - 2, 1, 1, 1, 0, 2,
+ { SEGM1_BASE + SIZE_11 + SIZE_12, SEGM2_BASE },
+ {SIZE_13, SIZE_2}
+ };
+ struct print_iov_arg rmt_arg_cut = { ARRAY_SIZE(rmt_iovec) - 2, 1 };
fill_memory_ex(data1_out, SIZE_1, SEGM1_BASE, SIZE_1);
diff --git a/tests/pselect6.c b/tests/pselect6.c
index f5939f3b..07298081 100644
--- a/tests/pselect6.c
+++ b/tests/pselect6.c
@@ -109,7 +109,7 @@ int main(int ac, char **av)
* but with a pointer to a large chunk of valid memory.
*/
FD_ZERO(set[0]);
- FD_SET(fds[1],set[0]);
+ FD_SET(fds[1], set[0]);
assert(pselect(-1, NULL, set[0], NULL, NULL, &mask) == -1);
printf("pselect6(-1, NULL, %p, NULL, NULL, {[HUP CHLD], %u}) "
"= -1 EINVAL (%m)\n", set[0], NSIG_BYTES);
@@ -118,7 +118,7 @@ int main(int ac, char **av)
* Another variant, with nfds exceeding FD_SETSIZE limit.
*/
FD_ZERO(set[0]);
- FD_SET(fds[0],set[0]);
+ FD_SET(fds[0], set[0]);
FD_ZERO(set[1]);
tm.ts.tv_sec = 0;
tm.ts.tv_nsec = 123;
diff --git a/tests/ptrace.c b/tests/ptrace.c
index 9e0ffdc6..d776dcdd 100644
--- a/tests/ptrace.c
+++ b/tests/ptrace.c
@@ -114,7 +114,7 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request)
if (errno == EINTR)
continue;
saved = errno;
- kill (pid, SIGKILL);
+ kill(pid, SIGKILL);
errno = saved;
perror_msg_and_fail("wait");
}
@@ -159,7 +159,7 @@ test_peeksiginfo(unsigned long pid, const unsigned long bad_request)
if (do_ptrace(PTRACE_CONT, pid, 0, 0)) {
saved = errno;
- kill (pid, SIGKILL);
+ kill(pid, SIGKILL);
errno = saved;
perror_msg_and_fail("ptrace");
}
diff --git a/tests/pure_executables.am b/tests/pure_executables.am
new file mode 100644
index 00000000..8563488a
--- /dev/null
+++ b/tests/pure_executables.am
@@ -0,0 +1,347 @@
+# Generated by ./tests/gen_pure_executables.sh from ./tests/pure_executables.list; do not edit.
+PURE_EXECUTABLES = \
+ _newselect \
+ accept \
+ accept4 \
+ access \
+ acct \
+ add_key \
+ adjtimex \
+ aio \
+ alarm \
+ bpf \
+ brk \
+ btrfs \
+ caps \
+ chmod \
+ chown \
+ chown32 \
+ chroot \
+ clock_adjtime \
+ clock_nanosleep \
+ clock_xettime \
+ copy_file_range \
+ creat \
+ delete_module \
+ dup \
+ dup2 \
+ dup3 \
+ epoll_create \
+ epoll_create1 \
+ epoll_ctl \
+ epoll_pwait \
+ epoll_wait \
+ erestartsys \
+ eventfd \
+ execve \
+ execveat \
+ faccessat \
+ fadvise64 \
+ fadvise64_64 \
+ fallocate \
+ fanotify_init \
+ fanotify_mark \
+ fchdir \
+ fchmod \
+ fchmodat \
+ fchown \
+ fchown32 \
+ fchownat \
+ fcntl \
+ fcntl64 \
+ fdatasync \
+ file_handle \
+ file_ioctl \
+ finit_module \
+ flock \
+ fstat \
+ fstat64 \
+ fstatat64 \
+ fstatfs \
+ fstatfs64 \
+ fsync \
+ ftruncate \
+ ftruncate64 \
+ futex \
+ futimesat \
+ get_mempolicy \
+ getcpu \
+ getcwd \
+ getdents \
+ getdents64 \
+ getegid \
+ getegid32 \
+ geteuid \
+ geteuid32 \
+ getgid \
+ getgid32 \
+ getgroups \
+ getgroups32 \
+ getpeername \
+ getpgrp \
+ getpid \
+ getppid \
+ getrandom \
+ getresgid \
+ getresgid32 \
+ getresuid \
+ getresuid32 \
+ getrlimit \
+ getrusage \
+ getsid \
+ getsockname \
+ getuid \
+ getuid32 \
+ getxxid \
+ inet-cmsg \
+ init_module \
+ inotify \
+ inotify_init1 \
+ ioctl \
+ ioctl_block \
+ ioctl_dm \
+ ioctl_evdev \
+ ioctl_loop \
+ ioctl_mtd \
+ ioctl_rtc \
+ ioctl_scsi \
+ ioctl_sg_io_v3 \
+ ioctl_sg_io_v4 \
+ ioctl_sock_gifconf \
+ ioctl_uffdio \
+ ioctl_v4l2 \
+ ioperm \
+ iopl \
+ ioprio \
+ ip_mreq \
+ ipc \
+ ipc_msg \
+ ipc_msgbuf \
+ ipc_sem \
+ ipc_shm \
+ kcmp \
+ kexec_file_load \
+ kexec_load \
+ keyctl \
+ kill \
+ lchown \
+ lchown32 \
+ link \
+ linkat \
+ llseek \
+ lookup_dcookie \
+ lseek \
+ lstat \
+ lstat64 \
+ madvise \
+ mbind \
+ membarrier \
+ memfd_create \
+ migrate_pages \
+ mincore \
+ mkdir \
+ mkdirat \
+ mknod \
+ mknodat \
+ mlock \
+ mlock2 \
+ mlockall \
+ mmap \
+ mmap64 \
+ mmsg \
+ mmsg_name \
+ mount \
+ move_pages \
+ mq \
+ mq_sendrecv \
+ mq_sendrecv-read \
+ mq_sendrecv-write \
+ msg_control \
+ msg_name \
+ munlockall \
+ nanosleep \
+ net-icmp_filter \
+ net-sockaddr \
+ net-y-unix \
+ net-yy-inet \
+ net-yy-netlink \
+ net-yy-unix \
+ netlink_audit \
+ netlink_generic \
+ netlink_netfilter \
+ netlink_protocol \
+ netlink_route \
+ netlink_selinux \
+ netlink_sock_diag \
+ netlink_xfrm \
+ newfstatat \
+ nlattr \
+ nlattr_inet_diag_msg \
+ nlattr_netlink_diag_msg \
+ nlattr_unix_diag_msg \
+ old_mmap \
+ oldfstat \
+ oldlstat \
+ oldselect \
+ oldstat \
+ open \
+ openat \
+ osf_utimes \
+ pause \
+ perf_event_open \
+ personality \
+ pipe \
+ pipe2 \
+ pkey_alloc \
+ pkey_free \
+ pkey_mprotect \
+ poll \
+ ppoll \
+ prctl-arg2-intptr \
+ prctl-dumpable \
+ prctl-name \
+ prctl-no-args \
+ prctl-pdeathsig \
+ prctl-securebits \
+ prctl-tid_address \
+ prctl-tsc \
+ pread64-pwrite64 \
+ preadv \
+ preadv-pwritev \
+ preadv2-pwritev2 \
+ printstr \
+ prlimit64 \
+ process_vm_readv \
+ process_vm_writev \
+ pselect6 \
+ ptrace \
+ pwritev \
+ quotactl \
+ quotactl-xfs \
+ read-write \
+ readahead \
+ readdir \
+ readlink \
+ readlinkat \
+ readv \
+ reboot \
+ recvfrom \
+ recvmmsg-timeout \
+ recvmsg \
+ remap_file_pages \
+ rename \
+ renameat \
+ renameat2 \
+ request_key \
+ rmdir \
+ rt_sigaction \
+ rt_sigpending \
+ rt_sigprocmask \
+ rt_sigqueueinfo \
+ rt_sigreturn \
+ rt_sigsuspend \
+ rt_sigtimedwait \
+ rt_tgsigqueueinfo \
+ sched_get_priority_mxx \
+ sched_rr_get_interval \
+ sched_xetaffinity \
+ sched_xetattr \
+ sched_xetparam \
+ sched_xetscheduler \
+ sched_yield \
+ seccomp-filter \
+ select \
+ semop \
+ sendfile \
+ sendfile64 \
+ set_mempolicy \
+ setdomainname \
+ setfsgid \
+ setfsgid32 \
+ setfsuid \
+ setfsuid32 \
+ setgid \
+ setgid32 \
+ setgroups \
+ setgroups32 \
+ sethostname \
+ setns \
+ setregid \
+ setregid32 \
+ setresgid \
+ setresgid32 \
+ setresuid \
+ setresuid32 \
+ setreuid \
+ setreuid32 \
+ setrlimit \
+ setuid \
+ setuid32 \
+ shmxt \
+ shutdown \
+ sigaction \
+ sigaltstack \
+ siginfo \
+ signal \
+ signalfd4 \
+ sigpending \
+ sigprocmask \
+ sigreturn \
+ sigsuspend \
+ socketcall \
+ splice \
+ stat \
+ stat64 \
+ statfs \
+ statfs64 \
+ statx \
+ swap \
+ sxetmask \
+ symlink \
+ symlinkat \
+ sync \
+ sync_file_range \
+ sync_file_range2 \
+ sysinfo \
+ syslog \
+ tee \
+ time \
+ timer_create \
+ timer_xettime \
+ timerfd_xettime \
+ times \
+ times-fail \
+ truncate \
+ truncate64 \
+ ugetrlimit \
+ uio \
+ umask \
+ umount \
+ umount2 \
+ umoven-illptr \
+ umovestr \
+ umovestr-illptr \
+ umovestr2 \
+ umovestr3 \
+ uname \
+ unlink \
+ unlinkat \
+ unshare \
+ userfaultfd \
+ ustat \
+ utime \
+ utimensat \
+ utimes \
+ vhangup \
+ vmsplice \
+ wait4 \
+ waitid \
+ waitpid \
+ xattr \
+ xattr-strings \
+ xet_robust_list \
+ xetitimer \
+ xetpgid \
+ xetpriority \
+ xettimeofday \
+ #
diff --git a/tests/pure_executables.list b/tests/pure_executables.list
index cc65614a..033208e6 100755
--- a/tests/pure_executables.list
+++ b/tests/pure_executables.list
@@ -165,8 +165,19 @@ net-y-unix
net-yy-inet
net-yy-netlink
net-yy-unix
+netlink_audit
+netlink_generic
+netlink_netfilter
netlink_protocol
+netlink_route
+netlink_selinux
+netlink_sock_diag
+netlink_xfrm
newfstatat
+nlattr
+nlattr_inet_diag_msg
+nlattr_netlink_diag_msg
+nlattr_unix_diag_msg
old_mmap
oldfstat
oldlstat
@@ -222,6 +233,7 @@ renameat
renameat2
request_key
rmdir
+rt_sigaction
rt_sigpending
rt_sigprocmask
rt_sigqueueinfo
@@ -269,7 +281,10 @@ shutdown
sigaction
sigaltstack
siginfo
+signal
signalfd4
+sigpending
+sigprocmask
sigreturn
sigsuspend
socketcall
diff --git a/tests/qual_fault.c b/tests/qual_fault.c
index ab692cb8..05401dec 100644
--- a/tests/qual_fault.c
+++ b/tests/qual_fault.c
@@ -32,15 +32,19 @@
#include <assert.h>
#include <errno.h>
+#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <sys/param.h>
#include <sys/stat.h>
#include <sys/uio.h>
+#include <sys/wait.h>
-static const int expfd = 4;
-static const int gotfd = 5;
+static int exp_fd;
+static int got_fd;
+static int out_fd;
#define DEFAULT_ERRNO ENOSYS
@@ -58,13 +62,13 @@ invoke(int fail)
int rc;
if (!fail) {
- rc = write(expfd, io.iov_base, io.iov_len);
+ rc = write(exp_fd, io.iov_base, io.iov_len);
if (rc != (int) io.iov_len)
perror_msg_and_fail("write");
}
errno = 0;
- rc = writev(gotfd, &io, 1);
+ rc = writev(got_fd, &io, 1);
if (fail) {
if (!(rc == -1 && errno == err))
@@ -74,11 +78,11 @@ invoke(int fail)
if (is_raw)
tprintf("writev(%#x, %p, 0x1) = -1 (errno %d)"
- " (INJECTED)\n", gotfd, &io, err);
+ " (INJECTED)\n", got_fd, &io, err);
else
tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
" = -1 %s (%m) (INJECTED)\n",
- gotfd, buf, (int) io.iov_len, errstr);
+ got_fd, buf, (int) io.iov_len, errstr);
} else {
if (rc != (int) io.iov_len)
perror_msg_and_fail("expected %d"
@@ -86,23 +90,35 @@ invoke(int fail)
(int) io.iov_len, rc, errno);
if (is_raw)
- tprintf("writev(%#x, %p, 0x1) = %#x\n", gotfd, &io, rc);
+ tprintf("writev(%#x, %p, 0x1) = %#x\n",
+ got_fd, &io, rc);
else
tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
" = %d\n",
- gotfd, buf, (int) io.iov_len, (int) io.iov_len);
+ got_fd, buf, (int) io.iov_len,
+ (int) io.iov_len);
}
}
-int
-main(int argc, char *argv[])
+static int
+open_file(const char *prefix, int proc)
{
- struct stat st;
+ static const int open_flags = O_WRONLY | O_TRUNC | O_CREAT;
+ static char path[PATH_MAX + 1];
+
+ snprintf(path, sizeof(path), "%s.%d", prefix, proc);
- assert(fstat(expfd, &st) == 0);
- assert(fstat(gotfd, &st) == 0);
+ int fd = open(path, open_flags, 0600);
+ if (fd < 0)
+ perror_msg_and_fail("open: %s", path);
+
+ return fd;
+}
- assert(argc == 6);
+int
+main(int argc, char *argv[])
+{
+ assert(argc == 11);
is_raw = !strcmp("raw", argv[1]);
@@ -125,25 +141,71 @@ main(int argc, char *argv[])
first = atoi(argv[3]);
step = atoi(argv[4]);
iter = atoi(argv[5]);
+ int num_procs = atoi(argv[6]);
+ char *exp_prefix = argv[7];
+ char *got_prefix = argv[8];
+ char *out_prefix = argv[9];
+ char *pid_prefix = argv[10];
assert(first > 0);
assert(step >= 0);
+ assert(num_procs > 0);
+
+ int proc;
+ for (proc = 0; proc < num_procs; ++proc) {
+ int ret = fork();
+
+ if (ret < 0)
+ perror_msg_and_fail("fork");
- tprintf("%s", "");
+ if (ret > 0) {
+ int pidfd = open_file(pid_prefix, proc);
- int i;
- for (i = 1; i <= iter; ++i) {
- int fail = 0;
- if (first > 0) {
- --first;
- if (first == 0) {
- fail = 1;
- first = step;
+ char pidstr[sizeof(ret) * 3];
+ int len = snprintf(pidstr, sizeof(pidstr), "%d", ret);
+ assert(len > 0 && len < (int) sizeof(pidstr));
+ assert(write(pidfd, pidstr, len) == len);
+
+ close(pidfd);
+
+ continue;
+ }
+
+ tprintf("%s", "");
+
+ exp_fd = open_file(exp_prefix, proc);
+ got_fd = open_file(got_prefix, proc);
+ out_fd = open_file(out_prefix, proc);
+
+ /* This magic forces tprintf to write where we want it. */
+ dup2(out_fd, 3);
+
+ int i;
+ for (i = 1; i <= iter; ++i) {
+ int fail = 0;
+ if (first > 0) {
+ --first;
+ if (first == 0) {
+ fail = 1;
+ first = step;
+ }
}
+ invoke(fail);
}
- invoke(fail);
+
+ tprintf("%s\n", "+++ exited with 0 +++");
+ return 0;
+ }
+
+ for (proc = 0; proc < num_procs; ++proc) {
+ int status;
+ int ret = wait(&status);
+ if (ret <= 0)
+ perror_msg_and_fail("wait %d", proc);
+ if (status)
+ error_msg_and_fail("wait: pid=%d status=%d",
+ ret, status);
}
- tprintf("%s\n", "+++ exited with 0 +++");
return 0;
}
diff --git a/tests/qual_fault.test b/tests/qual_fault.test
index f8e57d2b..12b0a850 100755
--- a/tests/qual_fault.test
+++ b/tests/qual_fault.test
@@ -35,16 +35,17 @@
# F+
# F+S
-N=16
+N=100
check_fault_injection()
{
- local trace fault err first step extra
+ local trace fault err first step procs extra
trace=$1; shift
fault=$1; shift
err=$1; shift
first=$1; shift
step=$1; shift
+ procs=$1; shift
extra="$*"
local when=
@@ -74,30 +75,39 @@ check_fault_injection()
outexp="$NAME.out.exp"
outgot="$NAME.out.got"
+ outout="$NAME.out.out"
+ outpid="$NAME.pid"
- run_strace -a11 -e trace=$trace \
+ run_strace -a11 -ff -e trace=$trace \
"$@" -e fault=$fault$when$error $extra \
../$NAME $raw "$err" "$first" "$step" $N \
- > "$EXP" 4> "$outexp" 5> "$outgot"
+ "$procs" "$outexp" "$outgot" "$outout" "$outpid"
- match_diff "$EXP" "$LOG"
- match_diff "$outexp" "$outgot"
+ for i in $(seq 0 $((procs - 1)) )
+ do
+ pid=$(cat "$outpid.$i")
+
+ match_diff "$outout.$i" "$LOG.$pid"
+ match_diff "$outexp.$i" "$outgot.$i"
+ done
}
for err in '' ENOSYS 22 einval; do
for fault in writev desc,51; do
check_fault_injection \
- writev $fault "$err" '' '' -efault=chdir
+ writev $fault "$err" '' '' 1 -efault=chdir
check_fault_injection \
- writev $fault "$err" '' '' -efault=chdir -efault=none
+ writev $fault "$err" '' '' 1 -efault=chdir -efault=none
for F in 1 2 3 5 7 11; do
check_fault_injection \
- writev $fault "$err" $F ''
+ writev $fault "$err" $F '' 1
check_fault_injection \
- writev $fault "$err" $F +
+ writev $fault "$err" $F + 1
for S in 1 2 3 5 7 11; do
check_fault_injection \
- writev $fault "$err" $F $S
+ writev $fault "$err" $F $S 1
+ check_fault_injection \
+ writev $fault "$err" $F $S 4
done
done
done
diff --git a/tests/quotactl-xfs.c b/tests/quotactl-xfs.c
index b2a884b6..fab451e2 100644
--- a/tests/quotactl-xfs.c
+++ b/tests/quotactl-xfs.c
@@ -71,7 +71,7 @@ struct fs_quota_statv {
struct fs_qfilestatv qs_pquota; /* project quota information */
int32_t qs_btimelimit; /* limit for blks timer */
int32_t qs_itimelimit; /* limit for inodes timer */
- int32_t qs_rtbtimelimit; /* limit for rt blks timer */
+ int32_t qs_rtbtimelimit; /* limit for rt blks timer */
uint16_t qs_bwarnlimit; /* limit for num warnings */
uint16_t qs_iwarnlimit; /* limit for num warnings */
uint64_t qs_pad2[8]; /* for future proofing */
@@ -97,29 +97,29 @@ print_xdisk_quota(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", dq, d_version);
+ PRINT_FIELD_D("{", *dq, d_version);
printf(", d_flags=");
printflags(xfs_dqblk_flags, (uint8_t) dq->d_flags, "XFS_???_QUOTA");
- PRINT_FIELD_X(", ", dq, d_fieldmask);
- PRINT_FIELD_U(", ", dq, d_id);
- PRINT_FIELD_U(", ", dq, d_blk_hardlimit);
- PRINT_FIELD_U(", ", dq, d_blk_softlimit);
- PRINT_FIELD_U(", ", dq, d_ino_hardlimit);
- PRINT_FIELD_U(", ", dq, d_ino_softlimit);
- PRINT_FIELD_U(", ", dq, d_bcount);
- PRINT_FIELD_U(", ", dq, d_icount);
+ PRINT_FIELD_X(", ", *dq, d_fieldmask);
+ PRINT_FIELD_U(", ", *dq, d_id);
+ PRINT_FIELD_U(", ", *dq, d_blk_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_blk_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_ino_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_ino_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_bcount);
+ PRINT_FIELD_U(", ", *dq, d_icount);
# if VERBOSE
- PRINT_FIELD_D(", ", dq, d_itimer);
- PRINT_FIELD_D(", ", dq, d_btimer);
- PRINT_FIELD_U(", ", dq, d_iwarns);
- PRINT_FIELD_U(", ", dq, d_bwarns);
- PRINT_FIELD_U(", ", dq, d_rtb_hardlimit);
- PRINT_FIELD_U(", ", dq, d_rtb_softlimit);
- PRINT_FIELD_U(", ", dq, d_rtbcount);
- PRINT_FIELD_D(", ", dq, d_rtbtimer);
- PRINT_FIELD_U(", ", dq, d_rtbwarns);
+ PRINT_FIELD_D(", ", *dq, d_itimer);
+ PRINT_FIELD_D(", ", *dq, d_btimer);
+ PRINT_FIELD_U(", ", *dq, d_iwarns);
+ PRINT_FIELD_U(", ", *dq, d_bwarns);
+ PRINT_FIELD_U(", ", *dq, d_rtb_hardlimit);
+ PRINT_FIELD_U(", ", *dq, d_rtb_softlimit);
+ PRINT_FIELD_U(", ", *dq, d_rtbcount);
+ PRINT_FIELD_D(", ", *dq, d_rtbtimer);
+ PRINT_FIELD_U(", ", *dq, d_rtbwarns);
# else
printf(", ...");
# endif /* !VERBOSE */
@@ -137,23 +137,23 @@ print_xquota_stat(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", qs, qs_version);
+ PRINT_FIELD_D("{", *qs, qs_version);
# if VERBOSE
printf(", qs_flags=");
printflags(xfs_quota_flags, qs->qs_flags, "XFS_QUOTA_???");
- PRINT_FIELD_U(", qs_uquota={", &qs->qs_uquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_gquota={", &qs->qs_gquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nextents);
- PRINT_FIELD_U("}, ", qs, qs_incoredqs);
- PRINT_FIELD_D(", ", qs, qs_btimelimit);
- PRINT_FIELD_D(", ", qs, qs_itimelimit);
- PRINT_FIELD_D(", ", qs, qs_rtbtimelimit);
- PRINT_FIELD_U(", ", qs, qs_bwarnlimit);
- PRINT_FIELD_U(", ", qs, qs_iwarnlimit);
+ PRINT_FIELD_U(", qs_uquota={", qs->qs_uquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_gquota={", qs->qs_gquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nextents);
+ PRINT_FIELD_U("}, ", *qs, qs_incoredqs);
+ PRINT_FIELD_D(", ", *qs, qs_btimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_itimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_rtbtimelimit);
+ PRINT_FIELD_U(", ", *qs, qs_bwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_iwarnlimit);
# else
printf(", ...");
# endif /* !VERBOSE */
@@ -171,26 +171,26 @@ print_xquota_statv(int rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_D("{", qs, qs_version);
+ PRINT_FIELD_D("{", *qs, qs_version);
# if VERBOSE
printf(", qs_flags=");
printflags(xfs_quota_flags, qs->qs_flags, "XFS_QUOTA_???");
- PRINT_FIELD_U(", ", qs, qs_incoredqs);
- PRINT_FIELD_U(", qs_uquota={", &qs->qs_uquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_uquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_gquota={", &qs->qs_gquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_gquota, qfs_nextents);
- PRINT_FIELD_U("}, qs_pquota={", &qs->qs_pquota, qfs_ino);
- PRINT_FIELD_U(", ", &qs->qs_pquota, qfs_nblks);
- PRINT_FIELD_U(", ", &qs->qs_pquota, qfs_nextents);
- PRINT_FIELD_D("}, ", qs, qs_btimelimit);
- PRINT_FIELD_D(", ", qs, qs_itimelimit);
- PRINT_FIELD_D(", ", qs, qs_rtbtimelimit);
- PRINT_FIELD_U(", ", qs, qs_bwarnlimit);
- PRINT_FIELD_U(", ", qs, qs_iwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_incoredqs);
+ PRINT_FIELD_U(", qs_uquota={", qs->qs_uquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_uquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_gquota={", qs->qs_gquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_gquota, qfs_nextents);
+ PRINT_FIELD_U("}, qs_pquota={", qs->qs_pquota, qfs_ino);
+ PRINT_FIELD_U(", ", qs->qs_pquota, qfs_nblks);
+ PRINT_FIELD_U(", ", qs->qs_pquota, qfs_nextents);
+ PRINT_FIELD_D("}, ", *qs, qs_btimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_itimelimit);
+ PRINT_FIELD_D(", ", *qs, qs_rtbtimelimit);
+ PRINT_FIELD_U(", ", *qs, qs_bwarnlimit);
+ PRINT_FIELD_U(", ", *qs, qs_iwarnlimit);
# else
printf(", ...");
# endif /* !VERBOSE */
diff --git a/tests/quotactl.c b/tests/quotactl.c
index 88c3fdac..f1648d94 100644
--- a/tests/quotactl.c
+++ b/tests/quotactl.c
@@ -88,16 +88,16 @@ print_dqblk(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", db, dqb_bhardlimit);
- PRINT_FIELD_U(", ", db, dqb_bsoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curspace);
- PRINT_FIELD_U(", ", db, dqb_ihardlimit);
- PRINT_FIELD_U(", ", db, dqb_isoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curinodes);
+ PRINT_FIELD_U("{", *db, dqb_bhardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_bsoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curspace);
+ PRINT_FIELD_U(", ", *db, dqb_ihardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_isoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curinodes);
# if VERBOSE
- PRINT_FIELD_U(", ", db, dqb_btime);
- PRINT_FIELD_U(", ", db, dqb_itime);
+ PRINT_FIELD_U(", ", *db, dqb_btime);
+ PRINT_FIELD_U(", ", *db, dqb_itime);
printf(", dqb_valid=");
printflags(if_dqblk_valid, db->dqb_valid, "QIF_???");
@@ -118,23 +118,23 @@ print_nextdqblk(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", db, dqb_bhardlimit);
- PRINT_FIELD_U(", ", db, dqb_bsoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curspace);
- PRINT_FIELD_U(", ", db, dqb_ihardlimit);
- PRINT_FIELD_U(", ", db, dqb_isoftlimit);
- PRINT_FIELD_U(", ", db, dqb_curinodes);
+ PRINT_FIELD_U("{", *db, dqb_bhardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_bsoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curspace);
+ PRINT_FIELD_U(", ", *db, dqb_ihardlimit);
+ PRINT_FIELD_U(", ", *db, dqb_isoftlimit);
+ PRINT_FIELD_U(", ", *db, dqb_curinodes);
# if VERBOSE
- PRINT_FIELD_U(", ", db, dqb_btime);
- PRINT_FIELD_U(", ", db, dqb_itime);
+ PRINT_FIELD_U(", ", *db, dqb_btime);
+ PRINT_FIELD_U(", ", *db, dqb_itime);
printf(", dqb_valid=");
printflags(if_dqblk_valid, db->dqb_valid, "QIF_???");
- PRINT_FIELD_U(", ", db, dqb_id);
+ PRINT_FIELD_U(", ", *db, dqb_id);
# else
- PRINT_FIELD_U(", ", db, dqb_id);
+ PRINT_FIELD_U(", ", *db, dqb_id);
printf(", ...");
# endif /* !VERBOSE */
printf("}");
@@ -151,8 +151,8 @@ print_dqinfo(long rc, void *ptr, void *arg)
return;
}
- PRINT_FIELD_U("{", di, dqi_bgrace);
- PRINT_FIELD_U(", ", di, dqi_igrace);
+ PRINT_FIELD_U("{", *di, dqi_bgrace);
+ PRINT_FIELD_U(", ", *di, dqi_igrace);
printf(", dqi_flags=");
printflags(if_dqinfo_flags, di->dqi_flags, "DQF_???");
diff --git a/tests/quotactl.h b/tests/quotactl.h
index 31eaec58..d3cf53bf 100644
--- a/tests/quotactl.h
+++ b/tests/quotactl.h
@@ -34,6 +34,7 @@
# include <inttypes.h>
# include <stdarg.h>
# include <stdio.h>
+# include "print_fields.h"
# ifdef HAVE_LINUX_QUOTA_H
/* Broken in CentOS 5: has extern spinlock_t dq_data_lock; declaration */
@@ -57,18 +58,6 @@
# define PRJQUOTA 2
# endif
-# define PRINT_FIELD_D(prefix, where, field) \
- printf("%s%s=%lld", (prefix), #field, \
- sign_extend_unsigned_to_ll((where)->field))
-
-# define PRINT_FIELD_U(prefix, where, field) \
- printf("%s%s=%llu", (prefix), #field, \
- zero_extend_signed_to_ull((where)->field))
-
-# define PRINT_FIELD_X(prefix, where, field) \
- printf("%s%s=%#llx", (prefix), #field, \
- zero_extend_signed_to_ull((where)->field))
-
typedef void (*print_cb)(long rc, void *addr, void *arg);
enum check_quotactl_flag_bits {
diff --git a/tests/readahead.c b/tests/readahead.c
index c243ae40..a3e5cb8d 100644
--- a/tests/readahead.c
+++ b/tests/readahead.c
@@ -37,7 +37,7 @@
* see https://sourceware.org/bugzilla/show_bug.cgi?id=5208
*/
# if !(defined __GLIBC_MINOR__ && \
- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
+ (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
# undef HAVE_READAHEAD
# endif /* glibc < 2.8 */
/*
@@ -45,7 +45,7 @@
* see https://sourceware.org/bugzilla/show_bug.cgi?id=21026
*/
# if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \
- (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
+ (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
# undef HAVE_READAHEAD
# endif /* LINUX_MIPSN64 && glibc < 2.25 */
# endif /* __GLIBC__ */
diff --git a/tests/readv.c b/tests/readv.c
index 0e5aab65..93f07605 100644
--- a/tests/readv.c
+++ b/tests/readv.c
@@ -108,7 +108,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
fds[1], w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -126,8 +126,8 @@ main(void)
tprintf("readv(%d, [{iov_base=\"%s\", iov_len=%u}], %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- fds[0],
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ fds[0], r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -148,8 +148,8 @@ main(void)
", {iov_base=\"\", iov_len=%u}], %u) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- fds[0], r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
- w_len - r_len, r1_d, r1_c);
+ fds[0], r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
+ w_len - r_len, w_len - r_len, r1_d, r1_c);
close(fds[0]);
tprintf("+++ exited with 0 +++\n");
diff --git a/tests/reboot.c b/tests/reboot.c
index 9b09e647..ce651dc7 100644
--- a/tests/reboot.c
+++ b/tests/reboot.c
@@ -14,14 +14,14 @@ int
main(void)
{
static const char buf[] = "reboot";
- long rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, \
- INVALID_MAGIC, LINUX_REBOOT_CMD_RESTART2, buf);
+ long rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1,
+ INVALID_MAGIC, LINUX_REBOOT_CMD_RESTART2, buf);
printf("reboot(LINUX_REBOOT_MAGIC1, %#x /* LINUX_REBOOT_MAGIC_??? */,"
" LINUX_REBOOT_CMD_RESTART2, \"%s\") = %ld %s (%m)\n",
INVALID_MAGIC, buf, rc, errno2name());
- rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, \
- LINUX_REBOOT_MAGIC2, INVALID_CMD);
+ rc = syscall(__NR_reboot, LINUX_REBOOT_MAGIC1,
+ LINUX_REBOOT_MAGIC2, INVALID_CMD);
printf("reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,"
" %#x /* LINUX_REBOOT_CMD_??? */) = %ld %s (%m)\n",
INVALID_CMD, rc, errno2name());
diff --git a/tests/recvmsg.c b/tests/recvmsg.c
index fa41a9d4..2d55d554 100644
--- a/tests/recvmsg.c
+++ b/tests/recvmsg.c
@@ -100,7 +100,7 @@ main(void)
w0_c, LENGTH_OF(w0_c),
w1_c, LENGTH_OF(w1_c),
w2_c, LENGTH_OF(w2_c),
- ARRAY_SIZE(w_iov_), w_len,
+ (unsigned int) ARRAY_SIZE(w_iov_), w_len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c,
LENGTH_OF(w2_c), w2_d, w2_c);
@@ -127,7 +127,8 @@ main(void)
", msg_controllen=0, msg_flags=0}, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
+ r0_c, r_len, (unsigned int) ARRAY_SIZE(r0_iov_),
+ r_len, r_len, r0_d, r0_c);
void *r1 = tail_alloc(r_len);
void *r2 = tail_alloc(w_len);
@@ -151,8 +152,8 @@ main(void)
", msg_iovlen=%u, msg_controllen=0, msg_flags=0}, 0) = %u\n"
" * %u bytes in buffer 0\n"
" | 00000 %-49s %-16s |\n",
- r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
- w_len - r_len, r1_d, r1_c);
+ r1_c, r_len, w_len, (unsigned int) ARRAY_SIZE(r1_iov_),
+ w_len - r_len, w_len - r_len, r1_d, r1_c);
close(0);
tprintf("+++ exited with 0 +++\n");
diff --git a/tests/request_key.c b/tests/request_key.c
index fea977b2..03c7a429 100644
--- a/tests/request_key.c
+++ b/tests/request_key.c
@@ -69,8 +69,7 @@ main(void)
{
static const char unterminated1[] = { '\1', '\2', '\3', '\4', '\5' };
static const char unterminated2[] = { '\6', '\7', '\10', '\11', '\12' };
- static const char unterminated3[] =
- { '\16', '\17', '\20', '\21', '\22' };
+ static const char unterminated3[] = { '\16', '\17', '\20', '\21', '\22' };
char *bogus_type = tail_memdup(unterminated1, sizeof(unterminated1));
char *bogus_desc = tail_memdup(unterminated2, sizeof(unterminated2));
diff --git a/tests/sigaction.awk b/tests/rt_sigaction.awk
index 9c3a9ed3..9c3a9ed3 100644
--- a/tests/sigaction.awk
+++ b/tests/rt_sigaction.awk
diff --git a/tests/rt_sigaction.c b/tests/rt_sigaction.c
new file mode 100644
index 00000000..1c034ff3
--- /dev/null
+++ b/tests/rt_sigaction.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <assert.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <signal.h>
+
+static void handle_signal(int no)
+{
+ _exit(128 + no);
+}
+
+int
+main(void)
+{
+ struct sigaction sa, sa0;
+
+ sa.sa_handler = SIG_IGN;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, SIGHUP);
+ sigaddset(&sa.sa_mask, SIGINT);
+ sa.sa_flags = SA_RESTART;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sa.sa_handler = handle_signal;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, SIGQUIT);
+ sigaddset(&sa.sa_mask, SIGTERM);
+ sa.sa_flags = SA_SIGINFO;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sa.sa_handler = SIG_DFL;
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = 0;
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ sigfillset(&sa.sa_mask);
+ sigdelset(&sa.sa_mask, SIGHUP);
+ assert(!sigaction(SIGUSR2, &sa, &sa0));
+
+ return 0;
+}
diff --git a/tests/sigaction.test b/tests/rt_sigaction.test
index fcde3baf..fcde3baf 100755
--- a/tests/sigaction.test
+++ b/tests/rt_sigaction.test
diff --git a/tests/rt_sigqueueinfo.c b/tests/rt_sigqueueinfo.c
index f803d91c..9681281b 100644
--- a/tests/rt_sigqueueinfo.c
+++ b/tests/rt_sigqueueinfo.c
@@ -33,7 +33,7 @@
#include <unistd.h>
int
-main (void)
+main(void)
{
struct sigaction sa = {
.sa_handler = SIG_IGN
diff --git a/tests/rt_tgsigqueueinfo.c b/tests/rt_tgsigqueueinfo.c
index 3b2da2ae..3cff35a6 100644
--- a/tests/rt_tgsigqueueinfo.c
+++ b/tests/rt_tgsigqueueinfo.c
@@ -50,7 +50,7 @@ k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
}
int
-main (void)
+main(void)
{
const struct sigaction sa = {
.sa_handler = SIG_IGN
@@ -65,7 +65,8 @@ main (void)
info->si_code = SI_QUEUE;
info->si_pid = getpid();
info->si_uid = getuid();
- info->si_value.sival_ptr = (void *) (unsigned long) 0xdeadbeeffacefeedULL;
+ info->si_value.sival_ptr =
+ (void *) (unsigned long) 0xdeadbeeffacefeedULL;
if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info))
(errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)(
diff --git a/tests/run_expect_termsig.c b/tests/run_expect_termsig.c
new file mode 100644
index 00000000..de81ccb5
--- /dev/null
+++ b/tests/run_expect_termsig.c
@@ -0,0 +1,58 @@
+/*
+ * Execute a command, expect its termination with a specified signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/wait.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac < 3)
+ error_msg_and_fail("usage: run_expect_termsig signo path...");
+
+ signal(SIGCHLD, SIG_DFL);
+
+ pid_t pid = fork();
+ if (pid < 0)
+ perror_msg_and_fail("fork");
+
+ if (!pid) {
+ execvp(av[2], av + 2);
+ perror_msg_and_fail("execvp: %s", av[2]);
+ }
+
+ int status;
+ if (waitpid(pid, &status, 0) != pid)
+ perror_msg_and_fail("waitpid");
+
+ return !(WIFSIGNALED(status) && WTERMSIG(status) == atoi(av[1]));
+}
diff --git a/tests/sched_get_priority_mxx.c b/tests/sched_get_priority_mxx.c
index fc14b27c..5224ff13 100644
--- a/tests/sched_get_priority_mxx.c
+++ b/tests/sched_get_priority_mxx.c
@@ -24,6 +24,6 @@ main(void)
#else
SKIP_MAIN_UNDEFINED("__NR_sched_get_priority_min"
- " && defined __NR_sched_get_priority_max");
+ " && defined __NR_sched_get_priority_max");
#endif
diff --git a/tests/seccomp-filter-v.c b/tests/seccomp-filter-v.c
index fe88ac7b..f65be7d8 100644
--- a/tests/seccomp-filter-v.c
+++ b/tests/seccomp-filter-v.c
@@ -146,7 +146,7 @@ main(void)
for (i = 0; i < BPF_MAXINSNS; ++i) {
if (i)
tprintf(", ");
- switch(BPF_CLASS(i)) {
+ switch (BPF_CLASS(i)) {
case BPF_LD:
tprintf("BPF_STMT(BPF_LD|BPF_W|BPF_IMM, %#x)", i << 16);
break;
diff --git a/tests/semop.c b/tests/semop.c
index 3d1f3846..2366d385 100644
--- a/tests/semop.c
+++ b/tests/semop.c
@@ -9,8 +9,7 @@
#include "xlat.h"
#include "xlat/semop_flags.h"
-union semun
-{
+union semun {
int val;
struct semid_ds *buf;
unsigned short *array;
diff --git a/tests/sendfile.c b/tests/sendfile.c
index 9253c102..b86565b8 100644
--- a/tests/sendfile.c
+++ b/tests/sendfile.c
@@ -36,15 +36,13 @@
# include <fcntl.h>
# include <stdio.h>
# include <stdint.h>
+# include <stdlib.h>
# include <unistd.h>
# include <sys/socket.h>
-# include <sys/stat.h>
int
-main(int ac, const char **av)
+main(void)
{
- assert(ac == 1);
-
(void) close(0);
if (open("/dev/zero", O_RDONLY) != 0)
perror_msg_and_skip("open: %s", "/dev/zero");
@@ -53,58 +51,62 @@ main(int ac, const char **av)
if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
perror_msg_and_skip("socketpair");
- int reg_in = open(av[0], O_RDONLY);
- if (reg_in < 0)
- perror_msg_and_fail("open: %s", av[0]);
-
- struct stat stb;
- assert(fstat(reg_in, &stb) == 0);
- const size_t blen = stb.st_size / 3;
- const size_t alen = stb.st_size - blen;
- assert(S_ISREG(stb.st_mode) && blen > 0);
-
- const size_t page_len = get_page_size();
- assert(syscall(__NR_sendfile, 0, 1, NULL, page_len) == -1);
+ const unsigned int page_size = get_page_size();
+ assert(syscall(__NR_sendfile, 0, 1, NULL, page_size) == -1);
if (EBADF != errno)
perror_msg_and_skip("sendfile");
- printf("sendfile(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
- (unsigned long) page_len);
+ printf("sendfile(0, 1, NULL, %u) = -1 EBADF (%m)\n", page_size);
+
+ unsigned int file_size = 0;
+ socklen_t optlen = sizeof(file_size);
+ if (getsockopt(sv[1], SOL_SOCKET, SO_SNDBUF, &file_size, &optlen))
+ perror_msg_and_fail("getsockopt");
+ if (file_size < 1024)
+ error_msg_and_skip("SO_SNDBUF too small: %u", file_size);
+
+ file_size /= 4;
+ if (file_size / 16 > page_size)
+ file_size = page_size * 16;
+ const unsigned int blen = file_size / 3;
+ const unsigned int alen = file_size - blen;
+
+ static const char fname[] = "sendfile-tmpfile";
+ int reg_in = open(fname, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (reg_in < 0)
+ perror_msg_and_fail("open: %s", fname);
+ if (unlink(fname))
+ perror_msg_and_fail("unlink: %s", fname);
+ if (ftruncate(reg_in, file_size))
+ perror_msg_and_fail("ftruncate: %s", fname);
TAIL_ALLOC_OBJECT_VAR_PTR(uint32_t, p_off);
void *p = p_off + 1;
*p_off = 0;
- assert(syscall(__NR_sendfile, 0, 1, p, page_len) == -1);
- printf("sendfile(0, 1, %#lx, %lu) = -1 EFAULT (%m)\n",
- (unsigned long) p, (unsigned long) page_len);
+ assert(syscall(__NR_sendfile, 0, 1, p, page_size) == -1);
+ printf("sendfile(0, 1, %p, %u) = -1 EFAULT (%m)\n", p, page_size);
assert(syscall(__NR_sendfile, sv[1], reg_in, NULL, alen)
== (long) alen);
- printf("sendfile(%d, %d, NULL, %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen);
+ printf("sendfile(%d, %d, NULL, %u) = %u\n",
+ sv[1], reg_in, alen, alen);
p = p_off;
if (syscall(__NR_sendfile, sv[1], reg_in, p_off, alen) != (long) alen) {
- printf("sendfile(%d, %d, %#lx, %lu) = -1 EFAULT (%m)\n",
- sv[1], reg_in, (unsigned long) p_off,
- (unsigned long) alen);
+ printf("sendfile(%d, %d, %#lx, %u) = -1 EFAULT (%m)\n",
+ sv[1], reg_in, (unsigned long) p_off, alen);
--p_off;
*p_off = 0;
assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, alen)
== (long) alen);
}
- printf("sendfile(%d, %d, [0] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen, (unsigned long) alen);
+ printf("sendfile(%d, %d, [0] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, alen, alen);
- assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, stb.st_size + 1)
+ assert(syscall(__NR_sendfile, sv[1], reg_in, p_off, file_size + 1)
== (long) blen);
- printf("sendfile(%d, %d, [%lu] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) stb.st_size,
- (unsigned long) stb.st_size + 1,
- (unsigned long) blen);
+ printf("sendfile(%d, %d, [%u] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, file_size, file_size + 1, blen);
if (p_off != p) {
uint64_t *p_off64 = (uint64_t *) p_off;
diff --git a/tests/sendfile64.c b/tests/sendfile64.c
index de02400b..4c4da6d0 100644
--- a/tests/sendfile64.c
+++ b/tests/sendfile64.c
@@ -36,15 +36,13 @@
# include <fcntl.h>
# include <stdio.h>
# include <stdint.h>
+# include <stdlib.h>
# include <unistd.h>
# include <sys/socket.h>
-# include <sys/stat.h>
int
-main(int ac, const char **av)
+main(void)
{
- assert(ac == 1);
-
(void) close(0);
if (open("/dev/zero", O_RDONLY) != 0)
perror_msg_and_skip("open: %s", "/dev/zero");
@@ -53,50 +51,55 @@ main(int ac, const char **av)
if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
perror_msg_and_skip("socketpair");
- int reg_in = open(av[0], O_RDONLY);
- if (reg_in < 0)
- perror_msg_and_fail("open: %s", av[0]);
-
- struct stat stb;
- assert(fstat(reg_in, &stb) == 0);
- const size_t blen = stb.st_size / 3;
- const size_t alen = stb.st_size - blen;
- assert(S_ISREG(stb.st_mode) && blen > 0);
-
- const size_t page_len = get_page_size();
- assert(syscall(__NR_sendfile64, 0, 1, NULL, page_len) == -1);
+ const unsigned int page_size = get_page_size();
+ assert(syscall(__NR_sendfile64, 0, 1, NULL, page_size) == -1);
if (EBADF != errno)
perror_msg_and_skip("sendfile64");
- printf("sendfile64(0, 1, NULL, %lu) = -1 EBADF (%m)\n",
- (unsigned long) page_len);
+ printf("sendfile64(0, 1, NULL, %u) = -1 EBADF (%m)\n", page_size);
+
+ unsigned int file_size = 0;
+ socklen_t optlen = sizeof(file_size);
+ if (getsockopt(sv[1], SOL_SOCKET, SO_SNDBUF, &file_size, &optlen))
+ perror_msg_and_fail("getsockopt");
+ if (file_size < 1024)
+ error_msg_and_skip("SO_SNDBUF too small: %u", file_size);
+
+ file_size /= 4;
+ if (file_size / 16 > page_size)
+ file_size = page_size * 16;
+ const unsigned int blen = file_size / 3;
+ const unsigned int alen = file_size - blen;
+
+ static const char fname[] = "sendfile64-tmpfile";
+ int reg_in = open(fname, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ if (reg_in < 0)
+ perror_msg_and_fail("open: %s", fname);
+ if (unlink(fname))
+ perror_msg_and_fail("unlink: %s", fname);
+ if (ftruncate(reg_in, file_size))
+ perror_msg_and_fail("ftruncate: %s", fname);
TAIL_ALLOC_OBJECT_CONST_PTR(uint64_t, p_off);
void *p = p_off + 1;
*p_off = 0;
- assert(syscall(__NR_sendfile64, 0, 1, p, page_len) == -1);
- printf("sendfile64(0, 1, %#lx, %lu) = -1 EFAULT (%m)\n",
- (unsigned long) p, (unsigned long) page_len);
+ assert(syscall(__NR_sendfile64, 0, 1, p, page_size) == -1);
+ printf("sendfile64(0, 1, %p, %u) = -1 EFAULT (%m)\n", p, page_size);
assert(syscall(__NR_sendfile64, sv[1], reg_in, NULL, alen)
== (long) alen);
- printf("sendfile64(%d, %d, NULL, %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen);
+ printf("sendfile64(%d, %d, NULL, %u) = %u\n",
+ sv[1], reg_in, alen, alen);
assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, alen)
== (long) alen);
- printf("sendfile64(%d, %d, [0] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) alen, (unsigned long) alen);
+ printf("sendfile64(%d, %d, [0] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, alen, alen);
- assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, stb.st_size + 1)
+ assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, file_size + 1)
== (long) blen);
- printf("sendfile64(%d, %d, [%lu] => [%lu], %lu) = %lu\n",
- sv[1], reg_in, (unsigned long) alen,
- (unsigned long) stb.st_size,
- (unsigned long) stb.st_size + 1,
- (unsigned long) blen);
+ printf("sendfile64(%d, %d, [%u] => [%u], %u) = %u\n",
+ sv[1], reg_in, alen, file_size, file_size + 1, blen);
*p_off = 0xcafef00dfacefeedULL;
assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, 1) == -1);
diff --git a/tests/sigaction.c b/tests/sigaction.c
index 1c034ff3..7b469445 100644
--- a/tests/sigaction.c
+++ b/tests/sigaction.c
@@ -1,5 +1,7 @@
/*
- * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Check decoding of sigaction syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -25,43 +27,173 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <assert.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigaction
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+struct set_sa {
+#if defined MIPS
+ unsigned int flags;
+ unsigned long handler;
+ unsigned long mask[1];
+#elif defined ALPHA
+ unsigned long handler;
+ unsigned long mask[1];
+ unsigned int flags;
+#else
+ unsigned long handler;
+ unsigned long mask[1];
+ unsigned long flags;
+ unsigned long restorer;
+#endif
+}
+#ifdef ALPHA
+ ATTRIBUTE_PACKED
+#endif
+;
+
+typedef struct set_sa struct_set_sa;
+
+#ifdef MIPS
+
+struct get_sa {
+ unsigned int flags;
+ unsigned long handler;
+ unsigned long mask[4];
+};
+
+typedef struct get_sa struct_get_sa;
-static void handle_signal(int no)
+#else
+
+typedef struct set_sa struct_get_sa;
+
+#endif
+
+static long
+k_sigaction(const kernel_ulong_t signum, const kernel_ulong_t new_act,
+ const kernel_ulong_t old_act)
{
- _exit(128 + no);
+ return syscall(__NR_sigaction, signum, new_act, old_act);
}
+#if defined SPARC || defined SPARC64
+static const kernel_ulong_t signo =
+ (kernel_ulong_t) 0xbadc0ded00000000ULL | (unsigned int) -SIGUSR1;
+# define SIG_STR "-SIGUSR1"
+#else
+static const kernel_ulong_t signo =
+ (kernel_ulong_t) 0xbadc0ded00000000ULL | SIGUSR1;
+# define SIG_STR "SIGUSR1"
+#endif
+
int
main(void)
{
- struct sigaction sa, sa0;
-
- sa.sa_handler = SIG_IGN;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask, SIGHUP);
- sigaddset(&sa.sa_mask, SIGINT);
- sa.sa_flags = SA_RESTART;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sa.sa_handler = handle_signal;
- sigemptyset(&sa.sa_mask);
- sigaddset(&sa.sa_mask, SIGQUIT);
- sigaddset(&sa.sa_mask, SIGTERM);
- sa.sa_flags = SA_SIGINFO;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sa.sa_handler = SIG_DFL;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- assert(!sigaction(SIGUSR2, &sa, &sa0));
-
- sigfillset(&sa.sa_mask);
- sigdelset(&sa.sa_mask, SIGHUP);
- assert(!sigaction(SIGUSR2, &sa, &sa0));
+ static const kernel_ulong_t addr =
+ (kernel_ulong_t) 0xfacefeed0defacedULL;
+ union {
+ sigset_t libc[1];
+ unsigned long old[1];
+ } mask;
+
+ TAIL_ALLOC_OBJECT_CONST_PTR(struct_set_sa, new_act);
+ TAIL_ALLOC_OBJECT_CONST_PTR(struct_get_sa, old_act);
+
+ if (k_sigaction(signo, 0, 0))
+ perror_msg_and_skip("sigaction");
+ puts("sigaction(" SIG_STR ", NULL, NULL) = 0");
+
+ k_sigaction(signo, 0, 0);
+ puts("sigaction(" SIG_STR ", NULL, NULL) = 0");
+
+ k_sigaction(signo, (uintptr_t) (new_act + 1), 0);
+ printf("sigaction(" SIG_STR ", %p, NULL) = -1 EFAULT (%m)\n",
+ new_act + 1);
+
+ k_sigaction(signo, (uintptr_t) new_act + 2, 0);
+ printf("sigaction(" SIG_STR ", %#lx, NULL) = -1 EFAULT (%m)\n",
+ (unsigned long) new_act + 2);
+ k_sigaction(signo, 0, (uintptr_t) (old_act + 1));
+ printf("sigaction(" SIG_STR ", NULL, %p) = -1 EFAULT (%m)\n",
+ old_act + 1);
+
+ k_sigaction(signo, 0, (uintptr_t) old_act + 2);
+ printf("sigaction(" SIG_STR ", NULL, %#lx) = -1 EFAULT (%m)\n",
+ (unsigned long) old_act + 2);
+
+ k_sigaction(addr, 0, 0);
+ printf("sigaction(%d, NULL, NULL) = -1 EINVAL (%m)\n", (int) addr);
+
+ memset(new_act, 0, sizeof(*new_act));
+
+ k_sigaction(signo, (uintptr_t) new_act, 0);
+ puts("sigaction(" SIG_STR ", {sa_handler=SIG_DFL, sa_mask=[]"
+ ", sa_flags=0}, NULL) = 0");
+
+ sigemptyset(mask.libc);
+ sigaddset(mask.libc, SIGHUP);
+ sigaddset(mask.libc, SIGINT);
+
+ new_act->handler = (uintptr_t) SIG_IGN;
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+ new_act->flags = SA_SIGINFO;
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ puts("sigaction(" SIG_STR ", {sa_handler=SIG_IGN, sa_mask=[HUP INT]"
+ ", sa_flags=SA_SIGINFO}, {sa_handler=SIG_DFL, sa_mask=[]"
+ ", sa_flags=0}) = 0");
+
+ sigemptyset(mask.libc);
+ sigaddset(mask.libc, SIGQUIT);
+ sigaddset(mask.libc, SIGTERM);
+
+ new_act->handler = (unsigned long) addr;
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+ new_act->flags = SA_ONSTACK | SA_RESTART;
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ printf("sigaction(" SIG_STR ", {sa_handler=%#lx, sa_mask=[QUIT TERM]"
+ ", sa_flags=SA_ONSTACK|SA_RESTART}, {sa_handler=SIG_IGN"
+ ", sa_mask=[HUP INT], sa_flags=SA_SIGINFO}) = 0\n",
+ new_act->handler);
+
+ memset(mask.old, -1, sizeof(mask.old));
+ sigdelset(mask.libc, SIGHUP);
+
+ memcpy(new_act->mask, mask.old, sizeof(mask.old));
+#ifdef SA_RESTORER
+ new_act->flags = SA_RESTORER;
+ new_act->restorer = (unsigned long) 0xdeadfacecafef00dULL;
+# define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx"
+# define SA_RESTORER_ARGS , new_act->restorer
+#else
+ new_act->flags = SA_NODEFER;
+# define SA_RESTORER_FMT ", sa_flags=SA_NODEFER"
+# define SA_RESTORER_ARGS
+#endif
+
+ k_sigaction(signo, (uintptr_t) new_act, (uintptr_t) old_act);
+ printf("sigaction(" SIG_STR ", {sa_handler=%#lx, sa_mask=~[HUP]"
+ SA_RESTORER_FMT "}, {sa_handler=%#lx, sa_mask=[QUIT TERM]"
+ ", sa_flags=SA_ONSTACK|SA_RESTART}) = 0\n",
+ new_act->handler SA_RESTORER_ARGS,
+ new_act->handler);
+
+ puts("+++ exited with 0 +++");
return 0;
}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigaction")
+
+#endif
diff --git a/tests/sigaction.gen.test b/tests/sigaction.gen.test
new file mode 100755
index 00000000..dee340e8
--- /dev/null
+++ b/tests/sigaction.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigaction -a31); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a31
diff --git a/tests/signal.c b/tests/signal.c
new file mode 100644
index 00000000..edbc3d2d
--- /dev/null
+++ b/tests/signal.c
@@ -0,0 +1,132 @@
+/*
+ * Check decoding of signal syscall.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_signal
+
+# include <errno.h>
+# include <signal.h>
+# include <stdio.h>
+# include <stdint.h>
+# include <string.h>
+# include <unistd.h>
+
+static long
+k_signal(const kernel_ulong_t signum, const kernel_ulong_t handler)
+{
+ return syscall(__NR_signal, signum, handler);
+}
+
+int
+main(void)
+{
+ static const uintptr_t sig_ign = (uintptr_t) SIG_IGN;
+ static const uintptr_t sig_dfl = (uintptr_t) SIG_DFL;
+ static const kernel_ulong_t sigusr1 =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIGUSR1;
+ static const struct sigaction act = { .sa_handler = SIG_DFL };
+ long rc;
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGUSR1);
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_BLOCK");
+
+ if (sigaction(SIGUSR1, &act, NULL))
+ perror_msg_and_fail("sigaction");
+
+ rc = k_signal(sigusr1, sig_ign);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_IGN) = %s\n", sprintrc(rc));
+ } else if (rc != (long) sig_dfl) {
+ error_msg_and_fail("signal(SIGUSR1, SIG_IGN) = %#lx\n", rc);
+ } else {
+ printf("signal(SIGUSR1, SIG_IGN) = %#lx (SIG_DFL)\n", rc);
+
+ /*
+ * Raise and unblock SIGUSR1.
+ * If signal syscall failed to set SIGUSR1 handler to SIG_IGN,
+ * the process will be terminated by SIGUSR1.
+ */
+ raise(SIGUSR1);
+ if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_UNBLOCK");
+
+ if (sigprocmask(SIG_BLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask SIG_BLOCK");
+ }
+
+ rc = k_signal(SIGUSR1, sig_dfl);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_DFL) = %s\n", sprintrc(rc));
+ } else if (rc != (long) sig_ign) {
+ error_msg_and_fail("signal(SIGUSR1, SIG_DFL) = %#lx\n", rc);
+ } else {
+ printf("signal(SIGUSR1, SIG_DFL) = %#lx (SIG_IGN)\n", rc);
+ }
+
+ const kernel_ulong_t addr = (kernel_ulong_t) 0xfacefeeddeadbeefULL;
+ rc = k_signal(SIGUSR1, addr);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, %#llx) = %s\n",
+ (unsigned long long) addr, sprintrc(rc));
+ } else if (rc != (long) sig_dfl) {
+ error_msg_and_fail("signal(SIGUSR1, %#llx) = %#lx\n",
+ (unsigned long long) addr, rc);
+ } else {
+ printf("signal(SIGUSR1, %#llx) = %#lx (SIG_DFL)\n",
+ (unsigned long long) addr, rc);
+ }
+
+ rc = k_signal(SIGUSR1, sig_ign);
+
+ if (rc == -1L) {
+ printf("signal(SIGUSR1, SIG_IGN) = %s\n", sprintrc(rc));
+ } else {
+ printf("signal(SIGUSR1, SIG_IGN) = %#lx\n", rc);
+ }
+
+ rc = k_signal(addr, sig_ign);
+ printf("signal(%d, SIG_IGN) = %s\n", (int) addr, sprintrc(rc));
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_signal")
+
+#endif
diff --git a/tests/signal.gen.test b/tests/signal.gen.test
new file mode 100755
index 00000000..81359ca5
--- /dev/null
+++ b/tests/signal.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (signal -a25 -e signal=none -e trace='/^signal$'); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25 -e signal=none -e trace='/^signal$'
diff --git a/tests/signal2name.c b/tests/signal2name.c
index e301f4ee..73e93b20 100644
--- a/tests/signal2name.c
+++ b/tests/signal2name.c
@@ -50,6 +50,7 @@ signal2name(int sig)
CASE(SIGPWR);
CASE(SIGSTKFLT);
#endif
- default: perror_msg_and_fail("unknown signal number %d", sig);
+ default:
+ perror_msg_and_fail("unknown signal number %d", sig);
}
}
diff --git a/tests/signal_receive.c b/tests/signal_receive.c
index 1c4293e5..01c52e8c 100644
--- a/tests/signal_receive.c
+++ b/tests/signal_receive.c
@@ -25,7 +25,7 @@ main(void)
sigemptyset(&mask);
for (sig = 1; sig <= 31; sig++) {
- if( sig != SIGKILL && sig != SIGSTOP) {
+ if (sig != SIGKILL && sig != SIGSTOP) {
sigaction(sig, &act, NULL);
sigaddset(&mask, sig);
}
@@ -33,7 +33,7 @@ main(void)
sigprocmask(SIG_UNBLOCK, &mask, NULL);
for (sig = 1; sig <= 31; sig++) {
- if(sig != SIGKILL && sig != SIGSTOP) {
+ if (sig != SIGKILL && sig != SIGSTOP) {
if (kill(pid, sig) != 0)
perror_msg_and_fail("kill: %d", sig);
sig_print(signal2name(sig), pid, uid);
diff --git a/tests/sigpending.c b/tests/sigpending.c
new file mode 100644
index 00000000..0ce4b219
--- /dev/null
+++ b/tests/sigpending.c
@@ -0,0 +1,106 @@
+/*
+ * Check decoding of sigpending syscall.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigpending
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+k_sigpending(const kernel_ulong_t set)
+{
+ const long rc = syscall(__NR_sigpending, set);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
+int
+main(void)
+{
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, k_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
+
+ sigemptyset(libc_set);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+
+ if (k_sigpending((uintptr_t) libc_set))
+ perror_msg_and_skip("sigpending");
+ else
+ puts("sigpending([]) = 0");
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([]) = 0");
+
+ k_sigpending((uintptr_t) (k_set + 1));
+ printf("sigpending(%p) = -1 EFAULT (%m)\n", k_set + 1);
+
+ uintptr_t efault = sizeof(*k_set) / 2 + (uintptr_t) k_set;
+ k_sigpending(efault);
+ printf("sigpending(%#jx) = -1 EFAULT (%m)\n", (uintmax_t) efault);
+
+ sigaddset(libc_set, SIGHUP);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+ raise(SIGHUP);
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([HUP]) = 0");
+
+ sigaddset(libc_set, SIGINT);
+ if (sigprocmask(SIG_SETMASK, libc_set, NULL))
+ perror_msg_and_fail("sigprocmask");
+ raise(SIGINT);
+
+ k_sigpending((uintptr_t) k_set);
+ puts("sigpending([HUP INT]) = 0");
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ k_sigpending(f8ill_ptr_to_kulong(k_set));
+ printf("sigpending(%#jx) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(k_set), errstr);
+ }
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigpending")
+
+#endif
diff --git a/tests/sigpending.gen.test b/tests/sigpending.gen.test
new file mode 100755
index 00000000..0f4259a3
--- /dev/null
+++ b/tests/sigpending.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigpending -a15); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15
diff --git a/tests/sigprocmask.c b/tests/sigprocmask.c
new file mode 100644
index 00000000..92a34d7d
--- /dev/null
+++ b/tests/sigprocmask.c
@@ -0,0 +1,151 @@
+/*
+ * Check decoding of sigprocmask syscall.
+ *
+ * Copyright (c) 2016-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_sigprocmask
+
+# include <signal.h>
+# include <stdint.h>
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+k_sigprocmask(const kernel_ulong_t how, const kernel_ulong_t new_set,
+ const kernel_ulong_t old_set)
+{
+ const long rc = syscall(__NR_sigprocmask, how, new_set, old_set);
+ errstr = sprintrc(rc);
+ return rc;
+}
+
+int
+main(void)
+{
+ static const kernel_ulong_t sig_block =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_BLOCK;
+ static const kernel_ulong_t sig_unblock =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_UNBLOCK;
+ static const kernel_ulong_t sig_setmask =
+ (kernel_ulong_t) 0xfacefeed00000000ULL | SIG_SETMASK;
+
+ if (k_sigprocmask(sig_setmask, 0, 0))
+ perror_msg_and_skip("sigprocmask");
+ puts("sigprocmask(SIG_SETMASK, NULL, NULL) = 0");
+
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, new_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(kernel_ulong_t, old_set);
+ TAIL_ALLOC_OBJECT_CONST_PTR(sigset_t, libc_set);
+
+ memset(new_set, 0, sizeof(*new_set));
+ k_sigprocmask(sig_setmask, (uintptr_t) new_set, 0);
+ printf("sigprocmask(SIG_SETMASK, [], NULL) = %s\n", errstr);
+
+ k_sigprocmask(sig_unblock,
+ (uintptr_t) (new_set - 1), (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[], []) = 0");
+
+ if (F8ILL_KULONG_SUPPORTED) {
+ k_sigprocmask(sig_unblock, f8ill_ptr_to_kulong(new_set), 0);
+ printf("sigprocmask(SIG_UNBLOCK, %#jx, NULL) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(new_set), errstr);
+
+ k_sigprocmask(sig_unblock, 0, f8ill_ptr_to_kulong(old_set));
+ printf("sigprocmask(SIG_UNBLOCK, NULL, %#jx) = %s\n",
+ (uintmax_t) f8ill_ptr_to_kulong(old_set), errstr);
+ }
+
+ sigemptyset(libc_set);
+ sigaddset(libc_set, SIGHUP);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_block, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_BLOCK, [HUP], []) = 0");
+
+ memset(libc_set, -1, sizeof(*libc_set));
+ sigdelset(libc_set, SIGHUP);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_unblock, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[HUP], [HUP]) = 0");
+
+ sigdelset(libc_set, SIGKILL);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_unblock, (uintptr_t) new_set, (uintptr_t) old_set);
+ puts("sigprocmask(SIG_UNBLOCK, ~[HUP KILL], [HUP]) = 0");
+
+ sigemptyset(libc_set);
+ sigaddset(libc_set, SIGHUP);
+ sigaddset(libc_set, SIGINT);
+ sigaddset(libc_set, SIGQUIT);
+ sigaddset(libc_set, SIGALRM);
+ sigaddset(libc_set, SIGTERM);
+ memcpy(new_set, libc_set, sizeof(*new_set));
+
+ k_sigprocmask(sig_block, (uintptr_t) new_set, (uintptr_t) old_set);
+ printf("sigprocmask(SIG_BLOCK, %s, [HUP]) = 0\n",
+ "[HUP INT QUIT ALRM TERM]");
+
+ k_sigprocmask(sig_setmask, 0, (uintptr_t) old_set);
+ printf("sigprocmask(SIG_SETMASK, NULL, %s) = 0\n",
+ "[HUP INT QUIT ALRM TERM]");
+
+ k_sigprocmask(sig_setmask, (uintptr_t) (new_set + 1), 0);
+ printf("sigprocmask(SIG_SETMASK, %p, NULL) = %s\n",
+ new_set + 1, errstr);
+
+ k_sigprocmask(sig_setmask,
+ (uintptr_t) new_set, (uintptr_t) (old_set + 1));
+ printf("sigprocmask(SIG_SETMASK, %s, %p) = %s\n",
+ "[HUP INT QUIT ALRM TERM]", old_set + 1, errstr);
+
+ uintptr_t efault = sizeof(*new_set) / 2 + (uintptr_t) new_set;
+
+ k_sigprocmask(sig_setmask, efault, 0);
+ printf("sigprocmask(SIG_SETMASK, %#jx, NULL) = %s\n",
+ (uintmax_t) efault, errstr);
+
+ k_sigprocmask(sig_setmask, 0, efault);
+ printf("sigprocmask(SIG_SETMASK, NULL, %#jx) = %s\n",
+ (uintmax_t) efault, errstr);
+
+ puts("+++ exited with 0 +++");
+ return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_sigprocmask")
+
+#endif
diff --git a/tests/sigprocmask.gen.test b/tests/sigprocmask.gen.test
new file mode 100755
index 00000000..44a508ce
--- /dev/null
+++ b/tests/sigprocmask.gen.test
@@ -0,0 +1,4 @@
+#!/bin/sh -efu
+# Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in (sigprocmask -a34); do not edit.
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34
diff --git a/tests/sockname.c b/tests/sockname.c
index 9bab8eda..58726712 100644
--- a/tests/sockname.c
+++ b/tests/sockname.c
@@ -42,9 +42,7 @@
# error TEST_SYSCALL_NAME must be defined
#endif
-#define TEST_SYSCALL_STR__(a) #a
-#define TEST_SYSCALL_STR_(a) TEST_SYSCALL_STR__(a)
-#define TEST_SYSCALL_STR TEST_SYSCALL_STR_(TEST_SYSCALL_NAME)
+#define TEST_SYSCALL_STR STRINGIFY_VAL(TEST_SYSCALL_NAME)
#define TEST_SOCKET TEST_SYSCALL_STR ".socket"
#ifdef TEST_SYSCALL_PREPARE
diff --git a/tests/stack-fcall.c b/tests/stack-fcall.c
index 134d54f6..fc9ee5f9 100644
--- a/tests/stack-fcall.c
+++ b/tests/stack-fcall.c
@@ -1,6 +1,6 @@
int f0(int i);
-int main(int argc, char** argv)
+int main(int argc, char **argv)
{
f0(argc);
return 0;
diff --git a/tests/statx.c b/tests/statx.c
index f36fb0e1..816b7eb1 100644
--- a/tests/statx.c
+++ b/tests/statx.c
@@ -49,7 +49,7 @@ static const char *TEST_SYSCALL_STATX_MASK_STR = "STATX_ALL";
# define TEST_SYSCALL_INVOKE(sample, pst) \
syscall(__NR_statx, AT_FDCWD, sample, TEST_SYSCALL_STATX_FLAGS, \
- TEST_SYSCALL_STATX_MASK, pst)
+ TEST_SYSCALL_STATX_MASK, pst)
# define PRINT_SYSCALL_HEADER(sample) \
do { \
int saved_errno = errno; \
diff --git a/tests/strace-V.test b/tests/strace-V.test
index d5c3ac08..8db13956 100755
--- a/tests/strace-V.test
+++ b/tests/strace-V.test
@@ -23,7 +23,7 @@ config_year=$(getval COPYRIGHT_YEAR)
cat > "$EXP" << __EOF__
$(getval PACKAGE_NAME) -- version $(getval PACKAGE_VERSION)
-Copyright (C) 1991-${config_year} The strace developers <$(getval PACKAGE_URL)>.
+Copyright (c) 1991-${config_year} The strace developers <$(getval PACKAGE_URL)>.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
__EOF__
diff --git a/tests/termsig.test b/tests/termsig.test
new file mode 100755
index 00000000..fd8852ce
--- /dev/null
+++ b/tests/termsig.test
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Check termination signal forwarding.
+
+. "${srcdir=.}/init.sh"
+
+run_expect_termsig="../run_expect_termsig 15"
+unblock_reset_raise="../unblock_reset_raise 15"
+
+run_prog $run_expect_termsig $unblock_reset_raise
+STRACE="$run_expect_termsig $STRACE"
+
+for i in 1 2 3 4; do
+ run_strace -I$i -enone -esignal=none $unblock_reset_raise
+done
diff --git a/tests/test_nlattr.h b/tests/test_nlattr.h
new file mode 100644
index 00000000..8cbb2115
--- /dev/null
+++ b/tests/test_nlattr.h
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include "print_fields.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/socket.h>
+#include "netlink.h"
+#include <linux/rtnetlink.h>
+
+static void
+init_nlattr(struct nlattr *const nla,
+ const uint16_t nla_len,
+ const uint16_t nla_type,
+ const void *const src,
+ const size_t n)
+{
+ SET_STRUCT(struct nlattr, nla,
+ .nla_len = nla_len,
+ .nla_type = nla_type,
+ );
+
+ memcpy(RTA_DATA(nla), src, n);
+}
+
+static void
+print_nlattr(const unsigned int nla_len, const char *const nla_type)
+{
+ printf(", {{nla_len=%u, nla_type=%s}, ", nla_len, nla_type);
+}
+
+#define TEST_NLATTR_(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, nla_type_str_, \
+ nla_data_len_, src_, slen_, ...) \
+ do { \
+ struct nlmsghdr *const nlh = \
+ (nlh0_) - (NLA_HDRLEN + (slen_)); \
+ struct nlattr *const nla = NLMSG_ATTR(nlh, (hdrlen_)); \
+ const unsigned int nla_len = \
+ NLA_HDRLEN + (nla_data_len_); \
+ const unsigned int msg_len = \
+ NLMSG_SPACE(hdrlen_) + nla_len; \
+ \
+ (init_msg_)(nlh, msg_len); \
+ init_nlattr(nla, nla_len, (nla_type_), \
+ (src_), (slen_)); \
+ \
+ const char *const errstr = \
+ sprintrc(sendto((fd_), nlh, msg_len, \
+ MSG_DONTWAIT, NULL, 0)); \
+ \
+ printf("sendto(%d, {", (fd_)); \
+ (print_msg_)(msg_len); \
+ print_nlattr(nla_len, (nla_type_str_)); \
+ \
+ { __VA_ARGS__; } \
+ \
+ printf("}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n", \
+ msg_len, errstr); \
+ } while (0)
+
+#define TEST_NLATTR(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, \
+ nla_data_len_, src_, slen_, ...) \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ (nla_data_len_), (src_), (slen_), __VA_ARGS__)
+
+#define TEST_NLATTR_OBJECT(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, pattern_, obj_, ...) \
+ do { \
+ const int plen = sizeof(obj_) - 1 > DEFAULT_STRLEN \
+ ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \
+ /* len < sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_) - 1, \
+ (pattern_), sizeof(obj_) - 1, \
+ printf("\"%.*s\"", plen, (pattern_))); \
+ /* short read of sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ (pattern_), sizeof(obj_) - 1, \
+ printf("%p", \
+ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))))); \
+ /* sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_), \
+ __VA_ARGS__); \
+ } while (0)
+
+#define TEST_NLATTR_ARRAY(fd_, nlh0_, hdrlen_, \
+ init_msg_, print_msg_, \
+ nla_type_, pattern_, obj_, print_elem_) \
+ do { \
+ const int plen = \
+ sizeof((obj_)[0]) - 1 > DEFAULT_STRLEN \
+ ? DEFAULT_STRLEN : (int) sizeof((obj_)[0]) - 1; \
+ /* len < sizeof((obj_)[0]) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof((obj_)[0]) - 1, \
+ (pattern_), sizeof((obj_)[0]) - 1, \
+ printf("\"%.*s\"", plen, (pattern_))); \
+ /* sizeof((obj_)[0]) < len < sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_) - 1, \
+ &(obj_), sizeof(obj_) - 1, \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf("]")); \
+ /* short read of sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_) - 1, \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_) - 1; ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf(", %p]", \
+ RTA_DATA(NLMSG_ATTR(nlh, (hdrlen_))) \
+ + sizeof((obj_)[0]))); \
+ /* sizeof(obj_) */ \
+ TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \
+ (init_msg_), (print_msg_), \
+ (nla_type_), #nla_type_, \
+ sizeof(obj_), \
+ &(obj_), sizeof(obj_), \
+ printf("["); \
+ size_t i; \
+ for (i = 0; i < ARRAY_SIZE(obj_); ++i) { \
+ if (i) printf(", "); \
+ (print_elem_)(&(obj_)[i]); \
+ } \
+ printf("]")); \
+ } while (0)
diff --git a/tests/tests.h b/tests/tests.h
index dcc10576..094f3650 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -36,12 +36,26 @@
# include <sys/types.h>
# include "kernel_types.h"
# include "gcc_compat.h"
+# include "macros.h"
+
+/*
+ * The printf-like function to use in header files
+ * shared between strace and its tests.
+ */
+#ifndef STRACE_PRINTF
+# define STRACE_PRINTF printf
+#endif
/* Tests of "strace -v" are expected to define VERBOSE to 1. */
#ifndef VERBOSE
# define VERBOSE 0
#endif
+#ifndef DEFAULT_STRLEN
+/* Default maximum # of bytes printed in printstr et al. */
+# define DEFAULT_STRLEN 32
+#endif
+
/* Cached sysconf(_SC_PAGESIZE). */
size_t get_page_size(void);
@@ -66,7 +80,7 @@ void skip_if_unavailable(const char *);
/*
* Allocate memory that ends on the page boundary.
- * Pages allocated by this call are preceeded by an unmapped page
+ * Pages allocated by this call are preceded by an unmapped page
* and followed also by an unmapped page.
*/
void *tail_alloc(const size_t)
@@ -167,6 +181,10 @@ struct timespec;
int recv_mmsg(int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *);
int send_mmsg(int, struct mmsghdr *, unsigned int, unsigned int);
+/* Create a netlink socket. */
+int create_nl_socket_ext(int proto, const char *name);
+#define create_nl_socket(proto) create_nl_socket_ext((proto), #proto)
+
/* Create a pipe with maximized descriptor numbers. */
void pipe_maxfd(int pipefd[2]);
@@ -186,7 +204,6 @@ f8ill_ptr_to_kulong(const void *const ptr)
? F8ILL_KULONG_MASK | uptr : (kernel_ulong_t) uptr;
}
-# define ARRAY_SIZE(arg) ((unsigned int) (sizeof(arg) / sizeof((arg)[0])))
# define LENGTH_OF(arg) ((unsigned int) sizeof(arg) - 1)
/* Zero-extend a signed integer type to unsigned long long. */
@@ -239,4 +256,16 @@ f8ill_ptr_to_kulong(const void *const ptr)
# define ARG_STR(_arg) (_arg), #_arg
# define ARG_ULL_STR(_arg) _arg##ULL, #_arg
+/*
+ * Assign an object of type DEST_TYPE at address DEST_ADDR
+ * using memcpy to avoid potential unaligned access.
+ */
+#define SET_STRUCT(DEST_TYPE, DEST_ADDR, ...) \
+ do { \
+ DEST_TYPE dest_type_tmp_var = { __VA_ARGS__ }; \
+ memcpy(DEST_ADDR, &dest_type_tmp_var, sizeof(dest_type_tmp_var)); \
+ } while (0)
+
+#define NLMSG_ATTR(nlh, hdrlen) ((void *)(nlh) + NLMSG_SPACE(hdrlen))
+
#endif /* !STRACE_TESTS_H */
diff --git a/tests/times-fail.c b/tests/times-fail.c
index cb69bd43..bc8b4595 100644
--- a/tests/times-fail.c
+++ b/tests/times-fail.c
@@ -5,7 +5,7 @@
#include <asm/unistd.h>
int
-main (void)
+main(void)
{
assert(syscall(__NR_times, 0x42) == -1);
printf("times(0x42) = -1 EFAULT (%m)\n");
diff --git a/tests/times.c b/tests/times.c
index 2c7b95e5..c4cce0e8 100644
--- a/tests/times.c
+++ b/tests/times.c
@@ -49,7 +49,7 @@ enum {
};
int
-main (void)
+main(void)
{
struct timespec ts;
volatile int dummy = 0;
diff --git a/tests/uio.c b/tests/uio.c
index 6291f972..21f005d9 100644
--- a/tests/uio.c
+++ b/tests/uio.c
@@ -39,16 +39,16 @@ main(void)
{
const off_t offset = 0xdefaceddeadbeefLL;
char buf[4];
- struct iovec iov = { buf, sizeof buf };
+ struct iovec iov = { buf, sizeof(buf) };
(void) close(0);
assert(open("/dev/zero", O_RDONLY) == 0);
- assert(pread(0, buf, sizeof buf, offset) == 4);
+ assert(pread(0, buf, sizeof(buf), offset) == 4);
assert(preadv(0, &iov, 1, offset) == 4);
assert(!close(0));
assert(open("/dev/null", O_WRONLY) == 0);
- assert(pwrite(0, buf, sizeof buf, offset) == 4);
+ assert(pwrite(0, buf, sizeof(buf), offset) == 4);
assert(pwritev(0, &iov, 1, offset) == 4);
assert(!close(0));
diff --git a/tests/unblock_reset_raise.c b/tests/unblock_reset_raise.c
new file mode 100644
index 00000000..4182f129
--- /dev/null
+++ b/tests/unblock_reset_raise.c
@@ -0,0 +1,54 @@
+/*
+ * Unblock, reset, and raise a signal.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int ac, char **av)
+{
+ if (ac != 2)
+ error_msg_and_fail("usage: unblock_raise signo");
+
+ sigset_t mask;
+ sigemptyset(&mask);
+ const int signo = atoi(av[1]);
+ if (sigaddset(&mask, signo))
+ perror_msg_and_fail("sigaddset: %s", av[1]);
+ if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+ perror_msg_and_fail("sigprocmask");
+ if (signal(signo, SIG_DFL) == SIG_ERR)
+ perror_msg_and_fail("signal: %s", av[1]);
+ if (raise(signo))
+ perror_msg_and_fail("raise: %s", av[1]);
+
+ return 0;
+}
diff --git a/tests/unix-pair-sendto-recvfrom.c b/tests/unix-pair-sendto-recvfrom.c
index cea382c9..a0c710ac 100644
--- a/tests/unix-pair-sendto-recvfrom.c
+++ b/tests/unix-pair-sendto-recvfrom.c
@@ -71,7 +71,7 @@ main(int ac, char **av)
assert(recvfrom(0, av[1], len, MSG_WAITALL, NULL, NULL) == len);
assert(close(0) == 0);
- int status;
+ int status;
assert(waitpid(pid, &status, 0) == pid);
assert(status == 0);
} else {
diff --git a/tests/vmsplice.c b/tests/vmsplice.c
index f29962e3..4242d9e6 100644
--- a/tests/vmsplice.c
+++ b/tests/vmsplice.c
@@ -86,7 +86,7 @@ main(void)
" * %u bytes in buffer 2\n"
" | 00000 %-49s %-16s |\n",
w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
- w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(iov_),
+ w2_c, LENGTH_OF(w2_c), (unsigned int) ARRAY_SIZE(iov_),
"SPLICE_F_NONBLOCK", len,
LENGTH_OF(w0_c), w0_d, w0_c,
LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
diff --git a/tests/waitid.c b/tests/waitid.c
index b56feea4..26f5b869 100644
--- a/tests/waitid.c
+++ b/tests/waitid.c
@@ -111,7 +111,8 @@ si_code_2_name(const int code)
#ifdef CLD_CONTINUED
CASE(CLD_CONTINUED);
#endif
- default: perror_msg_and_fail("unknown si_code %d", code);
+ default:
+ perror_msg_and_fail("unknown si_code %d", code);
}
}
diff --git a/tests/xattr.c b/tests/xattr.c
index a772eced..03b4270a 100644
--- a/tests/xattr.c
+++ b/tests/xattr.c
@@ -36,8 +36,6 @@
# define XATTR_SIZE_MAX 65536
# endif
-#define DEFAULT_STRLEN 32
-
int
main(void)
{
diff --git a/tests/xchownx.c b/tests/xchownx.c
index fe582835..e415feff 100644
--- a/tests/xchownx.c
+++ b/tests/xchownx.c
@@ -45,10 +45,17 @@
# define CHECK_OVERFLOWGID(arg)
#endif
-#define UNLINK_SAMPLE \
- if (unlink(sample)) perror_msg_and_fail("unlink")
-#define CLOSE_SAMPLE \
- if (close(fd)) perror_msg_and_fail("close")
+#define UNLINK_SAMPLE \
+ do { \
+ if (unlink(sample)) \
+ perror_msg_and_fail("unlink"); \
+ } while (0)
+
+#define CLOSE_SAMPLE \
+ do { \
+ if (close(fd)) \
+ perror_msg_and_fail("close"); \
+ } while (0)
#ifdef ACCESS_BY_DESCRIPTOR
# define SYSCALL_ARG1 fd
diff --git a/tests/xselect.c b/tests/xselect.c
index e1638c8c..6c8cd81e 100644
--- a/tests/xselect.c
+++ b/tests/xselect.c
@@ -136,7 +136,7 @@ int main(void)
* but with a pointer to a large chunk of valid memory.
*/
FD_ZERO(set);
- FD_SET(fds[1],set);
+ FD_SET(fds[1], set);
assert(syscall(TEST_SYSCALL_NR, -1, NULL, set, NULL, NULL) == -1);
printf("%s(-1, NULL, %p, NULL, NULL) = -1 EINVAL (%m)\n",
TEST_SYSCALL_STR, set);
@@ -145,7 +145,7 @@ int main(void)
* Another variant, with nfds exceeding FD_SETSIZE limit.
*/
FD_ZERO(set);
- FD_SET(fds[0],set);
+ FD_SET(fds[0], set);
tv->tv_sec = 0;
tv->tv_usec = 123;
assert(syscall(TEST_SYSCALL_NR, FD_SETSIZE + 1, set, set + 1, NULL, tv) == 0);
diff --git a/tests/xstatfsx.c b/tests/xstatfsx.c
index cb524ff3..33254dd9 100644
--- a/tests/xstatfsx.c
+++ b/tests/xstatfsx.c
@@ -38,12 +38,17 @@
#include "xlat/statfs_flags.h"
#define PRINT_NUM(arg) \
- if (sizeof(b->arg) == sizeof(int)) \
- printf(", %s=%u", #arg, (unsigned int) b->arg); \
- else if (sizeof(b->arg) == sizeof(long)) \
- printf(", %s=%lu", #arg, (unsigned long) b->arg); \
- else \
- printf(", %s=%llu", #arg, (unsigned long long) b->arg)
+ do { \
+ if (sizeof(b->arg) == sizeof(int)) \
+ printf(", %s=%u", #arg, \
+ (unsigned int) b->arg); \
+ else if (sizeof(b->arg) == sizeof(long)) \
+ printf(", %s=%lu", #arg, \
+ (unsigned long) b->arg); \
+ else \
+ printf(", %s=%llu", #arg, \
+ (unsigned long long) b->arg); \
+ } while (0)
static void
print_statfs_type(const char *const prefix, const unsigned int magic)
diff --git a/tests/xstatx.c b/tests/xstatx.c
index 8758ef81..7fb93265 100644
--- a/tests/xstatx.c
+++ b/tests/xstatx.c
@@ -48,6 +48,7 @@
# include <unistd.h>
# include <sys/sysmacros.h>
+# include "print_fields.h"
# include "statx.h"
# ifndef STRUCT_STAT
@@ -178,14 +179,16 @@ print_stat(const STRUCT_STAT *st)
# define HAVE_NSEC 0
# endif
-#define PRINT_ST_TIME(field) \
- printf(", st_" #field "=%lld", \
- sign_extend_unsigned_to_ll(st->st_ ## field)); \
- print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field), \
- TIME_NSEC(st->st_ ## field ## _nsec), 1); \
- if (HAVE_NSEC) \
- printf(", st_" #field "_nsec=%llu", \
- TIME_NSEC(st->st_ ## field ## _nsec))
+#define PRINT_ST_TIME(field) \
+ do { \
+ printf(", st_" #field "=%lld", \
+ sign_extend_unsigned_to_ll(st->st_ ## field)); \
+ print_time_t_nsec(sign_extend_unsigned_to_ll(st->st_ ## field), \
+ TIME_NSEC(st->st_ ## field ## _nsec), 1); \
+ if (HAVE_NSEC) \
+ printf(", st_" #field "_nsec=%llu", \
+ TIME_NSEC(st->st_ ## field ## _nsec)); \
+ } while (0)
PRINT_ST_TIME(atime);
PRINT_ST_TIME(mtime);
@@ -198,31 +201,34 @@ print_stat(const STRUCT_STAT *st)
static void
print_stat(const STRUCT_STAT *st)
{
-# define PRINT_FIELD_U(field) \
- printf(", %s=%llu", #field, (unsigned long long) st->field)
-
-# define PRINT_FIELD_U32_UID(field) \
- if (st->field == (uint32_t) -1) \
- printf(", %s=-1", #field); \
- else \
- printf(", %s=%llu", #field, (unsigned long long) st->field)
-
-# define PRINT_FIELD_TIME(field) \
- printf(", %s={tv_sec=%lld, tv_nsec=%u}", \
- #field, (long long) st->field.tv_sec, \
- (unsigned) st->field.tv_nsec); \
- print_time_t_nsec(st->field.tv_sec, \
- zero_extend_signed_to_ull(st->field.tv_nsec), 1);
+# define PRINT_FIELD_U32_UID(field) \
+ do { \
+ if (st->field == (uint32_t) -1) \
+ printf(", %s=-1", #field); \
+ else \
+ printf(", %s=%llu", #field, \
+ (unsigned long long) st->field); \
+ } while (0)
+
+# define PRINT_FIELD_TIME(field) \
+ do { \
+ printf(", %s={tv_sec=%lld, tv_nsec=%u}", \
+ #field, (long long) st->field.tv_sec, \
+ (unsigned) st->field.tv_nsec); \
+ print_time_t_nsec(st->field.tv_sec, \
+ zero_extend_signed_to_ull(st->field.tv_nsec), \
+ 1); \
+ } while (0)
printf("{stx_mask=");
printflags(statx_masks, st->stx_mask, "STATX_???");
- PRINT_FIELD_U(stx_blksize);
+ PRINT_FIELD_U(", ", *st, stx_blksize);
printf(", stx_attributes=");
printflags(statx_attrs, st->stx_attributes, "STATX_ATTR_???");
- PRINT_FIELD_U(stx_nlink);
+ PRINT_FIELD_U(", ", *st, stx_nlink);
PRINT_FIELD_U32_UID(stx_uid);
PRINT_FIELD_U32_UID(stx_gid);
@@ -231,9 +237,9 @@ print_stat(const STRUCT_STAT *st)
printf("|");
print_perms(st->stx_mode);
- PRINT_FIELD_U(stx_ino);
- PRINT_FIELD_U(stx_size);
- PRINT_FIELD_U(stx_blocks);
+ PRINT_FIELD_U(", ", *st, stx_ino);
+ PRINT_FIELD_U(", ", *st, stx_size);
+ PRINT_FIELD_U(", ", *st, stx_blocks);
printf(", stx_attributes_mask=");
printflags(statx_attrs, st->stx_attributes_mask, "STATX_ATTR_???");
@@ -242,10 +248,10 @@ print_stat(const STRUCT_STAT *st)
PRINT_FIELD_TIME(stx_btime);
PRINT_FIELD_TIME(stx_ctime);
PRINT_FIELD_TIME(stx_mtime);
- PRINT_FIELD_U(stx_rdev_major);
- PRINT_FIELD_U(stx_rdev_minor);
- PRINT_FIELD_U(stx_dev_major);
- PRINT_FIELD_U(stx_dev_minor);
+ PRINT_FIELD_U(", ", *st, stx_rdev_major);
+ PRINT_FIELD_U(", ", *st, stx_rdev_minor);
+ PRINT_FIELD_U(", ", *st, stx_dev_major);
+ PRINT_FIELD_U(", ", *st, stx_dev_minor);
printf("}");
}
@@ -388,24 +394,30 @@ main(void)
# if IS_STATX
-# define INVOKE() \
- rc = TEST_SYSCALL_INVOKE(sample, st); \
- PRINT_SYSCALL_HEADER(sample); \
- if (rc) \
- printf("%p", st); \
- else \
- print_stat(st); \
- PRINT_SYSCALL_FOOTER(rc)
-
-# define SET_FLAGS_INVOKE(flags, flags_str) \
- TEST_SYSCALL_STATX_FLAGS = flags; \
- TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
- INVOKE()
-
-# define SET_MASK_INVOKE(mask, mask_str) \
- TEST_SYSCALL_STATX_MASK = mask; \
- TEST_SYSCALL_STATX_MASK_STR = mask_str; \
- INVOKE()
+# define INVOKE() \
+ do { \
+ rc = TEST_SYSCALL_INVOKE(sample, st); \
+ PRINT_SYSCALL_HEADER(sample); \
+ if (rc) \
+ printf("%p", st); \
+ else \
+ print_stat(st); \
+ PRINT_SYSCALL_FOOTER(rc); \
+ } while (0)
+
+# define SET_FLAGS_INVOKE(flags, flags_str) \
+ do { \
+ TEST_SYSCALL_STATX_FLAGS = flags; \
+ TEST_SYSCALL_STATX_FLAGS_STR = flags_str; \
+ INVOKE(); \
+ } while (0)
+
+# define SET_MASK_INVOKE(mask, mask_str) \
+ do { \
+ TEST_SYSCALL_STATX_MASK = mask; \
+ TEST_SYSCALL_STATX_MASK_STR = mask_str; \
+ INVOKE(); \
+ } while (0)
unsigned old_flags = TEST_SYSCALL_STATX_FLAGS;
const char *old_flags_str = TEST_SYSCALL_STATX_FLAGS_STR;
diff --git a/tests/zeroargc.c b/tests/zeroargc.c
new file mode 100644
index 00000000..05d47dc3
--- /dev/null
+++ b/tests/zeroargc.c
@@ -0,0 +1,43 @@
+/*
+ * Execute an executable with zero argc and specified anvironment.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "tests.h"
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(const int ac, char **const av)
+{
+ if (ac < 2)
+ error_msg_and_fail("missing operand");
+ const char *const path = av[1];
+ av[1] = 0;
+ execve(path, av + 1, av + 2);
+ perror_msg_and_fail("execve: %s", path);
+}
diff --git a/time.c b/time.c
index 6cba48c8..31f44fc6 100644
--- a/time.c
+++ b/time.c
@@ -198,15 +198,14 @@ printclockname(int clockid)
if ((clockid & CLOCKFD_MASK) == CLOCKFD)
tprintf("FD_TO_CLOCKID(%d)", CLOCKID_TO_FD(clockid));
else {
- if(CPUCLOCK_PERTHREAD(clockid))
+ if (CPUCLOCK_PERTHREAD(clockid))
tprintf("MAKE_THREAD_CPUCLOCK(%d,", CPUCLOCK_PID(clockid));
else
tprintf("MAKE_PROCESS_CPUCLOCK(%d,", CPUCLOCK_PID(clockid));
printxval(cpuclocknames, clockid & CLOCKFD_MASK, "CPUCLOCK_???");
tprints(")");
}
- }
- else
+ } else
#endif
printxval(clocknames, clockid, "CLOCK_???");
}
diff --git a/uid.c b/uid.c
index 80d81ce4..0fb810c8 100644
--- a/uid.c
+++ b/uid.c
@@ -34,9 +34,9 @@
# error invalid STRACE_UID_SIZE
# endif
-# define SIZEIFY(x) SIZEIFY_(x,STRACE_UID_SIZE)
-# define SIZEIFY_(x,size) SIZEIFY__(x,size)
-# define SIZEIFY__(x,size) x ## size
+# define SIZEIFY(x) SIZEIFY_(x, STRACE_UID_SIZE)
+# define SIZEIFY_(x, size) SIZEIFY__(x, size)
+# define SIZEIFY__(x, size) x ## size
# define printuid SIZEIFY(printuid)
# define sys_chown SIZEIFY(sys_chown)
@@ -159,7 +159,7 @@ printuid(const char *text, const unsigned int uid)
static bool
print_gid(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
{
- printuid("", (* (uid_t *) elem_buf));
+ printuid("", (*(uid_t *) elem_buf));
return true;
}
diff --git a/uname.c b/uname.c
index 3df11e8e..a63295e1 100644
--- a/uname.c
+++ b/uname.c
@@ -41,10 +41,12 @@ SYS_FUNC(uname)
return 0;
if (!umove_or_printaddr(tcp, tcp->u_arg[0], &uname)) {
-#define PRINT_UTS_MEMBER(prefix, member) \
- tprints(prefix #member "="); \
- print_quoted_string(uname.member, sizeof(uname.member), \
- QUOTE_0_TERMINATED)
+#define PRINT_UTS_MEMBER(prefix, member) \
+ do { \
+ tprints(prefix #member "="); \
+ print_quoted_string(uname.member, sizeof(uname.member), \
+ QUOTE_0_TERMINATED); \
+ } while (0)
PRINT_UTS_MEMBER("{", sysname);
PRINT_UTS_MEMBER(", ", nodename);
diff --git a/unwind.c b/unwind.c
index 24517425..919b63c3 100644
--- a/unwind.c
+++ b/unwind.c
@@ -39,7 +39,11 @@
# define fopen_for_input fopen
#endif
-#define DPRINTF(F, A, ...) if (debug_flag) error_msg("[unwind(" A ")] " F, __VA_ARGS__)
+#define DPRINTF(F, A, ...) \
+ do { \
+ if (debug_flag) \
+ error_msg("[unwind(" A ")] " F, __VA_ARGS__); \
+ } while (0)
/*
* Keep a sorted array of cache entries,
@@ -77,13 +81,13 @@ typedef void (*error_action_fn)(void *data,
* Type used in stacktrace capturing
*/
struct call_t {
- struct call_t* next;
- char *output_line;
+ struct call_t *next;
+ char *output_line;
};
struct queue_t {
- struct call_t *tail;
- struct call_t *head;
+ struct call_t *tail;
+ struct call_t *head;
};
static void queue_print(struct queue_t *queue);
@@ -109,7 +113,7 @@ unwind_tcb_init(struct tcb *tcp)
tcp->libunwind_ui = _UPT_create(tcp->pid);
if (!tcp->libunwind_ui)
- die_out_of_memory();
+ perror_msg_and_die("_UPT_create");
tcp->queue = xmalloc(sizeof(*tcp->queue));
tcp->queue->head = NULL;
@@ -123,7 +127,7 @@ unwind_tcb_fin(struct tcb *tcp)
free(tcp->queue);
tcp->queue = NULL;
- delete_mmap_cache(tcp, __FUNCTION__);
+ delete_mmap_cache(tcp, __func__);
_UPT_destroy(tcp->libunwind_ui);
tcp->libunwind_ui = NULL;
@@ -136,7 +140,7 @@ unwind_tcb_fin(struct tcb *tcp)
* e.g. mmap, mprotect, munmap, execve.
*/
static void
-build_mmap_cache(struct tcb* tcp)
+build_mmap_cache(struct tcb *tcp)
{
FILE *fp;
struct mmap_cache_t *cache_head;
@@ -257,7 +261,7 @@ rebuild_cache_if_invalid(struct tcb *tcp, const char *caller)
}
void
-unwind_cache_invalidate(struct tcb* tcp)
+unwind_cache_invalidate(struct tcb *tcp)
{
#if SUPPORTED_PERSONALITIES > 1
if (tcp->currpers != DEFAULT_PERSONALITY) {
@@ -330,8 +334,7 @@ print_stack_frame(struct tcb *tcp,
function_offset,
true_offset);
return 0;
- }
- else if (ip < cur_mmap_cache->start_addr)
+ } else if (ip < cur_mmap_cache->start_addr)
upper = mid - 1;
else
lower = mid + 1;
@@ -342,7 +345,7 @@ print_stack_frame(struct tcb *tcp,
* after a set_tid_address syscall
* unw_get_reg returns IP == 0
*/
- if(ip)
+ if (ip)
error_action(data, "unexpected_backtracing_error", ip);
return -1;
}
@@ -424,7 +427,7 @@ print_call_cb(void *dummy,
else if (binary_filename)
tprintf(STACK_ENTRY_NOSYMBOL_FMT);
else
- tprintf(STACK_ENTRY_BUG_FMT, __FUNCTION__);
+ tprintf(STACK_ENTRY_BUG_FMT, __func__);
line_ended();
}
@@ -449,24 +452,24 @@ sprint_call_or_error(const char *binary_filename,
unsigned long true_offset,
const char *error)
{
- char *output_line = NULL;
- int n;
-
- if (symbol_name)
- n = asprintf(&output_line, STACK_ENTRY_SYMBOL_FMT);
- else if (binary_filename)
- n = asprintf(&output_line, STACK_ENTRY_NOSYMBOL_FMT);
- else if (error)
- n = true_offset
- ? asprintf(&output_line, STACK_ENTRY_ERROR_WITH_OFFSET_FMT)
- : asprintf(&output_line, STACK_ENTRY_ERROR_FMT);
- else
- n = asprintf(&output_line, STACK_ENTRY_BUG_FMT, __FUNCTION__);
-
- if (n < 0)
- error_msg_and_die("error in asprintf");
-
- return output_line;
+ char *output_line = NULL;
+ int n;
+
+ if (symbol_name)
+ n = asprintf(&output_line, STACK_ENTRY_SYMBOL_FMT);
+ else if (binary_filename)
+ n = asprintf(&output_line, STACK_ENTRY_NOSYMBOL_FMT);
+ else if (error)
+ n = true_offset
+ ? asprintf(&output_line, STACK_ENTRY_ERROR_WITH_OFFSET_FMT)
+ : asprintf(&output_line, STACK_ENTRY_ERROR_FMT);
+ else
+ n = asprintf(&output_line, STACK_ENTRY_BUG_FMT, __func__);
+
+ if (n < 0)
+ error_msg_and_die("error in asprintf");
+
+ return output_line;
}
/*
@@ -548,7 +551,7 @@ queue_print(struct queue_t *queue)
* printing stack
*/
void
-unwind_print_stacktrace(struct tcb* tcp)
+unwind_print_stacktrace(struct tcb *tcp)
{
#if SUPPORTED_PERSONALITIES > 1
if (tcp->currpers != DEFAULT_PERSONALITY) {
@@ -556,14 +559,13 @@ unwind_print_stacktrace(struct tcb* tcp)
return;
}
#endif
- if (tcp->queue->head) {
- DPRINTF("tcp=%p, queue=%p", "queueprint", tcp, tcp->queue->head);
- queue_print(tcp->queue);
- }
- else if (rebuild_cache_if_invalid(tcp, __FUNCTION__)) {
- DPRINTF("tcp=%p, queue=%p", "stackprint", tcp, tcp->queue->head);
- stacktrace_walk(tcp, print_call_cb, print_error_cb, NULL);
- }
+ if (tcp->queue->head) {
+ DPRINTF("tcp=%p, queue=%p", "queueprint", tcp, tcp->queue->head);
+ queue_print(tcp->queue);
+ } else if (rebuild_cache_if_invalid(tcp, __func__)) {
+ DPRINTF("tcp=%p, queue=%p", "stackprint", tcp, tcp->queue->head);
+ stacktrace_walk(tcp, print_call_cb, print_error_cb, NULL);
+ }
}
/*
@@ -581,7 +583,7 @@ unwind_capture_stacktrace(struct tcb *tcp)
if (tcp->queue->head)
error_msg_and_die("bug: unprinted entries in queue");
- if (rebuild_cache_if_invalid(tcp, __FUNCTION__)) {
+ if (rebuild_cache_if_invalid(tcp, __func__)) {
stacktrace_walk(tcp, queue_put_call, queue_put_error,
tcp->queue);
DPRINTF("tcp=%p, queue=%p", "captured", tcp, tcp->queue->head);
diff --git a/util.c b/util.c
index 9b1c411d..2ccfe4fe 100644
--- a/util.c
+++ b/util.c
@@ -140,33 +140,6 @@ tv_mul(struct timeval *tv, const struct timeval *a, int n)
tv->tv_usec %= 1000000;
}
-const char *
-xlookup(const struct xlat *xlat, const uint64_t val)
-{
- for (; xlat->str != NULL; xlat++)
- if (xlat->val == val)
- return xlat->str;
- return NULL;
-}
-
-static int
-xlat_bsearch_compare(const void *a, const void *b)
-{
- const uint64_t val1 = *(const uint64_t *) a;
- const uint64_t val2 = ((const struct xlat *) b)->val;
- return (val1 > val2) ? 1 : (val1 < val2) ? -1 : 0;
-}
-
-const char *
-xlat_search(const struct xlat *xlat, const size_t nmemb, const uint64_t val)
-{
- const struct xlat *e =
- bsearch((const void*) &val,
- xlat, nmemb, sizeof(*xlat), xlat_bsearch_compare);
-
- return e ? e->str : NULL;
-}
-
#if !defined HAVE_STPCPY
char *
stpcpy(char *dst, const char *src)
@@ -191,7 +164,7 @@ int
next_set_bit(const void *bit_array, unsigned cur_bit, unsigned size_bits)
{
const unsigned endian = 1;
- int little_endian = * (char *) (void *) &endian;
+ int little_endian = *(char *) (void *) &endian;
const uint8_t *array = bit_array;
unsigned pos = cur_bit / 8;
@@ -225,71 +198,6 @@ next_set_bit(const void *bit_array, unsigned cur_bit, unsigned size_bits)
}
}
-/**
- * Print entry in struct xlat table, if there.
- *
- * @param val Value to search a literal representation for.
- * @param dflt String (abbreviated in comment syntax) which should be emitted
- * if no appropriate xlat value has been found.
- * @param xlat (And the following arguments) Pointers to arrays of xlat values.
- * The last argument should be NULL.
- * @return 1 if appropriate xlat value has been found, 0 otherwise.
- */
-int
-printxvals(const uint64_t val, const char *dflt, const struct xlat *xlat, ...)
-{
- va_list args;
-
- va_start(args, xlat);
- for (; xlat; xlat = va_arg(args, const struct xlat *)) {
- const char *str = xlookup(xlat, val);
-
- if (str) {
- tprints(str);
- va_end(args);
- return 1;
- }
- }
- /* No hits -- print raw # instead. */
- tprintf("%#" PRIx64, val);
- tprints_comment(dflt);
-
- va_end(args);
-
- return 0;
-}
-
-/**
- * Print entry in sorted struct xlat table, if it is there.
- *
- * @param xlat Pointer to an array of xlat values (not terminated with
- * XLAT_END).
- * @param xlat_size Number of xlat elements present in array (usually ARRAY_SIZE
- * if array is declared in the unit's scope and not
- * terminated with XLAT_END).
- * @param val Value to search literal representation for.
- * @param dflt String (abbreviated in comment syntax) which should be
- * emitted if no appropriate xlat value has been found.
- * @return 1 if appropriate xlat value has been found, 0
- * otherwise.
- */
-int
-printxval_searchn(const struct xlat *xlat, size_t xlat_size, uint64_t val,
- const char *dflt)
-{
- const char *s = xlat_search(xlat, xlat_size, val);
-
- if (s) {
- tprints(s);
- return 1;
- }
-
- tprintf("%#" PRIx64, val);
- tprints_comment(dflt);
-
- return 0;
-}
-
/*
* Fetch 64bit argument at position arg_no and
* return the index of the next argument.
@@ -313,10 +221,10 @@ getllval(struct tcb *tcp, unsigned long long *val, int arg_no)
arg_no++;
}
#else /* SIZEOF_KERNEL_LONG_T == 4 */
-# if defined __ARM_EABI__ || \
- defined LINUX_MIPSO32 || \
- defined POWERPC || \
- defined XTENSA
+# if defined __ARM_EABI__ \
+ || defined LINUX_MIPSO32 \
+ || defined POWERPC \
+ || defined XTENSA
/* Align arg_no to the next even number. */
arg_no = (arg_no + 1) & 0xe;
# elif defined SH
@@ -351,102 +259,6 @@ printllval(struct tcb *tcp, const char *format, int arg_no)
return arg_no;
}
-/*
- * Interpret `xlat' as an array of flags
- * print the entries whose bits are on in `flags'
- */
-void
-addflags(const struct xlat *xlat, uint64_t flags)
-{
- for (; xlat->str; xlat++) {
- if (xlat->val && (flags & xlat->val) == xlat->val) {
- tprintf("|%s", xlat->str);
- flags &= ~xlat->val;
- }
- }
- if (flags) {
- tprintf("|%#" PRIx64, flags);
- }
-}
-
-/*
- * Interpret `xlat' as an array of flags.
- * Print to static string the entries whose bits are on in `flags'
- * Return static string.
- */
-const char *
-sprintflags(const char *prefix, const struct xlat *xlat, uint64_t flags)
-{
- static char outstr[1024];
- char *outptr;
- int found = 0;
-
- outptr = stpcpy(outstr, prefix);
-
- if (flags == 0 && xlat->val == 0 && xlat->str) {
- strcpy(outptr, xlat->str);
- return outstr;
- }
-
- for (; xlat->str; xlat++) {
- if (xlat->val && (flags & xlat->val) == xlat->val) {
- if (found)
- *outptr++ = '|';
- outptr = stpcpy(outptr, xlat->str);
- found = 1;
- flags &= ~xlat->val;
- if (!flags)
- break;
- }
- }
- if (flags) {
- if (found)
- *outptr++ = '|';
- outptr += sprintf(outptr, "%#" PRIx64, flags);
- }
-
- return outstr;
-}
-
-int
-printflags64(const struct xlat *xlat, uint64_t flags, const char *dflt)
-{
- int n;
- const char *sep;
-
- if (flags == 0 && xlat->val == 0 && xlat->str) {
- tprints(xlat->str);
- return 1;
- }
-
- sep = "";
- for (n = 0; xlat->str; xlat++) {
- if (xlat->val && (flags & xlat->val) == xlat->val) {
- tprintf("%s%s", sep, xlat->str);
- flags &= ~xlat->val;
- sep = "|";
- n++;
- }
- }
-
- if (n) {
- if (flags) {
- tprintf("%s%#" PRIx64, sep, flags);
- n++;
- }
- } else {
- if (flags) {
- tprintf("%#" PRIx64, flags);
- tprints_comment(dflt);
- } else {
- if (dflt)
- tprints("0");
- }
- }
-
- return n;
-}
-
void
printaddr(const kernel_ulong_t addr)
{
@@ -630,30 +442,41 @@ getfdproto(struct tcb *tcp, int fd)
#endif
}
+unsigned long
+getfdinode(struct tcb *tcp, int fd)
+{
+ char path[PATH_MAX + 1];
+
+ if (getfdpath(tcp, fd, path, sizeof(path)) >= 0) {
+ const char *str = STR_STRIP_PREFIX(path, "socket:[");
+
+ if (str != path) {
+ const size_t str_len = strlen(str);
+ if (str_len && str[str_len - 1] == ']')
+ return strtoul(str, NULL, 10);
+ }
+ }
+
+ return 0;
+}
+
void
printfd(struct tcb *tcp, int fd)
{
char path[PATH_MAX + 1];
if (show_fd_path && getfdpath(tcp, fd, path, sizeof(path)) >= 0) {
- static const char socket_prefix[] = "socket:[";
- const size_t socket_prefix_len = sizeof(socket_prefix) - 1;
- const size_t path_len = strlen(path);
+ const char *str;
+ size_t len;
+ unsigned long inode;
tprintf("%d<", fd);
- if (show_fd_path > 1 &&
- strncmp(path, socket_prefix, socket_prefix_len) == 0 &&
- path[path_len - 1] == ']') {
- unsigned long inode =
- strtoul(path + socket_prefix_len, NULL, 10);
-
- if (!print_sockaddr_by_inode_cached(inode)) {
- const enum sock_proto proto =
- getfdproto(tcp, fd);
- if (!print_sockaddr_by_inode(inode, proto))
- tprints(path);
- }
- } else {
- print_quoted_string(path, path_len,
+ if (show_fd_path <= 1
+ || (str = STR_STRIP_PREFIX(path, "socket:[")) == path
+ || !(len = strlen(str))
+ || str[len - 1] != ']'
+ || !(inode = strtoul(str, NULL, 10))
+ || !print_sockaddr_by_inode(tcp, fd, inode)) {
+ print_quoted_string(path, strlen(path),
QUOTE_OMIT_LEADING_TRAILING_QUOTES);
}
tprints(">");
@@ -888,8 +711,8 @@ printpathn(struct tcb *const tcp, const kernel_ulong_t addr, unsigned int n)
}
/* Cap path length to the path buffer size */
- if (n > sizeof path - 1)
- n = sizeof path - 1;
+ if (n > sizeof(path) - 1)
+ n = sizeof(path) - 1;
/* Fetch one byte more to find out whether path length > n. */
nul_seen = umovestr(tcp, addr, n + 1, path);
@@ -922,8 +745,9 @@ void
printstr_ex(struct tcb *const tcp, const kernel_ulong_t addr,
const kernel_ulong_t len, const unsigned int user_style)
{
- static char *str = NULL;
+ static char *str;
static char *outstr;
+
unsigned int size;
unsigned int style = user_style;
int rc;
@@ -935,10 +759,13 @@ printstr_ex(struct tcb *const tcp, const kernel_ulong_t addr,
}
/* Allocate static buffers if they are not allocated yet. */
if (!str) {
- unsigned int outstr_size = 4 * max_strlen + /*for quotes and NUL:*/ 3;
+ const unsigned int outstr_size =
+ 4 * max_strlen + /* for quotes and NUL */ 3;
+ /*
+ * We can assume that outstr_size / 4 == max_strlen
+ * since we have a guarantee that max_strlen <= -1U / 4.
+ */
- if (outstr_size / 4 != max_strlen)
- die_out_of_memory();
str = xmalloc(max_strlen + 1);
outstr = xmalloc(outstr_size);
}
@@ -1075,8 +902,7 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, const int len)
if (i < len) {
*dst++ = "0123456789abcdef"[*src >> 4];
*dst++ = "0123456789abcdef"[*src & 0xf];
- }
- else {
+ } else {
*dst++ = ' ';
*dst++ = ' ';
}
@@ -1101,7 +927,8 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, const int len)
}
}
-static bool process_vm_readv_not_supported = 0;
+static bool process_vm_readv_not_supported;
+
#ifndef HAVE_PROCESS_VM_READV
/*
* Need to do this since process_vm_readv() is not yet available in libc.
@@ -1162,7 +989,7 @@ umoven(struct tcb *const tcp, kernel_ulong_t addr, unsigned int len,
#if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
if (current_wordsize < sizeof(addr)
- && (addr & (~ (kernel_ulong_t) -1U))) {
+ && (addr & (~(kernel_ulong_t) -1U))) {
return -1;
}
#endif
@@ -1310,7 +1137,7 @@ umovestr(struct tcb *const tcp, kernel_ulong_t addr, unsigned int len, char *lad
#if ANY_WORDSIZE_LESS_THAN_KERNEL_LONG
if (current_wordsize < sizeof(addr)
- && (addr & (~ (kernel_ulong_t) -1U))) {
+ && (addr & (~(kernel_ulong_t) -1U))) {
return -1;
}
#endif
diff --git a/v4l2.c b/v4l2.c
index ad29722d..12750a66 100644
--- a/v4l2.c
+++ b/v4l2.c
@@ -207,7 +207,7 @@ print_v4l2_fmtdesc(struct tcb *const tcp, const kernel_ulong_t arg)
#include "xlat/v4l2_sliced_flags.h"
static bool
-print_v4l2_clip(struct tcb *tcp, void *elem_buf, size_t elem_size, void* data)
+print_v4l2_clip(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
{
const struct_v4l2_clip *p = elem_buf;
tprintf(FMT_RECT, ARGS_RECT(p->c));
@@ -280,7 +280,7 @@ print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix,
umoven_or_printaddr, print_v4l2_clip, 0);
tprintf(", clipcount=%u, bitmap=", f->fmt.win.clipcount);
printaddr(ptr_to_kulong(f->fmt.win.bitmap));
-#if HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
+#ifdef HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA
tprintf(", global_alpha=%#x", f->fmt.win.global_alpha);
#endif
tprints("}");
@@ -341,7 +341,7 @@ print_v4l2_format_fmt(struct tcb *const tcp, const char *prefix,
tprints(prefix);
tprints("fmt.sdr={pixelformat=");
print_pixelformat(f->fmt.sdr.pixelformat);
-#if HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
+#ifdef HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE
tprintf(", buffersize=%u",
f->fmt.sdr.buffersize);
#endif
diff --git a/wait.c b/wait.c
index fc519353..0f1aa001 100644
--- a/wait.c
+++ b/wait.c
@@ -77,14 +77,12 @@ printstatus(int status)
signame(sig & 0x7f),
sig & 0x80 ? " | 0x80" : "");
status &= ~W_STOPCODE(sig);
- }
- else if (WIFSIGNALED(status)) {
+ } else if (WIFSIGNALED(status)) {
tprintf("[{WIFSIGNALED(s) && WTERMSIG(s) == %s%s}",
signame(WTERMSIG(status)),
WCOREDUMP(status) ? " && WCOREDUMP(s)" : "");
status &= ~(W_EXITCODE(0, WTERMSIG(status)) | WCOREFLAG);
- }
- else if (WIFEXITED(status)) {
+ } else if (WIFEXITED(status)) {
tprintf("[{WIFEXITED(s) && WEXITSTATUS(s) == %d}",
WEXITSTATUS(status));
exited = 1;
diff --git a/xlat.c b/xlat.c
new file mode 100644
index 00000000..ad49720d
--- /dev/null
+++ b/xlat.c
@@ -0,0 +1,220 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999-2017 The strace developers.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+#include <stdarg.h>
+
+const char *
+xlookup(const struct xlat *xlat, const uint64_t val)
+{
+ for (; xlat->str != NULL; xlat++)
+ if (xlat->val == val)
+ return xlat->str;
+ return NULL;
+}
+
+static int
+xlat_bsearch_compare(const void *a, const void *b)
+{
+ const uint64_t val1 = *(const uint64_t *) a;
+ const uint64_t val2 = ((const struct xlat *) b)->val;
+ return (val1 > val2) ? 1 : (val1 < val2) ? -1 : 0;
+}
+
+const char *
+xlat_search(const struct xlat *xlat, const size_t nmemb, const uint64_t val)
+{
+ const struct xlat *e =
+ bsearch((const void *) &val,
+ xlat, nmemb, sizeof(*xlat), xlat_bsearch_compare);
+
+ return e ? e->str : NULL;
+}
+
+/**
+ * Print entry in struct xlat table, if there.
+ *
+ * @param val Value to search a literal representation for.
+ * @param dflt String (abbreviated in comment syntax) which should be emitted
+ * if no appropriate xlat value has been found.
+ * @param xlat (And the following arguments) Pointers to arrays of xlat values.
+ * The last argument should be NULL.
+ * @return 1 if appropriate xlat value has been found, 0 otherwise.
+ */
+int
+printxvals(const uint64_t val, const char *dflt, const struct xlat *xlat, ...)
+{
+ va_list args;
+
+ va_start(args, xlat);
+ for (; xlat; xlat = va_arg(args, const struct xlat *)) {
+ const char *str = xlookup(xlat, val);
+
+ if (str) {
+ tprints(str);
+ va_end(args);
+ return 1;
+ }
+ }
+ /* No hits -- print raw # instead. */
+ tprintf("%#" PRIx64, val);
+ tprints_comment(dflt);
+
+ va_end(args);
+
+ return 0;
+}
+
+/**
+ * Print entry in sorted struct xlat table, if it is there.
+ *
+ * @param xlat Pointer to an array of xlat values (not terminated with
+ * XLAT_END).
+ * @param xlat_size Number of xlat elements present in array (usually ARRAY_SIZE
+ * if array is declared in the unit's scope and not
+ * terminated with XLAT_END).
+ * @param val Value to search literal representation for.
+ * @param dflt String (abbreviated in comment syntax) which should be
+ * emitted if no appropriate xlat value has been found.
+ * @return 1 if appropriate xlat value has been found, 0
+ * otherwise.
+ */
+int
+printxval_searchn(const struct xlat *xlat, size_t xlat_size, uint64_t val,
+ const char *dflt)
+{
+ const char *s = xlat_search(xlat, xlat_size, val);
+
+ if (s) {
+ tprints(s);
+ return 1;
+ }
+
+ tprintf("%#" PRIx64, val);
+ tprints_comment(dflt);
+
+ return 0;
+}
+
+/*
+ * Interpret `xlat' as an array of flags
+ * print the entries whose bits are on in `flags'
+ */
+void
+addflags(const struct xlat *xlat, uint64_t flags)
+{
+ for (; xlat->str; xlat++) {
+ if (xlat->val && (flags & xlat->val) == xlat->val) {
+ tprintf("|%s", xlat->str);
+ flags &= ~xlat->val;
+ }
+ }
+ if (flags) {
+ tprintf("|%#" PRIx64, flags);
+ }
+}
+
+/*
+ * Interpret `xlat' as an array of flags.
+ * Print to static string the entries whose bits are on in `flags'
+ * Return static string.
+ */
+const char *
+sprintflags(const char *prefix, const struct xlat *xlat, uint64_t flags)
+{
+ static char outstr[1024];
+ char *outptr;
+ int found = 0;
+
+ outptr = stpcpy(outstr, prefix);
+
+ if (flags == 0 && xlat->val == 0 && xlat->str) {
+ strcpy(outptr, xlat->str);
+ return outstr;
+ }
+
+ for (; xlat->str; xlat++) {
+ if (xlat->val && (flags & xlat->val) == xlat->val) {
+ if (found)
+ *outptr++ = '|';
+ outptr = stpcpy(outptr, xlat->str);
+ found = 1;
+ flags &= ~xlat->val;
+ if (!flags)
+ break;
+ }
+ }
+ if (flags) {
+ if (found)
+ *outptr++ = '|';
+ outptr += sprintf(outptr, "%#" PRIx64, flags);
+ }
+
+ return outstr;
+}
+
+int
+printflags_ex(uint64_t flags, const char *dflt, const struct xlat *xlat, ...)
+{
+ unsigned int n = 0;
+ va_list args;
+
+ va_start(args, xlat);
+ for (; xlat; xlat = va_arg(args, const struct xlat *)) {
+ for (; (flags || !n) && xlat->str; ++xlat) {
+ if ((flags == xlat->val) ||
+ (xlat->val && (flags & xlat->val) == xlat->val)) {
+ tprintf("%s%s", (n++ ? "|" : ""), xlat->str);
+ flags &= ~xlat->val;
+ }
+ if (!flags)
+ break;
+ }
+ }
+ va_end(args);
+
+ if (n) {
+ if (flags) {
+ tprintf("|%#" PRIx64, flags);
+ n++;
+ }
+ } else {
+ if (flags) {
+ tprintf("%#" PRIx64, flags);
+ tprints_comment(dflt);
+ } else {
+ if (dflt)
+ tprints("0");
+ }
+ }
+
+ return n;
+}
diff --git a/xlat/Makemodule.am b/xlat/Makemodule.am
new file mode 100644
index 00000000..f0f08f41
--- /dev/null
+++ b/xlat/Makemodule.am
@@ -0,0 +1,704 @@
+XLAT_INPUT_FILES = xlat/access_flags.in xlat/addrfams.in xlat/adjtimex_modes.in xlat/adjtimex_state.in xlat/adjtimex_status.in xlat/advise.in xlat/af_packet_types.in xlat/archvals.in xlat/arp_hardware_types.in xlat/at_flags.in xlat/at_statx_sync_types.in xlat/atomic_ops.in xlat/audit_arch.in xlat/baud_options.in xlat/blkpg_ops.in xlat/bootflags1.in xlat/bootflags2.in xlat/bootflags3.in xlat/bpf_attach_flags.in xlat/bpf_attach_type.in xlat/bpf_class.in xlat/bpf_commands.in xlat/bpf_map_types.in xlat/bpf_map_update_elem_flags.in xlat/bpf_miscop.in xlat/bpf_mode.in xlat/bpf_op_alu.in xlat/bpf_op_jmp.in xlat/bpf_prog_types.in xlat/bpf_rval.in xlat/bpf_size.in xlat/bpf_src.in xlat/bsg_flags.in xlat/bsg_protocol.in xlat/bsg_subprotocol.in xlat/bt_protocols.in xlat/btrfs_balance_args.in xlat/btrfs_balance_ctl_cmds.in xlat/btrfs_balance_flags.in xlat/btrfs_balance_state.in xlat/btrfs_compress_types.in xlat/btrfs_defrag_flags.in xlat/btrfs_dev_replace_cmds.in xlat/btrfs_dev_replace_results.in xlat/btrfs_dev_replace_state.in xlat/btrfs_dev_stats_flags.in xlat/btrfs_dev_stats_values.in xlat/btrfs_features_compat.in xlat/btrfs_features_compat_ro.in xlat/btrfs_features_incompat.in xlat/btrfs_key_types.in xlat/btrfs_qgroup_ctl_cmds.in xlat/btrfs_qgroup_inherit_flags.in xlat/btrfs_qgroup_limit_flags.in xlat/btrfs_qgroup_status_flags.in xlat/btrfs_scrub_flags.in xlat/btrfs_send_flags.in xlat/btrfs_snap_flags_v2.in xlat/btrfs_space_info_flags.in xlat/btrfs_tree_objectids.in xlat/cacheflush_scope.in xlat/cap.in xlat/cap_mask0.in xlat/cap_mask1.in xlat/cap_version.in xlat/clockflags.in xlat/clocknames.in xlat/clone_flags.in xlat/cpuclocknames.in xlat/delete_module_flags.in xlat/dirent_types.in xlat/dm_flags.in xlat/efd_flags.in xlat/epollctls.in xlat/epollevents.in xlat/epollflags.in xlat/ethernet_protocols.in xlat/evdev_abs.in xlat/evdev_autorepeat.in xlat/evdev_ev.in xlat/evdev_ff_status.in xlat/evdev_ff_types.in xlat/evdev_keycode.in xlat/evdev_leds.in xlat/evdev_misc.in xlat/evdev_mtslots.in xlat/evdev_prop.in xlat/evdev_relative_axes.in xlat/evdev_snd.in xlat/evdev_switch.in xlat/evdev_sync.in xlat/f_owner_types.in xlat/f_seals.in xlat/falloc_flags.in xlat/fan_classes.in xlat/fan_event_flags.in xlat/fan_init_flags.in xlat/fan_mark_flags.in xlat/fcntl64cmds.in xlat/fcntlcmds.in xlat/fdflags.in xlat/fiemap_extent_flags.in xlat/fiemap_flags.in xlat/flockcmds.in xlat/fsmagic.in xlat/futexops.in xlat/futexwakecmps.in xlat/futexwakeops.in xlat/getrandom_flags.in xlat/getsockipoptions.in xlat/getsockipv6options.in xlat/hci_channels.in xlat/hw_breakpoint_len.in xlat/hw_breakpoint_type.in xlat/icmpfilterflags.in xlat/if_dqblk_valid.in xlat/if_dqinfo_flags.in xlat/if_dqinfo_valid.in xlat/iffflags.in xlat/inet_diag_attrs.in xlat/inet_diag_extended_flags.in xlat/inet_diag_req_attrs.in xlat/inet_protocols.in xlat/inotify_flags.in xlat/inotify_init_flags.in xlat/ioctl_dirs.in xlat/ioprio_class.in xlat/ioprio_who.in xlat/ip_cmsg_types.in xlat/ipc_msg_flags.in xlat/ipccalls.in xlat/itimer_which.in xlat/kcmp_types.in xlat/kexec_arch_values.in xlat/kexec_file_load_flags.in xlat/kexec_load_flags.in xlat/key_perms.in xlat/key_reqkeys.in xlat/key_spec.in xlat/keyctl_commands.in xlat/lockfcmds.in xlat/loop_cmds.in xlat/loop_crypt_type_options.in xlat/loop_flags_options.in xlat/madvise_cmds.in xlat/mbindflags.in xlat/mctl_sync.in xlat/membarrier_cmds.in xlat/memfd_create_flags.in xlat/mempolicyflags.in xlat/mlock_flags.in xlat/mlockall_flags.in xlat/mmap_flags.in xlat/mmap_prot.in xlat/modem_flags.in xlat/modetypes.in xlat/module_init_flags.in xlat/mount_flags.in xlat/move_pages_flags.in xlat/mq_attr_flags.in xlat/mremap_flags.in xlat/msg_flags.in xlat/msgctl_flags.in xlat/mtd_file_mode_options.in xlat/mtd_flags_options.in xlat/mtd_mode_options.in xlat/mtd_nandecc_options.in xlat/mtd_otp_options.in xlat/mtd_type_options.in xlat/name_to_handle_at_flags.in xlat/netlink_diag_attrs.in xlat/netlink_diag_show.in xlat/netlink_flags.in xlat/netlink_get_flags.in xlat/netlink_new_flags.in xlat/netlink_protocols.in xlat/netlink_socket_flags.in xlat/netlink_states.in xlat/netlink_types.in xlat/nl_audit_types.in xlat/nl_netfilter_msg_types.in xlat/nl_netfilter_subsys_ids.in xlat/nl_route_types.in xlat/nl_selinux_types.in xlat/nl_sock_diag_types.in xlat/nl_xfrm_types.in xlat/notifyflags.in xlat/nt_descriptor_types.in xlat/open_access_modes.in xlat/open_mode_flags.in xlat/packet_diag_attrs.in xlat/packet_diag_show.in xlat/packet_mreq_type.in xlat/perf_attr_size.in xlat/perf_branch_sample_type.in xlat/perf_event_open_flags.in xlat/perf_event_read_format.in xlat/perf_event_sample_format.in xlat/perf_hw_cache_id.in xlat/perf_hw_cache_op_id.in xlat/perf_hw_cache_op_result_id.in xlat/perf_hw_id.in xlat/perf_sw_ids.in xlat/perf_type_id.in xlat/personality_flags.in xlat/personality_types.in xlat/pkey_access.in xlat/policies.in xlat/pollflags.in xlat/pr_cap_ambient.in xlat/pr_dumpable.in xlat/pr_fp_mode.in xlat/pr_mce_kill.in xlat/pr_mce_kill_policy.in xlat/pr_set_mm.in xlat/pr_tsc.in xlat/pr_unalign_flags.in xlat/prctl_options.in xlat/priorities.in xlat/ptp_flags_options.in xlat/ptrace_cmds.in xlat/ptrace_events.in xlat/ptrace_peeksiginfo_flags.in xlat/ptrace_setoptions_flags.in xlat/quota_formats.in xlat/quotacmds.in xlat/quotatypes.in xlat/rename_flags.in xlat/resource_flags.in xlat/resources.in xlat/rwf_flags.in xlat/sa_handler_values.in xlat/sched_flags.in xlat/schedulers.in xlat/scmvals.in xlat/scsi_sg_commands.in xlat/secbits.in xlat/seccomp_filter_flags.in xlat/seccomp_mode.in xlat/seccomp_ops.in xlat/seccomp_ret_action.in xlat/semctl_flags.in xlat/semop_flags.in xlat/setns_types.in xlat/setsockipoptions.in xlat/setsockipv6options.in xlat/sfd_flags.in xlat/sg_io_dxfer_direction.in xlat/sg_io_flags.in xlat/sg_io_info.in xlat/sg_scsi_reset.in xlat/shm_flags.in xlat/shm_resource_flags.in xlat/shmctl_flags.in xlat/shutdown_modes.in xlat/sigact_flags.in xlat/sigaltstack_flags.in xlat/sigbus_codes.in xlat/sigchld_codes.in xlat/sigemt_codes.in xlat/sigev_value.in xlat/sigfpe_codes.in xlat/sigill_codes.in xlat/siginfo_codes.in xlat/sigpoll_codes.in xlat/sigprocmaskcmds.in xlat/sigprof_codes.in xlat/sigsegv_codes.in xlat/sigsys_codes.in xlat/sigtrap_codes.in xlat/smc_diag_attrs.in xlat/smc_diag_extended_flags.in xlat/smc_states.in xlat/sock_type_flags.in xlat/socketcalls.in xlat/socketlayers.in xlat/sockipoptions.in xlat/sockipv6options.in xlat/sockipxoptions.in xlat/sockoptions.in xlat/sockpacketoptions.in xlat/sockrawoptions.in xlat/socksctpoptions.in xlat/socktcpoptions.in xlat/socktypes.in xlat/splice_flags.in xlat/sram_alloc_flags.in xlat/statfs_flags.in xlat/statx_attrs.in xlat/statx_masks.in xlat/swap_flags.in xlat/sync_file_range_flags.in xlat/sysctl_kern.in xlat/sysctl_net.in xlat/sysctl_net_core.in xlat/sysctl_net_ipv4.in xlat/sysctl_net_ipv4_conf.in xlat/sysctl_net_ipv4_route.in xlat/sysctl_net_ipv6.in xlat/sysctl_net_ipv6_route.in xlat/sysctl_net_unix.in xlat/sysctl_root.in xlat/sysctl_vm.in xlat/syslog_action_type.in xlat/sysmips_operations.in xlat/tcflsh_options.in xlat/tcp_state_flags.in xlat/tcp_states.in xlat/tcxonc_options.in xlat/timerfdflags.in xlat/ubi_volume_props.in xlat/ubi_volume_types.in xlat/uffd_api_flags.in xlat/uffd_copy_flags.in xlat/uffd_flags.in xlat/uffd_register_ioctl_flags.in xlat/uffd_register_mode_flags.in xlat/uffd_zeropage_flags.in xlat/umount_flags.in xlat/unix_diag_attrs.in xlat/unix_diag_show.in xlat/unshare_flags.in xlat/usagewho.in xlat/v4l2_buf_flags.in xlat/v4l2_buf_types.in xlat/v4l2_capture_modes.in xlat/v4l2_colorspaces.in xlat/v4l2_control_classes.in xlat/v4l2_control_flags.in xlat/v4l2_control_ids.in xlat/v4l2_control_types.in xlat/v4l2_device_capabilities_flags.in xlat/v4l2_fields.in xlat/v4l2_format_description_flags.in xlat/v4l2_frameinterval_types.in xlat/v4l2_framesize_types.in xlat/v4l2_input_types.in xlat/v4l2_memories.in xlat/v4l2_sliced_flags.in xlat/v4l2_streaming_capabilities.in xlat/v4l2_tuner_audmodes.in xlat/v4l2_tuner_capabilities.in xlat/v4l2_tuner_rxsubchanses.in xlat/v4l2_tuner_types.in xlat/v4l2_vbi_flags.in xlat/wait4_options.in xlat/waitid_types.in xlat/whence_codes.in xlat/xattrflags.in xlat/xfs_dqblk_flags.in xlat/xfs_quota_flags.in
+XLAT_HEADER_FILES = xlat/access_flags.h xlat/addrfams.h xlat/adjtimex_modes.h xlat/adjtimex_state.h xlat/adjtimex_status.h xlat/advise.h xlat/af_packet_types.h xlat/archvals.h xlat/arp_hardware_types.h xlat/at_flags.h xlat/at_statx_sync_types.h xlat/atomic_ops.h xlat/audit_arch.h xlat/baud_options.h xlat/blkpg_ops.h xlat/bootflags1.h xlat/bootflags2.h xlat/bootflags3.h xlat/bpf_attach_flags.h xlat/bpf_attach_type.h xlat/bpf_class.h xlat/bpf_commands.h xlat/bpf_map_types.h xlat/bpf_map_update_elem_flags.h xlat/bpf_miscop.h xlat/bpf_mode.h xlat/bpf_op_alu.h xlat/bpf_op_jmp.h xlat/bpf_prog_types.h xlat/bpf_rval.h xlat/bpf_size.h xlat/bpf_src.h xlat/bsg_flags.h xlat/bsg_protocol.h xlat/bsg_subprotocol.h xlat/bt_protocols.h xlat/btrfs_balance_args.h xlat/btrfs_balance_ctl_cmds.h xlat/btrfs_balance_flags.h xlat/btrfs_balance_state.h xlat/btrfs_compress_types.h xlat/btrfs_defrag_flags.h xlat/btrfs_dev_replace_cmds.h xlat/btrfs_dev_replace_results.h xlat/btrfs_dev_replace_state.h xlat/btrfs_dev_stats_flags.h xlat/btrfs_dev_stats_values.h xlat/btrfs_features_compat.h xlat/btrfs_features_compat_ro.h xlat/btrfs_features_incompat.h xlat/btrfs_key_types.h xlat/btrfs_qgroup_ctl_cmds.h xlat/btrfs_qgroup_inherit_flags.h xlat/btrfs_qgroup_limit_flags.h xlat/btrfs_qgroup_status_flags.h xlat/btrfs_scrub_flags.h xlat/btrfs_send_flags.h xlat/btrfs_snap_flags_v2.h xlat/btrfs_space_info_flags.h xlat/btrfs_tree_objectids.h xlat/cacheflush_scope.h xlat/cap.h xlat/cap_mask0.h xlat/cap_mask1.h xlat/cap_version.h xlat/clockflags.h xlat/clocknames.h xlat/clone_flags.h xlat/cpuclocknames.h xlat/delete_module_flags.h xlat/dirent_types.h xlat/dm_flags.h xlat/efd_flags.h xlat/epollctls.h xlat/epollevents.h xlat/epollflags.h xlat/ethernet_protocols.h xlat/evdev_abs.h xlat/evdev_autorepeat.h xlat/evdev_ev.h xlat/evdev_ff_status.h xlat/evdev_ff_types.h xlat/evdev_keycode.h xlat/evdev_leds.h xlat/evdev_misc.h xlat/evdev_mtslots.h xlat/evdev_prop.h xlat/evdev_relative_axes.h xlat/evdev_snd.h xlat/evdev_switch.h xlat/evdev_sync.h xlat/f_owner_types.h xlat/f_seals.h xlat/falloc_flags.h xlat/fan_classes.h xlat/fan_event_flags.h xlat/fan_init_flags.h xlat/fan_mark_flags.h xlat/fcntl64cmds.h xlat/fcntlcmds.h xlat/fdflags.h xlat/fiemap_extent_flags.h xlat/fiemap_flags.h xlat/flockcmds.h xlat/fsmagic.h xlat/futexops.h xlat/futexwakecmps.h xlat/futexwakeops.h xlat/getrandom_flags.h xlat/getsockipoptions.h xlat/getsockipv6options.h xlat/hci_channels.h xlat/hw_breakpoint_len.h xlat/hw_breakpoint_type.h xlat/icmpfilterflags.h xlat/if_dqblk_valid.h xlat/if_dqinfo_flags.h xlat/if_dqinfo_valid.h xlat/iffflags.h xlat/inet_diag_attrs.h xlat/inet_diag_extended_flags.h xlat/inet_diag_req_attrs.h xlat/inet_protocols.h xlat/inotify_flags.h xlat/inotify_init_flags.h xlat/ioctl_dirs.h xlat/ioprio_class.h xlat/ioprio_who.h xlat/ip_cmsg_types.h xlat/ipc_msg_flags.h xlat/ipccalls.h xlat/itimer_which.h xlat/kcmp_types.h xlat/kexec_arch_values.h xlat/kexec_file_load_flags.h xlat/kexec_load_flags.h xlat/key_perms.h xlat/key_reqkeys.h xlat/key_spec.h xlat/keyctl_commands.h xlat/lockfcmds.h xlat/loop_cmds.h xlat/loop_crypt_type_options.h xlat/loop_flags_options.h xlat/madvise_cmds.h xlat/mbindflags.h xlat/mctl_sync.h xlat/membarrier_cmds.h xlat/memfd_create_flags.h xlat/mempolicyflags.h xlat/mlock_flags.h xlat/mlockall_flags.h xlat/mmap_flags.h xlat/mmap_prot.h xlat/modem_flags.h xlat/modetypes.h xlat/module_init_flags.h xlat/mount_flags.h xlat/move_pages_flags.h xlat/mq_attr_flags.h xlat/mremap_flags.h xlat/msg_flags.h xlat/msgctl_flags.h xlat/mtd_file_mode_options.h xlat/mtd_flags_options.h xlat/mtd_mode_options.h xlat/mtd_nandecc_options.h xlat/mtd_otp_options.h xlat/mtd_type_options.h xlat/name_to_handle_at_flags.h xlat/netlink_diag_attrs.h xlat/netlink_diag_show.h xlat/netlink_flags.h xlat/netlink_get_flags.h xlat/netlink_new_flags.h xlat/netlink_protocols.h xlat/netlink_socket_flags.h xlat/netlink_states.h xlat/netlink_types.h xlat/nl_audit_types.h xlat/nl_netfilter_msg_types.h xlat/nl_netfilter_subsys_ids.h xlat/nl_route_types.h xlat/nl_selinux_types.h xlat/nl_sock_diag_types.h xlat/nl_xfrm_types.h xlat/notifyflags.h xlat/nt_descriptor_types.h xlat/open_access_modes.h xlat/open_mode_flags.h xlat/packet_diag_attrs.h xlat/packet_diag_show.h xlat/packet_mreq_type.h xlat/perf_attr_size.h xlat/perf_branch_sample_type.h xlat/perf_event_open_flags.h xlat/perf_event_read_format.h xlat/perf_event_sample_format.h xlat/perf_hw_cache_id.h xlat/perf_hw_cache_op_id.h xlat/perf_hw_cache_op_result_id.h xlat/perf_hw_id.h xlat/perf_sw_ids.h xlat/perf_type_id.h xlat/personality_flags.h xlat/personality_types.h xlat/pkey_access.h xlat/policies.h xlat/pollflags.h xlat/pr_cap_ambient.h xlat/pr_dumpable.h xlat/pr_fp_mode.h xlat/pr_mce_kill.h xlat/pr_mce_kill_policy.h xlat/pr_set_mm.h xlat/pr_tsc.h xlat/pr_unalign_flags.h xlat/prctl_options.h xlat/priorities.h xlat/ptp_flags_options.h xlat/ptrace_cmds.h xlat/ptrace_events.h xlat/ptrace_peeksiginfo_flags.h xlat/ptrace_setoptions_flags.h xlat/quota_formats.h xlat/quotacmds.h xlat/quotatypes.h xlat/rename_flags.h xlat/resource_flags.h xlat/resources.h xlat/rwf_flags.h xlat/sa_handler_values.h xlat/sched_flags.h xlat/schedulers.h xlat/scmvals.h xlat/scsi_sg_commands.h xlat/secbits.h xlat/seccomp_filter_flags.h xlat/seccomp_mode.h xlat/seccomp_ops.h xlat/seccomp_ret_action.h xlat/semctl_flags.h xlat/semop_flags.h xlat/setns_types.h xlat/setsockipoptions.h xlat/setsockipv6options.h xlat/sfd_flags.h xlat/sg_io_dxfer_direction.h xlat/sg_io_flags.h xlat/sg_io_info.h xlat/sg_scsi_reset.h xlat/shm_flags.h xlat/shm_resource_flags.h xlat/shmctl_flags.h xlat/shutdown_modes.h xlat/sigact_flags.h xlat/sigaltstack_flags.h xlat/sigbus_codes.h xlat/sigchld_codes.h xlat/sigemt_codes.h xlat/sigev_value.h xlat/sigfpe_codes.h xlat/sigill_codes.h xlat/siginfo_codes.h xlat/sigpoll_codes.h xlat/sigprocmaskcmds.h xlat/sigprof_codes.h xlat/sigsegv_codes.h xlat/sigsys_codes.h xlat/sigtrap_codes.h xlat/smc_diag_attrs.h xlat/smc_diag_extended_flags.h xlat/smc_states.h xlat/sock_type_flags.h xlat/socketcalls.h xlat/socketlayers.h xlat/sockipoptions.h xlat/sockipv6options.h xlat/sockipxoptions.h xlat/sockoptions.h xlat/sockpacketoptions.h xlat/sockrawoptions.h xlat/socksctpoptions.h xlat/socktcpoptions.h xlat/socktypes.h xlat/splice_flags.h xlat/sram_alloc_flags.h xlat/statfs_flags.h xlat/statx_attrs.h xlat/statx_masks.h xlat/swap_flags.h xlat/sync_file_range_flags.h xlat/sysctl_kern.h xlat/sysctl_net.h xlat/sysctl_net_core.h xlat/sysctl_net_ipv4.h xlat/sysctl_net_ipv4_conf.h xlat/sysctl_net_ipv4_route.h xlat/sysctl_net_ipv6.h xlat/sysctl_net_ipv6_route.h xlat/sysctl_net_unix.h xlat/sysctl_root.h xlat/sysctl_vm.h xlat/syslog_action_type.h xlat/sysmips_operations.h xlat/tcflsh_options.h xlat/tcp_state_flags.h xlat/tcp_states.h xlat/tcxonc_options.h xlat/timerfdflags.h xlat/ubi_volume_props.h xlat/ubi_volume_types.h xlat/uffd_api_flags.h xlat/uffd_copy_flags.h xlat/uffd_flags.h xlat/uffd_register_ioctl_flags.h xlat/uffd_register_mode_flags.h xlat/uffd_zeropage_flags.h xlat/umount_flags.h xlat/unix_diag_attrs.h xlat/unix_diag_show.h xlat/unshare_flags.h xlat/usagewho.h xlat/v4l2_buf_flags.h xlat/v4l2_buf_types.h xlat/v4l2_capture_modes.h xlat/v4l2_colorspaces.h xlat/v4l2_control_classes.h xlat/v4l2_control_flags.h xlat/v4l2_control_ids.h xlat/v4l2_control_types.h xlat/v4l2_device_capabilities_flags.h xlat/v4l2_fields.h xlat/v4l2_format_description_flags.h xlat/v4l2_frameinterval_types.h xlat/v4l2_framesize_types.h xlat/v4l2_input_types.h xlat/v4l2_memories.h xlat/v4l2_sliced_flags.h xlat/v4l2_streaming_capabilities.h xlat/v4l2_tuner_audmodes.h xlat/v4l2_tuner_capabilities.h xlat/v4l2_tuner_rxsubchanses.h xlat/v4l2_tuner_types.h xlat/v4l2_vbi_flags.h xlat/wait4_options.h xlat/waitid_types.h xlat/whence_codes.h xlat/xattrflags.h xlat/xfs_dqblk_flags.h xlat/xfs_quota_flags.h
+$(top_srcdir)/xlat/access_flags.h: $(top_srcdir)/xlat/access_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/addrfams.h: $(top_srcdir)/xlat/addrfams.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/adjtimex_modes.h: $(top_srcdir)/xlat/adjtimex_modes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/adjtimex_state.h: $(top_srcdir)/xlat/adjtimex_state.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/adjtimex_status.h: $(top_srcdir)/xlat/adjtimex_status.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/advise.h: $(top_srcdir)/xlat/advise.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/af_packet_types.h: $(top_srcdir)/xlat/af_packet_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/archvals.h: $(top_srcdir)/xlat/archvals.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/arp_hardware_types.h: $(top_srcdir)/xlat/arp_hardware_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/at_flags.h: $(top_srcdir)/xlat/at_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/at_statx_sync_types.h: $(top_srcdir)/xlat/at_statx_sync_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/atomic_ops.h: $(top_srcdir)/xlat/atomic_ops.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/audit_arch.h: $(top_srcdir)/xlat/audit_arch.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/baud_options.h: $(top_srcdir)/xlat/baud_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/blkpg_ops.h: $(top_srcdir)/xlat/blkpg_ops.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bootflags1.h: $(top_srcdir)/xlat/bootflags1.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bootflags2.h: $(top_srcdir)/xlat/bootflags2.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bootflags3.h: $(top_srcdir)/xlat/bootflags3.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_attach_flags.h: $(top_srcdir)/xlat/bpf_attach_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_attach_type.h: $(top_srcdir)/xlat/bpf_attach_type.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_class.h: $(top_srcdir)/xlat/bpf_class.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_commands.h: $(top_srcdir)/xlat/bpf_commands.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_map_types.h: $(top_srcdir)/xlat/bpf_map_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_map_update_elem_flags.h: $(top_srcdir)/xlat/bpf_map_update_elem_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_miscop.h: $(top_srcdir)/xlat/bpf_miscop.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_mode.h: $(top_srcdir)/xlat/bpf_mode.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_op_alu.h: $(top_srcdir)/xlat/bpf_op_alu.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_op_jmp.h: $(top_srcdir)/xlat/bpf_op_jmp.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_prog_types.h: $(top_srcdir)/xlat/bpf_prog_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_rval.h: $(top_srcdir)/xlat/bpf_rval.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_size.h: $(top_srcdir)/xlat/bpf_size.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bpf_src.h: $(top_srcdir)/xlat/bpf_src.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bsg_flags.h: $(top_srcdir)/xlat/bsg_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bsg_protocol.h: $(top_srcdir)/xlat/bsg_protocol.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bsg_subprotocol.h: $(top_srcdir)/xlat/bsg_subprotocol.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/bt_protocols.h: $(top_srcdir)/xlat/bt_protocols.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_balance_args.h: $(top_srcdir)/xlat/btrfs_balance_args.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_balance_ctl_cmds.h: $(top_srcdir)/xlat/btrfs_balance_ctl_cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_balance_flags.h: $(top_srcdir)/xlat/btrfs_balance_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_balance_state.h: $(top_srcdir)/xlat/btrfs_balance_state.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_compress_types.h: $(top_srcdir)/xlat/btrfs_compress_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_defrag_flags.h: $(top_srcdir)/xlat/btrfs_defrag_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_dev_replace_cmds.h: $(top_srcdir)/xlat/btrfs_dev_replace_cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_dev_replace_results.h: $(top_srcdir)/xlat/btrfs_dev_replace_results.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_dev_replace_state.h: $(top_srcdir)/xlat/btrfs_dev_replace_state.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_dev_stats_flags.h: $(top_srcdir)/xlat/btrfs_dev_stats_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_dev_stats_values.h: $(top_srcdir)/xlat/btrfs_dev_stats_values.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_features_compat.h: $(top_srcdir)/xlat/btrfs_features_compat.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_features_compat_ro.h: $(top_srcdir)/xlat/btrfs_features_compat_ro.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_features_incompat.h: $(top_srcdir)/xlat/btrfs_features_incompat.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_key_types.h: $(top_srcdir)/xlat/btrfs_key_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_qgroup_ctl_cmds.h: $(top_srcdir)/xlat/btrfs_qgroup_ctl_cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_qgroup_inherit_flags.h: $(top_srcdir)/xlat/btrfs_qgroup_inherit_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_qgroup_limit_flags.h: $(top_srcdir)/xlat/btrfs_qgroup_limit_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_qgroup_status_flags.h: $(top_srcdir)/xlat/btrfs_qgroup_status_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_scrub_flags.h: $(top_srcdir)/xlat/btrfs_scrub_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_send_flags.h: $(top_srcdir)/xlat/btrfs_send_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_snap_flags_v2.h: $(top_srcdir)/xlat/btrfs_snap_flags_v2.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_space_info_flags.h: $(top_srcdir)/xlat/btrfs_space_info_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/btrfs_tree_objectids.h: $(top_srcdir)/xlat/btrfs_tree_objectids.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cacheflush_scope.h: $(top_srcdir)/xlat/cacheflush_scope.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cap.h: $(top_srcdir)/xlat/cap.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cap_mask0.h: $(top_srcdir)/xlat/cap_mask0.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cap_mask1.h: $(top_srcdir)/xlat/cap_mask1.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cap_version.h: $(top_srcdir)/xlat/cap_version.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/clockflags.h: $(top_srcdir)/xlat/clockflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/clocknames.h: $(top_srcdir)/xlat/clocknames.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/clone_flags.h: $(top_srcdir)/xlat/clone_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/cpuclocknames.h: $(top_srcdir)/xlat/cpuclocknames.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/delete_module_flags.h: $(top_srcdir)/xlat/delete_module_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/dirent_types.h: $(top_srcdir)/xlat/dirent_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/dm_flags.h: $(top_srcdir)/xlat/dm_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/efd_flags.h: $(top_srcdir)/xlat/efd_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/epollctls.h: $(top_srcdir)/xlat/epollctls.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/epollevents.h: $(top_srcdir)/xlat/epollevents.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/epollflags.h: $(top_srcdir)/xlat/epollflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ethernet_protocols.h: $(top_srcdir)/xlat/ethernet_protocols.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_abs.h: $(top_srcdir)/xlat/evdev_abs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_autorepeat.h: $(top_srcdir)/xlat/evdev_autorepeat.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_ev.h: $(top_srcdir)/xlat/evdev_ev.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_ff_status.h: $(top_srcdir)/xlat/evdev_ff_status.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_ff_types.h: $(top_srcdir)/xlat/evdev_ff_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_keycode.h: $(top_srcdir)/xlat/evdev_keycode.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_leds.h: $(top_srcdir)/xlat/evdev_leds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_misc.h: $(top_srcdir)/xlat/evdev_misc.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_mtslots.h: $(top_srcdir)/xlat/evdev_mtslots.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_prop.h: $(top_srcdir)/xlat/evdev_prop.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_relative_axes.h: $(top_srcdir)/xlat/evdev_relative_axes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_snd.h: $(top_srcdir)/xlat/evdev_snd.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_switch.h: $(top_srcdir)/xlat/evdev_switch.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/evdev_sync.h: $(top_srcdir)/xlat/evdev_sync.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/f_owner_types.h: $(top_srcdir)/xlat/f_owner_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/f_seals.h: $(top_srcdir)/xlat/f_seals.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/falloc_flags.h: $(top_srcdir)/xlat/falloc_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_classes.h: $(top_srcdir)/xlat/fan_classes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_event_flags.h: $(top_srcdir)/xlat/fan_event_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_init_flags.h: $(top_srcdir)/xlat/fan_init_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fan_mark_flags.h: $(top_srcdir)/xlat/fan_mark_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fcntl64cmds.h: $(top_srcdir)/xlat/fcntl64cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fcntlcmds.h: $(top_srcdir)/xlat/fcntlcmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fdflags.h: $(top_srcdir)/xlat/fdflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fiemap_extent_flags.h: $(top_srcdir)/xlat/fiemap_extent_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fiemap_flags.h: $(top_srcdir)/xlat/fiemap_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/flockcmds.h: $(top_srcdir)/xlat/flockcmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/fsmagic.h: $(top_srcdir)/xlat/fsmagic.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/futexops.h: $(top_srcdir)/xlat/futexops.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/futexwakecmps.h: $(top_srcdir)/xlat/futexwakecmps.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/futexwakeops.h: $(top_srcdir)/xlat/futexwakeops.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/getrandom_flags.h: $(top_srcdir)/xlat/getrandom_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/getsockipoptions.h: $(top_srcdir)/xlat/getsockipoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/getsockipv6options.h: $(top_srcdir)/xlat/getsockipv6options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/hci_channels.h: $(top_srcdir)/xlat/hci_channels.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/hw_breakpoint_len.h: $(top_srcdir)/xlat/hw_breakpoint_len.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/hw_breakpoint_type.h: $(top_srcdir)/xlat/hw_breakpoint_type.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/icmpfilterflags.h: $(top_srcdir)/xlat/icmpfilterflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/if_dqblk_valid.h: $(top_srcdir)/xlat/if_dqblk_valid.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/if_dqinfo_flags.h: $(top_srcdir)/xlat/if_dqinfo_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/if_dqinfo_valid.h: $(top_srcdir)/xlat/if_dqinfo_valid.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/iffflags.h: $(top_srcdir)/xlat/iffflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_diag_attrs.h: $(top_srcdir)/xlat/inet_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_diag_extended_flags.h: $(top_srcdir)/xlat/inet_diag_extended_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_diag_req_attrs.h: $(top_srcdir)/xlat/inet_diag_req_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inet_protocols.h: $(top_srcdir)/xlat/inet_protocols.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inotify_flags.h: $(top_srcdir)/xlat/inotify_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/inotify_init_flags.h: $(top_srcdir)/xlat/inotify_init_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ioctl_dirs.h: $(top_srcdir)/xlat/ioctl_dirs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ioprio_class.h: $(top_srcdir)/xlat/ioprio_class.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ioprio_who.h: $(top_srcdir)/xlat/ioprio_who.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ip_cmsg_types.h: $(top_srcdir)/xlat/ip_cmsg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ipc_msg_flags.h: $(top_srcdir)/xlat/ipc_msg_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ipccalls.h: $(top_srcdir)/xlat/ipccalls.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/itimer_which.h: $(top_srcdir)/xlat/itimer_which.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/kcmp_types.h: $(top_srcdir)/xlat/kcmp_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/kexec_arch_values.h: $(top_srcdir)/xlat/kexec_arch_values.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/kexec_file_load_flags.h: $(top_srcdir)/xlat/kexec_file_load_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/kexec_load_flags.h: $(top_srcdir)/xlat/kexec_load_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/key_perms.h: $(top_srcdir)/xlat/key_perms.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/key_reqkeys.h: $(top_srcdir)/xlat/key_reqkeys.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/key_spec.h: $(top_srcdir)/xlat/key_spec.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/keyctl_commands.h: $(top_srcdir)/xlat/keyctl_commands.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/lockfcmds.h: $(top_srcdir)/xlat/lockfcmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/loop_cmds.h: $(top_srcdir)/xlat/loop_cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/loop_crypt_type_options.h: $(top_srcdir)/xlat/loop_crypt_type_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/loop_flags_options.h: $(top_srcdir)/xlat/loop_flags_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/madvise_cmds.h: $(top_srcdir)/xlat/madvise_cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mbindflags.h: $(top_srcdir)/xlat/mbindflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mctl_sync.h: $(top_srcdir)/xlat/mctl_sync.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/membarrier_cmds.h: $(top_srcdir)/xlat/membarrier_cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/memfd_create_flags.h: $(top_srcdir)/xlat/memfd_create_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mempolicyflags.h: $(top_srcdir)/xlat/mempolicyflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mlock_flags.h: $(top_srcdir)/xlat/mlock_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mlockall_flags.h: $(top_srcdir)/xlat/mlockall_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mmap_flags.h: $(top_srcdir)/xlat/mmap_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mmap_prot.h: $(top_srcdir)/xlat/mmap_prot.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/modem_flags.h: $(top_srcdir)/xlat/modem_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/modetypes.h: $(top_srcdir)/xlat/modetypes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/module_init_flags.h: $(top_srcdir)/xlat/module_init_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mount_flags.h: $(top_srcdir)/xlat/mount_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/move_pages_flags.h: $(top_srcdir)/xlat/move_pages_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mq_attr_flags.h: $(top_srcdir)/xlat/mq_attr_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mremap_flags.h: $(top_srcdir)/xlat/mremap_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/msg_flags.h: $(top_srcdir)/xlat/msg_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/msgctl_flags.h: $(top_srcdir)/xlat/msgctl_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_file_mode_options.h: $(top_srcdir)/xlat/mtd_file_mode_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_flags_options.h: $(top_srcdir)/xlat/mtd_flags_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_mode_options.h: $(top_srcdir)/xlat/mtd_mode_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_nandecc_options.h: $(top_srcdir)/xlat/mtd_nandecc_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_otp_options.h: $(top_srcdir)/xlat/mtd_otp_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/mtd_type_options.h: $(top_srcdir)/xlat/mtd_type_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/name_to_handle_at_flags.h: $(top_srcdir)/xlat/name_to_handle_at_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_diag_attrs.h: $(top_srcdir)/xlat/netlink_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_diag_show.h: $(top_srcdir)/xlat/netlink_diag_show.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_flags.h: $(top_srcdir)/xlat/netlink_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_get_flags.h: $(top_srcdir)/xlat/netlink_get_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_new_flags.h: $(top_srcdir)/xlat/netlink_new_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_protocols.h: $(top_srcdir)/xlat/netlink_protocols.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_socket_flags.h: $(top_srcdir)/xlat/netlink_socket_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_states.h: $(top_srcdir)/xlat/netlink_states.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/netlink_types.h: $(top_srcdir)/xlat/netlink_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_audit_types.h: $(top_srcdir)/xlat/nl_audit_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_netfilter_msg_types.h: $(top_srcdir)/xlat/nl_netfilter_msg_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_netfilter_subsys_ids.h: $(top_srcdir)/xlat/nl_netfilter_subsys_ids.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_route_types.h: $(top_srcdir)/xlat/nl_route_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_selinux_types.h: $(top_srcdir)/xlat/nl_selinux_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_sock_diag_types.h: $(top_srcdir)/xlat/nl_sock_diag_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nl_xfrm_types.h: $(top_srcdir)/xlat/nl_xfrm_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/notifyflags.h: $(top_srcdir)/xlat/notifyflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/nt_descriptor_types.h: $(top_srcdir)/xlat/nt_descriptor_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/open_access_modes.h: $(top_srcdir)/xlat/open_access_modes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/open_mode_flags.h: $(top_srcdir)/xlat/open_mode_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/packet_diag_attrs.h: $(top_srcdir)/xlat/packet_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/packet_diag_show.h: $(top_srcdir)/xlat/packet_diag_show.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/packet_mreq_type.h: $(top_srcdir)/xlat/packet_mreq_type.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_attr_size.h: $(top_srcdir)/xlat/perf_attr_size.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_branch_sample_type.h: $(top_srcdir)/xlat/perf_branch_sample_type.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_event_open_flags.h: $(top_srcdir)/xlat/perf_event_open_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_event_read_format.h: $(top_srcdir)/xlat/perf_event_read_format.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_event_sample_format.h: $(top_srcdir)/xlat/perf_event_sample_format.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_hw_cache_id.h: $(top_srcdir)/xlat/perf_hw_cache_id.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_hw_cache_op_id.h: $(top_srcdir)/xlat/perf_hw_cache_op_id.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_hw_cache_op_result_id.h: $(top_srcdir)/xlat/perf_hw_cache_op_result_id.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_hw_id.h: $(top_srcdir)/xlat/perf_hw_id.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_sw_ids.h: $(top_srcdir)/xlat/perf_sw_ids.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/perf_type_id.h: $(top_srcdir)/xlat/perf_type_id.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/personality_flags.h: $(top_srcdir)/xlat/personality_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/personality_types.h: $(top_srcdir)/xlat/personality_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pkey_access.h: $(top_srcdir)/xlat/pkey_access.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/policies.h: $(top_srcdir)/xlat/policies.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pollflags.h: $(top_srcdir)/xlat/pollflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_cap_ambient.h: $(top_srcdir)/xlat/pr_cap_ambient.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_dumpable.h: $(top_srcdir)/xlat/pr_dumpable.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_fp_mode.h: $(top_srcdir)/xlat/pr_fp_mode.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_mce_kill.h: $(top_srcdir)/xlat/pr_mce_kill.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_mce_kill_policy.h: $(top_srcdir)/xlat/pr_mce_kill_policy.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_set_mm.h: $(top_srcdir)/xlat/pr_set_mm.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_tsc.h: $(top_srcdir)/xlat/pr_tsc.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/pr_unalign_flags.h: $(top_srcdir)/xlat/pr_unalign_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/prctl_options.h: $(top_srcdir)/xlat/prctl_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/priorities.h: $(top_srcdir)/xlat/priorities.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptp_flags_options.h: $(top_srcdir)/xlat/ptp_flags_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptrace_cmds.h: $(top_srcdir)/xlat/ptrace_cmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptrace_events.h: $(top_srcdir)/xlat/ptrace_events.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptrace_peeksiginfo_flags.h: $(top_srcdir)/xlat/ptrace_peeksiginfo_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ptrace_setoptions_flags.h: $(top_srcdir)/xlat/ptrace_setoptions_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/quota_formats.h: $(top_srcdir)/xlat/quota_formats.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/quotacmds.h: $(top_srcdir)/xlat/quotacmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/quotatypes.h: $(top_srcdir)/xlat/quotatypes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rename_flags.h: $(top_srcdir)/xlat/rename_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/resource_flags.h: $(top_srcdir)/xlat/resource_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/resources.h: $(top_srcdir)/xlat/resources.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/rwf_flags.h: $(top_srcdir)/xlat/rwf_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sa_handler_values.h: $(top_srcdir)/xlat/sa_handler_values.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sched_flags.h: $(top_srcdir)/xlat/sched_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/schedulers.h: $(top_srcdir)/xlat/schedulers.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/scmvals.h: $(top_srcdir)/xlat/scmvals.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/scsi_sg_commands.h: $(top_srcdir)/xlat/scsi_sg_commands.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/secbits.h: $(top_srcdir)/xlat/secbits.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/seccomp_filter_flags.h: $(top_srcdir)/xlat/seccomp_filter_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/seccomp_mode.h: $(top_srcdir)/xlat/seccomp_mode.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/seccomp_ops.h: $(top_srcdir)/xlat/seccomp_ops.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/seccomp_ret_action.h: $(top_srcdir)/xlat/seccomp_ret_action.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/semctl_flags.h: $(top_srcdir)/xlat/semctl_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/semop_flags.h: $(top_srcdir)/xlat/semop_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/setns_types.h: $(top_srcdir)/xlat/setns_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/setsockipoptions.h: $(top_srcdir)/xlat/setsockipoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/setsockipv6options.h: $(top_srcdir)/xlat/setsockipv6options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sfd_flags.h: $(top_srcdir)/xlat/sfd_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sg_io_dxfer_direction.h: $(top_srcdir)/xlat/sg_io_dxfer_direction.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sg_io_flags.h: $(top_srcdir)/xlat/sg_io_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sg_io_info.h: $(top_srcdir)/xlat/sg_io_info.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sg_scsi_reset.h: $(top_srcdir)/xlat/sg_scsi_reset.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shm_flags.h: $(top_srcdir)/xlat/shm_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shm_resource_flags.h: $(top_srcdir)/xlat/shm_resource_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shmctl_flags.h: $(top_srcdir)/xlat/shmctl_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/shutdown_modes.h: $(top_srcdir)/xlat/shutdown_modes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigact_flags.h: $(top_srcdir)/xlat/sigact_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigaltstack_flags.h: $(top_srcdir)/xlat/sigaltstack_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigbus_codes.h: $(top_srcdir)/xlat/sigbus_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigchld_codes.h: $(top_srcdir)/xlat/sigchld_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigemt_codes.h: $(top_srcdir)/xlat/sigemt_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigev_value.h: $(top_srcdir)/xlat/sigev_value.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigfpe_codes.h: $(top_srcdir)/xlat/sigfpe_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigill_codes.h: $(top_srcdir)/xlat/sigill_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/siginfo_codes.h: $(top_srcdir)/xlat/siginfo_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigpoll_codes.h: $(top_srcdir)/xlat/sigpoll_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigprocmaskcmds.h: $(top_srcdir)/xlat/sigprocmaskcmds.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigprof_codes.h: $(top_srcdir)/xlat/sigprof_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigsegv_codes.h: $(top_srcdir)/xlat/sigsegv_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigsys_codes.h: $(top_srcdir)/xlat/sigsys_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sigtrap_codes.h: $(top_srcdir)/xlat/sigtrap_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/smc_diag_attrs.h: $(top_srcdir)/xlat/smc_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/smc_diag_extended_flags.h: $(top_srcdir)/xlat/smc_diag_extended_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/smc_states.h: $(top_srcdir)/xlat/smc_states.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sock_type_flags.h: $(top_srcdir)/xlat/sock_type_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socketcalls.h: $(top_srcdir)/xlat/socketcalls.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socketlayers.h: $(top_srcdir)/xlat/socketlayers.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockipoptions.h: $(top_srcdir)/xlat/sockipoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockipv6options.h: $(top_srcdir)/xlat/sockipv6options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockipxoptions.h: $(top_srcdir)/xlat/sockipxoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockoptions.h: $(top_srcdir)/xlat/sockoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockpacketoptions.h: $(top_srcdir)/xlat/sockpacketoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sockrawoptions.h: $(top_srcdir)/xlat/sockrawoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socksctpoptions.h: $(top_srcdir)/xlat/socksctpoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socktcpoptions.h: $(top_srcdir)/xlat/socktcpoptions.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/socktypes.h: $(top_srcdir)/xlat/socktypes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/splice_flags.h: $(top_srcdir)/xlat/splice_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sram_alloc_flags.h: $(top_srcdir)/xlat/sram_alloc_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/statfs_flags.h: $(top_srcdir)/xlat/statfs_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/statx_attrs.h: $(top_srcdir)/xlat/statx_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/statx_masks.h: $(top_srcdir)/xlat/statx_masks.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/swap_flags.h: $(top_srcdir)/xlat/swap_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sync_file_range_flags.h: $(top_srcdir)/xlat/sync_file_range_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_kern.h: $(top_srcdir)/xlat/sysctl_kern.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net.h: $(top_srcdir)/xlat/sysctl_net.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_core.h: $(top_srcdir)/xlat/sysctl_net_core.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv4.h: $(top_srcdir)/xlat/sysctl_net_ipv4.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv4_conf.h: $(top_srcdir)/xlat/sysctl_net_ipv4_conf.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv4_route.h: $(top_srcdir)/xlat/sysctl_net_ipv4_route.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv6.h: $(top_srcdir)/xlat/sysctl_net_ipv6.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_ipv6_route.h: $(top_srcdir)/xlat/sysctl_net_ipv6_route.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_net_unix.h: $(top_srcdir)/xlat/sysctl_net_unix.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_root.h: $(top_srcdir)/xlat/sysctl_root.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysctl_vm.h: $(top_srcdir)/xlat/sysctl_vm.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/syslog_action_type.h: $(top_srcdir)/xlat/syslog_action_type.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/sysmips_operations.h: $(top_srcdir)/xlat/sysmips_operations.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcflsh_options.h: $(top_srcdir)/xlat/tcflsh_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcp_state_flags.h: $(top_srcdir)/xlat/tcp_state_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcp_states.h: $(top_srcdir)/xlat/tcp_states.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/tcxonc_options.h: $(top_srcdir)/xlat/tcxonc_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/timerfdflags.h: $(top_srcdir)/xlat/timerfdflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ubi_volume_props.h: $(top_srcdir)/xlat/ubi_volume_props.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/ubi_volume_types.h: $(top_srcdir)/xlat/ubi_volume_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/uffd_api_flags.h: $(top_srcdir)/xlat/uffd_api_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/uffd_copy_flags.h: $(top_srcdir)/xlat/uffd_copy_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/uffd_flags.h: $(top_srcdir)/xlat/uffd_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/uffd_register_ioctl_flags.h: $(top_srcdir)/xlat/uffd_register_ioctl_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/uffd_register_mode_flags.h: $(top_srcdir)/xlat/uffd_register_mode_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/uffd_zeropage_flags.h: $(top_srcdir)/xlat/uffd_zeropage_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/umount_flags.h: $(top_srcdir)/xlat/umount_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/unix_diag_attrs.h: $(top_srcdir)/xlat/unix_diag_attrs.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/unix_diag_show.h: $(top_srcdir)/xlat/unix_diag_show.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/unshare_flags.h: $(top_srcdir)/xlat/unshare_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/usagewho.h: $(top_srcdir)/xlat/usagewho.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_buf_flags.h: $(top_srcdir)/xlat/v4l2_buf_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_buf_types.h: $(top_srcdir)/xlat/v4l2_buf_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_capture_modes.h: $(top_srcdir)/xlat/v4l2_capture_modes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_colorspaces.h: $(top_srcdir)/xlat/v4l2_colorspaces.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_control_classes.h: $(top_srcdir)/xlat/v4l2_control_classes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_control_flags.h: $(top_srcdir)/xlat/v4l2_control_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_control_ids.h: $(top_srcdir)/xlat/v4l2_control_ids.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_control_types.h: $(top_srcdir)/xlat/v4l2_control_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_device_capabilities_flags.h: $(top_srcdir)/xlat/v4l2_device_capabilities_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_fields.h: $(top_srcdir)/xlat/v4l2_fields.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_format_description_flags.h: $(top_srcdir)/xlat/v4l2_format_description_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_frameinterval_types.h: $(top_srcdir)/xlat/v4l2_frameinterval_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_framesize_types.h: $(top_srcdir)/xlat/v4l2_framesize_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_input_types.h: $(top_srcdir)/xlat/v4l2_input_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_memories.h: $(top_srcdir)/xlat/v4l2_memories.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_sliced_flags.h: $(top_srcdir)/xlat/v4l2_sliced_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_streaming_capabilities.h: $(top_srcdir)/xlat/v4l2_streaming_capabilities.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_audmodes.h: $(top_srcdir)/xlat/v4l2_tuner_audmodes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_capabilities.h: $(top_srcdir)/xlat/v4l2_tuner_capabilities.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_rxsubchanses.h: $(top_srcdir)/xlat/v4l2_tuner_rxsubchanses.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_tuner_types.h: $(top_srcdir)/xlat/v4l2_tuner_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/v4l2_vbi_flags.h: $(top_srcdir)/xlat/v4l2_vbi_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/wait4_options.h: $(top_srcdir)/xlat/wait4_options.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/waitid_types.h: $(top_srcdir)/xlat/waitid_types.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/whence_codes.h: $(top_srcdir)/xlat/whence_codes.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/xattrflags.h: $(top_srcdir)/xlat/xattrflags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/xfs_dqblk_flags.h: $(top_srcdir)/xlat/xfs_dqblk_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
+$(top_srcdir)/xlat/xfs_quota_flags.h: $(top_srcdir)/xlat/xfs_quota_flags.in $(top_srcdir)/xlat/gen.sh
+ $(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
diff --git a/xlat/archvals.h b/xlat/archvals.h
index 1f441d52..75969bbd 100644
--- a/xlat/archvals.h
+++ b/xlat/archvals.h
@@ -1,4 +1,10 @@
/* Generated by ./xlat/gen.sh from ./xlat/archvals.in; do not edit. */
+#if !(defined(ARCH_GET_CPUID) || (defined(HAVE_DECL_ARCH_GET_CPUID) && HAVE_DECL_ARCH_GET_CPUID))
+# define ARCH_GET_CPUID 0x1011
+#endif
+#if !(defined(ARCH_SET_CPUID) || (defined(HAVE_DECL_ARCH_SET_CPUID) && HAVE_DECL_ARCH_SET_CPUID))
+# define ARCH_SET_CPUID 0x1012
+#endif
#if !(defined(ARCH_MAP_VDSO_X32) || (defined(HAVE_DECL_ARCH_MAP_VDSO_X32) && HAVE_DECL_ARCH_MAP_VDSO_X32))
# define ARCH_MAP_VDSO_X32 0x2001
#endif
@@ -29,6 +35,8 @@ const struct xlat archvals[] = {
#if defined(ARCH_GET_GS) || (defined(HAVE_DECL_ARCH_GET_GS) && HAVE_DECL_ARCH_GET_GS)
XLAT(ARCH_GET_GS),
#endif
+ XLAT(ARCH_GET_CPUID),
+ XLAT(ARCH_SET_CPUID),
XLAT(ARCH_MAP_VDSO_X32),
XLAT(ARCH_MAP_VDSO_32),
XLAT(ARCH_MAP_VDSO_64),
diff --git a/xlat/archvals.in b/xlat/archvals.in
index def419d0..4bbcc0a0 100644
--- a/xlat/archvals.in
+++ b/xlat/archvals.in
@@ -2,6 +2,8 @@ ARCH_SET_GS
ARCH_SET_FS
ARCH_GET_FS
ARCH_GET_GS
+ARCH_GET_CPUID 0x1011
+ARCH_SET_CPUID 0x1012
ARCH_MAP_VDSO_X32 0x2001
ARCH_MAP_VDSO_32 0x2002
ARCH_MAP_VDSO_64 0x2003
diff --git a/xlat/arp_hardware_types.h b/xlat/arp_hardware_types.h
index 7e669b3d..c862f2c5 100644
--- a/xlat/arp_hardware_types.h
+++ b/xlat/arp_hardware_types.h
@@ -194,6 +194,9 @@ const struct xlat arp_hardware_types[] = {
#if defined(ARPHRD_6LOWPAN) || (defined(HAVE_DECL_ARPHRD_6LOWPAN) && HAVE_DECL_ARPHRD_6LOWPAN)
XLAT(ARPHRD_6LOWPAN),
#endif
+#if defined(ARPHRD_VSOCKMON) || (defined(HAVE_DECL_ARPHRD_VSOCKMON) && HAVE_DECL_ARPHRD_VSOCKMON)
+ XLAT(ARPHRD_VSOCKMON),
+#endif
#if defined(ARPHRD_VOID) || (defined(HAVE_DECL_ARPHRD_VOID) && HAVE_DECL_ARPHRD_VOID)
XLAT(ARPHRD_VOID),
#endif
diff --git a/xlat/arp_hardware_types.in b/xlat/arp_hardware_types.in
index df8b4fcf..744a6728 100644
--- a/xlat/arp_hardware_types.in
+++ b/xlat/arp_hardware_types.in
@@ -60,5 +60,6 @@ ARPHRD_CAIF
ARPHRD_IP6GRE
ARPHRD_NETLINK
ARPHRD_6LOWPAN
+ARPHRD_VSOCKMON
ARPHRD_VOID
ARPHRD_NONE
diff --git a/xlat/ethernet_protocols.h b/xlat/ethernet_protocols.h
index 035ca8c8..7b5e86c9 100644
--- a/xlat/ethernet_protocols.h
+++ b/xlat/ethernet_protocols.h
@@ -1,12 +1,7 @@
/* Generated by ./xlat/gen.sh from ./xlat/ethernet_protocols.in; do not edit. */
-#ifdef IN_MPERS
+#ifndef IN_MPERS
-# error static const struct xlat ethernet_protocols in mpers mode
-
-#else
-
-static
const struct xlat ethernet_protocols[] = {
#if defined(ETH_P_LOOP) || (defined(HAVE_DECL_ETH_P_LOOP) && HAVE_DECL_ETH_P_LOOP)
XLAT(ETH_P_LOOP),
diff --git a/xlat/inet_diag_attrs.h b/xlat/inet_diag_attrs.h
new file mode 100644
index 00000000..7afbc4ef
--- /dev/null
+++ b/xlat/inet_diag_attrs.h
@@ -0,0 +1,31 @@
+/* Generated by ./xlat/gen.sh from ./xlat/inet_diag_attrs.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat inet_diag_attrs in mpers mode
+
+#else
+
+static
+const struct xlat inet_diag_attrs[] = {
+ XLAT(INET_DIAG_NONE),
+ XLAT(INET_DIAG_MEMINFO),
+ XLAT(INET_DIAG_INFO),
+ XLAT(INET_DIAG_VEGASINFO),
+ XLAT(INET_DIAG_CONG),
+ XLAT(INET_DIAG_TOS),
+ XLAT(INET_DIAG_TCLASS),
+ XLAT(INET_DIAG_SKMEMINFO),
+ XLAT(INET_DIAG_SHUTDOWN),
+ XLAT(INET_DIAG_DCTCPINFO),
+ XLAT(INET_DIAG_PROTOCOL),
+ XLAT(INET_DIAG_SKV6ONLY),
+ XLAT(INET_DIAG_LOCALS),
+ XLAT(INET_DIAG_PEERS),
+ XLAT(INET_DIAG_PAD),
+ XLAT(INET_DIAG_MARK),
+ XLAT(INET_DIAG_BBRINFO),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/inet_diag_attrs.in b/xlat/inet_diag_attrs.in
new file mode 100644
index 00000000..17519c83
--- /dev/null
+++ b/xlat/inet_diag_attrs.in
@@ -0,0 +1,18 @@
+#unconditional
+INET_DIAG_NONE
+INET_DIAG_MEMINFO
+INET_DIAG_INFO
+INET_DIAG_VEGASINFO
+INET_DIAG_CONG
+INET_DIAG_TOS
+INET_DIAG_TCLASS
+INET_DIAG_SKMEMINFO
+INET_DIAG_SHUTDOWN
+INET_DIAG_DCTCPINFO
+INET_DIAG_PROTOCOL
+INET_DIAG_SKV6ONLY
+INET_DIAG_LOCALS
+INET_DIAG_PEERS
+INET_DIAG_PAD
+INET_DIAG_MARK
+INET_DIAG_BBRINFO
diff --git a/xlat/inet_diag_extended_flags.h b/xlat/inet_diag_extended_flags.h
new file mode 100644
index 00000000..bf1bd3ff
--- /dev/null
+++ b/xlat/inet_diag_extended_flags.h
@@ -0,0 +1,30 @@
+/* Generated by ./xlat/gen.sh from ./xlat/inet_diag_extended_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat inet_diag_extended_flags in mpers mode
+
+#else
+
+static
+const struct xlat inet_diag_extended_flags[] = {
+ XLAT(1<<(INET_DIAG_MEMINFO-1)),
+ XLAT(1<<(INET_DIAG_INFO-1)),
+ XLAT(1<<(INET_DIAG_VEGASINFO-1)),
+ XLAT(1<<(INET_DIAG_CONG-1)),
+ XLAT(1<<(INET_DIAG_TOS-1)),
+ XLAT(1<<(INET_DIAG_TCLASS-1)),
+ XLAT(1<<(INET_DIAG_SKMEMINFO-1)),
+ XLAT(1<<(INET_DIAG_SHUTDOWN-1)),
+ XLAT(1<<(INET_DIAG_DCTCPINFO-1)),
+ XLAT(1<<(INET_DIAG_PROTOCOL-1)),
+ XLAT(1<<(INET_DIAG_SKV6ONLY-1)),
+ XLAT(1<<(INET_DIAG_LOCALS-1)),
+ XLAT(1<<(INET_DIAG_PEERS-1)),
+ XLAT(1<<(INET_DIAG_PAD-1)),
+ XLAT(1<<(INET_DIAG_MARK-1)),
+ XLAT(1<<(INET_DIAG_BBRINFO-1)),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/inet_diag_extended_flags.in b/xlat/inet_diag_extended_flags.in
new file mode 100644
index 00000000..05be3ca4
--- /dev/null
+++ b/xlat/inet_diag_extended_flags.in
@@ -0,0 +1,17 @@
+#unconditional
+1<<(INET_DIAG_MEMINFO-1)
+1<<(INET_DIAG_INFO-1)
+1<<(INET_DIAG_VEGASINFO-1)
+1<<(INET_DIAG_CONG-1)
+1<<(INET_DIAG_TOS-1)
+1<<(INET_DIAG_TCLASS-1)
+1<<(INET_DIAG_SKMEMINFO-1)
+1<<(INET_DIAG_SHUTDOWN-1)
+1<<(INET_DIAG_DCTCPINFO-1)
+1<<(INET_DIAG_PROTOCOL-1)
+1<<(INET_DIAG_SKV6ONLY-1)
+1<<(INET_DIAG_LOCALS-1)
+1<<(INET_DIAG_PEERS-1)
+1<<(INET_DIAG_PAD-1)
+1<<(INET_DIAG_MARK-1)
+1<<(INET_DIAG_BBRINFO-1)
diff --git a/xlat/inet_diag_req_attrs.h b/xlat/inet_diag_req_attrs.h
new file mode 100644
index 00000000..6fc4bace
--- /dev/null
+++ b/xlat/inet_diag_req_attrs.h
@@ -0,0 +1,16 @@
+/* Generated by ./xlat/gen.sh from ./xlat/inet_diag_req_attrs.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat inet_diag_req_attrs in mpers mode
+
+#else
+
+static
+const struct xlat inet_diag_req_attrs[] = {
+ XLAT(INET_DIAG_REQ_NONE),
+ XLAT(INET_DIAG_REQ_BYTECODE),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/inet_diag_req_attrs.in b/xlat/inet_diag_req_attrs.in
new file mode 100644
index 00000000..c36369ee
--- /dev/null
+++ b/xlat/inet_diag_req_attrs.in
@@ -0,0 +1,3 @@
+#unconditional
+INET_DIAG_REQ_NONE
+INET_DIAG_REQ_BYTECODE
diff --git a/xlat/inet_protocols.h b/xlat/inet_protocols.h
index 73d1133b..47c0c0d5 100644
--- a/xlat/inet_protocols.h
+++ b/xlat/inet_protocols.h
@@ -1,12 +1,7 @@
/* Generated by ./xlat/gen.sh from ./xlat/inet_protocols.in; do not edit. */
-#ifdef IN_MPERS
+#ifndef IN_MPERS
-# error static const struct xlat inet_protocols in mpers mode
-
-#else
-
-static
const struct xlat inet_protocols[] = {
#if defined(IPPROTO_IP) || (defined(HAVE_DECL_IPPROTO_IP) && HAVE_DECL_IPPROTO_IP)
XLAT(IPPROTO_IP),
diff --git a/xlat/keyctl_commands.h b/xlat/keyctl_commands.h
index 14a1e098..cbe760de 100644
--- a/xlat/keyctl_commands.h
+++ b/xlat/keyctl_commands.h
@@ -71,6 +71,9 @@
#if !(defined(KEYCTL_DH_COMPUTE) || (defined(HAVE_DECL_KEYCTL_DH_COMPUTE) && HAVE_DECL_KEYCTL_DH_COMPUTE))
# define KEYCTL_DH_COMPUTE 23
#endif
+#if !(defined(KEYCTL_RESTRICT_KEYRING) || (defined(HAVE_DECL_KEYCTL_RESTRICT_KEYRING) && HAVE_DECL_KEYCTL_RESTRICT_KEYRING))
+# define KEYCTL_RESTRICT_KEYRING 29
+#endif
#ifdef IN_MPERS
@@ -104,6 +107,7 @@ const struct xlat keyctl_commands[] = {
XLAT(KEYCTL_INVALIDATE),
XLAT(KEYCTL_GET_PERSISTENT),
XLAT(KEYCTL_DH_COMPUTE),
+ XLAT(KEYCTL_RESTRICT_KEYRING),
XLAT_END
};
diff --git a/xlat/keyctl_commands.in b/xlat/keyctl_commands.in
index a30d139b..5e1f4472 100644
--- a/xlat/keyctl_commands.in
+++ b/xlat/keyctl_commands.in
@@ -22,3 +22,4 @@ KEYCTL_INSTANTIATE_IOV 20
KEYCTL_INVALIDATE 21
KEYCTL_GET_PERSISTENT 22
KEYCTL_DH_COMPUTE 23
+KEYCTL_RESTRICT_KEYRING 29
diff --git a/xlat/netlink_diag_attrs.h b/xlat/netlink_diag_attrs.h
new file mode 100644
index 00000000..5dcc736b
--- /dev/null
+++ b/xlat/netlink_diag_attrs.h
@@ -0,0 +1,19 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netlink_diag_attrs.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat netlink_diag_attrs in mpers mode
+
+#else
+
+static
+const struct xlat netlink_diag_attrs[] = {
+ XLAT(NETLINK_DIAG_MEMINFO),
+ XLAT(NETLINK_DIAG_GROUPS),
+ XLAT(NETLINK_DIAG_RX_RING),
+ XLAT(NETLINK_DIAG_TX_RING),
+ XLAT(NETLINK_DIAG_FLAGS),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/netlink_diag_attrs.in b/xlat/netlink_diag_attrs.in
new file mode 100644
index 00000000..41e9a7a5
--- /dev/null
+++ b/xlat/netlink_diag_attrs.in
@@ -0,0 +1,6 @@
+#unconditional
+NETLINK_DIAG_MEMINFO
+NETLINK_DIAG_GROUPS
+NETLINK_DIAG_RX_RING
+NETLINK_DIAG_TX_RING
+NETLINK_DIAG_FLAGS
diff --git a/xlat/netlink_diag_show.h b/xlat/netlink_diag_show.h
new file mode 100644
index 00000000..7d6f9be6
--- /dev/null
+++ b/xlat/netlink_diag_show.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netlink_diag_show.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat netlink_diag_show in mpers mode
+
+#else
+
+static
+const struct xlat netlink_diag_show[] = {
+#if defined(NDIAG_SHOW_MEMINFO) || (defined(HAVE_DECL_NDIAG_SHOW_MEMINFO) && HAVE_DECL_NDIAG_SHOW_MEMINFO)
+ XLAT(NDIAG_SHOW_MEMINFO),
+#endif
+#if defined(NDIAG_SHOW_GROUPS) || (defined(HAVE_DECL_NDIAG_SHOW_GROUPS) && HAVE_DECL_NDIAG_SHOW_GROUPS)
+ XLAT(NDIAG_SHOW_GROUPS),
+#endif
+#if defined(NDIAG_SHOW_RING_CFG) || (defined(HAVE_DECL_NDIAG_SHOW_RING_CFG) && HAVE_DECL_NDIAG_SHOW_RING_CFG)
+ XLAT(NDIAG_SHOW_RING_CFG),
+#endif
+#if defined(NDIAG_SHOW_FLAGS) || (defined(HAVE_DECL_NDIAG_SHOW_FLAGS) && HAVE_DECL_NDIAG_SHOW_FLAGS)
+ XLAT(NDIAG_SHOW_FLAGS),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/netlink_diag_show.in b/xlat/netlink_diag_show.in
new file mode 100644
index 00000000..eee9620e
--- /dev/null
+++ b/xlat/netlink_diag_show.in
@@ -0,0 +1,4 @@
+NDIAG_SHOW_MEMINFO
+NDIAG_SHOW_GROUPS
+NDIAG_SHOW_RING_CFG
+NDIAG_SHOW_FLAGS
diff --git a/xlat/netlink_get_flags.h b/xlat/netlink_get_flags.h
new file mode 100644
index 00000000..3a4631cc
--- /dev/null
+++ b/xlat/netlink_get_flags.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netlink_get_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat netlink_get_flags in mpers mode
+
+#else
+
+static
+const struct xlat netlink_get_flags[] = {
+#if defined(NLM_F_DUMP) || (defined(HAVE_DECL_NLM_F_DUMP) && HAVE_DECL_NLM_F_DUMP)
+ XLAT(NLM_F_DUMP),
+#endif
+#if defined(NLM_F_ROOT) || (defined(HAVE_DECL_NLM_F_ROOT) && HAVE_DECL_NLM_F_ROOT)
+ XLAT(NLM_F_ROOT),
+#endif
+#if defined(NLM_F_MATCH) || (defined(HAVE_DECL_NLM_F_MATCH) && HAVE_DECL_NLM_F_MATCH)
+ XLAT(NLM_F_MATCH),
+#endif
+#if defined(NLM_F_ATOMIC) || (defined(HAVE_DECL_NLM_F_ATOMIC) && HAVE_DECL_NLM_F_ATOMIC)
+ XLAT(NLM_F_ATOMIC),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/netlink_get_flags.in b/xlat/netlink_get_flags.in
new file mode 100644
index 00000000..96ab4a06
--- /dev/null
+++ b/xlat/netlink_get_flags.in
@@ -0,0 +1,4 @@
+NLM_F_DUMP
+NLM_F_ROOT
+NLM_F_MATCH
+NLM_F_ATOMIC
diff --git a/xlat/netlink_new_flags.h b/xlat/netlink_new_flags.h
new file mode 100644
index 00000000..61af6d50
--- /dev/null
+++ b/xlat/netlink_new_flags.h
@@ -0,0 +1,26 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netlink_new_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat netlink_new_flags in mpers mode
+
+#else
+
+static
+const struct xlat netlink_new_flags[] = {
+#if defined(NLM_F_REPLACE) || (defined(HAVE_DECL_NLM_F_REPLACE) && HAVE_DECL_NLM_F_REPLACE)
+ XLAT(NLM_F_REPLACE),
+#endif
+#if defined(NLM_F_EXCL) || (defined(HAVE_DECL_NLM_F_EXCL) && HAVE_DECL_NLM_F_EXCL)
+ XLAT(NLM_F_EXCL),
+#endif
+#if defined(NLM_F_CREATE) || (defined(HAVE_DECL_NLM_F_CREATE) && HAVE_DECL_NLM_F_CREATE)
+ XLAT(NLM_F_CREATE),
+#endif
+#if defined(NLM_F_APPEND) || (defined(HAVE_DECL_NLM_F_APPEND) && HAVE_DECL_NLM_F_APPEND)
+ XLAT(NLM_F_APPEND),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/netlink_new_flags.in b/xlat/netlink_new_flags.in
new file mode 100644
index 00000000..4ef2fea6
--- /dev/null
+++ b/xlat/netlink_new_flags.in
@@ -0,0 +1,4 @@
+NLM_F_REPLACE
+NLM_F_EXCL
+NLM_F_CREATE
+NLM_F_APPEND
diff --git a/xlat/netlink_socket_flags.h b/xlat/netlink_socket_flags.h
new file mode 100644
index 00000000..bd9a8309
--- /dev/null
+++ b/xlat/netlink_socket_flags.h
@@ -0,0 +1,32 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netlink_socket_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat netlink_socket_flags in mpers mode
+
+#else
+
+static
+const struct xlat netlink_socket_flags[] = {
+#if defined(NDIAG_FLAG_CB_RUNNING) || (defined(HAVE_DECL_NDIAG_FLAG_CB_RUNNING) && HAVE_DECL_NDIAG_FLAG_CB_RUNNING)
+ XLAT(NDIAG_FLAG_CB_RUNNING),
+#endif
+#if defined(NDIAG_FLAG_PKTINFO) || (defined(HAVE_DECL_NDIAG_FLAG_PKTINFO) && HAVE_DECL_NDIAG_FLAG_PKTINFO)
+ XLAT(NDIAG_FLAG_PKTINFO),
+#endif
+#if defined(NDIAG_FLAG_BROADCAST_ERROR) || (defined(HAVE_DECL_NDIAG_FLAG_BROADCAST_ERROR) && HAVE_DECL_NDIAG_FLAG_BROADCAST_ERROR)
+ XLAT(NDIAG_FLAG_BROADCAST_ERROR),
+#endif
+#if defined(NDIAG_FLAG_NO_ENOBUFS) || (defined(HAVE_DECL_NDIAG_FLAG_NO_ENOBUFS) && HAVE_DECL_NDIAG_FLAG_NO_ENOBUFS)
+ XLAT(NDIAG_FLAG_NO_ENOBUFS),
+#endif
+#if defined(NDIAG_FLAG_LISTEN_ALL_NSID) || (defined(HAVE_DECL_NDIAG_FLAG_LISTEN_ALL_NSID) && HAVE_DECL_NDIAG_FLAG_LISTEN_ALL_NSID)
+ XLAT(NDIAG_FLAG_LISTEN_ALL_NSID),
+#endif
+#if defined(NDIAG_FLAG_CAP_ACK) || (defined(HAVE_DECL_NDIAG_FLAG_CAP_ACK) && HAVE_DECL_NDIAG_FLAG_CAP_ACK)
+ XLAT(NDIAG_FLAG_CAP_ACK),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/netlink_socket_flags.in b/xlat/netlink_socket_flags.in
new file mode 100644
index 00000000..f36e35c6
--- /dev/null
+++ b/xlat/netlink_socket_flags.in
@@ -0,0 +1,6 @@
+NDIAG_FLAG_CB_RUNNING
+NDIAG_FLAG_PKTINFO
+NDIAG_FLAG_BROADCAST_ERROR
+NDIAG_FLAG_NO_ENOBUFS
+NDIAG_FLAG_LISTEN_ALL_NSID
+NDIAG_FLAG_CAP_ACK
diff --git a/xlat/netlink_states.h b/xlat/netlink_states.h
new file mode 100644
index 00000000..600b52f0
--- /dev/null
+++ b/xlat/netlink_states.h
@@ -0,0 +1,22 @@
+/* Generated by ./xlat/gen.sh from ./xlat/netlink_states.in; do not edit. */
+#if !(defined(NETLINK_UNCONNECTED) || (defined(HAVE_DECL_NETLINK_UNCONNECTED) && HAVE_DECL_NETLINK_UNCONNECTED))
+# define NETLINK_UNCONNECTED 0
+#endif
+#if !(defined(NETLINK_CONNECTED) || (defined(HAVE_DECL_NETLINK_CONNECTED) && HAVE_DECL_NETLINK_CONNECTED))
+# define NETLINK_CONNECTED 1
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat netlink_states in mpers mode
+
+#else
+
+static
+const struct xlat netlink_states[] = {
+ XLAT(NETLINK_UNCONNECTED),
+ XLAT(NETLINK_CONNECTED),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/netlink_states.in b/xlat/netlink_states.in
new file mode 100644
index 00000000..4d4aee7e
--- /dev/null
+++ b/xlat/netlink_states.in
@@ -0,0 +1,2 @@
+NETLINK_UNCONNECTED 0
+NETLINK_CONNECTED 1
diff --git a/xlat/nl_audit_types.h b/xlat/nl_audit_types.h
new file mode 100644
index 00000000..37f658a6
--- /dev/null
+++ b/xlat/nl_audit_types.h
@@ -0,0 +1,382 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nl_audit_types.in; do not edit. */
+#if !(defined(AUDIT_GET) || (defined(HAVE_DECL_AUDIT_GET) && HAVE_DECL_AUDIT_GET))
+# define AUDIT_GET 1000
+#endif
+#if !(defined(AUDIT_SET) || (defined(HAVE_DECL_AUDIT_SET) && HAVE_DECL_AUDIT_SET))
+# define AUDIT_SET 1001
+#endif
+#if !(defined(AUDIT_LIST) || (defined(HAVE_DECL_AUDIT_LIST) && HAVE_DECL_AUDIT_LIST))
+# define AUDIT_LIST 1002
+#endif
+#if !(defined(AUDIT_ADD) || (defined(HAVE_DECL_AUDIT_ADD) && HAVE_DECL_AUDIT_ADD))
+# define AUDIT_ADD 1003
+#endif
+#if !(defined(AUDIT_DEL) || (defined(HAVE_DECL_AUDIT_DEL) && HAVE_DECL_AUDIT_DEL))
+# define AUDIT_DEL 1004
+#endif
+#if !(defined(AUDIT_USER) || (defined(HAVE_DECL_AUDIT_USER) && HAVE_DECL_AUDIT_USER))
+# define AUDIT_USER 1005
+#endif
+#if !(defined(AUDIT_LOGIN) || (defined(HAVE_DECL_AUDIT_LOGIN) && HAVE_DECL_AUDIT_LOGIN))
+# define AUDIT_LOGIN 1006
+#endif
+#if !(defined(AUDIT_WATCH_INS) || (defined(HAVE_DECL_AUDIT_WATCH_INS) && HAVE_DECL_AUDIT_WATCH_INS))
+# define AUDIT_WATCH_INS 1007
+#endif
+#if !(defined(AUDIT_WATCH_REM) || (defined(HAVE_DECL_AUDIT_WATCH_REM) && HAVE_DECL_AUDIT_WATCH_REM))
+# define AUDIT_WATCH_REM 1008
+#endif
+#if !(defined(AUDIT_WATCH_LIST) || (defined(HAVE_DECL_AUDIT_WATCH_LIST) && HAVE_DECL_AUDIT_WATCH_LIST))
+# define AUDIT_WATCH_LIST 1009
+#endif
+#if !(defined(AUDIT_SIGNAL_INFO) || (defined(HAVE_DECL_AUDIT_SIGNAL_INFO) && HAVE_DECL_AUDIT_SIGNAL_INFO))
+# define AUDIT_SIGNAL_INFO 1010
+#endif
+#if !(defined(AUDIT_ADD_RULE) || (defined(HAVE_DECL_AUDIT_ADD_RULE) && HAVE_DECL_AUDIT_ADD_RULE))
+# define AUDIT_ADD_RULE 1011
+#endif
+#if !(defined(AUDIT_DEL_RULE) || (defined(HAVE_DECL_AUDIT_DEL_RULE) && HAVE_DECL_AUDIT_DEL_RULE))
+# define AUDIT_DEL_RULE 1012
+#endif
+#if !(defined(AUDIT_LIST_RULES) || (defined(HAVE_DECL_AUDIT_LIST_RULES) && HAVE_DECL_AUDIT_LIST_RULES))
+# define AUDIT_LIST_RULES 1013
+#endif
+#if !(defined(AUDIT_TRIM) || (defined(HAVE_DECL_AUDIT_TRIM) && HAVE_DECL_AUDIT_TRIM))
+# define AUDIT_TRIM 1014
+#endif
+#if !(defined(AUDIT_MAKE_EQUIV) || (defined(HAVE_DECL_AUDIT_MAKE_EQUIV) && HAVE_DECL_AUDIT_MAKE_EQUIV))
+# define AUDIT_MAKE_EQUIV 1015
+#endif
+#if !(defined(AUDIT_TTY_GET) || (defined(HAVE_DECL_AUDIT_TTY_GET) && HAVE_DECL_AUDIT_TTY_GET))
+# define AUDIT_TTY_GET 1016
+#endif
+#if !(defined(AUDIT_TTY_SET) || (defined(HAVE_DECL_AUDIT_TTY_SET) && HAVE_DECL_AUDIT_TTY_SET))
+# define AUDIT_TTY_SET 1017
+#endif
+#if !(defined(AUDIT_SET_FEATURE) || (defined(HAVE_DECL_AUDIT_SET_FEATURE) && HAVE_DECL_AUDIT_SET_FEATURE))
+# define AUDIT_SET_FEATURE 1018
+#endif
+#if !(defined(AUDIT_GET_FEATURE) || (defined(HAVE_DECL_AUDIT_GET_FEATURE) && HAVE_DECL_AUDIT_GET_FEATURE))
+# define AUDIT_GET_FEATURE 1019
+#endif
+#if !(defined(AUDIT_FIRST_USER_MSG) || (defined(HAVE_DECL_AUDIT_FIRST_USER_MSG) && HAVE_DECL_AUDIT_FIRST_USER_MSG))
+# define AUDIT_FIRST_USER_MSG 1100
+#endif
+#if !(defined(AUDIT_USER_AVC) || (defined(HAVE_DECL_AUDIT_USER_AVC) && HAVE_DECL_AUDIT_USER_AVC))
+# define AUDIT_USER_AVC 1107
+#endif
+#if !(defined(AUDIT_USER_TTY) || (defined(HAVE_DECL_AUDIT_USER_TTY) && HAVE_DECL_AUDIT_USER_TTY))
+# define AUDIT_USER_TTY 1124
+#endif
+#if !(defined(AUDIT_LAST_USER_MSG) || (defined(HAVE_DECL_AUDIT_LAST_USER_MSG) && HAVE_DECL_AUDIT_LAST_USER_MSG))
+# define AUDIT_LAST_USER_MSG 1199
+#endif
+#if !(defined(AUDIT_DAEMON_START) || (defined(HAVE_DECL_AUDIT_DAEMON_START) && HAVE_DECL_AUDIT_DAEMON_START))
+# define AUDIT_DAEMON_START 1200
+#endif
+#if !(defined(AUDIT_DAEMON_END) || (defined(HAVE_DECL_AUDIT_DAEMON_END) && HAVE_DECL_AUDIT_DAEMON_END))
+# define AUDIT_DAEMON_END 1201
+#endif
+#if !(defined(AUDIT_DAEMON_ABORT) || (defined(HAVE_DECL_AUDIT_DAEMON_ABORT) && HAVE_DECL_AUDIT_DAEMON_ABORT))
+# define AUDIT_DAEMON_ABORT 1202
+#endif
+#if !(defined(AUDIT_DAEMON_CONFIG) || (defined(HAVE_DECL_AUDIT_DAEMON_CONFIG) && HAVE_DECL_AUDIT_DAEMON_CONFIG))
+# define AUDIT_DAEMON_CONFIG 1203
+#endif
+#if !(defined(AUDIT_SYSCALL) || (defined(HAVE_DECL_AUDIT_SYSCALL) && HAVE_DECL_AUDIT_SYSCALL))
+# define AUDIT_SYSCALL 1300
+#endif
+#if !(defined(AUDIT_FS_WATCH) || (defined(HAVE_DECL_AUDIT_FS_WATCH) && HAVE_DECL_AUDIT_FS_WATCH))
+# define AUDIT_FS_WATCH 1301
+#endif
+#if !(defined(AUDIT_PATH) || (defined(HAVE_DECL_AUDIT_PATH) && HAVE_DECL_AUDIT_PATH))
+# define AUDIT_PATH 1302
+#endif
+#if !(defined(AUDIT_IPC) || (defined(HAVE_DECL_AUDIT_IPC) && HAVE_DECL_AUDIT_IPC))
+# define AUDIT_IPC 1303
+#endif
+#if !(defined(AUDIT_SOCKETCALL) || (defined(HAVE_DECL_AUDIT_SOCKETCALL) && HAVE_DECL_AUDIT_SOCKETCALL))
+# define AUDIT_SOCKETCALL 1304
+#endif
+#if !(defined(AUDIT_CONFIG_CHANGE) || (defined(HAVE_DECL_AUDIT_CONFIG_CHANGE) && HAVE_DECL_AUDIT_CONFIG_CHANGE))
+# define AUDIT_CONFIG_CHANGE 1305
+#endif
+#if !(defined(AUDIT_SOCKADDR) || (defined(HAVE_DECL_AUDIT_SOCKADDR) && HAVE_DECL_AUDIT_SOCKADDR))
+# define AUDIT_SOCKADDR 1306
+#endif
+#if !(defined(AUDIT_CWD) || (defined(HAVE_DECL_AUDIT_CWD) && HAVE_DECL_AUDIT_CWD))
+# define AUDIT_CWD 1307
+#endif
+#if !(defined(AUDIT_EXECVE) || (defined(HAVE_DECL_AUDIT_EXECVE) && HAVE_DECL_AUDIT_EXECVE))
+# define AUDIT_EXECVE 1309
+#endif
+#if !(defined(AUDIT_IPC_SET_PERM) || (defined(HAVE_DECL_AUDIT_IPC_SET_PERM) && HAVE_DECL_AUDIT_IPC_SET_PERM))
+# define AUDIT_IPC_SET_PERM 1311
+#endif
+#if !(defined(AUDIT_MQ_OPEN) || (defined(HAVE_DECL_AUDIT_MQ_OPEN) && HAVE_DECL_AUDIT_MQ_OPEN))
+# define AUDIT_MQ_OPEN 1312
+#endif
+#if !(defined(AUDIT_MQ_SENDRECV) || (defined(HAVE_DECL_AUDIT_MQ_SENDRECV) && HAVE_DECL_AUDIT_MQ_SENDRECV))
+# define AUDIT_MQ_SENDRECV 1313
+#endif
+#if !(defined(AUDIT_MQ_NOTIFY) || (defined(HAVE_DECL_AUDIT_MQ_NOTIFY) && HAVE_DECL_AUDIT_MQ_NOTIFY))
+# define AUDIT_MQ_NOTIFY 1314
+#endif
+#if !(defined(AUDIT_MQ_GETSETATTR) || (defined(HAVE_DECL_AUDIT_MQ_GETSETATTR) && HAVE_DECL_AUDIT_MQ_GETSETATTR))
+# define AUDIT_MQ_GETSETATTR 1315
+#endif
+#if !(defined(AUDIT_KERNEL_OTHER) || (defined(HAVE_DECL_AUDIT_KERNEL_OTHER) && HAVE_DECL_AUDIT_KERNEL_OTHER))
+# define AUDIT_KERNEL_OTHER 1316
+#endif
+#if !(defined(AUDIT_FD_PAIR) || (defined(HAVE_DECL_AUDIT_FD_PAIR) && HAVE_DECL_AUDIT_FD_PAIR))
+# define AUDIT_FD_PAIR 1317
+#endif
+#if !(defined(AUDIT_OBJ_PID) || (defined(HAVE_DECL_AUDIT_OBJ_PID) && HAVE_DECL_AUDIT_OBJ_PID))
+# define AUDIT_OBJ_PID 1318
+#endif
+#if !(defined(AUDIT_TTY) || (defined(HAVE_DECL_AUDIT_TTY) && HAVE_DECL_AUDIT_TTY))
+# define AUDIT_TTY 1319
+#endif
+#if !(defined(AUDIT_EOE) || (defined(HAVE_DECL_AUDIT_EOE) && HAVE_DECL_AUDIT_EOE))
+# define AUDIT_EOE 1320
+#endif
+#if !(defined(AUDIT_BPRM_FCAPS) || (defined(HAVE_DECL_AUDIT_BPRM_FCAPS) && HAVE_DECL_AUDIT_BPRM_FCAPS))
+# define AUDIT_BPRM_FCAPS 1321
+#endif
+#if !(defined(AUDIT_CAPSET) || (defined(HAVE_DECL_AUDIT_CAPSET) && HAVE_DECL_AUDIT_CAPSET))
+# define AUDIT_CAPSET 1322
+#endif
+#if !(defined(AUDIT_MMAP) || (defined(HAVE_DECL_AUDIT_MMAP) && HAVE_DECL_AUDIT_MMAP))
+# define AUDIT_MMAP 1323
+#endif
+#if !(defined(AUDIT_NETFILTER_PKT) || (defined(HAVE_DECL_AUDIT_NETFILTER_PKT) && HAVE_DECL_AUDIT_NETFILTER_PKT))
+# define AUDIT_NETFILTER_PKT 1324
+#endif
+#if !(defined(AUDIT_NETFILTER_CFG) || (defined(HAVE_DECL_AUDIT_NETFILTER_CFG) && HAVE_DECL_AUDIT_NETFILTER_CFG))
+# define AUDIT_NETFILTER_CFG 1325
+#endif
+#if !(defined(AUDIT_SECCOMP) || (defined(HAVE_DECL_AUDIT_SECCOMP) && HAVE_DECL_AUDIT_SECCOMP))
+# define AUDIT_SECCOMP 1326
+#endif
+#if !(defined(AUDIT_PROCTITLE) || (defined(HAVE_DECL_AUDIT_PROCTITLE) && HAVE_DECL_AUDIT_PROCTITLE))
+# define AUDIT_PROCTITLE 1327
+#endif
+#if !(defined(AUDIT_FEATURE_CHANGE) || (defined(HAVE_DECL_AUDIT_FEATURE_CHANGE) && HAVE_DECL_AUDIT_FEATURE_CHANGE))
+# define AUDIT_FEATURE_CHANGE 1328
+#endif
+#if !(defined(AUDIT_REPLACE) || (defined(HAVE_DECL_AUDIT_REPLACE) && HAVE_DECL_AUDIT_REPLACE))
+# define AUDIT_REPLACE 1329
+#endif
+#if !(defined(AUDIT_KERN_MODULE) || (defined(HAVE_DECL_AUDIT_KERN_MODULE) && HAVE_DECL_AUDIT_KERN_MODULE))
+# define AUDIT_KERN_MODULE 1330
+#endif
+#if !(defined(AUDIT_AVC) || (defined(HAVE_DECL_AUDIT_AVC) && HAVE_DECL_AUDIT_AVC))
+# define AUDIT_AVC 1400
+#endif
+#if !(defined(AUDIT_SELINUX_ERR) || (defined(HAVE_DECL_AUDIT_SELINUX_ERR) && HAVE_DECL_AUDIT_SELINUX_ERR))
+# define AUDIT_SELINUX_ERR 1401
+#endif
+#if !(defined(AUDIT_AVC_PATH) || (defined(HAVE_DECL_AUDIT_AVC_PATH) && HAVE_DECL_AUDIT_AVC_PATH))
+# define AUDIT_AVC_PATH 1402
+#endif
+#if !(defined(AUDIT_MAC_POLICY_LOAD) || (defined(HAVE_DECL_AUDIT_MAC_POLICY_LOAD) && HAVE_DECL_AUDIT_MAC_POLICY_LOAD))
+# define AUDIT_MAC_POLICY_LOAD 1403
+#endif
+#if !(defined(AUDIT_MAC_STATUS) || (defined(HAVE_DECL_AUDIT_MAC_STATUS) && HAVE_DECL_AUDIT_MAC_STATUS))
+# define AUDIT_MAC_STATUS 1404
+#endif
+#if !(defined(AUDIT_MAC_CONFIG_CHANGE) || (defined(HAVE_DECL_AUDIT_MAC_CONFIG_CHANGE) && HAVE_DECL_AUDIT_MAC_CONFIG_CHANGE))
+# define AUDIT_MAC_CONFIG_CHANGE 1405
+#endif
+#if !(defined(AUDIT_MAC_UNLBL_ALLOW) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_ALLOW) && HAVE_DECL_AUDIT_MAC_UNLBL_ALLOW))
+# define AUDIT_MAC_UNLBL_ALLOW 1406
+#endif
+#if !(defined(AUDIT_MAC_CIPSOV4_ADD) || (defined(HAVE_DECL_AUDIT_MAC_CIPSOV4_ADD) && HAVE_DECL_AUDIT_MAC_CIPSOV4_ADD))
+# define AUDIT_MAC_CIPSOV4_ADD 1407
+#endif
+#if !(defined(AUDIT_MAC_CIPSOV4_DEL) || (defined(HAVE_DECL_AUDIT_MAC_CIPSOV4_DEL) && HAVE_DECL_AUDIT_MAC_CIPSOV4_DEL))
+# define AUDIT_MAC_CIPSOV4_DEL 1408
+#endif
+#if !(defined(AUDIT_MAC_MAP_ADD) || (defined(HAVE_DECL_AUDIT_MAC_MAP_ADD) && HAVE_DECL_AUDIT_MAC_MAP_ADD))
+# define AUDIT_MAC_MAP_ADD 1409
+#endif
+#if !(defined(AUDIT_MAC_MAP_DEL) || (defined(HAVE_DECL_AUDIT_MAC_MAP_DEL) && HAVE_DECL_AUDIT_MAC_MAP_DEL))
+# define AUDIT_MAC_MAP_DEL 1410
+#endif
+#if !(defined(AUDIT_MAC_IPSEC_ADDSA) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_ADDSA) && HAVE_DECL_AUDIT_MAC_IPSEC_ADDSA))
+# define AUDIT_MAC_IPSEC_ADDSA 1411
+#endif
+#if !(defined(AUDIT_MAC_IPSEC_DELSA) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_DELSA) && HAVE_DECL_AUDIT_MAC_IPSEC_DELSA))
+# define AUDIT_MAC_IPSEC_DELSA 1412
+#endif
+#if !(defined(AUDIT_MAC_IPSEC_ADDSPD) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_ADDSPD) && HAVE_DECL_AUDIT_MAC_IPSEC_ADDSPD))
+# define AUDIT_MAC_IPSEC_ADDSPD 1413
+#endif
+#if !(defined(AUDIT_MAC_IPSEC_DELSPD) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_DELSPD) && HAVE_DECL_AUDIT_MAC_IPSEC_DELSPD))
+# define AUDIT_MAC_IPSEC_DELSPD 1414
+#endif
+#if !(defined(AUDIT_MAC_IPSEC_EVENT) || (defined(HAVE_DECL_AUDIT_MAC_IPSEC_EVENT) && HAVE_DECL_AUDIT_MAC_IPSEC_EVENT))
+# define AUDIT_MAC_IPSEC_EVENT 1415
+#endif
+#if !(defined(AUDIT_MAC_UNLBL_STCADD) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_STCADD) && HAVE_DECL_AUDIT_MAC_UNLBL_STCADD))
+# define AUDIT_MAC_UNLBL_STCADD 1416
+#endif
+#if !(defined(AUDIT_MAC_UNLBL_STCDEL) || (defined(HAVE_DECL_AUDIT_MAC_UNLBL_STCDEL) && HAVE_DECL_AUDIT_MAC_UNLBL_STCDEL))
+# define AUDIT_MAC_UNLBL_STCDEL 1417
+#endif
+#if !(defined(AUDIT_MAC_CALIPSO_ADD) || (defined(HAVE_DECL_AUDIT_MAC_CALIPSO_ADD) && HAVE_DECL_AUDIT_MAC_CALIPSO_ADD))
+# define AUDIT_MAC_CALIPSO_ADD 1418
+#endif
+#if !(defined(AUDIT_MAC_CALIPSO_DEL) || (defined(HAVE_DECL_AUDIT_MAC_CALIPSO_DEL) && HAVE_DECL_AUDIT_MAC_CALIPSO_DEL))
+# define AUDIT_MAC_CALIPSO_DEL 1419
+#endif
+#if !(defined(AUDIT_ANOM_PROMISCUOUS) || (defined(HAVE_DECL_AUDIT_ANOM_PROMISCUOUS) && HAVE_DECL_AUDIT_ANOM_PROMISCUOUS))
+# define AUDIT_ANOM_PROMISCUOUS 1700
+#endif
+#if !(defined(AUDIT_ANOM_ABEND) || (defined(HAVE_DECL_AUDIT_ANOM_ABEND) && HAVE_DECL_AUDIT_ANOM_ABEND))
+# define AUDIT_ANOM_ABEND 1701
+#endif
+#if !(defined(AUDIT_ANOM_LINK) || (defined(HAVE_DECL_AUDIT_ANOM_LINK) && HAVE_DECL_AUDIT_ANOM_LINK))
+# define AUDIT_ANOM_LINK 1702
+#endif
+#if !(defined(AUDIT_LAST_KERN_ANOM_MSG) || (defined(HAVE_DECL_AUDIT_LAST_KERN_ANOM_MSG) && HAVE_DECL_AUDIT_LAST_KERN_ANOM_MSG))
+# define AUDIT_LAST_KERN_ANOM_MSG 1799
+#endif
+#if !(defined(AUDIT_INTEGRITY_DATA) || (defined(HAVE_DECL_AUDIT_INTEGRITY_DATA) && HAVE_DECL_AUDIT_INTEGRITY_DATA))
+# define AUDIT_INTEGRITY_DATA 1800
+#endif
+#if !(defined(AUDIT_INTEGRITY_METADATA) || (defined(HAVE_DECL_AUDIT_INTEGRITY_METADATA) && HAVE_DECL_AUDIT_INTEGRITY_METADATA))
+# define AUDIT_INTEGRITY_METADATA 1801
+#endif
+#if !(defined(AUDIT_INTEGRITY_STATUS) || (defined(HAVE_DECL_AUDIT_INTEGRITY_STATUS) && HAVE_DECL_AUDIT_INTEGRITY_STATUS))
+# define AUDIT_INTEGRITY_STATUS 1802
+#endif
+#if !(defined(AUDIT_INTEGRITY_HASH) || (defined(HAVE_DECL_AUDIT_INTEGRITY_HASH) && HAVE_DECL_AUDIT_INTEGRITY_HASH))
+# define AUDIT_INTEGRITY_HASH 1803
+#endif
+#if !(defined(AUDIT_INTEGRITY_PCR) || (defined(HAVE_DECL_AUDIT_INTEGRITY_PCR) && HAVE_DECL_AUDIT_INTEGRITY_PCR))
+# define AUDIT_INTEGRITY_PCR 1804
+#endif
+#if !(defined(AUDIT_INTEGRITY_RULE) || (defined(HAVE_DECL_AUDIT_INTEGRITY_RULE) && HAVE_DECL_AUDIT_INTEGRITY_RULE))
+# define AUDIT_INTEGRITY_RULE 1805
+#endif
+#if !(defined(AUDIT_KERNEL) || (defined(HAVE_DECL_AUDIT_KERNEL) && HAVE_DECL_AUDIT_KERNEL))
+# define AUDIT_KERNEL 2000
+#endif
+#if !(defined(AUDIT_FIRST_USER_MSG2) || (defined(HAVE_DECL_AUDIT_FIRST_USER_MSG2) && HAVE_DECL_AUDIT_FIRST_USER_MSG2))
+# define AUDIT_FIRST_USER_MSG2 2100
+#endif
+#if !(defined(AUDIT_LAST_USER_MSG2) || (defined(HAVE_DECL_AUDIT_LAST_USER_MSG2) && HAVE_DECL_AUDIT_LAST_USER_MSG2))
+# define AUDIT_LAST_USER_MSG2 2999
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat nl_audit_types in mpers mode
+
+#else
+
+static
+const struct xlat nl_audit_types[] = {
+ XLAT(AUDIT_GET),
+ XLAT(AUDIT_SET),
+ XLAT(AUDIT_LIST),
+ XLAT(AUDIT_ADD),
+ XLAT(AUDIT_DEL),
+ XLAT(AUDIT_USER),
+ XLAT(AUDIT_LOGIN),
+ XLAT(AUDIT_WATCH_INS),
+ XLAT(AUDIT_WATCH_REM),
+ XLAT(AUDIT_WATCH_LIST),
+ XLAT(AUDIT_SIGNAL_INFO),
+ XLAT(AUDIT_ADD_RULE),
+ XLAT(AUDIT_DEL_RULE),
+ XLAT(AUDIT_LIST_RULES),
+ XLAT(AUDIT_TRIM),
+ XLAT(AUDIT_MAKE_EQUIV),
+ XLAT(AUDIT_TTY_GET),
+ XLAT(AUDIT_TTY_SET),
+ XLAT(AUDIT_SET_FEATURE),
+ XLAT(AUDIT_GET_FEATURE),
+
+ XLAT(AUDIT_FIRST_USER_MSG),
+ XLAT(AUDIT_USER_AVC),
+ XLAT(AUDIT_USER_TTY),
+ XLAT(AUDIT_LAST_USER_MSG),
+
+ XLAT(AUDIT_DAEMON_START),
+ XLAT(AUDIT_DAEMON_END),
+ XLAT(AUDIT_DAEMON_ABORT),
+ XLAT(AUDIT_DAEMON_CONFIG),
+
+ XLAT(AUDIT_SYSCALL),
+ XLAT(AUDIT_FS_WATCH),
+ XLAT(AUDIT_PATH),
+ XLAT(AUDIT_IPC),
+ XLAT(AUDIT_SOCKETCALL),
+ XLAT(AUDIT_CONFIG_CHANGE),
+ XLAT(AUDIT_SOCKADDR),
+ XLAT(AUDIT_CWD),
+ XLAT(AUDIT_EXECVE),
+ XLAT(AUDIT_IPC_SET_PERM),
+ XLAT(AUDIT_MQ_OPEN),
+ XLAT(AUDIT_MQ_SENDRECV),
+ XLAT(AUDIT_MQ_NOTIFY),
+ XLAT(AUDIT_MQ_GETSETATTR),
+ XLAT(AUDIT_KERNEL_OTHER),
+ XLAT(AUDIT_FD_PAIR),
+ XLAT(AUDIT_OBJ_PID),
+ XLAT(AUDIT_TTY),
+ XLAT(AUDIT_EOE),
+ XLAT(AUDIT_BPRM_FCAPS),
+ XLAT(AUDIT_CAPSET),
+ XLAT(AUDIT_MMAP),
+ XLAT(AUDIT_NETFILTER_PKT),
+ XLAT(AUDIT_NETFILTER_CFG),
+ XLAT(AUDIT_SECCOMP),
+ XLAT(AUDIT_PROCTITLE),
+ XLAT(AUDIT_FEATURE_CHANGE),
+ XLAT(AUDIT_REPLACE),
+ XLAT(AUDIT_KERN_MODULE),
+
+ XLAT(AUDIT_AVC),
+ XLAT(AUDIT_SELINUX_ERR),
+ XLAT(AUDIT_AVC_PATH),
+ XLAT(AUDIT_MAC_POLICY_LOAD),
+ XLAT(AUDIT_MAC_STATUS),
+ XLAT(AUDIT_MAC_CONFIG_CHANGE),
+ XLAT(AUDIT_MAC_UNLBL_ALLOW),
+ XLAT(AUDIT_MAC_CIPSOV4_ADD),
+ XLAT(AUDIT_MAC_CIPSOV4_DEL),
+ XLAT(AUDIT_MAC_MAP_ADD),
+ XLAT(AUDIT_MAC_MAP_DEL),
+ XLAT(AUDIT_MAC_IPSEC_ADDSA),
+ XLAT(AUDIT_MAC_IPSEC_DELSA),
+ XLAT(AUDIT_MAC_IPSEC_ADDSPD),
+ XLAT(AUDIT_MAC_IPSEC_DELSPD),
+ XLAT(AUDIT_MAC_IPSEC_EVENT),
+ XLAT(AUDIT_MAC_UNLBL_STCADD),
+ XLAT(AUDIT_MAC_UNLBL_STCDEL),
+ XLAT(AUDIT_MAC_CALIPSO_ADD),
+ XLAT(AUDIT_MAC_CALIPSO_DEL),
+
+ XLAT(AUDIT_ANOM_PROMISCUOUS),
+ XLAT(AUDIT_ANOM_ABEND),
+ XLAT(AUDIT_ANOM_LINK),
+ XLAT(AUDIT_LAST_KERN_ANOM_MSG),
+
+ XLAT(AUDIT_INTEGRITY_DATA),
+ XLAT(AUDIT_INTEGRITY_METADATA),
+ XLAT(AUDIT_INTEGRITY_STATUS),
+ XLAT(AUDIT_INTEGRITY_HASH),
+ XLAT(AUDIT_INTEGRITY_PCR),
+ XLAT(AUDIT_INTEGRITY_RULE),
+
+ XLAT(AUDIT_KERNEL),
+
+ XLAT(AUDIT_FIRST_USER_MSG2),
+ XLAT(AUDIT_LAST_USER_MSG2),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/nl_audit_types.in b/xlat/nl_audit_types.in
new file mode 100644
index 00000000..8b52010e
--- /dev/null
+++ b/xlat/nl_audit_types.in
@@ -0,0 +1,98 @@
+AUDIT_GET 1000
+AUDIT_SET 1001
+AUDIT_LIST 1002
+AUDIT_ADD 1003
+AUDIT_DEL 1004
+AUDIT_USER 1005
+AUDIT_LOGIN 1006
+AUDIT_WATCH_INS 1007
+AUDIT_WATCH_REM 1008
+AUDIT_WATCH_LIST 1009
+AUDIT_SIGNAL_INFO 1010
+AUDIT_ADD_RULE 1011
+AUDIT_DEL_RULE 1012
+AUDIT_LIST_RULES 1013
+AUDIT_TRIM 1014
+AUDIT_MAKE_EQUIV 1015
+AUDIT_TTY_GET 1016
+AUDIT_TTY_SET 1017
+AUDIT_SET_FEATURE 1018
+AUDIT_GET_FEATURE 1019
+
+AUDIT_FIRST_USER_MSG 1100
+AUDIT_USER_AVC 1107
+AUDIT_USER_TTY 1124
+AUDIT_LAST_USER_MSG 1199
+
+AUDIT_DAEMON_START 1200
+AUDIT_DAEMON_END 1201
+AUDIT_DAEMON_ABORT 1202
+AUDIT_DAEMON_CONFIG 1203
+
+AUDIT_SYSCALL 1300
+AUDIT_FS_WATCH 1301
+AUDIT_PATH 1302
+AUDIT_IPC 1303
+AUDIT_SOCKETCALL 1304
+AUDIT_CONFIG_CHANGE 1305
+AUDIT_SOCKADDR 1306
+AUDIT_CWD 1307
+AUDIT_EXECVE 1309
+AUDIT_IPC_SET_PERM 1311
+AUDIT_MQ_OPEN 1312
+AUDIT_MQ_SENDRECV 1313
+AUDIT_MQ_NOTIFY 1314
+AUDIT_MQ_GETSETATTR 1315
+AUDIT_KERNEL_OTHER 1316
+AUDIT_FD_PAIR 1317
+AUDIT_OBJ_PID 1318
+AUDIT_TTY 1319
+AUDIT_EOE 1320
+AUDIT_BPRM_FCAPS 1321
+AUDIT_CAPSET 1322
+AUDIT_MMAP 1323
+AUDIT_NETFILTER_PKT 1324
+AUDIT_NETFILTER_CFG 1325
+AUDIT_SECCOMP 1326
+AUDIT_PROCTITLE 1327
+AUDIT_FEATURE_CHANGE 1328
+AUDIT_REPLACE 1329
+AUDIT_KERN_MODULE 1330
+
+AUDIT_AVC 1400
+AUDIT_SELINUX_ERR 1401
+AUDIT_AVC_PATH 1402
+AUDIT_MAC_POLICY_LOAD 1403
+AUDIT_MAC_STATUS 1404
+AUDIT_MAC_CONFIG_CHANGE 1405
+AUDIT_MAC_UNLBL_ALLOW 1406
+AUDIT_MAC_CIPSOV4_ADD 1407
+AUDIT_MAC_CIPSOV4_DEL 1408
+AUDIT_MAC_MAP_ADD 1409
+AUDIT_MAC_MAP_DEL 1410
+AUDIT_MAC_IPSEC_ADDSA 1411
+AUDIT_MAC_IPSEC_DELSA 1412
+AUDIT_MAC_IPSEC_ADDSPD 1413
+AUDIT_MAC_IPSEC_DELSPD 1414
+AUDIT_MAC_IPSEC_EVENT 1415
+AUDIT_MAC_UNLBL_STCADD 1416
+AUDIT_MAC_UNLBL_STCDEL 1417
+AUDIT_MAC_CALIPSO_ADD 1418
+AUDIT_MAC_CALIPSO_DEL 1419
+
+AUDIT_ANOM_PROMISCUOUS 1700
+AUDIT_ANOM_ABEND 1701
+AUDIT_ANOM_LINK 1702
+AUDIT_LAST_KERN_ANOM_MSG 1799
+
+AUDIT_INTEGRITY_DATA 1800
+AUDIT_INTEGRITY_METADATA 1801
+AUDIT_INTEGRITY_STATUS 1802
+AUDIT_INTEGRITY_HASH 1803
+AUDIT_INTEGRITY_PCR 1804
+AUDIT_INTEGRITY_RULE 1805
+
+AUDIT_KERNEL 2000
+
+AUDIT_FIRST_USER_MSG2 2100
+AUDIT_LAST_USER_MSG2 2999
diff --git a/xlat/nl_netfilter_msg_types.h b/xlat/nl_netfilter_msg_types.h
new file mode 100644
index 00000000..ecc8e10a
--- /dev/null
+++ b/xlat/nl_netfilter_msg_types.h
@@ -0,0 +1,22 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nl_netfilter_msg_types.in; do not edit. */
+#if !(defined(NFNL_MSG_BATCH_BEGIN) || (defined(HAVE_DECL_NFNL_MSG_BATCH_BEGIN) && HAVE_DECL_NFNL_MSG_BATCH_BEGIN))
+# define NFNL_MSG_BATCH_BEGIN 0x10
+#endif
+#if !(defined(NFNL_MSG_BATCH_END) || (defined(HAVE_DECL_NFNL_MSG_BATCH_END) && HAVE_DECL_NFNL_MSG_BATCH_END))
+# define NFNL_MSG_BATCH_END 0x11
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat nl_netfilter_msg_types in mpers mode
+
+#else
+
+static
+const struct xlat nl_netfilter_msg_types[] = {
+ XLAT(NFNL_MSG_BATCH_BEGIN),
+ XLAT(NFNL_MSG_BATCH_END),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/nl_netfilter_msg_types.in b/xlat/nl_netfilter_msg_types.in
new file mode 100644
index 00000000..dd13207e
--- /dev/null
+++ b/xlat/nl_netfilter_msg_types.in
@@ -0,0 +1,2 @@
+NFNL_MSG_BATCH_BEGIN 0x10
+NFNL_MSG_BATCH_END 0x11
diff --git a/xlat/nl_netfilter_subsys_ids.h b/xlat/nl_netfilter_subsys_ids.h
new file mode 100644
index 00000000..73b8cd4d
--- /dev/null
+++ b/xlat/nl_netfilter_subsys_ids.h
@@ -0,0 +1,66 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nl_netfilter_subsys_ids.in; do not edit. */
+#if !(defined(NFNL_SUBSYS_NONE) || (defined(HAVE_DECL_NFNL_SUBSYS_NONE) && HAVE_DECL_NFNL_SUBSYS_NONE))
+# define NFNL_SUBSYS_NONE 0
+#endif
+#if !(defined(NFNL_SUBSYS_CTNETLINK) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK))
+# define NFNL_SUBSYS_CTNETLINK 1
+#endif
+#if !(defined(NFNL_SUBSYS_CTNETLINK_EXP) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK_EXP) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK_EXP))
+# define NFNL_SUBSYS_CTNETLINK_EXP 2
+#endif
+#if !(defined(NFNL_SUBSYS_QUEUE) || (defined(HAVE_DECL_NFNL_SUBSYS_QUEUE) && HAVE_DECL_NFNL_SUBSYS_QUEUE))
+# define NFNL_SUBSYS_QUEUE 3
+#endif
+#if !(defined(NFNL_SUBSYS_ULOG) || (defined(HAVE_DECL_NFNL_SUBSYS_ULOG) && HAVE_DECL_NFNL_SUBSYS_ULOG))
+# define NFNL_SUBSYS_ULOG 4
+#endif
+#if !(defined(NFNL_SUBSYS_OSF) || (defined(HAVE_DECL_NFNL_SUBSYS_OSF) && HAVE_DECL_NFNL_SUBSYS_OSF))
+# define NFNL_SUBSYS_OSF 5
+#endif
+#if !(defined(NFNL_SUBSYS_IPSET) || (defined(HAVE_DECL_NFNL_SUBSYS_IPSET) && HAVE_DECL_NFNL_SUBSYS_IPSET))
+# define NFNL_SUBSYS_IPSET 6
+#endif
+#if !(defined(NFNL_SUBSYS_ACCT) || (defined(HAVE_DECL_NFNL_SUBSYS_ACCT) && HAVE_DECL_NFNL_SUBSYS_ACCT))
+# define NFNL_SUBSYS_ACCT 7
+#endif
+#if !(defined(NFNL_SUBSYS_CTNETLINK_TIMEOUT) || (defined(HAVE_DECL_NFNL_SUBSYS_CTNETLINK_TIMEOUT) && HAVE_DECL_NFNL_SUBSYS_CTNETLINK_TIMEOUT))
+# define NFNL_SUBSYS_CTNETLINK_TIMEOUT 8
+#endif
+#if !(defined(NFNL_SUBSYS_CTHELPER) || (defined(HAVE_DECL_NFNL_SUBSYS_CTHELPER) && HAVE_DECL_NFNL_SUBSYS_CTHELPER))
+# define NFNL_SUBSYS_CTHELPER 9
+#endif
+#if !(defined(NFNL_SUBSYS_NFTABLES) || (defined(HAVE_DECL_NFNL_SUBSYS_NFTABLES) && HAVE_DECL_NFNL_SUBSYS_NFTABLES))
+# define NFNL_SUBSYS_NFTABLES 10
+#endif
+#if !(defined(NFNL_SUBSYS_NFT_COMPAT) || (defined(HAVE_DECL_NFNL_SUBSYS_NFT_COMPAT) && HAVE_DECL_NFNL_SUBSYS_NFT_COMPAT))
+# define NFNL_SUBSYS_NFT_COMPAT 11
+#endif
+#if !(defined(NFNL_SUBSYS_COUNT) || (defined(HAVE_DECL_NFNL_SUBSYS_COUNT) && HAVE_DECL_NFNL_SUBSYS_COUNT))
+# define NFNL_SUBSYS_COUNT 12
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat nl_netfilter_subsys_ids in mpers mode
+
+#else
+
+static
+const struct xlat nl_netfilter_subsys_ids[] = {
+ XLAT(NFNL_SUBSYS_NONE),
+ XLAT(NFNL_SUBSYS_CTNETLINK),
+ XLAT(NFNL_SUBSYS_CTNETLINK_EXP),
+ XLAT(NFNL_SUBSYS_QUEUE),
+ XLAT(NFNL_SUBSYS_ULOG),
+ XLAT(NFNL_SUBSYS_OSF),
+ XLAT(NFNL_SUBSYS_IPSET),
+ XLAT(NFNL_SUBSYS_ACCT),
+ XLAT(NFNL_SUBSYS_CTNETLINK_TIMEOUT),
+ XLAT(NFNL_SUBSYS_CTHELPER),
+ XLAT(NFNL_SUBSYS_NFTABLES),
+ XLAT(NFNL_SUBSYS_NFT_COMPAT),
+ XLAT(NFNL_SUBSYS_COUNT),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/nl_netfilter_subsys_ids.in b/xlat/nl_netfilter_subsys_ids.in
new file mode 100644
index 00000000..3c66eb50
--- /dev/null
+++ b/xlat/nl_netfilter_subsys_ids.in
@@ -0,0 +1,13 @@
+NFNL_SUBSYS_NONE 0
+NFNL_SUBSYS_CTNETLINK 1
+NFNL_SUBSYS_CTNETLINK_EXP 2
+NFNL_SUBSYS_QUEUE 3
+NFNL_SUBSYS_ULOG 4
+NFNL_SUBSYS_OSF 5
+NFNL_SUBSYS_IPSET 6
+NFNL_SUBSYS_ACCT 7
+NFNL_SUBSYS_CTNETLINK_TIMEOUT 8
+NFNL_SUBSYS_CTHELPER 9
+NFNL_SUBSYS_NFTABLES 10
+NFNL_SUBSYS_NFT_COMPAT 11
+NFNL_SUBSYS_COUNT 12
diff --git a/xlat/nl_route_types.h b/xlat/nl_route_types.h
new file mode 100644
index 00000000..b9ab36d8
--- /dev/null
+++ b/xlat/nl_route_types.h
@@ -0,0 +1,241 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nl_route_types.in; do not edit. */
+#if !(defined(RTM_NEWLINK) || (defined(HAVE_DECL_RTM_NEWLINK) && HAVE_DECL_RTM_NEWLINK))
+# define RTM_NEWLINK 16
+#endif
+#if !(defined(RTM_DELLINK) || (defined(HAVE_DECL_RTM_DELLINK) && HAVE_DECL_RTM_DELLINK))
+# define RTM_DELLINK 17
+#endif
+#if !(defined(RTM_GETLINK) || (defined(HAVE_DECL_RTM_GETLINK) && HAVE_DECL_RTM_GETLINK))
+# define RTM_GETLINK 18
+#endif
+#if !(defined(RTM_SETLINK) || (defined(HAVE_DECL_RTM_SETLINK) && HAVE_DECL_RTM_SETLINK))
+# define RTM_SETLINK 19
+#endif
+#if !(defined(RTM_NEWADDR) || (defined(HAVE_DECL_RTM_NEWADDR) && HAVE_DECL_RTM_NEWADDR))
+# define RTM_NEWADDR 20
+#endif
+#if !(defined(RTM_DELADDR) || (defined(HAVE_DECL_RTM_DELADDR) && HAVE_DECL_RTM_DELADDR))
+# define RTM_DELADDR 21
+#endif
+#if !(defined(RTM_GETADDR) || (defined(HAVE_DECL_RTM_GETADDR) && HAVE_DECL_RTM_GETADDR))
+# define RTM_GETADDR 22
+#endif
+#if !(defined(RTM_NEWROUTE) || (defined(HAVE_DECL_RTM_NEWROUTE) && HAVE_DECL_RTM_NEWROUTE))
+# define RTM_NEWROUTE 24
+#endif
+#if !(defined(RTM_DELROUTE) || (defined(HAVE_DECL_RTM_DELROUTE) && HAVE_DECL_RTM_DELROUTE))
+# define RTM_DELROUTE 25
+#endif
+#if !(defined(RTM_GETROUTE) || (defined(HAVE_DECL_RTM_GETROUTE) && HAVE_DECL_RTM_GETROUTE))
+# define RTM_GETROUTE 26
+#endif
+#if !(defined(RTM_NEWNEIGH) || (defined(HAVE_DECL_RTM_NEWNEIGH) && HAVE_DECL_RTM_NEWNEIGH))
+# define RTM_NEWNEIGH 28
+#endif
+#if !(defined(RTM_DELNEIGH) || (defined(HAVE_DECL_RTM_DELNEIGH) && HAVE_DECL_RTM_DELNEIGH))
+# define RTM_DELNEIGH 29
+#endif
+#if !(defined(RTM_GETNEIGH) || (defined(HAVE_DECL_RTM_GETNEIGH) && HAVE_DECL_RTM_GETNEIGH))
+# define RTM_GETNEIGH 30
+#endif
+#if !(defined(RTM_NEWRULE) || (defined(HAVE_DECL_RTM_NEWRULE) && HAVE_DECL_RTM_NEWRULE))
+# define RTM_NEWRULE 32
+#endif
+#if !(defined(RTM_DELRULE) || (defined(HAVE_DECL_RTM_DELRULE) && HAVE_DECL_RTM_DELRULE))
+# define RTM_DELRULE 33
+#endif
+#if !(defined(RTM_GETRULE) || (defined(HAVE_DECL_RTM_GETRULE) && HAVE_DECL_RTM_GETRULE))
+# define RTM_GETRULE 34
+#endif
+#if !(defined(RTM_NEWQDISC) || (defined(HAVE_DECL_RTM_NEWQDISC) && HAVE_DECL_RTM_NEWQDISC))
+# define RTM_NEWQDISC 36
+#endif
+#if !(defined(RTM_DELQDISC) || (defined(HAVE_DECL_RTM_DELQDISC) && HAVE_DECL_RTM_DELQDISC))
+# define RTM_DELQDISC 37
+#endif
+#if !(defined(RTM_GETQDISC) || (defined(HAVE_DECL_RTM_GETQDISC) && HAVE_DECL_RTM_GETQDISC))
+# define RTM_GETQDISC 38
+#endif
+#if !(defined(RTM_NEWTCLASS) || (defined(HAVE_DECL_RTM_NEWTCLASS) && HAVE_DECL_RTM_NEWTCLASS))
+# define RTM_NEWTCLASS 40
+#endif
+#if !(defined(RTM_DELTCLASS) || (defined(HAVE_DECL_RTM_DELTCLASS) && HAVE_DECL_RTM_DELTCLASS))
+# define RTM_DELTCLASS 41
+#endif
+#if !(defined(RTM_GETTCLASS) || (defined(HAVE_DECL_RTM_GETTCLASS) && HAVE_DECL_RTM_GETTCLASS))
+# define RTM_GETTCLASS 42
+#endif
+#if !(defined(RTM_NEWTFILTER) || (defined(HAVE_DECL_RTM_NEWTFILTER) && HAVE_DECL_RTM_NEWTFILTER))
+# define RTM_NEWTFILTER 44
+#endif
+#if !(defined(RTM_DELTFILTER) || (defined(HAVE_DECL_RTM_DELTFILTER) && HAVE_DECL_RTM_DELTFILTER))
+# define RTM_DELTFILTER 45
+#endif
+#if !(defined(RTM_GETTFILTER) || (defined(HAVE_DECL_RTM_GETTFILTER) && HAVE_DECL_RTM_GETTFILTER))
+# define RTM_GETTFILTER 46
+#endif
+#if !(defined(RTM_NEWACTION) || (defined(HAVE_DECL_RTM_NEWACTION) && HAVE_DECL_RTM_NEWACTION))
+# define RTM_NEWACTION 48
+#endif
+#if !(defined(RTM_DELACTION) || (defined(HAVE_DECL_RTM_DELACTION) && HAVE_DECL_RTM_DELACTION))
+# define RTM_DELACTION 49
+#endif
+#if !(defined(RTM_GETACTION) || (defined(HAVE_DECL_RTM_GETACTION) && HAVE_DECL_RTM_GETACTION))
+# define RTM_GETACTION 50
+#endif
+#if !(defined(RTM_NEWPREFIX) || (defined(HAVE_DECL_RTM_NEWPREFIX) && HAVE_DECL_RTM_NEWPREFIX))
+# define RTM_NEWPREFIX 52
+#endif
+#if !(defined(RTM_GETPREFIX) || (defined(HAVE_DECL_RTM_GETPREFIX) && HAVE_DECL_RTM_GETPREFIX))
+# define RTM_GETPREFIX 54
+#endif
+#if !(defined(RTM_GETMULTICAST) || (defined(HAVE_DECL_RTM_GETMULTICAST) && HAVE_DECL_RTM_GETMULTICAST))
+# define RTM_GETMULTICAST 58
+#endif
+#if !(defined(RTM_GETANYCAST) || (defined(HAVE_DECL_RTM_GETANYCAST) && HAVE_DECL_RTM_GETANYCAST))
+# define RTM_GETANYCAST 62
+#endif
+#if !(defined(RTM_NEWNEIGHTBL) || (defined(HAVE_DECL_RTM_NEWNEIGHTBL) && HAVE_DECL_RTM_NEWNEIGHTBL))
+# define RTM_NEWNEIGHTBL 64
+#endif
+#if !(defined(RTM_GETNEIGHTBL) || (defined(HAVE_DECL_RTM_GETNEIGHTBL) && HAVE_DECL_RTM_GETNEIGHTBL))
+# define RTM_GETNEIGHTBL 66
+#endif
+#if !(defined(RTM_SETNEIGHTBL) || (defined(HAVE_DECL_RTM_SETNEIGHTBL) && HAVE_DECL_RTM_SETNEIGHTBL))
+# define RTM_SETNEIGHTBL 67
+#endif
+#if !(defined(RTM_NEWNDUSEROPT) || (defined(HAVE_DECL_RTM_NEWNDUSEROPT) && HAVE_DECL_RTM_NEWNDUSEROPT))
+# define RTM_NEWNDUSEROPT 68
+#endif
+#if !(defined(RTM_NEWADDRLABEL) || (defined(HAVE_DECL_RTM_NEWADDRLABEL) && HAVE_DECL_RTM_NEWADDRLABEL))
+# define RTM_NEWADDRLABEL 72
+#endif
+#if !(defined(RTM_DELADDRLABEL) || (defined(HAVE_DECL_RTM_DELADDRLABEL) && HAVE_DECL_RTM_DELADDRLABEL))
+# define RTM_DELADDRLABEL 73
+#endif
+#if !(defined(RTM_GETADDRLABEL) || (defined(HAVE_DECL_RTM_GETADDRLABEL) && HAVE_DECL_RTM_GETADDRLABEL))
+# define RTM_GETADDRLABEL 74
+#endif
+#if !(defined(RTM_GETDCB) || (defined(HAVE_DECL_RTM_GETDCB) && HAVE_DECL_RTM_GETDCB))
+# define RTM_GETDCB 78
+#endif
+#if !(defined(RTM_SETDCB) || (defined(HAVE_DECL_RTM_SETDCB) && HAVE_DECL_RTM_SETDCB))
+# define RTM_SETDCB 79
+#endif
+#if !(defined(RTM_NEWNETCONF) || (defined(HAVE_DECL_RTM_NEWNETCONF) && HAVE_DECL_RTM_NEWNETCONF))
+# define RTM_NEWNETCONF 80
+#endif
+#if !(defined(RTM_DELNETCONF) || (defined(HAVE_DECL_RTM_DELNETCONF) && HAVE_DECL_RTM_DELNETCONF))
+# define RTM_DELNETCONF 81
+#endif
+#if !(defined(RTM_GETNETCONF) || (defined(HAVE_DECL_RTM_GETNETCONF) && HAVE_DECL_RTM_GETNETCONF))
+# define RTM_GETNETCONF 82
+#endif
+#if !(defined(RTM_NEWMDB) || (defined(HAVE_DECL_RTM_NEWMDB) && HAVE_DECL_RTM_NEWMDB))
+# define RTM_NEWMDB 84
+#endif
+#if !(defined(RTM_DELMDB) || (defined(HAVE_DECL_RTM_DELMDB) && HAVE_DECL_RTM_DELMDB))
+# define RTM_DELMDB 85
+#endif
+#if !(defined(RTM_GETMDB) || (defined(HAVE_DECL_RTM_GETMDB) && HAVE_DECL_RTM_GETMDB))
+# define RTM_GETMDB 86
+#endif
+#if !(defined(RTM_NEWNSID) || (defined(HAVE_DECL_RTM_NEWNSID) && HAVE_DECL_RTM_NEWNSID))
+# define RTM_NEWNSID 88
+#endif
+#if !(defined(RTM_DELNSID) || (defined(HAVE_DECL_RTM_DELNSID) && HAVE_DECL_RTM_DELNSID))
+# define RTM_DELNSID 89
+#endif
+#if !(defined(RTM_GETNSID) || (defined(HAVE_DECL_RTM_GETNSID) && HAVE_DECL_RTM_GETNSID))
+# define RTM_GETNSID 90
+#endif
+#if !(defined(RTM_NEWSTATS) || (defined(HAVE_DECL_RTM_NEWSTATS) && HAVE_DECL_RTM_NEWSTATS))
+# define RTM_NEWSTATS 92
+#endif
+#if !(defined(RTM_GETSTATS) || (defined(HAVE_DECL_RTM_GETSTATS) && HAVE_DECL_RTM_GETSTATS))
+# define RTM_GETSTATS 94
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat nl_route_types in mpers mode
+
+#else
+
+static
+const struct xlat nl_route_types[] = {
+ XLAT(RTM_NEWLINK),
+ XLAT(RTM_DELLINK),
+ XLAT(RTM_GETLINK),
+ XLAT(RTM_SETLINK),
+
+ XLAT(RTM_NEWADDR),
+ XLAT(RTM_DELADDR),
+ XLAT(RTM_GETADDR),
+
+ XLAT(RTM_NEWROUTE),
+ XLAT(RTM_DELROUTE),
+ XLAT(RTM_GETROUTE),
+
+ XLAT(RTM_NEWNEIGH),
+ XLAT(RTM_DELNEIGH),
+ XLAT(RTM_GETNEIGH),
+
+ XLAT(RTM_NEWRULE),
+ XLAT(RTM_DELRULE),
+ XLAT(RTM_GETRULE),
+
+ XLAT(RTM_NEWQDISC),
+ XLAT(RTM_DELQDISC),
+ XLAT(RTM_GETQDISC),
+
+ XLAT(RTM_NEWTCLASS),
+ XLAT(RTM_DELTCLASS),
+ XLAT(RTM_GETTCLASS),
+
+ XLAT(RTM_NEWTFILTER),
+ XLAT(RTM_DELTFILTER),
+ XLAT(RTM_GETTFILTER),
+
+ XLAT(RTM_NEWACTION),
+ XLAT(RTM_DELACTION),
+ XLAT(RTM_GETACTION),
+
+ XLAT(RTM_NEWPREFIX),
+ XLAT(RTM_GETPREFIX),
+
+ XLAT(RTM_GETMULTICAST),
+
+ XLAT(RTM_GETANYCAST),
+
+ XLAT(RTM_NEWNEIGHTBL),
+ XLAT(RTM_GETNEIGHTBL),
+ XLAT(RTM_SETNEIGHTBL),
+
+ XLAT(RTM_NEWNDUSEROPT),
+
+ XLAT(RTM_NEWADDRLABEL),
+ XLAT(RTM_DELADDRLABEL),
+ XLAT(RTM_GETADDRLABEL),
+
+ XLAT(RTM_GETDCB),
+ XLAT(RTM_SETDCB),
+
+ XLAT(RTM_NEWNETCONF),
+ XLAT(RTM_DELNETCONF),
+ XLAT(RTM_GETNETCONF),
+
+ XLAT(RTM_NEWMDB),
+ XLAT(RTM_DELMDB),
+ XLAT(RTM_GETMDB),
+
+ XLAT(RTM_NEWNSID),
+ XLAT(RTM_DELNSID),
+ XLAT(RTM_GETNSID),
+
+ XLAT(RTM_NEWSTATS),
+ XLAT(RTM_GETSTATS),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/nl_route_types.in b/xlat/nl_route_types.in
new file mode 100644
index 00000000..0356b615
--- /dev/null
+++ b/xlat/nl_route_types.in
@@ -0,0 +1,71 @@
+RTM_NEWLINK 16
+RTM_DELLINK 17
+RTM_GETLINK 18
+RTM_SETLINK 19
+
+RTM_NEWADDR 20
+RTM_DELADDR 21
+RTM_GETADDR 22
+
+RTM_NEWROUTE 24
+RTM_DELROUTE 25
+RTM_GETROUTE 26
+
+RTM_NEWNEIGH 28
+RTM_DELNEIGH 29
+RTM_GETNEIGH 30
+
+RTM_NEWRULE 32
+RTM_DELRULE 33
+RTM_GETRULE 34
+
+RTM_NEWQDISC 36
+RTM_DELQDISC 37
+RTM_GETQDISC 38
+
+RTM_NEWTCLASS 40
+RTM_DELTCLASS 41
+RTM_GETTCLASS 42
+
+RTM_NEWTFILTER 44
+RTM_DELTFILTER 45
+RTM_GETTFILTER 46
+
+RTM_NEWACTION 48
+RTM_DELACTION 49
+RTM_GETACTION 50
+
+RTM_NEWPREFIX 52
+RTM_GETPREFIX 54
+
+RTM_GETMULTICAST 58
+
+RTM_GETANYCAST 62
+
+RTM_NEWNEIGHTBL 64
+RTM_GETNEIGHTBL 66
+RTM_SETNEIGHTBL 67
+
+RTM_NEWNDUSEROPT 68
+
+RTM_NEWADDRLABEL 72
+RTM_DELADDRLABEL 73
+RTM_GETADDRLABEL 74
+
+RTM_GETDCB 78
+RTM_SETDCB 79
+
+RTM_NEWNETCONF 80
+RTM_DELNETCONF 81
+RTM_GETNETCONF 82
+
+RTM_NEWMDB 84
+RTM_DELMDB 85
+RTM_GETMDB 86
+
+RTM_NEWNSID 88
+RTM_DELNSID 89
+RTM_GETNSID 90
+
+RTM_NEWSTATS 92
+RTM_GETSTATS 94
diff --git a/xlat/nl_selinux_types.h b/xlat/nl_selinux_types.h
new file mode 100644
index 00000000..29903bcc
--- /dev/null
+++ b/xlat/nl_selinux_types.h
@@ -0,0 +1,22 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nl_selinux_types.in; do not edit. */
+#if !(defined(SELNL_MSG_SETENFORCE) || (defined(HAVE_DECL_SELNL_MSG_SETENFORCE) && HAVE_DECL_SELNL_MSG_SETENFORCE))
+# define SELNL_MSG_SETENFORCE 0x10
+#endif
+#if !(defined(SELNL_MSG_POLICYLOAD) || (defined(HAVE_DECL_SELNL_MSG_POLICYLOAD) && HAVE_DECL_SELNL_MSG_POLICYLOAD))
+# define SELNL_MSG_POLICYLOAD 0x11
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat nl_selinux_types in mpers mode
+
+#else
+
+static
+const struct xlat nl_selinux_types[] = {
+ XLAT(SELNL_MSG_SETENFORCE),
+ XLAT(SELNL_MSG_POLICYLOAD),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/nl_selinux_types.in b/xlat/nl_selinux_types.in
new file mode 100644
index 00000000..1ac46053
--- /dev/null
+++ b/xlat/nl_selinux_types.in
@@ -0,0 +1,2 @@
+SELNL_MSG_SETENFORCE 0x10
+SELNL_MSG_POLICYLOAD 0x11
diff --git a/xlat/nl_sock_diag_types.h b/xlat/nl_sock_diag_types.h
new file mode 100644
index 00000000..24697023
--- /dev/null
+++ b/xlat/nl_sock_diag_types.h
@@ -0,0 +1,30 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nl_sock_diag_types.in; do not edit. */
+#if !(defined(TCPDIAG_GETSOCK) || (defined(HAVE_DECL_TCPDIAG_GETSOCK) && HAVE_DECL_TCPDIAG_GETSOCK))
+# define TCPDIAG_GETSOCK 18
+#endif
+#if !(defined(DCCPDIAG_GETSOCK) || (defined(HAVE_DECL_DCCPDIAG_GETSOCK) && HAVE_DECL_DCCPDIAG_GETSOCK))
+# define DCCPDIAG_GETSOCK 19
+#endif
+#if !(defined(SOCK_DIAG_BY_FAMILY) || (defined(HAVE_DECL_SOCK_DIAG_BY_FAMILY) && HAVE_DECL_SOCK_DIAG_BY_FAMILY))
+# define SOCK_DIAG_BY_FAMILY 20
+#endif
+#if !(defined(SOCK_DESTROY) || (defined(HAVE_DECL_SOCK_DESTROY) && HAVE_DECL_SOCK_DESTROY))
+# define SOCK_DESTROY 21
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat nl_sock_diag_types in mpers mode
+
+#else
+
+static
+const struct xlat nl_sock_diag_types[] = {
+ XLAT(TCPDIAG_GETSOCK),
+ XLAT(DCCPDIAG_GETSOCK),
+ XLAT(SOCK_DIAG_BY_FAMILY),
+ XLAT(SOCK_DESTROY),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/nl_sock_diag_types.in b/xlat/nl_sock_diag_types.in
new file mode 100644
index 00000000..5c176c80
--- /dev/null
+++ b/xlat/nl_sock_diag_types.in
@@ -0,0 +1,4 @@
+TCPDIAG_GETSOCK 18
+DCCPDIAG_GETSOCK 19
+SOCK_DIAG_BY_FAMILY 20
+SOCK_DESTROY 21
diff --git a/xlat/nl_xfrm_types.h b/xlat/nl_xfrm_types.h
new file mode 100644
index 00000000..28d6d8ad
--- /dev/null
+++ b/xlat/nl_xfrm_types.h
@@ -0,0 +1,117 @@
+/* Generated by ./xlat/gen.sh from ./xlat/nl_xfrm_types.in; do not edit. */
+#if !(defined(XFRM_MSG_NEWSA) || (defined(HAVE_DECL_XFRM_MSG_NEWSA) && HAVE_DECL_XFRM_MSG_NEWSA))
+# define XFRM_MSG_NEWSA 0x10
+#endif
+#if !(defined(XFRM_MSG_DELSA) || (defined(HAVE_DECL_XFRM_MSG_DELSA) && HAVE_DECL_XFRM_MSG_DELSA))
+# define XFRM_MSG_DELSA 0x11
+#endif
+#if !(defined(XFRM_MSG_GETSA) || (defined(HAVE_DECL_XFRM_MSG_GETSA) && HAVE_DECL_XFRM_MSG_GETSA))
+# define XFRM_MSG_GETSA 0x12
+#endif
+#if !(defined(XFRM_MSG_NEWPOLICY) || (defined(HAVE_DECL_XFRM_MSG_NEWPOLICY) && HAVE_DECL_XFRM_MSG_NEWPOLICY))
+# define XFRM_MSG_NEWPOLICY 0x13
+#endif
+#if !(defined(XFRM_MSG_DELPOLICY) || (defined(HAVE_DECL_XFRM_MSG_DELPOLICY) && HAVE_DECL_XFRM_MSG_DELPOLICY))
+# define XFRM_MSG_DELPOLICY 0x14
+#endif
+#if !(defined(XFRM_MSG_GETPOLICY) || (defined(HAVE_DECL_XFRM_MSG_GETPOLICY) && HAVE_DECL_XFRM_MSG_GETPOLICY))
+# define XFRM_MSG_GETPOLICY 0x15
+#endif
+#if !(defined(XFRM_MSG_ALLOCSPI) || (defined(HAVE_DECL_XFRM_MSG_ALLOCSPI) && HAVE_DECL_XFRM_MSG_ALLOCSPI))
+# define XFRM_MSG_ALLOCSPI 0x16
+#endif
+#if !(defined(XFRM_MSG_ACQUIRE) || (defined(HAVE_DECL_XFRM_MSG_ACQUIRE) && HAVE_DECL_XFRM_MSG_ACQUIRE))
+# define XFRM_MSG_ACQUIRE 0x17
+#endif
+#if !(defined(XFRM_MSG_EXPIRE) || (defined(HAVE_DECL_XFRM_MSG_EXPIRE) && HAVE_DECL_XFRM_MSG_EXPIRE))
+# define XFRM_MSG_EXPIRE 0x18
+#endif
+#if !(defined(XFRM_MSG_UPDPOLICY) || (defined(HAVE_DECL_XFRM_MSG_UPDPOLICY) && HAVE_DECL_XFRM_MSG_UPDPOLICY))
+# define XFRM_MSG_UPDPOLICY 0x19
+#endif
+#if !(defined(XFRM_MSG_UPDSA) || (defined(HAVE_DECL_XFRM_MSG_UPDSA) && HAVE_DECL_XFRM_MSG_UPDSA))
+# define XFRM_MSG_UPDSA 0x1a
+#endif
+#if !(defined(XFRM_MSG_POLEXPIRE) || (defined(HAVE_DECL_XFRM_MSG_POLEXPIRE) && HAVE_DECL_XFRM_MSG_POLEXPIRE))
+# define XFRM_MSG_POLEXPIRE 0x1b
+#endif
+#if !(defined(XFRM_MSG_FLUSHSA) || (defined(HAVE_DECL_XFRM_MSG_FLUSHSA) && HAVE_DECL_XFRM_MSG_FLUSHSA))
+# define XFRM_MSG_FLUSHSA 0x1c
+#endif
+#if !(defined(XFRM_MSG_FLUSHPOLICY) || (defined(HAVE_DECL_XFRM_MSG_FLUSHPOLICY) && HAVE_DECL_XFRM_MSG_FLUSHPOLICY))
+# define XFRM_MSG_FLUSHPOLICY 0x1d
+#endif
+#if !(defined(XFRM_MSG_NEWAE) || (defined(HAVE_DECL_XFRM_MSG_NEWAE) && HAVE_DECL_XFRM_MSG_NEWAE))
+# define XFRM_MSG_NEWAE 0x1e
+#endif
+#if !(defined(XFRM_MSG_GETAE) || (defined(HAVE_DECL_XFRM_MSG_GETAE) && HAVE_DECL_XFRM_MSG_GETAE))
+# define XFRM_MSG_GETAE 0x1f
+#endif
+#if !(defined(XFRM_MSG_REPORT) || (defined(HAVE_DECL_XFRM_MSG_REPORT) && HAVE_DECL_XFRM_MSG_REPORT))
+# define XFRM_MSG_REPORT 0x20
+#endif
+#if !(defined(XFRM_MSG_MIGRATE) || (defined(HAVE_DECL_XFRM_MSG_MIGRATE) && HAVE_DECL_XFRM_MSG_MIGRATE))
+# define XFRM_MSG_MIGRATE 0x21
+#endif
+#if !(defined(XFRM_MSG_NEWSADINFO) || (defined(HAVE_DECL_XFRM_MSG_NEWSADINFO) && HAVE_DECL_XFRM_MSG_NEWSADINFO))
+# define XFRM_MSG_NEWSADINFO 0x22
+#endif
+#if !(defined(XFRM_MSG_GETSADINFO) || (defined(HAVE_DECL_XFRM_MSG_GETSADINFO) && HAVE_DECL_XFRM_MSG_GETSADINFO))
+# define XFRM_MSG_GETSADINFO 0x23
+#endif
+#if !(defined(XFRM_MSG_NEWSPDINFO) || (defined(HAVE_DECL_XFRM_MSG_NEWSPDINFO) && HAVE_DECL_XFRM_MSG_NEWSPDINFO))
+# define XFRM_MSG_NEWSPDINFO 0x24
+#endif
+#if !(defined(XFRM_MSG_GETSPDINFO) || (defined(HAVE_DECL_XFRM_MSG_GETSPDINFO) && HAVE_DECL_XFRM_MSG_GETSPDINFO))
+# define XFRM_MSG_GETSPDINFO 0x25
+#endif
+#if !(defined(XFRM_MSG_MAPPING) || (defined(HAVE_DECL_XFRM_MSG_MAPPING) && HAVE_DECL_XFRM_MSG_MAPPING))
+# define XFRM_MSG_MAPPING 0x26
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat nl_xfrm_types in mpers mode
+
+#else
+
+static
+const struct xlat nl_xfrm_types[] = {
+ XLAT(XFRM_MSG_NEWSA),
+ XLAT(XFRM_MSG_DELSA),
+ XLAT(XFRM_MSG_GETSA),
+
+ XLAT(XFRM_MSG_NEWPOLICY),
+ XLAT(XFRM_MSG_DELPOLICY),
+ XLAT(XFRM_MSG_GETPOLICY),
+
+ XLAT(XFRM_MSG_ALLOCSPI),
+ XLAT(XFRM_MSG_ACQUIRE),
+ XLAT(XFRM_MSG_EXPIRE),
+
+ XLAT(XFRM_MSG_UPDPOLICY),
+ XLAT(XFRM_MSG_UPDSA),
+
+ XLAT(XFRM_MSG_POLEXPIRE),
+
+ XLAT(XFRM_MSG_FLUSHSA),
+ XLAT(XFRM_MSG_FLUSHPOLICY),
+
+ XLAT(XFRM_MSG_NEWAE),
+ XLAT(XFRM_MSG_GETAE),
+
+ XLAT(XFRM_MSG_REPORT),
+
+ XLAT(XFRM_MSG_MIGRATE),
+
+ XLAT(XFRM_MSG_NEWSADINFO),
+ XLAT(XFRM_MSG_GETSADINFO),
+
+ XLAT(XFRM_MSG_NEWSPDINFO),
+ XLAT(XFRM_MSG_GETSPDINFO),
+
+ XLAT(XFRM_MSG_MAPPING),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/nl_xfrm_types.in b/xlat/nl_xfrm_types.in
new file mode 100644
index 00000000..ee81394c
--- /dev/null
+++ b/xlat/nl_xfrm_types.in
@@ -0,0 +1,34 @@
+XFRM_MSG_NEWSA 0x10
+XFRM_MSG_DELSA 0x11
+XFRM_MSG_GETSA 0x12
+
+XFRM_MSG_NEWPOLICY 0x13
+XFRM_MSG_DELPOLICY 0x14
+XFRM_MSG_GETPOLICY 0x15
+
+XFRM_MSG_ALLOCSPI 0x16
+XFRM_MSG_ACQUIRE 0x17
+XFRM_MSG_EXPIRE 0x18
+
+XFRM_MSG_UPDPOLICY 0x19
+XFRM_MSG_UPDSA 0x1a
+
+XFRM_MSG_POLEXPIRE 0x1b
+
+XFRM_MSG_FLUSHSA 0x1c
+XFRM_MSG_FLUSHPOLICY 0x1d
+
+XFRM_MSG_NEWAE 0x1e
+XFRM_MSG_GETAE 0x1f
+
+XFRM_MSG_REPORT 0x20
+
+XFRM_MSG_MIGRATE 0x21
+
+XFRM_MSG_NEWSADINFO 0x22
+XFRM_MSG_GETSADINFO 0x23
+
+XFRM_MSG_NEWSPDINFO 0x24
+XFRM_MSG_GETSPDINFO 0x25
+
+XFRM_MSG_MAPPING 0x26
diff --git a/xlat/packet_diag_attrs.h b/xlat/packet_diag_attrs.h
new file mode 100644
index 00000000..83bf88a5
--- /dev/null
+++ b/xlat/packet_diag_attrs.h
@@ -0,0 +1,22 @@
+/* Generated by ./xlat/gen.sh from ./xlat/packet_diag_attrs.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat packet_diag_attrs in mpers mode
+
+#else
+
+static
+const struct xlat packet_diag_attrs[] = {
+ XLAT(PACKET_DIAG_INFO),
+ XLAT(PACKET_DIAG_MCLIST),
+ XLAT(PACKET_DIAG_RX_RING),
+ XLAT(PACKET_DIAG_TX_RING),
+ XLAT(PACKET_DIAG_FANOUT),
+ XLAT(PACKET_DIAG_UID),
+ XLAT(PACKET_DIAG_MEMINFO),
+ XLAT(PACKET_DIAG_FILTER),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/packet_diag_attrs.in b/xlat/packet_diag_attrs.in
new file mode 100644
index 00000000..5e33871e
--- /dev/null
+++ b/xlat/packet_diag_attrs.in
@@ -0,0 +1,9 @@
+#unconditional
+PACKET_DIAG_INFO
+PACKET_DIAG_MCLIST
+PACKET_DIAG_RX_RING
+PACKET_DIAG_TX_RING
+PACKET_DIAG_FANOUT
+PACKET_DIAG_UID
+PACKET_DIAG_MEMINFO
+PACKET_DIAG_FILTER
diff --git a/xlat/packet_diag_show.h b/xlat/packet_diag_show.h
new file mode 100644
index 00000000..76d84fad
--- /dev/null
+++ b/xlat/packet_diag_show.h
@@ -0,0 +1,32 @@
+/* Generated by ./xlat/gen.sh from ./xlat/packet_diag_show.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat packet_diag_show in mpers mode
+
+#else
+
+static
+const struct xlat packet_diag_show[] = {
+#if defined(PACKET_SHOW_INFO) || (defined(HAVE_DECL_PACKET_SHOW_INFO) && HAVE_DECL_PACKET_SHOW_INFO)
+ XLAT(PACKET_SHOW_INFO),
+#endif
+#if defined(PACKET_SHOW_MCLIST) || (defined(HAVE_DECL_PACKET_SHOW_MCLIST) && HAVE_DECL_PACKET_SHOW_MCLIST)
+ XLAT(PACKET_SHOW_MCLIST),
+#endif
+#if defined(PACKET_SHOW_RING_CFG) || (defined(HAVE_DECL_PACKET_SHOW_RING_CFG) && HAVE_DECL_PACKET_SHOW_RING_CFG)
+ XLAT(PACKET_SHOW_RING_CFG),
+#endif
+#if defined(PACKET_SHOW_FANOUT) || (defined(HAVE_DECL_PACKET_SHOW_FANOUT) && HAVE_DECL_PACKET_SHOW_FANOUT)
+ XLAT(PACKET_SHOW_FANOUT),
+#endif
+#if defined(PACKET_SHOW_MEMINFO) || (defined(HAVE_DECL_PACKET_SHOW_MEMINFO) && HAVE_DECL_PACKET_SHOW_MEMINFO)
+ XLAT(PACKET_SHOW_MEMINFO),
+#endif
+#if defined(PACKET_SHOW_FILTER) || (defined(HAVE_DECL_PACKET_SHOW_FILTER) && HAVE_DECL_PACKET_SHOW_FILTER)
+ XLAT(PACKET_SHOW_FILTER),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/packet_diag_show.in b/xlat/packet_diag_show.in
new file mode 100644
index 00000000..b495af81
--- /dev/null
+++ b/xlat/packet_diag_show.in
@@ -0,0 +1,6 @@
+PACKET_SHOW_INFO
+PACKET_SHOW_MCLIST
+PACKET_SHOW_RING_CFG
+PACKET_SHOW_FANOUT
+PACKET_SHOW_MEMINFO
+PACKET_SHOW_FILTER
diff --git a/xlat/scmvals.h b/xlat/scmvals.h
index a7ca2f0a..5f7c66a6 100644
--- a/xlat/scmvals.h
+++ b/xlat/scmvals.h
@@ -8,6 +8,51 @@
#if !(defined(SCM_SECURITY) || (defined(HAVE_DECL_SCM_SECURITY) && HAVE_DECL_SCM_SECURITY))
# define SCM_SECURITY 3
#endif
+#ifndef SCM_TIMESTAMP
+# if defined HPPA
+# define SCM_TIMESTAMP 0x4012
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMP 0x001d
+# else
+# define SCM_TIMESTAMP 29
+# endif
+#endif
+#ifndef SCM_TIMESTAMPNS
+# if defined HPPA
+# define SCM_TIMESTAMPNS 0x4013
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPNS 0x0021
+# else
+# define SCM_TIMESTAMPNS 35
+# endif
+#endif
+#ifndef SCM_TIMESTAMPING
+# if defined HPPA
+# define SCM_TIMESTAMPING 0x4020
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPING 0x0023
+# else
+# define SCM_TIMESTAMPING 37
+# endif
+#endif
+#ifndef SCM_WIFI_STATUS
+# if defined HPPA
+# define SCM_WIFI_STATUS 0x4022
+# elif defined SPARC || defined SPARC64
+# define SCM_WIFI_STATUS 0x0025
+# else
+# define SCM_WIFI_STATUS 41
+# endif
+#endif
+#ifndef SCM_TIMESTAMPING_OPT_STATS
+# if defined HPPA
+# define SCM_TIMESTAMPING_OPT_STATS 0x402f
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPING_OPT_STATS 0x0038
+# else
+# define SCM_TIMESTAMPING_OPT_STATS 54
+# endif
+#endif
#ifdef IN_MPERS
@@ -20,6 +65,71 @@ const struct xlat scmvals[] = {
XLAT(SCM_RIGHTS),
XLAT(SCM_CREDENTIALS),
XLAT(SCM_SECURITY),
+
+#ifndef SCM_TIMESTAMP
+# if defined HPPA
+# define SCM_TIMESTAMP 0x4012
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMP 0x001d
+# else
+# define SCM_TIMESTAMP 29
+# endif
+#endif
+#if defined(SCM_TIMESTAMP) || (defined(HAVE_DECL_SCM_TIMESTAMP) && HAVE_DECL_SCM_TIMESTAMP)
+ XLAT(SCM_TIMESTAMP),
+#endif
+
+#ifndef SCM_TIMESTAMPNS
+# if defined HPPA
+# define SCM_TIMESTAMPNS 0x4013
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPNS 0x0021
+# else
+# define SCM_TIMESTAMPNS 35
+# endif
+#endif
+#if defined(SCM_TIMESTAMPNS) || (defined(HAVE_DECL_SCM_TIMESTAMPNS) && HAVE_DECL_SCM_TIMESTAMPNS)
+ XLAT(SCM_TIMESTAMPNS),
+#endif
+
+#ifndef SCM_TIMESTAMPING
+# if defined HPPA
+# define SCM_TIMESTAMPING 0x4020
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPING 0x0023
+# else
+# define SCM_TIMESTAMPING 37
+# endif
+#endif
+#if defined(SCM_TIMESTAMPING) || (defined(HAVE_DECL_SCM_TIMESTAMPING) && HAVE_DECL_SCM_TIMESTAMPING)
+ XLAT(SCM_TIMESTAMPING),
+#endif
+
+#ifndef SCM_WIFI_STATUS
+# if defined HPPA
+# define SCM_WIFI_STATUS 0x4022
+# elif defined SPARC || defined SPARC64
+# define SCM_WIFI_STATUS 0x0025
+# else
+# define SCM_WIFI_STATUS 41
+# endif
+#endif
+#if defined(SCM_WIFI_STATUS) || (defined(HAVE_DECL_SCM_WIFI_STATUS) && HAVE_DECL_SCM_WIFI_STATUS)
+ XLAT(SCM_WIFI_STATUS),
+#endif
+
+#ifndef SCM_TIMESTAMPING_OPT_STATS
+# if defined HPPA
+# define SCM_TIMESTAMPING_OPT_STATS 0x402f
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPING_OPT_STATS 0x0038
+# else
+# define SCM_TIMESTAMPING_OPT_STATS 54
+# endif
+#endif
+#if defined(SCM_TIMESTAMPING_OPT_STATS) || (defined(HAVE_DECL_SCM_TIMESTAMPING_OPT_STATS) && HAVE_DECL_SCM_TIMESTAMPING_OPT_STATS)
+ XLAT(SCM_TIMESTAMPING_OPT_STATS),
+#endif
XLAT_END
};
diff --git a/xlat/scmvals.in b/xlat/scmvals.in
index 3d61f9ef..699068f8 100644
--- a/xlat/scmvals.in
+++ b/xlat/scmvals.in
@@ -1,3 +1,58 @@
SCM_RIGHTS 1
SCM_CREDENTIALS 2
SCM_SECURITY 3
+
+#ifndef SCM_TIMESTAMP
+# if defined HPPA
+# define SCM_TIMESTAMP 0x4012
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMP 0x001d
+# else
+# define SCM_TIMESTAMP 29
+# endif
+#endif
+SCM_TIMESTAMP
+
+#ifndef SCM_TIMESTAMPNS
+# if defined HPPA
+# define SCM_TIMESTAMPNS 0x4013
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPNS 0x0021
+# else
+# define SCM_TIMESTAMPNS 35
+# endif
+#endif
+SCM_TIMESTAMPNS
+
+#ifndef SCM_TIMESTAMPING
+# if defined HPPA
+# define SCM_TIMESTAMPING 0x4020
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPING 0x0023
+# else
+# define SCM_TIMESTAMPING 37
+# endif
+#endif
+SCM_TIMESTAMPING
+
+#ifndef SCM_WIFI_STATUS
+# if defined HPPA
+# define SCM_WIFI_STATUS 0x4022
+# elif defined SPARC || defined SPARC64
+# define SCM_WIFI_STATUS 0x0025
+# else
+# define SCM_WIFI_STATUS 41
+# endif
+#endif
+SCM_WIFI_STATUS
+
+#ifndef SCM_TIMESTAMPING_OPT_STATS
+# if defined HPPA
+# define SCM_TIMESTAMPING_OPT_STATS 0x402f
+# elif defined SPARC || defined SPARC64
+# define SCM_TIMESTAMPING_OPT_STATS 0x0038
+# else
+# define SCM_TIMESTAMPING_OPT_STATS 54
+# endif
+#endif
+SCM_TIMESTAMPING_OPT_STATS
diff --git a/xlat/sigact_flags.h b/xlat/sigact_flags.h
index 31debc49..7149b928 100644
--- a/xlat/sigact_flags.h
+++ b/xlat/sigact_flags.h
@@ -15,8 +15,8 @@ const struct xlat sigact_flags[] = {
#if defined(SA_RESTORER) || (defined(HAVE_DECL_SA_RESTORER) && HAVE_DECL_SA_RESTORER)
XLAT(SA_RESTORER),
#endif
-#if defined(SA_STACK) || (defined(HAVE_DECL_SA_STACK) && HAVE_DECL_SA_STACK)
- XLAT(SA_STACK),
+#if defined(SA_ONSTACK) || (defined(HAVE_DECL_SA_ONSTACK) && HAVE_DECL_SA_ONSTACK)
+ XLAT(SA_ONSTACK),
#endif
#if defined(SA_RESTART) || (defined(HAVE_DECL_SA_RESTART) && HAVE_DECL_SA_RESTART)
XLAT(SA_RESTART),
diff --git a/xlat/sigact_flags.in b/xlat/sigact_flags.in
index 27bcff8a..00ad9431 100644
--- a/xlat/sigact_flags.in
+++ b/xlat/sigact_flags.in
@@ -1,5 +1,5 @@
SA_RESTORER
-SA_STACK
+SA_ONSTACK
SA_RESTART
SA_INTERRUPT
SA_NODEFER
diff --git a/xlat/smc_diag_attrs.h b/xlat/smc_diag_attrs.h
new file mode 100644
index 00000000..84899ee6
--- /dev/null
+++ b/xlat/smc_diag_attrs.h
@@ -0,0 +1,18 @@
+/* Generated by ./xlat/gen.sh from ./xlat/smc_diag_attrs.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat smc_diag_attrs in mpers mode
+
+#else
+
+static
+const struct xlat smc_diag_attrs[] = {
+ XLAT(SMC_DIAG_NONE),
+ XLAT(SMC_DIAG_CONNINFO),
+ XLAT(SMC_DIAG_LGRINFO),
+ XLAT(SMC_DIAG_SHUTDOWN),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/smc_diag_attrs.in b/xlat/smc_diag_attrs.in
new file mode 100644
index 00000000..cd6179be
--- /dev/null
+++ b/xlat/smc_diag_attrs.in
@@ -0,0 +1,5 @@
+#unconditional
+SMC_DIAG_NONE
+SMC_DIAG_CONNINFO
+SMC_DIAG_LGRINFO
+SMC_DIAG_SHUTDOWN
diff --git a/xlat/smc_diag_extended_flags.h b/xlat/smc_diag_extended_flags.h
new file mode 100644
index 00000000..988dc942
--- /dev/null
+++ b/xlat/smc_diag_extended_flags.h
@@ -0,0 +1,16 @@
+/* Generated by ./xlat/gen.sh from ./xlat/smc_diag_extended_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat smc_diag_extended_flags in mpers mode
+
+#else
+
+static
+const struct xlat smc_diag_extended_flags[] = {
+ XLAT(1<<(SMC_DIAG_CONNINFO-1)),
+ XLAT(1<<(SMC_DIAG_LGRINFO-1)),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/smc_diag_extended_flags.in b/xlat/smc_diag_extended_flags.in
new file mode 100644
index 00000000..9bd39581
--- /dev/null
+++ b/xlat/smc_diag_extended_flags.in
@@ -0,0 +1,3 @@
+#unconditional
+1<<(SMC_DIAG_CONNINFO-1)
+1<<(SMC_DIAG_LGRINFO-1)
diff --git a/xlat/smc_states.h b/xlat/smc_states.h
new file mode 100644
index 00000000..a5371d74
--- /dev/null
+++ b/xlat/smc_states.h
@@ -0,0 +1,62 @@
+/* Generated by ./xlat/gen.sh from ./xlat/smc_states.in; do not edit. */
+#if !(defined(SMC_ACTIVE) || (defined(HAVE_DECL_SMC_ACTIVE) && HAVE_DECL_SMC_ACTIVE))
+# define SMC_ACTIVE 1
+#endif
+#if !(defined(SMC_INIT) || (defined(HAVE_DECL_SMC_INIT) && HAVE_DECL_SMC_INIT))
+# define SMC_INIT 2
+#endif
+#if !(defined(SMC_CLOSED) || (defined(HAVE_DECL_SMC_CLOSED) && HAVE_DECL_SMC_CLOSED))
+# define SMC_CLOSED 7
+#endif
+#if !(defined(SMC_LISTEN) || (defined(HAVE_DECL_SMC_LISTEN) && HAVE_DECL_SMC_LISTEN))
+# define SMC_LISTEN 10
+#endif
+#if !(defined(SMC_PEERCLOSEWAIT1) || (defined(HAVE_DECL_SMC_PEERCLOSEWAIT1) && HAVE_DECL_SMC_PEERCLOSEWAIT1))
+# define SMC_PEERCLOSEWAIT1 20
+#endif
+#if !(defined(SMC_PEERCLOSEWAIT2) || (defined(HAVE_DECL_SMC_PEERCLOSEWAIT2) && HAVE_DECL_SMC_PEERCLOSEWAIT2))
+# define SMC_PEERCLOSEWAIT2 21
+#endif
+#if !(defined(SMC_APPFINCLOSEWAIT) || (defined(HAVE_DECL_SMC_APPFINCLOSEWAIT) && HAVE_DECL_SMC_APPFINCLOSEWAIT))
+# define SMC_APPFINCLOSEWAIT 24
+#endif
+#if !(defined(SMC_APPCLOSEWAIT1) || (defined(HAVE_DECL_SMC_APPCLOSEWAIT1) && HAVE_DECL_SMC_APPCLOSEWAIT1))
+# define SMC_APPCLOSEWAIT1 22
+#endif
+#if !(defined(SMC_APPCLOSEWAIT2) || (defined(HAVE_DECL_SMC_APPCLOSEWAIT2) && HAVE_DECL_SMC_APPCLOSEWAIT2))
+# define SMC_APPCLOSEWAIT2 23
+#endif
+#if !(defined(SMC_PEERFINCLOSEWAIT) || (defined(HAVE_DECL_SMC_PEERFINCLOSEWAIT) && HAVE_DECL_SMC_PEERFINCLOSEWAIT))
+# define SMC_PEERFINCLOSEWAIT 25
+#endif
+#if !(defined(SMC_PEERABORTWAIT) || (defined(HAVE_DECL_SMC_PEERABORTWAIT) && HAVE_DECL_SMC_PEERABORTWAIT))
+# define SMC_PEERABORTWAIT 26
+#endif
+#if !(defined(SMC_PROCESSABORT) || (defined(HAVE_DECL_SMC_PROCESSABORT) && HAVE_DECL_SMC_PROCESSABORT))
+# define SMC_PROCESSABORT 27
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat smc_states in mpers mode
+
+#else
+
+static
+const struct xlat smc_states[] = {
+ XLAT(SMC_ACTIVE),
+ XLAT(SMC_INIT),
+ XLAT(SMC_CLOSED),
+ XLAT(SMC_LISTEN),
+ XLAT(SMC_PEERCLOSEWAIT1),
+ XLAT(SMC_PEERCLOSEWAIT2),
+ XLAT(SMC_APPFINCLOSEWAIT),
+ XLAT(SMC_APPCLOSEWAIT1),
+ XLAT(SMC_APPCLOSEWAIT2),
+ XLAT(SMC_PEERFINCLOSEWAIT),
+ XLAT(SMC_PEERABORTWAIT),
+ XLAT(SMC_PROCESSABORT),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/smc_states.in b/xlat/smc_states.in
new file mode 100644
index 00000000..d197b1f7
--- /dev/null
+++ b/xlat/smc_states.in
@@ -0,0 +1,12 @@
+SMC_ACTIVE 1
+SMC_INIT 2
+SMC_CLOSED 7
+SMC_LISTEN 10
+SMC_PEERCLOSEWAIT1 20
+SMC_PEERCLOSEWAIT2 21
+SMC_APPFINCLOSEWAIT 24
+SMC_APPCLOSEWAIT1 22
+SMC_APPCLOSEWAIT2 23
+SMC_PEERFINCLOSEWAIT 25
+SMC_PEERABORTWAIT 26
+SMC_PROCESSABORT 27
diff --git a/xlat/sockoptions.h b/xlat/sockoptions.h
index 87d570f1..715ffe7e 100644
--- a/xlat/sockoptions.h
+++ b/xlat/sockoptions.h
@@ -173,6 +173,15 @@ const struct xlat sockoptions[] = {
#if defined(SO_CNX_ADVICE) || (defined(HAVE_DECL_SO_CNX_ADVICE) && HAVE_DECL_SO_CNX_ADVICE)
XLAT(SO_CNX_ADVICE),
#endif
+#if defined(SO_MEMINFO) || (defined(HAVE_DECL_SO_MEMINFO) && HAVE_DECL_SO_MEMINFO)
+ XLAT(SO_MEMINFO),
+#endif
+#if defined(SO_INCOMING_NAPI_ID) || (defined(HAVE_DECL_SO_INCOMING_NAPI_ID) && HAVE_DECL_SO_INCOMING_NAPI_ID)
+ XLAT(SO_INCOMING_NAPI_ID),
+#endif
+#if defined(SO_COOKIE) || (defined(HAVE_DECL_SO_COOKIE) && HAVE_DECL_SO_COOKIE)
+ XLAT(SO_COOKIE),
+#endif
#if defined(SO_ALLRAW) || (defined(HAVE_DECL_SO_ALLRAW) && HAVE_DECL_SO_ALLRAW)
XLAT(SO_ALLRAW),
diff --git a/xlat/sockoptions.in b/xlat/sockoptions.in
index fce851a8..5a0bb871 100644
--- a/xlat/sockoptions.in
+++ b/xlat/sockoptions.in
@@ -53,6 +53,9 @@ SO_ATTACH_BPF
SO_ATTACH_REUSEPORT_CBPF
SO_ATTACH_REUSEPORT_EBPF
SO_CNX_ADVICE
+SO_MEMINFO
+SO_INCOMING_NAPI_ID
+SO_COOKIE
SO_ALLRAW
SO_ICS
diff --git a/xlat/socksctpoptions.h b/xlat/socksctpoptions.h
index cb34b9b6..886d53d3 100644
--- a/xlat/socksctpoptions.h
+++ b/xlat/socksctpoptions.h
@@ -162,6 +162,24 @@ const struct xlat socksctpoptions[] = {
#if defined(SCTP_PR_ASSOC_STATUS) || (defined(HAVE_DECL_SCTP_PR_ASSOC_STATUS) && HAVE_DECL_SCTP_PR_ASSOC_STATUS)
XLAT(SCTP_PR_ASSOC_STATUS),
#endif
+#if defined(SCTP_PR_STREAM_STATUS) || (defined(HAVE_DECL_SCTP_PR_STREAM_STATUS) && HAVE_DECL_SCTP_PR_STREAM_STATUS)
+ XLAT(SCTP_PR_STREAM_STATUS),
+#endif
+#if defined(SCTP_RECONFIG_SUPPORTED) || (defined(HAVE_DECL_SCTP_RECONFIG_SUPPORTED) && HAVE_DECL_SCTP_RECONFIG_SUPPORTED)
+ XLAT(SCTP_RECONFIG_SUPPORTED),
+#endif
+#if defined(SCTP_ENABLE_STREAM_RESET) || (defined(HAVE_DECL_SCTP_ENABLE_STREAM_RESET) && HAVE_DECL_SCTP_ENABLE_STREAM_RESET)
+ XLAT(SCTP_ENABLE_STREAM_RESET),
+#endif
+#if defined(SCTP_RESET_STREAMS) || (defined(HAVE_DECL_SCTP_RESET_STREAMS) && HAVE_DECL_SCTP_RESET_STREAMS)
+ XLAT(SCTP_RESET_STREAMS),
+#endif
+#if defined(SCTP_RESET_ASSOC) || (defined(HAVE_DECL_SCTP_RESET_ASSOC) && HAVE_DECL_SCTP_RESET_ASSOC)
+ XLAT(SCTP_RESET_ASSOC),
+#endif
+#if defined(SCTP_ADD_STREAMS) || (defined(HAVE_DECL_SCTP_ADD_STREAMS) && HAVE_DECL_SCTP_ADD_STREAMS)
+ XLAT(SCTP_ADD_STREAMS),
+#endif
XLAT_END
};
diff --git a/xlat/socksctpoptions.in b/xlat/socksctpoptions.in
index fa967a23..dfe87378 100644
--- a/xlat/socksctpoptions.in
+++ b/xlat/socksctpoptions.in
@@ -50,3 +50,9 @@ SCTP_GET_ASSOC_STATS
SCTP_PR_SUPPORTED
SCTP_DEFAULT_PRINFO
SCTP_PR_ASSOC_STATUS
+SCTP_PR_STREAM_STATUS
+SCTP_RECONFIG_SUPPORTED
+SCTP_ENABLE_STREAM_RESET
+SCTP_RESET_STREAMS
+SCTP_RESET_ASSOC
+SCTP_ADD_STREAMS
diff --git a/xlat/socktypes.h b/xlat/socktypes.h
index f9db97bc..8ca50dcb 100644
--- a/xlat/socktypes.h
+++ b/xlat/socktypes.h
@@ -1,12 +1,7 @@
/* Generated by ./xlat/gen.sh from ./xlat/socktypes.in; do not edit. */
-#ifdef IN_MPERS
+#ifndef IN_MPERS
-# error static const struct xlat socktypes in mpers mode
-
-#else
-
-static
const struct xlat socktypes[] = {
#if defined(SOCK_STREAM) || (defined(HAVE_DECL_SOCK_STREAM) && HAVE_DECL_SOCK_STREAM)
XLAT(SOCK_STREAM),
diff --git a/xlat/tcp_state_flags.h b/xlat/tcp_state_flags.h
new file mode 100644
index 00000000..265fff36
--- /dev/null
+++ b/xlat/tcp_state_flags.h
@@ -0,0 +1,51 @@
+/* Generated by ./xlat/gen.sh from ./xlat/tcp_state_flags.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat tcp_state_flags in mpers mode
+
+#else
+
+static
+const struct xlat tcp_state_flags[] = {
+/* this file should be included after xlat/tcp_states.h */
+#if defined(TCP_ESTABLISHED) || (defined(HAVE_DECL_TCP_ESTABLISHED) && HAVE_DECL_TCP_ESTABLISHED)
+ XLAT_PAIR(1ULL<<TCP_ESTABLISHED, "1<<TCP_ESTABLISHED"),
+#endif
+#if defined(TCP_SYN_SENT) || (defined(HAVE_DECL_TCP_SYN_SENT) && HAVE_DECL_TCP_SYN_SENT)
+ XLAT_PAIR(1ULL<<TCP_SYN_SENT, "1<<TCP_SYN_SENT"),
+#endif
+#if defined(TCP_SYN_RECV) || (defined(HAVE_DECL_TCP_SYN_RECV) && HAVE_DECL_TCP_SYN_RECV)
+ XLAT_PAIR(1ULL<<TCP_SYN_RECV, "1<<TCP_SYN_RECV"),
+#endif
+#if defined(TCP_FIN_WAIT1) || (defined(HAVE_DECL_TCP_FIN_WAIT1) && HAVE_DECL_TCP_FIN_WAIT1)
+ XLAT_PAIR(1ULL<<TCP_FIN_WAIT1, "1<<TCP_FIN_WAIT1"),
+#endif
+#if defined(TCP_FIN_WAIT2) || (defined(HAVE_DECL_TCP_FIN_WAIT2) && HAVE_DECL_TCP_FIN_WAIT2)
+ XLAT_PAIR(1ULL<<TCP_FIN_WAIT2, "1<<TCP_FIN_WAIT2"),
+#endif
+#if defined(TCP_TIME_WAIT) || (defined(HAVE_DECL_TCP_TIME_WAIT) && HAVE_DECL_TCP_TIME_WAIT)
+ XLAT_PAIR(1ULL<<TCP_TIME_WAIT, "1<<TCP_TIME_WAIT"),
+#endif
+#if defined(TCP_CLOSE) || (defined(HAVE_DECL_TCP_CLOSE) && HAVE_DECL_TCP_CLOSE)
+ XLAT_PAIR(1ULL<<TCP_CLOSE, "1<<TCP_CLOSE"),
+#endif
+#if defined(TCP_CLOSE_WAIT) || (defined(HAVE_DECL_TCP_CLOSE_WAIT) && HAVE_DECL_TCP_CLOSE_WAIT)
+ XLAT_PAIR(1ULL<<TCP_CLOSE_WAIT, "1<<TCP_CLOSE_WAIT"),
+#endif
+#if defined(TCP_LAST_ACK) || (defined(HAVE_DECL_TCP_LAST_ACK) && HAVE_DECL_TCP_LAST_ACK)
+ XLAT_PAIR(1ULL<<TCP_LAST_ACK, "1<<TCP_LAST_ACK"),
+#endif
+#if defined(TCP_LISTEN) || (defined(HAVE_DECL_TCP_LISTEN) && HAVE_DECL_TCP_LISTEN)
+ XLAT_PAIR(1ULL<<TCP_LISTEN, "1<<TCP_LISTEN"),
+#endif
+#if defined(TCP_CLOSING) || (defined(HAVE_DECL_TCP_CLOSING) && HAVE_DECL_TCP_CLOSING)
+ XLAT_PAIR(1ULL<<TCP_CLOSING, "1<<TCP_CLOSING"),
+#endif
+#if defined(TCP_NEW_SYN_RECV) || (defined(HAVE_DECL_TCP_NEW_SYN_RECV) && HAVE_DECL_TCP_NEW_SYN_RECV)
+ XLAT_PAIR(1ULL<<TCP_NEW_SYN_RECV, "1<<TCP_NEW_SYN_RECV"),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/tcp_state_flags.in b/xlat/tcp_state_flags.in
new file mode 100644
index 00000000..8b63c158
--- /dev/null
+++ b/xlat/tcp_state_flags.in
@@ -0,0 +1,13 @@
+/* this file should be included after xlat/tcp_states.h */
+1<<TCP_ESTABLISHED
+1<<TCP_SYN_SENT
+1<<TCP_SYN_RECV
+1<<TCP_FIN_WAIT1
+1<<TCP_FIN_WAIT2
+1<<TCP_TIME_WAIT
+1<<TCP_CLOSE
+1<<TCP_CLOSE_WAIT
+1<<TCP_LAST_ACK
+1<<TCP_LISTEN
+1<<TCP_CLOSING
+1<<TCP_NEW_SYN_RECV
diff --git a/xlat/tcp_states.h b/xlat/tcp_states.h
new file mode 100644
index 00000000..cf74abb9
--- /dev/null
+++ b/xlat/tcp_states.h
@@ -0,0 +1,62 @@
+/* Generated by ./xlat/gen.sh from ./xlat/tcp_states.in; do not edit. */
+#if !(defined(TCP_ESTABLISHED) || (defined(HAVE_DECL_TCP_ESTABLISHED) && HAVE_DECL_TCP_ESTABLISHED))
+# define TCP_ESTABLISHED 1
+#endif
+#if !(defined(TCP_SYN_SENT) || (defined(HAVE_DECL_TCP_SYN_SENT) && HAVE_DECL_TCP_SYN_SENT))
+# define TCP_SYN_SENT 2
+#endif
+#if !(defined(TCP_SYN_RECV) || (defined(HAVE_DECL_TCP_SYN_RECV) && HAVE_DECL_TCP_SYN_RECV))
+# define TCP_SYN_RECV 3
+#endif
+#if !(defined(TCP_FIN_WAIT1) || (defined(HAVE_DECL_TCP_FIN_WAIT1) && HAVE_DECL_TCP_FIN_WAIT1))
+# define TCP_FIN_WAIT1 4
+#endif
+#if !(defined(TCP_FIN_WAIT2) || (defined(HAVE_DECL_TCP_FIN_WAIT2) && HAVE_DECL_TCP_FIN_WAIT2))
+# define TCP_FIN_WAIT2 5
+#endif
+#if !(defined(TCP_TIME_WAIT) || (defined(HAVE_DECL_TCP_TIME_WAIT) && HAVE_DECL_TCP_TIME_WAIT))
+# define TCP_TIME_WAIT 6
+#endif
+#if !(defined(TCP_CLOSE) || (defined(HAVE_DECL_TCP_CLOSE) && HAVE_DECL_TCP_CLOSE))
+# define TCP_CLOSE 7
+#endif
+#if !(defined(TCP_CLOSE_WAIT) || (defined(HAVE_DECL_TCP_CLOSE_WAIT) && HAVE_DECL_TCP_CLOSE_WAIT))
+# define TCP_CLOSE_WAIT 8
+#endif
+#if !(defined(TCP_LAST_ACK) || (defined(HAVE_DECL_TCP_LAST_ACK) && HAVE_DECL_TCP_LAST_ACK))
+# define TCP_LAST_ACK 9
+#endif
+#if !(defined(TCP_LISTEN) || (defined(HAVE_DECL_TCP_LISTEN) && HAVE_DECL_TCP_LISTEN))
+# define TCP_LISTEN 10
+#endif
+#if !(defined(TCP_CLOSING) || (defined(HAVE_DECL_TCP_CLOSING) && HAVE_DECL_TCP_CLOSING))
+# define TCP_CLOSING 11
+#endif
+#if !(defined(TCP_NEW_SYN_RECV) || (defined(HAVE_DECL_TCP_NEW_SYN_RECV) && HAVE_DECL_TCP_NEW_SYN_RECV))
+# define TCP_NEW_SYN_RECV 12
+#endif
+
+#ifdef IN_MPERS
+
+# error static const struct xlat tcp_states in mpers mode
+
+#else
+
+static
+const struct xlat tcp_states[] = {
+ XLAT(TCP_ESTABLISHED),
+ XLAT(TCP_SYN_SENT),
+ XLAT(TCP_SYN_RECV),
+ XLAT(TCP_FIN_WAIT1),
+ XLAT(TCP_FIN_WAIT2),
+ XLAT(TCP_TIME_WAIT),
+ XLAT(TCP_CLOSE),
+ XLAT(TCP_CLOSE_WAIT),
+ XLAT(TCP_LAST_ACK),
+ XLAT(TCP_LISTEN),
+ XLAT(TCP_CLOSING),
+ XLAT(TCP_NEW_SYN_RECV),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/tcp_states.in b/xlat/tcp_states.in
new file mode 100644
index 00000000..287dc431
--- /dev/null
+++ b/xlat/tcp_states.in
@@ -0,0 +1,12 @@
+TCP_ESTABLISHED 1
+TCP_SYN_SENT 2
+TCP_SYN_RECV 3
+TCP_FIN_WAIT1 4
+TCP_FIN_WAIT2 5
+TCP_TIME_WAIT 6
+TCP_CLOSE 7
+TCP_CLOSE_WAIT 8
+TCP_LAST_ACK 9
+TCP_LISTEN 10
+TCP_CLOSING 11
+TCP_NEW_SYN_RECV 12
diff --git a/xlat/unix_diag_attrs.h b/xlat/unix_diag_attrs.h
new file mode 100644
index 00000000..bc18d1d6
--- /dev/null
+++ b/xlat/unix_diag_attrs.h
@@ -0,0 +1,21 @@
+/* Generated by ./xlat/gen.sh from ./xlat/unix_diag_attrs.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat unix_diag_attrs in mpers mode
+
+#else
+
+static
+const struct xlat unix_diag_attrs[] = {
+ XLAT(UNIX_DIAG_NAME),
+ XLAT(UNIX_DIAG_VFS),
+ XLAT(UNIX_DIAG_PEER),
+ XLAT(UNIX_DIAG_ICONS),
+ XLAT(UNIX_DIAG_RQLEN),
+ XLAT(UNIX_DIAG_MEMINFO),
+ XLAT(UNIX_DIAG_SHUTDOWN),
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/unix_diag_attrs.in b/xlat/unix_diag_attrs.in
new file mode 100644
index 00000000..4c3d9b2e
--- /dev/null
+++ b/xlat/unix_diag_attrs.in
@@ -0,0 +1,8 @@
+#unconditional
+UNIX_DIAG_NAME
+UNIX_DIAG_VFS
+UNIX_DIAG_PEER
+UNIX_DIAG_ICONS
+UNIX_DIAG_RQLEN
+UNIX_DIAG_MEMINFO
+UNIX_DIAG_SHUTDOWN
diff --git a/xlat/unix_diag_show.h b/xlat/unix_diag_show.h
new file mode 100644
index 00000000..d3bb9766
--- /dev/null
+++ b/xlat/unix_diag_show.h
@@ -0,0 +1,32 @@
+/* Generated by ./xlat/gen.sh from ./xlat/unix_diag_show.in; do not edit. */
+
+#ifdef IN_MPERS
+
+# error static const struct xlat unix_diag_show in mpers mode
+
+#else
+
+static
+const struct xlat unix_diag_show[] = {
+#if defined(UDIAG_SHOW_NAME) || (defined(HAVE_DECL_UDIAG_SHOW_NAME) && HAVE_DECL_UDIAG_SHOW_NAME)
+ XLAT(UDIAG_SHOW_NAME),
+#endif
+#if defined(UDIAG_SHOW_VFS) || (defined(HAVE_DECL_UDIAG_SHOW_VFS) && HAVE_DECL_UDIAG_SHOW_VFS)
+ XLAT(UDIAG_SHOW_VFS),
+#endif
+#if defined(UDIAG_SHOW_PEER) || (defined(HAVE_DECL_UDIAG_SHOW_PEER) && HAVE_DECL_UDIAG_SHOW_PEER)
+ XLAT(UDIAG_SHOW_PEER),
+#endif
+#if defined(UDIAG_SHOW_ICONS) || (defined(HAVE_DECL_UDIAG_SHOW_ICONS) && HAVE_DECL_UDIAG_SHOW_ICONS)
+ XLAT(UDIAG_SHOW_ICONS),
+#endif
+#if defined(UDIAG_SHOW_RQLEN) || (defined(HAVE_DECL_UDIAG_SHOW_RQLEN) && HAVE_DECL_UDIAG_SHOW_RQLEN)
+ XLAT(UDIAG_SHOW_RQLEN),
+#endif
+#if defined(UDIAG_SHOW_MEMINFO) || (defined(HAVE_DECL_UDIAG_SHOW_MEMINFO) && HAVE_DECL_UDIAG_SHOW_MEMINFO)
+ XLAT(UDIAG_SHOW_MEMINFO),
+#endif
+ XLAT_END
+};
+
+#endif /* !IN_MPERS */
diff --git a/xlat/unix_diag_show.in b/xlat/unix_diag_show.in
new file mode 100644
index 00000000..c7dbdfbc
--- /dev/null
+++ b/xlat/unix_diag_show.in
@@ -0,0 +1,6 @@
+UDIAG_SHOW_NAME
+UDIAG_SHOW_VFS
+UDIAG_SHOW_PEER
+UDIAG_SHOW_ICONS
+UDIAG_SHOW_RQLEN
+UDIAG_SHOW_MEMINFO
diff --git a/xlat/v4l2_buf_types.h b/xlat/v4l2_buf_types.h
index 49753e5c..5b206d95 100644
--- a/xlat/v4l2_buf_types.h
+++ b/xlat/v4l2_buf_types.h
@@ -46,6 +46,9 @@ const struct xlat v4l2_buf_types[] = {
#if defined(V4L2_BUF_TYPE_SDR_OUTPUT) || (defined(HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT) && HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT)
XLAT(V4L2_BUF_TYPE_SDR_OUTPUT),
#endif
+#if defined(V4L2_BUF_TYPE_META_CAPTURE) || (defined(HAVE_DECL_V4L2_BUF_TYPE_META_CAPTURE) && HAVE_DECL_V4L2_BUF_TYPE_META_CAPTURE)
+ XLAT(V4L2_BUF_TYPE_META_CAPTURE),
+#endif
XLAT_END
};
diff --git a/xlat/v4l2_buf_types.in b/xlat/v4l2_buf_types.in
index 2b52561f..41666ee1 100644
--- a/xlat/v4l2_buf_types.in
+++ b/xlat/v4l2_buf_types.in
@@ -10,3 +10,4 @@ V4L2_BUF_TYPE_SLICED_VBI_OUTPUT
V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
V4L2_BUF_TYPE_SDR_CAPTURE
V4L2_BUF_TYPE_SDR_OUTPUT
+V4L2_BUF_TYPE_META_CAPTURE
diff --git a/xlat/v4l2_control_flags.h b/xlat/v4l2_control_flags.h
index a4c8a535..f541971d 100644
--- a/xlat/v4l2_control_flags.h
+++ b/xlat/v4l2_control_flags.h
@@ -34,6 +34,15 @@ const struct xlat v4l2_control_flags[] = {
#if defined(V4L2_CTRL_FLAG_VOLATILE) || (defined(HAVE_DECL_V4L2_CTRL_FLAG_VOLATILE) && HAVE_DECL_V4L2_CTRL_FLAG_VOLATILE)
XLAT(V4L2_CTRL_FLAG_VOLATILE),
#endif
+#if defined(V4L2_CTRL_FLAG_HAS_PAYLOAD) || (defined(HAVE_DECL_V4L2_CTRL_FLAG_HAS_PAYLOAD) && HAVE_DECL_V4L2_CTRL_FLAG_HAS_PAYLOAD)
+ XLAT(V4L2_CTRL_FLAG_HAS_PAYLOAD),
+#endif
+#if defined(V4L2_CTRL_FLAG_EXECUTE_ON_WRITE) || (defined(HAVE_DECL_V4L2_CTRL_FLAG_EXECUTE_ON_WRITE) && HAVE_DECL_V4L2_CTRL_FLAG_EXECUTE_ON_WRITE)
+ XLAT(V4L2_CTRL_FLAG_EXECUTE_ON_WRITE),
+#endif
+#if defined(V4L2_CTRL_FLAG_MODIFY_LAYOUT) || (defined(HAVE_DECL_V4L2_CTRL_FLAG_MODIFY_LAYOUT) && HAVE_DECL_V4L2_CTRL_FLAG_MODIFY_LAYOUT)
+ XLAT(V4L2_CTRL_FLAG_MODIFY_LAYOUT),
+#endif
XLAT_END
};
diff --git a/xlat/v4l2_control_flags.in b/xlat/v4l2_control_flags.in
index 18654de6..154d7b0e 100644
--- a/xlat/v4l2_control_flags.in
+++ b/xlat/v4l2_control_flags.in
@@ -6,3 +6,6 @@ V4L2_CTRL_FLAG_INACTIVE
V4L2_CTRL_FLAG_SLIDER
V4L2_CTRL_FLAG_WRITE_ONLY
V4L2_CTRL_FLAG_VOLATILE
+V4L2_CTRL_FLAG_HAS_PAYLOAD
+V4L2_CTRL_FLAG_EXECUTE_ON_WRITE
+V4L2_CTRL_FLAG_MODIFY_LAYOUT
diff --git a/xlat/v4l2_control_types.h b/xlat/v4l2_control_types.h
index 37ac812a..872d0613 100644
--- a/xlat/v4l2_control_types.h
+++ b/xlat/v4l2_control_types.h
@@ -19,23 +19,32 @@ const struct xlat v4l2_control_types[] = {
#if defined(V4L2_CTRL_TYPE_MENU) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_MENU) && HAVE_DECL_V4L2_CTRL_TYPE_MENU)
XLAT(V4L2_CTRL_TYPE_MENU),
#endif
-#if defined(V4L2_CTRL_TYPE_INTEGER_MENU) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_INTEGER_MENU) && HAVE_DECL_V4L2_CTRL_TYPE_INTEGER_MENU)
- XLAT(V4L2_CTRL_TYPE_INTEGER_MENU),
-#endif
-#if defined(V4L2_CTRL_TYPE_BITMASK) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_BITMASK) && HAVE_DECL_V4L2_CTRL_TYPE_BITMASK)
- XLAT(V4L2_CTRL_TYPE_BITMASK),
-#endif
#if defined(V4L2_CTRL_TYPE_BUTTON) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_BUTTON) && HAVE_DECL_V4L2_CTRL_TYPE_BUTTON)
XLAT(V4L2_CTRL_TYPE_BUTTON),
#endif
#if defined(V4L2_CTRL_TYPE_INTEGER64) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_INTEGER64) && HAVE_DECL_V4L2_CTRL_TYPE_INTEGER64)
XLAT(V4L2_CTRL_TYPE_INTEGER64),
#endif
+#if defined(V4L2_CTRL_TYPE_CTRL_CLASS) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_CTRL_CLASS) && HAVE_DECL_V4L2_CTRL_TYPE_CTRL_CLASS)
+ XLAT(V4L2_CTRL_TYPE_CTRL_CLASS),
+#endif
#if defined(V4L2_CTRL_TYPE_STRING) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_STRING) && HAVE_DECL_V4L2_CTRL_TYPE_STRING)
XLAT(V4L2_CTRL_TYPE_STRING),
#endif
-#if defined(V4L2_CTRL_TYPE_CTRL_CLASS) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_CTRL_CLASS) && HAVE_DECL_V4L2_CTRL_TYPE_CTRL_CLASS)
- XLAT(V4L2_CTRL_TYPE_CTRL_CLASS),
+#if defined(V4L2_CTRL_TYPE_BITMASK) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_BITMASK) && HAVE_DECL_V4L2_CTRL_TYPE_BITMASK)
+ XLAT(V4L2_CTRL_TYPE_BITMASK),
+#endif
+#if defined(V4L2_CTRL_TYPE_INTEGER_MENU) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_INTEGER_MENU) && HAVE_DECL_V4L2_CTRL_TYPE_INTEGER_MENU)
+ XLAT(V4L2_CTRL_TYPE_INTEGER_MENU),
+#endif
+#if defined(V4L2_CTRL_TYPE_U8) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_U8) && HAVE_DECL_V4L2_CTRL_TYPE_U8)
+ XLAT(V4L2_CTRL_TYPE_U8),
+#endif
+#if defined(V4L2_CTRL_TYPE_U16) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_U16) && HAVE_DECL_V4L2_CTRL_TYPE_U16)
+ XLAT(V4L2_CTRL_TYPE_U16),
+#endif
+#if defined(V4L2_CTRL_TYPE_U32) || (defined(HAVE_DECL_V4L2_CTRL_TYPE_U32) && HAVE_DECL_V4L2_CTRL_TYPE_U32)
+ XLAT(V4L2_CTRL_TYPE_U32),
#endif
XLAT_END
};
diff --git a/xlat/v4l2_control_types.in b/xlat/v4l2_control_types.in
index 26c587eb..62cba6d3 100644
--- a/xlat/v4l2_control_types.in
+++ b/xlat/v4l2_control_types.in
@@ -1,9 +1,12 @@
V4L2_CTRL_TYPE_INTEGER
V4L2_CTRL_TYPE_BOOLEAN
V4L2_CTRL_TYPE_MENU
-V4L2_CTRL_TYPE_INTEGER_MENU
-V4L2_CTRL_TYPE_BITMASK
V4L2_CTRL_TYPE_BUTTON
V4L2_CTRL_TYPE_INTEGER64
-V4L2_CTRL_TYPE_STRING
V4L2_CTRL_TYPE_CTRL_CLASS
+V4L2_CTRL_TYPE_STRING
+V4L2_CTRL_TYPE_BITMASK
+V4L2_CTRL_TYPE_INTEGER_MENU
+V4L2_CTRL_TYPE_U8
+V4L2_CTRL_TYPE_U16
+V4L2_CTRL_TYPE_U32
diff --git a/xlat/v4l2_device_capabilities_flags.h b/xlat/v4l2_device_capabilities_flags.h
index 70842c43..ef78c7a3 100644
--- a/xlat/v4l2_device_capabilities_flags.h
+++ b/xlat/v4l2_device_capabilities_flags.h
@@ -91,6 +91,9 @@ const struct xlat v4l2_device_capabilities_flags[] = {
#if defined(V4L2_CAP_SDR_OUTPUT) || (defined(HAVE_DECL_V4L2_CAP_SDR_OUTPUT) && HAVE_DECL_V4L2_CAP_SDR_OUTPUT)
XLAT(V4L2_CAP_SDR_OUTPUT),
#endif
+#if defined(V4L2_CAP_META_CAPTURE) || (defined(HAVE_DECL_V4L2_CAP_META_CAPTURE) && HAVE_DECL_V4L2_CAP_META_CAPTURE)
+ XLAT(V4L2_CAP_META_CAPTURE),
+#endif
XLAT_END
};
diff --git a/xlat/v4l2_device_capabilities_flags.in b/xlat/v4l2_device_capabilities_flags.in
index d4e3292b..4d36972b 100644
--- a/xlat/v4l2_device_capabilities_flags.in
+++ b/xlat/v4l2_device_capabilities_flags.in
@@ -25,3 +25,4 @@ V4L2_CAP_DEVICE_CAPS
V4L2_CAP_SDR_CAPTURE
V4L2_CAP_EXT_PIX_FORMAT
V4L2_CAP_SDR_OUTPUT
+V4L2_CAP_META_CAPTURE
diff --git a/xmalloc.c b/xmalloc.c
index 11589270..43e93eb3 100644
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -27,9 +27,9 @@
#include "defs.h"
-void die_out_of_memory(void)
+static void die_out_of_memory(void)
{
- static bool recursed = false;
+ static bool recursed;
if (recursed)
exit(1);
@@ -85,3 +85,24 @@ char *xstrdup(const char *str)
return p;
}
+
+char *xstrndup(const char *str, size_t n)
+{
+ char *p;
+
+#ifdef HAVE_STRNDUP
+ p = strndup(str, n);
+#else
+ p = xmalloc(n + 1);
+#endif
+
+ if (!p)
+ die_out_of_memory();
+
+#ifndef HAVE_STRNDUP
+ strncpy(p, str, n);
+ p[n] = '\0';
+#endif
+
+ return p;
+}