diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-07 22:06:36 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-07 22:06:36 +0000 |
commit | 5b70c8ffac1eddfa08e3e279cbacf88a62b90093 (patch) | |
tree | 4e293d63e61351539e549cbe28a69efbc24136d6 | |
parent | d3b9bf49913589c2e3587b3b6089f442642ebdd1 (diff) | |
parent | ada03b32510768aa72c22be58f48f43c4c4c41e9 (diff) | |
download | strace-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
605 files changed, 32564 insertions, 26524 deletions
@@ -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 @@ -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 @@ -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> @@ -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 @@ -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 @@ -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("{"); @@ -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" @@ -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); } @@ -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); @@ -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 @@ -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" @@ -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> @@ -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 @@ -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); } } @@ -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("..."); } @@ -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("..."); } @@ -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++; +} @@ -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) @@ -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); @@ -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 */ @@ -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; @@ -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 */ @@ -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_ @@ -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, @@ -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 */ @@ -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 */ @@ -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; } @@ -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); } @@ -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) { @@ -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) @@ -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; } @@ -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); @@ -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 @@ -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 @@ -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 @@ -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(", ..."); } @@ -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 @@ -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, ¶ms_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, ¶ms_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. @@ -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; } @@ -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='[0;31m'; \ - grn='[0;32m'; \ - lgn='[1;32m'; \ - blu='[1;34m'; \ - mgn='[0;35m'; \ - brg='[1m'; \ - std='[m'; \ - 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='[0;31m'; \ - grn='[0;32m'; \ - lgn='[1;32m'; \ - blu='[1;34m'; \ - mgn='[0;35m'; \ - brg='[1m'; \ - std='[m'; \ - 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='[0;31m'; \ - grn='[0;32m'; \ - lgn='[1;32m'; \ - blu='[1;34m'; \ - mgn='[0;35m'; \ - brg='[1m'; \ - std='[m'; \ - 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 @@ -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); +} @@ -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_???"); } @@ -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; } @@ -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); @@ -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); @@ -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 @@ -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 @@ -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; @@ -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 @@ -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; +} |